энергонезависимое устройство памяти, устройство записи и способ записи

Классы МПК:G06F12/06 адресация физического блока памяти, например адресация по базе, модульная адресация, расширение адресного пространства, выделение памяти
G06F12/10 перенос адреса
Автор(ы):, , , ,
Патентообладатель(и):СОНИ КОРПОРЕЙШН (JP)
Приоритеты:
подача заявки:
1999-07-27
публикация патента:

Энергонезависимое устройство памяти включает в себя таблицу управления логическими/физическими адресами для управления данными, записанными дискретно в энергонезависимом устройстве памяти, составленном из множества блоков, каждый из которых служит в качестве блока стирания данных и включает в себя соседние страницы, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных. Технический результат - сокращение времени, необходимого для управления памятью. 3 н. и 13 з.п. ф-лы, 18 ил.

энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588

энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588 энергонезависимое устройство памяти, устройство записи и способ   записи, патент № 2243588

Формула изобретения

1. Энергонезависимое устройство памяти, имеющее множество блоков, каждый из которых служит в качестве блока стирания данных и включает в себя множество соседних страниц, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных, при этом область памяти энергонезависимого устройства памяти включает в себя область основных данных, включающую в себя любой из упомянутых блоков, включающих в себя множество соседних страниц, каждая из которых используется для записи идентификатора для различения основных данных и управляющих данных между собой и для записи основных данных, и область управляющих данных, включающую в себя любой из упомянутых блоков, включающих в себя множество соседних страниц, каждая из которых используется для записи идентификатора для различения основных данных и управляющих данных между собой и для записи управляющих данных, отображающих взаимосвязи между логическими адресами и физическими адресами, причем логические адреса присваиваются записанным в упомянутых блоках фрагментам данных, а физические адреса указывают на физический порядок расположения упомянутых блоков.

2. Энергонезависимое устройство памяти по п.1, отличающееся тем, что длина основных данных, находящихся в упомянутых страницах области основных данных, равна длине управляющих данных, находящихся в упомянутых страницах области управляющих данных.

3. Энергонезависимое устройство памяти по п.1, отличающееся тем, что управляющие данные представляют собой массив физических адресов, которые расположены в порядке, определяемом логическими адресами, которым соответствуют упомянутые физические адреса.

4. Энергонезависимое устройство памяти по п.1, отличающееся тем, что управляющие данные сохраняются в последнем блоке энергонезависимого устройства памяти.

5. Энергонезависимое устройство памяти по п.1, отличающееся тем, что область памяти дополнительно содержит область хранения атрибутов, и указанная область хранения атрибутов в области памяти, содержащей управляющие данные, включает в себя атрибут, указывающий, что данные, хранящиеся в упомянутой области памяти, являются управляющими данными.

6. Энергонезависимое устройство памяти по п.1, отличающееся тем, что блок, из которого удалены данные, считается неиспользуемым блоком.

7. Энергонезависимое устройство памяти по п.6, отличающееся тем, что физическому адресу блока, являющегося неиспользуемым блоком, соответствует логический адрес, присвоенный упомянутому неиспользуемому блоку.

8. Энергонезависимое устройство памяти по п.6, отличающееся тем, что если новые данные записаны предположительно в занятый блок, в который уже были записаны старые данные, для замены упомянутых старых данных, то упомянутые новые данные записываются в неиспользованный блок, а старые данные удаляются из занятого блока.

9. Устройство записи для записи данных в энергонезависимое устройство памяти, имеющее множество блоков, каждый из которых служит в качестве блока стирания данных и включает в себя множество соседних страниц, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных, при этом область памяти энергонезависимого устройства памяти включает в себя область основных данных, включающую в себя любой из упомянутых блоков, включающих в себя множество соседних страниц, каждая из которых используется для записи идентификатора для различения основных данных и управляющих данных между собой и для записи основных данных, и область управляющих данных, включающую в себя любой из упомянутых блоков, включающих в себя множество соседних страниц, каждая из которых используется для записи идентификатора для различения основных данных и управляющих данных между собой и для записи управляющих данных, отображающих взаимосвязи между логическими адресами и физическими адресами, причем логические адреса присваиваются записанным в упомянутых блоках фрагментам данных, а физические адреса указывают на физический порядок расположения упомянутых блоков, при этом упомянутое устройство включает в себя средство определения атрибутов для определения того, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными, средство генерации идентификатора для генерации идентификатора, указывающего, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными, в соответствии с результатом определения, выданным средством определения атрибутов, и средство управления памятью для синтезирования записываемых в энергонезависимое устройство памяти данных и идентификатора, выданного средством генерации идентификатора, и записи синтезированных данных в энергонезависимое устройство памяти.

10. Устройство записи по п.9, отличающееся тем, что дополнительно включает в себя локальное устройство памяти для временного хранения части управляющих данных, считанных из энергонезависимого устройства памяти.

11. Устройство записи по п.10, отличающееся тем, что величина упомянутой части управляющих данных, хранящихся в локальном устройстве памяти, достаточно велика для осуществления доступа к энергонезависимому устройству памяти.

12. Устройство записи по п.9, отличающееся тем, что дополнительно содержит средство поиска для поиска в энергонезависимом устройстве памяти одной из упомянутых страниц, которую считают неиспользуемой страницей, при этом, если первые данные, существующие в энергонезависимом устройстве памяти, заменяются вторыми данными, то средство поиска осуществляет поиск в энергонезависимом устройстве памяти неиспользуемой страницы, а затем средство управления памятью осуществляет запись вторых данных в упомянутую неиспользуемую страницу, найденную средством поиска, и удаляет первые данные.

13. Способ записи для записи данных в энергонезависимое устройство памяти, имеющее множество блоков, каждый из которых служит в качестве блока стирания данных и включает в себя множество соседних страниц, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных, в котором область памяти энергонезависимого устройства памяти включает в себя область основных данных, включающую в себя любой из упомянутых блоков, включающих в себя множество соседних страниц, каждая из которых используется для записи идентификатора для различения основных данных и управляющих данных между собой и для записи основных данных, и область управляющих данных, включающую в себя любой из упомянутых блоков, включающих в себя множество упомянутых соседних страниц, каждая из которых используется для записи идентификатора для различения основных данных и управляющих данных между собой и для записи управляющих данных, отображающих взаимосвязи между логическими адресами и физическими адресами, причем логические адреса присваиваются записанным в упомянутых блоках фрагментам данных, а физические адреса указывают на физический порядок расположения упомянутых блоков, при этом упомянутый способ записи включает этапы определения атрибутов, при котором определяют, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными, генерации идентификатора, при которой осуществляют генерацию идентификатора, указывающего, являются ли записываемые в энергонезависимое устройство памяти данные основными данными или управляющими данными, в соответствии с результатом, полученным на этапе определения атрибутов, и синтезирования записываемых в энергонезависимое устройство памяти данных и идентификатора, полученного на этапе генерации идентификатора, и записи синтезированных данных в энергонезависимое устройство памяти.

14. Способ записи по п.13, отличающийся тем, что используют локальное устройство памяти для временного хранения части управляющих данных, считанных из энергонезависимого устройства памяти.

15. Способ записи по п.14, отличающийся тем, что величина упомянутой части управляющих данных, хранящихся в локальном устройстве памяти, достаточно велика для осуществления доступа к энергонезависимому устройству памяти.

16. Способ записи по п.13, отличающийся тем, что первые данные, хранящиеся в энергонезависимом устройстве памяти, заменяют вторыми данными путем осуществления поиска в энергонезависимом устройстве памяти одной из указанных страниц, которая считается неиспользуемой страницей, и осуществления записи вторых данных в упомянутую неиспользуемую страницу, найденную при поиске, а первые данные удаляют.

Описание изобретения к патенту

Изобретение относится к энергонезависимому устройству памяти, включающему в себя таблицу управления логическими/физическими адресами для управления энергонезависимым устройством памяти, в котором осуществляют дискретную запись данных, состоящим из множества блоков, каждый из которых служит в качестве блока стирания данных и включает в себя соседние страницы, каждая из которых имеет фиксированную длину и служит в качестве блока считывания/записи данных, и относится к устройству записи, а также к способу записи для генерации управляющих данных, которые заносят в каталог в таблице управления логическими/физическими адресами и используются при осуществлении доступа к энергонезависимому устройству памяти.

За последние годы было разработано компактное запоминающее устройство (или носитель информации), которое включает в себя твердотельное запоминающее устройство, например флэш-память, устанавливаемое в различные типы аппаратуры, например в видеокамеры для хранения видео, звуковых и компьютерных данных.

Поскольку такое запоминающее устройство является более компактным, чем обычный носитель информации, например 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-байтовых подобластей используют для хранения физического адреса, соответствующему логическому адресу, которому присвоена эта подобласть. Таким образом, согласно этому варианту осуществления перестановку логических адресов между блоками осуществляют как часть операции по обновлению реальных данных, присвоение которым логических адресов выполняют так, как описано выше, изменяя присвоенные физическим адресам логические адреса, которые хранят как данные в таблице управления логическими/физическими адресами. В более конкретной формулировке присвоенные физическим адресам логические адреса изменяют путем замены физических адресов в 2-х страничной области данных, показанной на Фиг.11Б, между 2-байтовыми подобластями, которые постоянно присвоены логическим адресам.

Остальная 32-байтовая область в 2-х страничной области данных от байта 992 до байта 1023 используют для хранения физических адресов остальных 16 блоков сегмента. Таким образом, можно осуществлять управление физическими адресами остальных 16 блоков. Оставшийся блок служит обычно в качестве так называемого рабочего блока, который, например, используют для временного хранения данных, которые будут перезаписаны при операции поблочного обновления данных.

Несмотря на то, что, как описано ранее, 1 сегмент включает в себя 512 блоков, в структуре таблицы, показанной на Фиг.11А и 11Б, только 496 блоков являются управляемыми блоками, которым присвоены логические адреса от 0 до 495. А остальные используют для хранения физических адресов остальных описанных выше блоков, причем во флэш-памяти неизбежно существование некоторых дефектных блоков, которые определяются как блоки, непригодные для использования. Действительно, остальные блоки включают в себя довольно большое количество дефектных блоков.

Реально, достаточно использовать 496 управляемых блоков в качестве действующих блоков, в которые может быть осуществлена запись данных или из которых они могут быть стерты.

Как описано выше, блок для хранения таблицы управления логическими/физическими адресами включает в себя страницы, каждая из которых включает в себя избыточную часть для хранения флага управления, что показано на Фиг.8. Для указания того, что блок используют для хранения таблицы управления логическими/физическими адресами, 3-й бит флага управления установлен равным 0.

При обновлении блока, содержащего таблицу управления логическими/физическими адресами, то есть при изменении содержимого таблицы управления логическими/физическими адресами, осуществляют обработку, заключающуюся в перестановке всех без исключения логических адресов между блоками, описание которой приведено выше со ссылками на Фиг.9А и 9Б. То есть, блок для хранения таблицы управления логическими/физическими адресами не является детерминированным, иными словами, невозможно определить блок, предназначенный для хранения таблицы управления логическими/физическими адресами.

Таким образом, файловая система с ТРФ осуществляет обращения к флэш-памяти для поиска в устройстве памяти того блока, в котором 3-й бит его флага управления установлен равным 0, и опознает такой блок, как блок для хранения таблицы управления логическими/физическими адресами. Для того, чтобы облегчить файловой системе с ТРФ поиск во флэш-памяти блока для хранения таблицы управления логическими/физическими адресами, в этом варианте осуществления задано, что таблица управления логическими/физическими адресами должна всегда храниться в блоке, принадлежащем к последнему сегменту флэш-памяти, то есть сегменту, который имеет номер последнего сегмента. Соответственно, файл ТРФ должен осуществлять поиск блока для хранения таблицы управления логическими/физическими адресами только в последнем сегменте. То есть, файлу ТРФ нет необходимости осуществлять поиск блока для хранения таблицы управления логическими/физическими адресами во всех сегментах флэш-памяти.

Запоминание в блоке таблицы управления логическими/физическими адресами, показанной на Фиг.11А и Фиг.11Б, обычно осуществляют в процессе изготовления планарного устройства 1 памяти.

Ниже приведен пример со ссылками на фиг.14А, 14Б, 14В и 14Г, где показана флэш-память, имеющая объем 4 Мб. Как объяснялось выше со ссылками на Фиг.13, 4-х мегабайтная флэш-память включает в себя только 1 сегмент, включающий в себя 512 блоков, каждый из которых имеет по 16 страниц.

Как показано на Фиг.14А, сегментом флэш-памяти является сегмент 0, каждый из блоков 0 и 1 которого служит в качестве блока начальной загрузки. Поскольку сегмент 0 также является последним сегментом, то в нем хранят как основные данные, так и управляющие данные. Физический адрес блока 0 равен 0x0000 и не имеет соответствующего ему логического адреса. К тому же физический адрес блока 1 равен 0x0001 и также не имеет соответствующего ему логического адреса.

Блок 2, находящийся по физическому адресу 0x0002, используют для хранения основных данных, которым присвоен логический адрес 0x0001. Аналогичным образом, блок 3, находящийся по физическому адресу 0x0003, используют для хранения основных данных, которым присвоен логический адрес 0x0000. Подобным же образом блок 4, находящийся по физическому адресу 0x0004, используют для хранения основных данных, которым присвоен логический адрес 0x0004, а блок 5, находящийся по физическому адресу 0x0005, используют для хранения основных данных, которым присвоен логический адрес 0x0003, К тому же блок 6, находящийся по физическому адресу 0x0006, используют для хранения основных данных, которым присвоен логический адрес 0x0002, а блок 511, находящийся по физическому адресу 0x01, FF используют для хранения основных данных, которым присвоен логический адрес 0xIFD. С другой стороны, блок 123, находящийся по физическому адресу 0х007В, используют для хранения управляющих данных, которым присвоен логический адрес 0х0005.

На Фиг.14Б показан блок 2, используемый для хранения основных данных, а на Фиг.14В показан блок 123, используемый для хранения управляющих данных. Как показано на Фиг.14Б и 14В, нет никакого различия в конфигурации между блоками, используемыми для хранения основных данных и управляющих данных. Различие между этими 2 блоками состоит в различных значениях флага таблицы управления, хранящегося в избыточной части страницы 0 каждого из блоков. Рассмотрим в качестве примера блоки, показанные на Фиг.14Б и 14В. Значение флага таблицы управления в блоке 2, показанном на Фиг.14Б, равно 1 и указывает на то, что этот блок используют для хранения основных данных. С другой стороны, значение флага таблицы управления в блоке 123, показанном на Фиг.14В, равно 0 и указывает на то, что этот блок используют для хранения управляющих данных. Как показано на Фиг.14Б и 14В, поле логического адреса в избыточной части блока используют для хранения логического адреса, присвоенного хранящимся в блоке данным.

Для упрощения чертежей каждый из адресов: логический адрес в избыточной части, показанной на Фиг.14Б, логический адрес в избыточной части, показанной на Фиг.14В, и физические адреса в таблице управления логическими/физическими адресами, показанной на Фиг.14Г, выражены в шестнадцатеричном формате без кода Ох. Если их не используют особым образом, то содержимое каждой из заштрихованных частей в избыточных частях блоков, показанных на Фиг.14Б и 14В, неизвестно.

Как описано выше, в этом примере показанный на Фиг.14В блок используют для хранения управляющих данных для флэш-памяти объемом 4 Мб. Как показано на Фиг.14В, для хранения управляющих данных, отображающих зависимости между логическими адресами и физическими адресами для сегмента 0 флэш-памяти объемом 4 Мб, включая дополнительные блоки, требуются только 2 страницы из блока. Остальные страницы блока не используют. Структура данных таблицы управления логическими/физическими адресами, хранящейся в этих 2 страницах, показана на Фиг.14Г. Для хранения управляющих данных, отображающих зависимости между логическими адресами и физическими адресами для одного сегмента, требуются 2 страницы. Таким образом, в случае флэш-памяти, включающей в себя большее количество сегментов, в блоке используют большее количество страниц, даже при том, что всегда в блоке имеются неиспользуемые страницы, как показано на Фиг.14В, за исключением флэш-памяти объемом 128 Мб, показанной на Фиг.13.

На Фиг.14Г показана таблица управления логическими/физическими адресами, содержащая управляющие данные, хранящиеся в страницах 0 и 1 блока, показанного на Фиг.14В. Следует заметить, что для упрощения Фиг.14Г для логического адреса 0х0000 просто введено сокращение: логический адрес 0, и что это сокращение введено для других логических адресов, показанных на Фиг.14Г. На Фиг.14Г не показано в явном виде, какой из этих 2-х байтов используют для хранения старшего байта физического адреса, а какой из этих 2 байтов используют для хранения младшего байта физического адреса.

С физической точки зрения флэш-память объемом 4 Мб включает в себя 512 блоков, что показано на Фиг.13. Так как во флэш-памяти существуют дефектные блоки, то, как показано на Фиг.14Г, логическим адресам присваивают только максимум 493 блока за исключением 2-х блоков начальной загрузки.

Как показано на Фиг.14А, логическому адресу 0х0000 присваивают данные, хранящиеся в блоке, имеющем физический адрес 0х0003. В этом случае физический адрес 0х0003 хранят в 2-х байтах таблицы управления логическими/физическими адресами из Фиг.14Г, которые присвоены логическому адресу 0. К тому же физический адрес 0х0002, хранящийся в таблице управления логическими/физическими адресами, присвоен логическому адресу 1, а физический адрес 0х0006, хранящийся в таблице управления логическими/физическими адресами, присвоен логическому адресу 2. Подобным же образом, физический адрес 0х0005, хранящийся в таблице управления логическими/физическими адресами, присвоен логическому адресу 3, а физический адрес 0х0004, хранящийся в таблице управления логическими/физическими адресами, присвоен логическому адресу 4. К тому же физический адрес 0х007В, хранящийся в таблице управления логическими/физическими адресами, присвоен логическому адресу 5, а физический адрес 0х01FF, хранящийся в таблице управления логическими/физическими адресами, присвоен логическому адресу 493.

При обращении к данным в планарном устройстве 1 памяти файловая система преобразовывает логический адрес, указанный при обращении, в физический адрес блока, содержащего данные, используя таблицу управления логическими/физическими адресами. Предположим, например, что прикладная программа выдает команду осуществить последовательное считывание данных из логических адресов 0х0002, 0х0003 и 0х0004 в файловую систему. В этом случае файловая система обрабатывает команду в соответствии со следующей процедурой.

Во-первых, в планарном устройстве 1 памяти, показанном на Фиг.14А, осуществляют поиск блока, имеющего флаг таблицы управления, равный 0, в избыточной части его 0-й страницы. В результате поиска находят блок 123 для хранения таблицы управления логическими/физическими адресами. В этом случае, так как очевидно, что логические адреса 0х0002, 0х0003 и 0х0004 соответствуют первой части таблицы управления логическими/физическими адресами, и так как размер встроенного ОЗУ для временного хранения управляющих данных таблицы управления логическими/физическими адресами мал, то осуществляют считывание только управляющих данных в 0-й странице блока 123. Затем, используя управляющие данные, осуществляют преобразование логических адресов 0х0002, 0х0003 и 0х0004 в физические адреса, соответственно, 0х0006, 0х0005 и 0х0004. В заключение, файловая система осуществляет последовательное считывание фрагментов данных из блоков по физическим адресам 0х0006, 0х0005 и 0х0004, как и запрашивает выданная прикладной программой команда.

Объяснение зависимости между объемом флэш-памяти и размером таблицы управления логическими/физическими адресами приведено со ссылками на Фиг.13.

Как было описано ранее со ссылкой на Фиг.11А и 11Б, количество информации, хранящейся в таблице управления логическими/физическими адресами, для управления 1 сегментом равно 1024 байт (или 1 кб), что соответствует 2-м страницам. Таким образом, для управления флэш-памятью одного сегмента, имеющего объем памяти 4 Мб, показанного на Фиг.13, размер таблицы управления логическими/физическими адресами равен 1 кб. Для управления флэш-памятью 2-х сегментов, имеющих объем памяти 8 Мб, таблица управления логическими/физическими адресами занимает область 2 кб, что соответствует 4-м страницам.

Для управления флэш-памятью, состоящей из 4-х сегментов (=2048 блоков) и имеющей объем памяти 16 Мб, таблица управления логическими/физическими адресами занимает область 4 кб, которая соответствует 8-ми страницам. Для управления флэш-памятью, состоящей из 2-х сегментов (=1024 блока) и имеющей объем памяти 16 Мб, таблица управления логическими/физическими адресами занимает область 2 кб, которая соответствует 4-м страницам.

Для управления флэш-памятью, состоящей из 4-х сегментов и имеющей объем памяти 32 Мб, таблица управления логическими/физическими адресами занимает область 4 КБ, которая соответствует 8-ми страницам. Для управления флэш-памятью, состоящей из 8-ми сегментов и имеющей объем памяти 64 Мб, таблица управления логическими/физическими адресами занимает область 8 кб, которая соответствует 16-ти страницам. Для управления флэш-памятью, состоящей из 16-ти сегментов и имеющей объем памяти 128 Мб, таблица управления логическими/физическими адресами занимает область 16 кб, которая соответствует 32-м страницам.

В таблице управления логическими/физическими адресами файловой системы, имеющей обычную структуру флэш-памяти, в качестве физического адреса, соответствующего неиспользуемому логическому адресу, используют в сущности неизвестное значение.

В качестве примера рассмотрим таблицу управления логическими/физическими адресами, показанную на Фиг.12Б. В этом примере логические адреса 0х0000, 0х0001, 0х0002 и 0х0003 уже использованы и присвоены соответственно физическим адресам 0х0002, 0х0006, 0х0007 и 0х0008. То есть, физические адреса 0х0002, 0х0006, 0х0007 и 0х0008, по которым уже были запомнены фрагменты данных, сопоставлены соответственно логическим адресам 0х0000, 0х0001, 0х0002 и 0х0003.

С другой стороны, если логический адрес 0х0004 не используют, то в качестве физического адреса, соответствующего логическому адресу 0х0004, используют недействительное значение 0xFFFF. Недействительное значение 0xFFFF, установленное в качестве физического адреса, указывает на то, что область памяти по этому физическому адресу не используют.

Таким образом, при попытке заново записать данные в неиспользуемую область памяти, которой присвоен логический адрес 0х0004, путем ссылки на показанную на Фиг.12Б таблицу управления логическими/физическими адресами, файловая система с ТРФ перед выполнением операции записи данных в блок, найденный при поиске, обычно осуществляет поиск физически неиспользуемого блока на иерархическом уровне, отличном от таблицы управления логическими/физическими адресами. Затем осуществляют обновление содержимого таблицы управления логическими/физическими адресами путем занесения физического адреса блока, в который были заново записаны данные, в каталог в таблице управления логическими/физическими адресами в элементе таблицы, соответствующем логическому адресу 0х0004.

Однако, ожидается, что при таком осуществлении таблицы управления логическими/физическими адресами возникнет следующая проблема.

Предположим, что обрабатываемые главным блоком данные представляют собой данные, поступающие в реальном масштабе времени, наблюдение которых осуществляют в соответствии с временной осью, например, данные кинофильма или аудиоданные музыкального произведения и т.п.

В главном блоке осуществляют обработку сигналов входных данных, наблюдаемых во времени, причем обработку выполняют в реальном масштабе времени перед их записью в планарное устройство 1 памяти в качестве записываемых данных.

Если выбрана реализация таблицы управления логическими/физическими адресами, рассмотренной выше со ссылкой на Фиг.12Б, то естественно, что при выполнении операции записи данных в планарное устройство 1 памяти необходим поиск в планарном устройстве 1 памяти описанного выше неиспользуемого блока. При операции записи данных, наблюдаемых во времени, таких как описаны выше, необходимо осуществлять запись входных данных в планарное устройство 1 памяти с такой средней скоростью, чтобы не возникало переполнения данных. Выполняемый в это же время поиск неиспользуемого блока является чрезвычайно трудной обработкой, которая должна быть выполнена микропроцессором 109.

То есть на существующем уровне техники очень трудно осуществить запись в планарное устройство 1 памяти данных, поступающих в реальном масштабе времени. В сущности, такие данные просто записывают в файл статического изображения или в текстовый файл, который не накладывает никаких требований в отношении реального масштаба времени.

Чтобы решить описанную выше проблему, в таблице управления логическими/физическими адресами согласно этому варианту осуществления, физическому адресу блока, управление которым осуществляют как неиспользуемой областью, ставят в соответствие неиспользуемый логический адрес.

Пример таблицы управления логическими/физическими адресами, осуществленной в этом варианте, показан на Фиг.12А.

В этом примере логические адреса 0х0000, 0х0001, 0х0002 и 0х0003 уже использованы и присвоены соответственно физическим адресам 0х0002, 0х0006, 0х0007 и 0х0008. То есть, физическим адресам 0х0002, 0х0006, 0х0007 и 0х0008, в которых уже были сохранены фрагменты данных, поставлены в соответствие соответственно логические адреса 0х0000, 0х0001, 0х0002 и 0х0003, как и в примере, показанном на Фиг.12Б. При этом логический адрес 0х0004 не используют, как и в примере, показанном на Фиг.12Б.

Однако, как показано на Фиг.12А, в этом варианте осуществления физическому адресу 0х0009 типичного неиспользуемого блока, заменяющему физический адрес 0xFFFF, поставлен в соответствие неиспользуемый логический адрес 0х0004. В этом примере показан только один неиспользуемый блок, который присвоен одному неиспользуемому логическому адресу. Следует отметить, что остальные неиспользуемые блоки могут быть присвоены другим неиспользуемым логическим адресам, а физические адреса других неиспользуемых блоков поставлены в соответствие другим неиспользуемым логическим адресам таким же самым способом, каким физический адрес 0х0009 поставлен в соответствие логическому адресу 0х0004.

В созданной таким образом таблице управления логическими/физическими адресами область физического адреса, поставленная в соответствие логическому адресу, может быть интерпретирована как свободная область, которая присвоена логическому адресу.

Таким образом, файловая система с ТРФ может заранее определять физический адрес неиспользуемого блока, присвоенного логическому адресу, путем обращения при операции записи к таблице управления логическими/физическими адресами, и более нет необходимости выполнять обработку для поиска неиспользуемого блока, что имеет место в случае осуществления таблицы управления логическими/физическими адресами, показанной на Фиг.12Б. То есть, путем обращения к таблице управления логическими/физическими адресами можно получить физический адрес, соответствующий логическому адресу, который присвоен файловой системой с ТРФ свободной области. Затем осуществляют запись данных в неиспользуемый блок по физическому адресу путем обращения к блоку. В результате, существенно уменьшают нагрузку по обработке, которую имеет микропроцессор, используемый в центральном устройстве, и, например, описанная выше операция записи данных, наблюдаемых вдоль временной оси, может быть легко осуществлена. К тому же, при операции записи данных, не требующих никакой обработки в реальном масштабе времени, например данных текстового файла и данных статического изображения, время, которое требуется для записи данных во флэш-память, может быть, несомненно, сокращено по сравнению с обычной системой путем использования файловой системы, реализованной в варианте осуществления, показанном на Фиг.12А.

Объяснение процедуры записи данных, выполняемой устройством записи/воспроизведения, которая реализована в варианте осуществления, приведено со ссылкой на схему последовательности операций, показанную на Фиг.15.

Как показано на Фиг.15, схема последовательности операций начинается с операции S1, при которой в энергонезависимом устройстве памяти, реализованном в виде планарного устройства 1 памяти, в котором будет выполняться операция записи, перед началом операции записи осуществляют поиск блока, используемого в качестве области управляющих данных для хранения управляющих данных таблицы управления логическими/физическими адресами. Поиск блока с равным 0 флагом таблицы управления в избыточной части первой страницы или страницы 0 реально осуществляют только в последнем сегменте энергонезависимой памяти, содержащем таблицу управления логическими/физическими адресами, что показано на Фиг.14В.

Процедуру затем продолжают и переходят к операции S2, при которой вырабатывают решение относительно того, действительно ли локальное устройство памяти в устройстве записи/считывания уже содержит некоторые из управляющих данных таблицы управления логическими/физическими адресами в количестве, достаточно большом для осуществления доступа к энергонезависимому устройству памяти. Если результирующее решение указывает, что локальное устройство памяти уже содержит некоторых из управляющих данных таблицы управления логическими/физическими адресами в количестве, достаточно большом для осуществления доступа к энергонезависимому устройству памяти, то процесс обработки переходит к операции S5. Если, с другой стороны, результирующее решение, выработанное при операции S2, указывает, что локальное устройство памяти не содержит управляющих данных таблицы управления логическими/физическими адресами памяти, то процесс обработки переходит к операции S17. При выполнении операций S17, S18 и S19 часть управляющих данных, хранящихся в настоящее время в локальном устройстве памяти, меняют местами с другими управляющими данными. В этом варианте осуществления при выполнении операции S17 для того, чтобы указать, что предназначенные для записи данные являются управляющими данными таблицы управления логическими/физическими адресами, для избыточной части управляющих данных, хранящихся в настоящее время в локальном устройстве памяти, осуществляют генерацию флага таблицы управления. Управляющие данные являются частью таблицы управления логическими/физическими адресами. В избыточную часть также записывают логический адрес, который заранее присвоен таблице управления логическими/физическими адресами.

При выполнении операции S18 управляющие данные таблицы управления логическими/физическими адресами, хранящейся в настоящее время в локальном устройстве памяти, и избыточную часть, генерация которой осуществлена при выполнении операции S17, записывают в энергонезависимое устройство памяти по логическому адресу. Как было описано ранее, файловая система осуществляет преобразование логического адреса с использованием таблицы управления логическими/физическими адресами в физический адрес в энергонезависимом устройстве памяти, в котором теперь хранятся управляющие данные и избыточная часть.

При выполнении операции S19 некоторые управляющие данные из таблицы управления логическими/физическими адресами, требуемые для осуществления доступа к энергонезависимому устройству памяти, решение о чем принято при выполнении операции S2, пересылают из энергонезависимого устройства памяти в локальное устройство памяти. После того, как обработка на стадии операции S19 закончена, процесс переходит к выполнению операции S5.

При выполнении операции S5 осуществляют проверку атрибута данных, предназначенных для записи в энергонезависимое устройство памяти, для выработки решения относительно того, являются ли данные управляющими данными или же основными данными. Если результирующее решение указывает на наличие атрибута основных данных, то процесс переходит к выполнению операции S8. Если результирующее решение указывает, наоборот, на наличие атрибута управляющих данных, то процесс продолжают, выполняя операцию S3.

В этом варианте осуществления при выполнении операции S3 для того, чтобы указать, что предназначенные для записи данные являются управляющими данными таблицы управления логическими/физическими адресами, для избыточной части управляющих данных, распознавание которых осуществлено при выполнении операции S5, осуществляют генерацию флага таблицы контроля избыточной части. Управляющие данные являются частью таблицы управления логическими/физическими адресами.

В избыточную часть также записывают логический адрес, который заранее присвоен таблице управления логическими/физическими адресами.

Затем переходят к выполнению операции S4, при которой производят запись управляющих данных, распознавание которых осуществлено при выполнении операции S5, и избыточной части, генерация которой осуществлена при выполнении операции S3, в энергонезависимое устройство памяти по логическому адресу. Как описано ранее, файловая система осуществляет преобразование логического адреса с использованием таблицы управления логическими/физическими адресами в физический адрес в энергонезависимом устройстве памяти, в котором теперь хранятся управляющие данные и избыточная часть.

При выполнении операции S8 определяют следующий блок, в который должны быть записаны основные данные, используя часть таблицы управления логическими/физическими адресами, которая в настоящее время хранится в локальном устройстве памяти. Затем переходят к выполнению операции S9, при которой номер страницы, в которую должны быть записаны основные данные, устанавливают в начальное состояние, равное 0.

Затем переходят к выполнению операции S10, при которой осуществляют ввод основных данных 1-й страницы из цифрового процессора 102 сигналов (ЦПС).

При выполнении операции S11 вырабатывают решение относительно того, действительно ли номер страницы, в которую должны быть записаны основные данные, равен 0. Если номер страницы равен 0, то переходят к выполнению операции S12. Если, наоборот, номер страницы не равен 0, то переходят к выполнению операции S13. В этом варианте осуществления не равный нулю номер флага имеет значение в диапазоне от 1 до 15.

В этом варианте осуществления при выполнении операции 12 для того, чтобы указать, что предназначенные для записи данные являются основными данными, для избыточной части распознанных основных данных осуществляют генерацию флага таблицы управления избыточной частью, установленного равным 1. В избыточную часть также записывают логический адрес, который заранее присвоен таблице управления логическими/физическими адресами.

Операция S13 аналогична операции S12, за исключением того, что содержимое созданной избыточной части произвольно. Содержимым могут являться значения, установленные при выполнении операции S12.

После того, как обработка на этапе операции S12 или S13 закончена, переходят к выполнению операции S14, при которой осуществляют запись избыточной части, генерация которой осуществлена при выполнении операции S12 или S13, и одной страницы основных данных, полученных при выполнении операции S10, в страницу блока в энергонезависимом устройстве памяти. Блок был определен при выполнении операции S8, а страница указана посредством номера страницы, который был установлен при выполнении операции S9.

Затем переходят к операции S15, при которой осуществляют приращение номера страницы.

Затем переходят к операции S16 для того, чтобы выработать решение относительно того, действительно ли номер страницы, приращение которого осуществляют при выполнении операции S15, достиг количества страниц, приходящихся на каждый блок в энергонезависимом устройстве памяти. В этом варианте осуществления количество страниц в каждом блоке энергонезависимого устройства памяти равно 16. Таким образом, номер страницы, равный 16, указывает на то, что операция записи данных в один блок закончена. В этом случае процедура обработки возвращается к операции S2. Если, с другой стороны, при выполнении операции S16 обнаружено, что номер страницы меньше 16, то осуществляют возврат к операции S10.

Путем выполнения вышеописанных операций устройство записи/воспроизведения может осуществлять запись основных данных в планарное устройство 1 памяти.

Приведенное ниже описание объясняет операцию перезаписи основных данных или управляющих данных со ссылками на Фиг.16, 17 и 18. В приведенном ниже описании основные данные и управляющие данные упоминают просто как данные.

В этом варианте осуществления, в котором используют планарное устройство 1 памяти, реализованное в виде энергонезависимой флэш-памяти, перезапись данных выполняют поблочно. Это связано с тем, что, в отличие от операции записи новых данных, во флэш-памяти перезапись данных всегда осуществляют в блок, из которого ранее данные были стерты.

Особенностью флэш-памяти является то, что наименьшие физические блоки памяти стертых данных, каждый из которых называют ячейкой, установлены равными "1". Таким образом, наименьший физический блок памяти может быть рассмотрен как бит логических данных. При выполнении операции записи данных во флэш-память нули записывают только в те ячейки, которые соответствуют нулевым битам данных. Более конкретно, каждую их таких ячеек устанавливают в состояние электрического 0. Как только ячейка установлена в состояние электрического 0, не может быть осуществлен возврат этой ячейки в состояние электрической 1, даже если в ячейку записывают бит, имеющий значение 1. Такая ячейка может быть возвращена в состояние электрической 1 только при операции стирания блока. Именно поэтому правильное сохранение обновленных данных не может быть осуществлено до тех пор, пока не произведена запись данных в стертую область со всеми ячейками или битами, для которых восстановлено их начальное значение 1. К тому же, как было описано ранее, для увеличения срока службы флэш-памяти, который в противном случае может быть сокращен из-за повторных операций записи данных в одну и ту же область, в этом варианте осуществления перезапись обновленных данных в одну и ту же область не производят. Вместо этого обновленные данные перезаписывают в блок, который в настоящее время является неиспользуемым. То есть, при операции перезаписи обновленные данные перемещают или копируют в неиспользуемый блок из блока, в котором до сих пор находились данные.

Как описано выше, таблица управления логическими/физическими адресами имеет структуру, в которой каждый логический адрес постоянно присвоен элементу таблицы, а динамически меняющийся физический адрес, соответствующий логическому адресу, хранят в элементе таблицы. При выполнении операции перезаписи данных в неиспользуемый блок необходимо знать физический адрес неиспользуемого блока. Как показано на Фиг.11Б, часть таблицы управления логическими/физическими адресами для сегмента 1 включает в себя 2-х байтовые элементы таблицы от 0 до 495, которые постоянно присвоены логическим адресам соответственно от 0 до 495. Физический адрес, соответствующий логическому адресу, который присвоен элементу таблицы, записан в элементе таблицы. Каждый из элементов таблицы после 495-го элемента таблицы используют для хранения физического адреса дополнительного блока. Первый из элементов таблицы для хранения физических адресов дополнительных блоков однозначно определен номером сегмента.

На Фиг.16 изображена схема последовательности операций, отображающая способ определения блока, используемого при выполнении операции перезаписи данных в качестве целевой блок для записи и соответствующая обработка, выполняемая по отношению к таблице управления логическими/физическими адресами.

Как показано на чертеже, схема последовательности операции начинается с операции S21, при которой осуществляют произвольный выбор физического адреса из элементов таблицы для дополнительных блоков, показанной на Фиг.11Б, служащего в качестве физического адреса целевого блока для записи. Целевой блок для записи представляет собой блок, в который в действительности должны быть записаны данные.

При выполнении операции S22 по таблице управления логическими/физическими адресами, показанной на Фиг.11Б, находят физический адрес, соответствующий логическому блоку, присвоенный блоку, в котором осуществляют операцию перезаписи. Следует отметить, что данные будут фактически записаны в целевой блок записи, а не в блок, в котором осуществляют операцию перезаписи.

При выполнении операции S23 физический адрес целевого блока записи, выбранного при выполнении операции S21, заносят в каталог в виде элемента таблицы, из которого при выполнении операции S22 был получен физический адрес блока, в котором осуществляют операцию перезаписи. При выполнении операции S24 найденный при выполнении операции S22 физический адрес блока, в котором осуществляют операцию перезаписи, заносят в каталог в виде элемента таблицы для дополнительного блока, из которого при выполнении операции S21 был получен физический адрес целевого блока записи.

Далее приведено объяснение процедуры перезаписи основных данных со ссылками на схему последовательности операций, изображенную на Фиг.17.

Как показано на чертеже, схема последовательности операций начинается с операции S31, при которой целевой блок записи находят точно так же, как и при операции S21 из схемы последовательности операций, показанной на Фиг.16. При выполнении операции S32 осуществляют стирание данных из целевого блока записи. Стирание данных из целевого блока записи необходимо осуществлять по описанной ранее причине.

При выполнении операции S33 устанавливают флаг состояния обновления исходного блока записи, показанного на Фиг.7Е. Исходным блоком записи является блок, в котором осуществлена операция перезаписи. При выполнении операции S33 обработку осуществляют так, чтобы учесть, например, отказ источника питания. В случае отказа источника питания, даже если существуют блоки с одним и тем же логическим адресом в одном и том же сегменте, имеющие установленный флаг состояния обновления, то исходный блок записи может быть легко опознан. Как только исходный блок записи опознан, можно легко осуществить переопределение целевого блока записи.

При выполнении операции S34 осуществляют обновление содержимого таблицы управления логическими/физическими адресами точно так же, как и при операциях S22, S23 и S24 из схемы последовательности операций, показанной на Фиг.16. Таким образом, каталогизация физического адреса целевого блока записи осуществлена в виде элемента таблицы из таблицы управления логическими/физическими адресами как физического адреса, соответствующего логическому адресу, который присвоен элементу таблицы.

При выполнении операции S35 осуществляют обновление исходных данных, а обновленные данные перезаписывают в целевой блок записи.

Далее приведено объяснение процедуры перезаписи управляющих данных, то есть таблицы управления логическими/физическими адресами со ссылками на схему последовательности операций, показанную на Фиг.18.

Как показано на чертеже, схема последовательности операций начинается с операции S41, в которой осуществляют обнаружение целевого блока записи точно так же, как и в операции S21 из схемы последовательности операций, показанной на Фиг.16. При выполнении операции S42 осуществляют стирание данных из целевого блока записи. Стирание данных из целевого блока записи необходимо осуществлять по описанной ранее причине.

При выполнении операции S43 устанавливают флаг состояния обновления исходного блока записи, показанного на Фиг.7Е. При выполнении операции S43 обработку осуществляют с учетом, например, возможности отказа источника питания. В случае отказа источника питания, если даже существуют блоки с одним и тем же логическим адресом в одном и том же сегменте, имеющие установленный флаг состояния обновления, то исходный блок записи может быть легко опознан. Как только исходный блок записи опознан, можно легко осуществить переопределение целевого блока записи.

При выполнении операции S44 флаг таблицы управления в избыточной части страницы 0 целевого блока записи возвращают в состояние 0, чтобы указать, что этот целевой блок записи является блоком для хранения таблицы управления логическими/физическими адресами. Как было описано выше, флэш-память отличается тем, что, как только осуществлен сброс ячейки флэш-памяти в состояние 0, она не может быть возвращена в состояние 1 до тех пор, пока данные в блоке, включающем в себя ячейку, не удалены посредством стирания блока. Таким образом, этот целевой блок записи идентифицируют как блок для хранения таблицы управления логическими/физическими адресами до тех пор, пока таблица не стерта из блока.

При выполнении операции S45 осуществляют обновление содержимого таблицы управления логическими/физическими адресами точно так же, как и при операциях S22, S23 и S24 из схемы последовательности операций, показанной на Фиг.16. Таким образом, каталогизация физического адреса целевого блока записи осуществлена в виде элемента таблицы из таблицы управления логическими/физическими адресами как физического адреса, соответствующего логическому адресу, который присвоен элементу таблицы.

При выполнении операции S46 осуществляют обновление исходных данных, а обновленные данные перезаписывают в целевой блок записи.

3. Конфигурация системы

На Фиг.3 показана конфигурация главного блока, который может осуществлять запись и считывание данных в планарное устройство 1 памяти и из планарного устройства 1 памяти, выполненного в соответствии с возможным вариантом осуществления настоящего изобретения, описание которого приведено ранее. Главный блок 100, показанный на Фиг.3, и планарное устройство 1 памяти образуют электронную систему, реализованную в рассматриваемом варианте осуществления изобретения. В этом случае главный блок 100 может осуществлять запись/считывание, по меньшей мере, аудиоданных в и из планарного устройства 1 памяти.

Конфигурация центрального устройства 100 включает в себя механизм 120 установки/демонтажа корпуса для установки и демонтажа планарного устройства 1 памяти в и из центрального устройства 100. Обмен данными между планарным устройством 1 памяти, установленным в механизме 120 установки/демонтажа корпуса, и микропроцессором 109 осуществляют через интегральную схему (ИС) 101 интерфейса главного процессора.

Кроме того, центральное устройство 100 также обычно имеет микрофон 103 для ввода аудиосигнала, представляющего собой речь или звук. Аналоговый аудиосигнал затем подают на ЦПС (цифровой процессор сигналов) 102 через микрофонный усилитель 104. В ЦПС 102 осуществляют преобразование входного аналогового аудиосигнала в цифровые аудиоданные, которые подвергают необходимой обработке сигналов, например процедуре кодирования, перед подачей их в микропроцессор 109 в качестве записываемых данных.

Микропроцессор 109 может выполнять обработку, заключающуюся в записи данных в планарное устройство 1 памяти посредством ИС 101 интерфейса главного процессора.

Кроме того, микропроцессор 109 осуществляет считывание аудиоданных, записанных в планарном устройстве 1 памяти, через ИС 101 интерфейса главного процессора и передает данные в ЦПС 102.

В ЦПС 102 данные, полученные из микропроцессора 109, подвергают необходимой обработке сигналов, например демодуляции. Наконец, ЦПС 102 подает аналоговый аудиосигнал, полученный в результате обработки, на усилитель 105 громкоговорителя. Усилитель 105 громкоговорителя усиливает аналоговый аудио-сигнал, полученный из ЦПС 102, и подает усиленный сигнал на громкоговоритель 106. Таким образом осуществляют вывод аудио-сигнала для воспроизведения.

Посредством управления драйвером 107 дисплея микропроцессор 109 может отображать требуемое изображение на дисплее 108. Предположим, что в планарном устройстве 1 памяти были сохранены данные изображения, представляющие собой кинофильм или фотоснимок. В этом случае микропроцессор может отображать на дисплее 108 данные изображения, считанные из планарного устройства 1 памяти.

Операционный блок 112 снабжен множеством клавиш, используемых пользователем для выполнения множества операций главного блока 100. Микропроцессор 109 получает команду, введенную пользователем путем воздействия на операционный блок 112, и выполняет необходимую обработку управления в соответствии с командой.

Следует отметить, что конфигурация главного блока, показанного на Фиг.3, является типовой. То есть конфигурация главного блока 100 не ограничивается типовой конфигурацией, показанной на чертеже, и он может быть выполнен в виде электронного устройства, имеющего возможность обмена данными с планарным устройством 1 памяти, соответствующим изобретению.

Для того, чтобы осуществить операции записи и воспроизведения (или записи и считывания) данных в и из вышеупомянутого планарного устройства 1 памяти посредством центрального устройства 100, имеющего показанную на Фиг.3 конфигурацию, необходимо, чтобы файловая система ТРФ обращалась к таблице управления логическими/физическими адресами описанным выше способом.

Фиг.4 представляет собой пояснительную схему, на которой концептуально показан интерфейс между микропроцессором 109, используемым в центральном устройстве 100, основанном на конфигурации, показанной на Фиг.3, и таблицей управления логическими/физическими адресами, хранящейся в планарном устройстве 1 памяти.

Например, когда планарное устройство 1 памяти согласно варианту осуществления установлено в центральном устройстве 100, микропроцессор 109 осуществляет считывание необходимых данных таблицы управления логическими/физическими адресами ТАБ из планарного устройства 1 памяти через ИС 101 интерфейса главного процессора и сохранение данных во внутреннем ОЗУ 111.

Конфигурация известной системы показана на Фиг.1 для сравнения с системой согласно варианту осуществления изобретения, показанному на Фиг.3.

В известной системе таблицу управления логическими/физическими адресами не сохраняют в планарном устройстве 1А памяти, как в случае конфигурации, показанной на Фиг.1. Следует отметить, что компоненты показанной на Фиг.1 конфигурации, которые идентичны показанным на Фиг.3, обозначены одинаковыми ссылочными позициями.

Конфигурация системы, показанная на Фиг.1, отличается от показанной на Фиг.3 тем, что в предыдущем варианте центральное устройство 100А имеет внешнее ОЗУ 113. ОЗУ 113 соединено с микропроцессором 109.

Для сравнения с интерфейсом в варианте осуществления по Фиг.4 на Фиг.2 показан интерфейс между микропроцессором 109 главного блока 100А и планарным устройством 1А памяти при обычной конфигурации системы, показанной на Фиг.1.

ОЗУ 113 используется для хранения таблицы управления логическими/физическими адресами. Если устанавливается планарное устройство 1А памяти, не содержащее таблицы управления логическими/физическими адресами, то для выполнения обработки, заключающей в создании таблицы управления логическими/физическими адресами, микропроцессор 109 осуществляет обращение к планарному устройству памяти 1А через ИС 101 интерфейса главного процессора для проверки содержания данных в устройстве памяти 1А. Затем созданную таким образом таблицу управления логическими/физическими адресами ТАБ сохраняют в ОЗУ 113.

Как правило, встроенное в микропроцессор 109 ОЗУ 111 имеет объем памяти порядка нескольких десятков кбайт. Таким образом, в ОЗУ 111 невозможно сохранить таблицу управления логическими/физическими адресами размером до 16 кб, поскольку хранение таблицы управления логическими/физическими адресами в ОЗУ 111 будет препятствовать другой обработке. Некоторые микропроцессоры 109 имеют размер ОЗУ 111 даже меньший, чем объем памяти, требуемый таблице управления логическими/физическими адресами. То есть, при конфигурации, в которой таблицу управления логическими/физическими адресами создают и сохраняют в главном блоке, нецелесообразно хранить таблицу управления логическими/физическими адресами в ОЗУ 111. Именно поэтому требуется внешнее ОЗУ 113.

С другой стороны, возможен вариант осуществления с конфигурацией, при которой таблица управления логическими/физическими адресами хранится в планарном устройстве 1 памяти. В этом случае просто осуществляют считывание из планарного устройства 1 памяти только некоторых необходимых данных из таблицы управления логическими/физическими адресами и сохраняют их во встроенном ОЗУ 111 так, как описано ранее со ссылкой на Фиг.4. Например, для микропроцессора 109 нужны только данные таблицы управления логическими/физическими адресами для 1-го сегмента, который занимает в таблице управления логическими/физическими адресами область, равную 1024 байтам, что показано на Фиг.11. Объем таких данных практически не будет создавать проблемм для ОЗУ 111.

По этой причине внешнее ОЗУ 113 может быть устранено из варианта осуществления, показанного на Фиг.3. В результате стоимость главного блока 100 может быть снижена, а потребляемая мощность может быть уменьшена на величину мощности, которая требуется для приведения в действие внешнего ОЗУ 113.

Кроме того, в варианте осуществления используемый в главном блоке 100 микропроцессор 109 освобожден от обработки, заключающейся в создании таблицы управления логическими/физическими адресами. Таким образом, не требуется время для ожидания окончания обработки по созданию таблицы управления логическими/физическими адресами. В результате, например, в данном варианте осуществления можно при наличии планарного устройства 1 памяти сократить время, требуемое для выполнения обработки по наращиванию файловой системы, по сравнению с обычной системой.

Кроме того, в таблице управления логическими/физическими адресами, согласно рассматриваемому варианту осуществления, физическому адресу каждого неиспользуемого блока поставлен в соответствие неиспользуемый логический адрес так, как описано ранее со ссылкой на Фиг.12А и 12Б. Таким образом, доступ к неиспользуемому блоку может быть осуществлен через файловую систему ТРФ путем несложной обработки и за более короткое время по сравнению с обычной системой. Эта быстрая обработка особенно эффективна для конфигурации по Фиг.3, применяемой в главном блоке 100 для записи данных, требующих обработки в реальном масштабе времени, например аудиоданных.

Следует отметить, что осуществление настоящего изобретения не ограничено вышеописанным вариантом. В случае необходимости могут быть произведены изменения и модификации варианта осуществления. Например, запоминающее устройство в соответствии с настоящим изобретением не ограничено внешней формой, показанной на Фиг.5А, 5Б, 5В и 5Г. Конструктивное исполнение запоминающего устройства может иметь любую другую внешнюю форму. Кроме того, например, описанные выше подробные определения формата файловой системы могут быть также изменены в соответствии с реальным применениями. Кроме того, варианты объема флэш-памяти не ограничены данными, которые изображены на Фиг.13.

Как описано выше, таблицу управления логическими/физическими адресами хранят в запоминающем устройстве.

Таким образом, для создания таблицы управления логическими/физическими адресами нет необходимости выполнять обработку. В результате может быть сокращено, по меньшей мере, время, требуемое для завершения процесса наращивания файловой системы. То есть, хотя обычно пользователь должен ожидать, пока главный блок войдет в состояние, в котором оно способно осуществлять запись данных в запоминающее устройство и считывание их из него, например, после того, как запоминающее устройство установлено в главном блоке, в данном варианте осуществления изобретения время, затрачиваемое на ожидание такого состояния, может, следовательно, быть сокращено. В результате пользователю предоставлется возможность использовать систему электронного оборудования более предпочтительным для него образом.

Кроме того, при такой конфигурации, например, главный блок должен просто осуществлять считывание из запоминающего устройства только некоторых необходимых данных таблицы управления логическими/физическими адресами и запоминание данных в области памяти ОЗУ, встроенного в используемый в главном блоке микропроцессор, в котором таблица занимает только малую область встроенного ОЗУ так, чтобы операция получения необходимых данных не создавала практически никакой дополнительной нагрузки на микропроцессор.

Таким образом, поскольку отсутствует необходимость обеспечивать главный блок внешним ОЗУ, включающим в себя область памяти, выделенную для всех данных таблицы управления логическими/физическими адресами, стоимость главного блока может быть соответственно снижена. Кроме того, потребляемая мощность может также быть уменьшена на величину, которая требуется для приведения в действие внешнего ОЗУ.

В настоящем изобретении данные записывают в страницу, которая является одним из блоков памяти флэш-памяти, в однородном формате вне зависимости от типа данных. Каждая страница всегда содержит записанные в нее данные и избыточную часть, а атрибуты данных указывают в виде пары. Множество соседних страниц образуют блок. Фрагменты данных, хранящиеся в страницах, образующих блок, имеют одинаковые атрибуты. Таким образом, путем проверки только избыточной части, предназначенной для хранения атрибутов данных в странице 0, которая является первой страницей блока, например, можно узнать атрибуты всех фрагментов данных в блоке. Кроме того, так как формат данных однороден вне зависимости от атрибутов данных, отсутствует необходимость создания средства и способа генерации страницы для каждого атрибута данных. Что касается генерации сохраняемой в странице избыточной части, то отсутствует необходимость создания средства и способа генерации избыточной части для каждого из атрибутов данных, образующих пару с данными, поскольку формат избыточной части однороден. Кроме того, структуры данных блоков и страниц являются однородными вне зависимости от атрибутов сохраненных в них данных. Следовательно, при конструировании устройства воспроизведения для воспроизведения данных из страниц и блоков нет необходимости создавать множество средств считывания и способов считывания, каждый из которых соответствует своему блоку, то есть существенно уменьшается количество блоков схемы и количество операций программы обработки. Таким образом, продемонстрирован результат добавления функций к устройству воспроизведения в аппаратуре, которая должна иметь небольшой размер, малый вес и небольшую потребляемую мощность подобно устройству, созданному в соответствии с настоящим изобретением.

Кроме того, согласно настоящему изобретению информацию для идентификации таблицы управления логическими/физическими адресами также записывают в блоке запоминающего устройства для хранения таблицы управления логическими/физическими адресами. Таким образом, при выполнении операции поиска в запоминающем устройстве блока, содержащего таблицу управления логическими/физическими адресами, может быть осуществлено распознавание таблицы управления логическими/физическими адресами среди данных, хранящихся в запоминающем устройстве.

Кроме того, согласно настоящему изобретению неиспользуемый логический адрес заносят в каталог в таблице управления логическими/физическими адресами, хранящейся в запоминающем устройстве, путем присвоения неиспользуемого логического адреса физическому адресу неиспользуемого блока, то есть блока без записанных в нем данных. Таким образом, местоположение неиспользуемого блока может быть легко определено путем ссылки на физический адрес блока без необходимости осуществлять поиск неиспользуемого блока в другом иерархическом уровне. То есть, поскольку обработка по поиску неиспользуемого блока при операции записи данных не требуется, то запись данных в неиспользуемый блок может быть осуществлена с высокой скоростью при очень малой нагрузке из-за обработки. Эта быстрая обработка особенно эффективна для случая, когда данные являются данными, воспринимаемыми во времени, например аудиоданными или данными изображений киноматериала, для которых необходима обработка в реальном масштабе времени.

Класс G06F12/06 адресация физического блока памяти, например адресация по базе, модульная адресация, расширение адресного пространства, выделение памяти

гибкое увеличение страниц памяти -  патент 2509347 (10.03.2014)
способ криптографического преобразования информации и устройство для его реализации -  патент 2503135 (27.12.2013)
карта сбора данных, а также система и способ управления расширением для карт сбора данных -  патент 2501099 (10.12.2013)
кэширование и предоставление данных перед отправкой, относящихся к отправителю или получателю сообщения электронной почты -  патент 2501074 (10.12.2013)
система и способ сжатия интерактивного потокового видео -  патент 2497184 (27.10.2013)
клонирование и управление фрагментами базы данных -  патент 2417426 (27.04.2011)
способ осуществления доступа к целевому дисковому запоминающему устройству, система расширения дисковой емкости и дисковый массив -  патент 2399951 (20.09.2010)
исполнительный элемент с электрическим управлением и система управления машинами, снабженными такими исполнительными элементами -  патент 2334270 (20.09.2008)
вычислительная система -  патент 2179332 (10.02.2002)
способ формирования адреса -  патент 2164037 (10.03.2001)

Класс G06F12/10 перенос адреса

Наверх