Энергонезависимое устройство памяти, устройство записи и способ записи
Реферат
Энергонезависимое устройство памяти включает в себя таблицу управления логическими/физическими адресами для управления данными, записанными дискретно в энергонезависимом устройстве памяти, составленном из множества блоков, каждый из которых служит в качестве блока стирания данных и включает в себя соседние страницы, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных. Технический результат - сокращение времени, необходимого для управления памятью. 3 н. и 13 з.п. ф-лы, 18 ил.
Изобретение относится к энергонезависимому устройству памяти, включающему в себя таблицу управления логическими/физическими адресами для управления энергонезависимым устройством памяти, в котором осуществляют дискретную запись данных, состоящим из множества блоков, каждый из которых служит в качестве блока стирания данных и включает в себя соседние страницы, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных, и относится к устройству записи, а также к способу записи для генерации управляющих данных, которые заносят в каталог в таблице управления логическими/физическими адресами и используются при осуществлении доступа к энергонезависимому устройству памяти.
За последние годы было разработано компактное запоминающее устройство (или носитель информации), которое включает в себя твердотельное запоминающее устройство, например флэш-память, устанавливаемое в различные типы аппаратуры, например в видеокамеры для хранения видео, звуковых и компьютерных данных.
Поскольку такое запоминающее устройство является более компактным, чем обычный носитель информации, например 3,5-дюймовый гибкий диск, и для него нужен привод небольшого размера, устройство может быть надлежащим образом установлено в оборудовании, например в видеокамере, в устройстве записи и в переносном компьютере.
Флэш-память имеет свойство, проявляющееся в том, что на срок ее службы влияет количество операций повторной записи и стирания. В отношении файловой системы для записи данных в подобное описанному выше запоминающее устройство и считывание из него данных при использовании флэш-памяти была предложена концепция логических и физических адресов. Согласно этой концепции операции записи и считывания данных в запоминающее устройство и из него осуществляют, используя логические и физические адреса.
Когда в системе выбрана такая конфигурация, то для того, чтобы осуществить доступ к запоминающему устройству, реализованному в системе посредством флэш-памяти, при операции записи или считывания данных в устройство памяти и из него необходимо создать таблицу, указывающую связь между логическими адресами и физическими адресами. Такая таблица именуется ниже таблицей управления логическими/физическими адресами.
В обычной системе таблицу управления логическими/физическими адресами создают в главном блоке аппаратуры, в которой используют запоминающее устройство.
В типовом случае большая таблица управления логическими/физическими адресами имеет объем данных, приблизительно, 16 кбайт, зависящий от объема флэш-памяти. С другой стороны, объем памяти ОЗУ (оперативного запоминающего устройства), используемый в однокристальном микропроцессоре главного блока, равна всего лишь нескольким десяткам килобайт. Таким образом, если таблица управления логическими/физическими адресами содержится в ОЗУ, которое встроено в используемый в главном блоке микропроцессор, то большая часть области памяти ОЗУ будет занята таблицей управления логическими/физическими адресами. Таким образом, весьма сложно хранить таблицу управления логическими/физическими адресами во встроенном в микропроцессор ОЗУ без потери производительности обработки микропроцессора. Помимо этого, дешевый микропроцессор может иметь объем ОЗУ всего лишь, приблизительно, 10 кбайт. В этом случае таблицу управления логическими/физическими адресами невозможно хранить во встроенном ОЗУ такого микропроцессора вследствие того, что размер таблицы управления логическими/физическими адресами превышает объем ОЗУ.
Для того чтобы решить описанные выше проблемы, главный блок, в котором используют запоминающее устройство, выполненное в виде флэш-памяти, снабжают внешним ОЗУ, которое может быть использовано для хранения таблицы управления логическими/физическими адресами.
Однако внешнее ОЗУ вызывает проблемы, связанные с повышением стоимости и увеличением энергопотребления из-за дополнительной мощности, требуемой для работы внешнего ОЗУ. В частности, если центральное устройство является переносным устройством с питанием от аккумулятора, то проблема увеличенного энергопотребления ставит другую серьезную проблему, воздействующую на срок службы батареи.
Кроме того, когда запоминающее устройство вынимают из главного блока, то информация, записанная в таблице управления логическими/физическими адресами, хранящейся во внешнем ОЗУ, стирается. Обычно запись информации в таблицу управления логическими/физическими адресами осуществляют каждый раз при установке запоминающего устройства в главный блок.
При формировании таблицы управления логическими/физическими адресами микропроцессор главного блока проверяет внутреннее состояние запоминающего устройства, установленного в главном блоке, создавая информацию в таблице управления логическими/физическими адресами как части системы управления файлами. Затем таблицу управления логическими/физическими адресами сохраняют во внешнем ОЗУ.
Время, которое требуется для выполнения такой подготовительной обработки, равно, по меньшей мере, примерно нескольким секундам. В случае дешевого микропроцессора с низкими возможностями обработки требуемая продолжительность времени обработки равна целому кратному этой длительности в несколько секунд. Например, поскольку доступ для записи или считывания данных в запоминающее устройство или из него может быть осуществлен только после того, как завершена подготовительная обработка, то время, затрачиваемое на выполнение подготовительной обработки, представляется пользователю временем ожидания. Если принять во внимание, что использование аппаратуры осуществляют желаемым для пользователя образом, то время, требуемое для выполнения такой подготовительной обработки, необходимо сократить в максимальной степени.
Задачей настоящего изобретения является создание энергонезависимого устройства памяти, включающего в себя таблицу управления логическими/физическими адресами и устройство записи, а также способа записи для генерации управляющих данных, которые заносят в каталог в таблице управления логическими/физическими адресами и используют при осуществлении доступа к энергонезависимому устройству памяти, причем энергонезависимое устройство памяти предоставляет возможность микропроцессору, имеющему всего лишь малый объем оперативной памяти, использовать таблицу управления логическими/физическими адресами при доступе к энергонезависимому устройству памяти.
В соответствии с первым аспектом изобретения, предложено энергонезависимое устройство памяти, которое дает возможность микропроцессору, имеющему всего лишь малый объем оперативной памяти, использовать таблицу управления логическими/физическими адресами при доступе к энергонезависимому устройству памяти, при этом область памяти энергонезависимого устройства памяти включает в себя область основных данных, включающую в себя любой из блоков, включающих в себя множество соседних страниц, каждую из которых используется для записи идентификатора, служащего для распознавания основных данных и управляющих данных и для записи основных данных; и область управляющих данных, включающую в себя любой из блоков, включающих в себя множество соседних страниц, каждая из которых используется для записи идентификатора, служащего для распознавания основных данных и управляющих данных и для записи управляющих данных, отображающих соотношения, ставящие в соответствие логические адреса с физическими адресами, причем логические адреса присвоены записанным в блоках фрагментам данных, а физические адреса показывают порядок физического расположения блоков.
В соответствии с вторым аспектом изобретения, предложено устройство записи, которое осуществляет генерацию управляющих данных, заносимых в каталог в таблице управления логическими/физическими адресами и используемых при осуществлении доступа к энергонезависимому устройству памяти, включающее в себя средство определения атрибутов для определения того, являются ли, записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными; средство генерации идентификатора для генерации идентификатора, указывающего, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными в соответствии с результатом определения, полученным на выходе средства определения атрибутов; и средство управления памятью для синтезирования записываемых в энергонезависимое устройство памяти данных и идентификатора, полученного на выходе средства генерации идентификатора, и записи синтезированных данных в энергонезависимое устройство памяти.
В соответствии с третьим аспектом изобретения, предложен способ записи, в котором осуществляют генерацию управляющих данных, которые заносят в каталог в таблице управления логическими/физическими адресами и используют при осуществлении доступа к энергонезависимому устройству памяти, включающий в себя следующие этапы: определение атрибутов, при котором определяют, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными; генерация идентификатора, при которой осуществляют генерацию идентификатора, указывающего, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными в соответствии с результатом определения, полученным при операции определения атрибутов; синтезирование записываемых в энергонезависимое устройство памяти данных и идентификатора, полученного на этапе генерации идентификатора, и запись синтезированных данных в энергонезависимое устройство памяти.
На Фиг.1 представлена блок-схема, на которой показана конфигурация традиционной известной системы, включающей в себя главный блок и планарное устройство памяти;
На Фиг.2 показана схема интерфейса между микропроцессором, используемым в главном блоке, и планарным устройством памяти в известной системе;
На Фиг.3 представлена блок-схема системы, включающей в себя главный блок и планарное устройство памяти, выполненной в соответствии с возможным вариантом осуществления изобретения;
Фиг.4 - пояснительная схема интерфейса между микропроцессором в главном блоке и планарным устройством памяти в возможном варианте осуществления изобретения;
Фиг.5А - вид спереди планарного устройства памяти;
Фиг.5Б - вид сверху планарного устройства памяти;
Фиг.5В - вид сбоку планарного устройства памяти;
Фиг.5Г - вид снизу планарного устройства памяти;
Фиг.6 - пояснительная схема, иллюстрирующая иерархическую структуру обработки файловой системы, реализованную в возможном варианте осуществления изобретения;
Фиг.7А - схема сегмента в физической структуре данных флэш-памяти;
Фиг.7Б - схема блока начальной загрузки в физической структуре данных флэш-памяти;
Фиг.7В - иллюстрация резервной копии блока начальной загрузки в физической структуре данных флэш-памяти;
Фиг.7Г - иллюстрация блока в физической структуре данных флэш-памяти;
Фиг.7Д - схема страницы в физической структуре данных флэш-памяти;
Фиг.7Е - схема избыточной части страницы в физической структуре данных флэш-памяти;
Фиг.8 - иллюстрация содержания флага управления;
Фиг.9А - представления состояния предварительной обработки при описании концепции обработки для обновления данных во флэш-памяти, логическом адресе и физическом адресе;
Фиг.9Б - представление состояния постобработки при описании концепции обработки для обновления данных во флэш-памяти, логическом адресе и физическом адресе;
Фиг.10 - схема, поясняющая принципы управления таблицей управления логическими/физическими адресами;
Фиг.11A - структура данных таблицы управления логическими/физическими адресами согласно рассматриваемому варианту осуществления;
Фиг.11Б - структура данных сегмента таблицы управления логическими/физическими адресами согласно этому варианту осуществления;
Фиг.12А - схема, поясняющая управление неиспользуемыми блоками с использованием таблицы управления логическими/физическими адресами согласно возможному варианту осуществления изобретения;
Фиг.12Б - схема, поясняющая, управление неиспользуемыми блоками с использованием таблицы управления логическими/физическими адресами в обычной системе;
Фиг.13 - представление зависимости между объемом флэш-памяти, количеством блоков, размером блока, размером страницы и размером таблицы управления логическими/физическими адресами;
Фиг.14А - представление физической структуры данных сегмента во флэш-памяти согласно данному варианту осуществления изобретения;
Фиг.14Б - физическая структура данных блока основных данных во флэш-памяти согласно данному варианту осуществления;
Фиг.14В - физическая структура данных блока управляющих данных во флэш-памяти согласно данному варианту осуществления;
Фиг.14Г - иллюстрация структуры таблицы управления логическими/физическими адресами во флэш-памяти согласно данному варианту осуществления;
Фиг.15 - блок-схема последовательности операций в способе записи, реализуемом в устройстве записи, соответствующем рассматриваемому варианту осуществления;
Фиг.16 - последовательность операций в процедуре определения блока, используемого при операции перезаписи данных и соответствующей обработки, выполняемой по таблице управления логическими/физическими адресами в устройстве записи, соответствующем данному варианту осуществления;
Фиг.17 - последовательность операций в процедуре перезаписи основных данных в устройстве записи, соответствующем данному варианту осуществления; и
Фиг.18 - последовательность операций в процедуре перезаписи управляющих данных в устройстве записи, соответствующем данному варианту осуществления;
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Ниже приведено описание варианта осуществления настоящего изобретения. Запоминающее устройство, соответствующее рассматриваемому варианту осуществления, является планарным устройством памяти, имеющим плоскую внешнюю форму.
Описание варианта осуществления приведено в следующем порядке.
1. Внешний вид устройства памяти
2. Формат памяти
2-1. Иерархическая структура обработки файловой системы памяти
2-2. Физическая структура данных
2-3. Концепция физических и логических адресов
2-4. Таблица управления логическими/физическими адресами согласно возможному варианту осуществления
3. Конфигурация системы
1. Внешний вид устройства памяти
Планарное устройство 1 памяти представляет собой запоминающее устройство, выполненное в соответствие с настоящим изобретением, как показано на Фиг.5А, 5Б, 5В и 5Г.
Планарное устройство 1 памяти содержит плоский корпус, подобный показанному на Фиг.5А, 5Б, 5В и 5Г, и обычно имеет заданный объем памяти. В этом варианте осуществления запоминающее устройство представляет собой флэш-память.
На Фиг.5А, 5Б, 5В и 5Г показаны соответственно вид сверху, вид спереди, вид сбоку и вид снизу корпуса, который, например, имеет вид пластмассового формованного изделия, имеющего типичную длину W11, равную 60 мм, и типичную ширину W12, равную 20 мм, как показано на Фиг.5Б, и типичную высоту W13, равную 2.8 мм, как показано на Фиг.5А.
Блок 2 контактов, который сформирован на поверхности корпуса, имеет 9 электродов, расположенных таким образом, что они проходят от нижней части передней стороны к стороне основания. Запись данных в устройство внутренней памяти или их считывание из него осуществляют через блок 2 контактов.
Как показанно на виде сверху, в верхнем левом углу корпуса выполнен срез 3. Срез 3 предотвращает, например, неверную вставку планарного устройства 1 памяти в механизм установки/съема корпуса в накопителе центрального устройства.
Основание корпуса имеет ребристую поверхность 4 для предотвращения проскальзывания корпуса, что улучшает удобство использования корпуса.
Кроме того, на основании выполнен ползунковый переключатель 5 для предотвращения непреднамеренного стирания данных, хранящихся в устройстве внутренней памяти.
2. Формат памяти
2-1. Иерархическая структура обработки файловой системы памяти
В последующем описании приведено объяснение формата, применяемого в системе, в которой планарное устройство 1 памяти используют в качестве носителя записи.
На Фиг.6 показана иерархическая структура обработки файловой системы, в которой планарное устройство 1 памяти используют в качестве носителя записи.
Как показано на Фиг.6, иерархическая структура обработки файловой системы включает в себя верхний уровень прикладной обработки, за которым последовательно идут уровень обработки управления файлами, уровень логических адресов, уровень физических адресов и уровень доступа к флэш-памяти, находящийся внизу иерархической структуры. Уровень обработки управления файлами в иерархической структуре представляет собой так называемую таблицу размещения файлов (ТРФ). Фиг.6 также иллюстрирует концепцию логических и физических адресов, которая будет описана ниже.
2-2.Физическая структура данных
На Фиг.7А по Фиг.7Е показана физическая структура данных флэш-памяти, используемой в качестве запоминающего устройства в планарном устройстве 1 памяти.
Область памяти флэш-памяти разделена на сегменты, то есть, каждый из блоков основных данных имеет фиксированную длину. Размер сегмента установлен равным 4 Мб или 8 Мб. Таким образом, количество сегментов, образующих флэш-память, изменяется в зависимости от объема флэш-памяти.
Как показано на Фиг.7А, сегмент дополнительно разделен на блоки, каждый из которых представляет собой блок данных, размер которого установлен равным 8 кбайт или 16 кбайт. Сегмент, по существу, разделен на 512 блоков, а именно, блоки от 0-го до n-го, где n=511, что показано на Фиг.7А.
Однако допускается, что флэш-память включает в себя дефектную область, которая включает в себя вплоть до заданного количества блоков. Дефектная область представляет собой поврежденную область, в которую запись данных не может быть осуществлена. Таким образом, количество действующих блоков, в которые фактически может быть осуществлена запись данных, является меньшим, чем 512, то есть, в действительности n меньше, чем 511.
Как показано на Фиг.7А, 2 блока в головной части блоков от 0 до n, а именно блоки 0 и 1, называют блоками начальной загрузки. Однако в действительности в качестве блоков начальной загрузки используют 2 блока в головной части действующих блоков, т.е. не обязательно блоки 0 и 1.
Остальные блоки являются блоками пользователя для хранения данных пользователя.
Как показано на Фиг.7Г, блок дополнительно разделен на страницы с 0-й по m. Как показано на Фиг.7Е, страница включает в себя область данных из 512-ти байт и избыточную часть из 16 байт, что дает фиксированный размер, равный 528 байт. Следует отметить, что структура избыточной части будет описана позже со ссылками на Фиг.7Е.
Количество страниц в блоке равно 16-ти для размера блока 8 кбайт и 32-м для размера блока 16 кбайт.
Структура блока, показанная на Фиг.7Г, и структура страницы, показанная на Фиг.7Д, относятся как к блокам начальной загрузки, так и к блокам пользователя.
Данные записывают во флэш-память и считывают из нее постранично. Однако стирание данных из флэш-памяти осуществляют поблочно. Флэш-память отличается тем, что данные не могут быть записаны в ту область, в которую ранее уже были записаны другие данные. Таким образом, новые или замещающие данные должны быть записаны в страницу, которую система управления файлами показывает как неиспользованную область. Система управления файлами изменяет состояние блока "используемое" на "неиспользуемое", просто изменяя конкретные данные для блока в таблице, управляющей состоянием блоков, на новое значение, указывающее, что блок является неиспользуемым блоком, не стирая содержимое блока. По этой причине, перед записью данных в этот неиспользуемый блок необходимо осуществить стирание его содержимого. Поскольку, как описано выше, стирание содержимого может быть осуществлено только поблочно, то новые или замещающие данные в действительности записывают во флэш-память поблочно, а не постранично.
Как показано на Фиг.7Б, заголовок сохраняют на странице 0 первого блока начальной загрузки. Информация, в которой указан адрес, указывающий положение начальных неправильных данных, сохраняют на странице 1. На странице 2 сохраняют информацию, называемую СДП/ИИН (структура данных платы/информация идентификатора накопителя).
Как показано на Фиг.7В, второй блок начальной загрузки используют в качестве области резервного копирования.
16-Байтовая избыточная часть, показанная на Фиг.7Д, имеет структуру, изображенную на Фиг.7Е.
Как показано на Фиг.7Е, первые 3 байта избыточной части, а именно байты с 0-го по 2-й, являются областью перезаписи, которая может быть перезаписана в зависимости от обновления содержимого области данных. Дня большей определенности, байт 0 используют для хранения состояния блока, а байт 1 используют для хранения состояния данных (данные Флага Блока). Предварительно заданное количество старших битов в байте 2 используют для хранения состояния обновления (состояние обновления).
По существу, содержимое байтов с 3-го по 15-й неизменно в соответствии с данными, хранящимися в странице. То есть, эти байты представляют собой область для хранения информации, которая не может быть перезаписана.
Более конкретно, флаг управления (данные Блока) хранят в байте 3, а логический адрес (Логический Адрес) хранят в области, включающей в себя следующую область из 2-х байтов, а именно байты 4 и 5.
Следующую область из 5-ти байтов, включающую в себя байты с 6-го по 10-й, используют в качестве области резерва формата. Следующую область из 2-х байт, включающую в себя байты 11-й и 12-й, используют для хранения КИО (кода с исправлением ошибок) распределенной информации для исправления ошибок резерва формата.
Остальные байты с 13-го по 15-й используют для хранения КИО данных для исправления ошибок данных, хранящихся в области данных, показанной на Фиг.7 Д.
Как показано на Фиг.8, содержимое битов с 7-го по 0-й флага управления, хранящегося в байте 3 избыточной части, показанной на Фиг.7Е, задают отдельно.
Биты 7, 6, 1 и 0 являются незаданными зарезервированными битами.
Бит 5 включает в себя флаг, указывающий, имеет ли силу разрешение доступа к блоку или нет. Более конкретно, значение 1 указывает, что может быть осуществлен свободный доступ к блоку, а значение 0 указывает, что блок защищен от считывания. Бит 4 включает в себя флаг описания запрета копирования, значение 1 которого означает, что операция копирования разрешена, а значение 0 означает, что операция копирования запрещена.
Бит 3 представляет собой флаг таблицы управления, указывающий, действительно ли блок является блоком для хранения таблицы управления логическими/физическими адресами, которая описана ниже. Более конкретно, установленное в бите 3 значение 0 указывает, что блок является блоком для хранения таблицы управления логическими/физическими адресами. С другой стороны, установленное в бите 3 значение 1 указывает, что блок не является блоком для хранения таблицы управления логическими/физическими адресами.
Бит 2 представляет собой системный флаг. Значение 1 указывает, что блок является блоком пользователя, а значение 0 указывает, что блок является блоком начальной загрузки.
Фиг.13 поясняет связь между объемом флэш-памяти и количеством блоков или количеством сегментов.
Как показано на чертеже, объем флэш-памяти планарного устройства 1 памяти установлен равным 4 Мб, 8 Мб, 16 Мб, 32 Мб, 64 Мб или 128 Мб.
В случае минимального объема памяти, равного 4 Мб, размер блока установлен равным 8 кбайт, а количество блоков равно 512. То есть, объем памяти 4 Мб как раз равен размеру сегмента. Планарное устройство 1 памяти, объем флэш-памяти которого равен 8 Мб, включает в себя 1024 блока, размер каждого из которых установлен равным 8 кб, как описано выше. Эти 1024 блока образуют 2 сегмента. Кроме того, как описано выше, блок объемом 8кб включает в себя 16 страниц.
Однако, в случае планарного устройства 1 памяти с объемом флэш-памяти, равным 16 Мб, размер блока может быть равен 8 кб или 16 кб. Таким образом, планарное устройство 1 памяти может включать в себя 2048 блоков по 8 кб (или 4 сегмента) или 1024 блока по 16 кб (или 2 сегмента). Блок из 16 кб включает в себя 32 страницы.
В случае планарного устройства 1 памяти с объемом флэш-памяти 32 Мб, 64 Мб или 128 Мб размер блока установлен равным 16 кб. Таким образом, планарное устройство 1 памяти с объемом флэш-памяти 32 Мб включает в себя 2048 блоков (или 4 сегмента), а планарное устройство 1 памяти с объемом флэш-памяти 64 Мб включает в себя 4096 блоков (или 8 сегментов). С другой стороны, планарное устройство 1 памяти с объемом флэш-памяти 128 Мб включает в себя 8192 блока (или 16 сегментов).
2-3. Концепция физических и логических адресов
Приведенное ниже описание объясняет концепцию физических и логических адресов, примененную в файловой системе, соответствующей рассматриваемому варианту осуществления изобретения, на примере показанной на Фиг.9А и 9Б операции обновления данных в вышеупомянутой физической структуре данных флэш-памяти.
На Фиг.9А в качестве примера показаны 4 блока, выделенные из сегмента.
Каждому из блоков присвоен физический адрес. Как показано на чертеже, физические адреса увеличиваются в соответствии с физическим размещением блоков в устройстве памяти. Зависимость между блоком и присвоенным блоку физическим адресом является фиксированной. Значения физических адресов, присвоенных этим 4-м блокам, показанные на Фиг.9А, равны 105 для верхнего блока, за которыми следуют по порядку 106, 107 и 108. Следует отметить, что длина реального физического адреса равна 2-м байтам.
В примере, показанном на Фиг.9А, блоки с физическими адресами 105 и 106 являются используемыми блоками, в которых хранятся данные. С другой стороны, блоки с физическими адресами 107 и 108 являются неиспользуемыми блоками или областями без записи, данные из которых были стерты.
Логический адрес представляет собой адрес, присвоенный записанным в блок данным. Логический адрес представляет собой адрес, используемый файловой системой с ТРФ.
В примере, показанном на Фиг.9А, значения логических адресов, присвоенных фрагментам данных в этих 4-х блоках, равны 102 для данных в верхнем блоке, за которыми следуют по порядку 103, 104 и 105. Следует отметить, что длина реального логического адреса также равна 2-м байтам.
Например, в состоянии, показанном на Фиг.9А, данные, хранящиеся по физическому адресу 105, обновляют, то есть его содержимое перезаписывают или частично стирают.
В этом случае в файловой системе флэш-памяти не производят перезапись обновленных данных в тот же самый блок, который предназначен для обновления. Вместо этого обновленные данные записывают в неиспользуемый блок.
То есть, как показано на Фиг.9Б, при обработке (1) данные, хранящиеся по физическому адресу 105, стирают, а затем осуществляют запись обновленных данных в блок по физическому адресу 107, который до сих пор являлся неиспользуемым блоком.
Затем при обработке (2) присвоение логических адресов изменяют так, чтобы логический адрес 102, который был присвоен физическому адресу 105 в состоянии перед процессом обновления данных, показанном на Фиг.9А, был переназначен физическому адресу 107, присвоенному блоку, в котором были записаны обновленные данные, как показано на Фиг.9Б. При этом осуществляют переназначение логического адреса 104, который был присвоен физическому адресу 107 перед процессом обновления данных, на физический адрес 105.
То есть, физический адрес присвоен блоку постоянно, а логический адрес можно рассматривать как адрес, который постоянно присвоен данным, которые имеют размер одного блока и однажды записаны в блок.
При описанной выше перестановке блоков многократный доступ, направленный в одну и ту же область памяти (блок), не производят, что делает возможным продление срока службы флэш-памяти, определяемого количеством выполненных в ней операций записи.
Как описано выше, при перестановке логических адресов между блоками путем воздействия на логический адрес при обработке (2) данные перемещают из физического адреса блока, занятого данными до процесса обновления данных, в физический адрес блока, занятого обновленными данными. Однако, оказывается, что для файловой системы с ТРФ данные остаются по тому же самому логическому адресу, что позволяет надлежащим образом и правильно осуществлять последующий доступ к ним.
Следует отметить, что для упрощения управления обновлением информации, хранящейся в таблице управления логическими/физическими адресами, установлено, что обработка по изменению логических адресов между блоками представляет собой обработку по изменению логических адресов только между блоками, относящимися к одному и тому же сегменту. Другими словами, перестановку логических адресов между блоками различных сегментов не осуществляют.
2-4.Таблица управления логическими/физическими адресами согласно возможному варианту осуществления
Из Фиг.9А и 9Б ясно, что перестановка логических адресов между блоками изменяет логический адрес, присвоенный физическому адресу. Для хранения информации о присвоении логических адресов физическим адресам используют таблицу управления логическими/физическими адресами. Таким образом, чтобы осуществить доступ к флэш-памяти для записи данных во флэш-память или их считывания из нее, требуется таблица управления логическими/физическими адресами. То есть для установления физического адреса, которому поставлен в соответствие логический адрес, указанный файловой системой с ТРФ при доступе, файловая система с ТРФ обращается к таблице управления логическими/физическими адресами. Затем осуществляют доступ к блоку по установленному физическому адресу. И, наоборот, доступ файловой системы с ТРФ к флэш-памяти не может быть осуществлен без таблицы управления логическими/физическими адресами.
В обычной системе, когда планарное устройство 1 памяти установлено в главном блоке, таблицу управления логическими/физическими адресами создает используемый в главном блоке микропроцессор путем проверки логических адресов избыточных частей, показанных на Фиг.7Е, для всех страниц в планарном устройстве 1 памяти и затем сохраняемых в ОЗУ, которое также используется в главном блоке. То есть, планарное устройство 1 памяти не включает в себя информацию, хранящуюся в таблице управления логическими/физическими адресами.
И наоборот, в рассматриваемом варианте осуществления изобретения таблицу управления логическими/физическими адресами запоминают в планарном устройстве 1 памяти, как описано ниже.
На фиг.10 показана структура таблицы управления логическими/физическими адресами, сохраняемой в планарном устройстве 1 памяти в соответствии с настоящим изобретением.
В этом варианте осуществления 2-х байтовым физическим адресам присваивают логические адреса, обычно расположенные в порядке возрастания, указываемые посредством информации о присвоении, хранящейся в созданной таблице управления логическими/физическими адресами.
Следует отметить, что в действительности каждый из логических и физических адресов отображают 2-мя байтами, как описано выше. Количество битов в этих 2 байтах достаточно велико для того, чтобы охватить 8192 блока, образующие флэш-память с максимальным объемом памяти 128 МБ.
Подобно физическим адресам каждый из логических адресов, показанный на Фиг.10, фактически имеет длину 2 байта. Кроме того, каждый из 2-х байтных логических/физических адресов представлен в шестнадцатеричном формате. То есть, число после условного знака '0x* включает в себя шестнадцатеричные цифры. Следует отметить, что шестнадцатеричное представление с использованием условного знака '0х' используют для того, чтобы изобразить шестнадцатеричное число одинаковым образом во всей остальной части описания.
На Фиг.11А и 11Б показана типовая структура таблицы управления логическими/физическими адресами, основанной на концепции, представленной на Фиг.10, согласно этому варианту осуществления. В целях наглядности, 16-байтовая избыточная часть, показанная на Фиг.7Д и 7Е, здесь опущена.
Таблицу управления логическими/физическими адресами в этом варианте осуществления сохраняют в определенном блоке флэш-памяти, что показано на Фиг.11А и 11Б. Следует отметить, что расположение блока для хранения таблицы управления логическими/физическими адресами установлено таким, что он всегда является блоком в последнем сегменте.
Как показано на Фиг.11А, в качестве области для хранения информации таблицы управления логическими/физическими адресами для сегмента 0 используют первые 2 страницы блока, а именно страницы 0 и 1. В случае флэш-памяти с объемом памяти 4 Мб, показанной на Фиг.13, в качестве области для хранения информации таблицы управления логическими/физическими адресами для единственного существующего во флэш-памяти сегмента используют только страницы 0 и 1.
Флэш-память с объемом памяти 8 Мб включает в себя 2 сегмента. В этом случае в качестве области для хранения информации таблицы управления логическими/физическими адресами для сегмента 0 используют страницы 0 и 1, тогда как страницы 2 и 3 используют в качестве области для хранения информации таблицы управления логическими/физическими адресами для сегмента 1.
При соответственном увеличении объема флэш-памяти в качестве области для хранения информации таблицы управления логическими/физическими адресами для дополнительного сегмента флэш-памяти используют следующие 2 страницы. Наконец, флэш-память с максимальным объемом памяти 128 Мб включает в себя 16 сегментов. В этом случае в качестве областей для хранения данных таблицы управления логическими/физическими адресами для всех сегментов, включающих в себя последний сегмент, то есть сегмент 15, используют все страницы. Таким образом, во флэш-памяти с максимальным объемом памяти 128 Мб используют все 32 страницы блока. На Фиг.11А последней страницей блока является страница N, где N равно 31.
Как очевидно из вышеприведенного объяснения, управление данными таблицы управления логическими/физическими адресами осуществляют посегментно.
На Фиг.11Б показана структура данных 2-х страниц, выделенных из таблицы управления логическими/физическими адресами для 1 сегмента. Поскольку, как показано на Фиг.7Д, размер области данных одной страницы равен 512 байт, то данные, приведенные на Фиг.11Б, имеют длину 1024 (=512×2) байта.
Как показано на Фиг.11Б, область данных с 2-мя страницами, включающая в себя 1024 байта, разграничена на подобласти, каждая из которых состоит из 2-х байтов. Подобласти, начинающиеся с байта 0 и заканчивающиеся байтом 991, определяют как подобласти, которым постоянно присвоен логический адрес 0, логический адрес 1 и так далее до логического адреса 495. Таким образом, логический адрес 495 соответствует последним 2-м байтам, а именно байту 990 и байту 991. Каждую из этих 2-байтовых подобластей используют для хранения физического адреса, соответствующему логическому адресу, которому присвоена эта подобласть. Таким образом, согласно этому варианту осуществления перестановку логических адресов между блоками осуществляют как часть операции по обновлению реальных данных, прис