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

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

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

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

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

О секторах

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

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

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

Блок ECC данных

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

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

Один из главных плюсов — это конечно экономия места. В основном за счет уменьшения объема, выделенного под ECC, размер служебных данных сократился почти на 10%, которые теперь отошли под пользовательские данные.

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

Единственное исключение — логические бэд блоки. Они связаны именно с 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+ — тоже 4 килобайта. И физический сектор — уже тоже 4 килобайта. Очень удобный размер (даже x86 mem страница — тоже 4 кбайта).

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

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

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

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

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

Вывод из этого пункта — перезаписывать информацию на диске, чтобы «обновить» магнитную запись — нет никакого резона.

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

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

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

На текущий момент, недорогие способы хранения личных данных в основном делятся на:
* Если данных не слишком много, и инет позволяет — можно хранить в облаке, а лучше в двух разных независимых облаках, предварительно зашифровав данные трукриптом/архиватором. Тут я прорекламирую WinRAR, который кроме архивирования с паролем, вдобавок умеет ECC, то есть можно добавить например 10% к размеру архива, зато иметь возможность восстановить данные, если любые 10% из этого архива будут повреждены.
* Съемный HDD, но рекомендую менять носитель с периодичностью в 3-5 лет на более новый, стараясь не слишком далеко отходить от гарантийного срока. Можно просто купить SATA/USB переходник и апгрейдя системный диск на более быстрый/емкий, старый диск отдавать под бэкапы.
* Купить недорогой домашний NAS с рейдом. Этот способ заметно дороже предыдущих двух, но он позволяет легко производить замену вышедшего из строя диска, и вдобавок иметь бэкап диск всегда включенным, полностью автоматизировав процесс.

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

А как храните вы?

Источник

жёсткие диски

Читайте также