История накопителей представляет собой гонку между носителями и вычислительными мощностями. На пути к компьютерной нирване встаёт узкое место – хранение миллиардов нулей и единиц. Самый новый из игроков на этом поприще – энергонезависимая память Non-Volatile Memory Express (NVMe), представляющая собой что-то вроде гибрида нескольких предыдущих технических решений.
В первом поколении домашних компьютеров в качестве накопителей использовались флоппи-диски и компакт-кассеты, но с ростом возможностей компьютеров постепенно росла и важность накопителей. К 1990-м большое распространение получили жёсткие диски, позволявшие хранить сначала мегабайты, а потом и гигабайты информации. В результате выросла необходимость в быстрой системе связи между накопителем и остальной системой. В то время чаще всего использовался интерфейс ATA (IDE) в режиме программного ввода-вывода Programmed Input-Output (PIO).
В результате технологии перешли на прямой доступ к памяти (DMA), интерфейс UDMA, также известный, как Ultra ATA и Parallel ATA, и основанные на этой системе интерфейсы SCSI в компьютерах Apple и большинстве серверов. В итоге Parallel ATA превратился в Serial ATA (SATA), а Parallel SCSI — в Serial Attached SCSI (SAS). SATA в основном использовался в ноутбуках и настольных компьютерах до прихода NVMe и твердотельных накопителей.
Все эти интерфейсы разрабатывались с тем, чтобы не отставать от накопителей. В этом смысле, NVMe выбивается из общей картины своей интеграцией в систему. Также NVMe отличается тем, что не привязан к какому-то определённому интерфейсу или коннектору, что может сбить с толку. Кто может разделить M.2 и U.2, не говоря уже о том, какой протокол использует интерфейс, будь то SATA или NVMe?
Давайте-ка разбираться в чудесном и странном мире NVMe.
Обманчивый внешний вид
Элементы SATA Express, функционально схожие с M.2.
Попросите любого человека показать вам слот для NVMe на материнской плате, и скорее всего вам покажут изображение слота M.2, поскольку он стал наиболее популярным для твердотельных накопителей (ТТН) в потребительской электронике. При этом даже слот M.2 со вставленным в него твердотельным накопителем может не относиться к NVMe, поскольку этот интерфейс использует и SATA.
На плате рядом со слотом M.2 часто указывают, какую технологию он поддерживает. Также хорошей идеей будет почитать инструкцию к материнке. Причина путаницы в том, что изначально для ТТН существовал стандарт Mini-SATA (mSATA), использовавший форм-фактор PCIe Mini Card, который потом развился до форм-фактора М.2 и интерфейса U.2. Последний больше похож на интерфейсы SATA и SAS, и комбинирует два канала, SATA и PCIe, в один интерфейс для подключения ТТН.
Тем временем стандарт М.2 (после краткого экскурса в недолго существовавший стандарт SATA Express) расширили с тем, чтобы поддерживать не только SATA, но и AHCI с NVMe. Поэтому слоты М.2 часто неправильно называют «слотами NVMe», когда на самом деле NVMe – это протокол, основанный на PCIe, не определяющий никаких форм-факторов или типов коннекторов.
Интерфейс М.2 с ключами B и M
Тем временем сам по себе форм-фактор М.2 довольно разносторонний – или запутанный, это кому как. Физически он может быть шириной в 12, 16, 22 и 30 мм, и поддерживать длины от 16 до 110 мм. На краю разъёма наносится последовательность меток, обозначающих функциональность, и совпадающих с метками на самом слоте. Чаще всего это метки В и М из списка ключевых меток, в котором, например, есть следующее:
A: 2x PCIe x1, USB 2.0, I2C и DP x4.
B: PCIe x2, SATA, USB 2.0/3.0, аудио, и т.д.
E: 2x PCIe x1, USB 2.0, I2C, etc.
M: PCIe x4, SATA и SMBus.
Получается, что физических размеров карты расширения М.2 бывает аж 32 штуки, и это ещё до того, как мы учтём 12 возможных вариантов модификаций из списка. К счастью, в основной массе промышленность, судя по всему, пришла к общему стандарту в 22 мм ширины для карт накопителей, варианты длин которых ограничены. В итоге ТТН стандарта NVMe имеют маркировку типа «2242», что означает 22 мм ширины и 42 мм длины. Карточки ТТН могут быть отмечены буквами В, М или обеими.
Важно отметить, что сегодня слоты М.2 активно используются в качестве расширения PCIe в стеснённых условиях. Поэтому карточки WiFi часто имеют форм-фактор М.2.
Определяя NVMe
Всё это приводит нас к основному определению NVMe: это стандартный интерфейс для накопителей, напрямую подсоединяемых к PCIe. От SATA он отличается тем, что первый преобразует протокол PCIe в протокол SATA, который затем приходится интерпретировать специальному чипу на накопителе перед тем, как можно будет выполнять какие-либо команды, связанные с хранением данных.
Вместо этого NVMe определяет интерфейс, который напрямую можно использовать в любой ОС, имеющей NVMe-драйвер. Команды отправляются на NVMe-накопитель, выполняющий их для чтения или записи или проводящий какие-то операции обслуживания типа TRIM. Поскольку можно положиться на то, что любое устройство, представившееся как NVMe-устройство, представляет собой ТТН (NAND Flash, 3D XPoint, и т.д.), протокол NVMe разработан в расчёте на низкие задержки и большую скорость передачи пакетов.
Optane SSD от Intel типа 3D XPoint работает ровно вне зависимости от нагрузок
Недавно популярность обрела такая особенность NVMe, как местный буфер памяти, Host Memory Buffer (HMB). Это попытка избавиться от необходимости буферизовать данные в DRAM используя ТТН типа NAND Flash. Особенность использует часть памяти системы в качестве буфера, относительно мало теряя при этом в быстродействии, при этом буфер в основном используется для кэширования таблицы адресов.
В долгосрочной перспективе, с учётом темпов развития накопителей, такие технологии, как 3D XPoint делают ненужными даже подобные хитрости. Скорость доступа к той же 3D XPoint ближе к показателям DRAM, чем к NAND Flash. Поскольку ТТН типа 3D XPoint не нуждаются в DRAM-буфере, увеличение их популярности может привести к тому, что NVMe будут оптимизировать уже под них.
Взламывая NVMe
Память на магнитных сердечниках 64?64 (4 кБ) [пользователь closegl утверждает, что тут ошибка, и имеется в виду 32?32, 1 кБ ]
Стоит задуматься, а что ещё можно сделать с NVMe, кроме как купить ТТН и засунуть его в слот M.2 B или М. Тут нужно решить, что вам больше интересно – взлом накопителя (пусть это будет лишь некая разновидность DRAM or SRAM), или же самого слота М.2.
Полноразмерные слоты PCIe имеют большой размер, а карты расширения предоставляют много места для таких громоздких компонентов, как BGA-чипы и гигантские системы охлаждения. Карты расширения М.2 наоборот, предназначены для мелких и компактных решений, способных уместиться в ноутбуке. Можно, к примеру, скомбинировать FPGA с нужными блоками железа SerDes и PCIe в форм-факторе M.2, и создать компактную карту расширения для ноутбуков и встраиваемых устройств.
Недавние хаки предлагают добавить поддержку NVMe к Raspberry Pi, заменить ТТН в Pinebook Pro WiFi-картой, и считывать NVMe Flash накопитель от айфона при помощи ZIF-адаптера для PCIe.
При этом никто не запрещает попытаться скомбинировать что-нибудь очень странное – к примеру, NVMe-накопитель на магнитных сердечниках.
Заключение
Оглядываясь назад на десятилетия развития вычислительной техники, видно, что различие между памятью и накопителями существовало всегда. Причём памятью всегда служили энергозависимые устройства типа SRAM или DRAM. В последнее время это различие становится всё менее значимым. NAND Flash с NVMe-интерфейсом уже обещают нам потенциально очень низкие задержки и скорость в несколько гигабайт в секунду (особенно с использованием PCIe 4.0) но и это не конец истории.
Самая горячая новинка – это DIMM «постоянной памяти», размещаемые в обычных слотах памяти. Они используют твердотельную технологию Intel Optane, позволяющую увеличивать объём памяти в системе до 512 Гб на модуль. Эти модули, естественно, пока что работают только в серверах Intel. Используются они для буферизации баз данных, большие объёмы которых не дают использовать в качестве буфера обычную память (например, терабайты DDR4 DIMM).
Если у нас будет очень быстрый и энергонезависимый накопитель, соединённый с контроллером памяти процессора напрямую, мы сможем уменьшить задержки до абсолютных минимумов. И хотя 3D XPoint (как разновидность памяти с изменением фазового состояния) пока ещё не такая быстрая, как DDR SDRAM, она демонстрирует нам, что может появиться после NVMe, когда разница между «памятью системы» и «хранилищем данных» совсем исчезнет или изменится до неузнаваемости.
quwy
Блин, вот разрабатываете вы новый, ни с чем не совместимый стандарт. За вами не тянется хвост обратной совместимости. Можно же сделать по-человечески. Но нет, так же не интересно! Давай выкатим сразу десятки несовместимых форматов под одним названием, чтобы пользователю жизнь малиной не показалась.
MinimumLaw
Не совсем так. Для пользователя есть три типа карт. Если карта влезает в слот — значит она работает. Тут все просто.
Не просто для разработчика изделия, где этот слот стоит. Изволь вытянуть туда все интерфейсы, которые подразумевает данный ключ. Для реально мелкой электронники (карманной и меньше) — это уже проблема. Да и для ноута. Даже неработающий интерфейс снижает время автономной работы. А если сюда добавить еще и чехарду с длинной карт то становится совсем грустно.
edogs
MinimumLaw
Подтвердите пунктом спецификации? Автомобиль тоже может ездить на трех колесах. А в отдельных случаях даже на двух. И без тормозов. И поворотники не сильно нужны. Если такой вариант автомобиля вас устраивает (это ж экономия!), то и славненько.
Беда лишь в том, что производители не имеют права продавать автомобили без тормозов и поворотников.
Areskoi
У меня есть ноутбук MSI PS63, у него два m.2 слота. Один с поддержкой NVMe/SATA, а второй только SATA. Вот спецификации на сайте. Правда я не пытался в SATA-only слот вставить NVMe накопитель. Считаете, разъем не позволит?
merlin-vrn
Запросто позволит. Просто работать накопитель не будет.
MinimumLaw
Да… Я, вообще-то не про спецификацию производителя оборудования. Я про «PCI Express M.2 Specification» конкретно про раздел «3. Electrical Specifications». И даже еще конкретнее «3.1. Connectivity Socket 1 Module Interface Signals», «3.2. WWAN/SSD/Other Socket 2 Module Interface Signals» и «3.3. SSD Socket 3 Module Interface Signals». Это аргумент. Остальное — домыслы производителя.
Впрочем, впрочем…
Но именно это и требует того, чтоб система могла поддерживать ОБА интерфейса и переключаться между ними в зависимости от воткнутой карты.
Аналогично для
Вот они 16 вариантов. Но опять — хост должен уметь все. И решать который нужен исключительно в зависимости от воткнутой карты.
Из этой канвы выбивается только Socket 1. Вот у него
А то, что Microstar позволяет себе вольно относится к реализуемым спецификациям… Одна из причин, по которым я отдаю предпочтение другим производителям. Если есть хоть малейшая возможность так сделать.
Stinkynnov
Я что-то не совсем понимаю, где «supported are PCIe… or SATA» превращается в требование поддержки обоих интерфейсов. «or» обычно переводят немного по другому.
MinimumLaw
Там SATA перескается по ногам с 4-lane PCIe. Потому AND невозможно. Или одно, или другое. Но так как что именно реализовано на данной карте кодируется PEDET (нет под рукой спецификации, но условно земля — PCIe, питание SATA). Т.е. сначала хост должен прочитать состояние вывода 69, а потом задействовать тот или иной интерфейс. Но так как состояний два, то и интерфейсов должно быть два (хотя активен в определенный момент времени один).
Stinkynnov
У меня тоже нет спек, потому как не готов их покупать, а за так не раздают. Так что могу полагаться только на цитаты.
Я в общем-то не сомневаюсь, что из-за мультиплексирования использовать одновременно все возможные интерфейсы не получится. Но и требования их обязательного наличия из приведенных цитат все же не следует.
Ну ок, «can make use» можно посчитать, что хост должен предоставить любой из упомянутых.
MinimumLaw
Ну как не следует. Если требуется, что в зависимости от цвета предъявляемой посетителей карточки вы обязаны ему отдать или яблоко (если красная) или грушу (если синяя). Чтоб соответствовать этому требованию у вас должны быть и яблоки и груши (AND). А так как карточка не может быть одновременно красной и синей, то клиент получил или яблоко или грушу (OR). Проще я уже не могу. Переформулируйте.
Stinkynnov
Переходим на детский уровень? Ладненько.
Тут (в цитатах) нет ни про «обязаны», ни про «AND». Вы можете получить яблоко или грушу, в зависимости от цвета предъявленной карточки. Но груш нет. Если на синюю карточку выдать яблоки, это нарушение правил. Будет ли нарушением не выдать грушу — не понятно.
MinimumLaw
Будет. Во всяком случае я не видел в спецификациии легитимной возможности не выдавать запрошенный интерфейс. И, если предельно честно, буду сильно рад если меня поправят. Это бы сильно упростило мою работу. А прочтение спецификации «как удобнее» — так это к китайцам. Плохой пример для подражания на самом деле.
edogs
Если совсем упростить. Охранник (м.2) поддерживает проезд (работу) синих (пси) ИЛИ белых (сата) машин. С помощью глаз (пина 69) он может определить цвет подъехавшей машины.
Тут нет обязанности поддерживать проезд тех и других машин. Тут нет обязанности пропускать машины обоих цветов.
Более того, чисто по фразе которую Вы отквотили, скорее можно сделать вывод, что реализация должна быть только одного из интерфейсов, т.к. там не сказано or/and, там четко сказано or. Но этот нюанс может зависеть от контекста.
MinimumLaw
Теперь я наконец понял как появляются китайские кварцевые часы с десятью стрелками. Три из которых действительно показывают часы, минуты, секунды, а остальные приделаны для понта. Действительно — никто ж не обещал что они будут работать. И как делаются некоторые программы. Вроде и вполне вебе релиз, но выбираешь пункт меню, а там выскакивает окно «Не реализовано».
В контексте разработки электроники, а равно реализации стандартов, обычно ВЕСЬ заявленный функционал должен быть выполнен. Если только в тексте четко и не двухсмысленно не написано — реализация того или другого не обязательна и выполняется по согласованию. В случае с PCIe я такое видел только про Soсket 1 и интерфейсы I2C/USB/UART. Так что считал и считаю что переходники типа выложенного, слоты с урезанной функциональностью (пусть об этом и написано в инструкции) — это приколы вендоров. И, по большому счету, даже маркироваться «PCI Express M.2» не имеет права, а должна представляться в каком-нить достапамятном стиле «abibus», «nice» или тому подобном.
По сути появление (и активное использование) таких переходников и слотов в пользовательской электронике говорит лишь о том, что разработчики спецификации перестарались. Как в свое время перестарались разработчики USB сказав, что до энумерации устройство может потреблять не более 10mA. И только после — до 500. Те, кто этому четко соответствовал не работают практически ни с одним устройством. Но при этом требование это в 2.0 вроде фигурирует. По PCIe ситуация дурная. По спецификации всегда работает ОДИН интерфейс, но никто не знает какой именно из ДВУХ будет задействован в следующий момент (или при следующем включении). В итоге хост просто обязывают поддерживать оба (или превращаться в китайские часы — там стрелки тоже ничего не ломают, но абсолютно бесполезны). С другой стороны, плодить еще один ключ идея так себе. Потому выбор переложили на пользователя. Хочешь — бери дорого и правильно, не хочешь — есть дешевле, но с оговорками. Раз пользователь выбирает дешевое — значит оно было востребовано больше.
С моей позиции вопрос денег вторичен. Мне не нравится тот факт, что я вынужден резервировать место и питание под неиспользуемый интерфейс. А у меня батарейка. И ограниченные габариты. И масса. Хуже того — в моем случае гарантированно не используемый, ибо изделие под пломбой и вскрытию после сборки не подлежит. Но писать в своей документации «только SATA» или «только PCIe» (а равно создавать сложности закупщикам накопителей) кажется неправильным.
edogs
А вот в Вашей трактовке получился бы телефон с 5 симками и телевизором и радио и перцовым баллончиком, потому что в спецификации было указано «или 4 доп. сим слота или телевизор или радио или баллончик»:)
Апелляция к «обычно» когда есть четкая документация это подозрительно. А дальше что? Давайте реализуем 12в вместо 5в, т.к. обычно делали так?
Для чего вообще по Вашему в английском языке используется слово ИЛИ?
Еще пример попроще.
В ноутбук производитель может установить амд ИЛИ интел процессор, по спецификации. Тип слота на мат. плате указывает какой ставить. :- полная аналогия того, что написано в спеках тут.
И тут приходит разработчик, видит два ключевика — интел и амд и реализует установку туда ОБОИХ процессоров потому что ОБЫЧНО он реализовывал ВЕСЬ заявленный функционал, не обращая внимания на синтаксические конструкции в которых тот упомянут, в частности слово «ИЛИ»:)
MinimumLaw
Вы сознательно перегибаете палку? ОБЫЧНО — это значит ПРАВИЛЬНО. Изделия проходят сертификацию. Контролирующий орган будет требовать четкого ее исполнения. На на любую не реализованную функцию будет требоваться четкое и непротиворечивое утверждение в спецификации.
В спецификации четко написано — на контакт разъема ДОЛЖНЫ быть выведены интерфейсы PCIe (up to 4 lanes) и SATA. При этом SATA и PCIe lane 1 выводятся на одни и те же контакты, а с каким конкретно интерфейсом работать решает карта и о своем решение сигнализирует используя контакт PEDET. Но о каком ИЛИ там речи нет. Хост ОБЯЗАН поддерживать оба интерфейса. А вот конкретная карта по (понятным причинам) может ИЛИ один ИЛИ другой интерфейс. И соответственно хост с конкретной картой работает ИЛИ одним ИЛИ другим интерфейсом. Если производитель не выводит оба интерфейса на разъем он однозначно и сознательно нарушает требование спецификации.
Если Вас устраивает покупать продукцию такого производителя — да на здоровье. Это Ваш выбор. Только не надо винить в своих проблемах авторов спецификации. Они как раз сделали все, чтоб ЛЮБАЯ карта (соответствующая спецификации) с нужными ключами работала в ЛЮБОМ (соответствующем спецификации) хосте. Если карта или хост не соответствуют спецификации, то это проблема карты или хоста. И тех, кто СОЗНАТЕЛЬНО производит (и покупает) не соответствующее стандартам оборудование.
К слову, спецификация довольно легко гуглится и находится. Не самая актуальная, но тем не менее вполне соответствующая реальному состоянию.
edogs
Никаких других цитат из спецификации относящихся к именно этому вопросу Вы не приводили.
sumanai
То есть все производители современных материнских плат мудаки, которые делают кривое оборудование?
MinimumLaw
Я, из корпоративной солидарности, не могу негативно отзываться о работе коллег. Тем более не могу обобщать.
sumanai
Я не занимаюсь разработкой плат, да и прикрываться солидарностью не привык, и называю говнокод говнокодом, а кривые подделки кривыми подделками.
Но в данном случае я считаю, что реализовывать все форматы там, где они не нужны, излишне. Но тут больше вопросы к разработчикам стандартов, если они действительно не позволяют сделать ключи только под NVME. Насколько я помню, там 2 ключа, которые вполне себе позволяют определить поддерживаемые протоколы и воткнуть только то, что будет работать.
MinimumLaw
Беда в том, что я не знаю кто больше «наговнокодил». Авторы спецификации или производители плат. Боюсь здесь мы наблюдаем ту самую «невидимую руку рынка».
Авторы спецификации заботились о пользователях, производители плат о прибыли. Производители накопителей порадовались возможности писать крупно FAST M.2 NGFF SSD мелки шрифтом дописывая, что вот этот экземпляр — он SATA и FAST только в сравнении с вращающимися дисками. Тем более, что по сути это решение уже присутствовало на рынке в виде mSATA. Тут производители плат сообразили, что два M.2 лучше чем один, так почему не воспользоваться этим? Попутно родился класс эникейщиков, которые успешно разрешаю проблему пользователей «хочу быструю систему, но боюсь покупать. Дорого — а вдруг не подойдет» за мзду небольшую.
И всех такой расклад устраивает. Вон в комментах ропчут на авторов спецификации — мол не хорошие люди, не могли по людски сделать. Только они-то совершенно не при делах. ОНи все сделали правильно. Правда, судя по всему, слишком сложно. По мне нужны были три ключа — для SATA, для PCIe и для Wireless/GNSS/Other. При чем первые два могли быть комбинированнными.
Потому я воздержусь от обобщений и резких высказываний.
edogs
Если бы было написано «The Host I/Fs supported are PCIe with up to four lanes and SATA. » тогда надо было бы поддерживать оба.
ifap
И все четыре линии PCI, ни одной меньше, ведь в спеке есть цифра 4, остальное — детали. Простите что влез в вашу дискуссию и не удержался ;)
sumanai
Вот кстати да, в спеке моей материнки написано, что если поставить дешёвый APU, то на NVME пойдёт только 2 линии, так как больше у проца тупо нет.
HardWrMan
А у моей материнки если в М2 воткнуть mSATA то перестаёт работать одно SATA гнездо (и в мануале это написано). Если воткнуть PCIEx тогда SATA гнездо работает. Учитывая, что там всего 6 гнёзд, а мне надо 7 — это печально (у предыдущей было 8 прямых SATA, без костыльных контроллеров).
sumanai
Да, так тоже делают. Вот нифига не очевидно.
sumanai
Не понимаю о чём спор, на моей вполне себе брендовой Asrock в документации так и написано «Второй слот поддерживает только NVME накопители, PCIe 2.0. И так делают наверное все.
Так что пишите в документации поддерживаемый интерфейс, поставьте нужные ключи и не парьтесь больше по этому поводу.
var
Вероятно Dell и Asus тоже не те ребята, как и Microstar, что у них только один слот m2, как правило, работает через sata, остальные — только с накопителями nvme. Даже если, в спецификации было написано иное, хотелось-бы увидеть поддержку на таком уровне для потребителей, которой нет.
Тогда о чём мы спорим?)
HardWrMan
И у них разные ключи. Если ты как производитель ставишь универсальное гнездо (без ключей) то изволь развести туда все возможные интерфейсы.
mig126
Сегодня Plug in play нарушают все кому не лень. Даже USB кабели сегодня не только порой частично не совместимы, но ещё могут повредить оборудование.
HardWrMan
Т.е. Plug'n'Play всё больше оправдывает своё альтернативное название Plug'n'Pray?
quwy
MinimumLaw
Никак (скорее всего). Но именно по этой причине я и говорю — главная головная боль не пользовательская. Она разработчика системы. Как сделать так, чтоб оно работало.
По хорошему, тут на плате должен быть PCIe хаб и мост PCIe-SATA. Так того требует спецификация.
То, что данное творение китайско-индусской братии спецификации не соответствует это проблема творения, а не спецификации.
Я сейчас разрабатываю изделие и серьезно думаю на тему использования этого форм-фактора. Вы не представляете как силен соблазн пойти этим путем. Но умение читать спецификацию целиком, а не выборочно (где тебе выгодно) и есть главное отличие инженера от халтурщика-самодельщика. Программмистов, к слову, тоже касается.
lamerAlex
Разработчики вот, уже сделали. Теперь это пользовательская головная боль.
VelocidadAbsurda
Знакомый как раз недавно вообще умудрился вставить обратной стороной новенький M.2 NVMe накопитель в старый USB-M.2 SATA переходник, не заподозрив ничего странного — сказал «было туговато, ну он же новый». Фото показывал, беглым взглядом и не заметно, но присмотревшись видно что вырез под ключ тесно прижат к выступу одной стороной, а с другой — зазор.
miksir
У меня знакомый с такими же словами molex перевернутым вставлял в диски =)
nixtonixto
Пользователи бывают двух типов: или умные, или сильные.
jakobz
USB-C — туда же, кстати.
quwy
Там хотя бы электрическую совместимость с предыдущими версиями USB нужно было обеспечить. Тут же была полнейшая свобода, делай что хочешь. Сделали…
sumanai
Мне иногда кажется, что это инопланетяне тайно внедрились и создают подобные стандарты, чтобы через 50 лет человечество рухнуло под тяжестью обратной совместимости из-за поломки в древнем слое, у которого случилось переполнение счётчика секунд.
izogfif
Какие 50 лет? Ближайший конец света на январь 2038 года назначен (https://en.wikipedia.org/wiki/Year_2038_problem)
sumanai
Да я знаю. Но там под фикс этого уже заложили пару других бомб с несколько отсроченными датами взрыва.
Просто я надеюсь, что к 2038 году человечество ещё не успеет так деградировать ))
Exchan-ge
А с 2031 уже все хорошо, проблему решили?
(закрывая книгу Excel)
sumanai
У меня штатный самсунговский календарь на SGS2 был ограничен 2036 годом. Вот и думай почему.
Exchan-ge
Вероятно, что производитель рассчитывал на максимум десятилетний срок использования девайса и дал календарь с большим запасом.
Помнится мне, была такая программа Sidekick for Windows, где-то во времена 95 винды — так там тоже далеко в будущее не заглядывали.
Shatun
На этот баг натыкался, в гугловом продукте. Из-за бага время жизни кэша устанавливалось до 2038 года. По итогу падали все приложения которые пытались залезть в кэш(который теоретически раздельный, но видимо внутри общий)
Am0ralist
Так это… разные длины позволяют в разные девайсы разного размера вставлять. При этом если место есть, то на плате под три длины на данную ширину добавят крепежей.
Это как раз удобно, что на длинных раньше получалось больший объем получить, а короткими комплектовать компактные системы, причем короткий вставляется и в систему, где в габариты не упираешься.
Вот то, что нужно читать, что ж вам за m2 на мамке поставили и что при его использовании с каким диском отвалится — это неудобно, да. А вот формфактор не самая большая проблема.
quwy
Так отличия не только в длине.
Разные сокеты с одинаковым названием — вот где зло.
А еще никто не гарантирует работу устройства даже при полной механической совместимости.
amarao
Я всё никак не доберусь до оптанов, но на топовых NVME ситуация крайне любопытная. Они делают производительность реально на грани возможностей процессора/памяти по обработки их, и выглядят как сказка.
Но! В среднем. На nvme всё равно можно словить медленную запись в десятки милисекунд. Ситуация стала сильно лучше по сравнению с тем, что было 4 года назад (когда я бодался с одним вендором за пиковые задержки в 1500мс+), но это всё равно не оперативная память по производительности.
Ну и износ, помните про него.
JustDont
В чисто бытовых условиях я тоже в свое время боялся износа, и купив 256Гб SSD, решил, что максимально обезопашу его от "лишней" записи. Обезопасил. Теперь на дворе 2021 год, мой SSD за 10 лет выработал 10% ресурса по SMART, но 256Гб SSD в 2021 году уже и не настолько и нужен. Удобнее купить хотя бы терабайтный.
И я вот сижу и думаю — много бы для меня поменялось, если бы он выработал 50% ресурса, а не 10%? Да и то, даже по пессимистичным прикидкам, 50% он едва ли бы выработал, скорее около 30%.
amarao
Вы пропускаете заголовок. С точки устройства хранения ресурс не является критическим. Однако, если вы начнёте использовать SSD (в любом формате) как замену памяти, то все ресурсы устройства испарятся в единицы недель. Вы просто не представляете себе интенсивность обмена данными между оперативной памятью и процессором — там речь идёт о десятках гигабайтов в секунду. Каждую секунду, когда процессор занят. Такая нагрузка снесёт ресурс даже SLC, не говоря про TLC/QLC.
maxivanuk
Так никто в тексте и не говорит о нынешних технологиях: делается оговорка, что СЛЕДУЮЩИЕ поколения SSD можно будет использовать как память, то есть, предполагается что разработка будет идти не только по пути увеличения быстродействия, но и по пути увеличения ресурса. Ну и возможно какие-то оптимизации со стороны операционных систем должны будут подтянуться.
adictive_max
Только такое дело, оператива тоже на месте не стоит. Где показывали, что для неё придумали, внезапно, свой аналог MLC, за счёт которого можно фактически удвоить пропускную способность при той же частоте, записывая/считывая 2 бита в 1 ячейку.
merlin-vrn
Оперативе бы латентность снизить. Бич DRAM. А то все остальные показатели за последние лет 20 улучшились на порядки, и только латентность изменилась максимум раза в три.
DistortNeo
Латентность DRAM — порядка 10 нс. Латентность доступа к памяти в процессорах — порядка 70 нс. Мне кажется, узким местом здесь является не DRAM как технология, а процессорная архитектура.
sumanai
70 это для AMD, Intel показывает до 40 при топовом разгоне.
DistortNeo
Да, у Intel дела с этим получше. Но это топовые результаты, в основной своей массе будет ближе к 50–70 мс у Intel и 70–80 мс у AMD.
atemik
10нс — это в какой ситуации? Там же тайминги «чуть» сложнее.
А процессору — ещё кучу кэшей надо проверить, прежде чем в память полезть.
DistortNeo
CAS Latency как основной тайминг — время между передачей памяти команды на чтение и получением первого бита.
Вот именно. Поэтому вклад латентности DRAM в общую латентность доступа к памяти не так уж и велик.
atemik
CAS — это если страница уже открыта, или я вечером пятницы всё перепутал?
DistortNeo
Да, если открыта. Иначе добавляется ещё столько же времени на активацию строки. Все равно это суммарно меньше, чем полное время задержки доступа к памяти со стороны процессора.
merlin-vrn
Я имел ввиду именно время доступа процессора к памяти, а не детали, где он там образуется — в чипе DRAM или где-то ещё. Главное, что долго.
Тем не менее, говорить про «лучший случай когда страница уже открыта» — неправильно. Когда говорят про HDD, почему-то всегда оценивают в предположении, что ему ещё оборот вертеться и головку через всю поверхность переносить. Так и латентность DRAM нужно вычислять в предположении, что страница нужная не открыта. И никак вы меньше 50 нс на практике не получите.
cepera_ang
Ну конечно :) То есть это у процессора все эти трёхслойные кеши, префетчи, очереди запросов к памяти и прочие механизмы, чтобы добавлять задержки перед доступом к памяти, а не для того, чтобы скрыть от программиста её невероятную медлительность.
Если все эти кеши убрать и оставить голую память, то внезапно, самый быстрый Ryzen/Core i9 превратится в аналог 486. Сколько там доступов к памяти в секунду получится при 50-70нс задержках? И из этого бюджета 1 на чтение инструкции, 1 на чтение/запись данных и вот уже хочется вернуть хоть какие-нибудь кеши и префетчи.
DistortNeo
Ну вот почему у Intel задержка доступа к памяти ~50 нс, а у AMD порядка ~70 нс? Куда эти 20 мс теряются?
Отмечу также, что есть ещё HBM, GDDR — это всё та же DRAM, то почему-то более эффективная для определённых задач.
drWhy
ЕМНИП контроллер памяти у Intel традиционно лучше. Ещё FPU.
creker
На infinity fabric и общение с IO ядром. У АМД другой интерконнект со своими преимуществами и недостатками.
DistortNeo
Но эти внутренние задержки никуда не денутся, даже если задержка самой памяти будет нулевой.
creker
И? Память в любом случае во многие разы медленнее, чем обращение к кэшам. Именно поэтому одна из самых важных оптимизаций это уменьшение кэш промахов. Можно получить прирост в десятки раз чисто за счет этого.
DistortNeo
Для нынешних SMP архитектур прироста в десятки раз не будет, особенно с тенденцией к росту числа процессорных ядер. Доступ к общей памяти не очень хорошо масштабируется, и при росте нагрузки задержки будут увеличиваться (loaded latency).
Обращение к L3-кэшу — порядка 40 циклов (Intel, AMD). Это около 8–10 нс. Ускорения в разы добиться, в принципе, можно, в десятки раз — уже нет.
cepera_ang
Если задержка памяти будет нулевой, то архитектуру процессора можно радикально упрощать и пересматривать, но на это нет никаких намёков даже в самых радикальных исследовательских работах.
Am0ralist
Только мобильные апушки на монолитном кристалле сделаны и там даже мобильность, меньшее потребление и меньшие кэши снижали производительность незначительно относительно декстопов, что показывает, где ещё есть проблемы у АМД.
И да, они решают это заваливая размером кэша)
netch80
Лучшее время переключения на другую строку на DDR4 — 37.5 нс. У "бюджетных" модулей сильно больше. По DDR5 данных нет, но улучшений там вроде не обещали.
sumanai
Так там уже эффективная частота в два раза выше реальной.
amarao
Следующее поколение за MLC какое было? TLC. А за TLC какое было? QLC. А за QLC, видимо, PLC, которое даст 20% прироста ёмкости, но снизит надёжность.
Если вы предполагаете, что надёжность будут увеличивать — это интересная гипотеза, требующая основательных доказательств.
siziyman
Главная проблема QLC — скорость, кажется, а не что-либо другое.
creker
Так и скорость тоже падает с каждым поколением. QLC уже вплотную приблизилось к показателям обычных HDD на некоторых нагрузках. Дальше только хуже и SLC/MLC кэши будут спасать от этого недолго. То, что ресурс намного хуже, это само собой разумеющееся. С учетом, для какого рынка QLC предназначен, это не особо проблема. Домашние компы, архивное хранение или какой-нить tiered storage — скорость и ресурс тут особо не важны. Зато HDD полностью вытеснены будут.
DistortNeo
Архивное хранение на SSD? Проще сразу удалить файлы, заодно и сэкономить на диске.
creker
Да, на этот рынок в том числе нацелены QLC. Если вы намекаете на холодное хранение, то достаточно будет периодически давать на них питание, либо вообще не выключать.
DistortNeo
Архивное хранение может быть и на внешнем диске. Не будет успевать он регенерировать ячейки за то короткое время, которое он подключен к питанию.
creker
Значит будут держать включенными постоянно, это вопросы решаемые. Движение индустрии в эту сторону очевидно. Достаточно немного погуглить. Появление QLC сразу породило интерес в эту сторону. Диски медленные и с малым ресурсом, но этот ресурс не тратится при чтении. Плюс минимальное энергопотребление. Идеальный вариант для архива и прочих нагрузок на чтение. В отличие от HDD, у которых и надежность ниже, и механика трудится даже при чтении.
akrupa
Я, вот, совершенно с вами согласен.
Использую массив QLC SSD в качестве последнего слоя для хранения холодных данных. А перед ним небольшой массив быстрых SSD в качестве кэша с очень сильно отложенной записью на QLC.
Раньше вместо QLC использовались 2.5" HDD. С тех пор, как заменил на SSD (год назад), — ни одного отказа или URE, а ресурса записи QLC хватит «лет на 100».
Быстрые SSD с большим ресурсом записи на MLC/TLC, которые используются в качестве горячего кэша, — летят гораздо быстрее. Их лет на 10 хватит по расчетам, не больше.
rogoz
Ну только насколько я вижу всё равно удельный гигабайт QLC заметно дороже, чем HDD. Боюсь условный PLC достигнет HDD по цене, но только качество будет как у USB флешек.
Sam86
То что происходит в оперативке и не надо вытаскивать на flash.
flash просто должен стать еще одним уровнем кэша.
stlimafon
Кому как повезет.
У меня вышло из строя уже 4 штуки 256 Г SSD.
Не дешевые поделки, брендовые.
Эксплуатация обычная домашняя.
JustDont
Дык скоропостижно померли или именно выработали ресурс?
Обычные HDD тоже прекрасно "внезапно" накрываются.
stlimafon
Никто не говорит, что они должны быть вечными.
2 года при обычном домашнем использовании — это как? Скоропостижно или выработали ресурс?
JustDont
Не знаю. Вы же в курсе, что SSD пишут в SMART-переменные, сколько там у них циклов записи прошло? И что любой приличный софт вам покажет, сколько % от заявленного производителем ресурса записи еще осталось? Что у вас показывал SMART перед тем, как оно померло?
Sam86
«Выработали ресурс» — это означает, что ячейки памяти умерли от перезаписи.
Конкретно это обсуждается в ветке.
А не общую способность того или иного девайса жить.
Всё остальное решается использованием более качественных комплектующих. А ресурс ячеек нельзя изменить в рамках одной технологии.
BMXer_V
"Более качественных комплектующих" — это каких? Я из этих соображений 8 лет назад не поскупился, купил один из самых дорогих на тот момент SSD от Intel. Год назад он просто взял и внезапно сдох, естественно сполной потерей данных. До момента подыхания всё было идеально, никаких нареканий на качество работы, смарт идеальный. А при следующем включении компа он просто не определился.
Мне, как пользоваиелю, абсолютно наплевать, где там у него какой ресурс выработался. Мне важно, что у меня были потеряны данные. При этом у меня подыхали ХДД два раза за мою жизнь, и оба раза без последствий, так как механика в них помирает постепенно, оставляя кучу времени на то, чтобы спокойно всё забэкапить. Вы можете сказать, что у ХДД тоже может внезапно сдохнуть контроллер. Но во-первых, мне такое ни разу не встречалось за два десятка лет и сотню ХДД, а во-вторых, в этом случае можно найти диск донор и переставить контроллер с него, даже самостоятельно. С ССД такой фокус не пройдёт.
sumanai
Уже нельзя. Даже если отбросить новомодные SRM со своими таблицами трансляций и кешами, то в платах современных дисков есть калибровочные данные, и с неверными данными вполне можно получить запил вместо чтения.
Nordicx86
а все остальное менялось за это время? может просто проблема не в SSD, а в БП или МП
iskatel
C каким диагнозом «вышло из строя уже 4 штуки 256 Г SSD»?
Am0ralist
А то вот наглядно под 50 ссд из которых 1 интел, 1 сандиск что ли, а всё прочее сплошь самсунг ево — за пять лет постепенного перехода на них с hdd — проблем, тьфу-тьфу, не случалось.
anonymous
БП часто накопители убивает (бьются таблицы из-за пульсаций, насколько понимаю)
drWhy
Нередкий перегрев контроллера также ничем хорошим не чреват.
cepera_ang
Так гарантия на них обычно лет по пять, меняй, да меняй. Но летят они и правда обычно из-за каких-нибудь багов/сбоев в контроллерах, а не из-за износа ячеек.
MarvinD
К примеру, полное шифрование диска сильно увеличивает износ. Недавно при дешифровании (штатном, зная пароль) диск просто умер, выработав остатки ресурса. Диск использовался в офисных задачах, ничего серверного. Запас нужен.
edogs
Т.к. вообще по идее современные диски всё время шифруются, просто если шифрование на них не включено, то это прозрачно происходит.
Поэтому непонятно зачем в принципе «перешифровывать» весь диск при включении или выключении шифрования.
PerlPower
На физическом уровне оно-то может и шифруется аппаратным ключом зашитым в контроллере, но от доступа к данным при перевтыкании диска в другой компьютер это не защищает. Так что все равно приходится использоваться dm-crypt и аналоги.
merlin-vrn
Данные на микросхемах флеша в SSD «скремблируются», но не с целью скрыть данные от подсматривания. Физика носителя такова, что лучше бы биты 0 и 1 равновероятны, а есть такая теорема, что если поXORить любые данные с данными, в которых 0 и 1 равновероятны, то и в результате будут равновероятны. «Хороший» поток, с которым XORить данные, в SSD генерирует ГПСЧ, часто это AES в режиме счётчика, и в сущности получается, что данные зашифрованы.
Так что надо бекапы SSD делать. Восстановить данные не удастся, даже если получится считать микросхемы флеша — без контроллера там ничего не разберёшь.
Тем не менее, на интерфейс контроллер выдаёт «чистые» данные, про шифрование ни слова.
Существуют так называемые FDE (full disk encryption) носители, и HDD, и SSD, где, грубо говоря, ты можешь задавать ключ шифрования из ОС. Но это надо доверять производителю носителя, что там нет закладок, а это вопрос серьёзный, поэтому вменяемые люди используют шифрование средствами ОС.
Brak0del
Доверие ОС тоже вопрос весьма серьезный и неоднозначный.
Catslinger
Тогда единственный выход — секретных данных не иметь. Ни сейчас, ни в прошлом — потому что однозначно уничтожить их тоже не получится.
RickC137
Хм, прикольное узнал, я только не пойму…
Если 0 и 1 должны быть равновероятны в целях минимизации износа памяти, то зачем AES, если можно по очереди давать для xor-а, сначала 010101… а потом 101010…?
Это, к примеру, позволило бы восстановить данные с диска со сгоревшим контроллером
merlin-vrn
Да очень просто. Вышеупомянутая теорема работает (т.е. даёт гарантии) только для случайных данных. AES в режиме CTR или GCM даёт вычислительно неотличимые от случайных, что считается достаточным (хотя, по правде, про это в теореме ни слова). То, что предложили вы, заведомо не является случайными данными, никаких гарантий.
А именно AES видимо потому, что он весьма аппаратно эффективен и есть куча готовых IP блоков с его реализацией, да ещё часто владельцы IP сами и выпускают контроллеры (Intel).
Crazyvlad
Чета я не видел потребительских sed дисков… Может они конечно существуют, но в другой реальности…
nlykl
Интеловские SSD с шифрованием. Именно из потребительского сегмента.
Crazyvlad
Подскажите модель пожалуйста. Ибо сам интел пишет о том, что sed тока в линейке DC.
nlykl
ark.intel.com/content/www/ru/ru/ark.html#@PanelLabel83424 — да вроде все отсюда.
У меня такой: ark.intel.com/content/www/ru/ru/ark/products/75328/intel-ssd-530-series-180gb-2-5in-sata-6gb-s-20nm-mlc.html, шифрование есть.
edogs
Нам казалось что у многих давно уже есть, в т.ч. у хдд даже.
Из потреба — самсунг 850 ево — потребней некуда habr.com/en/post/319054
VelocidadAbsurda
+у Самсунга похоже и все последующие шифруют, используем 960 Evo и 970 Evo Plus с sedutil
cepera_ang
Есть, но вроде даже к энтерпрайз вариантам было много вопросов, когда выяснилось, что там толи ключи слабые генерируют, то ли ещё какая беда. В общем аппаратное шифрование дисков — от лукавого, даже майкрософт перестал для битлокера поддерживать из-за сомнительной надёжности.
Crazyvlad
в РФ их ввезти проблема. И слава богу). Ибо проблем больше, чем выгоды от использования.
Tangeman
За счёт чего? С точки зрения накопителя абсолютно ничего не меняется, разве что записанные нули не будут таковыми — некоторые накопители используют это как хинт для трима, но если использовать трим то и это несущественно.
svr_91
Возможно потому, что перешифрованные данные на выход выдают больше измененных байт, чем обычные
merlin-vrn
Так если просто менять ключ шифрования, это перешифровывать весь носитель, т.е. перезаписать целиком. Записать ровно 1Тб на 1Тб SSD. Это довольно «дорогая» операция для флеша. Не то, чтобы очень сильно изнашивает, но заметно.
nlykl
Да. Но если нужно сменить только пароль, менять ключь не нужно.
merlin-vrn
Не очень понимаю смысл такой операции. Если, скажем, пароль скомпрометирован, то и мастер-ключ через него мог утечь > перешифровывать всё.
Если не скомпрометирован, то какой прок от смены пароля, получить ещё один образ мастер-ключа, теоретически увеличив шансы на взлом шифра, с которым сам зашифрован мастер-ключ, особенно если вдруг в шифре найдётся уязвимость типа такой?
sumanai
Это как? Он же не должен покидать пределов накопителя.
merlin-vrn
Я думал, мы про шифрование не средствами диска, а ОС, как вон чуть ниже товарищ и подтверждает.
Catslinger
Даже при шифровании средствами ОС: пароль можно стырить, подсмотрев через плечо. А единственный способ стырить ключ шифрования — иметь пароль И прямой админский доступ к данным на диске.
merlin-vrn
А теперь я думал, что мы говорили про смену пароля, который шифрует мастер-ключ, VS перешифровку всего диска. И я обосновывал позицию, что «просто сменить пароль» — либо недостаточно, либо вредно.
creker
Почему недостаточно? Мастер ключ и пароль пользователя никак не связаны. Мастер ключ обычно лежит на диске и зашифрован посоленным паролем пользователя. Чтобы узнать мастер ключ надо чтобы и диск утек, и пароль пользователя. В этом случае ничего уже не поможет.
MarvinD
Не знаю, не могу объяснить теоретически, поэтому описал весь случай — утверждение не голословное, а на конкретном примере. Диск работал исправно, и на штатном процессе расшифровки VeraCrypt диск сдох.
Tangeman
Скорее всего он сдох по другим причинам, не связанных с шифрованием, потому что с точки зрения диска разницы нет, а VeraCrypt пишет ровно столько же данных сколько писалось бы без шифрования.
К тому же, по одному случаю судить несколько преждевременно.
MarvinD
Ну может и так. Я не спец в этом, просто привел конкретный случай. Кстати, пользуясь случаем — что вместо VeraCrypt можно сейчас использовать? Чтобы без танцев с UEFI типа подписывания сертификатами?
iskatel
Вы про бытовые сценарии, а тут речь про серверные.
Где запросто бывают терабайты записи в час — на 1 ноде/машине.
Говоря понятным для коллег языком — бывает не только 1 DWPD, а и 5, 10 и более. Ситуация «10 и более», понятно, требует решения и оптимизации как на уровне софта, так и на уровне железа.
В общем, проблема износа для NVMe SSD более чем актуальна — за счёт в разы бОльших скоростей неоптимальный код выжрет их ресурс во столько же раз быстрее, нежели аналогичный по ресурсу SATA/SAS SSD.
ValdikSS
В дистрибутиве unRAID Docker-контейнеры хранились в loop-файле на BTRFS, без noatime, на порядок усиливая запись: 141 ТБ за 296 дней.
forums.unraid.net/bug-reports/stable-releases/683-docker-image-huge-amount-of-unnecessary-writes-on-cache-r733/?do=findComment&comment=11233
KorDen32
КМК в консьюмерском сегменте "лучше" закончилось в районе Samsung 970 Pro. Это был чуть ли не последний консьюмерский NVMe SSD на MLC, а нынче уже всё на TLC. PCIe 4.0 дает прирост, но скорость TLC его нивелирует.
anonymous
Всё там нормально, буферизация и заточки под конкретные задачи позволяют эво+ к примеру часто быть быстрее прошки. Другое дело, я не могу себе представить, где дома такие скорости нужны — как минимум, помимо того, чтобы прочитать или записать надо с такой скоростью ещё чем-то обработать, а во-вторых что за задачи такие...
Exchan-ge
Например, при открытии папки с несколькими десятками фото в формате bmp большого размера — для того, что бы увидеть все превьюшки достаточно быстро (Samsung 950 PRO MZ-V5P256BW) а не ждать несколько минут (860 EVO 1TB (MZ-76E1T0B) или десятков минут (WD4001FAEX)
sumanai
Может просто кешировать превью?
DistortNeo
Да ну? Это ж сложно. Куда проще каждый раз перечитывать файл заново.
Exchan-ge
Программа очистки диска выносит этот кэш вместе со всем остальным.
А чистить иногда надо, иначе свободное место закончится очень быстро.
sumanai
Можно установить диск побольше.
Хотя винда сама сейчас его чистит, впрочем, можно настроить и автоочистку.
Exchan-ge
Там выше указана модель диска (860 EVO 1TB (MZ-76E1T0B)
Больше — с удовольствием бы, но пока дорого.
sumanai
Суровстенько. Ноутбук? Если нет, я бы вставил обычный жёсткий или SATA SSD под не критичные тяжёлые файлы. А вот тот же кеш картинок пусть лежит на системном.
Exchan-ge
Это как раз SATA SSD.
Речь о том, что NVMe SSD (Samsung 950 PRO MZ-V5P256BW) делает указанную операцию намного быстрее его и это хорошо заметно в «домашнем» применении.
cepera_ang
Может переехать с бмп на какой-нибудь формат с хотя бы небольшим сжатием? :)
Да и сомнительно, что превьюшки занимают значимо много места, чтобы прям очистка их кеша освобождала что-то разумное.
DistortNeo
А так ли нужна эта скорость? При обычном бытовом использовании вы вряд ли почувствуете разницу между каким-нибудь SATA-II SSD и Samsung 970 Pro, хотя скорость отличается на порядок. А всё потому, что основной прирост в отклике системы и программ происходит не за счёт быстрой линейной скорости чтения-записи, а за счёт случайного доступа, который даже у SSD нижнего ценового диапазона на пару порядков быстрее, чем у HDD.
Также у SSD большого объёма (1ТБ и больше) со скоростью всё в порядке даже у TLC-моделей.
P.S. Себе в ноутбук я выбирал SSD не по параметру "быстродействие", а по параметрам "нагрев" и "энергоэффективность". И по этим параметрам Samsung 970 Pro был отметён почти сразу же. Взял в итоге недорогой терабайтник без буфера. Полностью им доволен.
KorDen32
Под скоростью я подразумевал скорость случайного доступа наравне с линейной.
Между SATA SSD и NVMe разница на практике ощущается (загрузка ОС, запуск софтин, которые читают кучу мелких файлов), хоть она и не такая разительная, как между HDD и SSD.
DistortNeo
Я вижу разницу в скорости только при гибернации (о переходе из выключенного состояния в рабочее за 5 секунд с медленными SSD можно только мечтать), в остальных случаях для меня видимой разницы нет.
andreishe
Я переехал с древнего intel 520 sata на 970 evo plus в качестве загрузочного диска. Разницы не заметил. Синтетика, конечно показывает, что последний сильно быстрее, но я этого не ощущаю в каждодневном использовании.
JustDont
Ну вот между сатой и NVMe я разницу прям таки чувствую невооруженным взглядом. Между быстрым и медленным NVMe — уже нет. Между 970 Pro и 970 Evo — вообще только приборами.
merlin-vrn
Скажу за сервер, SAS vs SATA SSD — небо и земля. А вот NVMe (U.2) от SAS SSD наощупь уже не сильно-то и заметна разница; но тут, возможно, дело в контроллере, в который они подключены.
А на десктопе я особо разницы в производительности межу HDD и SATA SSD не вижу.
Позавчера принесли комп со сдохшим носителем, Intel 540-й серии. Неудачная серия была, они дохли как мухи, но этот оказался долгожителем, аж 2.5 года прожил. Первый раз в жизни я увидел протёртый до дыр SSD. Но не в этом дело, а в том, что какой-то умник вот так наслушался хайпа вокруг SSD и додумался поставить его в систему телефонии для записи телефонных разговоров! А там производительность нужна мизерная, зато хотелось бы подольше жить без обслуживания, а это HDD.
Не надо верить в рекламу. Новые технологии — это хорошо, но нельзя же так.
amarao
Ну это вы странные модели смотрите. SATA vs SAS не сильно отличаются. Есть несколько ключевых отличий в районе лучшей очереди команд и дуплексе, но в целом не критично. А вот топовые NVME — это другой разговор (буквально рядом у меня открыт рабочий документ, в котором мы пытаемся выжать больше 1M IOPS на raid10 из NVME, каждая из которых фигачит 500k+ fsync=1 iops'ов на запись). 500k, карл! На таких скоростях уже всё остальное начинает провисать. А 500kIOP x 4k blocksize — это 2GB/s между прочим, так что sas нервно курит в углу.
merlin-vrn
SATA: Samsung 860 EVO vs SAS: Samsung PM1643, HBA похожие (оба вариации LSI MegaRAID).
Ну и третий, который NVME, WD Ultrastar DC SN640. Он явно быстрее SASовского, но не так, чтобы прям вау офигеть как быстро стало.
Вообще-то сравнение нечестное, все машины там разные, но я говорю, по ощущениям, наощупь. С этим 860-м вообще какая-то хрень, почему-то тормозит в линуксе как сатана.
amarao
У меня на берчмарках лежит Intel DC P4610 (точнее, его делловский ребрендинг). Оно просто несравнимо с всем, с чем я имел дело в HBA-шинах (sata & sas).
А умные люди рассказывают про Samsung 980-pro-pcie-4-0, который ещё шустрее, и целится в район миллиона иопсов с одной железки.
creker
А смысл сравнивать консьюмерский (да еще EVO серия, где экономия на всем чем можно) и корпоративный ссд? Я подозреваю, что разница в скорость обусловлена в первую очередь этим, а не интерфейсами, между которыми давно практически никакой разницы нет.
cepera_ang
На днях наткнулся на то как чувак на воркстейшне 11М IOPS выжимает ради фана.
Achieving 11M IOPS & 66 GB/s IO on a Single ThreadRipper Workstation
А ему в комментариях на хакерньюс накинули других чуваков, которые 10 лямов иопсов с одного ядра выжимают (с красотой типа обсуждения бюджета вычислений в 400 циклов на IO, паковкой структур для лучшего использования кеша и прочим мясом) 10.39M Storage I/O Per Second From One Thread
creker
И достигается такое обычно отключением всех ОС кэшей и планировщиков IO. Все запросы уходят напрямую в контроллер диска.
cepera_ang
Именно, поэтому "а давайте всадим буфер в сам диск, что плохого может случиться?" в таких ситуациях не прокатывает.
creker
Почему? Любой нормальный SSD эти буферы и так имеет (dram-less диски говнище дешевое), или речь о чем-то другом.
cepera_ang
А, я что-то ветки комментариев спутал, думал это продолжение соседнего обсуждения про то, чтобы напихать побольше оперативы в ССД и батареек наставить, чтобы "оптимизировать" производительность и флеш защитить от излишнего износа :)
А здесь могу добавить, что там не только все кеши ОС отключают, а речь вообще идёт о юзерспейном драйвере, потому что в ядро слишком дорого ходить для таких скоростей в принципе.
DistortNeo
Не соглашусь. В ноутбук я себе поставил именно такой. Одна из причин — у него тупо ниже энергопотребление. А вместо DRAM достаточно SLC-кэша.
creker
Я больше за серьезные нагрузки. В ноут понятно все что угодно влезет. А в серверы такие вроде никто даже не осмеливается.
DistortNeo
Это я просто сагрился на слово "говнище".
Правильно — "нишевой продукт".
amarao
Бытовое использование разное бывает. У кого-то бытовое — это открыть фейсбучек. А у кого-то — архив фоток. И там скорости решают (потому что влияют на секунды до появления всех превью).
DistortNeo
В случае архива фоток узким местом будет скорость декодирования JPEG, но уж никак не скорость SSD.
amarao
Вы уверены? jpeg поддерживает progressive, т.е. для превью не нужно декодировать весь файл. Во-вторых, на условном 12-ядерном amd у нас весьма и весьма приличный запас по числодроблению. Даже если один тред обрабатывает "всего лишь" 100Мб/с, 12 тредов — это 1.2GB/s — сильно за пределами SATA.
DistortNeo
Один из самых быстрых кодеков
libjpeg-turbo
на более-менее современном процессоре выдаёт порядка 150-200 Мпикс/сек в многопотоке — это ~10 фотографий в секунду, или порядка 50–100 мегабайт в секунду. Видите: ничто никуда по скорости SSD не упирается.Да, возможно быстрое чтение JPEG с пониженным в 8 раз разрешением, но я не думаю, что оно будет настолько быстрее, чтобы упираться в скорость интерфейса.
amarao
В каком многопотоке? Есть некоторая разница между 4 ядрами и 12. Кроме того, не jpeg'ом единым жив архив фотографий. RAW-файлы запросто под сотню мегабайт на фотку могут быть.
DistortNeo
Порядка 6–8 потоков.
Мы именно об архиве фотографий говорим? Я уж молчу про то, что вычисление thumbnails — это обычно разовая операция.
Кстати, в случае RAW обычно рядом имеется его же полноразмерная версия в JPEG, просто потому что так удобнее.
amarao
… которую надо выковырять из raw-файла. Короче, sata интерфейс уже не адекватен производительности и параллельности процессоров. (Это мы ещё не обсудили проблемы задирания latency у параллельных запросов в sata по мере роста saturation у интерфейса).
merlin-vrn
вот-вот, а в SAS такого задирания не происходит, к слову о том, почему он на ощупь быстрее
amarao
У вас какое-то магическое представление о sas. Там внутри примерно так же всё. Чуть-чуть лучше с дуплексом, но сам протокол не сильно лучше.
Возможно, у вас остались хорошие впечатления от sas ssd, потому что они дороже и туда быстрее память ставят. Ну и сама sas быстрее, но не радикально.
В сравнении с этим pci-e даёт latency классом ниже, плюс глубину очереди почти неограниченную, плюс большое количество очередей.
cepera_ang
Но выковырять превьюшку из рава — это плюс-минус тоже самое, что прочитать отдельно лежащий файл, только надо сначала ещё пару килобайт заголовка распарсить (not a big deal). Но это не отрицает того, что сата боттлнек, конечно.
merlin-vrn
Это он поддерживает, а фотки-то реально хранятся в таком формате? Скажем, камера выдаёт превью внутри равок в прогрессиве? Моя не выдаёт прогрессив ни там, ни в CAMJPG, проку-то с того, что jpeg это поддерживает.
DistortNeo
В любом случае, если это progressive jpeg, то файл целиком читать уже не нужно, т.к. все необходимые данные находятся в самом начале файла, и скорость чтения снова не является ограничивающим фактором.
amarao
Топовые самсунги (и не только?) хитро переконфигурируют пустое место под SLC (для принятия буффера на запись), а потом в бэкграунде его в TLC переконверчивают. Алсо, TLC — это благородный вариант, потому что половина рынка уже QLC.
DistortNeo
Сейчас все SSD так делают.
adictive_max
amarao
Я знаю, именно они (серверные) меня и интересуют. Для десктопа оно не даст эффекта из-за медленности приложений. Чтобы быстрый накопитель в потолок уткнуть приходится запускать по 20-30 независимых процессов в параллель. На десктопе такое малореалистично.
arheops
Как вариант можете поднять softlayer сервер почасово, там есть P4800x(на серверах с GPU ставится)
arheops
Ну так потребительские только 32 и 64гбайт.
Естественно, идет речь о серверной линейке.
iproger
А что у меня в компе тогда стоит на 120 гб?
arheops
А я не знаю. Таких оптанов не было.
Были 16+100. Но это не оптан, это SSD с оптан-кешем. Смысл его тестировать.
Какая модель?
iproger
Вы уверены что там стоит кеш? https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/consumer-ssds/optane-ssd-8-series/optane-ssd-800p-series/800p-118gb-m-2-80mm-3d-xpoint.html
akurilov
Будущее за мемристорами обещали лет 10 назад. Когда память будет одновременно и процессором.
man55
глаз режет ТТН, ведь SSD же!
(еше и вдобавок ко всему, неочевидно тэтээн это или титиэйч в статье)
anonymous
Смешались в кучу кони, люди…
U2, M2, SATA, разные (68/80 пин) SCSI, pci-e, Mini-pci-e, Express-card — разъёмы.
NVMe, ahci, ide, scsi — протокол
Pci-e, внезапно снова scsi, sas, sata- интерфейс
То есть на m2 мы хоть ethernet можем привести (ну а что, паяльник у нас есть, а дурная голова рукам покоя не даёт), sas интерфейс может по себе пропускать sata протокол, а scsi у нас вообще в разном физическом исполнении был (хотя логически совместимый)
А pci-e ssd к тому же не всегда NVMe, было время они дисковым контроллером прикидывались
DistortNeo
Да, у меня вот до сих пор OCZ RevoDrive X2 прекрасно работает.
atemik
Для m.2 даже видеокарта есть — ASRock Rack M.2_VGA
rogoz
akrupa
Без претензии к переводчику, хорошая работа. Про оригинальную статью:
Optane появился уже давно. Практически одновременно с NVM-E SSD на обычном NAND. Если он до сих пор не победил NAND во всем, то тут явно есть причины.
Для NVM-E форм-фактора:
Для NV-DIMM еще плюсом:
После прочтения статьи складывается впечатление, что это все технологии будущего. Когда как, на деле, это достаточно старые «нишевые» технологии, которые не взлетели, и, выше, скорее всего, в ближайшее время не взлетят…
drWhy
«Optane появился уже давно.… Если он до сих пор не победил NAND...»
Optane же всё, серверные линейки в том числе.
merlin-vrn
По ссылке только про десктопные написано. И то, обещают, что продолжают работать над ультрабучным накопителем. Откуда про серверные инфа?
drWhy
ЕМНИП попадалась в других новостях, могу ошибаться.
anonymous
По первому пункту — вообще-то у микрона топовый серверный ссд на 3dxpoint, они вместе эту технологию разрабатывали
andrey_aksamentov
Почему то рассказывая о прелестях m.2 забывают сказать о такой важной вещи как питание!
Оно ведь у m.2 на одной плате с контроллерами и всеми основными устройствами, что наверняка лучше, чем у ssd через сата шнурок и питанием по отдельной линии от БП, который зачастую не очень хорошего качества.
stlimafon
С чего бы это питание на материнской плате было лучше, если блок питания исходно швах?
Материнская плата питание берет от того же блока питания.
А индивидуальные силовые элементы на материнской плате идут только для процессора и памяти.
На материнской плате скорее даже хуже будет питания из-за множества тонких токопроводящих дорожек соседствующих друг с другом, нежели питание по сравнительно толстенькому кабелю напрямую от блока питания.
andrey_aksamentov
Суть в том что линия питания одна, разве нет?
quwy
Если бы силовая земля использовалась еще и в качестве сигнальной, это было бы важно. Но в SATA-кабеле есть своя сигнальная земля, так что единство питающей шины тут ни на что не влияет.
siziyman
Я не знаю, как это касается контроллера и прочего добра, но для проца-то материнка вроде стабилизирует и контролирует питание. Если касается — может быть и лучше, нет?
(ещё раз скажу, что это предположение, потому что я искренне не шарю в деталях схемотехники материнок)
sumanai
Питание лучше в m.2 только в том плане, что не требует проводов, как и сигнальная линия.
Elsajalee
Кстати, покупая USB to NVMe на AliExpress обращайте внимание, что выбор товара не только по цвету\типу корпуса, а также по протоколу NVMe и NGFF (даже, если вы искали NVMe). Это как раз на тему разных ключей «b» и «m».
p.s.
" ORICO LSDT M.2 NVME Enclosure USB C… "
(1)NVMe 10Gbps Model
Only support NVME PCI-E protocol M key/M+B Key SSD, with 15cm type-c to type-c cable and 15cm type-c to usb3.0 cable.
(2)NGFF 5Gbps Model
Only support NGFF SATA protocol B key/M+B Key SSD, with 15cm type-c to USB 3.0 cable.
sumanai
NGFF кстати дешевле.
Elsajalee
Именно, поэтому его и берут часто по ошибке.
merlin-vrn
Лет 30 назад мне в руки попалась книженция от Intel. Мол, вот сейчас, буквально через пару лет мы наконец-то выпустим на рынок память по новой технологии Flash, которая полностью заменит ОЗУ! Мол, больше не нужно будет задумываться о потере данных при выключении питания и о сохранении документов!
А постепенно прояснилось, что флеш и изнашивается что-то быстро, и медленноват он, и физический интерфейс к нему как-то неудобно строить, то, сё…
Это было двадцать пять-тридцать лет назад. Как видим, ничего не изменилось, прогнозы всё те же, только набившее оскомину слово «флеш» заменили на новомодное NVMe.
DIITHiTech
Мне вот не понятно, почему нельзя скрестить SSD и RAM на одной плате, добавив туда ионистор (может пару независимых трактов питания для резерва и может еще и маленький li-on), который при пропаже питания делает перенос данных на flash патчингом по журналу? Да сейчас в SSD есть RAM буфер, но почему не взять и сделать основным хранилищем RAM, который по объему равен Flash и в тех редких случаях, когда сервер обесточивается или ресетится синхронизировать flash с RAM.
В основном, конечно, это для серверных применений, тогда мы получаем кучу преимуществ:
— отсутствие проблемы лимитированного количества циклов записи
— можно применять чипы и производственные мощности дешевой RAM предыдущего поколения, которая уже не годится для своего прямого назначения и не востребована рынком, зато цена за 1гб ниже, например как сейчас DDR3, что расширяет для производителя срок службы технологии и повышает окупаемость мощностей.
— минимизация износа flash памяти, особенно для серверных решений (так как flash бы использовалась только при shutdown и запланированных синхронизациях)
— рост производительности IO на порядок — DDR3/4 все таки быстрее Flash SSD, для баз данных это бы означало, что производительность недалеко от in-memory баз, но при этом энергонезависимая.
— можно применять flash более дешевую, с меньшим количеством циклов записи
На полноразмерной PCI плате можно натулить немало так чипов RAM даже DDR3 и выйдет весьма существенные объемы в единицы TБ.
Brak0del
Можно, но будет дорого. Вся суть иерархии памяти в разделении по объему, скоростям и цене. Штабель DDR объёмом в терабайты будет дорогим сам по себе, кроме дороговизны за байт, он будет потреблять много энергии, что тоже дорого.
DIITHiTech
Для серверных накопителей это копейки (посмотрите цену на серверные SSD), к тому же нужно учесть, что рост производительности и отказоустойчивости (упразднение деградации flash) снижает потребность в репликах (что тоже деньги и потребление) и проблемы их синхронизаций, и стоимость их обслуживания. Очевидно, прямое назначение- высоконагруженные базы данных, то есть таких серверов в серверной немного на фоне, и то дополнительное потребление на перезаряд DDR3 не являлось бы каким то заметным недостатком. А если подойти к проектированию с умом, можно было бы включать банки RAM по требованию с каким то механизмом маппинга и уплотнения адресного пространства.
Если прикинуть стоимость 1тб DDR3, себестоимость которых бы снижалась после утрате актуальности и наличия множества невостребованных производственных мощностей, то выходят совсем уж небольшие цифры, если взглянуть прямо сейчас на китайские мелкооптовые цены на чипы taobao- 5$ за 8гб чип, то есть 800гб всего 500$, но при крупном опте с завода вероятно еще меньше. Ну выйдет 800-1000$ за 1Тб RAM/SSD — это страшные деньги для серверных решений?
Brak0del
Вы ж не голые чипы будете ставить, контроллерчик ещё для управления этой связкой потребуется (который не факт, что существует в природе, возможно его ещё проектировать придется и программировать), плата, разводка, труд и прочее. Т.е. итоговый ценник далеко не 500 баксов будет, готовый продукт дороже, чем сумма его комплектующих.
Далее, цену на электричество, потребляемое DDR, не забудьте включить. Из-за электричества стоимость эксплуатации вашего зверя существенно выше, чем обычного флэш ssd и соответствует прочим решениям на базе RAM. А с высоким энергопотреблением, глядишь ещё и не в каждый сервер впишетесь. В общем, сходу вопросов много.
arheops
Было, не взлетело.
Не стали покупать.
en.wikipedia.org/wiki/RAM_drive#Dedicated_hardware_RAM_drives
Говорят, с надежностью были проблемы.
DIITHiTech
Дак 15+ лет назад оно и в принципе не могло взлететь, flash есть уже давно, но SSD взлетели на массовый рынок совсем недавно, по все тем же причинам, а гибрид ssd тем более должен появится позже. Такая технология появилась слишком рано для своего времени на дорогой и относительно примитивной элементной базе. А так, какой DevOps бы отказался от SSD, который не изнашивается от записи и работает на порядок быстрее, пусть и на порядок дороже?
cepera_ang
Зачем нужна DIMM на диске, если в сервере и так есть DIMM и собственно, неглупое ПО, которое прекрасно кеширует и процессит в памяти всё, что нужно, а когда записывает на диск, то это значит "пожалуйста, сохраните эти данные, это важно, без всяких кешей и прочих премудростей, мы сами тут умные, всё закешировали, чтобы если сейчас землетрясение и пожар, но при следующей загрузке данные были в порядке"
czz
посмотрите NVDIMM
IgorPie
Батарейки были на старых RAID. А в целом, во времена царствования 1С приходилось подымать RAM диски, чтобы все летало, особенно перепроводки.
Кому нужны RAM диски — они их используют, бэкапятся на ходу и т.п.
DIITHiTech
Ну RAM диски, особенно программные (т.к используют дорогую память сервера, а не дешевую прошлых поколений), это костыль, дабы обойти узкое место в IO. Есть те, кто откажется от «лишней» серверной производительности без плясок с бубнами, так как с их точки зрения это обычный SSD? Нет, просто это упирается в деньги. Ну и ионисторы более подходящее отказоустойчивое решение.
IgorPie
Серверное оборудование питается через ИБП, ионисторы — не нужны.
DIITHiTech
Это несвязанные вещи. Любой BSOD системы, внезапная смерть аккумуляторов или ИБП под нагрузкой (а вероятность их отказа гораздо выше чем выделенной слаботочной цепи), и все, данные улетели период с последней синхронизации, что может быть и несколько дней. Да и когда синхронизировать? При переходе на ИПБ? Не подходит- данные могут еще добавиться. В конце заряда ИБП? Рискованно- может внезапно отрубится, если аккумуляторы несвежие и проблемные. Накопитель должен быть автономным, лишнее звенья увеличивают вероятность отказа.
citreraydo
Присоединяюсь к предыдущим комментаторам. Мне кажется, что статья или как минимум заголовок кликбейтные. В заголовке написано о «стирании разницы», при этом ничего не написано о главной проблеме гипотетического использования SSD в качестве RAM — ограниченном ресурсе перезаписи. И если для swap я ещё могу с трудом поверить, что благодаря редкой (по сравнению с чтением) записи SSD не сдохнет слишком быстро от наличия swap на нём, то для «настоящей» RAM я не вижу никаких причин считать, что запись происходит относительно редко и что такой SSD не умрёт в считанные недели.
Serge3leo
Правда врезка — лажа, кроме сетки, есть несколько служебных проводов, так-что сквозь каждое колечко проходит больше двух проводов.
Странное предложение прям сразу под фотографией модуля ОЗУ на ферритовых сердечниках, который энергонезависим.
netch80
Непосредственно подсчитать по фото — в каждом ряду по 32 кольца, и 32 ряда. И 32 провода с каждой из 4 сторон — если вы думаете, что там они все внутри этой платки уходят на общий ноль, то это явно не так. Скорее в одном режиме подаётся плюс слева и ноль справа, а в другом — ноль слева и плюс справа. Ну и аналогично для вертикальных.
Три. Вертикальный, горизонтальный — и один считывающий. Но он тонкий, могли удалить при ретушировании (не понимая его смысл).
Serge3leo
Врезка вообще синтезированная и, по-моему, не способная к работе, принципиально.
В большом масштабе, что б кольца более менее было видно (размер кольца ?13 пиксел):
Из лота CDC 6600 64X64 (4 KB) https://www.worthpoint.com/worthopedia/vintage-control-data-cdc-6600-64x64-1803079799, точно такая же микросхема, что и на фото из статьи.
Serge3leo
P.S. Обсуждение оригинального фото статьи на Википедии https://commons.wikimedia.org/wiki/File_talk:Magnetic_core_memory_card.jpg
netch80
Таки да, согласен. Исходное в статье как-то сильно пережато.
На этом ещё и считывающие провода отлично видны.
Serge3leo
Правда не очень понятно, зачем им 8 линий запрета. Возможно, я ещё слишком молод для этого знания?
basmaxx
С разнообразием nvme дисков сам столкнулся недавно. Попал ко мне маленький nvme диск от toshiba. Реально по длине около дюйма (2232). Ни в 1 порт я его не мог пристроить, т.к. крепежные винты на мат.платах и в лаптопах расчитаны на 2280/2260/2242. И разъем как правило устроен так что плата не фиксируется в нем в рабочем положении и диск стоит под углом около 30 градусов к плоскости мат.платы. Пробовал приклеить на добротный двухсторонний скотч, но через неделю с BSOD-ом отвалился (температурный рендж не способствует надежному креплению). Выходом стало пристройка диска в Dell LAtitude. Там диск фиксируется только за счет самого разъема M2 (без всяких винтов). Вот так.
Serge3leo
Крепёж, штука ценная, лучше не терять. Штатный крепёж штатного диска Lenovo E590 при снятой крышке/радиаторе SSD отсека диска.
sumanai
На алишке есть удлинители для таких коротких дисков.
Am0ralist
Вот так поищешь на алишке удлинитель коротких дисков, а куда потом деваться от контекстной рекламы?