Комментарии 56
Тут скорее связываться нужно с автором из TechReport.com или автором Anvil's Storage Utilites. Нет, с ними не связывался.
Например тест 3DNews показывает что диск и половины заявленного объёма не запишет, а производитель даёт гарантию 5 лет или 100 Тб. Видимо у них свои тесты.
Но сильно сомневаюсь в их желании беседовать на эту тему.
В этой статье хорошо описывает как раз почему — очень уж «комфортные» условия работы у дисков в таких тестах по сравнению с реальными условиями эксплуатации.
P.S.
Спасибо inetstar за статью. Само собирался на эту тему писать, даже кусочки из собственных же тут оставленных комментариев по теме в черновик собирать начал. Но тут вы практически «все написали за меня».
А где у них такое было? Наоборот на 3DNews типичные результаты тестирования получались в разы иногда больше чем на порядок выше заявленных производителями ресурсов.Это написано не в самой статье, а в результатах тестирования
Выносливость новой версии Western Digital Blue 3D NAND оказалась драматически низка: этот накопитель не только не смог перенести запись заявленного в условиях гарантии объёма, но и установил новый антирекорд надёжности – 82 Тбайт.Значит комфорт не всем дискам одинаково полезен?
В этой статье хорошо описывает как раз почему — очень уж «комфортные» условия работы у дисков в таких тестах по сравнению с реальными условиями эксплуатации.Вот и мне интересно почему. Почему он умер в таких комфортных условиях? И сколько реально проживет согласно приведенных выше поправок к методике тестирования?
Автор проделал большую работу. Я усомнился только в однозначности выводов, имея на входе лишь предположения об алгоритмах работы микропрограммы диска. Не думаю что ценность статьи от этого уменьшилась.
Значит комфорт не всем дискам одинаково полезен?
Вы исходите из того, что ресурс ssd — это некоторая строго детерминированная величина, во время как, несколько я понимаю, это вероятностная характеристика. Просто на тест попался неудачный экземпляр, да и всё.
Делать какие-то выводы о надёжности модели можно лишь при достаточном объёме выборки (это видно, например, по статистике backblaze, где у небольших групп дисков регулярно случаются неожиданные флуктуации вычисленного afr)
В серверах не требуется такое долговременное хранение в отключенном состоянииДействительно ли срок хранения зависит от того, включен ли накопитель?
Накопитель производит регенерацию содержимого ячеек? В этом случае должно постоянно проводиться стирание/запись (с соответствующим ростом показателей в смарте).Контроллер во включенном состоянии периодически «тасует» данные, чтобы избежать неравномерного износа памяти. Этот процесс обеспечивает и обновление уровня заряда ячеек.
Если вы иногда отправляетесь в реально длительные путешествия, а накопитель в это время не используется, то советую оставаться в рамках паспортного ресурса, по истечении которого менять накопитель.
Т.е. если накопитель просто лежит на полке — он изнашивается? Как так?
Может стать нечитаемым, если пролежит слишком долго.
не изнашивается, а теряет информацию
электроны утекают из затвора и в какой-то момент заряд становится таким, что при чтении получится не тот бит, который был при записи
чем выше температура, тем быстрее происходит деградация
изношенные ячейки теряют заряд быстрее новых
Иными словами, если речь идёт о новом SSD, то данные на нём в выключенном состоянии могут храниться годами (при обычном диапазоне температур). И лишь когда речь заходит о накопителе, который уже выработал установленный производителем ресурс, указанные в спецификации «сроки хранения» начинают приобретать какой-то смысл. То есть, 52 недели (год) – это тот минимальной период времени, в течение которого обычный потребительский накопитель обязан по спецификации сохранять данные в выключенном состоянии после того, как он уже выработал весь определённый в спецификациях ресурс.
Они ошибаются? И вас есть инфа от производителей что жизненно важная для диска «служебная информация» хранится в ненадежной памяти? Логичнее хранить служебную информацию в контроллере, его память гораздо надежнее.
Если вы иногда отправляетесь в реально длительные путешествия, а накопитель в это время не используется, то советую оставаться в рамках паспортного ресурса, по истечении которого менять накопитель.
Что значит определение «паспортный ресурс»? Объём данных, на запись которого производителем рассчитан диск? Тогда совсем непонятно как перерывы в использовании окажут влияние на то, сколько данных можно записать после окончания «паспортного ресурса».
Меня, как похоже и автора вопроса, очень интересует такой момент — после включения питания заряд в ячейках, потерянный при хранении, восстановится? И что мешает ему теряться при наличии питания? Поясните пожалуйста.
То есть, 52 недели (год) – это тот минимальной период времени, в течение которого обычный потребительский накопитель обязан по спецификации сохранять данные в выключенном состоянии после того, как он уже выработал весь определённый в спецификациях ресурс.
Нет противоречия. Паспортный ресурс — это одно, а когда он перевыбрал ресурс в 10 раз, то там и дня может не прохранить.
Логичнее хранить служебную информацию в контроллере, его память гораздо надежнее.
Это при условии, что контроллер обладает такой памятью. Экономически это будет дороже. Почему-то в процессоры не встраивают, как правило, такую память.
Тогда совсем непонятно как перерывы в использовании окажут влияние на то, сколько данных можно записать после окончания «паспортного ресурса».
Мысль была в том, что если диск рассчитан на 50ТБ, а на него записали 200ТБ, то надолго такой винт без питания лучше не оставлять. Он может потерять всю информацию.
Меня, как похоже и автора вопроса, очень интересует такой момент — после включения питания заряд в ячейках, потерянный при хранении, восстановится?
Он утеряется безвозвратно, кроме случаев, когда массив построен по схеме рейда и другие микросхемы сохранили заряд.
И что мешает ему теряться при наличии питания?
При массированном чтении одной ячейки (сотни тысяч раз) заряд утекает.
Периодическая перезапись, которую делает сборщик мусора или иные алгоритмы.
У нового диска срок хранения заряда примерно равен гарантии или несколько выше.
Вопрос: если накопитель находится во включенном состоянии, то заряд не утекает? У меня сложилось впечатление, что при записи данных, в ячейки либо загоняется определённое количество электронов либо сливается всё (для простоты возьмём SLC). И далее ячейка держит этот заряд, а, поскольку затвор не «герметичен», заряд утекает. И независимо от того, есть ли напряжение на контроллере или нет.
Таким образом вопрос сводится скорее к «как происходит рефреш в ячейках?» — как в DRAM, с некоторой периодичностью или методом «очистить блок, записать заново»?
Думаю, этот процесс совмещён с борьбой против неравномерного износа памяти. Т.е. контроллер периодически тасует данные, чтобы не допустимть ситуации, когда, упрощённо говоря, где-то в одном месте протрётся «дырка», после чего весь накопитель можно будет выкинуть.
В гонке за производительность и за сохранение ресурса, микропрограммы NAND накопителей не увлекаются перезаписями статичных данных к которым нет никаких обращений. Они лежат мертвым грузом и блоки занимаемые ими не участвуют в ротации.
В итоге в DR лабораториях частые гости SSD которые были заполнены большим количеством статичных данных и в активной ротации блоков принимало участие слишком малое число блоков отчего и возник износ отдельных областей NAND памяти.
Кроме этого в АТА стандарте как-то не особо предусмотрена коммуникация ОС и SSD на предмет того, что грядет в ОС (например планируемое отключение). В связи с чем самовольные перезаписи в неудачные моменты — это дополнительные риски отказа устройства, которые заметно выше рисков получения нечитаемых данных из-за утечек зарядов.
Не факт, что это реализовано во всех ссд. Думаю, что при активном сборщике мусора подобные записи происходят сами по себе.
После нескольких сот тысяч чтений заряд в любом случае теряется.Исходя из чего вы решили что он теряется при чтении «в любом случае»? И откуда данные про «несколько сот тысяч»?
Просто интересно, насколько я знаю, в микроконтроллерах используется подобная электрически перепрограммируемая память для прошивки и хранения данных. И без каких либо «обновлений» там годами производится несколько «сот тысяч чтений» в секунду. И ни один известный мне производитель не устанавливает ограничение на число чтений. Только на циклы стирание-запись и хранение.
Везде, где для хранения информации используются электроны в плавающем затворе, есть этот феномен. Изучайте. А вот научная работа на эту тему. Там говорится, что после 50 000 чтений из одной ячейки уже данные теряются. Умные контроллеры с этим борются, перезаписывая информацию, применяя контрольные коды, схемы а-ля рейд.
Исходя из чего вы решили что он теряется при чтении «в любом случае»?
Ключевое слово для Гугла — read disturb.
Накопитель хранит для каждого блока счётчик считываний, и при превышении некоторого порога переносит данные в другое место.
На форуме ixbt проводили тесты (многократно вычитывали медленночитающиеся области, в какой-то момент скорость восстанавливалась), так что этот механизм присутствует как минимум в некоторых ssd (скорее всего, во всех или почти всех).
«При типичной температуре 50℃ эксплуатации под нагрузкой накопитель должен обеспечивать 58 недель ≈ 1 год хранения данных в отключенном состоянии при 25℃.»Год при условии если накопитель уже выработал свой ресурс. Бытовой накопитель.
Вопрос: если накопитель находится во включенном состоянии, то заряд не утекает?
А что ему мешает утекать при поданном питании? Контроллер, когда ему нефик делать, многократно читает и сравнивает записанные данные. При частичной потере заряда чтение нестабильное. Дальнейшие действия на его усмотрение. Питания нет — проверять некому… я так думаю.
<Таким образом вопрос сводится скорее к «как происходит рефреш в ячейках?» — как в DRAM, с некоторой периодичностью или методом «очистить блок, записать заново»?Думаю с некоторой периодичностью методом «очистить блок, записать заново». А разве есть другие варианты?
Насколько я понимаю, всё написанное в статье относится по большей части к накопителям, выработавшим паспортный ресурс. Ну или вплотную к этому приблизившимся. Для типичного случая эксплуатации SSD в пределах заявленного ресурса ничто из этого не актуально.
В самом деле, рядовой потребитель, приходя в магазин за SSD, понятия не имеет ни о тестах на 3dnews ни, тем более, об утечке электронов из ячеек:) Возможно, он что-то где-то слышал об ограниченности ресурса такого накопителя, но не факт. Так же, нигде в приложенных к диску бумажках ничего не написано о возможности потери данных в случае длительного отсутствия питания на диске. За последнее, впрочем, не ручаюсь, не читал полностью:) Он знает, что гарантия на накопитель — столько-то лет. Те, кто полюбознательнее прочитают еще про TBW. Ну а фирменная утилита, если что не так, подскажет что делать.
Возвращаясь к теме тестов выносливости — посмотрите на цифры. В 99% процентах случаев, в домашних условиях, пользователь не то что выработает паспортный ресурс за срок гарантии, а даже не приблизится к этому. Я уже несколько лет смотрю смарты побывавших у меня дисков и вижу, что это так и есть. Где-то попадалась цифра и у меня так же получалось, что среднестатистический пользователь пишет на SSD около 20 гигов в день. Считайте сами… Так что все эти петабайты в тестах не более, чем повод гордиться производителю. И, будь у меня Самсунг 850-й про и я каким-то образом умудрился бы выработать паспортный ресурс, то вряд ли меня бы сильно вдохновляло то, что в тесте 3dnews на него записали 7 петабайт. Никто ведь не обещает, что то, выдержал один экземпляр, должны выдержать все остальные…
рядовой потребитель, приходя в магазин за SSD, понятия не имеет ни о тестах на 3dnews
Мне все уши этими тестами прожужжали. Почти в каждой статье (или в комментах к статье) про SSD на Хабре есть ссылка на эти тесты.
относится по большей части к накопителям, выработавшим паспортный ресурс
Не совсем так. Дело в том, что паспортный ресурс определяется (методика JEDEC) при заполненности диска в 38%. Если же забить диск на 95% и качать 4К-торренты, то WAF будет около 9.7, что примерно в 6.5 раз превышает WAF при тестировании паспортного ресурса.
Приведёт ли это к проблемам — не знаю. Возможно. Во всяком случае скорость точно упадёт.
Наверное, это звучит странно, но по моему опыту торренты существенно быстрее качаются на SSD)
Возвращаясь к WAF и TBW. В смарте SSD есть всем известный параметр «Total host writes», насколько я понимаю это и есть тот параметр по которому отслеживается ресурс. Так вот, в этой цифре учтен WAF или это тупо объем данных, переданных накопителю операционкой для записи? Если, например, я в одном случае отправлю туда 100Gb с WAF 1, а в другом с WAF 30 — на сколько увеличится показатель? Если не учитывает, то получается ерунда, если учитывает, то тестирование на 3dnews вполне корректно и показывает физическую живучесть памяти SSD.
Мне все уши этими тестами прожужжали. Почти в каждой статье (или в комментах к статье) про SSD на Хабре есть ссылка на эти тесты.
Вы точно не рядовой потребитель) Под рядовым я подразумеваю пользователя т.н. «игрового компьютера», в котором всё светится разными цветами и для которого выпускают SSD с подсветкой. Недавно видел какой-то обзор, среди недостатков SSD было указано «недостаточно гибкое управление подсветкой»))) Ну не бред?..
Обычный диск при этом может иметь до 100 IOPS, что намного выше 3 кусков.
Но с SMR-дисками всё сложнее, я потом напишу статью.
The most common sizes are 256 kB, 512 kB, and 1 MB.
Источник.
Если качаются параллельно 2 куска, то головки диска прягают от одного куска к другому и получается трэш. У типичного ноутбучного HDD размер сектора всего 512 байт.
У меня когда файлов 5 загружались (сериал, каждая серия ≈750MB) уже трешить начинало на HDD Seagate 2TB sshd.
У меня не трещали и при скачивании — буферизация мюторрента видимо хорошо работает. Ну или диск у меня очень тихий
Разница огромная: у 99% пользователей интернета канал хуже по скорости, чем у меня (500 Мбит). Поэтому они не могут так резво скачивать у меня, как я у них.
В теории, конечно, могут, но на практике с таким не сталкивался.
Может дело и не в канале. Я не припомню случая, чтобы в момент когда я качаю, скорость отдачи была выше, чем скорость скачки.
И ещё всё зависит от устройства торрент-клиента. В нём может принудительно вызываться запись на диск минуя буфера при завершении скачивания торрент-блока.
The most common sizes are 256 kB, 512 kB, and 1 MB.
Возвращаясь к теме тестов выносливости — посмотрите на цифры. В 99% процентах случаев, в домашних условиях, пользователь не то что выработает паспортный ресурс за срок гарантии, а даже не приблизится к этому. Я уже несколько лет смотрю смарты побывавших у меня дисков и вижу, что это так и есть.А у меня другая ситуация, например:
habr.com/ru/post/476414
Контроллеру, чтобы записать 1 изменённый кластер приходится вначале считать всю аппаратную страницу NAND (которая может достигать сотен килобайт в размере), изменить 4КБ, а потом всю её записать. Если размер страницы NAND составляет 64КБ, то мы имеем усиление записи в 16 раз.
Контроллер как правило оперирует блоками, которые в свою очередь состоят из группы NAND страниц (64,128 и т.п.). Размеры страниц в NAND микросхемах обычно все же не сотни килобайт, а 528, 2112, 4224, 4320, 8576, 8640, 8832, 8896, 9216, 17664, 18048, 18336 и др. Малые размеры справедливы для старых SLC микросхем, для современных TLC размеры поболее. Такие странные размеры потому, что кроме пользовательских данных необходимо хранить служебные данные (ECC, флаги, номера блоков, счетчики записей и т. п.).
Как-то на достаточно простом примере показывал организацию работы NAND контроллера и NAND памяти. В современных SSD алгоритмы будут более сложными, ну суть примерно такая же.
Для того, чтобы SSD не превращался в коматозника при записи мелких объектов применяется буферизация, а также вводится понятие блок-апдейтов. Это блоки в которых записываются отдельные страницы для разных блоков, которые точечно накладываются на транслируемое логическое пространство.
Например при восстановлении данных, когда нет возможности оперировать штатными структурами транслятора обычно необходимо проводить поблочную сборку и находить отдельные блок-апдейты и накладывать их данные отдельными страничками поверх собираемого поблочно для получения актуальных данных.
Если производитель догадался сделать первые несколько ГБ диска (где находится битовая карта диска, FAT и прочие метаданные) работающими в режиме SLC (или кеширует их в буфере RAM),
принцип работы таков: любой физический блок в логическом банке, может выполнить любую роль в реализуемым этим банком логическом пространстве. Посему нет отдельных блоков для метаданных файловых систем. Слишком их много, чтобы учитывать все разновидности. Алгоритм выравнивания износа сводится к анализу счетчиков записей в блоки, которые могут быть как в структурах транслятора, так и в служебных данных в самих страницах блока. При изменении содержимого блока у которого значение счетчика записей заметно больше, чем у свободных блоков выберется новый блок с наименьшим значением.
В буфер попадает все то, что часто используется. Но оно все равно оперативно пишется в NAND. Либо целиком блоками, либо блок-апдейтами. Если бы просто держать данный в RAM и не особо торопиться с обновлением их в NAND, то первое внезапное отключение питания приводило бы к катастрофической потере данных (в первую очередь серьезные потери в метаданных файловой системы). Микропрограмма SSD при буферизации оперирует определенными LBA диапазонами, которые часто запрашиваются и на основании этих запросов обычно выбирает, что подольше задержать в ОЗУ SSD.
P.S. простите, за слишком скомканный комментарий и сильное упрощение.
Тестирование SSD на надёжность: 3dnews vs JEDEC vs здравый смысл. Где правда, брат?