LINUX.ORG.RU
ФорумTalks

Как узнать полную аппаратную ёмкость SSD (physical capacity или raw capacity) и схему её распределения?

 


0

1

Намедни меня очень заинтересовал вопрос касательно оптимального способа выделения ёмкости для резервной области SSD c целью «получить побольше IOPS по записи от Crucial CT1000MX500SSD1 и Kingston SH103S3/120G». Используются для виртуальных машин и игр. Прочитал тут пару древних тредов, в которых было упоминание такого критерия как over-provisioning (далее ОР). О, да я в этой теме «плаваю», появились вопросы... Следом пошла эта статья на хабре и английская википедия (pdf-вложения под индексами [19] и [21] оказались особенно интересными).

Правильно ли я понял, что массивы памяти SSD ЛЮБОГО производителя, во время их изготовления на заводе, при измерении ёмкости ВСЕГДА используют двоичный тип адресации? Т.е. ЛЮБОЙ SSD с пользовательской ёмкостью 1000 ГБ на самом деле имеет на борту 1000 ГиБ (что эквивалентно 1000 * 1.073741824 ≈ 1073.74 ГБ), т.е. ВСЕ, без исключения, терабайтники щеголяют дополнительной резервной областью величиной в 7% от пользовательской ёмкости. Так ли это? В даташитах - тишина. И используется ли она именно для ОР, т.к. служебных нужд еще полно: коррекция ошибок, замена бэд-блоков...

А не может ли случиться так, что производитель заранее поместит на свою плату массив такого объёма в ГиБ, который будет тютелька в тютельку соответствовать заявленному объёму в ГБ? Ведь тогда никакой резервной области для ОР быть не может.

Существует ли способ узнать полную ёмкость массива ячеек (она же рhysical сapacity, она же raw capacity) программным способом из под ОС, программатором, чтобы проверить этот дополнительный процент:
Percentage Over-provisioning = (Physical Capacity - User Capacity) / User Capacity.

Следующая цитата от ребят из Kingston также повергает в раздумья:

«The OP capacity set by the SSD manufacturer can vary in size, depending on the application class of the SSD and the total NAND Flash memory capacity.»

«Тotal NAND Flash memory capacity» неизвестна так же как «OP capacity» - ни в одном из нагугленных даташитов, для SSD от Kingston или Сrucial, нет упоминаний о данных критериях. А хде пра них можна узнать хоть што нибуть? Графические и консольные утилиты от производителя бесполезны: они показывают только тот процент объёма ОР, который выделяется из пользовательского пула (манипуляции с переменной MAX_LBA_ADDRESS). В этом источнике написали, что у крушиала таки есть 24 дополнительных гигабайта (а точно ГИГА, а не ГИБИ? а? а?) предназначенных для ОР, но он неофициальный. В основном же производители рекомендуют «откусить побольше от пирога пользовательской ёмкости и все станет хорошо».

Вот только после всего прочитанного я теперь жадный и хочу вести расчет по следующей схеме: та самая ёмкость от разницы в системах измерения + возможная дополнительная ёмкость для OP предусмотренная самим производителем + ёмкость выделенная из пользовательского пула лично мной = требуемый % от общей ёмкости массива ячеек (пусть будет 15% для примера).

GParted сообщает, что мне доступно для разметки 931.51 ГиБ (1000 ГБ, все верно). Отдавать 15% от них -
это ≈139.7 ГиБ (≈150.03 ГБ) - что-то дюже жирно. Если бы не прочёл выше упомянутые источники - отдал бы, а так... Что получается? (1024 - 931.51) / 931.51 ≈ 10 % (а это ≈92.49 ГиБ) уже есть, тогда от пользовательского пула нужно выделить всего 5 % ёмкости, а не все 15. Т.е. всего ≈46.58 ГиБ (≈50.01 ГБ), что значительно меньше. И это ещё не учтена возможная дополнительная ёмкость от производителя, о которой ничего не известно (снова тот же вопрос: где документальные или эмпирические подтверждения её наличия или отсутствия? я плохо гуглил? просветите меня в таком случае, будьте добры) - тогда, в ряде случаев, может получиться так, что и выделять ничего не надо вовсе.

Прошу подтвердить или опровергнуть правильность рассуждений. Ссылки на источники и особенно даташиты очень приветствуются.

Спасибо за внимание.



Последнее исправление: UncleYar (всего исправлений: 3)

Никак, проприеритарщина.

gadfly ★★
()

Зачем? ССЗБ? где-то может быть микс [T|M]LC/SLC[+DDR_RAM_CACHE]. к тому же может быть и резерв - столько сколько заплатите и сколько вам надо. про 1к и 2^10 тоже помним разницу. в китае вы за деньги phison купите чуть дешевле чем phison но с качеством и поддержкой хуже чем у тир2 бренда. потом мильоны тредов - сдох китай, че творить? даже тир2 бренды с phison сдыхают гораздо реже чем китай. ну а тир1 мало кому доступен на этом форуме.

etwrq ★★★★★
()

Во всех ssd дисках есть overprovisioning, и его размер берется исходя из надежности флеша (количества циклов перезаписи), целевого показателя dwpd (сколько раз в день можно записать весь размер диска в течение гарантийного срока) и требуемой производительности (больше перформанса - больше флеша). Но в общем случае все спрятано в кишках прошивки и известно только вендору. Однако сейчас есть движуха в сторону конфигурируемой надежности - размер одного и того же диска при 0.5 dwpd и при 3 dwpd может различаться на десятки процентов. Плохая новость - об этом парятся только в энтерпрайзном сегменте, на консюмерском рынке всем плевать.

Aphreet
()
Ответ на: комментарий от etwrq

Зачем?

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

к тому же может быть и резерв - столько сколько заплатите и сколько вам надо

Я ни одного даташита не нашёл чтобы узнать сколько там у кого есть этого резерва. Видать и правда дремучий энтерпрайз: всё только по договоренности.

Aphreet, спасибо за пояснения. Ну что ж, видимо действительно никак. Ну да черт с ней, с дополнительной ёмкостью от производителя. Про образовавшуюся ёмкость из-за разницы между 10^12 и 2^40 хоть правда? А то уже при 1 ТиБ - экономия явно налицо. На коробочке-то 1000 ГБ написано и все (как и в даташите). Ежели там и правда 1 ТиБ, то я все сделаю как в расчете выше в ОП-посте, пока винты пустые и можно секьюрэрэйсом пройтись для пущей уверенности.

UncleYar
() автор топика
Ответ на: комментарий от Aphreet

Во всех ssd дисках есть overprovisioning

Вроде как пишут, что в дешёвых десктопных - может и запросто не быть.

Deleted
()
Ответ на: комментарий от UncleYar

разницы между 10^12 и 2^40

маркетологи/производители продают в десятичной. программисты/админы считают в двоичной.
например 512 гигабайт - это 512 миллиардов байт, 512*10^10.
а 512 гибибайт (обозначение МЭК) - это 512*2^30.
покупая ссд на 512 гигабайт - Вы покупаете первый вариант кол-ва байтов на хранителе.
покупая ОЗУ на 16 гигабайт планку, вы покупаете байт оперативной памяти по второму варианту - 16х2^30.

ps. ни разу не видел в цениках объёмы в системе исчисления МЭК.

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 1)
Ответ на: комментарий от etwrq

Проблема в этом:

покупая ссд на 512 гигабайт - Вы покупаете первый вариант кол-ва байтов на хранителе.

Я так тоже раньше думал. Но после прочтения статей от Кента Смита и Джима Бэгли что-то мой шаблон треснул.

512 ГБ - это пользовательская ёмкость, та что доступна для форматирования, да, но по факту там её больше. Меня интересует «насколько больше?» Выше упомянутые источники утверждают, что 512 ГБ - на самом деле 512 ГиБ, разница видна только контроллеру. Т.е. на заводах не отмеряют блины или матрицы в ГБ, только в ГиБ.

В случае с HDD - меня это не беспокоит, а вот с SSD, из-за нового контекста overprovisioning, беспокоит ещё как - расчеты в конце ОП поста. Вот я и спрашиваю так ли это и все ли я правильно понял (бо статьи на английском).

UncleYar
() автор топика

Flash-память в любом случае имеет объём равный степени двойки. А уж как там контроллер её использует, какую часть этих 2^N байт резервирует - вопросы исключительно к контроллеру и его прошивке.

В некоторых флешках есть всякие «быстрые» регионы, «износоустойчивые» регионы и всё такое. Контроллер может их использовать в каких-то целях типа кеширования и пр. и не анонсировать наружу. Но и в этом случае общий объём флеша всё равно будет равен 2^N

Использование десятичных множителей применительно к 8-мибитовым байтам - исключительно маркетинговая шелуха, чтобы циферка Мб/Гб побольше была, и никакого отношения к реальному выравниванию и объёмам памяти не имеет.

Stanson ★★★★★
()
Ответ на: комментарий от UncleYar

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

etwrq ★★★★★
()
Ответ на: комментарий от Avial

Ой, нет! Это же ад. Мне кучу разного реверсить, страшно начинать.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.