Краш-тест для флешки

| Январь 28, 2010

Пару дней назад была запущена программа, целью которой является определение реального числа циклов перезаписи флеш-памяти. Вот выдержка о флеш-памяти из Википедии:

«Флеш-память (англ. Flash-Memory) — разновидность твердотельной полупроводниковой энергонезависимой перезаписываемой памяти. Она может быть прочитана сколько угодно раз, но писать в такую память можно лишь ограниченное число раз (максимально — около миллиона циклов). Распространена флеш-память, выдерживающая около 100 тысяч циклов перезаписи».

Значит будем ориентироваться на цифры от 100 000 до 1 000 000 циклов перезаписи. Для теста был взят новый наиболее распространенный USB Flash диск Transcend JetFlash на 2 ГБ.
Флешку для тестирования предоставил Fox.

Как же проводится тестирование?

Изначально, предполагалось определить число циклов при полной перезаписи. Т.е. мы каждый раз перезаписывали бы всю флешку, все 2 ГБ. Но в таком случае, чтобы сделать 100 000 циклов нам бы понадобилось 1,5 года при средней скорости записи на эту флешку 3,5 МБ/с. Тем не менее, таким способом было перезаписано 500 циклов.

Дальше было решено изменить метод записи и использовать для теста не весь объем диска, а только первые 10 МБ. Перезапись велась одними и теме же данными. В таком режиме флешка проработала 137 000 циклов. После чело было решено снова изменить метод записи.

Далее запись велась следующим образом. Каждый новый цикл генерировались новые случайные данные и записывались на диск все в те же первые 10 МБ. Этот метод показался наиболее правильным, т.к. были опасения, что при записи одних и тех же данных на диск физически они могли не записываться, скажем, определяя идентичность блоков по CRC. В таком режиме флешка проработала 10 000 циклов.

Генерация случайных данных для каждого цикла значительно снижала скорость тестирования и сильно нагружала процессор, поэтому было принято решение снова сменить алгоритм записи данных. На этот раз запись производится из двух заранее подготовленных случайных наборов данных. Каждый цикл эти наборы данных чередуются, что гарантирует действительно физическую перезапись данных на носителе. Перезаписываются всё те же первые 10 МБ флеш-диска. В этом режиме флешка продолжает тестироваться в настоящее время.

Каждые 1 000 циклов дополнительно проводится проверка качества записи данных во флеш-память. Для этого создается набор случайных данных размером 10 МБ. После этого эти данные записываются на флеш-диск, а потом считываются с диска. Далее вычисляется контрольная сумма по алгоритму MD5 для исходного набора и считанного набора данных. Если контрольные суммы совпадают, то запись была выполнена корректно.

Процесс тестирования флеш-диска был визуализирован по средствам веб-интерфейса, где отображено количество проведенных циклов перезаписи, состояние последнего теста на основе MD5 и графики скорости записи и времени записи одного цикла.

Онлайн мониторинг данного краш-теста доступен по адресу: http://home.antonsk.ru/cgi-bin/flash.cgi

Оставить комментарий