Что такое тип флеш памяти у hdd. Преобразование двоичного образа в образ NAND. Как узнать, сколько времени проработает ваш твердотельный накопитель SSD

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

В масс-маркете накопители SSD появились не так давно, но быстро стали популярны, так как являются современной альтернативой стандартному жёсткому диску (HDD ). Разберёмся, по каким параметрам нужно выбирать твердотельный накопитель, и что он из себя вообще представляет.

Устройство

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

Аббревиатура SSD как раз и означает «solid-state drive », то есть, буквально, «твердотельный накопитель ». Он состоит из контроллера и чипов памяти.

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

Память в накопителях может быть как энергонезависимой (NAND ), так и энергозависимой (RAM ).

NAND-память поначалу выигрывала у HDD только в скорости доступа к произвольным блокам памяти, и только с 2012 года скорость чтения/записи также многократно выросла. Сейчас в масс-маркете накопители SSD представлены моделями именно с энергонезависимой NAND -памятью.

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

Отличия SSD от HDD

SSD отличает от HDD в первую очередь, физическое устройство. Благодаря этому он может похвастаться некоторыми преимуществами, но имеет и ряд серьёзных недостатков.

Основные преимущества:

· Быстродействие. Даже по техническим характеристикам видно, что скорость чтения/записи у SSD выше в несколько раз, но на практике быстродействие может различаться в 50-100 раз.
· Отсутствие движущихся частей, а соответственно, шума. Также это означает высокую стойкость к механическим воздействиям.
· Скорость произвольного доступа к памяти гораздо выше. В результате скорость работы не зависит от расположения файлов и их фрагментации.
· Гораздо меньшая уязвимость к электромагнитным полям.
· Малые габариты и вес, низкое энергопотребление.

Недостатки:

· Ограничение ресурса по циклам перезаписи. Означает, что перезаписать отдельную ячейку можно определённое количество раз – в среднем, этот показатель варьируется от 1 000 до 100 000 раз.
· Стоимость гигабайта объёма пока достаточно высока, и превосходит стоимость обычного HDD в несколько раз. Однако, этот недостаток со временем исчезнет.
· Сложность или даже невозможность восстановления удалённых или утерянных данных, связанная с применяемой накопителем аппаратной командой TRIM , и с высокой чувствительностью к перепадам напряжения питания: при таком повреждении чипов памяти информация с них теряется безвозвратно.

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

Какой объём SSD понадобится?

Первое, на что стоит обратить внимание при выборе SSD – его объём. В продаже есть модели с ёмкостью от 32 до 2000 Гб.

Решение зависит от варианта использования – вы можете установить на накопитель только операционную систему, и ограничиться объёмом SSD в 60-128 Гб , что будет вполне достаточно для Windows и установки основных программ.

Второй вариант – использовать SSD как основную медиа-библиотеку, но тогда вам понадобится диск объёмом в 500-1000 Гб , что выйдет довольно дорого. Это имеет смысл, только если вы работаете с большим количеством файлов, к которым нужно обеспечить действительно быстрый доступ. Применительно к рядовому пользователю – не очень рациональное соотношение цена/скорость.

Но есть и ещё одно свойство твердотельных накопителей – в зависимости от объёма скорость записи может сильно отличаться. Чем больше объём диска, тем, как правило, больше скорость записи. Это связано с тем, что SSD способен параллельно использовать сразу несколько кристаллов памяти, а количество кристаллов растёт вместе с объёмом. То есть в одинаковых моделях SSD с разной ёмкостью в 128 и 480 Гб разница в скорости может различаться примерно в 3 раза.

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

Интерфейс и форм-фактор

2.5" SSD

Самым распространённым форм-фактором SSD является формат 2,5 дюйма. Представляет собой «брусок» размерами примерно 100х70х7мм, у разных производителей они могут слегка различаться (±1мм). Интерфейс у 2.5” накопителей, как правило, SATA3 (6 Гбит/с ).

Преимущества формата 2.5":

  • Распространённость на рынке, доступен любой объём
  • Удобство и простота использования, совместим с любыми материнскими платами
  • Демократичная цена
Недостатки формата:
  • Относительно низкая скорость среди ssd - максимально до 600 Мб/с на один канал, против, например 1 Гб/с у интерфейса PCIe
  • Контроллеры AHCI, которые были разработаны для классических жёстких дисков
Если вам нужен накопитель, который удобно и легко монтировать в корпус ПК, а ваша материнская плата имеет только разъёмы SATA2 или SATA3 , то 2.5” SSD накопитель – это ваш выбор. Система и офисные программы будет загружаться очевидно быстрее по сравнению с HDD, а большой разницы с более скоростными решениями обычный пользователь не заметит.

mSATA SSD

Существует более компактный форм-фактор - mSATA , размерами 30х51х4 мм. Имеет смысл использовать в ноутбуках и любых других компактных устройствах, где установка обычного 2.5” накопителя нецелесообразна. Если у них, конечно, есть разъём mSATA . По скорости - это всё та же спецификация SATA3 (6 Гбит/с ), и не отличается от 2.5".

M.2 SSD

Есть ещё один, самый компактный форм-фактор M.2 , постепенно сменяющий mSATA . Предназначен, главным образом, для ноутбуков. Размеры - 3.5х22х42(60,80) мм. Есть три разных длины планок - 42, 60 и 80 мм, обратите внимание на совместимость при установке в свою систему. Современные материнские платы предлагают, по крайней мере, один слот U.2 под формат M.2.

M.2 может быть как с интерфейсом SATA , так и PCIe . Разница между этими вариантами интерфейса в скорости, и при том довольно большая - SATA накопители могут похвастаться скоростью в среднем 550 Мб/с, тогда как PCIe, в зависимости от поколения, может предложить 500 Мб/с на одну линию для PCI-E 2.0 , и скорость до 985 Мб/с на одну линию PCI-E 3.0 . Таким образом, твердотельный накопитель, установленный в слот PCIe x4 (с четырьмя линиями), может обмениваться данными на скорости до 2 Гб/с в случае PCI Express 2.0 и до почти 4 Гб/с – при использовании PCI Express третьего поколения.

Различия в цене при этом существенны, диск форм-фактора M.2 с интерфейсом PCIe обойдётся в среднем в два раза дороже интерфейса SATA при одинаковом объёме.

Форм-фактор имеет разъём U.2, который может иметь коннекторы, отличающиеся друг от друга ключами – специальными «вырезами» в них. Существуют ключи B и , а также B&M . Отличаются скоростью по шине PCIe : ключ М обеспечит скорость до PCIe х4 , ключ M скорость до PCIe х2 , как и совмещённый ключ B&M .

B -коннектор несовместим с M -разъёмом, M -коннектор соответственно, с B -разъёмом, а B&M коннектор совместим с любым. Будьте внимательны, приобретая формата M.2 , так как материнская плата, ноутбук или планшет должны иметь подходящий разъём.

PCI-E SSD

Наконец, последний существующий форм-фактор – , как плата расширения PCI-E . Монтируется, соответственно в слот PCI-E , обладают самой высокой скоростью, порядка 2000 Мбайт/с на чтение, и 1000 Мбайт/с на запись . Такие скорости встанут вам очень дорого: очевидно, что выбирать такой накопитель стоит для профессиональных задач.

NVM Express

Существуют также SSD , имеющие новый логический интерфейс NVM Express , разработанный специально для твердотельных накопителей. От старого AHCI он отличается ещё более низкими задержками доступа и высокой параллельностью работы чипов памяти за счёт нового набора аппаратных алгоритмов.
На рынке есть модели как c разъёмом M.2 , так и в PCIe . Минус PCIe тут только в том, что он займёт важный слот, который может пригодиться и под другую плату.

Поскольку стандарт NVMe предназначен именно для флэш-памяти, он учитывает её особенности, тогда как AHCI всё же только компромисс. Поэтому, NVMe - будущее твердотельных накопителей, и со временем он будет только оптимизироваться.

Какой тип памяти в SSD лучше?

Разберёмся в типах памяти SSD . Это одна из главных характеристик SSD, определяющая ресурс перезаписи ячеек и скорость.

MLC (Multi-Level Cell) - наиболее популярный тип памяти. Ячейки содержат 2 бита, в отличии от 1-го бита в старом типе SLC , который уже почти не продаётся. Благодаря этому – больший объём, а значит, меньшая стоимость. Ресурс записи от 2000 до 5000 циклов перезаписи. При этом «перезапись» означает перезапись каждой ячейки диска. Следовательно, для модели в 240 Гб, например, можно записать как минимум 480 Тб информации. Так что, ресурса такого SSD даже при постоянном интенсивном использовании должно хватить лет эдак на 5-10 (за которые он уже всё равно сильно устареет). А при домашнем использовании его хватит и вовсе на 20 лет, так что ограниченность циклов перезаписи можно вообще не брать во внимание. MLC – это лучшее сочетание надёжность/цена.

TLC (Triple-Level Cell) - из названия следует, что здесь в одной ячейки хранится сразу 3 бита данных. Плотность записи здесь в сравнении с MLC выше на целых 50% , а значит, ресурс перезаписи меньше – всего от 1000 циклов. Скорость доступа тоже ниже из-за большей плотности. Стоимость сейчас не сильно отличается от MLC . Давно и широко используется во флэшках. Срок службы также достаточный для домашнего решения, но подверженность неисправимым ошибкам и «отмиранию» ячеек памяти заметно выше, причём во время всего срока службы.

3D NAND – это скорее форма организации памяти, а не её новый тип. Существует как MLC , так и TLC 3D NAND . Такая память имеет вертикально размещённые ячейки памяти, и отдельный кристалл памяти в ней имеет несколько уровней ячеек. Получается, что у ячейки появляется третья пространственная координата, отсюда и приставка "3D" в названии памяти - 3D NAND . Отличается очень низким количеством ошибок и высокой выносливостью из-за более крупного техпроцесса в 30-40нМ.
Гарантия производителя на отдельные модели достигает 10 лет использования, но стоимость высока. Самый надёжный тип памяти из существующих.

Отличия дешёвых SSD от дорогих

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

· Более дешёвый тип памяти. По возрастанию стоимости/надёжности, условно: TLC MLC 3D NAND .
· Более дешёвый контроллер. Также влияет на скорость чтения/записи.
· Буфер обмена. Самый дешёвые SSD могут вовсе не иметь буфера обмена, это не сильно удешевляет их, но заметно снижает быстродействие.
· Системы защиты. Например, в дорогих моделях есть защита от прерывания питания в виде резервных конденсаторов, позволяющих корректно завершить операцию записи, и не потерять данные.
· Брэнд. Само собой, более раскрученный брэнд будет дороже, что не всегда означает техническое превосходство.

Вывод. Что выгоднее купить?

Можно с уверенностью сказать, что современные SSD накопители достаточно надёжны. Боязнь потери данных и негативное отношение к твердотельным накопителям, как классу, на данный момент уже совсем неоправданны. Если говорить о более-менее популярных брэндах, то даже дешёвая TLC память подойдёт для бюджетного домашнего использования, и её ресурса хватит вам на несколько лет как минимум. Многие производители к тому же дают гарантию в 3 года.

Итак, если вы ограничены в средствах, то ваш выбор – это ёмкостью в 60-128 Гб для установки системы и часто используемых приложений. Тип памяти не столь критичен для домашнего использования – TLC это будет или MLC , диск устареет раньше, чем выработается ресурс. При прочих равных, конечно, стоит выбрать MLC .

Если вы готовы заглянуть в средний ценовой сегмент и цените надёжность, то лучше рассмотреть SSD MLC на 200-500 Гб . За старшие модели придётся выложить около 12 тысяч рублей. При этом, объёма вам хватит практически для всего, что должно работать быстро на домашнем пк. Также можно взять модели ещё более повышенной надёжности с кристаллами памяти 3D NAND .

Если ваша боязнь износа флэш-памяти достигает панического уровня, то стоит смотреть на новые (и дорогие) технологии в виде формата накопителей 3D NAND . А если без шуток, то это будущее SSD – высокая скорость и высокая надёжность здесь объединены. Подобный накопитель подойдёт даже для важных баз данных серверов, поскольку ресурс записи здесь достигает петабайт , а количество ошибок минимально.

В отдельную группу хочется выделить накопители с интерфейсом PCI-E . Он обладают высокой скоростью чтения и записи (1000-2000 Мб/с ), и в среднем дороже прочих категорий. Если во главу угла ставить именно быстродействие, то это лучший выбор. Недостаток - занимает универсальный слот PCIe, у материнских плат компактных форматов слот PCIe может быть всего один.

Вне конкуренции - SSD с логическим интерфейсом NVMe , скорость чтения которых переваливает за 2000 Мб/с. В сравнении с компромиссной для SSD логикой AHCI , имеет гораздо большую глубину очереди и параллелизм. Высокая стоимость на рынке, и лучшие характеристики - выбор энтузиастов или профессионалов.

2017-05-25 Дата последнего изменения: 2018-10-10

В статье рассматриваются: Особенности применения микросхем NAND FLASH , методы разметки страниц и управления плохими блоками. Рекомендации по программированию на программаторах.

CОДЕРЖАНИЕ:

1. ТЕОРИЯ

1.1. Отличие микросхем NAND FLASH от обычных микросхем

Если не вникать в тонкости технологий, то отличие микросхем NAND от других микросхем памяти заключается в следующем:

  • Микросхемы NAND имеют очень большой объем .
  • Микросхемы NAND могут иметь плохие (сбойные) блоки .
  • Размер страницы записи не является степенью 2 .
  • Запись в микросхему осуществляется только страницами , стирание - минимум блоками .

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

1.2. Организация микросхем NAND FLASH

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

  • Микросхемы NAND организованы в страницы (pages ), страницы в блоки (bloks ), блоки в логические модули (lun ).
  • Размер страницы NAND не кратен степени 2 .
  • Страница состоит из основной и запасной (spare ) областей.

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

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

1.3. Способы использования запасной области страницы

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

Большинство разработчиков описывает только место расположения маркеров плохих блоков в поставляемых микросхемах. По остальным аспектам использования запасной области даются общие рекомендации и алгоритм вычисления ЕСС, обычно по Хэмингу. Samsung идут несколько дальше, разработав рекомендации с названием "Запасная область флэш-памяти NAND. Стандарт назначения " ("NAND Flash Spare Area. Assignment Standard", 27. April. 2005, Memory Division, Samsung Electronics Co., Ltd).

Итак, этот стандарт предполагает следующее использование запасной области:

Для микросхем с размером страницы 2048+64 бай т основная и запасная область страницы разбивается на 4 фрагмента (сектора) каждая:

Область Размер (байт) Фрагмент
Основная 512 Сектор 1
512 Сектор 2
512 Сектор 3
512 Сектор 4
Запасная 16 Сектор 1
16 Сектор 2
16 Сектор 3
16 Сектор 4

Каждому фрагменту их основной области ставится в соответствие фрагмент запасной области .

Использование запасной области (для каждого из четырех фрагментов)
у микросхем с размером страницы 2048+64 байт:
Смещение
(байт)
Размер
(байт)
Назначение Описание
Маркер плохого блока
Зарезервировано
Логический номер сектора
Зарезервировано для номера сектора
Зарезервировано
ECC код для основной области страницы
ECC код для логического номера сектора
Зарезервировано

Но это не единственный "стандарт" для распределения памяти страниц, только нам известны их несколько десятков, например:

  • "NAND FLASH management under WinCE 5.0 ", NXP;
  • "Bad Block Management for NAND Flash using NX2LP ", December 15, 2006, Cypress Semiconductor;
  • "OLPC NAND Bad Block Management ", OLPC.

1.4. Образ NAND и двоичный образ

Вы можете столкнуться с двумя вариантами образа для записи :

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

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

1.5. Заводская маркировка плохих блоков

Единственное что более или менее стандартизовано, так это заводская маркировка плохих блоков .

  • Плохие блоки маркируются на 0-й или 1-й странице для микросхем с размером страницы менее 4К.
  • Для страниц 4К и более , маркировка может находиться на последней странице блока.
  • Сам маркер плохих блоков располагается в запасной области страницы в 5-м байте для маленьких страниц (512 байт) и в 0-м байте для больших (2K).
  • Маркер плохого блока может иметь значение 0x00 или 0xF0 для маленьких страниц и 0x00 для больши х.
  • Хорошие блоки всегда маркируются 0xFF .
  • В любом случае значение отличное от 0xFF программатор воспринимает как маркер плохого блока .
  • Как правило, в современных NAND плохой блок полностью заполнен значением 0x00 .

Есть одна проблема: плохой блок можно стереть . Таким способом можно потерять информацию о плохих блоках микросхемы.

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

1.6. Управление плохими блоками

Разработчики NAND микросхем предлагают использовать следующие схемы управления плохими блоками:

  • Пропуск плохих блоков
  • Использование запасной области

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

Указанные методы управления плохими блоками хорошо описаны в технической документации производителей NAND и широко обсуждены в литературе по использованию NAND . Однако коротко напомним их суть:

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

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

2. ПРАКТИКА

2.1. Сканирование плохих блоков микросхемы NAND

Программатор ChipStar позволяет быстро сканировать микросхему NAND на наличие плохих блоков в соответствии с заводской маркировкой плохих блоков.

Выберите пункт меню "Микросхема|Искать плохие блоки ", микросхема будет проверена на наличие плохих блоков. Результат показан в виде таблицы.

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

2.2. Плохие блоки в образе NAND

При считывании образа микросхемы NAND программатор дополнительно сохраняет информацию о размере страницы и блока микросхемы. Информация сохраняется в отдельном файле. Так если вы считали и сохранили образ микросхемы в файле <имя_файла>.nbin программа создаст еще один файл: <имя_файла>.cfs . При открытии файла <имя_файла>.nbin файл <имя_файла>.cfs так же будет считан. В файле <имя_файла>.cfs записывается информация о размере страницы и блока микросхемы. После считывания микросхемы или открытия файла типа .nbin , производится фоновое сканирование образа на наличие плохих блоков исходя из информации о размере страницы и блока.

Параметры NAND и информацию о плохих блоках можно посмотреть в закладке "NAND " редактора программатора:

Двоичный образ NAND можно просматривать в закладке "Основная память ":

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

2.3.Стирание NAND

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

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

2.4. Тестирование микросхемы на отсутствие записи

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

2.5. Запись готового образа в микросхему

Запись образа NAND в микросхему несколько отличается от обычных FLASH микросхем. Прежде всего должны совпадать размеры страниц образа и целевой микросхемы. Если используется управление плохими блоками должны совпадать размеры блоков образа и микросхемы.

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

Способ 1: игнорирование плохих блоков

Простое копирование с игнорированием плохих блоков (плохие блоки пишутся так же, как нормальные).

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 1
плохой
Блок
чистый
Блок 1
ложный
Блок 2
хороший
Блок
чистый
Блок 2
хороший
Блок 3
хороший
Блок
плохой
Блок 3
сбойный
Блок 4
хороший
Блок
чистый
Блок 4
хороший
Граница записи
Блок 5
хороший
Блок
чистый
Блок
чистый

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

Способ 2: обход плохих блоков

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 1
плохой
Блок
чистый
Блок
чистый
Блок 2
хороший
Блок
чистый
Блок 2
хороший
Блок 3
хороший
Блок
плохой
Блок
плохой
Блок 4
хороший
Блок
чистый
Блок 4
хороший
Граница записи
Блок 5
хороший
Блок
чистый
Блок
чистый

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

Способ 3: пропуск плохих блоков

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 1
плохой

Блок
чистый
Блок 2
хороший
Блок 2
хороший
Блок
чистый
Блок 3
хороший
Блок 3
хороший
Блок
плохой
Блок
плохой
Блок 4
хороший
Блок
чистый
Блок 4
хороший
Граница записи
Блок 5
хороший
Блок
чистый
Блок
чистый

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

Способ 4: запись только гарантированно бессбойной области

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 2
хороший
Блок
чистый
Блок 1
хороший
Граница записи
Блок
плохой
Блок
чистый
Блок
чистый
Блок 3
хороший
Блок
плохой
Блок
плохой
Блок 4
хороший
Блок
чистый
Блок
чистый
Блок 5
хороший

Блок
чистый

Блок
чистый

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

В диалоге настроек режимов записи укажите записываемый размер в блоках.

Другие способы управления плохими блоками

Программное обеспечение программаторов ChipStar поддерживает любые алгоритмы управления плохими блоками NAND при помощи внешних плагинов. При наличии установленных плагинов описания дополнительных методов появляются в списке "Управление плохими блоками NAND ". Настроить параметры выбранного метода можно нажав кнопку "Внешний плагин ".

Использование кодов, исправляющих ошибки (ECC)

Использование кодов, исправляющих ошибки позволяет восстанавливать одиночные ошибки на странице NAND.

Могут быть использованы разные алгоритмы, восстанавливающие одиночные ошибке в секторе. В зависимости от алгоритма ECC , может быть восстановлено разное количество ошибок на сектор (512+16 байт). Под термином "одиночные " понимается ошибка только в одном бите данных. Для NAND с размером страницы 512+16 байт понятие "сектор " и "страница " совпадают. Для NAND с большим размером страниц программатор ChipStar использует схему разметки страницы на сектора, как описано . В установках записи или верификации можно указать, сколько ошибок на сектор может исправлять используемый в вашем устройстве алгоритм. Соответственно, микросхемы с допустимым количеством ошибок не будут забракованы, информация о количестве исправимых ошибок выводится в окне статистики:

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

При самостоятельном добавлении микросхем:

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

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

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

Программное обеспечение программатора ChipStar предлагает косвенный статистический способ выявления и устранения одиночных ошибок. Способ позволяет выявить только неустойчивые ошибки с не гарантированной достоверностью. Для выполнения чтения с выявлением ошибок нужно выбрать режим "Выборочное чтение " и на закладке "NAND" отметить флажок "Включить режим исправления ошибок "

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

Статистический алгоритм выявления ошибок работает следующим образом:

  1. Страница NAND считывается несколько раз подряд (не менее трех).
  2. Считанные данные побайтно сравниваются.
  3. Если ошибок сравнения не выявлено, предполагается, что страница не содержит ошибок.
  4. Если обнаружены ошибки при сравнении, страница считывается еще несколько раз.
  5. По каждой ошибке подсчитывается количество считанных единиц и нулей .
  6. Правильным значением ("0" или "1") считается, то, которых оказалось больше.

Алгоритм хорошо работает в том случае, если вероятность ошибки в конкретном бите микросхемы меньше 0.5. При чтении микросхемы ведется подсчет "исправленных" ошибок и вероятности правильного чтения.

2.6. Преобразование двоичного образа в образ NAND

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

Задайте режим преобразования в формат NAND: "Образ двоичный... ", укажите размер страницы и блока NAND или выберите необходимую микросхему. Выберите формат запасной области. Программатор поддерживает простое заполнение области значениями FF встроенными средствами и другие способы при помощи плагинов. Вместе с программатором поставляется плагин, реализующий назначения запасной области, рекомендованный Самсунг.

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

2.7. Совместимость с образами NAND, считанными другими программаторами

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

Для этого выполните следующие действия:

  • Откройте ваш файл, выберите пункт меню "Правка|Переключить режим NAND редактора ". Появится диалог, как показано выше.
  • Задайте режим преобразования в формат NAND : "Образ уже NAND... ", укажите размер страницы и блока NAND или выберите необходимую микросхему. Нажмите "Продолжить ".
  • В редакторе появится закладка "NAND " и начнется сканирование образа на плохие блоки.
  • Полученный файл можно сохранить в формате NAND , файл получит расширение .nbin по умолчанию.

В 1989 году состоялся анонс Nand Flash памяти, данная разработка была представлена компанией Toshiba на International Solid-State Circuits Conference. До этого существовали только разработки NOR памяти, основными недостатками которой были: скорость работы и большая площадь чипа. Основным отличием NAND Flash от Nor Flash являются особенности адресации, если в NOR Flash можно адресовать произвольную ячейку, то в NAND Flash применена страничная адресация (обычно размер страницы 528, 2112, 4224, 4304, 4320, 8576 байт).

На сегодня существует масса устройств, где используются микросхемы NAND Flash в том числе и в различных носителях информации, таких как SSD накопители, USB Flash, различные Flash card (MMC, RS-MMC, MMCmicro, SD, miniSD, MicroSD, SDHC, CF, xD, SmartMedia, Memory Stick и т.д.)

Принципиально носители информации на NAND Flash из себя представляют микроконтроллер, который обеспечивает работу с микросхемами памяти, а также работу с различными устройствами по заданному стандартами интерфейсу. В большинстве устройств это выглядит как небольшая плата, на которой размещены одна или несколько микросхем NAND Flash памяти в конструктивном исполнении TSOP-48, short TSOP-48 или TLGA-52 и микроконтроллер. Миниатюрные устройства, как правило выполнены в виде одного чипа в который интегрированы как микросхема Nand Flash, так и микроконтроллер.

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

Для равномерного износа NAND Flash практически во всех контроллерах организованно разделение адресного пространства на логические банки, которые в свою очередь разделяются на блоки (состоящие из нескольких страниц памяти), обычно на 256-2048 блоков. Контроллером ведется учет количества записей в каждый из блоков. Для того чтобы данные пользователя можно было свободно перемещать внутри банка, для этого имеется логическая нумерация блоков т.е. на практике при чтении микросхемы в дамп видим картину что данные пользователя в виде достаточно крупных блоков (16кб – 4Мб) хаотично перемешаны. Порядок работы с пользовательскими данными отражен в трансляторе в виде таблицы в которой указан порядок построения блоков для того чтобы получить упорядоченное логическое пространство.

Для увеличения операций чтения/записи производители контроллеров реализуют функции распараллеливания данных, то есть прямая аналогия с RAID массивом уровня 0 (stripe), только немного более сложная реализация. На практике это выглядит либо в виде внутриблочного распараллеливания (интерлива), на более мелкие подблоки (как правило от 1 байта, до 16Кб), также симметричное распараллеливание (страйп) между физическим банками микросхемы NAND Flash и между несколькими микросхемами.

Стоит понимать, что при таком принципе работы, транслятор накопителя – постоянно изменяющаяся таблица, практически при каждой записи в NAND Flash. Исходя из принципа работы с NAND Flash – чтение блока в буфер, внесение изменений и запись блока на место, очевидно, что наиболее опасны для данных являются незавершенные операции записи; например, когда происходит запись измененного транслятора. В результате необдуманного обращения с накопителями: внезапного извлечения их из USB разъема или из разъема кардридера во время записи, чревато разрушением служебных данных, в частности таблицы трансляции.

При разрушение служебных данных, накопитель не может функционировать или в некоторых случаях функционирует неверно. Извлечение данных программными средствами, как правило, не представляется возможным по многим причинам. Одно из решений – это выпаивание микросхем NAND Flash с последующим чтением на соответствующем считывателе (программаторе). Учитывая, что оригинальный транслятор отсутствует, либо поврежден, предстоит работа по разбору дампа извлеченного из микросхемы NAND Flash. Многие, наверное, обратили внимание на кажущийся странным размер страниц памяти в NAND Flash. Это объясняется тем, что в каждой странице, кроме данных пользователя имеются служебные данные обычно это представлено в виде 512/16; 2048/64; 4096/128; 4096/208 (существуют и значительно более сложные варианты организации данные/служебка). В служебных данных присутствую различные маркеры (маркер, номера блока в логическом банке; маркер ротации блока; ECC; и т.п.) Восстановление пользовательских данных сводится к устранению распараллеливания данных внутри блоков, между банков и между микросхемами памяти для получения цельных блоков. Если есть необходимость, то устраняются внутриблочные ротации, ренумерации и т.п. Дальнейшая задача, состоит в поблочной сборке. Для того чтобы ее осуществить необходимо четко уяснить количество логических банков, количество блоков в каждом логическом банке, количество используемых блоков в каждом банке (задействованы не все) местонахождение маркера в служебных данных, алгоритм нумерации. И только потом производить сбор блоков в конечный файл-образ из которого можно будет произвести чтение пользовательских данных. В процессе сбора подстерегают подводные камни в виде нескольких блоков-претендентов на одну позицию в конечный файл-образ. После решение данного круга задач, получаем файл-образ с пользовательской информацией.

В случаях, когда данные не играют никакой роли, но есть желание восстановить работоспособность самого накопителя, то лучшие вариант коррекции проблем со служебными данными – это выполнение процедуры форматирования фирменной утилитой с сайта производителя накопителя. Многие утилиты фактически переписывают всю служебную информацию, создают чистый транслятор, и выполняют процедуру форматирования с созданием новой файловой системы. Если же производитель не удосужился выложить Recovery-утилиту, тогда выход в виде поиска утилит форматирования накопителей на NAND Flash «по контроллеру», единственно, что покажется сложным пользователю – это обилие производителей контроллеров и сложности с идентификацией последнего.

Павел Янчарский

Перепечатка материалов разрешена только с указанием активной ссылки на оригинал статьи

Привет друзья! На днях один наш постоянный читатель задал хороший вопрос. Он спросил, к ак узнать, сколько ещё времени проработает его или к ак узнать рабочий ресурс его SSD. Также на прошлой неделе другими пользователями были заданы ещё вопросы на эту тему, например:

Какой тип флэш-памяти для SSD лучше: NAND, 3D NAND, 3D V-NAND и NOR ?

Как узнать, из каких чипов памяти состоит купленный SSD (SLC, MLC или TLC ) и какая память лучше?

Что такое - количество циклов перезаписи или TBW?

На все эти интересные вопросы мы ответим в сегодняшней статье.

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

Не побоюсь повториться и скажу, что в компьютере важно всё, в том числе и твердотельный накопитель. Перед его покупкой обязательно узнайте производительность и срок службы своего будущего SSD. Начинающему пользователю здесь легко запутаться, так как вместо срока службы SSD, в интернете все твердят о каком-то количестве циклов перезаписи . Объясню. Ц икл перезаписи, это перезапись всего объёма (всех ячеек) твердотельного диска, но контроллер равномерно перезаписывает ячейки. Для нашего удобства производители указывают (рассчитывают по формуле) не циклы перезаписи, а суммарный объем данных в терабайтах, который можно записать на накопитель . Называется такой объём - TBW (Total Bytes Written - Всего байт написано ). Ч ем больше объём диска, тем больше у него TBW. Зная TBW, вы можете точно рассчитать срок службы своего твердотельника. Лимит TBW может отличаться на разных SSD в разы!

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

Производительность и срок службы SSD зависят от двух слагаемых - типа чипов флеш-памяти NAND: (SLC, MLC, TLC) и контроллера с прошивкой. Именно от них напрямую зависит и цена накопителя.

В твердотельных накопителях существует два основных типа Flash-памяти: NOR и NAND . Технология NAND является более быстрой и она дешевле. Память NAND на сегодняшний день усовершенствовали. Появилась память 3D NAND и 3D V- NAND. Если брать рынок предлагаемых на данный момент на рынке SSD, то 5 процентов принадлежит 3D V-NAND, 15 процентов 3D NAND, остальные 80 процентов NAND. Д анные эти с погрешностью, но небольшой.

В свою очередь Flash-память: NAND может иметь три типа чипов памяти: SLC, MLC и TLC. На сегодняшний день в основном продаются SSD на основе флеш-памяти MLC и TLC. По TLC и MLC предлагаемых SSD на рынке 50 на 50. У памяти TLC лимит TBW меньше.

  1. SLC - Single Level Cell - является самой старой и быстрой из трех технологий. Имеет высокую производительность, низкое потребление электроэнергии, наибольшую скорость записи и большой лимит TBW (суммарный объем данных, который можно записать на накопитель). Стоимость твердотельника на основе чипов памяти SLC очень дорогая и с ней очень трудно найти современный SSD.
  2. MLC - Multi Level Cell – обладает меньшей стоимостью, меньшей скоростью работы и меньшим TBW .
  3. TLC - Three Level Cell – обладает ещё меньшей стоимостью, меньшей скоростью работы и меньшим TBW, по сравнению с чипами MLC . Память TLC всегда широко использовалась в обычных флешках, но с приходом новых технологий удалось использовать её и в твердотельных накопителях.

В какой программе можно увидеть тип памяти твердотельного накопителя: TLC и MLC

Показать тип памяти SSD сможет программа AIDA64, официальный сайт разработчика https://www.aida64.com/

В главном окне программы выбираем «Хранение данных»,

затем выбираем модель SSD, например у меня в системе установлено три SSD и я выберу первый - Samsung 850 Evo 250GB. Как видим, тип флеш-памяти накопителя TLC.

У второго накопителя Kingston SHSS37A/240G тип флеш-памяти MLC.

Как узнать ресурс твердотельного накопителя

Для примера узнаем ресурс Kingston SHSS37A/240G.

Переходим на официальный сайт изготовителя устройства https://www.hyperxgaming.com/ru

Выбираем «Твердотельные накопители» --> «Savage».

Ёмкость 240 Гб

и видим суммарный объем данных (TBW) , который можно записать на накопитель Kingston SHSS37A объёмом 240 Гб - 306 Тб.

Давайте сравним его с накопителем Samsung 850 Evo 250GB.

Переходим на официальный сайт изготовителя http://www.samsung.com/ru/ssd/all-ssd/

Отмечаем пункт - Накопитель SSD 850 Evo Sata III.

Ёмкость 240 Гб и жмём левой кнопкой мыши на изображение SSD.

«Показать все характеристики»

Видим в самом низу показатель. Ресурс записи: 75 Тб.

Получается, что у SSD Kingston SHSS37A/240G ресурс количества циклов перезаписи TBW больше в четыре раза.

Если у вас SSD-накопитель OCZ, то идём на сайт https://ocz.com/us/ssd/

Как узнать суммарный объем данных, который уже записан на твердотельный накопитель

Для этого воспользуемся программой CrystalDiskInfo.

В главном окне программы выберем мой SSD Samsung 850 Evo 250GB. В пункте «Всего хост-записей» видим объем записанных на накопитель данных 41,088 ТБ. Если сравнить эту цифру с указанным на официальном сайте Ресурсе записи: 75 Тб, то можно сделать вывод, что на SSD можно ещё записать 33 ТБ данных.

В случае с SSD Kingston SHSS37A/240G, программа CrystalDiskInfo не может показать суммарный объем записанных на накопитель данных.

В этом случае воспользуемся программой SSD - Z.

Официальный сайт разработчика http://aezay.dk/aezay/ssdz/

Скачиваем и запускаем программу.

В главном окне, в пункте «Bytes Written» видим объем записанных на накопитель данных 43,902 ТБ.

Если сравнить эту цифру с указанным на официальном сайте Ресурсе записи: 306 Тб, то можно сделать вывод, что на SSD можно ещё записать 262 ТБ данных.

CrystalDiskInfo начиная с версии 7_0_5 может работать с новыми дисками, использующими новейший новый протокол NVM Express (Toshiba OCZ RD400, Samsung 950 PRO, Samsung SM951). Предыдущая версия программы такие диски тупо не видела.