История
- Первый накопитель: IBM 350 Model 1, 14 сентября 1956.
- Накопитель вмещал 3.75 мебибайт данных
- Размеры: 172 сантиметра в высоту, 152 сантиметра в длину и 74 сантиметра в ширину.
- Внутри располагались 50 покрытых чистым железом тонких дисков диаметром 610 мм (24 дюйма).
- Среднее время поиска данных на диске занимало ~600 мс.
История
- В 1961 году представлен IBM 1301 вместимостью 18.75 мегабайт со считывающими головками на каждой пластине.
- В IBM 1311 появились съемные дисковые картриджи
- с 1970 года в IBM 3330 была внедрена система обнаружения и коррекции ошибок.
- Спустя три года появился IBM 3340 известный под названием «Winchester».
История
- Винчестер (от англ. Winchester rifle) — общее название для винтовок и ружей, производившихся Winchester Repeating Arms Company в США во второй половине XIX века. Это были одни из первых многозарядных ружей, получивших огромную популярность среди покупателей. Своим названием они были обязаны основателю компании — Оливеру Фишеру Винчестеру (Oliver Fisher Winchester).
- IBM 3340 состоял из двух шпинделей по 30 МиБ каждый, из-за чего инженеры называли этот диск «30-30». Это название напоминало о винтовке Winchester Model 1894 с патронами .30-30 Winchester, из-за чего Кеннет Хотон (Kenneth Haughton), руководящий разработкой IBM 3340, сказал «Если это 30-30, то это должен быть Винчестер» («If it's a 30-30, then it must be a Winchester.»). С тех пор «винчестером» называют не только винтовки, но и жесткие диски.
История
- Первый SSD-накопитель создан компанией Dataram в 1976 году.
- Накопитель Dataram BulkCore состоял из шасси с восьмью планками RAM-памяти объемом 256 КиБ каждая.
- В сравнении с первым жестким диском, BulkCore был крошечным: 50,8 см в длину, 48,26 см в ширину и 40 см в высоту.
- При этом время доступа к данным в этой модели составило всего 750 нс, что 30000 раз быстрее, чем у самого современного на тот момент HDD-диска.
История
- В 1978 году основана компания Shugart Technology, которая спустя год меняет свое название на Seagate Technology во избежание конфликтов с Shugart Associates.
- Через два года работы Seagate на свет появляется ST-506 — первый жесткий диск для персональных компьютеров в форм-факторе 5.25 дюйма и вместимостью 5 МиБ.
- 1978 год запомнился выпуском первого Enterprise SSD от компании StorageTek.
- StorageTek STC 4305 вмещал 45 МиБ данных.
- Этот SSD разрабатывался как замена IBM 2305, имел схожие размеры и стоил невероятные 400 000$.
История
- В 1982 году SSD приходит на рынок персональных компьютеров.
- Компания Axlon специально для Apple II разрабатывает SSD-диск на RAM-чипах под названием RAMDISK 320.
- Поскольку накопитель создавался на базе энергозависимой памяти, в комплекте поставлялся аккумулятор для поддержания сохранности информации.
- Емкости аккумулятора хватало на 3 часа автономной работы в случае потери электропитания.
История
- В 1980 году, инженер Toshiba, профессор Фудзио Масуока, зарегистрировал патент на новый вид памяти, названный Flash-памятью типа NOR.
- Разработка заняла 4 года.
- NOR-память представляет собой классическую 2D матрицу проводников, в которой на пересечении строк и столбцов установлено по одной ячейке (аналог памяти на магнитных сердечниках).
- Intel и Toshiba вели разработки в области Flash-накопителей
- в 1986 произошло два важных события. Во-первых, официально стандартизирован SCSI — набор соглашений для взаимодействия между компьютерами и периферийными устройствами.
- Во-вторых, разработан интерфейс AT Attachment (ATA), известный под брендовым названием Integrated Drive Electronics (IDE), благодаря которому контроллер диска переместился внутрь диска.
История
- Три года Фудзио Маусока трудился над улучшением технологии Flash-памяти и к 1987 году разработал NAND-память.
- NAND-память — та же самая NOR-память, организованная в трехмерный массив.
- Основным отличием стало то, что алгоритм доступа к каждой ячейке стал сложнее, площадь ячеек стала меньше, а общая емкость значительно увеличилась.
- Годом позже компания Intel разработала собственную Flash-память типа NOR, а компания Digipro сделала на ней накопитель под названием Flashdisk.
- Первая версия Flashdisk в максимальной комплектации вмещала 16 МиБ данных и стоила менее 500$
История
- В конце 80-х и начале 90-х производители жестких дисков соревновались в уменьшении размеров дисков.
- В 1989 компания PrairieTek выпускает диск PrairieTek 220 на 20 МиБ в форм-факторе 2.5 дюйма.
- Спустя два года Integral Peripherals создает диск Integral Peripherals 1820 «Mustang» с тем же объемом, но уже 1.8 дюйма.
- Годом позже Hewlett-Packard сократила размер диска до 1.3 дюйма.
История
- Компания Seagate хранила верность дискам в форм-факторе 3.5 дюйма и делала ставку на увеличение скорости вращения
- В 1992 выпустила свою знаменитую модель Barracuda, первый жесткий диск со скоростью вращения шпинделя 7200 оборотов в минуту.
- В 1996 диски линейки Seagate Cheetah достигли скорости вращения 10000 оборотов в минуту
- через четыре года модификация Х15 раскручивалась аж до 15000 оборотов в минуту.
- В 2000 году интерфейс ATA стал называться PATA.
- Виной тому стало появление интерфейса Serial ATA (SATA) с более компактными проводами, поддержкой «горячей замены» и повышенной скоростью передачи данных.
- Seagate и здесь взяла первенство, выпустив первый жесткий диск с таким интерфейсом в 2002.
История
- Производство Flash-памяти изначально было очень дорогим, но в начале 2000-х стоимость резко снизилась.
- Этим воспользовалась компания Transcend, в 2003 выпустившая SSD-диски объемом от 16 до 512 МиБ.
- Через три года к массовому производству подключились компании Samsung и SanDisk.
- В этом же году IBM продает свое дисковое подразделение компании Hitachi.
История
- Твердотельные накопители набирали обороты и возникла очевидная проблема: интерфейс SATA был медленнее, чем сами SSD-накопители
- Для решения этой проблемы рабочая группа NVM Express Workgroup начала разработку NVMe — спецификацию на протоколы доступа к SSD напрямую по шине PCIe, минуя «посредника» в виде SATA-контроллера.
- Это бы позволило получать доступ к данным со скоростью шины PCIe.
- Через два года первая версия спецификации была готова, а еще через год появился первый NVMe-накопитель.
Различия между современными SSD и HDD
- в SSD отсутствуют механические элементы, а информация хранится в ячейках памяти.
- Отсутствие подвижных элементов приводит к быстрому доступу к данным в любом участке памяти, однако, существует ограничение на количество циклов перезаписи.
- Из-за ограниченного количества циклов перезаписи каждой ячейки памяти возникает необходимость в механизме балансировки — выравнивании изношенности ячеек путем переноса данных между ячейками.
- Эту работу выполняет контроллер диска.
Различия между современными SSD и HDD
- Для проведения балансировки контроллеру SSD необходимо знать, какие ячейки заняты, а какие свободны.
- Запись данных в ячейку контроллер способен отследить сам, чего нельзя сказать об удалении.
- Как известно, операционные системы (ОС) не стирают данные с диска, когда пользователь удаляет файл, а помечают соответствующие участки памяти как свободные.
- Такое решение избавляет от необходимости ожидания дисковой операции при использовании HDD, но совершенно не подходит для работы SSD.
- Контроллер SSD-диска работает с байтами, а не с файловыми системами, и поэтому требует отдельного сообщения об удалении файла.
Различия между современными SSD и HDD
- Так появилась команда TRIM (англ. — подрезать), с помощью которой ОС уведомляет контроллер SSD-диска об освобождении определенной области памяти.
- Команда TRIM необратимо стирает данные с диска.
- Не все операционные системы знают о необходимости отправлять эту команду твердотельным накопителям, а аппаратные RAID-контроллеры в режиме дисковых массивов никогда не отправляют TRIM дискам.
Интерфейс
- Общение между процессором и периферийными устройствами происходит в соответствии с заранее определенными соглашениями, называемыми интерфейсами.
- Эти соглашения регламентируют физический и программный уровень взаимодействия.
- Интерфейс — совокупность средств, методов и правил взаимодействия между элементами системы.
- Физическая реализация интерфейса влияет на следующие параметры:
- пропускная способность канала связи;
- максимальное количество одновременно подключенных устройств;
- количество возникающих ошибок.
Параллельные и последовательные порты
- Дисковые интерфейсы построены на портах ввода-вывода, что является противоположностью вводу-выводу через память и не занимает место в адресном пространстве процессора.
- параллельный порт отправляет за раз машинное слово, состоящее из нескольких бит.
- Параллельный порт — самый простой способ обмена данными, так как не требует сложных схемотехнических решений.
- В самом простом случае каждый бит машинного слова отправляется по своей сигнальной линии, а для обратной связи используются две служебные сигнальные линии: Данные готовы и Данные приняты.
Параллельные и последовательные порты
- Параллельные порты, на первый взгляд, отлично масштабируются: больше сигнальных линий — больше бит передается за раз и, следовательно, выше пропускная способность.
- Тем не менее, из-за увеличения количества сигнальных линий между ними возникает интерференционное взаимодействие, приводящее к искажению передаваемых сообщений.
Параллельные и последовательные порты
- Последовательные порты — противоположность параллельным.
- Отправка данных происходит по одному биту за раз, что сокращает общее количество сигнальных линий, но усложняет контроллер ввода-вывода.
- Контроллер передатчика получает машинное слово за раз и должен передавать по одному биту, а контроллер приемника в свою очередь должен получать биты и сохранять в том же порядке.
- Малое количество сигнальных линий позволяет без помех увеличивать частоту передачи сообщения.
SCSI
- Small Computer Systems Interface (SCSI) появился в далеком 1978 году и был изначально разработан, чтобы объединять устройства различного профиля в единую систему.
- Спецификация SCSI-1 предусматривала подключение до 8 устройств (вместе с контроллером), таких как:
- сканеры;
- ленточные накопители (стримеры);
- оптические приводы;
- дисковые накопители и прочие устройства.
SCSI
SCSI
- В терминологии SCSI подключаемые устройства делятся на два типа:
- инициаторы;
- целевые устройства.
- Инициатор отправляет команду целевому устройству, которое затем отправляет ответ инициатору.
- Инициаторы и целевые устройства подключены к общей шине SCSI, пропускная способность которой в стандарте SCSI-1 составляет 5 МБ/с.
SCSI
- Используемая топология «общая шина» накладывает ряд ограничений:
- на концах шины необходимы специальные устройства — терминаторы;
- пропускная способность шины делится между всеми устройствами;
- максимальное количество одновременно подключенных устройств ограничено.
- Устройства на шине идентифицируются по уникальному номеру, называемому SCSI Target ID.
SCSI
ATA / PATA
- Интерфейс ATA (Advanced Technology Attachment), так же известный как PATA (Parallel ATA) был разработан компанией Western Digital в 1986 году.
- Маркетинговое название стандарта IDE (англ. Integrated Drive Electronics — «электроника, встроенная в привод») подчеркивало важное нововведение:
- контроллер привода был встроен в привод, а не на отдельной плате расширения.
- Решение разместить контроллер внутри привода решило сразу несколько проблем.
- Во-первых, уменьшилось расстояние от накопителя до контроллера, что положительным образом повлияло на характеристики накопителя.
- Во-вторых, встроенный контроллер был «заточен» только под определенный тип привода и, соответственно, был дешевле.
ATA
ATA
- ATA, как и SCSI, использует параллельный способ ввода-вывода, что отражается на используемых кабелях.
- Для подключения дисков с использованием интерфейса IDE необходимы 40-жильные кабели, также именуемые шлейфами.
- В более поздних спецификациях используются 80-жильные шлейфы: более половины из которых — заземления для уменьшения интерференции на высоких частотах.
- На шлейфе ATA присутствует от двух до четырех разъемов, один из которых подключается в материнскую плату, а остальные — в накопители.
- При подключении двух устройств одним шлейфом, одно из них должно быть сконфигурировано как Master, а второе — как Slave.
- Третье устройство может быть подключено исключительно в режиме «только чтение».
ATA
ATA
- Положение перемычки задает роль конкретного устройства.
- Термины Master и Slave по отношению к устройствам не совсем корректны, так как относительно контроллера все подключенные устройства — Slaves.
- Особенным нововведением в ATA-3 считается появление Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.).
- Пять компаний (IBM, Seagate, Quantum, Conner и Western Digital) объединили усилия и стандартизировали технологию оценки состояния накопителей.
- Поддержка твердотельных накопителей появилась с четвертой версии стандарта, выпущенной в 1998 году.
ATA
- Стандарт выдвигает жесткие требования к шлейфам ATA:
- шлейф обязательно должен быть плоским;
- максимальная длина шлейфа 18 дюймов (45.7 сантиметров).
- Короткий и широкий шлейф был неудобен и мешал охлаждению.
- Повышать частоту передачи с каждой следующей версией стандарта становилось все сложнее, и ATA-7 решил проблему радикально: параллельный интерфейс был заменен последовательным.
- После этого ATA приобрёл слово Parallel и стал называться PATA, а седьмая версия стандарта получила иное название — Serial ATA.
- Нумерация версий SATA началась с единицы.
SATA
SATA
- Стандарт Serial ATA (SATA) был представлен 7 января 2003 года и решал проблемы своего предшественника следующими изменениями:
- параллельный порт заменен последовательным;
- широкий 80-жильный шлейф заменен 7-жильным;
- топология «общая шина» заменена на подключение «точка-точка».
- Несмотря на то, что стандарт SATA 1.0 (SATA/150, 150 МБ/с) был незначительно быстрее, чем ATA-6 (UltraDMA/130, 130 МБ/с), переход к последовательному способу обмена данными был «подготовкой почвы» к повышению скоростей.
- Шестнадцать сигнальных линий для передачи данных в ATA были заменены на две витые пары: одна для передачи, вторая для приема.
- Коннекторы SATA спроектированы для большей устойчивости к множественным переподключениям, а спецификация SATA 1.0 сделала возможным «горячее подключение» (Hot Plug).
SATA
- Некоторые пины на дисках короче, чем все остальные.
- Это сделано для поддержки «горячей замены» (Hot Swap).
- В процессе замены устройство «теряет» и «находит» линии в заранее определенном порядке.
DDR-T
- Стандарты iSCSI и NVMe-oF решают задачу подключения удаленных дисков как локальные
- компания Intel пошла другой дорогой и максимально приблизила локальный диск к процессору.
- Выбор пал на DIMM-слоты, в которые подключается оперативная память.
- Максимальная пропускная способность канала DDR4 составляет 25 ГБ/с, что значительно превышает скорость шины PCIe.
- Так появился твердотельный накопитель Intel® Optane™ DC Persistent Memory.
- Для подключения накопителя в DIMM слоты был изобретен протокол DDR-T, физически и электрически совместимый с DDR4, но требующий специального контроллера, который видит разницу между планкой памяти и накопителем.
- Скорость доступа к накопителю меньше, чем к оперативной памяти, но больше, чем к NVMe.
- Протокол DDR-T доступен только с процессорами Intel® поколения Cascade Lake или новее.
«Классический» форм-фактор SSD
- Форм-фактор 2.5″ был предложен в 1988 году компанией PrairieTek и позже был закреплен в стандарте EIA/ECA-720.
- Такие накопители могут подключаться как по SATA, так и по PATA, хотя последние уже не очень распространены.
- Диски данного форм-фактора длиной 100 мм, шириной 69.85 мм и высотой от 5 до 19 мм.
- У 2.5″ есть и младший брат: форм-фактор 1.8 дюймов. Данный форм-фактор использует для подключения mSATA и был распространен в ноутбуках.
Форм фактор U.2
- U.2, так же известный как SFF-8639, был разработан в декабре 2011 года командой SSD Form Factor Working Group.
- Стандарт SFF-8639 разрабатывался в первую очередь для корпоративного сегмента с поддержкой PCIe-, SAS- и SATA-дисков.
- Внешне U.2 диски отличаются от 2.5″ другим коннектором и фиксированной высотой в 15 мм.
- На дисках в форм-факторе U.2 встречается рельефная нижняя стенка для улучшения теплоотвода.
- U.2 реализует три вида интерфейсов: SATA, SAS и PCIe.
- Однако, каждый разъём поддерживает только один из интерфейсов.
Форм фактор U.2
Форм фактор U.3
- 20 марта 2018 года организация Open Compute Project представила форм-фактор U.3, который решает существующую проблему U.2.
- Согласно спецификации, интерфейсы SAS, SATA и PCIe поддерживаются на всех пинах, а выбор интерфейса производится в автоматическом режиме в зависимости от предоставляемых диском интерфейсов.
- Накопители U.3 совместимы с системами, использующими U.2, но не наоборот.
Форм фактор U.2 vs U.3
Форм фактор M.2
- Этот форм-фактор так же известен как Next Generation Form Factor (NGFF).
- Первая версия стандарта M.2 была выпущена группой PCI Special Interest Group (PCI-SIG) в декабре 2013 года.
- Данный форм-фактор не ограничивается твердотельными накопителями: существуют Wi-Fi и Bluetooth-модули в таком исполнении.
- Несмотря на то, что M.2-устройство часто фиксируется винтом, интерфейсы M.2 поддерживают «горячую замену».
- Таким образом, замена на «горячую» возможна, если устройство и материнская плата поддерживают такую возможность.
Форм фактор M.2
- В сравнении с предыдущими форм-факторами M.2 предоставляет максимальную гибкость при проектирования устройства. Следующие характеристики устройства могут варьироваться:
- ширина
- длина
- высота
- вид ключа и поддерживаемые интерфейсы.
Форм фактор NF1
- В августе 2018 года Samsung представила форм-фактор NGSFF (Next Generation Small Form Factor), так же известный как M.3 или NF1.
- Форм-фактор от Samsung отличается от M.2 увеличенной шириной и отсутствием разнообразия в коннекторах.
- Длина NGSFF-диска составляет 110 миллиметров, а ширина — 30 миллиметров, что эквивалентно самой большой M.2-плате.
- NF1 использует коннекторы, идентичные коннекторам типа «M» форм-фактора M.2, тем не менее, M.2 и NF1 не совместимы между собой.
- PCI-SIG не одобряет использование разъема M.2 в данном форм-факторе, так как установка M.2 устройств в NF1 разъем может привести к повреждению устанавливаемого оборудования.
- Данный форм-фактор разработан для серверного сегмента: увеличенная ширина позволяет вместить до 36 накопителей в 1U сервер.
Форм фактор NF1
Особенности записи
- Контроллер современного накопителя — маленький компьютер, который принимает стандартизированные команды и выполняет соответствующие действия с подконтрольным ему хранилищем.
- При этом внутреннее устройство контроллера может быть любым.
- Хранилище твердотельного накопителя состоит из множества полевых транзисторов, соединенных друг с другом.
- При таком подходе чтение и запись выполняются страницами данных, размер которых обычно 4 КиБ.
- Таким образом, изменение одного бита на диске приводит к необходимости перезаписать всю страницу данных.
- Эта проблема называется усилением записи (Write Amplification).
Особенности записи
- Кроме того, твердотельные накопители не могут обновить данные в странице.
- Обновление страницы производится в четыре шага:
- Чтение данных из страницы в буфер.
- Изменение данных в странице.
- Очистка страницы данных.
- Запись обновленных данных из буфера.
Особенности записи
- Контроллер умеет записывать страницы данных, а стирать только блоки — последовательность страниц.
- Обычно блок состоит из 64 страниц данных.
- В поставленных условиях и при конечном ресурсе перезаписи ячеек накопителя контроллеру нужно проводить операции записи и стирания аккуратно.
Износостойкость
- Современные накопители построены на базе ячеек TLC, ресурс которых в разы меньше, чем у накопителей с ячейками SLC и MLC.
- Если какая-то программа в ОС будет постоянно перезаписывать маленький файл, а контроллер будет «наивно» обновлять одну страницу данных, то вскоре блок с этой страницей исчерпает ресурс.
- Исчерпание ресурса будет отображено в показателях накопителя, что неизбежно приведет к беспокойству системного администратора.
- Во избежание сильного износа единичных блоков накопителя применяются технологии выравнивания износа (Wear Leveling).
Износостойкость
- При этом обновление данных выполняется без очистки страницы накопителя и выглядит так:
- Чтение данных из страницы в буфер.
- Изменение данных в странице.
- Запись обновленных данных из буфера в «чистую» страницу.
- Старая страница помечается как «грязная».
- Очистка блока происходит после того, как все страницы отмечены «грязными».
- Возникает закономерный вопрос: как поведет себя накопитель, когда не останется «чистых» страниц и не будет блоков, готовых к очистке?
- Ответ прост: избыточность (over provisioning) и сборка мусора (garbage collection).
Балансировка износа
- В каком-то смысле производитель накопителей обманывает нас дважды.
- Первый раз использует десятичные приставки вместо двоичных: 480 ГБ — это 447 ГиБ.
- А второй раз, когда фактический объем накопителя больше, чем доступно пользователю.
- Часть объема зарезервирована производителем для внутренних нужд контроллера.
- Такой резерв называется запасной областью (spare).
- Таким образом, у контроллера всегда есть немного свободного пространства, которое может быть использовано для внутренних процессов.
- для контроллера резервируется от 7 до 28 % объема накопителя.
Балансировка износа
- Увеличение объема зарезервированной области уменьшает доступный объем, но чаще всего повышает производительность диска.
- Помимо балансирования износа, в контроллерах в фоновом режиме часто проходит процесс «сбора мусора» (garbage collection).
- В ходе него с нескольких блоков собираются актуальные страницы и помещаются в один блок.
- Затем исходные блоки очищаются, так как в них не осталось страниц с данным.
- Важно отметить, что сборщик мусора занимается перекладыванием данных в хранилище, чтобы было как можно больше чистых блоков.
- При этом он не может понять, что на файловой системе какой-то файл отмечен удаленным, так как контроллер накопителя не умеет работать в терминах файловых систем.
- Для решения этой проблемы в каждом из протоколов есть команда, позволяющая уведомить контроллер об удалении файла. Для NVMe — это deallocate, для SATA — TRIM, а для SCSI — unmap.
- Суть каждой их этих команд одинакова: пометить страницы с удаленным файлом как «грязные».