Скажем, я пишу Flash Translation Layer для некоторых современных, обычных SSD. Для простоты, скажем, мы работаем с 128 ГБ SSD. Сколько DRAM (НЕ общего объема памяти) я обычно имел бы в своем распоряжении при написании этого FTL? Мне известно, что для многих логик FTL требуется, чтобы сопоставления были записаны в стабильное хранилище, но мне любопытно количество DRAM, которое имеется в распоряжении некоторой прошивки FTL для любых оптимизаций, отображений в памяти, которые она хочет сохранить, и т.д. ,
2 ответа
Это сильно зависит. Вы говорите о кеше, и он может варьироваться до нуля (на очень современных, младших дисках -), до 1 ГБ или более. Поскольку диски становятся больше и быстрее, а оперативная память становится дешевле, это может измениться
Это примерно то же самое, что спрашивать: "Как долго мне нужно связать кусок веревки".
Нет простого способа проверить это, кроме как посмотреть его или открыть диск, чтобы взглянуть. Если вы разработчик для компании, которая купила несколько сотен тысяч дисков, скорее всего, для этого есть API, но общего ответа на это нет.
Вы говорите о контроллере ввода / вывода здесь? На одну из моих флешек MLC выделено 16 МБ, если вы об этом. Также SSD имеют кеш. Они используют DRAM в качестве кэша.