ПОРТАТИВНОЕ УСТРОЙСТВО ХРАНЕНИЯ ДАННЫХ, СОДЕРЖАЩЕЕ МНОЖЕСТВО МОДУЛЕЙ ФЛЭШ-ПАМЯТИ

1. Портативное устройство хранения данных, содержащее:
(a) интерфейс, позволяющий использовать это портативное устройство хранения данных для обмена данными с главным компьютером;
(b) контроллер интерфейса, предназначенный для управления интерфейсом;
(c) энергонезависимую память, содержащую по меньшей мере одну флэш-память с одноуровневыми ячейками (ячейками SLC) и по меньшей мере одну флэш-память с многоуровневыми ячейками (ячейками MLC);
(d) главный контроллер, предназначенный для управления записью данных в указанную энергонезависимую память и чтением данных из этой памяти;
причем этот главный контроллер выполнен:
с возможностью, в случае поступления в интерфейс от главного компьютера команды на запись, идентифицирования флэш-памяти среди упомянутых флэш-памятей и записи данных, указанных в этой команде, в идентифицированную флэш-память;
и с возможностью, в случае поступления в интерфейс от главного компьютера команды на чтение, идентифицировния флэш-памяти среди упомянутых флэш-памятей и считывания данных из идентифицированной флэш-памяти.
2. Устройство по п.1, в котором главный модуль управления выполнен с возможностью идентификации флэш-памяти на основании логического адреса, содержащегося в указанной команде, с использованием таблицы отображения, причем в этой таблице отображения, предназначенной для хранения соответствия между физическими и логическими адресами, последовательность логических адресов соответствует с чередованием предварительно заданному количеству блоков адресов SLC ячеек и предварительно заданному количеству блоков адресов MLC ячеек.
3. Устройство по п.2, в котором предварительно заданное количество модулей флэш-памяти с одноуровневыми ячейками превышает предварительно заданное количество модулей флэш-памяти с многоуровневыми ячейками.
4. Устройство по п.3, в котором предварительно заданное количество модулей флэш-памяти с одноуровневыми ячейками равняется двум, а предварительно заданное количество модулей флэш-памяти с многоуровневыми ячейками равняется одному.
5. Способ хранения данных в портативном устройстве хранения данных, содержащем:
(a) интерфейс, позволяющий использовать это портативное устройство хранения данных для обмена данными с главным компьютером;
(b) контроллер интерфейса, предназначенный для управления интерфейсом;
(c) энергонезависимую память, содержащую по меньшей мере одну флэш-память с одноуровневыми ячейками (ячейками SLC) и по меньшей мере одну флэш-память с многоуровневыми ячейками (ячейками MLC);
(d) главный контроллер, предназначенный для управления записью данных в указанную энергонезависимую память и чтением данных из этой памяти;
включающий:
(i) прием команды на запись из главного компьютера,
(ii) идентификацию флэш-памяти среди упомянутых флэш-памятей,
(iii) запись данных, указанных в команде на запись, в идентифицированную флэш-память.
6. Способ по п.5, в котором упомянутый этап (ii) идентификации флэш-памяти включает извлечение логического адреса из команды на запись и получение физического адреса в постоянной памяти на основании таблицы отображения, причем в этой таблице отображения, предназначенной для хранения соответствия между физическими и логическими адресами, последовательность логических адресов соответствует с чередованием предварительно заданному количеству блоков адресов SLC ячеек и предварительно заданному количеству блоков адресов MLC ячеек.
7. Способ по п.6, в котором предварительно заданное количество модулей флэш-памяти с одноуровневыми ячейками превышает предварительно заданное количество модулей флэш-памяти с многоуровневыми ячейками.
8. Способ по п.7, в котором предварительно заданное количество модулей флэш-памяти с одноуровневыми ячейками равняется двум, а предварительно заданное количество модулей флэш-памяти с многоуровневыми ячейками равняется одному.
9. Способ по любому из пп.6-8, в котором упомянутый этап (iii) записи данных включает:
определение, является ли энергонезависимая память, имеющая полученный физический адрес, стертой,
если результат определения является положительным, запись упомянутых данных по полученному физическому адресу;
и если результат определения является отрицательным, назначение нового блока этому логическому адресу, причем упомянутый полученный физический адрес и упомянутый назначенный блок оба являются флэш-памятью с одноуровневыми ячейками (SLC) или оба являются флэш-памятью с многоуровневыми ячейками (MLC).