Как стать автором
Обновить

Как долго или где быстро хранить информацию на диске

Время на прочтение 8 мин
Количество просмотров 35K
Добрый день, Гиктаймс!

Некоторое время назад, на тостере попалось несколько интересных вопросов о хранении информации на жестких дисках, которые вызвали желание копнуть немного глубже, и я провел небольшое исследование.

Часть информации уже пробегала на Хабре, но не все. А кое-что я не смог найти в русскоязычном инете, поэтому и решил поделиться найденным с сообществом.


Про размагничивание данных на диске.


В нормальных бытовых условиях (отсутствие резкой смены температуры/влажности/давления, отсутствие ударов), намагниченная поверхность диска может хранить информацию несколько десятков лет. Гарантировать сложно, так как реальные промышленные тесты не проводились, а те, что проводятся — обычно как раз и представляют собой смену внешних условий для воздействия аггрессивной средой.

Но большинство сходятся на том, что мощность магнитного поля деградирует со скоростью примерно 1% в год.

При этом нельзя сказать, что через 50 лет не прочитается половина диска — это некорректно, ибо деградация поля не равна поломке — тут роль играет чувствительность считывающих головок и точность механизма позиционирования.

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

Со временем, внешне может показаться, что это ухудшилась магнитная запись, но в подавляющем большинстве случаев — ухудшение считывания связано с механической деградацией материалов — это вызывает и ошибки позиционирования и чувствительность головок.

Если важные для вас данные перестали считываться со старого жесткого диска — скорее всего дело в деградации механики/электроники, и их можно считать в специальных компаниях, которые специализируются на восстановлении даных — винчестер разберут, блины вынут и установят на отдельное устройства, после чего считают с них данные напрямую.
Даже если механика и электроника полностью навернулась — сами пластины и информация на них подлежит считыванию.

Есть множество свидетелей, у которых старые диски, лежащие в шкафчике, отлично читаются спустя 15, и даже 20 лет (я, кстати, тоже один из них). А бывает, что диск не заводится, едва перейдя гарантийный срок годности.

Итак, в современных дисках сперва выходит из строя электроника и механика, раздалбываются разъемы, могут даже устареть стандарты, но вряд ли основной причиной будет размагничивание данных.

К этому можно еще добавить, что первыми должны размагнититься низкоуровневые разметки дорожек и секторов, которые были нанесены производителем, и которые штатными способами пользователь перезаписывать не сможет. Правда мощность поля у разметки гораздо выше, что заметно под микроскопом, но тем не менее ничто не вечно.

Выводы из этого пункта — перезаписывать информацию на диске, чтобы «обновить» магнитную запись — нет никакого резона.
Гораздо важнее обеспечить отсутствие агрессивного внешнего воздействия, как самое элементарное — закрутить его понадежнее, чтобы уменьшить вибрации. Включение-выключение ведет к тому, что температура диска меняется и следовательно материал расширяется и сужается. Это один из важных факторов, почему быстрые HDD живут меньше, чем медленные диски из «green» серий, у которых перепад температуры гораздо меньше. Но не стоит забывать, что если диск на ощупь не горячий, это не значит, что металл не расширился — каждый цикл включения-выключения ускоряет деградацию материала, просто у «холодных дисков» она заметно меньше.

Если ваш компьютер регулярно засыпает и просыпается, по нескольку раз в день, а питается он от сети — имеет смысл увеличить срок ожидания до выключения диска при питании от сети. Современные жесткие диски в режиме простоя потребляют всего пару ватт.

О секторах


Это не совсем 512 байт. Это область, в которой для пользовательских данных выделено 512 байт. Также есть служебная информация о секторе — это низкоуровневая метка начала и конца сектора, а также блок коррекции данных, обычно он идет после пользовательских данных. Плюс неразмеченное место между секторами (gap).

Метки сектора наносятся производителем во время так называемого низкоуровневого форматирования. В древние годы, это можно было делать самостоятельно из BIOS, но сейчас штатными способами это уже недоступно пользователю. Объем служебных данных, может варьироваться в зависимости от оптимизации firmware диска, но в считается, что сектор вместе со служебными данными занимает 577 байт. Плюс gap.

Точнее так было раньше.

В 2007 году было предложено увеличение размера сектора, и после процедур согласования и утверждения, начиная с 2011 года, все выпускающиеся диски уже форматируются с сектором размером в 4096 байт пользовательских данных (примерно 4211 байт со служебными данными) — так называемый Advanced Format.
Упрощение адресации низкоуровневых секторов, которых стало в восемь раз меньше при том же объеме — это и увеличение производительности за счет упрощения расчетов и работы с бОльшими блоками, и эффективность использования диска заметно увеличилась. Насколько? Давайте дочитаем следующий абзац.

Блок ECC данных


В 512 байтных секторах, ECC Блок занимал 50 байт. В 4096 байтных секторах, ECC блок увеличился до 100 байт, но зато уменьшилось количество самих секторов. И на самом деле ECC занимает теперь в четыре раза меньше (100 байт на 4096 байт против 400 байт на 8*512 байт).

Вдобавок, на более длинной цепочке данных алгоритм коррекции работает эффективнее, в результате и место сэкономили и эффективность увеличили. По разным оценкам скорость вычисления ECC увеличилась на 5-10%. А значит, контроллер диска меньше напрягается и может заняться другими вещами. Косвенно это влияет и на общую производительность записи/чтения данных.

Один из главных плюсов — это конечно экономия места.

Суммарно — уменьшение объема, выделенного под блоки ECC, уменьшение общего количества секторов (меньше gap, меньше меток, меньше индексов для адресации секторов) — общий размер места, выделяемый для пользовательских данных, увеличился более чем на 10%!

Есть и еще один маленький плюс, связанный с большими секторами. В случае брака или дефекта поверхности, сразу плохим будет помечен бОльший участок. Если пометить мегабайт секторов по 512байт, это займет в разы больше времени, чем по 4кб.
Вдобавок нечитаемая часть будет помечена более надежно — если мы обрезаем подгнивший или червивый кусок вкусного яблока, мы отрезаем часть хорошего — так и в жестком диске — лучше пометить плохой участок не в притык.

Но конечно от дисков с бэдами лучше быстрее избавиться.

Единственное исключение — логические бэд блоки. Они связаны именно с ECC — когда по разным причинам (внезапно отключилось электричество, баг firmware, лунные бури...), и ECC оказался некорректным — такой сектор контроллер диска будет считаться сбойным. Именно их можно исправить пересканированием плохих секторов — утилит сейчас существует множество, начиная с известной Victoria.

Про виртуальные 512- байтные сектора


Логотип с «512e» означает, что сам диск уже 4кб-секторный, но работает в режиме эмуляции виртуальных 512 байтных секторов.
Логотип с «4Kn» говорит, что диск поддерживает 4к нативный интерфейс, такие диски в продаже с 2014 года.

Многие все еще популярные ОС (тут я говорю про Windows 7 и Windows Vista), не поддерживают 4к диски нативно.
Тем не менее, старые диски на них работают отлично, а новые диски предоставляют интерфейс с виртуальными 512-байтными секторами.

О виртуальных 512-байтных секторах следует помнить, когда вы тестируете 512е диски, или во время теста работаете на устаревшей ОС.
Например, запись рандомных 512-байтных секторов в таких условиях будет выглядеть как «считать 4кб, записать 4к», что явно будет выдавать непонятную деградацию скорости на графике. В тоже время как линейная скорость записи и чтения будет показывать нормальную производительность.

Windows поддерживает 4кn диски нативно, начиная с Windows 8 и Windows server 2012.

Про Cluster Straddling.


Это касается именно тех дисков, которые работают в 512е эмуляции (а таких в ходу еще много)

Разобъем такой диск на разделы и отформатируем с дефолтными настройками. Стандартный кластер NTFS- 4 килобайта. Блок HFS+ (или ext4) — обычно тоже 4 килобайта. И физический сектор диска — уже тоже 4 килобайта. Очень удобный размер (даже x86 mem страница — тоже 4 кбайта).

Но во время разбития 512e диска на разделы, может выйти так, что раздел будет начинаться начинается не с начала 4-к сектора, а со смещением, кратным 512 байт.
В результате 4 килобайтный кластер/блок будет лежать между двумя 4 килобайтными физическими секторами жесткого диска.
Каждый раз при чтении такого кластера, жесткий диск (из-за логики своей работы) будет считывтаь два сектора целиком. При записи тоже не все гладно.
Эту проблему решают различные align утилиты — тот же WD Align Tool или HGST Align Tool для Windows 7 и выше.
Только применять их нужно ПОСЛЕ того, как вы разбили диск на партиции — утилита проверит, что границы партиций совпадают с началом нового 4кбайтного сектора, и подвинет их, если это потребуется. После чего можно работать без падения производительности.

Где информация читается быстрее — в начале или в конце диска?


На жестких дисках, первый сектор находится на внешней стороне диска, а последний сектор — на внутренней.

В начале времен, количество секторов на дорожке было одинаково, но это было настолько в дремучее время, что можно и не вспоминать. Сейчас дорожки, находящиеся ближе к началу диска (внешней стороны), содержат больше секторов.

Итак, линейная скорость записи и чтения информации расположенной в начале диска, значительно выше. Точные цифры зависят от производительности самого диска, но в процентах — разница может составлять 200% и даже немного больше процентов между самыми крайними дорожками (!)
Количество секторов на дорожку указывается не индивидуально, а для зоны, в которые объеденено несколько дорожек, поэтому разница в скорости будет видна не для двух крайних дорожек, а для двух крайних зон и постепенно снижаться к середине диска. Вдобавок эмперически можно сказать, что «быстрых» секторов на диске больше — поскольку их просто больше на внешней части диска.

Как же хранить?


Если сравнивать с CD, DVD и флешками — CD и флеш диски явно проигрывают в длительности хранения данных. DVD могут поспорить, но тут все неоднозначно — нужны и качественные болванки, и хороший привод, и запись производить не на максимальной скорости, и все равно, есть вероятность, что данные перестанут читаться. Вдобавок, 4.5 или даже 9 гб на DVD — это не так уж много, плюс отсутствие комфорта. И сохранить можно только раз — связываться с DVD-RW для длительного хранения данных вообще не стоит.

Я записал в свое время свыше 5000 CD/DVD дисков, тестировал чтение. Конечно качество чтения и долговечность зависела от качества болванки, но тот же самый Verbatim, который был одним из эталонов CD-R 650, в DVD был довольно посредственным.И в каждой партии могло встретиться что-то неудачное.

Если брать Blue Ray диски, то стоимость пишущего привода и болванок такова, что если не дешевле, то почти равноценно через 5 лет купить новый жесткий диск и переписать на него данные.

На текущий момент, недорогие способы хранения личных данных в основном делятся на:
* Если данных не слишком много, и инет позволяет — можно хранить в облаке, а лучше в двух разных независимых облаках, предварительно зашифровав данные трукриптом/архиватором. Тут я прорекламирую WinRAR, который кроме архивирования с паролем, вдобавок умеет использовать ECC. Можно увеличить размер архива на некоторый процент, но зато иметь возможность восстановить данные из любого поврежденного места этого архива, в пределах этого процента. Есть даже возможность разбивать архив на тома, и том для восстановления создать отдельным файлом. В древности, я этим активно пользовался со старыми дискетами, когда целая дискета могла просто не прочитаться в чужом дисководе.

* Съемный HDD, но рекомендую менять носитель с периодичностью в 3-5 лет на более новый, стараясь не слишком далеко отходить от гарантийного срока. Можно просто купить SATA/USB переходник и апгрейдя системный диск на более быстрый/емкий, старый диск отдавать под бэкапы.

* Купить недорогой домашний NAS с рейдом и настроить обычное простое зеркало. Этот способ заметно дороже предыдущих двух, но в случае выхода из строя одного из дисков, вам нужно будет просто заменить поломанный диск на новый, и рейд контроллер сам выполнит подключение нового диска в массив и заполнит его данными. То есть ничего не нужно будет настраивать заново, искать и восстанавливать информацию из разных бэкапов. Просто заменил диск и все. NAS также очень нетребователен по питанию, его можно оставить включенным постоянно и автоматизировать все процессы бэкапов.

UPD: DaemonGloom рекомендует замечательные устройства WD My Cloud Mirror, которое идет практически по цене жестких винтов, плюс небольшая переплата за корпус/контроллер:
«По текущим ценам — устройство на 2x4TB даёт 100 долларов переплаты, 2x6TB — 80 долларов.»

Лично я делаю резервную копию всего важного на второй диск, и периодически скидываю архивы на внешний USB диск вручную.
Таким образом есть а) рабочая копия, б) ежедневный архив на втором диске, и с) примерно ежемесячный архив на внешнем отключенном диске. Но в принципе уже начинаю подумывать про NAS.

А как храните вы?
Теги:
Хабы:
+9
Комментарии 75
Комментарии Комментарии 75

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн