Эволюция SSD: магия меркантологов и ее разоблачение. Longread о проникновении твердотельных накопителей в нашу жизнь

Несмотря на то, что сегодня не только лишь все (с) могут позволить себе SSD, тем не менее, мало кто вне среды специалистов трезво понимает процесс выбора иначе, нежели «сортировать по возрастанию цены» в интернет-магазине. И что самое интересное — они, в общем-то, почти правы. Прошу отложить метание овощей за этот тезис и дочитать до конца.

История SSD

Немного олдфажества

Типичный возрастной пользователь ПК на сегодня мог успеть пройти путь от кассет, с которых загружался Сommodore 64, ATARI или Sinclair, через НГМД прямиком к НЖМД и немного к оптическим дискам, а после — к современным по сути твердотельным накопителям.

История SSD

Эксклюзивы типа магнитооптики, стримеров, zip и перфокарт мы сознательно выносим за скобки, хотя по надежности со стримером сравнятся разве что наскальные формы передачи информации, но и скорости там не фонтан вкупе с последовательностью доступа. Магнитофон «Весна» с МК-60, где записан незабвенный Exolon и SoF, а так же, внезапно, Трансформеры (да-да, в них играли еще до того, как они стали мейнстримом), технически был тоже стримером, но по очевидным причинам в надежность не сильно умел. Загрузить ОС и прообразы тоже можно было не со всех этих носителей.

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

История SSDИстория SSD

Источник — Skylots.org

Почему прямоугольник — диск?

HDD, тем не менее, продолжает быть востребованным и сегодня, хотя и значительно потеснен твердотельными накопителями, по инерции именуемыми дисками. При этом мало кто из изучивших геометрию в школе, задается вопросом — почему прямоугольник уверенно называется диском? Здесь как раз все просто — жесткий диск, который снаружи прямоугольный и круглый внутри, — устоявшаяся фигура речи из английского языка — ведь ему предшествовали гибкие магнитные диски, которые до 3,5 дюймовых дискет (а именно дискетами у нас именовались гибкие диски) были реально гибкими. В общем круглая внутри дискета (а были они даже 8 дюймовыми) со временем получила корпус потверже.

История SSD

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

История SSD

В т.ч. и твердотельные накопители, которые к круглому вообще никак не относятся и внутри могут выглядеть примерно как на снимке ниже. Размер платы меняется от модели к модели, но выглядят примерно так и это уже современный мейнстрим. Черное — 2,5″ корпус.

История SSD

Н.Ж.М.Д.

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

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

Новая надежда

Все дело в том, что лет 20 примерно назад научно-технический прогресс позволил начать продвижение твердотельных накопителей в массы. Сначала все было малообъемно, непонятно и дорого. Но со временем отрицание и гнев, с учетом цен, сменились на торг и принятие — ведь твердотельные носители предлагали недостижимые для механики скорости работы даже на ранних стадиях проникновения!

SLC — начало массовых SSD около 2007 года

Первыми на рынок попали транзисторные накопители, в которых одна ячейка умела хранить один бит информации путем определения всего двух уровней заряда — заряжено-разряжено, грубо говоря. За технологией закрепилось рыночное название SLC (Single level cell) — одноуровневая ячейка (здесь и далее мы используем элементы инфографики Micron).

История SSD

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

История SSD

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

История SSD

Ввиду отсутствия механики для твердотельных накопителей понятие «время доступа» поменяло физическое выражение. В НЖМД речь шла о времени позиционирования головок, физическом месте расположения данных на носителе, скорости вращения и т.п. Всего этого у твердотельного накопителя не было и время доступа скорее подразумевало время обработки контроллером запроса и сбора данных по массиву, которые могли физически находиться где угодно, но это не имело никакого значения для пользователя. Контроллер сам решал, что куда физически располагать и как потом это логически возвращать в виде данных, как исправлять ошибки, что делать с выработавшими ресурс ячейками, как взаимодействовать интерфейсам и прочее. По сути, реализация возможности массива ячеек зависела от контроллера, который ими управляет, уровня его исполнения, быстродействия и качества микропрограммы.

Фактически твердотельный накопитель был лишен главной особенности старого HDD — точной механики, которая имела свойство изнашиваться. И хоть не каждый пользователь ухитрялся увидеть выработку механического ресурса НЖМД, тем не менее, подшипники мотора, вращающего шпиндель, не вечные, точность позиционирования головок прецизионно обеспечивать вечно тоже невозможно, и самое главное — под воздействием внешних факторов носителю и данным мог быть нанесен серьезный урон. Удар, вибрация и прочее неизменно сокращали срок жизни механического носителя. Температура, судя по статистике, играет свою отдельную скрипку в оркестре факторов выхода HDD из строя. Правда вопрос количества перезаписей секторов на пластинах жесткого диска, в отличие от твердотельного, ввиду магнитной технологии первого, не стоял вообще никогда - механика износится заведомо раньше исчерпания магнитного ресурса носителей, который вообще не считается и не нормируется для масс. Средний срок жизни жесткого диска можно оценить в 30000–50000 часов работы. Скачки в сети и факты включения-выключения тоже негативно влияют на этот показатель. Однако справедливости ради нужно заметить, что раскопки сайта Seagate.com могут привести нас по адресу. Там мы, внезапно, узнаем, что Seagate ведет в своих жестких дисках статистику показателя Workload Rate Limit (WRL). Это что-то вроде расчета годового пробега в терабайтах. Seagate условно отводит механическому диску некорпоративного класса 180 терабайт в год или примерно 340 мегабайт на минуту работы шпинделя в режиме чтения или записи (нагрузка в этих режимах суммируется для расчета). Компания при этом замечает, что на гарантийные обязательства этот показатель в общем случае не влияет, а рассчитывается для того, чтобы зафиксировать порог нагрузки, при котором вероятность поломок накопителя возрастает. Бытовому пользователю столкнуться с такими нагрузками придется вряд ли. Диску корпоративного сегмента по логике Seagate при этом полагается 550 терабайт на год нахождения включенным.

Для рабочей станции или стойки в дата-центре вибрации конечно вторичны, а температура регулируема, но вот в портативной технике это все могло одномоментно привести к серьезному ущербу. Производители пытались бороться с этим разными способами. HP, например, в отельных сериях корпоративных ноутбуков, устанавливала ПО, которое, зафиксировав свободное падение, парковало головки носителя, что, впрочем, помогало не всегда. По этой же причине механические носители не прижились в автомобильной электронике — вибрации, знакопеременные температурные нагрузки и т.п. не позволяли использовать массово такие решения. Японцы конечно бы что-то придумали, но нишевые продукты либо стоят дорого, либо плохо окупаются. Поэтому в нашей памяти останутся предложения типа AVIC-ZH900MD от Pioneer за почти 3500 долларов как солидная альтернатива небольшой квартире в областном центре тех же лет. А ведь Pioneer предлагал HDD аж на целых 30 ГБ в 2004-то году в машине!

История SSD

В общем, механика вроде как стала считаться решением устаревшим. Все вроде бы и так, если бы не одна особенность. Вышедший из строя НЖМД, если он физически не пострадал внутри и на поверхности рабочих блинов, можно временно вернуть к жизни в большинстве случаев за относительно адекватные деньги. Если повезет крупно, то достаточно будет заменить физически вышедшие из строя детали на такие же изделия этой же аппаратной ревизии и этого может быть достаточно, чтобы прочитать записанное. Работать такой восстановленный диск долго не будет по причине попадания пыли — она раньше или позже выведет диск из строя окончательно, но для чтения его целиком этого времени заведомо достаточно. Поэтому в 90-х вполне можно было увидеть картину ремонта HDD с сигаретой в зубах. Расчета на длительную работу после снятия крышки уже тогда никакого не было.

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

Отказ от механики видится благом. Никакой тебе вибрации, свиста мотора и звуков позиционирования головок! Тишина и порядок.

Правда в случае физической поломки твердотельного носителя вероятность восстановления данных стремится к нулю т.к. мы помним, что, даже пересадив чипы памяти на донорскую плату никто, кроме старого контроллера, грубо говоря, не знает, как с ними работать, и что и как там было записано. В отдельных случаях узкий специалист по восстановлению может удалить защитный пластиковый слой чипа памяти и попробовать подключиться напрямую к массиву внутри. При определенных обстоятельствах это может дать результат, если сильно повезет и искомые данные целиком будут размещены физически в одном массиве, а на плате твердотельного накопителя их может быть много. Но даже в этом случае процесс поднятия данных нужно будет продолжать на логическом уровне, что по силам очень немногим и стоит поэтому совсем недешево. С одночиповыми «флешками» такое проходит, но конкретный вышедший из строя SSD — не «флешка», да и логика работы, задаваемая контроллером, может не предусматривать самой возможности такой процедуры. А как показывает практика, выходят твердотельные накопители из строя почти внезапно. Далее они даже BIOS или UEFI не видятся. Конечно, выходу из строя предшествует начало использования резервных блоков, но кто смотрит SMART каждый день? И почему производитель не снабжает товар собственной маленькой программкой, которая бы в системном трее сообщила, при случае, об ухудшении ситуации с ресурсом? Ведь признаки таких проблем установлены опытным путем, а производителю такой бонус не будет стоить почти ничего.

В общем, твердотельные носители имеют особенности, которые надо учитывать. И это существенные особенности. О них — ниже.

Но вернемся к SLC. Эти массивы ввиду технологии как таковой и благодаря толстым техпроцессам производства оказались очень живучими. Обобщенно считается, что ячейка SLC-типа способна пережить до 100 тыс. перезаписей.

Вопрос к кукушке

Если подойти к вопросу широко, то срок жизни твердотельного накопителя можно прикинуть как его объем, умноженный на ожидаемое эффективное число перезаписей. Именно прикинуть т.к. в процессе работы происходит технологическое использование некоторых ячеек, стирание, запись разных объемов данных и блок стирания обычно больше блока записи. В итоге при запросе ОС на запись одного объема данных физически в память носителя может произойти запись на бОльшую общую сумму т.к. если мы, например, немного меняем текст этой статьи и сохраняем его, то на уровне твердотельного носителя, особенно ранних серий, данные прочтутся, изменятся, сотрутся старые, запишутся новые и это произойдет через транзитные ячейки, которые потом тоже надо не забыть стереть. И все это целыми блоками, и стереть придется больше, чем записать — в страницу памяти SSD помещается 4 NTFS-кластера, а в случае, когда данные на запись приходят объемами менее кластера, но не одновременно, а с небольшими промежутками, то на физическом уровне перезаписываться будут кластера полностью. Контроллер, конечно, разберется что и как, но физически диск получит данных на запись больше, чем мы фактически изменяли в тексте, найдя опечатку. Это называется усилением износа — в результате логики работы твердотельного накопителя физических перезарядов ячеек в массиве памяти происходит несколько больше, чем фактически запрашивается системой, которая не в курсе внутренней кухни накопителя.

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

Чем сильнее заполнен диск, тем сильнее будет напрягаться контроллер для поиска вариантов размещения, чтения, стирания, записи, перемещения и т.п. Внешне это будет выражаться как падение скорости. Но все эти особенности не видны ОС на логическом уровне т.к. общение с железом носителя происходит через контроллер и только ему известно, что и как там в реальности.

Т.е. паспортную скорость поработавший диск по указанным причинам ожидаемо не покажет, и это надо было как-то решать.

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

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

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

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

Таким образом, потребительские SSD ранних поколений были ощутимо быстрее любых HDD, особенно при работе с мелкими данными т.к. винчестер в случае фрагментированного физически файла должен был для его чтения «постучать» головками в разные места диска, а SSD головок не имел и скорость отклика определялась во многом возможностями контроллера по сбору данных в электронном виде на уровне внутренней логики носителя. SSD так же был лишен проблем с механикой ввиду ее отсутствия, но его высокие скорости деградировали со временем по причине несовершенства раннего управляющего ПО, т.е. прошивок, впрочем, далеко не до уровня НЖМД. Стоил твердотельный накопитель дорого, но при этом имел такой ресурс ввиду особенностей организации и производственных возможностей, исчерпание которого дождаться было тяжело.

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

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

Разогнать, чтобы выиграть!