реклама на сайте
подробности

 
 
> MQX + wear leveling nandflash, очень медленаая скорость чтения/записи
shreck
сообщение Sep 5 2014, 04:35
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



MQX, Kinetis K70;

Захотелось сравнить скорость чтения файла для трех случаев: ramdisk, sdhc карта памяти и nandflash + wearleveling.

На каждом из дисков есть один и тот же файл большого размера.
Читаю в буфер памяти одним куском 1946KB из файла. Примерно так (не показана обработка ошибок и манипулирование с буфером памяти):
Код
const int size = 1946*1024;  // ~1.9MB
uint8_t buf[size];
int rd = 0;
TIME_STRUCT tm1, tm2, diff;
MQX_FILE_PTR fd = _io_fopen("bla-bla", "r");
_time_get(&tm1);
rd = _io_read(fd, buf, size);
_time_get(&tm2);
_io_fclose(fd);
_time_diff(&tm1, &tm2, &diff);
TRACE("bytes to read: %d\nbtytes read: %d\ntime: %d.%d\n", size, rd, diff.SECONDS, diff.MILLISECONDS);

Вот время, затрачиваемое на чтение файла.
ramdisk: 420 мс
Kingston 4GB sdhc, class 10: 311 мс
nandflash MT29F2G08ABAEAH4: 2178 мс !

Я еще могу объяснить разницу времени между ramdisk и картой памяти особенностями форматирования. Но почему так медленно читает nandflash? Дело в медленном wearleveling слое в драйвере? Или что-то еще?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01329 секунд с 7
ELECTRONIX ©2004-2016