27

так что базовая технология с SSD, eMMC, SD, USB Flash и т. д. является ли NAND flash правильным? Так есть ли разница между ними в том, как реализованы контроллеры? Или все технологии разные?

Из того, что я знаю, я думаю, что SSD предназначены для настольных ПК, а eMMC - для мобильных устройств, но есть ли какая-то сложная разница между всеми этими технологиями хранения?

3 ответа3

30

NAND - необработанная флэш-память

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

SD - "Secure Digital"

Это формат карты памяти. SD-карты содержат крошечный микроконтроллер и NAND. Микроконтроллер реализует FTL (уровень трансляции флэш-памяти), который получает доступ к диску в виде дисков и преобразует его в значимые операции NAND, а также выполняет выравнивание износа и резервирование блоков. SD-карты используют протокол SPI на стороне "хоста". Считыватели карт USB SD преобразуют команды USB-накопителей в команды SPI SD.

eMMC - встроенная MMC

Это в основном относится к тому, что вы можете представить как SD-карту, встроенную в материнскую плату (стандарты SD и MMC очень похожи - достаточно того, что устройства чтения SD-карт обычно могут считывать карты MMC) - обычно запаяны и не удаляются. Обычно он подключается к остальной части оборудования через внутреннюю шину SPI. Сотовые телефоны и оборудование ARM, а также другие устройства встроенного типа (например, маршрутизаторы) могут иметь это. ОБНОВЛЕНИЕ: Некоторые новые недорогие нетбуки с ОС Windows тоже начинают их иметь. Карты SD и eMMC работают медленнее, чем твердотельные накопители, поскольку шина SPI не такая быстрая, как шина SATA.

SSD - "Твердотельный накопитель"

Контроллер + связка NAND, помещенная в корпус жесткого диска. Контроллер реализует FTL (уровень трансляции флэш-памяти), который получает доступ к диску в виде дисков и преобразует его в значимые операции NAND, а также выполняет выравнивание износа и резервирование блоков. Некоторые типы контроллеров, такие как "Sandforce" и т.д., Хорошо известны. Твердотельные накопители используют протокол SATA и разъем на стороне "хоста".


Если вы находитесь в ситуации, когда вы имеете дело с необработанным NAND, таким как Guruplug, вы несете ответственность за выравнивание износа и защиту блока. Файловые системы Linux, такие как jffs2 и тому подобное, делают это, но не нужны, когда FTL работает так же, как на большинстве SD-карт, USB-карт и т.д.

15

NAND обозначает N- образное AND. Это часто относится к тому, как логические элементы строятся из кремния.

Флэш-память также построена из кремниевых чипов и использует вентили NAND. Это приводит к термину NAND flash. Я подозреваю, что это NAND, на который вы ссылаетесь, но для полноты картины я хотел бы упомянуть фон.

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

Например, вы можете установить флеш-чип NAND на печатную плату, добавить микросхему контроллера и немного логики USB, и вы получите USB-накопитель. Или вы можете добавить контроллер SD и поместить его в этот формат, и вы получите SD-карту.

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

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

Разница между ними заключается только в способе реализации контроллеров?

Для SD/USB pendive: в основном то же самое, только с другим интерфейсом.
Для твердотельных накопителей: совершенно разные контроллеры.

Или все технологии разные?

Существует несколько способов реализации хранилища nand. Основные реализованные различия, похоже, сводятся к:

  • Отдельные клетки , в которых можно хранить высокое напряжение или низкое один (SLC, или уровень Ingle S). В основном либо «включено», либо «выключено», либо «1» или «0».
  • чипы, которые позволяют несколько уровней мощности. (выключено, слегка заряжено, в основном заряжено, полностью заряжено. Сравните это с передачей сигналов со стерео. SLC будет включать или выключать музыку. MLC будет выключен, тихая музыка, громкая музыка и режим без глухоты).

Это оставляет eMMC.

Я никогда не слышал об этом раньше, но согласно Википедии это стандарт флэш-памяти.

0

Обратите внимание, что это все энергонезависимая память, которая сохраняет данные без питания:

  • Flash - Носитель энергонезависимой памяти.

  • NAND - Тип микросхемы флэш-памяти.

  • SSD - содержит несколько чипов NAND.

Просто чтобы отличить Flash от RAM (произвольного доступа) типа:

  • SDRAM / DDR - микросхемы энергозависимой памяти, где данные теряются при потере питания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .