eugeneo писал(а): Пн июл 25, 2022 12:35
Ну ладно убедил.
Только все равно не понял
почему "N число блоков микросхем памяти"
работают быстрее, чем остальные ?
Скорость операция у микросхемы NAND FLASH:
Чтение - быстро
Запись - средне
Стирание - медленно.
Организация памяти NAND FLASH страничная, страницы объединены в блоки. Просто так перезаписать страницу в блоке нельзя, нужно стереть весь блок не потеряв то что в нём было, то получаем кучу лишних операций, чтение например 256 страниц блока-стирание->запись 256 страниц блока, то есть совершенно неоптимально и медленно, но есть решение, сделать из N блоков некую "кучу" в которую можно писать
только изменения, а образно говоря в простое или по переполнению эту кучу распихивать по местам, что приводит к экономии на чтении 256 страниц и стирание блока и копирование 255 страниц (если обновляем 1 страницу), много времени сэкономили ? Очень, но это не всё, куча переполнится, будет распихивание по адресатам этого хлама, что делать что бы это было реже ? увеличить размер "кучи" методом выделение под кучи большего числа блоков микросхемы. Буфер кадров в фотоаппарате нужен для того же самого и работает практически точно так же, могли и догадаться.
К слову посвящается любителям тестировать карты памяти. У современных микросхем NAND Flash размер страницы 16К, это к слову минимальная единица данных которую можно записать... К чему это я. Да к тому что что бы записать 4К нужно прочитать 12 и записать 16, нет, 4к перезаписать нельзя, большая часть карт прочитает 16К, изменит в них 4К и запишет 16К обратно, потому тест записи блоками 4К это не чистый тест записи. И в многоканальных контроллерах минимальный блок записи нужно брать исходя из числа каналов, потому что эти 16К помноженные на число каналов пишутся параллельно.