NAND-флеш
Содержание:
- Линейка накопителей Kingston A2000
- Деградация и восстановление производительности
- Типы флэш памяти, используемой в SSD для домашнего использования
- Как работает накопитель
- Реальные сценарии нагрузки
- Особенности применения
- NAND Flash Architecture
- Wear Leveling
- Bad Block Management
- Error Correction Codes (ECC)
- Применение
- История
- Смешанная нагрузка
- Производительность и нагрев
Линейка накопителей Kingston A2000
Упоминания о линейке накопителей Kingston A2000 впервые появились еще на январской CES 2019. На выставке производитель демонстрировал инженерный семпл или скорее концепт будущего устройства. Тогда компания не раскрывала всех технических деталей готовящихся SSD. Теперь уже понятно, что это не было случайностью. К моменту официального запуска показатели улучшились. Очевидно инженеры Kingston поэкспериментировали с различными платформами, пытаясь получить наиболее интересную связку с хорошим балансом характеристик и цены. Что же получилось в итоге?
Новая линейка включает три модели наиболее популярных емкостей – 250 ГБ, 500 ГБ и 1 ТБ. Накопители имеют классический формат M.2 2280 и используют для передачи данных интерфейс PCI Express 3.0 x4, поддерживая протокол NVMe 1.3.
250 ГБ | 500 ГБ | 1 ТБ | |
Модель | SA2000M8/250G | SA2000M8/500G | SA2000M8/1000G |
Контроллер | Silicom Motion SM2263NE | ||
Флеш-память | 96-слойная 3D TLC (Micron) | ||
Форм-фактор, интерфейс | M.2 2280, PCI Express 3.0 x4, NVMe 1.3 | ||
Последовательное чтение | 2000 МБ/c | 2200 МБ/c | 2200 МБ/c |
Последовательная запись | 1100 МБ/c | 2000 МБ/c | 2000 МБ/c |
Случайное чтение блоков 4К | 150 000 IOPS | 180 000 IOPS | 250 000 IOPS |
Случайная запись блоков 4К | 180 000 IOPS | 200 000 IOPS | 220 000 IOPS |
Гарантированный объем записи (TBW) | 150 ТБ | 350 ТБ | 600 ТБ |
Шифрование | XTS-AES-256, TCG Opal 2.0, IEEE 1667, eDrive | ||
Энергопотребление | 0,003 Вт (простой)/0,08 Вт (среднее)/1,7 Вт (макс. чтение)/4,5 Вт (макс. запись) | ||
Срок гарантии производителя | 5 лет |
Для Kingston A2000 используется аппаратная платформа на базе 4-канального контроллера SMI SM2263ENG в сочетании с 96-слойной памятью 3D TLC от Micron и дополнительным кеш-буфером. Для моделей объемом 500 ГБ и 1 ТБ заявлены трансферы в 2200 МБ/c на чтение и 2000 МБ/с на запись. Для стартового накопителя линейки – 2000/1100 МБ/c. Скорость работы с 4К-блоками также зависит от общей емкости устройства. Старшая модель объемом 1 ТБ может обеспечить до 250 000/220 000 IOPS на операциях чтения/записи. Для 500 ГБ заявлены 180 000/200 000 IOPS, а для версии на 250 ГБ – до 150 000/180 000 IOPS. Судя по показателям, очевидно что речь идет о скоростных SSD начального уровня. Характеристики скромнее, чем у топовых M.2-накопителей, но в своем классе Kingston A2000 предлагают вполне пристойную производительность.
Любопытно, что Kingston A2000 получили поддержку 256-битного аппаратного шифрования XTS-AES, а также позволяют использовать функции TCG Opal и IEEE 1667, а также eDrive Security. Зачастую эти опции не активируются производителями в этом классе SSD даже в тех случаях, когда это позволяет сделать платформа. По всей видимости, в Kingston решили сделать линейку универсальной, подходящей как для домашних систем, так и для корпоративной среды с повышенными требованиями в безопасности хранения данных.
Производитель предлагает для накопителей Kingston A2000 очень хорошие показатели гарантированной записи данных. Параметр TBW (Total Bytes Written) для модели на 250 ГБ составляет 150 ТБ, для 500 ГБ – 360 ТБ, а на старшую версию объемом 1 ТБ можно гарантированно записать до 600 ТБ данных. Новые многослойные чипы флеш-памяти позволяют увеличить ресурс перезаписи ячеек, давая возможность производителям повышать заявленный параметр TBW. Хорошо когда эти значения подкрепляются длительной гарантией производителя, позволяющей успокоить самых мнительных пользователей, беспокоящихся о надежности SSD. Модели серии Kingston A2000 предлагаются с 5-летней гарантией. Подобный термин сервисного обслуживания становится этаким «золотым стандартом» для устройстройств среднего и высокого уровней. Ну, или, как видим, даже для устройств начального уровня.
Деградация и восстановление производительности
Наблюдение за изменением скорости записи в зависимости от объёма записанной на диск информации — весьма важный эксперимент, позволяющий понять работу внутренних алгоритмов накопителя. В данном тесте мы загружаем SSD непрерывным потоком запросов на случайную запись 4-килобайтных блоков с очередью максимальной глубины и попутно следим за той производительностью, которая при этом наблюдается. На приведённом ниже графике в виде точек отмечены результаты измерений моментальной производительности, которые мы снимаем ежесекундно, а чёрная линия показывает среднюю скорость, наблюдаемую в течение 30-секундного интервала.
Вполне ожидаемая картина для накопителя с динамической технологией SLC-кеширования. Когда запись на ADATA Ultimate SU900 происходит в SLC-режиме, накопитель в полном соответствии со спецификациями обеспечивает производительность на уровне 77-80 тысяч IOPS. Когда же накопитель переходит к записи в MLC-режиме с одновременным уплотнением SLC-данных, скорость ожидаемо падает. Средние показатели быстродействия при мелкоблочной записи снижаются до 30-35 тысяч IOPS, а впоследствии даже ниже. Хорошее постоянство производительности наблюдается лишь в SLC-режиме, и это ещё одно подтверждение того, что режим двухбитовой записи носит в SU900 лишь вспомогательный характер.
Впрочем, никаким откровением это и не является. Подобный подход использовался в накопителях серии OCZ Vector 150/180 или, например, в Crucial MX200. И в целом никаких претензий из-за этого к ним не возникало. При этом масштаб падения производительности при исчерпании запаса чистых ячеек, которые можно записать в SLC-режиме, у этих накопителей был примерно такой же. А это значит, что к реализации динамического SLC-кеширования в ADATA Ultimate SU900 не стоит предъявлять никаких претензий – она вполне типичная.
Давайте посмотрим теперь, как у ADATA Ultimate SU900 работает сборка мусора. Для исследования этого вопроса после завершения предыдущего теста, приводящего к деградации скорости записи, мы выжидаем 15 минут, в течение которых SSD может попытаться самостоятельно восстановиться за счёт сборки мусора, но без помощи со стороны операционной системы и команды TRIM, и замеряем быстродействие. Затем на накопитель принудительно подаётся команда TRIM — и скорость измеряется ещё раз, что позволяет убедиться в способности SSD с помощью TRIM полностью восстанавливать свою паспортную производительность.
К обработке команды TRIM претензий никаких нет – после её получения накопитель освобождает неиспользуемые страницы флеш-памяти и возвращает себе первоначальный уровень производительности. А вот автономно, без помощи со стороны операционной системы, заранее готовить чистые станицы флеш-памяти он почти совсем не хочет. Иными словами, для работы в ситуациях, где TRIM не поддерживается или не эффективен, ADATA Ultimate SU900 подходит плохо. И в этом, кстати, динамическое кеширование хуже статического. Выделенный SLC-кеш фиксированного размера может быть освобождён независимо ни от чего сразу же по завершении операций записи. С динамическим кешированием это не проходит – его работа неразрывно связана с автономной сборкой мусора, а без неё на подготовку SLC-кеша к будущим операциям можно не рассчитывать.
Типы флэш памяти, используемой в SSD для домашнего использования
В SSD используется флэш-память, представляющая собой специальным образом организованные ячейки памяти на базе полупроводников, которые могут отличаться по типу.
В общих чертах флэш память, используемая в SSD может делиться на следующие типы.
- По принципу чтения-записи практически все имеющиеся в продаже потребительские SSD имеют тип NAND.
- По технологии хранения информации память разделяется на SLC (Single-level Cell) и MLC (Multi-level Cell). В первом случае ячейка может хранить один бит информации, во втором — более одного бита. При этом, в SSD для домашнего использования вы не встретите SLC память, только MLC.
В свою очередь, TLC тоже относится к типу MLC, отличие заключается в том, что вместо 2 бит информации может хранить 3 бита информации в ячейке памяти (вместо TLC вы можете встретить обозначение 3-bit MLC или MLC-3). То есть TLC является подвидом MLC памяти.
Как работает накопитель
Если сравнивать с чем-то жесткий диск SSD, можно привести способ работы винчестера. Он сначала вычисляет, где расположен нужный сектор с информацией, потом перемещает движущийся блок магнитных головок на дорожку. Словно охотник терпеливо ожидает(конечно, скорости высокие, но ожидание бывает заметным
),когда же нужный сектор попадет в место над магнитной головкой. Наконец, HDD считает и выдаст информацию. Чем больше хаотичных запросов (с разницей в секунду запросить файлы с секторы диска D, и тут же решить почитать системные данные с C
), тем медленнее работает «веник». Головки все время «мечутся» по областям диска, что замедляет работу.
А вот SSD для ноутбука работает по другому принципу: эта «недвижимость» просто вычисляет адрес нужного блока с информацией (он уникальный и распознаваемый), получает доступ напрямую для чтения или записи. Никаких движений частей накопителя относительно друг друга. Чем выше скорость flash-памяти, контроллера и внешнего интерфейса, тем быстрее данные окажутся на рабочем столе. Да и компьютер работает гораздо тише и раз в 10 быстрее. Все, вероятно, слышали раздражающий звук при напряженной работе компьютера, словно кто-то двигает камни в поисках нужной информации? Это и есть HDD, а так как у твердотельного устройства двигаться нечему, все происходит тихо, как у шпиона.
А вот если нужно поменять что-то в данных или совсем удалить их, SSD работает не так просто. Микросхемы NAND предназначены для выполнения операций строго по секторам. Память на флэш пишется блоками по 4 килобайта, а стирается по 512 килобайт.
Потому устройству приходится проделывать такую работу:
- Считывается тот блок, где содержится участок для модификации. Переносит его во внутренний буфер обмена;
- Изменяет требуемые байты, стирает блок в микросхеме памяти;
- Определяет новое положение блока (обязательно соответствие алгоритму перемешивания);
- Ура — блок пишется на новое место, и жесткий диск SSD отправляется «отдыхать».
- Преимущества и недостатки SSD накопителя
Естественно, что у подобных устройств имеются как плюсы, так и минусы. Начнем, конечно, с приятного:
- высокая скорость чтения блока данных, что не зависит от того, где он физически расположен. Это целых 200 Мб/с и более;
- невысокое энергопотребление, примерно на 1 Ватт ниже, чем у HDD;
- низкое тепловыделение, даже компания Интел это подтвердила. Исследования показали, что жесткий диск SSD нагревается на 12 градусов меньше, чем привычные. Еще бы, метания магнитны головок — довольно напряженное механическое действие;
- при бенчмаркинге выявлено, что твердотельный накопитель в 1 Гб памяти способен работать так же эффективно, не уступая моделям с HDD в 4 гигабайта;
- работают очень тихо, редко ломаются;
- при оптимизации прекрасно совмещаются с Windows XP / 7.
Минусы следующие:
- энергопотребление сильно возрастает с ростом объема накопителя, при записи целых блоков информации;
- невысокая емкость при высокой цене. Это если сравнивать с HDD;
- число циклов записи ограничено.
Как говорится, думайте сами, решайте сами, что лучше — hdd или ssd. Большинство устройств уже комплектуется твердотельными устройствами, потому разбирать их нежелательно. А вот иногда жесткий диск можно заменить
Вопрос, что именно важно: отсутствие шума, потребление энергии или скорость работу компьютера?
Реальные сценарии нагрузки
Тесты производительности при реальной нагрузке позволят нам делать выводы о том, насколько хорошо та или иная модель может справиться с ролью рабочего, системного или даже единственного диска в составе ПК, на котором устанавливаются рабочие программы.
Файловые операции внутри накопителя – именно те сценарии, в которых ADATA Ultimate SU900 удаётся блеснуть своей скоростью. Ничего удивительного: быстрая обработка операций линейного чтения и записи плюс отличная оптимизация контроллера под смешанную нагрузку делают своё дело.
Относительно неплохо Ultimate SU900 исполняет и роль первичного накопителя. До лидеров он, конечно, не дотягивает, но многие популярные предложения c MLC-памятью вроде Kingston HyperX Savage или Transcend SSD370 оказываются при запуске программ и игр медленнее рассматриваемой новинки. Иными словами, несмотря на то, что в синтетическом тестировании Ultimate SU900 демонстрирует не слишком воодушевляющие скорости произвольного чтения, в реальной жизни это проявляется не столь заметно.
Особенности применения
Стремление достичь предельных значений ёмкости для NAND-устройств привело к «стандартизации брака» — праву выпускать и продавать микросхемы с некоторым процентом бракованных ячеек и без гарантии непоявления новых «bad-блоков» в процессе эксплуатации. Чтобы минимизировать потери данных, каждая страница памяти снабжается небольшим дополнительным блоком, в котором записывается контрольная сумма, информация для восстановления при одиночных битовых ошибках, информация о сбойных элементах на этой странице и количестве записей на эту страницу.
Сложность алгоритмов чтения и допустимость наличия некоторого количества бракованных ячеек вынудили разработчиков оснастить NAND-микросхемы памяти специфическим командным интерфейсом. Это означает, что нужно сначала подать специальную команду переноса указанной страницы памяти в специальный буфер внутри микросхемы, дождаться окончания этой операции, считать буфер, проверить целостность данных и, при необходимости, попытаться восстановить их.
Слабое место флеш-памяти — количество циклов перезаписи в одной странице. Ситуация ухудшается также в связи с тем, что стандартные файловые системы — то есть стандартные системы управления файлами для широко распространённых файловых систем — часто записывают данные в одно и то же место. Часто обновляется корневой каталог файловой системы, так что первые секторы памяти израсходуют свой запас значительно раньше. Распределение нагрузки позволит существенно продлить срок работы памяти.
NAND-контроллеры
Для упрощения применения микросхем флеш-памяти NAND-типа они используются совместно со специальными микросхемами — NAND-контроллерами. Эти контроллеры должны выполнять всю черновую работу по обслуживанию NAND-памяти: преобразование интерфейсов и протоколов, виртуализация адресации (с целью обхода сбойных ячеек), проверка и восстановление данных при чтении, забота о разном размере блоков стирания и записи, забота о периодическом обновлении записанных блоков (есть и такое требование), равномерное распределение нагрузки на секторы при записи (Wear leveling).
Однако задача равномерного распределения износа не обязательна, поэтому в самых дешевых изделиях ради экономии могут устанавливаться наиболее простые контроллеры. Такие флеш-карты памяти и USB-брелоки быстро выйдут из строя при частой перезаписи или при использовании файловой системы, отличной от той, на которую рассчитан контроллер.[источник не указан 847 дней] При необходимости очень частой записи данных на флешки предпочтительно не изменять штатную файловую систему и использовать дорогие изделия с более износостойкой памятью (MLC вместо TLC, SLC вместо MLC) и качественными контроллерами.
На дорогие NAND-контроллеры также может возлагаться задача «ускорения» микросхем флеш-памяти путём распределения данных одного файла по нескольким микросхемам. Время записи и чтения файла при этом сильно уменьшается.
Специальные файловые системы
Зачастую во встраиваемых применениях флеш-память может подключаться к устройству напрямую — без контроллера. В этом случае задачи контроллера должен выполнять программный NAND-драйвер в операционной системе. Чтобы не выполнять избыточную работу по равномерному распределению записи по страницам, стараются эксплуатировать такие носители со : JFFS2 и YAFFS для Linux и др.
См. также: TRIM
NAND Flash Architecture
A NAND Flash array is organized in blocks with multiple pages per block. Each page consist of user data area and spare data area. The spare data area is physically the same as user data area and is typically used for error correction information (ECC), wear leveling and other software system functions. The user data area is available to the user for data storage. The size of the user data area depends on the page size and is typically of one or multiple sector size.
Wear Leveling
Due to its architecture, data can be written to an address on a NAND flash memory only a finite number of times. NAND flash memory wears out if data is written too often to the same address, so wear leveling is used to help prolong the life of the NAND flash device. It ensures that data erasures and writes are distributed evenly across the NAND Flash storage medium, so that NAND memory blocks don’t fail prematurely due to a high number of erase cycles.
Dynamic wear leveling addresses the issue of repeated writes to the same logical blocks by redirecting new writes to different physical blocks. Dynamic wear leveling works on data blocks that are being written to dynamically.
Static wear leveling addresses the issue of static data that is kept unchanged for a long time in content and location. Some static data can stay in the same data block until the NAND flash memory is broken. To evenly distribute write and erase cycles across NAND memory blocks, an algorithm is implemented to move the static data from one location to the other in the Flash.
The File System Component implements wear leveling for all kinds of NAND Flash devices (SLC, MLC, TLC).
Bad Block Management
It is normal for a NAND flash memory to contain bad or invalid blocks of memory. Invalid blocks are blocks that contain one or more invalid bits so that the reliability can no longer be guaranteed. Blocks can become invalid during erasing and programming at run-time or during the manufacturing process. Bad blocks generated during manufacturing process are marked bad by the manufacturer. Bad blocks detected at run-time are marked as bad by monitoring the status register in the NAND flash chip during an erase and program operation. A block that is marked as bad is skipped and no longer used.
The File System Component implements bad block management for all kinds of NAND Flash devices (SLC, MLC, TLC):
- Skip factory marked bad blocks
- Mark block as bad as soon as an erase operation fails on the block
- Replace/mode data from blocks marked as bad to good blocks
Error Correction Codes (ECC)
Error detection and correction codes are used in flash memory to protect data from corruption. All types of error correction codes add redundant information to the data being stored to the flash memory. The redundant information is calculated before the data is written, added to the spare area of the page and then stored in flash memory. When the data is read, the redundant information is recalculated and compared to those stored in the flash.
Error correction codes (ECC) used in the NAND flash memory are block codes. This means that the redundant data bits are calculated for a fixed size block of used data. NTFL is implementing a Hamming ECC algorithm which is able to correct 1-bit and detect 2-bit errors for a fixed size of one sector or 512 bytes for SLC NAND Flashes. The redundant information is calculated in a way that a balance of correction power and efficiency is achieved.
- Warning
- If you are using a NAND Flash device that requires higher than 1-bit correctability per 512 byte codeword, you need to disable the Software ECC in the FS_Config_NAND_n.h file, otherwise the File System will not function correctly. Hardware driver or on-chip ECC calculation must be provided in such case.
On-Chip ECC is supported on EZ NAND compliant devices. Various ECC layouts are supported by using flexible ECC codeword configuration.
ECC Configuration (Contiguous Layout)
ECC algorithms typically operate on smaller sections of the NAND physical page size. This section can be described as ECC virtual page, with its main and spare part. Typically main part consists of 512 bytes while spare part can be of different sizes (16, 28, 32, etc. bytes).
Amount of protected data is defined by codeword size, which is typically 512 bytes in main area and of various sizes in spare. Spare codeword may also not be aligned to start of spare area, but is located in spare with some offset. Spare codewords may also follow each other in arbitrary order, therefore codeword gap defines the gap between each codeword. It is similar with generated ECC data — its size, offset from start of spare and gap between each other may be arbitrary.
Применение
Существует два основных способа применения флеш-памяти: как мобильный носитель информации и как хранилище программного обеспечения («прошивки») цифровых устройств. Зачастую эти два применения совмещаются в одном устройстве.
При хранении во флеш-памяти возможно простое обновление прошивок устройств в процессе эксплуатации.
NOR
Применение NOR-флеши, устройства энергонезависимой памяти относительно небольшого объёма, требующие быстрого доступа по случайным адресам и с гарантией отсутствия сбойных элементов:
- Встраиваемая память программ однокристальных микроконтроллеров. Типовые объёмы — от 1 кбайта до 1 Мбайта.
- Стандартные микросхемы ПЗУ произвольного доступа для работы вместе с микропроцессором.
- Специализированные микросхемы начальной загрузки компьютеров (POST и BIOS), процессоров ЦОС и программируемой логики. Типовые объёмы — единицы и десятки мегабайт.
- Микросхемы хранения среднего размера данных, например, DataFlash. Обычно снабжаются интерфейсом SPI и упаковываются в миниатюрные корпуса. Типовые объёмы — от сотен кбайт до технологического максимума.
Максимальное значение объёмов микросхем NOR — до 256 Мбайт.
NAND
Флеш-карты разных типов (спичка для сравнения масштабов)
Там, где требуются рекордные объёмы памяти — NAND-флеш вне конкуренции. Чипы NAND показывали постоянное повышение объёмов, и на 2012 год NAND имел рекордные объёмы на 8-кристальную микросборку в 128 Гбайт (то есть объём каждого кристалла 16 Гбайт или 128 Гбит).
В первую очередь NAND флеш-память применяется во всевозможных мобильных носителях данных и устройствах, требующих для работы больших объёмов хранения. В основном, это USB-брелоки и карты памяти всех типов, а также мобильные устройства, такие, как телефоны, фотоаппараты, медиаплееры.
Флеш-память типа NAND позволила миниатюризировать и удешевить вычислительные платформы на базе стандартных операционных систем с развитым программным обеспечением. Их стали встраивать во множество бытовых приборов: сотовые телефоны и телевизоры, сетевые маршрутизаторы и точки доступа, медиаплееры и игровые приставки, фоторамки и навигаторы.
Высокая скорость чтения делает NAND-память привлекательной для кэширования винчестеров. При этом часто используемые данные операционная система хранит на относительно небольшом твердотельном устройстве, а данные общего назначения записывает на дисковый накопитель большого объёма. Также возможно объединение флеш-буфера на 4—8 ГБ и магнитного диска в едином устройстве, гибридном жёстком диске (SSHD, Solid-state hybrid drive).
Благодаря большой скорости, объёму и компактным размерам, NAND-память активно вытесняет из обращения носители других типов. Сначала исчезли дискеты и дисководы гибких магнитных дисков, снизилась популярность накопителей на магнитной ленте. Магнитные носители практически полностью вытеснены из мобильных и медиаприменений.
Стандартизация
- Низкоуровневые интерфейсы
Стандартизацией корпусов, интерфейсов, системы команд и вопросов идентификации чипов флеш-памяти типа NAND занимается Open NAND Flash Interface (ONFI). Первым стандартом стала спецификация ONFI версии 1.0, выпущенная 28 декабря 2006 года, за ней последовали ONFI V2.0, V2.1, V2.2, V2.3, V3.0 (2011). Группа ONFI поддерживается Intel, Micron Technology, Hynix, Numonyx.
Samsung и Toshiba разрабатывают свой, альтернативный ONFI, стандарт Toggle Mode DDR. Первая ревизия выпущена в 2009 году, вторая — в 2010..
- Высокоуровневые интерфейсы
Помимо стандартизации непосредственно микросхем памяти идет специфическая формализация доступа к долговременной памяти со стороны распространенных цифровых интерфейсов. Например, группа Non-Volatile Memory Host Controller Interface занимается вопросами стандартизации создания твердотельных дисков для интерфейса PCI Express.
Особняком стоят интегральные решения памяти и контроллера в виде микросхем, например, широко применяется встраиваемая -память, использующая электрический интерфейс, сходный с MMC но выполненная в виде микросхемы. Развитием этого интерфейса занимается JEDEC.
История
Предшественниками технологии флеш-памяти можно считать ультрафиолетово стираемые постоянные запоминающие устройства (EPROM) и электрически стираемые ПЗУ (EEPROM). Эти приборы также имели матрицу транзисторов с плавающим затвором, в которых инжекция электронов в плавающий затвор («запись») осуществлялась созданием большой напряжённости электрического поля в тонком диэлектрике. Однако площадь разводки компонентов в матрице резко увеличивалась, если требовалось создать поле обратной напряжённости для снятия электронов с плавающего затвора («стирания»). Поэтому и возникло два класса устройств: в одном случае жертвовали цепями стирания, получая память высокой плотности с однократной записью, а в другом случае делали полнофункциональное устройство с гораздо меньшей ёмкостью.
Соответственно усилия инженеров были направлены на решение проблемы плотности компоновки цепей стирания. Они увенчались успехом изобретением инженера компании Toshiba Фудзио Масуокой (яп. 舛岡富士雄) в 1984 году. Название «флеш» было придумано также в Toshiba — Сёдзи Ариидзуми, процесс стирания содержимого памяти которому напомнил фотовспышку (англ. flash). Масуока представил свою разработку в 1984 году на конференции IEEE International Electron Devices Meeting (IEDM), проходившей в Сан-Франциско.
В 1988 году Intel выпустила первый коммерческий флеш-чип NOR-типа.
NAND-тип флеш-памяти был анонсирован Toshiba в 1989 году на International Solid-State Circuits Conference.
Смешанная нагрузка
По мере удешевления твердотельные накопители перестают использоваться в качестве исключительно системных и становятся обычными рабочими дисками. В таких ситуациях на SSD поступает не только рафинированная нагрузка в виде записи или чтения, но и смешанные запросы, когда операции чтения и записи инициируются разными приложениями и должны обрабатываться одновременно. Однако работа в дуплексном режиме для современных контроллеров SSD остаётся существенной проблемой. При смешивании операций чтения и записи в одной очереди скорость большинства твердотельных накопителей потребительского уровня заметно проседает. Это стало поводом для проведения отдельного исследования, в рамках которого мы проверяем, как работают SSD при необходимости обработки как последовательных, так и случайных операций, поступающих вперемежку. На следующей паре диаграмм мы приводим среднюю производительность, которая посчитана по данным шести измерений с разным соотношением количества операций чтения и записи.
Контроллеры компании Silicon Motion традиционно оказываются особенно эффективными при работе с разнонаправленными операциями. А в SM2258 оптимизации такого рода, очевидно, были усилены. Вместе с высокой скоростью записи в 3D MLC NAND это даёт удивительный эффект в тестах смешанной нагрузки: ADATA Ultimate SU900 выступает в них как один из накопителей флагманского класса. В случае смешанной нагрузки последовательного характера новинка занимает первое место, а при случайной нагрузке она уступает лишь паре наиболее производительных SATA-накопителей, Samsung 850 PRO и 850 EVO.
Следующая пара графиков даёт более развёрнутую картину производительности при смешанной нагрузке, показывая зависимость скорости SSD от того, в каком соотношении приходят на него операции чтения и записи.
Хотя это и кажется удивительным, при смешанных операциях ADATA Ultimate SU900 оказывается принципиально лучше многих популярных SATA-накопителей. Дизайн 3D NAND разработки IMFT таков, что работа в дуплексном режиме для неё проблемой не является. Контроллеру SM2258 удаётся раскрыть эту особенность в полной мере, в результате чего Ultimate SU900 можно присваивать звание чуть ли не самого производительного SATA-решения для работы в многопоточном режиме с разнородными нагрузками.
Производительность и нагрев
Тестирование производительности накопителя начинаем с замеров линейных трансферов, используя для этих целей возможности утилиты AIDA64.
Скорость последовательного однопоточного чтения регистрируется на уровне 2000 МБ/c. График представляет собой практически ровную линию.
Результаты проверки скорости последовательной непрерывной записи требуют дополнительных разъяснений. Первые примерно 70 ГБ (~15% всего объема) сохраняются со скоростью около 1800 МБ/c. На этом участке очевидно работает динамическое SLC-кеширование. После того, как поток данных выходит за пределы обозначенного объема, скорость записи снижается примерно до 550 МБ/c – это производительность записи непосредственно на микросхемы 3D TLC. Как видно на графике, в течение дальнейшей записи порядка 50% общего объема, накопитель периодически пытается восстановить скорость до первоначальных максимальных значений. После непрерывного сохранения порядка 300 ГБ можно наблюдать дополнительное снижение скорости записи. Здесь можно было бы предположить, что речь идет о перегреве контроллера и попытках снизить его температуру, но нет. При повторном тесте с дополнительным обдувом накопителя мы получаем практически идентичный график. К тому же, нечто подобное мы уже наблюдали во время теста Kingston KC2000. Спишем это на особенность прошивки, с которой можно столкнуться лишь при очень больших объемах последовательной записи.
Тест AIDA64 со случайной записью демонстрирует поведение накопителя в тех случаях, когда устройство успевает очистить SLC-буфер. При типичной модели использования накопителя ситуация будет схожей.
Затяжные сессий записи, во время которых основательно прогревается контроллер SSD – удачный момент для проверки температурных режимов работы накопителя. При длительной нагрузке, согласно показаний утилиты Crystal Disk Info, устройство прогревалось до 58С. При этом на экранчике бесконтактного пирометра можно было наблюдать цифры до 63С. Значения вполне приемлемые, речь о перегреве не идет даже без дополнительного охлаждения. Наряду с односторонней компоновкой, это еще одна причина по которой Kingston A2000 вполне подходит в том числе для ультра-компактных ноутбуков.
При отсутствии нагрузки, температура SSD быстро снижается. В режиме покоя без дополнительного обдува или пассивного охладителя контроллер прогревался до 33–35С.
Полученные результаты в наборе тестовых приложений в целом подтверждают заявленные производителем показатели. Crystal Disk Mark регистрирует максимальные 2280 МБ/c при чтении и 2065 МБ/c при записи данных с очередью Q32. Здесь также попутно отметим приличные показатели работы с 4К-блоками – 71/211 МБ/c при Q1T1.
AS SSD Benchmark обещает чуть меньшие показатели, в то же время сигнализируя, что пиковая производительность работы с 4К в многопоточном режиме может достигать 188 000/279 000 IOPS. Впрочем, учитывая условия, это скорее теоретические значения. Общий результат в 3000 баллов позволяет отнести накопитель к моделям среднего уровня, это уже совсем не базовый накопитель M.2 PCI-E.
Это же можно сказать и по результатам теста с помощью Anvil’s Storage Utilities, где новая модель Kingston A2000 набрала почти 12 300 баллов. Из любопытного здесь отметим, что накопитель на 4К-блоках показал порядка 250 000 IOPS уже при очереди QD16.
По результатам затяжного теста накопителей из пакета PCMark 8, который генерирует реалистичную нагрузку, можно говорить о хорошей оптимизации прошивки SSD для типичной повседневной работы с офисными приложениями.
Итоговая пропускная способность в 543 МБ/c – это почти на треть больше, чем у популярной модели линейки A1000. Подобные результаты здесь показывал WD Black SN750 500 ГБ.
В некоторых приложениях новинка даже приближается к показателям априори более производительно Kingston KC2000, но на определенных этапах все же разница в классе хорошо видна на диаграммах. В целом здесь фактически никаких претензий к Kingston A2000 500 ГБ, можно лишь повториться, отметив хорошую оптимизацию для потребительских задач.
Отдельно отметим наглядную разницу в производительности при сравнении с SATA-накопителем. Даже лучшие представители этого класса не могут предложить близкие показатели из-за общих ограничений интерфейса и протокола передачи данных. Если нужен производительный SSD, то выбирать определенно стоит из M.2 PCI-E-моделей, причем вовсе не обязательно сильно переплачивать.