Привет, Гиктаймс! До тех пор, пока твердотельные накопители не перещеголяют HDD по соотношению цены и ёмкости, покупатели будут продолжать кивать на жёсткие диски и рассказывать, что «вон там точно такие же диски раздают намного дешевле». Поэтому, во имя великой борьбы с увеличивающейся энтропией и просто ликбеза ради необходимо поговорить о конструктивных особенностях SSD.


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

С твердотельными накопителями же ситуация обстоит проще и сложнее одновременно. Их даже прежними «мерялками» не измерить. Раньше производительность жёстких дисков можно было определять «на глазок» по скорости вращения шпинделя (любой пионер знает, что 7200 об/мин при прочих равных круче, чем 5400 об/мин) и объёму кэш-памяти. Но «патефонный» принцип считывания информации уходит в историю, а на его место пришла разномастная флэш-память, толпа производителей контроллеров, причём каждый со своим модельным рядом, и всё это при всё том же буфере памяти да с новыми аббревиатурами IOPS, TBW, DWPD и прочих неведомых словах.
А ведь всё это — даже не маркетинговые термины-пустышки, а важная информация, которая поможет выбрать SSD, предугадать его срок службы и даже заранее предсказать скорость новейших моделей. Сегодня мы разберёмся, что контролируют контроллеры и зачем им нужен кэш, в чём измеряется надёжность SSD и о чём на самом деле сообщают стандартные аббревиатуры.

Контроллер — «заведующий» флэш-памятью в SSD


Никто не любит лишнюю бюрократию, особенно в компьютерных комплектующих, но с момента своего изобретения накопителям был жизненно важен правильный режим работы. Такую миссию можно было бы возложить и на «мозги», то есть, операционную систему ПК, но несовместимости и конфликты ПО всех достали ещё с незапамятных времён, поэтому жёсткие диски общаются с компьютером посредством интегральной схемы, а на печатной плате SSD зиждятся контроллер и работник его балда — кэш.
Схема работы твердотельного накопителя сходна с типовой возней в сетевом супермаркете. Контроллер — это такой завхоз… ой, простите, администратор магазина. Руководит приемом товаров (файлов), распределяет их складу (запись в ячейки в флэш-памяти), командует грузчиками, когда нужно пополнить торговый зал (чтение из ячеек памяти) или требует перенести товары на витрины с молочными продуктами на место бытовой химии (функция TRIM).


Накопитель Kingston SSDNow V300 — спасибо товарищу SandForce за наш счастливый апгрейд!

Контроллеры остаются скромными трудягами без своей героической летописи: ну вот не получится так просто взять и расписать их поступательную эволюцию. Если копать совсем уж глубоко, микросхемы такого типа восходят корнями к старенькому Intel 8051 и представляют собой не больно интеллектуальный, но достаточно быстрый и надёжный «мозговой центр» накопителя. Состоит он из процессора с ядрами ARM/RISC, в повседневной работе находит и исправляет ошибки памяти, оперирует данными из буфера (кэша), контролирует передачу данных на интерфейсы SATA/PCIe, шифрует файлы, когда это требуется, да ещё умно «размазывает» данные по NAND, чтобы ячейки изнашивались равномерно и накопитель прослужил дольше. А курирует все эти хлопотные занятия микропрограмма (firmware), известная в народе как «прошивка».
Сегодня в массовых SSD контроллеры используют строго параллельное подключение к памяти. Потому что один-единственный грузчик Вася не будет успевать выполнять задачи администратора так быстро, как от него требуется. Другое дело, что с распределением обязанностей между коллективом грузчиков работа завертится в должном темпе. Теперь вы понимаете преимущества многоканального подключения NAND для операций при большой глубине очереди.
Производителей контроллеров сегодня немало (SandForce, Phison, Marvell, Indilinx, LAMD, MDX, Intel, Silicon Motion), но отличаются между собой далеко не кардинальным образом. Разница обнаруживается на уровне бизнес-подхода. К примеру, SandForce и Phison отпускают производителям SSD контроллеры «под ключ» — с прошивкой и софтом для обслуживания. Остальные производители продают контроллеры дешевле, но при большей доле самообслуживания производителями. Или же не продают их вообще и оставляют для своих продуктов — так поступают, к примеру, Intel и Samsung.
За годы широкого использования SSD на свет появились поистине «меметичные» модели контроллеров. Одним из таких представителей считается SandForce SF-2281 — суперзвезда индустрии SSD, которая, как и многие наши кумиры, не сподобилась вовремя уйти и стать классикой. Несколько лет тому назад, когда эта модель отправилась в серию, производители SSD расхватывали её огромными тиражами. Всё потому, что помимо пресловутого «сервиса с человеческим лицом» LSI SandForce включил в свой контроллер очень интересную фичу — сжатие данных.


Контроллер SandForce SF-2281 обходился без отдельной кэш-памяти, а вот современные Phison с ней взаимодействуют обязательно

В отличие от жёстких дисков, где местоположение файлов в памяти зависит от файловой системы, в SSD файлы складируются блоками туда, по наитию контроллера. И в этом нет ничего зазорного — хорошее вино не становится хуже, если его наливают не из такой сказочно красивой бочки, как в рекламном буклете. Но, если для последовательных операций распределение файлов уже выполнено оптимальным образом, то перемещение/копирование пачки мелких файлов — работа хлопотная (огромное количество однотипных операций) и трудозатратная. Учитывая, что наиболее мелкие файлы в рутине операционной системе или являются часть программ, или представляют собой документы, LSI научила контроллеры SF-2281 сжимать такие файлы и за счёт этого неплохо повышать скорость работы.
Кроме того, 2281-й был уникален по причине отсутствия отдельной кэш-памяти на повседневные нужды — все операции выполнялись в рамках служебной памяти контроллера. По соотношению цены/производительности и долговечности такие накопители «рулили» долго, но сегодня к такой модели сформировалось отношение, как к Windows XP (в смысле, что хорошие были времена, но кто прошлое помянет…), поэтому все новые накопители Kingston постепенно переехали на аппаратную платформу Phison. Производительность на базе таких моделей варьируется в зависимости от класса накопителя, но 8-канальные четырёхъядерные чипы «едут» вполне в духе времени, способны распознавать «пустопорожние» (с большим количеством пустых блоков, иначе говоря, нулей) данных и работать с ними быстрее, а главное — не допускают деградации скорости накопителя и работают надёжно.


Блок-схема 4-ядерного контроллера Phison PS3110-S10 в новых накопителях Kingston

Такие качества нашей компании всегда импонировали, тем более, что все мы наблюдали за накопителем от известного производителя смартфонов, в котором из-за ленивой «сборки мусора» скорость работы проседала до анекдотичных величин. Впрочем, в нашей топ-модели HyperX Predator используется контроллер Marvell 88SS9293 — во флагманских накопителях возможность «слепить под себя» прошивку дорогого стоит.

Чем занят буфер памяти (кэш)




Без буфера памяти сегодня не обходятся даже скромные по объёму SSD

Верный подмастерье и помощник контроллера. Не увеличивает скорость работы накопителя сам по себе, но помогает в рутинных задачах. Например, как только операционная система даёт команду стереть/изменить файлы на накопителе, внутри SSD начинается следующее трюкачество:
1. Блок, который нужно изменить, отправляется в кэш-память и там видеоизменяется, как и просила «операционка»;
2. Исходные данные в микросхеме NAND отправляются на удаление, контроллер приглядывает данным из буфера новое местоположение исходя из износа ячеек;
3. Кэш переписывает модифицированные данные на новое место.
В этот же самый кэш время от времени кочуют таблицы со служебной информацией о состоянии NAND и ячейках, которые износились окончательно. В общем, задачи «подай-принеси» и «дай старшему на блок-схему взглянуть» этот компонент SSD выполняет исправно.

Ехал IOPS через TBW, видит — DWPD


Когда новый SSD только попадает на рынок, составить впечатление о его скорости и надёжности до выхода тематических обзоров получается не всегда. Раньше (а кто-то и до сих пор) компании боролись с дефицитом информации эпитетами «невероятный, потрясающий, беспрецедентно технологичный накопитель для взыскательных покупателей», но вешать лапшу на уши гикам сегодня чревато, поэтому на помощь приходят сухие цифры и конкретные термины.
IOPS (input/output operations per second) или «количество операций ввода/вывода в секунду» — количество блоков, которые успевают считаться или записаться за сами видите какой промежуток времени. Вычисляются IOPS элементарно: делим скорость считывания на размер блока. Если файл объёмом 10 Кбайт считывается со скоростью 1000 Кбайт/с, значит производительность накопителя в этом конкретном режиме работы равна 100 IOPS.


Iometer — уже немолодая, но проверенная временем утилита для замера IOPS

Во избежание разногласий такие показания сегодня принято снимать с помощью программы Iometer, а современные накопители Kingston, для справки, выжимают (чтение/запись файлов весом 4 Кбайт) порядка 95000/26000 IOPS в случае с недорогими моделями и 160000/130000 в случае с флагманским HyperX Predator.
Понятное дело, что крупными блоками данных SSD оперирует значительно быстрее, чем мелкими, поэтому производители указывают максимально возможное количество IOPS для случайных и последовательных операций. Относиться к таким данным следует так же, как к пометкам «до 100500 Мбит/с на вашем безлимитном тарифе!» у интернет-провайдеров, но за неимением точных результатов тестов и такая информация об SSD будет полезной.
TBW (Total Bytes Written) — объём данных, который можно записать на SSD, прежде чем он испустит дух. Чем больше цифра (а сегодня такой показатель указывают аж в петабайтах) — тем надёжнее накопитель и, как правило, выше гарантийный срок. Воодушевляющие цифры греют душу, но нужно помнить, что в реальности накопитель износится раньше — слишком многое зависит от количества незанятого места, на котором контроллер будет вести свою бурную деятельность и воевать с износом ячеек. Кстати, приглашаем всех взглянуть, как ведут себя наши накопители при работе «на убой».
DWPD (Drive Write Per Day) — забавный измеритель, который показывает, сколько раз в день можно полностью перезаписывать накопитель начиная с первого и заканчивая последним днём гарантии. Словом, вычисление подобно подсчёту образа жизни по горячо любимым нами социальным квотам, где выход за N-киловатт электричества означает «ты попал, парень, плати по двойному/тройному/ещё какому-нибудь тарифу». Вот и покупатель комплектующих волен прикинуть, сколько гигабайт он гоняет по накопителю в день, а затем оценить, выработает ли его SSD свой ресурс до окончания гарантийного обслуживания.

Главное — не размер, а умение пользоваться


Мы намеренно не останавливались на провоцирующих зевоту частностях. Потому что цифры чуть выше средних по рынку/неуспехи многих накопителей носили локальный характер и по прошествии лет уже не впечатляют. И «пришивать к делу» результаты тестирования отдельных моделей мы также не станем — смаковать нюансы обработки команд и сборки мусора отдельными контроллерами нам ещё доведётся в топиках, посвященных тестированию. Словом, после того, как мы сегодня разобрались с типичной конструкцией современных SSD, самое время вникнуть в уникальные новшества таких накопителей. Об этом и поговорим в ближайшем будущем.


Спасибо за внимание и оставайтесь с Kingston на Гиктаймс!

Для получения дополнительной информации о продукции Kingston и HyperX обращайтесь на официальный сайт компании. В выборе своего комплекта HyperX поможет страничка с наглядным пособием.



Наши предыдущие посты:

Комментарии (74)


  1. vblats
    26.03.2016 19:48
    +1

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

    Впрочем о чем это я? Маркетинг же. Клиента надо заставить вернуться в магазин Kingston'а с сотней баксов, а не на рынок за микрухой Micron за бакс :)


    1. Oxyd
      27.03.2016 02:10
      +2

      Почему-то сразу вспомнилось вот это поделие сумрачного гения Дядюшки Ляо.

      Вот ему такого функционала точно не хватает. :-)


      1. Sleepwalker_ua
        27.03.2016 03:00

        Кстати, у меня похожая платка (только на 2 флешки и без всяких раидов, ну и размером очень скромная — по ширине разъема и длиной сантиметров 5,5-6 всего) лежит дома, досталась в довесок к нетбуку б\у шному. Довольно неплохое решение, когда нужен небольшой объем памяти, низкое энергопотребление и невысокая цена. В ней стояло две microSD флешки через адаптеры на SD, одна на 8гб, вторая на 4, в системе виделось в итоге десять с хвостиком. Хватало для урезанной винды, браузера и пары офисных программ, и еще в запасе было с гиг.
        Скорость, конечно, так себе — бук из гибернации выходил около минуты и над крупными файлами задумывался (флешки были самые дешевые, класс4 от дяди Ляо). Но зато на батарее жил ~6 часов, а когда поставил в него жестак — стал жить около 4-4,5.
        Но адаптер переваривал флешки до 32Гб и показывал довольно неплохую скорость на хороших флешках трансенда (тест на компе через кардридер давал 28мбит чтение, на адаптере 24,5 мбит, запись 22 и 22 соответственно), я свою с фотоаппарата ставил для проверки. Теперь подумываю встроить нетбук в автомобиль и поставить ему пару флешек на 32Гб недорогих в качестве хранилища и системного диска + одна флешка через кардридер. Предвосхищая вопросы — с кардридера грузиться не умеет. а через USB скорость низкая, порядка 10-12мбит даже на USB3.0 флешках дорогих, которые выдают по 50-100мбит.


        1. Sleepwalker_ua
          27.03.2016 03:16

          Ради интереса пробил цены на Али — 28 долларов за адаптер из видеообзора выше. Если к нему докупить 10х32 class 10 карт памяти от трансенд, например (они стоят в рознице порядка 9 долларов) и обеспечивают скорость чтения до 60 мбит\сек и примерн остолько же на запись — получится не слишком-то быстрый SSD на 320Гб (по факту где-то 290) и ценником в ~110 долларов. Примерно столько же стоит фирменный SSD на 250гб, только вот там модули заменять нельзя… )
          Хотя непонятно, конечно. как быть с равномерностью записи данных и надежностью самих флешек.
          p.s. если брать карты на 64Гб, то картинка будет примерно такой же в плане финансов — флешек примерно на 160 долларов + 30 у.е. адаптер, в итоге 190 баксов за 580 Гб информации. SSDшки такого объема стоят сопоставимо, около 150-250 у.е. за диск на 480-512гб, домашне-офисный сегмент.


  1. 12sunflowers
    27.03.2016 10:20

    А как на счет надежности ССД? Внезапная смерь, число число циклов перезаписи. На сколько ССД надежнее\не надежнее ХДД?


  1. dimka_lubimka
    27.03.2016 10:20


  1. 0x131315
    27.03.2016 10:20

    Хм. А почему до сих пор никто не запилил soft-ssd? Сама архитектура на это намекает.
    Кэш в ОС, контроллер — драйвер, на плате в идеале остается только массив памяти.
    Не вся память умеет работать с serial-шинами, потребуется дешевый хаб, на который вешается память.
    Цена и сложность резко падает, надежность и универсальность растет: это просто кусок памяти, блочное устройство, его можно представить как полноценный диск, как часть другого диска, и вообще как угодно, хоть подключить к soft-raid.
    Распределение записи — по случайному закону с равномерным распределением, гарантируется равномерный и одинаковый износ, и не нужна хранимая статистика. Пропадают статические данные — все ячейки перезаписываются, статичные данные мигрируют по массиву по мере записи. Исчезает проблема с недостатком места, с неравномерным износом части массива — работает весь массив. Двойная запись дешевле неравномерного износа.
    Счетчик жизни не нужен — драйвер сканирует новые массивы, формируя лист бэдов для себя, который со временем и пополняет. Для целей перепродажи — отдельную eeprom, куда скидывать выработку ресурса, запрещая отматывать назад.
    Служебные сектора превращаются в служебные файлы, записываемые стандартным образом, на любой диск.
    Преобразование адресов — на фс. На фс же гарантия персистентности данных — журналы в фс. Корректность записи микробуфера контроллера гарантирует конденсатор на планке.
    Драйвер общий, несколько планок воспринимает как один большой массив памяти — можно прозрачно обьединять массивы.
    Восстановление при повреждении контроллера — простая перепайка, контроллер простейший, ничего не хранит.
    В итоге приходим к архитектуре RAM — просто планки памяти фиксированного размера, не содержащие ничего лишнего. Пользователь сам набирает нужный обьем энергонезависимой памяти, сам его бьет на разделы, сам организует удобную дисковую архитектуру любой конфигурации, и все это — программно, без каких-либо железных ограничений.
    Может однажды на материнках под такие модули появятся отдельные слоты, либо их можно будет пихать в слоты оперативки. Ну а пока ничего лучше PCIex под рукой нет.


    1. Foolleren
      27.03.2016 13:24

      первая же ошибка чтения докажет всю несостоятельность такого подхода,


      1. 0x131315
        27.03.2016 16:52

        Каким образом?


        1. Foolleren
          27.03.2016 17:13

          во первых понадобится гонять результат АЦП по шине к процессору(объём передаваемых данных уже на этом этапе перевышает объём считываемых данных, где будет вычислять контрольная сума, ошибка вызовет многократное чтение "забивание" шины и многократную нагрузку на процессор, + не забывайте что это драйвер, а драйвер в монолитном ядре требует переключение процессора в привилегированный режим( как ни как по шине общаемся), что ещё больше снижает быстродействие, получаем PIO в чистом виде — хотите хардкора поставьте PIO
          Дальше ещё веселее контроллер всё равно понадобится — надо преобразовывать систему команд из шины в сигналы для микросхем, но избавившись от кеша, таблиц и прочего сильного удешевления — не получим( процессор + прошивка в контроллере стоит порядка бакса).


    1. vblats
      27.03.2016 13:54

      Скажем так, SSD — это не только скорость и отсутствие движущихся частей.
      Это еще и ATA-интерфейс с поддержкой набора NCQ-команд, поэтому собственно эта железка будет работать и на суперсовременном компьютере, вчера сошедшем с конвейера, и на древнем i386 DX под управлением MSDOS (если конечно найдем PCI-переходник на SATA, но это уже сопутствующие затраты).
      ***
      В вашем суждении есть одна неточность:
      > Кэш в ОС,
      В какой такой, простите, ОС ?) У нас еще нет ОС, у нас есть железка, и установочная флешка с Windows 7 (которая насколько мне не изменяет память — даже на другую USB-флешку отказывается ставиться).


      1. 0x131315
        27.03.2016 16:52

        Тащемто любой планировщик — покруче этого NCQ. И ssd не адресуется на прямую, и не имеет головок чтения/записи.
        Про совместимость — PCI/PCIex. Можно оба на одной плате, с двух сторон.
        Про ОС — так soft-ssd. К тому же новое железо с efi вообще софтовое — до ОС может отработать что угодно, в том числе любой драйвер. А старое железо — можно подсунуть спец.загрузчик.
        Семерка ставится куда угодно — vhd.


        1. vblats
          27.03.2016 22:21

          Вот именно поэтому, SSD и совместим с любыми конфигурациями, и любыми ОС. NCQ не крут. Но он стар.

          Не совсем понимаю, что в вашем понимании «soft-SSD», и зачем оно.
          SSD — это УЖЕ мини-компьютер, содержащий свои внутренние блочные устройства, подключенные по своей шине, и взаимодействующий с внешним миром через систему ATA-команд. Ну иногда содержащий на себе ATA-контроллер на шине PCI, что вовсе не отменяет факта взаимодействия через ATA. Можете даже светодиодиком поморгать, не подключая его к компьютеру.

          А софтовый SSD у нас уже есть — это NAND-память любого девайса, будь то планшета, или недокомпьютера вроде Cubietruck. Она подключена с помощью выделенной шины процессора, и управляется более-менее программно. Используется тот же самый физический носитель, что и в классических SSD.
          Но несмотря на это, работает намного медленнее этих самых классических SSD, и очень быстро деградирует. И именно потому что работа этой штуки — на совести драйвера, который в случае OpenSource, работает как «не нравится, вас никто не заставляет этим пользоваться, пользуйтесь другой реализацией».

          Я вам больше скажу, вы можете взять Raspberry PI, и эмулировать с помощью ее GPIO подключение к SATA-порту компьютера. А если на компьютере есть SPI, то можете и SPI'ем побаловаться. Это не сложно. Но незачем. И медленно.

          Вам на закусь: https://pp.vk.me/c633226/v633226443/1d66e/v2h62C2z_JY.jpg


  1. sweetbrick
    27.03.2016 10:21

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


    1. 0x131315
      27.03.2016 16:57

      Коммерческая. Там новый тип памяти запилили, даже два: ReRam с потенциально бесконечным ресурсом и скоростью оперативки, в 2008, который обещали в 2012, но Rambus (патентный тролль) перехватила и заморозила, и вроде магниторезистивная память, которую вроде интел презентовала, и обещали в этом году — эта скорее всего выйдет после DDR4, только сливки снимут.
      К тому же АМД выкатила HBM — технологию 3D компоновки, значительно увеличивающую обьем памяти при той же площади плат, и потенциально через несколько лет эта память переедет на процессор.
      В общем прогресс тут идет, и большими шагами.


      1. sweetbrick
        27.03.2016 21:11

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


  1. MgmZog
    27.03.2016 10:21
    +1

    «Конечно, с годами механика усложнилась и сегодня эта самая головка работает даже не в вакууме, а в гелии» — Потрясающее изречение в технической статье. Это же не блог школьника, да?


  1. NoobLoser
    27.03.2016 10:21

    Я помню, еще во времена диалапа, модемы были довольно дорогими устройствами и настоящий фурор произвели модемы, в которых не было своего контроллера с прошивкой — функции прошивки были вынесены в драйвер. Это позволило сильно снизить стоимость всего устройства. Нечто похожее происходило с принтерами и raid-контроллерами (software raid).
    Как думаете, стоит ли ожидать подобного и с ssd дисками?


    1. vblats
      27.03.2016 14:06

      Они произвели фурор до тех пор, пока их не потрогали ручками, и не начали плеваться. Эвон какая невидаль, мой Windows 98 нашел неизвестное устройство, требует драйвер, и предлагает мне выйти в интернет, чтобы поискать этот драйвер. С Линуксами тех годов все еще хуже было.
      Плюс ко всему, на нестабильных телефонных линиях (а таких наверное 90% на планете Земля), связь постоянно обрывалась, сказывалось отсутствие аппаратного реалтаймового DSP.
      Программный рейд, сами понимаете, работает как говно, и крашится так же само безвозвратно.

      Так что мне страшно представить что будет с SSD, если их сделать программными.
      Да и незачем. При современной стоимости микроконтроллеров в 1-2 бакса, особо SSD-шник это не удешевит, зато снизит скорость, убьет совместимость, упростит работу вирусне.

      Гораздо более лучшая идея, научиться делать очень очень энергоэффективную ОЗУ (уже вроде есть наработки) и рядом с банками памяти размещать небольшой аккумулятор (а лучше два, взаимозаменяемых), которого хватит скажем, на 2 года сохранности данных.
      Убьем одним выстрелом двух зайцев — забудем о лимите перезаписи, увеличим скорость на много, и сделаем диск динамическим, поскольку при добавлении модуля памяти (если железка будет позволять это делать) — контроллер будет рапортовать реальные данные по объему, а не зашитые в него заранее. Ляпота в общем.


      1. Foolleren
        27.03.2016 15:05

        Реализации RAID 7.X — сплошь программные, и запросто переплёвывают всякие хардварные решения.


        1. vblats
          27.03.2016 19:32

          Не переплевывают.
          Впрочем давайте определимся, что такое «программный» RAID? Так или иначе запросы обрабатываются программой. Но имея в виду «аппаратный RAID» мы подразумеваем, маленькую программу на килобайты, которая находится в маленьком ПЗУ маленького микроконтроллера, и заточена на вполне определенные действия, и практически неспособна «повеситься».
          Программный RAID обрабатывается на уровне ОС, соответственно нигде кроме нее не работает, привязан к фичам этой ОС (и багам кстати тоже), соответственно работает медленнее, поскольку реализовывается при помощи того же CPU который помимо всего, обрабатывает ваши вкладочки в Google Chrome, рендер в 3dMax, да и в принципе неспособен загружать эту ОС без дополнительных костылей.
          С SSD — то же самое. Гораздо проще, быстрее, надежнее, подать NCQ-очередь в интерфейс и забыть о ней. В свою очередь, контроллеру проще настроиться только на обработку очереди и выдачи ответа, чем заниматься не нужной фигней, из-за которой он часто будет во фризе, да и вообще зависнуть может.


          1. Foolleren
            27.03.2016 19:43

            надеюсь тут понятнее объяснёно
            https://habrahabr.ru/company/croc/blog/246155/


            1. vblats
              27.03.2016 20:55

              Бегло перечитал. И я надеюсь, вы не серьезно:

              > Intel Xeon E5-2660v2, 24 Гб памяти + контроллеры LSI SAS HBA 9207-8i
              > 77,4 (MBps, запись 4к блоков)

              Они там реализацию на bash писали что ли?

              А если без шуток, то они не переплюнули хардварные решения. Расширили — да. Ценой цены.


              1. Foolleren
                27.03.2016 21:18

                контроллеры там для работы с SAS дисками,
                типичная скорость работы харда — для 4к блоков 10-50 мб, и при последовательной записи это никак не перешагнуть — не параллелится- размер блока на харде и так 4к.
                именно что переплюнули хардварные решения начинают жутко тормозить когда отваливается диск, или надо делать ребилд массива, они добились того что при ребилде никакого падения скорости нет.


                1. vblats
                  27.03.2016 21:44

                  Ну скажем так, аппаратные решения от NetApp не тормозят. И стоят соответственно.
                  Решение приведенное по ссылке — не совсем «честный» программный рейд, поскольку он построен на отдельном девайсе, еще и нефиговой такой конфигурации. Я бы назвал его скорее «навороченным аппаратным RAID».

                  Так или иначе, они взяли за основу готовую ОС не реального времени, с готовым ядром и его вызовами, а чтобы нивелировать высокую латентность и простои системы IO из-за планировщика задач — используют 10-тиядерный х86 с 25 Мб кеша.
                  Наверное 75% того, что делает прошивка в аппаратных массивах, они возложили на плечи готового софта.

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

                  Ребята молодцы, если нашли способ впаривать ЭТО, но поймите, что вы не доказали что ПРОГРАММНЫЙ RAID БЫСТРЕЕ, вы всего лишь привели пример линейной зависимости быстродействия программного RAID от скорости ПК на котором он работает ;)


                  1. Foolleren
                    27.03.2016 22:21

                    вычисления которые нужно проводить при ребилде массива + ещё и чтение и чтобы без потери скорости очень даже не маленькие они упёрлись не в простой, а в скорость работы SSE инструкций. Хотел было посчитать сколько каких операций надо на это дело но столкнулся с тем, что не до конца понимаю работу кодов рида-соломона. а разбираться на ночь глядя чёт не охота.


      1. asdfghjk12
        27.03.2016 16:24
        +2

        Вся современная ОЗУ объёмом от гигабайт — динамическая, с периодическими рефрешами. Среднее энергопотребление маленькой планки памяти порядка 20 мА, т.е. для хранения информации в течении 2 лет понадобится «небольшой аккумулятор» ёмкостью порядка 350 А*ч, это минимум сотня самых ёмких аккумуляторов размера 18650. И чем больше объём памяти, тем больше затраты энергии на рефреш.


      1. 0x131315
        27.03.2016 17:01

        Для этого есть стандартные дрова и спецификации, которых серьезные фирмы придерживаются. Вон камеры логитека до сих пор можно воткнуть в любую ОС без дров — они отрабатывают на стандартных, по спекам. А тот же школогениус без дров нигде не работает — нарушили спеки, сэкономили на сжатии.
        Просто не бери школожелезо, и весь вопрос.
        С принтерами та же хрень — HP работают везде, Epson — нет.


        1. vblats
          27.03.2016 19:54

          Это вы так думаете. Вы говорите «стандартные дрова» а подразумеваете «дрова под Windows», и это не есть «стандарт», это есть монополия.
          Спецификации здесь не помогут. Ну сделаете вы принтер, ну выложите вы спеки, и молодцы. Никто не купит у вас этот принтер, пока вы сами не выложите под него драйверы. Сделаете только под Linux, и покупать его будут только линуксятники. Сделаете под популярные ОС — и обеспечите этому принтеру популярность.
          Есть базовые методы, которые в принципе придуманы давно, на которых основана работа всех популярных девайсов: Ethernet, ATA, UVC и многие другие. Ваша GTX260 под DOS тоже будет показывать видео. А вот как только шаг вправо-шаг влево — появляются нестандартные решения, пропихнуть которые в мейнстрим может и не получиться. Даже при условии если спеки на них будут в открытом доступе.
          Программная реализация принципов работы SSD — просто не имеет смысла, хоть и очень легка в реализации, cпеки ATA — в открытом доступе, его запросто можно программно эмулировать. Спеки шин — тоже.
          Только тормозить эта хрень будет нереально (кстати так же как и Winмодемы тормозили сами, и тормозили ПК). Вы сами можете воочию увидеть как «реализация RTM через жопу» мешает работе — на примере Raspberry PI — попробуйте комфортно поработать, если что-то копируете по сети. А ведь это еще даже не софтовая реализация, это всего лишь «Ethernet over USB».
          А главное, что овчинка выделки не стоит. Прошивка — одна на все устройства. Сам микроконтроллер стоит копейки. Впаять его можно за минуту, даже в домашних условиях при наличии паяльной станции. И можно отнести поломанное ЭТО — продавцу по гарантии, и не услышать в ответ «Почистите куки / Поменяйте браузер / Переустановите Windows итд».
          Имхо, программная реализация SSD — НЕ НУЖНА.


    1. Xaliuss
      27.03.2016 14:16

      Думаю нет, резко снизится надежность и скорость работы. В случае принтера и модема ошибки не влияют по сути на устройство. Soft-raid обычно хуже встроенного. Контролер по сути небольшой специализированный компьютер, в котором и память и процессор имеются. Эмулировать его средствами ОС не выгодно.


      1. Idot
        27.03.2016 14:54

        Угу, смахивает по «эффективности» на программный рендер в сравнении с аппаратным.


        1. vblats
          27.03.2016 20:29

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


      1. 0x131315
        27.03.2016 17:05

        Напротив, скорость даже подрастет — исчезнет лишнее звено в цепочке. Дрова же оверхеда не дают, они ничего сложного не делают, просто указывают механизму DMA по какому адресу сложить данные, это один лишний запрос в памяти перед записью 4кб блока.


        1. Xaliuss
          27.03.2016 17:53

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


        1. vblats
          27.03.2016 20:12

          Дрова оверхеда может и не дадут (хотя тут можно поспорить, ибо у процессора инструкций поболее будет).
          А вот с процессорным временем будет посложнее. Микроконтроллеры не зря работают в жестком реалтайме, при чем иногда даже этого недостаточно, и приходится добавлять некоторые высокоскоростные буферы на несколько десятков кадров, дабы информация не потерялась если лагает микроконтроллер.
          Не совсем понятно, как процессор заставить обрабатывать ЭТО в многозадачной среде. Простите, но у вас либо IO будет жутко лагать, или отзывчивость системы будет падать в моменты чтения\записи (а это почти всегда).


    1. Idot
      27.03.2016 15:00
      +1

      Создатели всяких локеров и троянов-шифровщиков были бы счастливы.


    1. saege5b
      28.03.2016 10:42

      о-о-о-о...!!! софт-модем… сколько воспоминаний о этом нереальном геморрое…
      Особенно пользователей впечатляла метода дозвона, когда по прерыванию ВСЕ процессы замораживались, пока шла процедура ре-инициализации релюшки…
      Эти забавные кваканья в колонках при проигрывании музыки, замерший курсор мыши… непредсказуемое поведение софта…
      А эти забавные глюки, когда драйвер подтекал, и необходимо было перезагружаться… а некоторые модемы ещё и сами были нестабильны в работе, и на 5-10 попытке дозвона висли наглухо. О...! 20 перезагрузок за полчаса…
      А эта своеобразная «любовь» драйвера и модема как железки… или «любовь» драйвера и какого-то софта… эх…

      Я бы не рискнул пользоваться такой штукой, рискуя записать гигов 20 фоток «в никуда» из-за глюка в памяти.
      Как то столкнулся с программным рейдом на java с одним винтом. Было весело.