Как узнать, сколько времени проработает ваш твердотельный накопитель SSD. Флэш-память

30.07.2019

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

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

  1. Приоткрыть завесу над невнятными спецификациями, опубликованными на сайтах производителей SSD и магазинов.
  2. Снять вопросы, которые могут у вас возникнуть при изучении технических характеристик памяти разных накопителей и чтения обзоров, написанных для «железных» гиков.

Для начала я проиллюстрирую проблему картинками.

Что указывают в характеристиках SSD

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

Вам что-нибудь говорит эта картинка?

Ок, допустим, Яндекс.Маркет — не самый надежный источник информации. Обратимся к сайтам производителей — так легче стало?

Может быть, так будет понятнее?

А если так?

Или все-таки лучше так?

Между тем, во всех этих накопителях установлена одинаковая память! В это трудно поверить, особенно глядя на две последних картинки, не правда ли? Дочитав запись до конца, вы не только в этом убедитесь, но и будете читать подобные характеристики как открытую книгу.

Производители памяти NAND

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

  • Intel/Micron
  • Hynix
  • Samsung
  • Toshiba/SanDisk

Intel и Micron не случайно делят одно место в списке. Они производят NAND по одинаковым технологиям в рамках совместного предприятия IMFT .

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

Все производители SSD покупают NAND у вышеперечисленных компаний, поэтому в разных накопителях может стоять фактически одинаковая память, даже если ее марка отличается.

Казалось бы, при таком раскладе с памятью все должно быть просто. Однако существует несколько типов NAND, которые в свою очередь подразделяются по разным параметрам, внося путаницу.

Типы памяти NAND: SLC, MLC и TLC

Это три разных типа NAND, главным технологическим отличием между которыми является количество битов, хранящихся в ячейке памяти.

SLC является самой старой из трех технологий, и вы вряд ли найдете современный SSD с такой NAND. На борту большинства накопителей сейчас MLC, а TLC - это новое слово на рынке памяти для твердотельных накопителей.

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

Занятно, что пока широкая публика обеспокоена ограниченным количеством циклов перезаписи SSD, по мере развития технологий NAND этот параметр только снижается!

Как определить конкретный тип памяти в SSD

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

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

На специализированных сайтах можно найти базы данных по SSD, и вот вам пример .

Я без проблем нашел там характеристики памяти своих накопителей, за исключением SanDisk P4 (mSATA), установленного в планшете.

В каких SSD установлена самая лучшая память

Давайте сначала пройдемся по основным пунктам статьи:

  • производителей NAND можно пересчитать по пальцам одной руки
  • в современных твердотельных накопителях используется два типа NAND: MLC и TLC, только набирающая обороты
  • MLC NAND различается интерфейсами: ONFi (Intel, Micron) и Toggle Mode (Samsung, Toshiba)
  • ONFi MLC NAND делится на асинхронную (дешевле и медленнее) и синхронную (дороже и быстрее)
  • производители SSD используют память разных интерфейсов и типов, создавая разнообразный модельный ряд на любой кошелек
  • официальные спецификации редко содержат конкретную информацию, но базы данных SSD позволяют точно определить тип NAND

Конечно, в таком зоопарке не может быть однозначного ответа на вопрос, вынесенный в подзаголовок. Вне зависимости от бренда накопителя, NAND соответствует заявленным спецификациям, иначе ОЕМ-производителям нет смысла ее покупать (они дают на SSD свою гарантию).

Однако… представьте, что лето вас порадовало небывалым урожаем земляники на даче!

Она вся сочная и сладкая, но вам просто не съесть столько, поэтому вы решили продать часть собранных ягод.

Самую лучшую землянику вы оставите себе или выставите на продажу? :)

Можно предположить, что производители NAND устанавливают самую лучшую память в свои накопители. Учитывая ограниченное количество компаний, выпускающих NAND, список производителей SSD получается еще короче:

  • Crucial (подразделение Micron)
  • Intel
  • Samsung

Опять же, это лишь предположение, не подкрепленное достоверными фактами. Но разве вы поступили бы иначе на месте этих компаний?

MLC или TLC — что лучше выбрать для своего компьютера? Все пользователи, которые когда-либо использовали твердотельный накопитель (память SSD), отзываются о нем положительно. Благодаря ему, любимые приложения загружаются быстрее, а общая эффективность системы повышается. Кроме того, эти накопители гораздо более износоустойчивые и прочные по сравнению с традиционными жесткими дисками. Но почему некоторые типы памяти дороже, чем другие? Для ответа на этот вопрос нужно понять внутреннее устройство накопителей такого типа.

Плату SSD можно условно разделить на 3 основных блока:

  1. 3D NAND-память (не путать с NOR Flash). Эта часть используется для хранения данных в энергонезависимых блоках, которые не требуют постоянного питания от электросети.
  2. DDR. Небольшое количество энергозависимой памяти, которой нужно питание для сохранения данных. Используется с целью кэширования информации для будущего доступа. Эта опция доступна не на всех накопителях.
  3. Контроллер. Выступает в качестве посредника, соединяя 3D NAND-память и компьютер. Контроллер также содержит встроенное программное обеспечение, которое помогает управлять SSD.

NAND-память, в отличие от NOR, построена из множества ячеек, содержащих биты, которые включаются или выключаются за счет электрического заряда. Организация этих отключаемых ячеек представляет данные, хранящиеся на SSD. Количество битов в этих ячейках также определяется разновидностью памяти. Например, в Single Level Cell (SLC) ячейка содержит 1 бит. Накопители NOR обычно используются в сетевых устройствах.

Причина, по которой флешка SLC располагает малым объемом памяти, заключается в ее небольшом физическом размере по сравнению с другими элементами Printed Circuit Board (PCB). Не стоит забывать, что PCB включает контроллер, память DDR и 3D NAND-память, которые нужно как-то разместить внутри системного блока персонального компьютера. Память MLC NAND удваивает количество бит на ячейку, а TLC — утраивает. Это положительно сказывается на объеме памяти. Накопители NOR предоставляют доступ к случайной информации, из-за чего их не используют, как жесткий диск.

Есть определенные причины, по которым производители продолжают выпускать флеш-память с 1 битом на ячейку. Накопители SLC считаются самыми быстрыми и надежными, но они относительно дорогие и обладают ограниченным объемом памяти. Вот почему такое устройство наиболее предпочтительно для компьютеров, которые подвергаются сильным нагрузкам.

Что такое SLC

В противостоянии SLC vs MLC или TLC 3D всегда побеждает первый тип памяти, но он и стоит значительно дороже. Он также располагает большим объемом памяти, но работает медленнее и больше склонен к поломкам. MLC и TLC — это типы памяти, которые рекомендуется применять для обычного повседневного использования компьютера. NOR обычно используется в мобильных телефонах и планшетах. Осознание своих собственных потребностей поможет пользователю выбрать наиболее подходящий из всех SSD-дисков.

Single Level Cell получила свое название благодаря единственному биту, который включается или выключается в зависимости от питания электроэнергией. Преимущество SLC в том, что она наиболее точная при чтении и записи данных, а ее цикл непрерывной работы может быть более продолжительным. Количество допустимых перезаписей составляет 90000-100000.

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

Достоинства SLC:

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

Недостатки SLC:

  • высокая цена по сравнению с другими SSD;
  • сравнительно небольшой объем памяти.

Тип памяти eMLC

eMLC — это флеш-память, оптимизированная для предпринимательского сектора. Она может похвастаться улучшенной производительностью и долговечностью. Количество перезаписей варьируется от 20000 до 30000. eMLC можно рассматривать как более дешевую альтернативу SLC, которая позаимствовала некоторые преимущества у своего конкурента.

Достоинства eMLC:

  • намного дешевле, чем SLC;
  • более высокая производительность и выносливость по сравнению с обычной MLC NAND.

Недостатки eMLC:

  • проигрывает SLC в плане производительности;
  • не подходит для домашнего использования.

Флеш-память MLC для твердотельного накопителя

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

Достоинства MLC NAND:

сравнительно низкая цена, рассчитанная на массового потребителя;
большая надежность по сравнению с TLC.

Недостатки MLC NAND:

  • менее надежная и долговечная, чем SLC или eMLC;
  • не подходит для коммерческого использования.

TLC память

Triple Level Cell — это самая дешевая разновидность флеш-памяти. Ее самый большой недостаток заключается в том, что она подходит только для домашнего использования и противопоказана к применению в предпринимательской или промышленной деятельности. Жизненный цикл ячейки составляет 3000-5000 перезаписей.

Достоинства TLC 3D:

  • наиболее дешевая SSD из всех доступных на рынке;
  • способна удовлетворить потребности большинства пользователей.

Недостатки TLC 3D:

  • наименьшая продолжительность жизни по сравнению с другими типами;
  • не годится для коммерческого использования.

Долговечность SSD

Как и все хорошие вещи в этом мире, SSD не может существовать вечно. Как было отмечено выше, жизненный цикл твердотельного накопителя напрямую зависит от того, какую он использует 3D NAND-память. Многих пользователей волнует вопрос, как долго могут функционировать более дешевые виды накопителей. По сравнению с MLC и TLC, память SLC более долговечная, но стоит дороже. Независимые команды энтузиастов провели испытания доступных SSD потребительского класса, большинство из которых составили MLC, а 3D NAND TLC использовался только 1. Результаты оказались многообещающими. Перед выходом из строя, большинство этих устройств успели пропустить через себя 700 Тбайт информации, а 2 из них — даже 1 Пбайт. Это поистине огромное количество данных.

Можно смело отметать любые опасения по поводу того, что SSD выйдет из строя в короткие сроки. Если вы используете MLC или TLC 3D V-NAND для такого повседневного использования, как хранение музыки, фотографий, программного обеспечения, личных документов и видеоигр, то можете быть уверены, что памяти хватит на несколько лет. В домашних условиях невозможно нагрузить компьютер так, как это делают с корпоративными серверами. Тем, кто беспокоится о продолжительности жизни своей памяти, могут пригодиться функции вроде Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.), которые помогают отслеживать состояние SSD.

Выбор подходящего SSD


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

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

Какой тип накопителя выбрать для себя? SLC или MLC и TLC? Можно сделать вывод, что память SLC или eMLC для обычного повседневного использования просто не нужна, так что нет никакого смысла тратить на нее круглую сумму денег. Если же выбирать тип памяти NAND из TLC или MLC, то здесь все будет зависеть от ваших финансовых возможностей.

TLC NAND — это самая бюджетная память, которая способна удовлетворить нужды большинства потребителей. MLC-память можно рассматривать, как более продвинутый вариант NAND-памяти для людей, готовых вкладывать в свой персональный компьютер большие средства. Он подойдет и для тех, кто планирует хранить свои данные в течение многих лет. Если на мониторе появилась надпись «NAND Flash was not detected», значит память, скорее всего, исчерпала свой ресурс и вышла из строя.

В основу зарождения NAND-памяти легла появившаяся намного раньше флеш-память, используемая в твердотельных накопителях с явно меньшей скоростью работы, долговечностью и большей площадью чипа, чем у NAND-памяти. Флеш-память изобрел Fujio Masuoka в 1984 году, работая в компании Toshiba. После представления разработки Fujio Masuoka на IEEE 1984 (International Electron Devices Meeting) в Сан-Франциско (Калифорния) компания Intel в 1988 году выпустила первый коммерческий флеш-чип типа NOR. Появление NAND-типа флеш-памяти было анонсировано Toshiba в 1989 году на Международной конференции, посвященной твердотельным дискам (International Solid-State Circuits Conference).

Flash-память, типы NAND-памяти

Принципиальным отличием флеш-памяти является хранение ею одного бита информации в массиве транзисторов с плавающим затвором, называемых ячейками. Существует два типа NAND-памяти, используемой в SSD дисках – SLC и MLC. Чем же отличаются SLC и MLC типы памяти? SLC-устройства имеют одноуровневые ячейки, которые хранят в каждом транзисторе только один бит, а многоуровневые MLC могут хранить в каждой ячейке несколько бит информации. Это следствие использования разных уровней электрического заряда на плавающем затворе транзистора. Принцип кодирования (логического 0 или 1) информации во всех случаях одинаков, он будет описан нами ниже. Различается лишь строение ячейки. Глубина уровней MLC может доходить до 4-х, то есть хранить до 4-х бит информации, в то время как SLC является более простой единицей и хранит 1 бит.

Технология MLC позволяет за счет наращивания уровней существенно увеличить объем диска, оставив его физические размеры неизменными, что уменьшает себестоимость каждого гигабайта. На этом положительные качества данной технологии заканчиваются. С каждым дополнительным уровнем усложняется задача распознавания уровня сигнала, не говоря уже об уменьшении ресурса работы SSD-диска, увеличивается время поиска адреса ячейки, повышается вероятность ошибок. Контроль за ошибками осуществляется аппаратно, что в случае технологии MLC ведет к удорожанию управляющей электроники и соответственно увеличивает конечную стоимость SSD. Диски SSD, массово продающиеся на мировом рынке, используют MLC-технологию с четырехуровневой записью. При этом данные кодируются как (11), (10), (01), (00). Для SLC одноуровневая ячейка может принимать лишь значения 0 или 1.

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

Механизмы записи и чтения элементарной ячейки NAND-память

Постараемся более подробно описать работу транзистора для NAND-памяти, которым является полевой транзистор с изолированным затвором или MOSFET.

Главной особенность полевого транзистора, которая позволила его использование для хранения информации, стала возможность удерживать электрический заряд на «плавающем» затворе до 10 лет. Сам «плавающий» затвор выполнен из поликристаллического кремния и полностью окружен слоем диэлектрика, что обеспечивает ему полное отсутствие электрического контакта с элементами транзистора. Он расположен между управляющим затвором и подложкой из p-n переходов. Управляющий электрод полевого транзистора называется затвором. В данном случае проводимость p-n перехода, обусловленная электрическим сопротивлением, управляется разностью потенциалов, которая создает электрическое поле, воздействующее на состояние p-n переходов.

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

Накопленный заряд на плавающем затворе влияет на проводимость канала сток-исток, что используется при чтении.

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

Срок жизни NAND-памяти

Главной особенностью NAND-памяти, позволяющей ее использование в SSD-дисках, стало ее умение хранить данные без внешнего источника энергии. Однако такая технология накладывает ограничения на число изменений логического состояния ячейки, что приводит к конечному числу циклов перезаписи этой ячейки. Это связанно с постепенным разрушением диэлектрического слоя. Данный эффект наступает намного быстрее у ячеек MLC ввиду их малого резерва изменения заряда плавающего затвора из-за конструктивных особенностей. Чтение ячейки тоже влияет на срок ее жизни, но это воздействие намного менее значительно, чем при записи/стирании, что позволяет считать циклы чтения не ограниченными, а срок жизни SSD-диска измеряется количеством возможных циклов перезаписи.

На всех SSD-дисках присутствует недоступная для стандартных операций записи/чтения часть. Она необходима как резерв в случае износа ячеек, по аналогии с магнитными накопителями HDD, который имеет резерв для замены bad-блоков. Дополнительный резерв ячеек используется динамически, и по мере физического изнашивания основных ячеек предоставляется резервная ячейка на замену.

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

Таблица явно говорит обо всех преимуществах и недостатках этих технологий. В ней видно превосходство SLC решений над MLC, но не указан главный критерий популярности SSD-дисков – их цена. Указывать ее и нет смысла ввиду быстрого удешевления таких решений. Скажем лишь, что MLC диски хоть и уступают во всем SLC, но они более чем в два раза выигрывают в цене и могут быть компактнее при тех же объемах хранимых данных.

Структура SSD-диска: размер ячейки, страницы, блока NAND-памяти

Для более эффективного использования элементарных ячеек памяти они были объединены в массивы с несколько уровневой структурой. Одна ячейка хранящая один (для SLC) или, как правило, два (для нынешнего поколения MLC) бита данных, объединена в группу названную страницей и вмещающую 4 КБ данных.

Специальные алгоритмы для работы с SSD-дисками

Ввиду ограниченности циклов записи/стирания ячеек флеш-памяти разработчикам пришлось составить правильный алгоритм работы SSD-диска, позволяющий равномерно «изнашивать» всё его запоминающее пространство. Как уже было нами отмечено, весь объем диска делится на блоки размером 512 КБ, а они в свою очередь на страницы емкостью 4 КБ, на которые осуществляются операции чтения и записи. Но как только вы записали информацию на страницу, она не может быть перезаписана до тех пор, пока не будет очищена. Проблема заключается в том, что минимальный размер записываемой информации не может быть меньше 4 КБ, а стереть данные можно минимум блоками по 512 КБ. Для этого контроллер группирует и переносит данные (этот алгоритм мы опишем ниже) для освобождения целого блока. Эта операция приводит к увеличению времени отклика и сокращению ресурс SSD, но чем-то приходится жертвовать.

Поговорим об алгоритме записи/удаления.

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

В своем оснащении контроллер обычно имеет 10 каналов, в частности таким количеством каналов обладает контроллеры SSD-дисков от Intel. Весь пул микросхем равномерно закреплен за каждым каналом обмена данных. На данном этапе развития технологий работы SSD-дисков, микросхемы памяти, взаимодействующие с первым каналом, не могут пересекаться на операциях со вторым, третьим и последующими каналами, но данная проблема вполне может разрешиться в недалеком будущем. Вполне логично бы было использовать «плавающие» связи для всей памяти, размещенной на диске. Часто возникает необходимость записи очереди из мелких данных, тогда контроллер автоматически распределяет весь блок по всем каналам, но связь между ячейками сохраняется, т.к. этот кусок данных является одной логической единицей.

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

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

Зачем нужен Тримминг?

Это еще одна немаловажная технология, обеспечивающая более равномерный износ SSD-диска и более быструю работу с данными за счет команды TRIM. Она позволяет выстроить цепочку и определить приоритет освобождаемых блоков. Раньше данная операция была возложена на ОС, но современные SSD-контроллеры уже поддерживают данную функцию аппаратно в прошивках накопителей. Время выполнение операции по «зачистке» блоков связано по экспоненте со свободным объемом на диске. Чем меньше информации и больше свободного места, тем быстрее происходит «тримминг» на SSD. По мере заполнения диска до 75% функция очистки все еще не сильно выражена относительно простоя. Но, как только остаётся менее 15% свободного места, «триммирование» становится затруднительным. Естественно, часть зависимости полностью обуславливается типом информации (статичная, т.е. редко перемещаемая и в основном только читаемая, или динамическая). Согласно исследованию IBM идеальные условия работы SSD, когда он заполнен менее, чем на 75% и соотношения статической и динамической части информации 3 к 1.

TRIM является неотъемлемой частью современных твердотельных накопителей. Он обеспечивает прирост производительности при заполнении данными дисков более чем на 2/3, за счет правильной сортировки блоков и подготовке их к записи. Это позволяет сократить разницу в скорости работы нового и уже заполнено на 75% диска до 2-3%.

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

Для чего используется кэш-буфер на SSD-дисках?

Кэш-буфер на SSD-дисках не применяется для ускорения процедуры записи/чтения как это принято для HDD-накопителей. Его объем даже не указывается в технических спецификациях SSD основной массой производителей. Он и не может считаться обычной кэш-памятью, как мы это привыкли понимать. Кэш-память на SSD дисках используется динамически, для хранения таблиц размещения и занятости ячеек диска. Параллельно в ней может храниться временная информация со стираемых ячеек, при нехватке пустого места на диске. Таблицы представляют собой трехмерную матрицу, и являются основным помощником для контроллера SSD. Основываясь на этих данных, диск принимает решения о стирании дополнительных ячеек. В нем так же хранится информация о частоте и интенсивности использования каждого доступного блока на диске. Кроме того, здесь записаны адреса «мест», где невозможно осуществить запись, ввиду физического износа.

Контроллер SSD-диска

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

Итоги

На данный момент пока еще рано говорить о полной победе SSD-накопителей над магнитными дисками. Если учитывать объем и скорость работы SSD-накопителя, сравнивая их с аналогичными параметрами для традиционных HDD, то главным сдерживающим фактором перехода на твердотельные диски все еще останется их цена. Анализ нескольких последних лет показал нежелание производителей снижать цену на NAND-память. Только последние полгода можно наблюдать небольшую тенденцию по снижению цены на SSD, и то это, скорее всего, обусловлено спадом потребительского спроса, что вызвано мировым кризисом. Твердотельные накопители уже несколько лет представлены в широком ассортименте на мировом рынке, но даже такой значительный для цифровых технологий срок не смог повлиять на их конкурентоспособность по критерию «цена за ГБ хранимой информации» по отношению к магнитным дискам. Плотность записи на один магнитный диск постоянно увеличивается, что способствует выпуску все более емких моделей (на данный момент широко доступны HDD емкостью 2 ТБ). Такое распределение рынка может заставить покупателя отдать предпочтение SSD накопителю только в случае острой необходимости в скорости чтения или стойкости к вибрации/удару, но основной объем информации все равно будет храниться на классических жестких дисках.

Достоинства и недостатки SSD по сравнению с магнитными дисками HDD:

Достоинства:

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

Недостатки:

  • высокая стоимость за каждый ГБ сохраняемой информации;
  • ограниченное количество циклов записи и удаления данных.

Статья прочитана 10888 раз(а)

Подписаться на наши каналы

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

Начнем с того, что рассмотрим два типа NAND-памяти – а именно SLC-(single-level cell ) и MLC-(multi-level cell ) устройства. В SLC приборах одна ячейка памяти хранит один бит информации – именно такие устройства мы обсуждали в предыдущей статье. Возможно только два состояния ячейки памяти (полевого транзистора с плавающим затвором). Первое состояние соответствует заряженному затвору, а второе, соответственно, разряженному. Тут все просто – подаем пороговое напряжение и по наличию или отсутствию тока стока можем определить, какой бит записан в данную ячейку памяти.

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

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

MLC-память имеет меньшее количество максимально возможных циклов перезаписи по сравнению с SLC. Кроме того, SLC быстрее – то есть операции чтения/записи/стирания выполняются за меньшее количество времени. А поскольку для определения состояния ячейки памяти используется только одно пороговое значение напряжения, при использовании SLC-памяти меньше вероятность возникновения ошибки. Но это не значит, что MLC хуже. MLC-память, во-первых позволяет сохранять большее количество информации, а во-вторых дешевле. То есть с точки зрения отношения цена/качество MLC, в принципе, выглядит предпочтительнее.

Переходим к структуре NAND-памяти 😉

Как мы помним, в отличие от NOR-памяти, при использовании NAND мы не имеем доступа к произвольной ячейке памяти. Все ячейки объединены в страницы. А страницы объединены в логические блоки. Каждая страница помимо сохраненной пользователем информации содержит некоторые дополнительные данные – информация о “плохих” блоках, дополнительная служебная информация для коррекции ошибок.

Сложность при работе с NAND заключается в том, что невозможно получить доступ к какой-то конкретной ячейке информации. Запись данных можно производить только постранично, то есть если мы хотим изменить какой-то бит, то нам нужно перезаписать все страницу целиком. А стирать данные и вовсе можно только блоками. Вот для примера характеристики микросхемы NAND-памяти NAND128W3A: размер страницы – 512 байт + 16 байт дополнительной служебной информации, размер блока – 16 кБайт, то есть 32 страницы.

Еще одной проблемой при использовании NAND является то, что количество циклов перезаписи не бесконечно. Таким образом, если запись всегда будет производиться в одну и ту же страницу, она рано или поздно окажется поврежденной. И для того, чтобы обеспечить равномерный износ всех ячеек памяти, контроллер NAND-памяти ведет учет количества циклов записи в каждый отдельный блок памяти. Если контроллер видит, что блок “плохой”, то он может пропустить его и произвести запись в следующий блок. Благодаря этому срок службы носителей информации значительно увеличивается. Если мы хотим записать большой массив данных, то внутри микросхемы памяти все данные будут перемешаны по блокам (работает алгоритм записи в наименее изношенные блоки), а когда встает задача чтения этих данных, контроллер NAND-памяти упорядочит данные и выдаст их нам в первозданном виде.

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

А для этого используется параллельная шина передачи данных, Ширина шины – 8 или 16 байт, в зависимости от конкретного устройства. Линии данных объединены с линиями адреса, что позволяет уменьшить количество занятых выводов. Вот тут хорошо описаны управляющие сигналы и их назначение:

Если мы хотим подключить память к микроконтроллеру, то лучше всего выбрать контроллер, в котором есть аппаратная поддержка передачи данных по параллельному интерфейсу. Например, многие STM32 оснащены модулем FSMC, который позволяет подключить внешнее устройство памяти. Но в это мы сейчас не будем углубляться, лучше оставим эту тему до будущих статей 😉 Возможно, в ближайшее время как раз и попробуем соорудить небольшой пример для STM32, в котором будем записывать и считывать данные из NAND-памяти, так что до скорых встреч!)

#Тип_чипов #3D_MLC_(Multi_Level_Cell) MLC_(Multi_Level_Cell) #3D_TLC_(Triple_Level_Cell) #TLC_(Triple_Level_Cell)

В современных SSD наиболее распространены три типа чипов памяти : SLC, MLC и TLC.

SLC – Single Level Cell – ячейка с одним уровнем. Имеет высокую производительность, низкое потребление электроэнергии, наибольшую скорость записи и количество . Такой тип памяти обычно используется в серверах высокого уровня, поскольку стоимость на их основе велика.

MLC - Multi Level Cell – ячейка с несколькими уровнями. Обладает меньшей стоимостью, по сравнению с SLC, однако обладает меньшей выносливостью и меньшим количеством . Является хорошим решением для коммерческих и рабочих платформ - имеет хорошее соотношение цена/скорость работы.

EMLC - Enterprise Multi Level Cell – ячейка, аналогичная по структуре обычной MLC, но с увеличенным ресурсом по . По надежности eMLC находится между SLC и MLC, при этом цена не сильно выше, чем у последней. Типичное применение - рабочие станции и серверы среднего класса.

TLC - Three Level Cell – ячейка с тремя уровнями. Обладает большей плотностью, но меньшей выносливостью, медленной скоростью чтения и записи и меньшим количеством по сравнению с SLC и MLC. До настоящего момента, память типа TLC использовалась в основном в flash-накопителях (флешках), однако совершенствование технологий производства сделало возможным его использование и в стандартных SSD.

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

Таким образом появляется возможность разместить большее количество ячеек памяти на одном слое микросхемы. Такие ячейки называются 3D V-NAND и 3D TLC. Что касается емкости и надежности, то она соответствует ячейкам TLC.

Количество состояний ячейки, в зависимости от типа памяти
Физически, все три типа технологий памяти состоят из одинаковых транзисторов, единственным отличием является то, что они хранят в себе различное количество зарядов. Все три работают одинаково: при появлении напряжения ячейка переходит из состояния «выключено» в состояние «включено». SLC использует два отдельных значения напряжения для представления одного бита информации на ячейку и двух логических уровней (0 и 1). MLC использует четыре отдельных значения напряжения для представления четырех логических состояний (00, 01, 10, 11) или двух битов. TLC использует восемь отдельных значений напряжения для представления восьми логических состояний (000, 001, 010, 011, 100, 101, 110, 111) или трех битов информации.

Поскольку в SLC используется только два значения напряжения, они могут сильнее отличаться друг от друга, уменьшая потенциальную возможность некорректно интерпретировать текущее состояние ячейки и позволяя использовать стандартные условия коррекции ошибки . Вероятность ошибок чтения увеличивается при использовании TLC NAND, поэтому такой тип памяти требует большего объема ECC (Error Correction Code – код коррекции ошибок) при исчерпании ресурса NAND, поскольку в TLC приходится корректировать сразу три бита информации, в отличие от одного для SLC и двух для MLC.