RU2257609C2 - Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти - Google Patents

Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти Download PDF

Info

Publication number
RU2257609C2
RU2257609C2 RU2001120348/09A RU2001120348A RU2257609C2 RU 2257609 C2 RU2257609 C2 RU 2257609C2 RU 2001120348/09 A RU2001120348/09 A RU 2001120348/09A RU 2001120348 A RU2001120348 A RU 2001120348A RU 2257609 C2 RU2257609 C2 RU 2257609C2
Authority
RU
Russia
Prior art keywords
sectors
area
file
clusters
allocation table
Prior art date
Application number
RU2001120348/09A
Other languages
English (en)
Other versions
RU2001120348A (ru
Inventor
Такудзи МАЕДА (JP)
Такудзи МАЕДА
Теруто ХИРОТА (JP)
Теруто ХИРОТА
Original Assignee
Мацусита Электрик Индастриал Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Мацусита Электрик Индастриал Ко., Лтд. filed Critical Мацусита Электрик Индастриал Ко., Лтд.
Publication of RU2001120348A publication Critical patent/RU2001120348A/ru
Application granted granted Critical
Publication of RU2257609C2 publication Critical patent/RU2257609C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству доступа для осуществления доступа к полупроводниковой карте памяти, которая содержит внутреннюю энергонезависимую память, например, ЭППЗУ (электрически перепрограммируемое постоянное запоминающее устройство), компьютерно-считываемому носителю записи для записи программы инициализации полупроводниковой карты памяти, способу инициализации и полупроводниковой карте памяти и, в частности, к усовершенствованию для повышения эффективности перезаписи данных в энергонезависимую память.
Уровень техники
Благодаря таким своим достоинствам, как малые размер и вес, полупроводниковые карты памяти заметно укрепляют свои позиции в качестве носителей записи в широкой области применения. Полупроводниковая карта памяти содержит встроенную энергонезависимую память, так называемое ЭППЗУ, доступ к которой осуществляют с помощью подключенного к ней устройства, что позволяет использовать полупроводниковую карту памяти в качестве носителя записи. Данные можно непосредственно записывать в пустые сектора ЭППЗУ таким же образом, как при записи на магнитные или оптические диски. Однако, если секторы ЭППЗУ уже содержат данные, то прежде чем записать в секторы новые данные, секторы необходимо возвратить в пустое состояние, удалив ранее записанные в них данные. В ЭППЗУ типа Не-И, используемом во многих полупроводниковых картах памяти, операцию возврата секторов в пустое состояние приходится осуществлять одновременно на 32 секторах (в такого типа энергонезависимой памяти группа из 32 секторов образует так называемый очищаемый блок). Поэтому полупроводниковая карта памяти содержит специализированную схему внутреннего управления, с помощью которой осуществляют управление памятью, используя очищаемые блоки в качестве элементарных областей доступа. Операции контроля статуса очищаемых блоков, считывания данных из очищаемых блоков и записи данных в очищаемые блоки осуществляются под управлением этой схемы управления.
Таким образом, полупроводниковая карта памяти имеет уникальную аппаратную структуру (физический уровень), которая коренным образом отличается от структуры, используемой в магнитных или оптических дисках. Однако модель уровней, показанная на фиг.1А, как и в случае магнитного или оптического диска, предусматривает наличие физического уровня, уровня файловой системы и уровня приложений. На фиг.1В изображена подробная схема физического уровня. Согласно чертежу, физический уровень содержит область тома, образованную совокупностью очищаемых блоков. Каждый очищаемый блок состоит из 32 секторов и имеет длину данных 16 КБ. На фиг.1С изображена схема уровня файловой системы, в качестве которой обычно выступает, так называемая, файловая система FAT (таблица размещения файлов). Файловая система FAT оперирует областью тома как совокупностью, так называемых, кластеров. В начале области тома располагается информация управления томом, а непосредственно после информации управления томом находится пользовательская область, предназначенная для записи пользовательских данных. Информация управления томом включает головную загрузочную запись, таблицу разделов, загрузочный сектор раздела, дублированную таблицу размещения файлов (FAT) и элемент корневого каталога. Дублированная FAT указывает связи между множеством кластеров, из которых состоит область тома. Благодаря наличию такого рода уровня файловой системы, можно сохранять данные на уровне приложений в виде иерархической структуры, образованной каталогами и файлами. Такая модель уровней дает возможность устройству доступа применять при обращении к полупроводниковой карте памяти ту же процедуру, что и при обращении к носителю записи типа магнитного или оптического диска, невзирая на различия, имеющие место на физическом уровне.
Однако пользователь имеет много возможностей определять размер данных области тома, при сохранении данных в области тома файловой системы. При изменении размера области тома по запросу пользователя, количество кластеров, входящих в область тома, соответственно увеличивается или уменьшается. При увеличении или уменьшении количества кластеров, FAT, образованная элементами, соответствующими этим кластерам, также, соответственно, увеличивается или уменьшается равно, как и размер информации управления томом, в состав которой входит FAT. При увеличении или уменьшении размера информации управления томом, начальный адрес пользовательской области, следующей за информацией управления томом, также изменяется. Начальный адрес пользовательской области изменяется соответственно размеру области тома. Поэтому, начальные адреса каждого кластера также изменяются в соответствии с размером пользовательской области.
При изменении начального адреса каждого кластера в соответствии с размером пользовательской области, кластеры могут перекрывать границы между двумя очищаемыми блоками, и концевой участок информации управления томом может размещаться в том же очищаемом блоке что и кластер, расположенный в начале пользовательской области. На схеме области тома, изображенной фиг.1D, показано, что концевой участок информации управления объемом и кластер, находящийся в начале пользовательской области, располагаются в одном и том же очищаемом блоке. Когда кластеры расположены в соответствии с чертежом, и пользователь желает изменить данные, хранящиеся в том или ином кластере, то два очищаемых блока, в которых размещается кластер, нужно считать, а затем возвратить в пустое состояние. Однако энергонезависимая память состоит из компонентов памяти, каждый из которых содержит плавающий затвор, погруженный в изолирующий слой. Этот компонент памяти можно очищать лишь несколько десятков раз на несколько тысяч обращений, поэтому, если часто случается так, что для изменения одного кластера приходится очищать два очищаемых блока, то срок службы энергонезависимой памяти заметно снижается.
В общем случае, когда 32 секторами управляют как одним кластером, запись данных в кластер можно осуществить за 32× 200 мкс (200 мкс это время, необходимое для записи каждого сектора), если место под запись уже очищено. Если же место под запись нужно сначала очистить, то добавляется период очистки в 2 мс. Если кластер перекрывает границу между двумя очищаемыми блоками, то нужно очищать оба блока, и очистка места под запись занимает 4 мс. В результате, время, затрачиваемое на запись данных, заметно возрастает.
Сущность изобретения
Задачей настоящего изобретения является устройство доступа, которое позволяет снизить время обработки, необходимое для изменения очищаемых блоков, а также формирование формата хранения данных в полупроводниковой карте памяти, который позволяет увеличить срок службы энергонезависимой памяти.
Полупроводниковые карты памяти типа SD (цифровой защиты) позволяют достичь больших успехов в решении вышеупомянутых задач снижения времени обработки и повышения срока службы энергонезависимой памяти по следующим причинам. В карте памяти типа SD предусмотрена так называемая защищенная область, которую обычный пользователь не может использовать. Эта защищенная область предназначена для хранения секретной информации, например, шифровального ключа, используемого для шифрования данных, информации по счетам, используемой для предоставления пользователю счета за воспроизведение материала, охраняемого авторским правом, и т.п. Объем данных, подлежащих засекречиванию, варьируется в зависимости от типа используемой прикладной программы, так что размер защищенной области должен изменяться в соответствии с типом прикладной программы. Если размер защищенной области изменяется, это значит, что схема области тома также изменяется в соответствии с типом прикладной программы. При подобном изменении схемы области тома, нередко случается так, что кластеры перекрывают границы между очищаемыми блоками, из-за чего решение вышеупомянутой задачи становится крайне необходимым. Для решения этой задачи можно предложить следующую структуру устройства доступа к полупроводниковой карте памяти. Устройство доступа осуществляет доступ к файлам, хранящимся на полупроводниковой карте памяти, которая содержит область памяти, состоящую из множества секторов, оперируя данными в каждой группе из 2j секторов (j - равно 0 или положительному целому числу) как кластером, и оперируя одним или несколькими кластерами как файлом. В данном случае, каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных. Устройство доступа содержит вычислительный модуль, резервирующий модуль и записывающий модуль. Вычислительный модуль вычисляет размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать. В данном случае, информация управления томом содержит таблицу размещения файлов, которая указывает для каждого файла связи между кластерами, соответствующими файлу. Резервирующий модуль резервирует первую область для записи информации управления томом и вторую область для записи пользовательских данных. Первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и состоит из mх2i секторов (m - положительное целое число), тогда как вторая область состоит из блоков, следующих за первой областью. Записывающий модуль записывает информацию управления томом в первую область, пользовательские данные - во вторую область и оперирует информацией управления томом и пользовательскими данными как совокупностью кластеров. Устройство доступа резервирует в области тома область размером в m кластеров (m - положительное целое число) для записи информации управления томом, что не дает возможности, при сохранении кластера, перекрывать границу между двумя очищаемыми блоками. Границы кластеров можно выравнивать по границам очищаемых блоков, и границы информации управления томом можно выравнивать по границам очищаемых блоков. Поэтому при перезаписи кластера требуется очищать только один очищаемый блок, что позволяет снизить количество операций очистки очищаемого блока. Снижение количества операций очистки блока дает возможность сократить время записи данных в полупроводниковую карту памяти, и увеличить срок службы энергонезависимой памяти.
В данном случае, информация управления томом может содержать, помимо таблицы размещения файлов, головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела и элемент корневого каталога. Кроме того, записывающий модуль записывает головную загрузочную запись и таблицу разделов в первый сектор первой области, пропускает определенное количество секторов и записывает информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы. Это дает возможность выравнивать конец первой области с концом элемента корневого каталога. Количество секторов между головной загрузочной записью, указывающей начало накопителя, и загрузочного сектора раздела, указывающего начало области раздела, можно отрегулировать таким образом, чтобы ограничить размещение информации управления томом первой областью, состоящей из m кластеров, и сохранить совместимость с устройствами, которые используют файловую систему FAT.
В данном случае, вычислительный модуль может вычислять сумму SUM, суммируя количество секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элементов корневого каталога. Резервирующий модуль резервирует первую область, вычисляя значение m на основании уравнения (1): NOM+SUM=2j× m. В данном случае, NOM это количество секторов. Записывающий модуль вычисляет определенное количество секторов, вычитая 1 из количества секторов NOM. Даже если размер таблицы размещения файлов изменяется, первая область, размер которой превышает размер информации управления томом, кратна размеру очищаемого блока, остается постоянной. Таким образом, для первой области резервируют необходимый минимальный размер, не зависящий от вычисленного размера таблицы размещения файлов.
В данном случае, записывающий модуль может задавать предварительно определенное количество секторов в таблице разделов, записывая информацию управления томом. При такой структуре, даже в случае изменения размера первой области, влекущего за собой изменение начального адреса второй области, количество секторов, получаемое вычитанием 1 из количества секторов NOM, можно получить из таблицы разделов, благодаря чему, устройство доступа может точно осуществлять доступ к пользовательской области, обращаясь к таблице разделов.
Для решения вышеизложенной задачи изобретения предоставляется устройство доступа для осуществления доступа к файлам, хранящимся в полупроводниковой карте памяти, которая содержит область памяти, состоящую из множества секторов, причем устройство доступа оперирует данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и оперирует одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных. Это устройство доступа включает в себя вычислительный модуль, выполненный с возможностью вычислять размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать, причем информация управления томом содержит головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога, при этом таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими этому файлу. Устройство доступа также включает в себя резервирующий модуль, выполненный с возможностью резервировать первую область, используемую для записи информации управления томом, и вторую область, используемую для записи пользовательских данных. Первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и включает два или более блоков, а вторая область состоит из блоков, следующих за первой областью. Кроме того, устройство доступа включает в себя записывающий модуль, выполненный с возможностью записывать информацию управления томом в первую область, а пользовательские данные - во вторую область, и записывать головную загрузочную запись и таблицу разделов в первый сектор первого блока первой области, пропускать предварительно определенное количество секторов и затем записывать информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога. При этом информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записываются в по меньшей мере один блок, который отличается от первого блока.
Согласно одному из предпочтительных вариантов осуществления упомянутого устройства доступа, вычислительный модуль выполнен с возможностью вычислять сумму SUM, суммируя количество секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, при этом первая область состоит из m× 2j секторов (m - положительное целое), резервирующий модуль выполнен с возможностью резервировать первую область посредством вычисления значения m на основании уравнения NOM + SUM=m× 2j, где NOM - количество секторов, а записывающий модуль выполнен с возможностью вычислять предварительно определенное количество секторов вычитанием 1 из количества секторов NOM. Предпочтительно, количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
Помимо этого, согласно этому предпочтительному варианту осуществления, таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров, подлежащих записи во вторую область, и каждый элемент из множества элементов указывает связь с другим кластером того же файла. При этом устройство доступа включает в себя приемный модуль, выполненный с возможностью принимать установочные значения суммарного количества секторов и суммарного количества кластеров в области памяти. Вычислительный модуль включает в себя модуль первого вычисления, выполненный с возможностью вычислять суммарное количество кластеров путем деления суммарного количества секторов в области памяти на количество секторов 2j и вычислять размер таблицы размещения файлов путем умножения суммарного количества кластеров на длину элемента в битах, а резервирующий модуль включает в себя модуль второго вычисления, выполненный с возможностью вычислять сумму SUM путем суммирования размера таблицы размещения файлов с количествами секторов, образующих, соответственно, информацию загрузочного сектора раздела и элемент корневого каталога, и вычислять значение m путем подстановки значения суммы SUM в уравнение NOM + SUM=m× 2j.
Для решения вышеизложенной задачи изобретения предоставляется полупроводниковая карта памяти, которая содержит область памяти, состоящую из множества секторов, и оперирует данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных. Эта полупроводниковая карта памяти включает в себя первую область, содержащую два или более блока, используемую для записи информации управления томом, и вторую область, состоящую из блоков, следующих за первой областью, и используемую для записи пользовательских данных. При этом информация управления томом включает в себя головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога, причем таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими этому файлу, причем головная загрузочная запись и таблица разделов записаны в первый сектор первого блока первой области с пропуском предварительно определенного количества секторов, информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записаны в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога. При этом информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записываются в по меньшей мере один блок, который отличается от первого блока.
Согласно одному из предпочтительных вариантов осуществления упомянутой полупроводниковой карты памяти, первая область состоит из m× 2j секторов (m - положительное целое), предварительно определенное количество секторов вычисляется вычитанием 1 из количества секторов NOM, которое удовлетворяет уравнению NOM + SUM=m× 2j, при этом сумма SUM вычисляется суммированием количества секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога. Предпочтительно, количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
Помимо этого, согласно этому предпочтительному варианту осуществления, таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров, и каждый элемент из множества элементов указывает связь с другим кластером того же файла. При этом размер таблицы размещения файлов вычисляется посредством вычисления суммарного количества кластеров путем деления суммарного количества секторов в области памяти на количество секторов 2j и умножения суммарного количества кластеров на длину элемента в битах, а значение m вычисляется посредством вычисления суммы SUM суммированием размера таблицы размещения файлов с количествами секторов, образующих, соответственно, информацию загрузочного сектора раздела и элемент корневого каталога, и подстановкой значения суммы SUM в уравнение NOM + SUM=m× 2j.
Для решения вышеизложенной задачи изобретения предоставляется способ инициализации компьютера, позволяющий компьютеру осуществлять доступ к файлам, хранящимся в полупроводниковой карте памяти, которая содержит область памяти, состоящую из множества секторов, оперируя данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером, и оперируя одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных. Согласно данному способу вычисляют размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать, причем информация управления томом включает головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов, элемент корневого каталога, причем таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими файлу. Также согласно данному способу резервируют первую область, используемую для записи информации управления томом, и вторую область, используемую для записи пользовательских данных, причем первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и включает два или более блоков, а вторая область состоит из блоков, следующих за первой областью. Кроме того, согласно данному способу записывают информацию управления томом в первую область, а пользовательские данные - во вторую область, и записывают головную загрузочную запись и таблицу разделов в первый сектор первого блока первой области, пропускают предварительно определенное количество секторов и затем записывают информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога, при этом информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога записывают в по меньшей мере один блок, который отличается от первого блока.
Для решения вышеизложенной задачи изобретения предоставляется носитель записи, в котором в машиночитаемом формате хранится программа инициализации компьютера, позволяющая ему осуществлять доступ к полупроводниковой карте памяти, которая содержит область памяти, состоящую из множества секторов, оперируя данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером, и оперируя одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных. Программа на данном носителе записи позволяет компьютеру вычислять размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать, причем информация управления томом содержит головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов, элемент корневого каталога. Таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими файлу. Помимо этого, программа на упомянутом носителе записи позволяет компьютеру резервировать первую область, используемую для записи информации управления томом, и вторую область, используемую для записи пользовательских данных, причем первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и включает в себя два или более блоков, а вторая область состоит из блоков, следующих за первой областью. Кроме того, программа на упомянутом носителе записи позволяет компьютеру записывать информацию управления томом в первую область, а пользовательские данные - во вторую область, и записывать головную загрузочную запись и таблицу разделов в первый сектор первого блока первой области, пропускать предварительно определенное количество секторов и затем записывать информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога. При этом информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записываются в по меньшей мере один блок, который отличается от первого блока.
Согласно одному из предпочтительных вариантов осуществления упомянутого носителя записи, при упомянутом вычислении вычисляется сумма SUM посредством суммирования количества секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога; при упомянутом резервировании резервируется первая область посредством вычисления значения m на основании уравнения NOM + SUM=m× 2j, где NOM - количество секторов; и при упомянутой записи вычисляется предварительно определенное количество секторов посредством вычитания 1 из количества секторов NOM. Предпочтительно, количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
Помимо этого, согласно этому предпочтительному варианту осуществления, таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров, подлежащих записи во вторую область, и каждый элемент из множества элементов указывает связь с другим кластером того же файла. При этом программа на носителе записи дополнительно позволяет компьютеру принимать установочные значения суммарного количества секторов и суммарного количества кластеров в области памяти. Предпочтительно, упомянутое вычисление включает в себя первое вычисление для вычисления суммарного количества кластеров путем деления суммарного количества секторов в области памяти на количество секторов 2j и вычисления размера таблицы размещения файлов путем умножения суммарного количества кластеров на длину элемента в битах, а упомянутое резервирование включает в себя второе вычисление для вычисления суммы SUM путем суммирования размера таблицы размещения файлов с количествами секторов, образующих, соответственно, информацию загрузочного сектора раздела и элемент корневого каталога, и вычисления значения m путем подстановки значения суммы SUM в уравнение NOM + SUM=m× 2j.
Кроме того, согласно этому предпочтительному варианту осуществления, область памяти включает в себя защищенную область, доступную устройству, подключенному к полупроводниковой карте памяти, только после подтверждения подлинности подключенного устройства, и область пользовательских данных, доступную устройству, подключенному к полупроводниковой карте, вне зависимости от результата проверки подлинности подключенного устройства. При этом принимаются от источника, внешнего по отношению к устройству доступа, установочные значения количества секторов, подлежащих выделению защищенной области и области пользовательских данных. При первом вычислении, на основании принятых установочных значений, вычисляется размер таблицы размещения файлов для защищенной области и размер таблицы размещения файлов для области пользовательских данных. При втором вычислении вычисляются две суммы SUM для каждой из защищенной области и области пользовательских данных, соответственно, путем суммирования размера таблицы размещения файлов защищенной области и размера таблицы размещения файлов области пользовательских данных с количеством секторов, образующих информацию загрузочного сектора раздела соответствующей области, и количеством секторов, образующих элемент корневого каталога соответствующей области, и вычисляется значение m, соответственно, для каждой из защищенной области и области пользовательских данных путем подстановки соответствующего значения суммы SUM в уравнение
NOM + SUM=m× 2j.
Краткое описание чертежей
Фиг.1А - модель уровней, предусматривающая наличие физического уровня, уровня файловой системы, отвечающей стандарту ISO/IEC9293, и уровня приложений.
Фиг.1В и 1С - формат физического уровня и уровня файловой системы.
Фиг.1D - область тома, когда концевой участок информации управления томом и кластер, расположенный в начале пользовательской области, занимают один и тот же очищаемый блок.
Фиг.2А - внешний вид полупроводниковой карты памяти.
Фиг.2В и 2С - внешние виды устройств доступа.
Фиг.3А - внутренняя структура полупроводниковой карты памяти и устройства доступа.
Фиг.3В - модель уровней для программного обеспечения, используемого устройством доступа.
Фиг.4 - формат хранения данных, отвечающий стандарту ISO/IEC9293, используемому энергонезависимой памятью 1.
Фиг.5 - структура области управления разделом, системной области и пользовательской области, входящих в область тома.
Фиг.6А - структура сектора головной загрузочной записи и таблицы разделов.
Фиг.6В - структура загрузочного сектора раздела.
Фиг.7А - структура дублированной FAT.
Фиг.7В - структура элемента корневого каталога.
Фиг.7С - структура пользовательской области.
Фиг.8 - пример способа сохранения файлов.
Фиг.9 - пример задания элемента корневого каталога и FAT при сохранении файла AOB001.SA1 во множестве кластеров.
Фиг.10А - соотношение между очищаемыми блоками и кластерами.
Фиг.10В - кластеры, когда n=1.
Фиг.10С - кластеры, когда n=16.
Фиг.11А - случай, когда для записи информации управления томом выделены m кластеров из s очищаемых блоков.
Фиг.11В - количество кластеров, выделенных для записи информации управления томом, когда n=1.
Фиг.11С - количество кластеров, выделенных для записи информации управления томом, когда n=16.
Фиг.12 - чертеж, полученный построением области управления разделом, системной области и кластеров, размеры которых вычислены с использованием уравнений (11) и (12).
Фиг.13 - блок-схема процедуры инициализации для области тома.
Фиг.14 - структура устройства доступа к полупроводниковой карте памяти согласно второму варианту осуществления.
Фиг.15 - внутренняя структура модуля 11 безопасной обработки.
Фиг.16 - подробная схема структуры области тома, снабженной защищенной областью.
Фиг.17 - иллюстративная схема области пользовательских данных.
Фиг.18 - иллюстративная схема защищенной области.
Фиг.19 - внутренняя структура модуля 2 управления доступом согласно третьему варианту осуществления.
Фиг.20А и 20В - последовательность обработки, осуществляемая при перезаписи очищаемого блока.
Фиг.21 - внутренняя структура модуля 9 операций файловой системы согласно третьему варианту осуществления.
Фиг.22 - подробная блок-схема обработки, осуществляемой модулем 9 операций файловой системы согласно третьему варианту осуществления.
Фиг.23А и 23В - процесс очистки, осуществляемый на очищаемом блоке согласно третьему варианту осуществления.
Фиг.24 - внутренняя структура модуля 2 управления доступом согласно четвертому варианту осуществления.
Фиг.25 - подробная блок-схема обработки, осуществляемой модулем 9 операций файловой системы согласно четвертому варианту осуществления.
Фиг.26А и 26В - процесс очистки, осуществляемой на очищаемом блоке согласно четвертому варианту осуществления.
Фиг.27А и 27В - причинно-следственная связь между фрагментацией и непроизводительными затратами при выдаче команды.
Фиг.28 - подробная блок-схема последовательности обработки для устранения фрагментации, осуществляемой по логическому адресу.
Фиг.29А-29D - модели, рассмотренные для каждой из переменных s, t, u, v и y, показанных на блок-схеме, изображенной на фиг.28.
Фиг.30А-30С показывают, как устраняют фрагментацию согласно пятому варианту осуществления.
Фиг.31 - новые расширенные атрибуты, заданные с использованием расширенного атрибута использования реализации в UDF.
Фиг.32 - внутренняя структура полупроводниковой карты памяти, снабженной дублирующей областью.
Фиг.33 - внутренняя структура полупроводниковой карты памяти согласно шестому варианту осуществления.
Фиг.34А-34С - содержание обработки, осуществляемой модулем 9 операций файловой системы согласно седьмому варианту осуществления.
Предпочтительные варианты осуществления изобретения
Ниже приведено описание вариантов осуществления полупроводниковой карты памяти и системы, содержащей полупроводниковую карту памяти и устройство доступа, со ссылкой на чертежи.
На фиг.2А показан внешний вид полупроводниковой карты 100 памяти, а на фиг.2В и 2С показаны внешние виды устройств доступа. На фиг.3А показана внутренняя структура полупроводниковой карты 100 памяти и устройства 200 доступа.
Полупроводниковая карта 100 памяти, изображенная на фиг.2А, имеет длину 32.0 мм, ширину 24.0 мм и толщину 2.1 мм: т.е. размерами сравнима с почтовой маркой и настолько мала, что пользователь может удерживать ее на кончике пальца. Полупроводниковая карта 100 памяти имеет девять разъемов для подключения к устройству 200 доступа, с одной стороны на ней установлен переключатель защиты записи, с помощью которого пользователь может разрешать или запрещать запись поверх записанных данных. Как показано в нижней части фиг.3А, полупроводниковая карта 100 памяти содержит энергонезависимую память 1, представляющую собой ЭППЗУ типа Не_И, модуль 2 управления доступом и оперативную память 3. Модуль 2 управления доступом записывает данные в энергонезависимую память 1, считывает данные из энергонезависимой памяти 1 и стирает данные в соответствии с командами, поступающими от устройства 200 доступа. Оперативная память 3 предназначена для временного хранения данных, считываемых из энергонезависимой памяти, перед повторной записью данных в энергонезависимую память.
Теперь опишем устройство 200 доступа, в качестве которого может выступать бытовая аудиосистема, изображенная на фиг.2В, или устройство обработки информации типа персонального компьютера, изображенного на фиг.2С. Такое устройство 200 доступа содержит разъем 4 под карту, вторичную память 5, ЦП 6 и первичную память 7. Разъем 4 под карту предназначен для подключения полупроводниковой карты 100 памяти. Вторичная память 5 предназначена для хранения разнообразного программного обеспечения, необходимого для обеспечения доступа к полупроводниковой карте 100 памяти. ЦП 6 осуществляет общее управление устройством 200 доступа. Первичная память 7 предназначена для временного хранения FAT и элемента корневого каталога при обращении к полупроводниковой карте 100 памяти. На фиг.3В изображена модель уровней для программного обеспечения, используемого в устройстве 200 доступа. Согласно чертежу, программное обеспечение устройства доступа содержит прикладную программу 8, модуль 9 операций файловой системы и драйвер 10 устройства. Прикладная программа 8 осуществляет обработку, например воспроизведение аудио- и видеоматериала, соответствующую назначению устройства 200 доступа. Модуль 9 операций файловой системы осуществляет операции считывания файлов, записи файлов, стирания файлов и изменения (перезаписи) файлов, предусмотренные файловой системой, в соответствии с предписаниями прикладной программы 8. Драйвер 10 устройства осуществляет операции файловой системы, выдавая полупроводниковой карте 100 памяти команды считывания и записи.
Теперь рассмотрим иллюстративный формат хранения данных в энергонезависимой памяти 1. Энергонезависимая память 1 осуществляет хранение данных в формате, показанном на фиг.4. На чертеже вся энергонезависимая память 1 представлена как область тома. Область тома делится на кластеры, которые являются элементарными областями, подлежащими управлению, и содержит область управления разделом и сам раздел (именуемый также регулярной областью). Раздел делится на системную область и пользовательскую область, что изображено в правой части фиг.4.
Начальный адрес пользовательской области следует сразу же после системной области. Однако размер дублированной FAT, хранящейся в системной области, зависит от размера пользовательской области, поэтому начальный адрес пользовательской области соответствующим образом меняется, как было объяснено в разделе “Уровень техники”. Каждый сектор области тома указан физическим адресом относительно начала области тома.
Теперь рассмотрим каждую из областей, входящих в состав области тома. На фиг.5 показаны структура области управления разделом, системной области и пользовательской области, входящих в состав области тома.
Область управления разделом содержит сектор головной загрузочной записи и таблицы разделов, а также области 1/2 и 2/2 резервной информации. На фиг.6А подробно показана структура сектора головной загрузочной записи и таблицы разделов. На чертеже содержимое сектора головной загрузочной записи и таблицы разделов показано в иерархическом порядке между двумя стрелками ky1. Сектор головной загрузочной записи и таблицы разделов содержит головную загрузочную запись, четыре таблицы разделов 1, 2, 3, 4 и сигнатурное слово.
Головная загрузочная запись это признак, указывающий устройству 200 доступа, что последующая область, с физической точки зрения, представляет собой единичный носитель (единичный физический носитель). Согласно фиг.6А, область тома содержит единственную головную загрузочную запись, в соответствии с чем, устройство 200 доступа распознает область тома как единичный физический носитель. Если бы в области тома присутствовали две головные загрузочные записи, то устройство 200 доступа распознавало бы два физических носителя.
Таблица разделов - это таблица, в которой записана информация по разделам. Как показывают стрелки ky2, когда полупроводниковая карта 100 памяти играет роль загрузочного диска, таблица разделов содержит следующие поля: “индикатор загрузки”, “начальная головка”, “начальный сектор/начальный цилиндр”, “ИД системы”, “конечная головка”, “конечный сектор/конечный цилиндр”, “количество секторов смещения” и “суммарное количество секторов”. Поле “индикатор загрузки” задают равным '0× 80'. Поле “начальная головка” задает начальную головку раздела. Поле “начальный сектор/начальный цилиндр” задает начальный сектор и начальный цилиндр раздела. Поле “ИД системы” задает тип файловой системы, и его задают равным '01', когда размер раздела меньше 32680 байт, и '04', когда размер раздела меньше 65536 байт. Поле “конечный сектор/конечный цилиндр” задает конечный сектор и конечный цилиндр раздела. Поле “количество секторов смещения” задает количество секторов, имеющих место перед начальным сектором раздела. Поле “суммарное количество секторов” задает количество секторов в области тома.
Теперь рассмотрим раздел полупроводниковой карты 100 памяти. Раздел состоит из системной области, после которой следует пользовательская область, но мы начнем с описания пользовательской области, ссылаясь на фиг.7С.
В пользовательской области файлы хранятся в элементарных областях хранения не меньших, чем кластер. Стрелка ff2 на фиг.7С показывает совокупность кластеров 002, 003, 004, 005,... , входящих в состав пользовательской области. Номера 002, 003, 004, 005, 006, 007, 008,... , используемые на фиг.7С, представляют собой трехзначные шестнадцатеричные номера кластеров, каждый из которых однозначно идентифицирует тот или иной кластер. Поскольку элементарной областью доступа является один кластер, позиции хранения в пользовательской области указывают с помощью номеров кластеров.
Системная область содержит загрузочный сектор раздела, дублированную таблицу размещения файлов и элемент корневого каталога. Рассмотрим загрузочный сектор раздела, дублированную FAT и элемент корневого каталога со ссылкой, соответственно, на фиг.6В, 7А и 7В.
В загрузочном секторе раздела установлен расширенный дескриптор КГД (контроллера дисководов гибких дисков), информационные поля которого показаны на фиг.6В. Расширенный дескриптор КГД содержит следующие поля: “команда перехода”, “создание идентификатора системы”, “размер сектора”, “количество секторов на кластер”, “счетчик резервных секторов”, “количество FAT” (количество FAT, входящих в состав дублированной FAT), “количество элементов корневого каталога” (длина данных элемента корневого каталога), “суммарное количество секторов”, “идентификатор носителя”, “количество секторов на FAT”, “количество секторов на дорожку”, “количество сторон”, “количество скрытых секторов”, “суммарное количество секторов” (суммарное количество секторов в системной области и пользовательской области), “номер физического диска”, “расширенная сигнатура загрузочной записи”, “ИД номер тома”, “метка тома”, “тип файловой системы” и “сигнатурное слово”.
Дублированная FAT состоит из двух FAT в соответствии со стандартом ISO/IEC (Международная организация по стандартизации/Международная электротехническая комиссия) 9293. Каждая FAT содержит совокупность элементов FAT, каждый из которых связан с кластером. Элемент FAT указывает, используется ли соответствующий кластер, и принимает значение, равное '0', если кластер не используется, или номеру соответствующего кластера, если этот кластер используется. Номер кластера указывает связь со следующим кластером, который следует считывать после данного кластера. Стрелка ff1 на фиг.7А показывает совокупность элементов 002, 003, 004, 005,... , образующих FAT. Числовые значения 002, 003, 004, 005,... , присвоенные каждому элементу FAT, указывают номер соответствующего кластера.
Элемент корневого каталога содержит совокупность файловых элементов для совокупности файлов, присутствующих в корневом каталоге. Каждый файловый элемент содержит “имя файла” для существующего файла, “идентификатор файла”, “номер первого кластера файла”, т.е. номер кластера, в котором хранится начало файла, “атрибут файла”, “время записи” и “дату записи”, указывающие, когда был записан файл, и “длину файла”.
Теперь опишем способ сохранения файла, показав, со ссылкой на фиг.8, как файл под именем “AOB001.SA1” сохраняют в корневом каталоге. Поскольку элементарной областью обращения в пользовательской области является один кластер, файл “AOB001.SA1” нужно сохранять в области данных в виде сегментов, не меньших, чем один кластер. Поэтому, при сохранении файл “AOB001.SA1” нужно сначала разбить на кластеры. Согласно фиг.8, файл “AOB001.SA1” разбивают на пять сегментов в соответствии с размером кластера, и полученные сегменты сохраняют в кластерах под номерами 003, 004, 005, 00А и 00С.
На фиг.9 показан один пример того, как нужно задавать элемент корневого каталога и FAT при сохранении файла “AOB001.SA1” путем разбиения его на сегменты. Согласно чертежу, начало файла “AOB001.SA1” сохраняют в кластере 003, поэтому номер кластера 003 записывают в поле “номер первого кластера файла” элемента корневого каталога, чтобы указать кластер, в котором хранится первый сегмент файла. Последующие сегменты файла “AOB001.SA1” сохраняют в кластерах 004 и 005. Таким образом, элемент FAT 003 (004) соответствующий кластеру 003, в котором хранится первый сегмент файла “AOB001.SA1”, указывает на кластер 004, в котором хранится следующий сегмент файла “AOB001.SA1”. Аналогично, элементы FAT 004 (005) и 005 (00А), соответственно, соответствуют кластерам 004 и 005, в которых хранятся следующие сегменты файла “AOB001.SA1”, эти элементы, соответственно, указывают на кластер 005 и на кластер 00А, в которых хранятся следующие сегменты файла “AOB001.SA1”. Считывая кластеры, номера которых записаны в этих элементах FAT, в порядке, указанном на фиг.9 стрелками fk1, fk2, fk3, fk4, fk5... , можно считать все сегменты, полученные разбиением файла “AOB001.SA1”. Как было объяснено выше, доступ к пользовательской области полупроводниковой карты 100 памяти осуществляют от кластера к кластеру, каждый из которых связан с тем или иным элементом FAT. Заметим, что элементу FAT, соответствующему кластеру, в котором хранится последний сегмент файла АОВ (в примере, показанном на фиг.9, это - кластер 00С) присваивают номер кластера 'FFF', чтобы показать, что в соответствующем кластере хранится последний сегмент файла.
Вышеприведенное объяснение представляет собой беглый обзор файловой системы энергонезависимой памяти 1, отвечающей настоящему изобретению. Теперь сосредоточимся на основных задачах, которые решают варианты осуществления, и перейдем к описанию того, как выравнивать границы кластеров и границы очищаемых блоков, иными словами, как выравнивать границу между системной областью и пользовательской областью с границей между двумя очищаемыми блоками. Для реализации этого выравнивания границ, варианты осуществления предусматривают два усовершенствования. Первое из них сводится к тому, что размер кластера задают равным 1/n-й размера очищаемого блока (n равно 1, 2, 4, 8, 16 или 32). На фиг.10А показано соотношение между очищаемыми блоками и кластерами. В данном случае, размер кластера равен 1/n размера очищаемого блока, т.е. 1/n от 16 КБ (1/n от 32 секторов). На фиг.10В показан случай n=1, a на фиг.10С - случай n=16.
Второе усовершенствование заключается в том, что для записи информации управления томом в области тома выделяют область, размер которой в m раз превышает размер кластера. На фиг.11А представлен случай, когда для записи информации управления томом, из s· n кластеров, входящих в состав s очищаемых блоков, выделяют m кластеров. Если для записи информации управления томом выделено m кластеров, то из s очищаемых блоков, информацией управления томом занято m/n очищаемых блоков, а остальные (s· n-m)/n очищаемых блоков выделено под пользовательскую область.
Задавая размер информации управления томом таким образом, чтобы он был в m раз больше размера кластера, информацию управления томом и s· n-m кластеров можно разместить так, что кластеры не перекрывают границы между двумя очищаемыми блоками.
На фиг.11В показано, сколько кластеров выделяется под информацию управления томом, когда n=1, а на фиг.11С показано, сколько кластеров выделяется под информацию управления томом, когда n=16. Из этих чертежей явствует, что при выделении области под информацию управления томом, множество кластеров точно умещается во множестве очищаемых блоков, так что ни один кластер не перекрывает границу между очищаемыми блоками. Подробная схема области тома, размер которой отрегулирован подобным образом, показана на фиг.5. Согласно чертежу, размер области управления разделом (в секторах) равен NOM, размер загрузочного сектора раздела (в секторах) равен RSC, размер дублированной FAT (в секторах) равен Size1× 2, размер элемента корневого каталога (в секторах) равен RDE, суммарное количество секторов равно TS и количество секторов в кластере равно SC.
Согласно фиг.5, размер Size1 отдельной FAT, входящей в состав дублированной FAT, определяют, исходя из суммарного размера секторов TS. Конкретнее, это значение вычисляют с помощью нижеприведенного уравнения (11).
Уравнение (11)
Для FAT12: Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512
Для FAT16: Size1=(((((TS-(RSC+RDE))/SC)+2)× 16/8)+511)/512
В данном случае, обозначение FAT12 указывает тип файловой системы, в которой под каждый элемент FAT выделено 12 бит, а FAT16 обозначает тип файловой системы, в которой под каждый элемент FAT выделено 16 бит.
В уравнении (11) выражение (TS-(RSC+RDE))/SC представляет количество кластеров, необходимое для записи, осуществляемой пользовательской областью. К этому числу прибавляют количество индикаторов 2, и полученное значение умножают на длину элемента FAT в битах (12 или 16), а затем делят на 8 для получения длины FAT в байтах. К результату этого вычисления прибавляют значение смещения, равное 511 байт, и полученное выражение делят на длину сектора в байтах, т.е. 512, чтобы вычислить количество секторов, необходимых для сохранения одной FAT. Если бы длина данных FAT была равна 1 байт, то (целочисленное) деление этой величины на 512 дало бы значение '0', т.е. количество секторов, выделенное под FAT было бы равно нулю. Поэтому, прибавляя значение смещения, 511, в уравнении 11, мы гарантируем, что вычисление Size1 даст, как минимум, один сектор.
Рассматривая фиг.5, следует отметить один важный момент, состоящий в том, что размер области управления разделом равен NOM. Значение NOM задают равным SC+α , и подбирают α так, чтобы область управления разделом и системная область размещались в разных кластерах. Значение NOM задают подобным образом, чтобы избежать сбоев при изменении кластеров в системной области из-за “набивки” в области управления разделом. Иными словами, если сектор головной загрузочной записи и таблицы разделов в области управления разделом будет поврежден в результате такого сбоя изменения, то устройство 200 доступа не сможет распознавать полупроводниковую карту 100 памяти, как пригодный к использованию носитель записи. Во избежание такого наихудшего сценария развития событий, значение NOM задают равным SC+α .
Значение SC+α задают следующим образом. Чтобы получить значение α , находят остаток целочисленного деления (RSC+RDE+Size1x2) на SC и вычитают полученную величину из SC. Таким образом, NOM вычисляют в соответствии с уравнением (12).
Уравнение (12)
NOM=(SC-(RSC+RDE+Size1× 2)%SC)+SC
Когда α задано подобным Образом, область управления разделом и пользовательская область точно попадают в совокупность очищаемых блоков, что обеспечивает выравнивание границы между системной областью и пользовательской областью с границей очищаемых блоков. Выравнивание этих границ обуславливает выравнивание границ всех последующих кластеров с границами очищаемых блоков.
Рассмотрим пример вычисления NOM и Size1, когда размер кластера, SC, равен 32 секторам (16 КБ), размер элемента корневого каталога, RDE, равен 32 секторам, размер загрузочного сектора раздела, RSC, равен 1 сектору, а суммарное количество секторов, TS, составляет 65600 секторов. Если дублированная FAT относится к типу FAT12, то Size1 находят из уравнения (11) следующим образом.
Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512=
=(((((65600-(1+32))/32+2)× 12/8)+511)/512=7 секторов.
Теперь, согласно уравнению (12), вычислим NOM.
NOM=(SC-(RSC+RDE+Size1× 2)%SC)+SC=
=(32-(1+32+7× 2)%32)+32=49 секторов.
На фиг.12 показаны область управления разделом, системная область и кластеры в соответствии с вычисленными размерами. Сектор головной загрузочной записи и таблицы разделов и резервная информация 1/2 размещаются в секторах PSN000-PSN031, а резервная информация 2/2, загрузочный сектор раздела и дублированная FAT размещаются в секторах PSN032-PSN063. Элемент корневого каталога размещен в секторах PSN064-PSN095. Один очищаемый блок области тома состоит из 32 секторов, поэтому головная загрузочная запись, таблица разделов и резервная информация 1/2 размещаются в первом очищаемом блоке 001, резервная информация 2/2, загрузочный сектор раздела и дублированная FAT размещаются во втором очищаемом блоке 002, и элемент корневого каталога размещается в третьем очищаемом блоке 003. Элемент корневого каталога хранится в очищаемом блоке того же размера, поэтому граница между пользовательской областью и системной областью совпадает с границей между очищаемыми блоками.
Вышеописанная схема области тома реализуется, когда модуль 9 операций файловой системы осуществляет инициализацию на энергонезависимой памяти 1. На фиг.13 изображена блок-схема, описывающая процедуру, посредством которой осуществляется эта процедура инициализации.
На этапе S1 модуль 9 операций файловой системы определяет размер кластера в соответствии с размером области, подлежащей форматированию (TS), и суммарной емкостью памяти полупроводниковой карты 100 памяти, операционной системой, используемой устройством 200 доступа, и предписаниями пользователя.
После того, как определен размер кластера, на этапе S2 модуль 9 операций файловой системы, на основании размера кластера SC и суммарного количества секторов TS, выбирает для использования файловую систему FAT12 или FAT16. После того как определена необходимая файловая система, FAT12 или FAT16, на этапе S3 модуль 9 операций файловой системы определяет длину RDE элемента корневого каталога (согласно рассматриваемым вариантам осуществления, длина RDE имеет фиксированное значение 32 сектора), после чего, на этапе S4, определяет длину RSC загрузочного сектора раздела (согласно рассматриваемым вариантам осуществления, длина RSC имеет фиксированное значение 1 сектор). После того, как определены RDE и RSC, модуль 9 операций файловой системы, с помощью уравнения (11), вычисляет длину данных FAT на этапе S5. Затем, на этапе S6, модуль 9 операций файловой системы, с помощью уравнения (12), находит такое значение NOM, при котором головная загрузочная запись и загрузочный сектор раздела располагаются в разных кластерах.
Обработка, осуществляемая на вышеупомянутых этапах S5 и S6 полностью отвечает ранее описанным уравнениям (11) и (12). Однако обработка, осуществляемая на этапах S7 и S8, упоминается в данной блок-схеме впервые. На этапе S7 модуль 9 операций файловой системы вычисляет количество кластеров CN в пользовательской области с помощью уравнения (13).
Уравнение (13)
CN=(TS-(RSC+RDE+Size1× 2+NOM))/SС
На этапе S8 модуль 9 операций файловой системы повторно вычисляет длину данных FAT, с помощью уравнения (14).
Уравнение 14
Для FAT12: Size2=(((CN+2)× 12/8+511)/512
Для FAT16: Size2=(((CN+2)× 16/8+511)/512
На этапе S9 модуль 9 операций файловой системы сравнивает Size1, полученный на этапе S5, и Size2, полученный на этапе S8, и, если эти два значения совпадают, заканчивает обработку. Если же эти значения не совпадают, то модуль 9 операций файловой системы, на этапе S10, заменяет значение Size1 значением Size2, переходит к этапу S6 и повторно вычисляет NOM. Поскольку, в результате замены Size1 имеет другое значение, то вычисление, повторно производимое на этапе S6, может дать другой результат. После этого модуль 9 операций файловой системы повторно вычисляет Size2 на этапе S8, исходя из вновь вычисленного значения NOM, и, если на этапе S9 оказывается, что Size1 и Size2 равны между собой, заканчивает обработку.
Значение NOM, вычисленное с использованием вышеозначенной процедуры, помещают в поле “количество секторов смещения” таблицы разделов, указывающее количество секторов, находящихся перед начальным сектором раздела, а значение TS помещают в поле “суммарное количество секторов” таблицы разделов.
Значение SC помещают в поле “количество секторов на кластер” таблицы разделов, указывающее количество секторов в каждом кластере. Кроме того, значение RDE, указывающее количество секторов, умножают на длину сектора, равную 512 байтам, после чего делят на 32, чтобы получить количество файловых элементов, и это число помещают в поле “количество элементов корневого каталога” загрузочного сектора раздела. Значение Size1 помещают в поле “количество секторов на FAT” загрузочного сектора раздела, указывающее количество секторов в каждой FAT. Устройство 200 доступа обращается к этим значениям, заданным в таблице разделов и загрузочном секторе раздела, при выделении места для дублированной FAT, элемента корневого каталога и пользовательской области.
На этом объяснения, касающиеся блок-схемы, изображенной на фиг.13, закончены. Теперь рассмотрим пример вычислений, иллюстрирующий, как вычисляют размер области раздела и системной области, когда TS равно 65568.
На основании значения TS, равного 65568, на этапе S1 модуль 9 операций файловой системы задает размер кластера равным 32 секторам. После того, как определено, что размер кластера равен 32 секторам, на этапе S2 модуль 9 операций файловой системы, исходя из размера кластера SС и суммарного количества кластеров ТS, определяет что надлежит использовать файловую систему FAT12. Согласно рассматриваемым вариантам осуществления, размеры RDE и RSC имеют фиксированные значения, соответственно, 32 сектора и 1 сектор, поэтому вычисления на этапах S3 и S4 не производят. На этапе S5 модуль 9 операций файловой системы находит длину данных FAT из уравнения (11). Поскольку, в данном случае, FAT представляет собой FAT12, используют следующий вариант расчета
Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511) /512=(((((65568-(1+32))/32)+2)× 12/8)+511)/512=7 секторов
После того, как вычислен Size1, на этапе S6 модуль 9 операций файловой системы, с помощью уравнения (12), находит такое значение NOM, при котором головная загрузочная запись и загрузочный сектор раздела располагаются в разных кластерах.
NOM=(SC-(RSC+RDE+Size1× 2)%SC)+SC=
=(32-(1+32+7× 2)%32)+32=49 секторов.
После того, как вычислен NOM, модуль 9 операций файловой системы на этапе S7 вычисляет количество кластеров в пользовательской области с помощью уравнения (13)
CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=
=(65568-(1+32+7× 2+49))/32=2046 кластеров.
На этапе S8 модуль 9 операций файловой системы повторно вычисляет длину данных FAT с помощью уравнения (14).
Для FAT12: Size2=(((CN+2)× 12/8)+511)/512=
=(((2046+2)× 12/8)+511)/512=6 секторов.
На этапе S9 модуль 9 операций файловой системы сравнивает Size1, вычисленный на этапе S5, и Size2, вычисленный на этапе S8. В данном случае, Size1 равен 7 секторам, a Size2 равен 6 секторам.
Поскольку эти значения не равны друг другу, то модуль 9 операций файловой системы возвращается к этапу S6 и повторно вычисляет NOM.
NOM=(SC-(RSC+RDE+Size1× 2)%SC)+SC=
=(32-(1+32+6× 2)%32)+32=51 сектор.
После того, как вычислен NOM, на этапе S7 модуль 9 операций файловой системы вычисляет количество кластеров в регулярной области.
CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=
=(65568-(1+32+6× 2+49))/32=2046 кластеров. На этапе S8 вычисляют длину данных FAT. Для FAT12: Size2=(((CN+2)× 12/8)+511)/512=
=(((2046+2)× 12/8)+511)/512=6 секторов.
После этого вычисления, на этапе 39 модуль 9 операций файловой системы сравнивает Size1 и Size2, и, поскольку эти два значения совпадают, завершает процедуру, представленную блок-схемой.
Согласно вышеизложенному, данный вариант осуществления предусматривает вычисление такого NOM, при котором размер области управления разделом и размер системной области выражаются целочисленными количествами очищаемых блоков, благодаря чему ни один кластер не перекрывает границу между двумя очищаемыми блоками. Границы кластеров можно выровнять с границами очищаемых блоков, а границу информации управления томом - с границей очищаемого блока, чтобы для перезаписи одного кластера нужно было очистить только один очищаемый блок, что позволяет снизить частоту операций очистки очищаемых блоков. При этом, время, необходимое для записи данных в полупроводниковую карту 100 памяти, сокращается, что позволяет продлить срок службы энергонезависимой памяти 1.
Второй вариант осуществления
Согласно второму варианту осуществления, в области тома выделяют область, предназначенную для доступа со стороны обычного пользователя (область пользовательских данных), и область, предназначенную для хранения защищенных данных (защищенную область). На фиг.14 показана структура устройства 200 доступа и полупроводниковой карты 100 памяти в соответствии со вторым вариантом осуществления. Внутренняя структура, показанная на чертеже, отличается от показанной на фиг.3А тем, что энергонезависимая память 1 содержит защищенную область, и, кроме того, полупроводниковая карта 100 памяти и устройство 200 доступа снабжены, соответственно, модулями 11 и 12 защищенной обработки.
Теперь рассмотрим модуль 11 защитной обработки, предусмотренный для осуществления защищенного считывания из защищенной области энергонезависимой памяти 1 и защищенной записи в нее. Согласно фиг.15, модуль 11 защищенной обработки содержит системную область 13, скрытую область 14, модуль 15 ОПК, модуль 16 Ks-дешифровки и модуль 17 Ks-шифровки.
Системная область 13 предназначена только для чтения, и в ней хранятся блок ключа к носителю (БКН) и ИД носителя. БКН и ИД носителя, хранящиеся в этой области не подлежат перезаписи. Предположим, что полупроводниковая карта 100 памяти подключена к устройству 200 доступа, и устройство 200 доступа считывает БКН и ИД носителя. Если устройство 200 доступа правильно осуществляет заданную вычислительную операцию с использованием БКН, ИД носителя и заложенного в нем самом ключа устройства Kd, оно получает правильный шифровальный ключ Kmu.
В скрытой области 14 хранится правильное значение шифровального ключа Kmu, иными словами, шифровальный ключ Kmu, который устройство 200 доступа должно получить, выполнив надлежащую вычислительную операцию с использованием пригодного ключа устройства Kd.
Модуль 15 ОПК (опознавания и передачи ключа) осуществляет взаимное опознавание устройства 200 доступа и полупроводниковой карты 100 памяти методом вызова-ответа, проверяет подлинность ответного устройства и, если ответное устройство непригодно, останавливает процедуру. Если же ответное устройство пригодно, то устройство 200 доступа и полупроводниковая карта 100 памяти получают возможность совместного использования шифровального ключа (ключа сеанса Ks). Устройство 200 доступа производит опознавание в три этапа. Сначала, на этапе первого вызова, устройство 200 доступа генерирует случайное число, шифрует случайное число с помощью шифровального ключа Kmu и передает зашифрованное случайное число полупроводниковой карте 100 памяти в качестве вызывного значения А. Затем, на этапе первого ответа, полупроводниковая карта 100 памяти использует хранящийся в ней шифровальный ключ Kmu для дешифровки вызывного значения А и передает дешифрованное значение устройству 200 доступа в качестве ответного значения В. После этого, на этапе первой проверки, устройство 200 доступа дешифрует хранящееся в нем вызывное значение А с помощью своего шифровального ключа Kmu и сравнивает дешифрованное значение с ответным значением В, полученным от полупроводниковой карты 100 памяти.
Полупроводниковая карта 100 памяти также производит опознавание в три этапа. Сначала, на этапе второго вызова, полупроводниковая карта 100 памяти генерирует случайное число, шифрует случайное число с помощью шифровального ключа Kmu и передает зашифрованное случайное число устройству 200 доступа в качестве вызывного значения С. Затем, на этапе второго ответа, устройство 200 доступа использует хранящийся в нем шифровальный ключ Kmu для дешифровки вызывного значения С и передает дешифрованное значение полупроводниковой карте 100 памяти в качестве ответного значения D. После этого, в этапе второй проверки, полупроводниковая карта 100 памяти дешифрует хранящееся в ней вызывное значение С с помощью шифровального ключа Kmu и сравнивает дешифрованное значение с ответным значением D, полученным от устройства 200 доступа.
Если устройство 200 доступа использует для осуществления взаимного опознавания непригодный шифровальный ключ Kmu, то на этапе первой проверки будет установлено, что вызывное значение А не совпадает с ответным значением В, а на этапе второй проверки будет установлено, что вызывное значение С не совпадает с ответным значением D, и на этом процедура взаимного опознавания прекратится. В случае подтверждения подлинности опознающих друг друга устройств, модуль 15 ОПК осуществляет логическую операцию “Исключающее ИЛИ” над вызывным значением А и ответным значением С и получает ключ сеанса Кs, дешифровав результат операции “Исключающее ИЛИ” с помощью шифровального ключа Kmu.
Когда устройство 200 доступа, к которому подключена полупроводниковая карта 100 памяти, выводит зашифрованные данные, подлежащие записи в защищенную область, модуль 16 Ks-дешифровки использует ключ сеанса Ks для дешифровки этих данных, которые были зашифрованы с помощью ключа сеанса Ks до того, как были выведены. Данные, полученные в результате такой дешифровки, записывают в защищенную область в качестве исходных данных.
Модуль 17 Ks-шифровки принимает от устройства 200 доступа, к которому подключена полупроводниковая карта 100 памяти, команду на считывание данных, шифрует данные, хранящиеся в защищенной области, с помощью ключа сеанса Ks, после чего выводит зашифрованные данные на устройство 200 доступа. Считывание данных из защищенной области и запись данных в нее осуществляют после дешифровки, произведенной модулем 16 Ks-дешифровки, и шифровки, произведенной модулем 17 Ks-шифровки, поэтому доступ к защищенной области возможен только после того, как полупроводниковая карта 100 памяти и подключенное к ней устройство 200 доступа успешно завершили операцию ОПК.
Теперь опишем формат области тома согласно второму варианту осуществления, со ссылкой на фиг.16, где изображена подробная схема области тома, в состав которой включена защищенная область. Согласно схеме, если суммарный размер области тома равен “Размер_тома”, то под область пользов44444441ательских данных выделяют область, размер которой равен “Размер тома× (1-β )”, и которая начинается с начала области тома, а под защищенную область выделяют область, размер которой равен “Размер тома× β ”, следующую после области пользовательских данных. В данном случае β представляет собой величину, минимальное значение которой равно 0.01. Пусть, например, размер тома равен 64 МБ, а β равно 0.01. Тогда размер защищенной области составляет 640 КБ. Формат области пользовательских данных и защищенной области реализуется тогда, когда модуль 9 операций файловой системы выполняет процедуру инициализации, представленную на фиг.9.
Теперь опишем пример вычисления, которое выполняют для вычисления размера области управления разделом и системной области в области пользовательских данных, когда суммарное количество секторов TS в области пользовательских данных равно 124160.
Исходя из значения TS, равного 124160, модуль 9 операций файловой системы определяет на этапе S1, что размер кластера равен 32 секторам. После того, как определено, что размер кластера равен 32 секторам, на этапе S2 модуль 9 операций файловой системы, на основании размера кластера SC и суммарного количества секторов TS, определяет, что надлежит использовать файловую систему FAT12. В рассматриваемых вариантах осуществления размеры RDE и RSC имеют фиксированные значения, соответственно, 32 секторов и 1 сектор, поэтому вычисления на этапах S3 и S4 не производят. На этапе S5 модуль 9 операций файловой системы вычисляет длину данных FAT с помощью уравнения (11). Поскольку, в данном случае, FAT представляет собой FAT12, выполняют следующие вычисления.
Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512=(((((124160-(1+32))/32)+2)× 12/8)+511)/512=12 секторов.
После того, как вычислен Size1, на этапе S6 модуль 9 операций файловой системы, с помощью уравнения (12), находит такое значение NOM, при котором головная загрузочная запись и загрузочный сектор раздела располагаются в разных кластерах
NOM=(SC-(RSC+RDE+Size1× 2)%SC)+SC=
=(32-(1+32+12× 2)%32)+32=39 секторов.
После того, как вычислен NOM, модуль 9 операций файловой системы на этапе S7 вычисляет количество кластеров в пользовательской области с помощью уравнения (13)
CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=
=(124160-(1+32+12× 2+39))/32=3877 кластеров.
На этапе S8 модуль 9 операций файловой системы повторно вычисляет длину данных FAT с помощью уравнения (14).
Для FAT12: Size2=(((CN+2)× 12/8)+511)/512=
=(((3877+2)× 12/8)+511)/512==12 секторов.
На этапе S9 модуль 9 операций файловой системы сравнивает Size1, вычисленный на этапе S5, и Size2, вычисленный на этапе S8. В данном случае, оба вычисленных значения, Size1 и Size2, равны 12 секторам, из чего следует, что эти значения одинаковы, и процедура, представленная блок-схемой, завершается.
Схема области пользовательских данных, в которой размеры системной области и области управления разделом установлены в соответствии с TS, Size1 и NOM, полученными путем вышеприведенных вычислений, показана на фиг.17. Сравнив эту фигуру с фиг.12, можно увидеть, что, поскольку размер дублированной FAT увеличился с 14 до 24 секторов, а размер резервной информации 2/2 уменьшился с 17 до 7 секторов, то область управления разделом и системная область, по прежнему, точно умещаются в три очищаемых блока.
Теперь опишем пример вычислений, производимых для расчета размера области управления разделом и системной области в защищенной области, когда суммарное количество секторов в защищенной области равно 1280.
Исходя из значения TS, равного 1280, модуль 9 операций файловой системы на этапе S1 определяет, что размер кластера равен 2 секторам (1 КБ памяти, т.е. всего лишь 1/16 размера кластера в области пользовательских данных). После того, как определено, что размер кластера равен 2 секторам, на этапе S2 модуль 9 операций файловой системы, на основании размера кластера SС и суммарного количества секторов ТS, определяет, что надлежит использовать файловую систему FAT12. Согласно рассматриваемым вариантам осуществления, размеры RDE и RSC имеют фиксированное значение, соответственно, 32 сектора и 1 сектор, поэтому вычисления на этапах S3 и S4 не производят. На этапе S5 модуль 9 операций файловой системы вычисляет длину данных FAT с помощью уравнения (11). Поскольку, в данном случае, FAT представляет собой FAT12, выполняют следующие вычисления.
Size1=(((((TS-(RSC+RDE))/SС)+2)× 12/8)+511)/512=
=(((((1280-(1+32))/2)+2)× 12/8)+511)/512=2 сектора.
После того, как вычислен Size1, на этапе S6 модуль 9 операций файловой системы, с помощью уравнения (12), находит такое значение NOM, при котором головная загрузочная запись и загрузочный сектор раздела располагаются в разных кластерах.
NOM=(SC-(RSC+RDE+Size1× 2)%SC)+SC=
=(2-(1+32+2× 2)%2)+2=3 сектора.
После того, как вычислен NOM, модуль 9 операций файловой системы на этапе S7 вычисляет количество кластеров в пользовательской области с помощью уравнения (13)
CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=
=(1280-(1+32+2× 2+3))/2=620 кластеров.
На этапе 38 модуль 9 операций файловой системы повторно вычисляет длину данных FAT с помощью уравнения (14). Для FAT12: Size2=(((CN+2)× 12/8)+511)/512=(((620+2)× 12/8)+511)/512=2 сектора.
На этапе S9 модуль 9 операций файловой системы сравнивает Size1, вычисленный на этапе S5, и Size2, вычисленный на этапе S8. В данном случае, оба вычисленных значения, Size1 и Size2, равны 2 секторам, откуда следует, что эти значения одинаковы, и процедура, представленная блок-схемой, завершается.
Схема защищенной области, в которой размеры системной области и области управления разделом установлены в соответствии с TS, Size1 и NOM, полученными путем вышеприведенных вычислений, показана на фиг.18. Согласно рассматриваемым вариантам осуществления, как область пользовательских данных, так и защищенная область содержит область управления разделом, системную область и пользовательскую область, поэтому устройство 200 доступа обращается к каждой из этих двух областей как к независимому физическому носителю. Таким образом, хотя область пользовательских данных и защищенная область характеризуются разным размером кластера, границы кластеров в области пользовательских данных и в защищенной области можно выравнивать с границами очищаемых блоков.
Согласно вышеописанному варианту осуществления, даже если область тома содержит две области, область пользовательских данных и защищенную область, границы таких областей выровнены с границами очищаемых блоков, что дает возможность перезаписывать кластеры в течение короткого времени. Кроме того, снижается частота операций очистки очищаемых блоков, что обеспечивает продление срока службы энергонезависимой памяти.
Третий вариант осуществления
Третий вариант осуществления предусматривает усовершенствованную процедуру стирания данных, хранящихся в очищаемых блоках, управление которыми осуществляют посредством логических адресов и физических адресов. На фиг.19 изображена структура модуля 2 управления доступом в соответствии с третьим вариантом осуществления. Согласно чертежу, модуль 2 управления доступом содержит модуль 21 декодирования команд, модуль 22 преобразования логического/физического адреса, модуль 23 управления считыванием, модуль 24 изменения выделения, модуль 25 управления записью, модуль 26 управления очисткой и модуль 27 управления изменением.
Модуль 21 декодирования команд принимает команду, выданную устройством 200 доступа, и восстанавливает исходное содержание команды на момент выдачи. Получив команду считывания, модуль 21 декодирования команд предписывает модулю 23 управления считыванием считать данные из энергонезависимой памяти 1 (Считать). Получив команду записи, модуль 21 декодирования команд предписывает модулю 25 управления записью записать данные в энергонезависимую память 1 (Записать). Если полученная команда записи задает в качестве цели доступа неочищенный блок, то модуль 21 декодирования команд предписывает модулю 27 управления изменением изменить (перезаписать) данные, хранящиеся в энергонезависимой памяти 1 (Изменить). Получив команду получения статуса, модуль 21 декодирования команд предписывает модулю 24 изменения выделения считать (описанный ниже) список очищенных блоков. Получив команду очистки, модуль 21 декодирования команд предписывает модулю 24 изменения выделения очистить заданный очищаемый блок.
Модуль 22 преобразования логического/физического адреса содержит таблицу соответствия адресов, которая устанавливает соответствие между логическими и физическими адресами очищаемых блоков. Получив от устройства 200 доступа логический адрес доступа, модуль 22 преобразования логического/физического адреса обращается к таблице соответствия адресов, находит там физический адрес, соответствующий указанному логическому адpecу, и выводит найденный физический адрес на модуль 23 управления считыванием, модуль 24 изменения выделения и модуль 27 управления изменением.
Когда устройство 200 доступа выдает команду считывания, модуль 23 управления считыванием осуществляет управление таким образом, чтобы устройство 200 доступа могло считать данные, хранящиеся по адресу считывания, заданному командой считывания.
Модуль 24 изменения выделения поддерживает список очищенных блоков, в котором физические адреса очищаемых блоков, которые были очищены, организованы в формате “первым вошел, первым вышел” (FIFO). Когда устройство 200 доступа выдает команду записи, модуль 24 изменения выделения проверяет в списке очищенных блоков наличие физического адреса, соответствующего логическому адресу записи. В случае наличия такого физического адреса, модуль 24 изменения выделения выводит физический адрес на модуль 25 управления записью и удаляет этот физический адрес из списка очищенных блоков. Если соответствующий физический адрес указывает на очищаемый блок, который еще не очищен, то модуль 24 изменения выделения выделяет логическому адресу записи физический адрес, находящийся в начале списка очищенных блоков, и передает выделенный физический адрес модулю 25 управления записью, а физический адрес, который был ранее выделен логическому адресу записи, добавляет в конец списка очищенных блоков. Если устройство 200 доступа выдает команду получения статуса, то модуль 24 изменения выделения, с помощью таблицы соответствия адресов, заменяет физические адреса, указанные в списке очищенных блоков, на логические адреса и выводит на устройство 200 доступа список очищенных блоков, в котором они указаны посредством логических адресов. Если устройство 200 доступа выдает команду очистки с указанием логического адреса, то модуль 24 изменения выделения определяет физический адрес, соответствующий этому логическому адресу, и добавляет его в список очищенных блоков.
Модуль 25 управления записью, при поступлении команды записи, предписывающей записать блок, записывает данные в энергонезависимую память 1 по физическому адресу, полученному от модуля 24 изменения выделения.
Модуль 26 управления очисткой, с определенной периодичностью, опрашивает список очищенных блоков на предмет поступления нового физического адреса еще не очищенного блока. Обнаружив такой физический адрес, модуль 26 управления очисткой очищает очищаемый блок по этому физическому адресу.
Модуль 27 управления изменением, при поступлении команды записи, предписывающей изменить очищаемый блок, в который уже записаны данные, считывает данные из энергонезависимой памяти 1 в оперативную память 3, изменяет данные, загруженные в оперативную память 3, после чего записывает измененные данные в энергонезависимую память 1. Модуль 27 управления изменением осуществляет процедуру изменения во взаимодействии с модулем 24 изменения выделения. Последовательность операций, осуществляемых модулем 27 управления изменением при изменении данных, показана на фиг.20 в порядке их выполнения.
В исходном состоянии, показанном на фиг.20А, данные хранятся в блоках, обозначенных штриховкой (с физическими адресами 001, 002, 004, 007-015), а остальные блоки 003, 005 и 006 очищены. Физические адреса очищенных блоков помещены в список очищенных блоков. Согласно таблице соответствия адресов, устанавливающей соответствие между логическими и физическими адресами, логические адреса 001, 002, 003, 004 и 005 отвечают, соответственно, физическим адресам 001, 002, 003, 004 и 005.
Пусть, например, устройство 200 доступа выдает команду записи, в которой указан логический адрес 001 очищаемого блока, в который нужно записать новое значение. Тогда модуль 21 управления изменением переносит данные, ранее записанные в блок, указанный логическим адресом 001, из энергонезависимой памяти 1 в оперативную память 3 (см. стрелку
Figure 00000002
Считать на фиг.20А). Затем, модуль 27 управления изменением изменяет данные, загруженные в оперативную память 3 (см. стрелку
Figure 00000003
Изменить на фиг.20А) из блока, указанного логическим адресом 001.
Затем, согласно фиг.20В, модуль 27 управления изменением считывает [получает от модуля 24 изменения выделения] физический адрес 003, находящийся в начале списка очищенных блоков, что отражено стрелкой BN1, и записывает измененные данные в блок, указанный физическим адресом 003, что отражено стрелкой
Figure 00000004
Записать. Затем, согласно фиг.20С, модуль 24 изменения выделения помещает физический адрес 001, указывающий блок, подлежащий очистке, в список очищенных блоков, как показано стрелкой
Figure 00000005
.
Наконец, модуль 24 изменения выделения изменяет график соответствия между логическими адресами и физическими адресами, как показано на фиг.20D. В данном случае, физический адрес 003 выделяют логическому адресу 001, а физический адрес 001 выделяют логическому адресу 003. Таким образом, перезаписать данные по логическому адресу 001 можно, записав данные по физическому адресу 003 и изменив график соответствия между логическими и физическими адресами.
Продолжим рассмотрение внутренней структуры устройства 200 доступа. На фиг.21 показана внутренняя структура модуля 9 операций файловой системы, входящего в состав устройства 200 доступа, согласно третьему варианту осуществления. Модуль 9 операций файловой системы, показанный на чертеже, содержит модуль 28 удаления файлов и модуль 29 управления упреждающей очисткой.
Модуль 28 удаления файлов удаляет файлы путем обновления FAT, считанной в первичную память 7, и записи обновленной FAT в полупроводниковую карту 100 памяти. Если прикладная программа 8 предписывает удалить файл, то модуль 28 удаления файлов выполняет удаление файла, задавая элементы FAT, соответствующие кластерам, в которых хранятся сегменты этого файла, равными '0', указывая тем самым, что эти кластеры не используются. Однако, при этом, кластеры (очищаемые блоки), в которых хранятся сегменты файла, не обязательно возвращаются в пустое состояние, поэтому, прежде чем записать в те же кластеры другой файл, эти кластеры нужно очистить. В результате, чем больше требуется удалять старые файлы и записывать новые файлы, тем больше времени отнимают операции очистки.
Модуль 29 управления упреждающей очисткой, выдав полупроводниковой карте 100 памяти команду получения статуса, предписывающую ей считать список свободной очищенной памяти (список очищенных блоков), ожидает предписаний прикладной программы 8. После того как команда выдана, и список свободной очищенной памяти выведен, модуль 29 управления упреждающей очисткой принимает выведенный список свободной очищенной памяти и сравнивает его с FAT, чтобы выявить очищаемые блоки, соответствующие кластерам, заданным в FAT как неиспользуемые. (Когда один очищаемый блок содержит совокупность кластеров, можно выявлять только те очищаемые блоки, которые образованы исключительно неиспользуемыми кластерами). Затем, среди этих очищаемых блоков, выявляют блоки, которые не указаны в списке очищенных блоков. Выявленные блоки представляют собой очищаемые блоки, которые не используются, но все еще не очищены, и модуль 29 управления упреждающей очисткой выдает полупроводниковой карте 100 памяти команду очистки, предписывающую очистить эти блоки. Команда очистки содержит логический адрес и предписание добавить физический адрес, соответствующий этому логическому адресу, к списку очищенных блоков. При добавлении физического адреса к списку очищенных блоков по такой команде очистки, блок, указанный в этой команде очистки, очищают таким же образом, как и другие неочищенные неиспользуемые блоки, когда модуль 26 управления очисткой осуществляет опрос. Все неочищенные неиспользуемые блоки проходят одну и ту же процедуру. Блок-схема, изображенная на фиг.22, помогает подробно описать работу модуля 29 управления упреждающей очисткой.
Согласно данному варианту осуществления, после активации, модуль 29 управления упреждающей очисткой осуществляет цикл, содержащий этапы S21, S22. На этапе S21 модуль 29 управления упреждающей очисткой проверяет, поступила ли от прикладной программы 8 команда доступа, а на этапе S22 определяет, истек ли определенный период опроса. Если команда от прикладной программы 8 поступила, то модуль 29 управления упреждающей очисткой переходит к этапу S23 и осуществляет операцию файловой системы и доступ к полупроводниковой карте 100 памяти, в соответствии с командой. Если определенный период опроса истек, то модуль 29 управления упреждающей очисткой переходит от этапа S22 к этапу S24 и выдает на полупроводниковую карту 100 памяти команду получения статуса, чтобы считать список очищенной свободной памяти. После этого, на этапе S25, модуль 29 управления упреждающей очисткой ожидает поступления списка очищенных блоков. Считав список очищенных блоков, модуль 29 управления упреждающей очисткой, на этапе S26, выявляет логические адреса всех очищаемых блоков, которые образованы кластерами, указанными в FAT как неиспользуемые, и которые отсутствуют в списке очищенных блоков.
На этапе S27 модуль 29 управления упреждающей очисткой проверяет наличие неиспользуемых очищаемых блоков, которые еще не очищены, и, если таких блоков нет, возвращается к циклу, содержащему этапы S21 и S22. Если такие блоки существуют, то модуль 29 управления упреждающей очисткой осуществляет цикл, содержащий этапы S28-S30. Иными словами, модуль 29 управления упреждающей очисткой выдает полупроводниковой карте 100 памяти команды очистки, обуславливающие стирание данных по каждому из физических адресов, указывающих неиспользуемые, но еще не очищенные очищаемые блоки, выявленные на этапе S26. В соответствии с этими командами, физические адреса всех этих блоков попадают в список очищенных блоков, а значит, эти блоки подлежат очистке.
Теперь проиллюстрируем работу модуля 29 управления упреждающей очисткой на примере, приведенном на фиг.2ЗА и 23В. В исходном состоянии, показанном на фиг.23А, очищаемый блок по адресу 0001 указан в FAT как используемый, и физические адреса 0003, 0005 и 0006 помещены в список очищенных блоков как адреса очищенных блоков. Данные хранятся в блоках энергонезависимой памяти, которые обозначены на чертеже штриховкой (адреса 0000, 0001, 0002, 0004). Если, при этом, от прикладной программы 8 не поступает предписаний, то, по истечении определенного периода опроса (этап S21 - Нет, этап S22 - Да), модуль 9 операций файловой системы, входящий в состав устройства 200 доступа, считывает список очищенных блоков, для чего выдает полупроводниковой карте 100 памяти команду получения статуса (этап S24), и сравнивает считанный список очищенных блоков с FAT (этап S25). Такое сравнение позволяет выявить блоки, которые указаны в FAT как неиспользуемые, и чьи логические адреса отсутствуют в списке очищенных блоков (очищаемые блоки с адресами 0000, 0002, 0004). Поскольку эти блоки не используются, то модуль 9 операций файловой системы выдает полупроводниковой карте 100 памяти команды очистки, чтобы очистить эти очищаемые блоки (этапы S28-S30). Таким образом, адреса 0000, 0002 и 0004 попадают в список очищенных блоков, как показано на фиг.23В, следствием чего является очистка блоков, указанных этими адресами.
Согласно вышеописанному варианту осуществления, устройство 200 доступа считывает список очищенных блоков из полупроводниковой карты 100 памяти и сравнивает FAT со считанным списком очищенных блоков, выявляя неиспользуемые очищаемые блоки, которые еще не очищены, в результате чего, предписывает полупроводниковой карте 100 памяти очистить эти блоки. Таким образом, модуль 9 операций файловой системы может очищать неиспользуемые очищаемые блоки, которые еще не очищены, в промежутках между выполнением предписаний прикладной программы 8, что позволяет более эффективно осуществлять очистку неиспользуемых блоков.
Кроме того, очистку неиспользуемых блоков можно осуществлять всякий раз, когда устройство 200 доступа свободно, что в значительной степени повышает возможности осуществления очистки блоков. В результате, исключается всякая возможность недостатка физических адресов в списке очищенных блоков и значительно повышается эффективность обработки, осуществляемой при изменении и перезаписи блоков.
Согласно данному варианту осуществления, устройство 200 доступа считывает из полупроводниковой карты 100 памяти список очищенных блоков и выявляет блоки, которые не используются, но еще не очищены. Однако модуль 26 управления очисткой, входящий в состав модуля 2 управления доступом, входящего в состав полупроводниковой карты 100 памяти, может, обращаясь к FAT, сам выявлять блоки, которые являются неиспользуемыми и, одновременно, неочищенными, а затем очищать эти блоки. В данном случае, модуль 2 управления доступом заменяет физические адреса, входящие в список очищенных блоков, логическими адресами и передает замененные адреса устройству 200 доступа. Однако устройству 200 доступа можно передавать список очищенных блоков в совокупности с таблицей соответствия адресов, и производить замену физических адресов логическими адресами на устройстве 200 доступа. Стирание данных можно осуществлять при удалении файла или параллельно выполнению другой команды. Кроме того, вместо списка очищенных блоков, в котором указаны физические адреса очищенных блоков, можно использовать другую информацию, например, список неочищенных блоков, в котором указаны физические адреса неочищенных очищаемых блоков. Данный вариант осуществления описан применительно к FAT, но информацию можно хранить в виде списка или в ином аналогичном формате.
Четвертый вариант осуществления
Четвертый вариант осуществления предусматривает усовершенствование третьего варианта осуществления, заключающееся в использовании таблицы очистки блоков вместо списка очищенных блоков. На фиг.24 показана внутренняя структура устройства 200 доступа согласно четвертому варианту осуществления. Если эту фигуру сравнить с фиг.19, то можно заметить, что список очищенных блоков заменен таблицей очистки блоков. Таблица очистки блоков, согласно четвертому варианту осуществления, состоит из элементов, соответствующих каждому очищаемому блоку. Если блок очищен, то соответствующий элемент принимает значение '1', а если блок не очищен, то соответствующий элемент принимает значение '0'. В таблице очистки блоков состояние очистки каждого очищаемого блока указано значением '1' или '0'.
В результате замены списка очищенных блоков таблицей очистки блоков, обработка, осуществляемая модулем 25 управления записью и модулем 26 управления очисткой, согласно четвертому варианту осуществления, отличается от обработки, осуществляемой согласно третьему варианту осуществления, в следующем отношении.
Когда устройство 200 доступа генерирует команду записи, модуль 25 управления записью, согласно четвертому варианту осуществления, обращается к таблице очистки блоков и проверяет, очищен ли блок по адресу записи, и является ли этот блок неиспользуемым. Если блок, в который надлежит произвести запись, является неиспользуемым блоком, то модуль 25 управления записью предписывает модулю 26 управления очисткой стереть данные из этого блока, а потом записывает в этот блок новые данные. Иными словами, модуль 25 управления записью, согласно четвертому варианту осуществления, сначала стирает данные, а затем записывает данные.
Теперь рассмотрим работу модуля 29 управления упреждающей очисткой, согласно четвертому варианту осуществления. Модуль 29 управления упреждающей очисткой осуществляет очистку очищаемых блоков, когда не занят выполнением предписаний прикладной программы 8. Процедура очистки аналогична описанной в третьем варианте осуществления и представлена блок-схемой, изображенной на фиг.25. Эта блок-схема идентична изображенной на фиг.22 за исключением того, что слова “список очищенных блоков” заменены словами “таблица очистки блоков”, и, поскольку в контексте нет заметных изменений, подробное описание блок-схемы мы опустим. Теперь рассмотрим работу модуля 29 управления упреждающей очисткой на примере, приведенном на фиг.26А и 26В.
В исходном состоянии, показанном на фиг.26А, блок с адресом 0001 указан как используемый блок, а блоки с адресами 0003, 0005 и 0006 указаны в таблице очистки блоков, как блоки, из которых удалены данные. Данные хранятся в блоках энергонезависимой памяти, которые обозначены на чертеже штриховкой (адреса 0000, 0001, 0002, 0004). Если, в этом исходном состоянии, существуют блоки, которые не используются, но содержат данные, то, при наличии команды записи, предписывающей запись данных в эти неиспользуемые блоки, необходима операция стирания данных. Согласно данному варианту осуществления, если модуль 29 управления упреждающей очисткой ожидает предписаний прикладной программы 8, то, по истечении определенного периода опроса (этап S21 - Нет, этап S22 - Да), модуль 29 управления упреждающей очисткой считывает таблицу очистки блоков, выдавая полупроводниковой карте 100 памяти команду получения статуса (этап S24) и сравнивает таблицу очистки блоков с FAT (этап S25). Это сравнение позволяет выявить блоки, которые указаны в FAT как неиспользуемые, и чьи логические адреса не помечены в таблице очищенных блоков (очищаемые блоки с адресами 0000, 0002, 0004) (этап S26). Согласно фиг.26, значение '0' присвоено в FAT и в таблице очищенных блоков, блокам с адресами 0000, 0002 и 0004, т.е. эти блоки не используются, но еще не очищены. Поскольку эти блоки не используются и, таким образом содержащиеся в них данные можно стереть, не опасаясь потерять полезную информацию, то модуль 29 управления упреждающей очисткой выдает команды очистки, в соответствии с которыми каждому из соответствующих адресов в таблице очистки блоков должно быть присвоено значение '1', указывающее, что эти блоки подлежат очистке (этапы S28-S30). В результате все данные в неиспользуемых блоках стираются, и эти блоки помечаются в таблице очистки блоков как очищенные блоки. После этого можно осуществлять вышеописанную процедуру записи данных путем выделения неиспользуемых блоков, которая не требует операции очистки и позволяет достичь высокоскоростной записи данных.
Пятый вариант осуществления
Пятый вариант осуществления предусматривает решение проблемы фрагментации файлов. Под фрагментацией файлов обычно понимают процесс, в котором файл делят на совокупность сегментов файла и эти сегменты сохраняют в памяти в произвольном порядке. Если множественные сегменты файла хранятся в произвольном порядке на носителе записи типа оптического диска или магнитного диска, то для считывания сегментов файла, хранящихся в произвольном порядке, требуется большое количество операций подвода головок, что увеличивает продолжительность операции считывания. Для решения проблем, обусловленных фрагментацией, модуль 9 операций файловой системы считывает сегменты файла, хранящиеся в произвольном порядке, и вновь сохраняет их в памяти один за другим (дефрагментация). Благодаря такой обработке, сегменты файла, образующие файл, можно считывать подряд, и для этого не требуется выполнять операции подвода головок, что повышает скорость считывания данных. Так, в общих чертах, выглядит решение, предусмотренное для устранения фрагментации на дисках. Теперь рассмотрим фрагментацию, имеющую место в полупроводниковой карте 100 памяти. При считывании данных с полупроводниковой карты 100 памяти не требуется подвод головок, поэтому, тот факт, что сегменты файла хранятся в произвольном порядке, не приводит к увеличению времени обработки.
Однако несмотря на отсутствие проблемы, связанной с подводом головок, фрагментация обуславливает существенное увеличение: 1) непроизводительных издержек, связанных с выдачей команд, и 2) кэш-промахов, возникающих при считывании FAT (оба момента описаны более подробно ниже), что приводит к возрастанию затрат времени на считывание файла.
1. Непроизводительные издержки, связанные с выдачей команд
Чтобы лучше понять, как фрагментация влияет на непроизводительные издержки, связанные с выдачей команд, обратимся к фиг.27А и 27В. На фиг.27А представлен случай, когда файл размером 48 КБ, разделенный на три сегмента файла размером 16 КБ, хранится в трех произвольно выбранных областях памяти. На фиг.27В представлен случай, когда файл размером 48 КБ хранится в следующих друг за другом областях памяти. Согласно фиг.27А и 27В, модуль 9 операций файловой системы, осуществляя считывание данных из энергонезависимой памяти, выдает полупроводниковой карте памяти команду считывания в формате “Считать (адрес, размер)”. Здесь параметр “адрес” выражает логический адрес блока, из которого надлежит произвести считывание, а параметр “размер” указывает размер данных, подлежащих считыванию. Время, затрачиваемое каждой командой считывания, равно сумме промежутка времени, необходимого для считывания данных, который пропорционален длине считываемых данных, и фиксированного промежутка времени, связанного с непроизводительными издержками при выдаче команды считывания. При размещении данных, показанном на фиг.27А, для считывания файла 1 необходимо выдать три команды считывания: “Считать (0000, 16 КБ)”, “Считать (0002, 16 КБ)” и “Считать (0004, 16 КБ)”. Это значит, что время, затрачиваемое при считывании этого файла, составляет 36 мс (=(8+4)× 3). Если же данные размещены согласно фиг.27В, то все 48 КБ данных файла можно считать, выдав одну команду “Считать (0000, 48 КБ)”. Следовательно, время, затрачиваемое при считывании файла, равно в этом случае, 28 мс (=(8× 3+4)). Таким образом, можно видеть, что непроизводительные издержки, связанные с выдачей команд, увеличиваются пропорционально степени произвола при выборе блоков для хранения сегментов файла.
2. Кэширование FAT
Кэширование FAT это предварительное считывание FAT, размещенной в системной области полупроводниковой карты 100 памяти, во внутреннюю память устройства 200 доступа, которое позволяет повысить скорость обращения к FAT за счет осуществления доступа к внутренней памяти. Если устройство 200 доступа представляет собой портативное устройство с малым объемом внутренней памяти, то частота кэширования FAT велика. Кэширование FAT осуществляют путем считывания сегментов FAT в том порядке, в котором они хранятся в памяти. Однако в случае фрагментации FAT, при кэшировании FAT приходится по порядку считывать во внутреннюю память как сегменты FAT, так и сегменты других данных. В случае считывания других данных, помимо FAT, происходит загрузка во внутреннюю память большого объема данных, не подлежащих кэшированию, т.е. имеет место кэш-промах. Чем больше происходит таких кэш-промахов, тем больше требуется осуществлять операций считывания во внутреннюю память, а следовательно, возрастают затраты времени на считывание FAT.
Несмотря на наличие этих двух проблем, устранять фрагментацию в полупроводниковой карте 100 памяти теми же средствами, что и на диске, нецелесообразно. Дело в том, что для изменения данных, хранящихся в блоках полупроводниковой карты 100 памяти, требуется стирать хранящиеся там данные, а для такого стирания необходимо более продолжительное время, чем при осуществлении аналогичной операции на диске. Данный вариант осуществления, в качестве средства устранения фрагментации, приводящей к увеличению непроизводительных издержек на выдачу команд и появлению кэш-промахов, предусматривает изменение графика соответствия между физическими адресами и логическими адресами. Иными словами, вместо того, чтобы изменять физическое размещение сегментов FAT в памяти, изменяют график соответствия между физическими адресами и логическими адресами так, чтобы упорядочить логические адреса блоков, в которых хранятся сегменты FAT.
Таким образом устройство 200 доступа может считывать файл размером 48 КБ, разделенный на три сегмента размером 16 КБ и хранящийся в трех отдельных областях (блоках) памяти, как показано на фиг.27А, при том, что логические адреса блоков следуют один за другим. При этом для осуществления считывания требуется лишь одна команда считывания, в которой указан первый из совокупности логических адресов, и длина данных файла (в данном случае 48 КБ). Кроме того, если FAT разделена на три сегмента и хранится в трех областях памяти (блоках), то устройство 200 доступа может упорядоченно считывать во внутреннюю память сегменты FAT, хранящиеся в произвольном порядке, в том случае, когда логические адреса блоков следуют один за другим. В данном случае, для осуществления считывания требуются команды считывания, в которых, в качестве адреса считывания, по очереди указан каждый из последовательных логических адресов. Такая обработка исключает всякую возможность возникновения кэш-промахов. Таким образом, даже если множественные сегменты файла или FAT хранятся в произвольно выбранных областях, этим областям можно выделить последовательные логические адреса, что решает проблему непроизводительных издержек, связанных с выдачей команд считывания, и позволяет избежать возникновения кэш-промахов.
На фиг.28 изображена блок-схема процедуры устранения фрагментации посредством операций над логическими адресами, осуществляемой модулем 29 управления упреждающей очисткой. На фиг.29 изображены иллюстративные объекты, которым соответствуют переменные t, u, v и у, присутствующие в блок-схеме. На этапе S50 модуль 29 управления упреждающей очисткой задает исходные значения переменных х и y (х← 1, y← 1). Это значит, что обработке подлежит первый сегмент первого файла. Затем, на этапе S51, модуль 29 управления упреждающей очисткой сравнивает логический адрес s блока, в котором хранится y-й сегмент х-го файла, и логический адрес t блока, в котором хранится (y+1)-й сегмент х-го файла, чтобы определить порядок следования этих блоков. Если, как показано на фиг.29А, y-й сегмент и (y+1)-й сегмент хранятся в порядке следования у→ y+1, что соответствует результату “Да” на этапе S52, и, притом, не в соседних очищаемых блоках, то модуль 29 управления упреждающей очисткой переходит к этапу S54.
Если сегменты хранятся в порядке у+1→ у, как показано на фиг.29В, то модуль 29 управления упреждающей очисткой переходит к этапу S53 и выделяет логическому адресу t физический адрес u, а логическому адресу s - физический адрес v. В результате, выделение физических адресов логическим адресам изменяется, как показано на фиг.29В стрелками rv1 и rv2. Затем, на этапе S54, модуль 29 управления упреждающей очисткой проверяет, следует ли логический адрес очищаемого блока, в котором хранится (y+1)-й сегмент, непосредственно после логического адреса очищаемого блока, в котором хранится y-й сегмент. Если очищаемый блок, в котором хранится (y+1)-й сегмент, следует непосредственно после очищаемого блока, в котором хранится y-й сегмент, как показано на фиг.29С, то соотношение s+1=t справедливо, что соответствует результату “Да” этапа S54, и процедура переходит к этапу S56. Если очищаемые блоки, в которых хранятся y-й сегмент и (y+1)-й сегмент, не являются соседними, то соотношение s+1=t несправедливо, что соответствует результату “Нет” этапа S54, и процедура переходит к этапу S55. В данном случае, если логическому адресу s+1 соответствует физический адрес w, то на этапе S55 физический адрес v очищаемого блока, в котором хранится (y+1)-й сегмент, выделяют логическому адресу s+1, а физический адрес w выделяют логическому адресу t. При выполнении этапа S55, когда y-й и (y+1)-й сегменты хранятся, как показано на фиг.29D, график соответствия адресов изменяется, как показано стрелками rv3 и rv4.
По завершении вышеописанных операций, на этапе S56 модуль 29 управления упреждающей очисткой выясняет, является ли переменная 'y' номером последнего сегмента. Если 'y' не является номером последнего сегмента, то модуль 29 управления упреждающей очисткой на этапе S57 увеличивает у на единицу, и процедура возвращается к этапу S51. Этапы S51-S57 процедуры повторяют для каждого сегмента х-го файла, каждый раз осуществляя проверку на этапе S56 и сообщая 'y' единичное приращение на этапе S57.
Если же этап S56 дает результат “Да”, то модуль 29 управления упреждающей очисткой на этапе S58 выясняет, является ли 'х' номером последнего файла, и, в случае отрицательного результата, переходит к этапу S59, т.е. увеличивает переменную х (х← х+1) и, на этапе S60, присваивает переменной у исходное значение. Таким образом, этапы S51-S57 повторяют для всех файлов, каждый раз осуществляя проверку на этапе S58 и сообщая переменной 'х' единичное приращение на этапе S59.
Теперь рассмотрим решение проблемы фрагментации, предложенное в данном варианте осуществления, на конкретном примере, приведенном на фиг.30. В исходном состоянии, показанном на фиг.30А, сегменты 1-1/3, 1-2/3 и 1-3/3, образующие файл 1, хранятся в очищаемых блоках, соответствующих логическим адресам 0000, 0001 и 0004. Кроме того, сегменты 2-1/4, 2-2/4, 2-3/4 и 2-4/4, образующие файл 2, хранятся в очищаемых блоках, соответствующих логическим адресам 0002, 0003, 0005 и 0006.
Сегмент файла 2-1/4 хранится в очищаемом блоке, соответствующем адресу (логическому адресу 0002), следующему за логическим адресом 0001, указывающему блок, в котором хранится сегмент файла 1-2/3, а сегмент файла 1-3/3 хранится в очищаемом блоке, соответствующем логическому адресу 0004.
Если применить процедуру, представленную блок-схемой, изображенной на фиг.28, к примеру, приведенному на этой схеме, то она установит, что порядок следования сегментов файла 1-1/3 и 1-2/3 совпадает с порядком следования соответствующих им логических адресов 0000 и 0001, так что соответствие между ними следует сохранить. Однако если рассмотреть порядок следования сегментов файла 1-2/3 и 1-3/3, можно увидеть, что, хотя очищаемый блок, в котором хранится сегмент файла 1-2/3, соответствует логическому адресу 0001, но в очищаемом блоке, соответствующем логическому адресу 0002, хранится сегмент файла 2-1/4. Следовательно этап S54 дает результат “Нет”, и процедура переходит к этапу S55. На этапе S55, логический адрес, который прежде соответствовал физическому адресу очищаемого блока, в котором хранится сегмент файла 1-3/3, ставят в соответствие физическому адресу очищаемого блока, в котором хранится сегмент файла 2-1/4, и наоборот. Теперь сегменты файла 1-2/3 и 1-3/3 указаны последовательными логическими адресами, так что физический адрес 0002 очищаемого блока, в котором хранится сегмент файла 2-1/4, выделен логическому адресу 0004 и, наоборот, физический адрес 0004 очищаемого блока, в котором хранится сегмент файла 1-3/3, выделен логическому адресу 0002. График соответствия между логическими и физическими адресами, полученный в результате этого изменения, показан на фиг.30В. По завершении обработки в отношении сегмента файла 1-3/3, осуществляют обработку в отношении сегмента файла 2-2/4. Согласно фиг.30В, соотношение между сегментами файла 2-1/4 и 2-2/4 таково, что сегмент файла 2-1/4 хранится в очищаемом блоке, соответствующем логическому адресу 0004, а следующий сегмент файла 2-2/4 хранится в очищаемом блоке, соответствующем логическому адресу 0003. Таким образом логические адреса, присвоенные этим сегментам, следуют в обратном порядке. В результате, на этапе S52 получают ответ “Нет”, и обработка переходит к этапу S53, на котором порядок следования адресов, соответствующих сегментам файла 2-1/4 и 2-2/4, меняют на противоположный. В данном случае, физическому адресу 0002, соответствующему очищаемому блоку, в котором хранится сегмент файла 2-1/4, выделяют логический адрес 0003, а физическому адресу 0003, соответствующему очищаемому блоку, в котором хранится сегмент файла 2-2/4, выделяют логический адрес 0004. В результате этой обработки, сегменты файла, образующие файлы 1 и 2, указаны последовательными логическими адресами.
Согласно данному варианту осуществления, даже если сегменты файла хранятся в областях памяти, не следующих друг за другом, этим областям памяти можно выделить последовательные логические адреса, что позволяет снизить непроизводительные издержки, обусловленные выдачей команд считывания, и кэш-промахи, имеющие место при кэшировании FAT и файлов.
Шестой вариант осуществления
Шестой вариант осуществления предусматривает усовершенствование, применяемое при записи в энергонезависимую память разнообразного материала с помощью службы распространения и при воспроизведении записанного материала на портативном проигрывателе. В этом случае, в полупроводниковую карту 100 памяти чаще всего записывают файлы с разнообразными атрибутами, а именно, музыку, изображения, игры и текст. Поскольку, в зависимости от типа файла, его считывание и редактирование осуществляется по-разному, модуль 9 операций файловой системы, входящий в состав устройства 200 доступа, должен проверять содержимое файла перед осуществлением чтения или редактирования. Необходимость производить такую проверку всякий раз перед чтением или редактированием файла затрудняет работу модуля 9 операций файловой системы. Поэтому универсальный дисковый формат (УДФ) хранения данных на цифровых универсальных дисках (DVD) предусматривает для каждого файла расширенный атрибут, позволяющий мгновенно распознавать тип данных, хранящихся в файле, не проверяя содержимого файла.
На фиг.31 показан пример расширенного атрибута. Атрибут, показанный на чертеже, представляет собой новый тип расширенного атрибута, сформированный на основании расширенного атрибута использования реализации, предусмотренного в УДФ. Расширенный атрибут содержит поле 2000 типа атрибута, поле 2010 подтипа атрибута, резервную область 2020, поле 2030 длины атрибута, поле 2040 длины использования реализации, поле 2050 идентификатора реализации (они идентичны полям расширенного атрибута использования реализации в УДФ, поэтому более подробное объяснение здесь опущено) и поле 2060 использования реализации. Поле 2060 использования реализации содержит поле 2061 контрольной суммы заголовка, в котором хранится контрольная сумма заголовочного сегмента расширенного атрибута, поле 2063 имени, в котором хранится имя файла, и поле 2062 флага, в котором хранится атрибут файла. Каждый бит флага
2062 задают равным '0' или '1', чтобы указать атрибут файла. Первый бит флага 2062 указывает является ли данный файл текстовым файлом, второй бит указывает является ли данный файл файлом изображения, а область, начинающаяся с третьего файла, является резервной областью.
Хранение такого расширенного атрибута в полупроводниковой карте 100 памяти сталкивается с очевидной трудностью. Дело в том, что информация управления томом, хранящаяся в полупроводниковой карте 100 памяти, отвечает структуре данных, заданной вышеупомянутым стандартом ISO/IEC 9293, который не предусматривает снабжение каждого файла расширенным атрибутом.
Согласно данному варианту осуществления, расширенный атрибут хранится в защищенной области и/или в дублирующей области. Защищенная область была описана применительно ко второму варианту осуществления, поэтому, в дальнейшем, мы не будем ее рассматривать. Дублирующей областью управляют отдельно от нормального раздела области пользовательских данных. Если в области пользовательских данных энергонезависимой памяти появляется поврежденный сектор, то модуль 24 изменения выделения выбирает сектор из дублирующей области, чтобы заменить поврежденный сектор. На фиг.32 показана внутренняя структура полупроводниковой карты 100 памяти, в которой предусмотрена дублирующая область. Новые расширенные атрибуты, которые невозможно задать в файловой системе FAT, можно задать для каждого файла, сохранив эти атрибуты в защищенной области или в дублирующей области. Кроме того, поскольку в пользовательской области и в области пользовательских данных, используемых обычным пользователем, применяется традиционная файловая система, которая никак не связана с нововведенными расширенными атрибутами, система совместима с другими системами. Кроме того, поскольку устройство 200 доступа должно только реализовать операции, необходимые для каждого типа файла, то устройство 200 доступа реализует меньшее количество операций, что позволяет снизить объем памяти устройства 200 доступа. Кроме того, поскольку тип файла для каждого файла можно определить, просто обратившись к информации расширенного атрибута, вместо того, чтобы обращаться к содержимому файла, можно повысить скорость выполнения операций.
Седьмой вариант осуществления
Этот вариант осуществления предусматривает дополнительное усовершенствование защиты файлов за счет установления для файлов в файловой системе FAT запрета на запись и запрета на чтение. Традиционная файловая система FAT предусматривает установление для отдельных файлов таких атрибутов, как запрет на запись или запрет на чтение в файловых элементах. Модуль 9 операций файловой системы, входящий в состав устройства 200 доступа, будучи подключенным к полупроводниковой карте 100 памяти, считывает и сохраняет информацию управления томом и обращается к атрибуту отдельного файла, чтобы определить, допустимо ли чтение или запись этого файла. Если прикладная программа 8, заложенная в устройство 200 доступа, обращается к полупроводниковой карте 100 памяти посредством модуля 9 операций файловой системы, то атрибуты, заданные в файловых элементах, имеют значение. Если же прикладная программа 8 обращается к полупроводниковой карте 100 памяти в обход модуля 9 операций файловой системы и осуществляет операции записи или считывания, выдавая команды записи или считывания непосредственно полупроводниковой карте 100 памяти, то какие-либо атрибуты запрета на запись или запрета на чтение, заданные в файловых элементах, не имеют никакой силы. Данный вариант осуществления предусматривает структуру полупроводниковой карты 100 памяти, изображенную на фиг.33, благодаря чему, атрибуты запрета на запись и запрета на чтение остаются в силе, даже при непосредственном обращении прикладной программы 8 к полупроводниковой карте 100 памяти. На фиг.33 показана внутренняя структура полупроводниковой карты 100 памяти, согласно седьмому варианту осуществления. Отличительные особенности этого чертежа заключаются в том, что в дублирующей области энергонезависимой памяти 1 хранится таблица атрибутов блоков.
Таблица атрибутов блоков состоит из элементов, соответствующих очищаемым блокам, входящим в состав области тома. Когда элемент равен '1', это значит, что соответствующий блок защищен от записи. Когда элемент равен '2', это значит, что соответствующий блок защищен от чтения. Модуль 9 операций файловой системы и модуль 2 управления доступом, описанные согласно пятому варианту осуществления, осуществляют операции на таблице атрибутов блоков, а также на файловых элементах. Если прикладная программа 8 предписывает модулю 9 операций файловой системы открыть файл, чтобы установить для него атрибут, то модуль 9 операций файловой системы задает атрибут в файловом элементе, соответствующем этому файлу. Например, если прикладная программа 8 предписывает установить для файла защиту от записи, то в соответствующем файловом элементе задают атрибут запрета на запись. Если прикладная программа 8 предписывает установить для файла защиту от считывания, то в соответствующем файловом элементе задают атрибут запрета на чтение. Если прикладная программа 8 предписывает сделать файл скрытым, то модуль 9 операций файловой системы задает в соответствующем файловом элементе атрибут запрета на чтение.
Если атрибуты файлов заданы подобным образом в соответствующих файловых элементах, то модуль 9 операций файловой системы делит файл на сегменты размером с кластер и записывает эти сегменты в пользовательскую область в виде совокупности кластеров. Записав сегменты файла в виде кластеров, модуль 9 операций файловой системы задает атрибут файла в элементах таблицы атрибутов блоков, которые соответствуют каждому очищаемому блоку, в которых сохранен файл. Если файл защищен от записи, то модуль 9 операций файловой системы задает атрибут запрета на запись в элементах, соответствующих каждому из кластеров, в которых хранятся сегменты файла, а если файл защищен от считывания, то модуль 9 операций файловой системы задает атрибут запрета на чтение в элементах, соответствующих каждому из кластеров, в которых хранятся сегменты файла. Если файл имеет атрибут “скрытый”, то модуль 9 операций файловой системы задает атрибут запрета на чтение в элементах, соответствующих каждому из кластеров, в которых хранятся сегменты файла.
Если файл записан в пользовательской области таким образом, то данные считывают или записывают в блоки в соответствии с атрибутами, указанными в таблице атрибутов блоков. Иными словами, если устройство 200 доступа выдает команду считывания, то модуль 23 управления считыванием обращается к элементу таблицы атрибутов блоков, соответствующему адресу считывания. Если элемент указывает, что считывание разрешено, то модуль 23 управления считыванием считывает данные из блока, указанного адресом считывания, а если элемент указывает, что считывание запрещено - не считывает данные из блока, указанного адресом считывания.
Если устройство 200 доступа выдает команду записи, то модуль 25 управления записью или модуль 27 управления изменением обращается к элементу таблицы атрибутов блоков, соответствующему адресу записи. Если элемент указывает, что запись разрешена, то модуль 25 управления записью или модуль 27 управления изменением записывает данные в блок, указанный адресом записи, а если элемент указывает, что запись запрещена - не записывает данные в блок, указанный адресом записи.
Такого рода управление записью и считыванием осуществляется вне зависимости от того, выдает ли прикладная программа 8 команду записи или считывания посредством модуля 9 операций файловой системы, или же непосредственно, минуя модуль 9 операций файловой системы. Таким образом запись и считывание блоков можно ограничивать вне зависимости от того, задействует ли устройство 200 доступа команды модуль 9 операций файловой системы при осуществлении операций записи и считывания.
На фиг.34 приведен конкретный пример действия модуля 9 операций файловой системы согласно данному варианту осуществления. Согласно фиг.34А, данные, содержащиеся в файле 1, хранятся в очищаемых блоках по адресам 0000, 0002 и 0003, данные, содержащиеся в файле 2, хранятся в очищаемых блоках по адресам 0001 и 0004, данные, содержащиеся в файле 3, хранятся в очищаемом блоке по адресу 0005, и данные, содержащиеся в файле 4, хранятся в очищаемом блоке по адресу 0006. На фиг.34В показан случай, когда для файла 1 установлен атрибут запрета на запись. В таблице атрибутов блоков, элементам, соответствующим блокам, в которых хранятся сегменты файла 1 (идентифицированные адресами 0000, 0002 и 0003), присвоено значение '1', что соответствует атрибуту запрета на запись. Если таблица атрибутов блоков задана таким образом, то модуль 25 управления записью будет игнорировать команды на осуществление операций записи в блоки по адресам 0000, 0002 и 0003.
На фиг.34С показан случай, когда в энергонезависимой памяти 1 сохраняют файл 2 с атрибутом запрета на чтение. При этом, элементам таблицы атрибутов блоков, которые соответствуют файлу 2, присваивают значение, соответствующее атрибуту запрета на чтение. Затем файл 2 делят на совокупность сегментов и сохраняют эти сегменты в совокупности блоков пользовательской области. Если сегменты файла 2 хранятся в блоках, указанных логическими адресами 0001 и 0004, то элементы таблицы атрибутов блоков, соответствующие этим блокам, содержат значение '2', указывая наличие атрибута запрета на чтение. Если таблица атрибутов блоков задана таким образом, то модуль 23 управления считыванием игнорирует команды на считывание данных из блоков по адресам 0001 и 0004.
Согласно вышеописанному варианту осуществления, атрибуты запрета на чтение и запрета на запись, соответствующие каждому блоку, можно задавать в полупроводниковой карте 100 памяти, так что даже если прикладная программа 8 обращается к полупроводниковой карте 100 памяти напрямую, минуя модуль 9 операций файловой системы, сама полупроводниковая карта 100 памяти может препятствовать доступу к защищенным файлам. Поэтому, устанавливая подобным образом атрибуты запрета на чтение и запрета на запись для блоков, в которых хранится файл, можно обеспечить защиту файла, а если содержимое файла находится под охраной авторского права, можно также предотвратить несанкционированное копирование.
Согласно данному варианту осуществления, флаг, указывающий атрибут запрета на запись, имеет значение '1', а флаг, указывающий атрибут запрета на чтение, имеет значение '2', но это лишь иллюстративный вариант, никак не ограничивающий объем патентной защиты изобретения. Кроме того, согласно данному варианту осуществления, для присвоения каждому блоку энергонезависимой памяти 1 атрибутов запрета на запись и чтение, используют таблицу атрибутов блоков, но, поскольку атрибут устанавливают для каждого блока в отдельности, можно также использовать список или аналогичную структуру. Согласно данному варианту осуществления, описан способ задания в энергонезависимой памяти 1 атрибутов запрета на чтение и запись, но в качестве атрибутов блока можно также использовать информацию, отличную от описанной в вышеприведенных вариантах осуществления. Возможно такое управление блоками, при котором доступ получают только пользователи, обладающие корневыми привилегиями, когда каждому блоку сопоставляют ИД пользователя, и доступ получают только пользователи, обладающие этим ИД, или каждому отдельному пользователю присваивают привилегии доступа к блокам. Согласно вышеприведенному описанию, в качестве файловой системы используют файловую систему FAT, но аналогичные результаты можно получить с использованием других традиционных файловых систем, например, УДФ или файловой системы Windows NT™ (NTFS), или специализированной файловой системы. Кроме того, согласно вышеприведенным вариантам осуществления, в одном очищаемом блоке содержится 32 сектора, но это значение выбрано исключительно для примера, и количество секторов в одном очищаемом блоке может быть больше или меньше этого числа.
Промышленное применение
Применение полупроводниковой карты 100 памяти, отвечающей настоящему изобретению, позволяет увеличить срок службы энергонезависимой памяти 1. Поэтому даже при неоднократной перезаписи в такую полупроводниковую карту 100 памяти музыкального материала, полученного посредством распространения цифровой музыки, когда музыкальный материал записывают, а затем стирают и записывают на его место другой музыкальный материал, срок службы энергонезависимой памяти 1 не сокращается. Это дает возможность многократно использовать одну и ту же полупроводниковую карту 100 памяти для записи музыкального материала, полученного посредством распространения цифровой музыки.

Claims (36)

1. Устройство доступа для осуществления доступа к файлам, хранящимся в полупроводниковой карте памяти, которая содержит область памяти, состоящую из множества секторов, причем устройство доступа оперирует данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и оперирует одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных, включающее вычислительный модуль, выполненный с возможностью вычислять размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать, причем информация управления томом содержит головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога, при этом таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими этому файлу, резервирующий модуль, выполненный с возможностью резервировать первую область, используемую для записи информации управления томом, и вторую область, используемую для записи пользовательских данных, причем первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и включает два или более блоков, а вторая область состоит из блоков, следующих за первой областью, и записывающий модуль, выполненный с возможностью записывать информацию управления томом в первую область, а пользовательские данные - во вторую область и записывать головную загрузочную запись и таблицу разделов в первый сектор первого блока первой области, пропускать предварительно определенное количество секторов и затем записывать информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога, при этом информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записываются в по меньшей мере один блок, который отличается от первого блока.
2. Устройство доступа по п.1, отличающееся тем, что первый блок первой области состоит из первого сектора и первой группы сегментов, используемых для записи части зарезервированной информации, и по меньшей мере один блок, отличающийся от первого блока, состоит из секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, и второй группы сегментов, используемых для записи другой части зарезервированной информации.
3. Устройство доступа по п.1, отличающееся тем, что вычислительный модуль выполнен с возможностью вычислять сумму SUM, суммируя количество секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, первая область состоит из m·2j секторов (m – положительное целое) резервирующий модуль выполнен с возможностью резервировать первую область посредством вычисления значения m на основании уравнения (1)
Figure 00000006
где NOM - количество секторов,
записывающий модуль выполнен с возможностью вычислять предварительно определенное количество секторов вычитанием 1 из количества секторов NOM.
4. Устройство доступа по п.3, отличающееся тем, что записывающий модуль выполнен с возможностью задавать количество секторов NOM в таблице разделов при записи информации управления томом.
5. Устройство доступа по п.3, отличающееся тем, что количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
6. Устройство доступа по п.5, отличающееся тем, что таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров, подлежащих записи во вторую область, и каждый элемент из множества элементов указывает связь с другим кластером того же файла, устройство доступа включает в себя приемный модуль, выполненный с возможностью принимать установочные значения суммарного количества секторов и суммарного количества кластеров в области памяти, вычислительный модуль включает в себя модуль первого вычисления, выполненный с возможностью вычислять суммарное количество кластеров путем деления суммарного количества секторов в области памяти на количество секторов 2j и вычислять размер таблицы размещения файлов путем умножения суммарного количества кластеров на длину элемента в битах, резервирующий модуль включает в себя модуль второго вычисления, выполненный с возможностью вычислять сумму SUM путем суммирования размера таблицы размещения файлов с количествами секторов, образующих соответственно информацию загрузочного сектора раздела и элемент корневого каталога, и вычислять значение m путем подстановки значения суммы SUM в уравнение (1).
7. Устройство доступа по п.6, отличающееся тем, что область памяти включает защищенную область, доступную устройству, подключенному к полупроводниковой карте памяти, только после подтверждения подлинности подключенного устройства, и область пользовательских данных, доступную устройству, подключенному к полупроводниковой карте, вне зависимости от результата проверки подлинности подключенного устройства, причем приемный модуль выполнен с возможностью принимать от источника, внешнего по отношению к устройству доступа, установочные значения количества секторов и количества кластеров, подлежащих выделению защищенной области и области пользовательских данных, модуль первого вычисления выполнен с возможностью на основании принятых установочных значений вычислять размер таблицы размещения файлов для защищенной области и размер таблицы размещения файлов для области пользовательских данных, модуль второго вычисления выполнен с возможностью вычислять две суммы SUM для каждой из защищенной области и области пользовательских данных соответственно путем суммирования размера таблицы размещения файлов защищенной области и размера таблицы размещения файлов области пользовательских данных с количеством секторов, образующих информацию загрузочного сектора раздела, и количеством секторов, образующих элемент корневого каталога, и вычислять значение m для каждой из защищенной области и области пользовательских данных путем подстановки соответствующего значения суммы SUM в уравнение (1).
8. Устройство доступа по п.7, отличающееся тем, что кластеры в защищенной области отличаются по размеру от кластеров в области пользовательских данных.
9. Устройство доступа по п.6, отличающееся тем, что записывающий модуль выполнен с возможностью записывать во вторую область пользовательские данные, разделенные на множество сегментов, в виде совокупности кластеров, причем каждый сегмент из множества сегментов хранится во второй области в виде одного из совокупности кластеров, задавать множество элементов таблицы размещения файлов, причем каждый элемент из множества элементов указывает связь между кластерами, и записывать в элементе корневого каталога имя файла и информацию местоположения, указывающую местоположение первого кластера файла.
10. Полупроводниковая карта памяти, которая содержит область памяти, состоящую из множества секторов, и оперирует данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных, включающая первую область, включающую два или более блоков, используемую для записи информации управления томом, и вторую область, состоящую из блоков, следующих за первой областью, и используемую для записи пользовательских данных, при этом информация управления томом включает в себя головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога, причем таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими этому файлу, при этом головная загрузочная запись и таблица разделов записаны в первый сектор первого блока первой области с пропуском предварительно определенного количества секторов, информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записаны в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога, причем информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записываются в по меньшей мере один блок, который отличается от первого блока.
11. Полупроводниковая карта памяти по п.10, отличающаяся тем, что первый блок первой области состоит из первого сектора и первой группы сегментов, используемых для записи части зарезервированной информации, и по меньшей мере один блок, отличающийся от первого блока, состоит из секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, и второй группы сегментов, используемых для записи другой части зарезервированной информации.
12. Полупроводниковая карта памяти по п.10, отличающаяся тем, что первая область состоит из m·2j секторов (m - положительное целое), предварительно определенное количество секторов вычисляется вычитанием 1 из количества секторов NOM, которое удовлетворяет нижеследующему уравнению (1)
Figure 00000007
при этом сумма SUM вычисляется суммированием количества секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога.
13. Полупроводниковая карта памяти по п.10, отличающаяся тем, что предварительно определенное количество секторов задается в таблице разделов при записи информации управления томом.
14. Полупроводниковая карта памяти по п.12, отличающаяся тем, что количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
15. Полупроводниковая карта памяти по п.14, отличающаяся тем, что таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров и каждый элемент из множества элементов указывает связь с другим кластером того же файла, размер таблицы размещения файлов вычисляется посредством вычисления суммарного количества кластеров путем деления суммарного количества секторов в области памяти на количество секторов 2j и умножения суммарного количества кластеров на длину элемента в битах, значение m вычисляется посредством вычисления суммы SUM суммированием размера таблицы размещения файлов с количествами секторов, образующих соответственно информацию загрузочного сектора раздела и элемент корневого каталога, и подстановкой значения суммы SUM в уравнение (1).
16. Полупроводниковая карта памяти по п.15, отличающаяся тем, что множество кластеров во второй области получены путем разделения пользовательских данных, множество элементов в таблице размещения файлов показывают связи между множеством кластеров, элемент корневого каталога включает имя файла и информацию о местоположении, которая указывает местоположение первого кластера среди кластеров, образующих файл.
17. Полупроводниковая карта памяти по п.16, отличающаяся тем, что часть имени файла записана в области пользовательских данных.
18. Полупроводниковая карта памяти, имеющая область памяти, которая включает в себя защищенную область, доступную подключенному к полупроводниковой карте устройству, выполненному с возможностью физического подсоединения к полупроводниковой карте памяти, считывания данных с полупроводниковой карты памяти и/или записи данных на полупроводниковую карту памяти, только после подтверждения подлинности подключенного устройства, и область пользовательских данных, доступную устройству, подключенному к полупроводниковой карте памяти, вне зависимости от результата проверки подлинности подключенного устройства, при этом защищенная область и область пользовательских данных включают множество секторов и данными оперируют в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных, при этом по меньшей мере одна из защищенной области и области пользовательских данных упомянутой полупроводниковой карты памяти содержит первую область, включающую два или более блока и используемую для записи информации управления томом, вторую область, состоящую из блоков, следующих за первой областью, и используемую для записи пользовательских данных, при этом информация управления томом включает в себя головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога, причем таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими этому файлу, при этом головная загрузочная запись и таблица разделов записаны в первый сектор первого блока первой области с пропуском предварительно определенного количества секторов, информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записаны в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога, причем информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записаны в по меньшей мере один блок, который отличается от первого блока.
19. Полупроводниковая карта памяти по п.18, отличающаяся тем, что первый блок первой области состоит из первого сектора и первой группы сегментов, используемых для записи части зарезервированной информации, и по меньшей мере один блок, отличающийся от первого блока, состоит из секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, и второй группы сегментов, используемых для записи другой части зарезервированной информации.
20. Полупроводниковая карта памяти по п.18, отличающаяся тем, что первая область состоит из m·2j секторов (m - положительное целое), предварительно определенное количество секторов вычисляется вычитанием 1 из количества секторов NOM, которое удовлетворяет нижеследующему уравнению (1)
Figure 00000008
при этом сумма SUM вычисляется суммированием количества секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога.
21. Полупроводниковая карта памяти по п.20, отличающаяся тем, что количество секторов NOM задается в таблице разделов.
22. Полупроводниковая карта памяти по п.20, отличающаяся тем, что количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
23. Полупроводниковая карта памяти по п.22, отличающаяся тем, что таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров и каждый элемент из множества элементов указывает связь с другим кластером того же файла, размер таблицы размещения файлов вычисляется посредством вычисления суммарного количества кластеров путем деления суммарного количества секторов на количество секторов 2j и умножения суммарного количества кластеров на длину элемента в битах, значение m вычисляется посредством вычисления суммы SUM суммированием размера таблицы размещения файлов с количествами секторов, образующих соответственно информацию загрузочного сектора раздела и элемент корневого каталога, и подстановкой значения суммы SUM в уравнение (1).
24. Полупроводниковая карта памяти по п.23, отличающаяся тем, что кластеры в защищенной области отличаются по размеру от кластеров в области пользовательских данных.
25. Полупроводниковая карта памяти по п.23, отличающаяся тем, что множество кластеров во второй области получены путем разделения пользовательских данных, множество элементов в таблице размещения файлов показывают связи между множеством кластеров, элемент корневого каталога включает имя файла и информацию о местоположении, которая указывает местоположение первого кластера среди кластеров, образующих файл.
26. Способ инициализации компьютера, позволяющей компьютеру осуществлять доступ к файлам, хранящимся в полупроводниковой карте памяти, которая содержит область памяти, состоящую из множества секторов, оперируя данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и оперируя одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных, согласно которому вычисляют размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать, причем информация управления томом включает головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов, элемент корневого каталога, причем таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими файлу, резервируют первую область, используемую для записи информации управления томом, и вторую область, используемую для записи пользовательских данных, причем первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и включает два или более блоков, а вторая область состоит из блоков, следующих за первой областью, и записывают информацию управления томом в первую область, а пользовательские данные - во вторую область, записывают головную загрузочную запись и таблицу разделов в первый сектор первого блока первой области, пропускают предварительно определенное количество секторов и затем записывают информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога, при этом информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога записывают в по меньшей мере один блок, который отличается от первого блока.
27. Способ инициализации компьютера по п.26, отличающийся тем, что первый блок первой области состоит из первого сектора и первой группы сегментов, используемых для записи части зарезервированной информации, и блоки, отличающиеся от первого блока, состоят из секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, и второй группы сегментов, используемых для записи другой части зарезервированной информации.
28. Способ инициализации компьютера по п.26, отличающийся тем, что первая область состоит из m·2j секторов (m - положительное целое), предварительно определенное количество секторов вычисляется вычитанием 1 из количества секторов NOM, которое удовлетворяет нижеследующему уравнению (1)
Figure 00000009
при этом сумма SUM вычисляется суммированием количества секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога.
29. Носитель записи, в котором в машиночитаемом формате хранится программа инициализации компьютера, позволяющая ему осуществлять доступ к полупроводниковой карте памяти, которая включает область памяти, состоящую из множества секторов, оперируя данными в каждой группе из 2j секторов (j равно 0 или положительному целому числу) как кластером и оперируя одним или несколькими кластерами как файлом, причем каждая группа из 2i последовательных секторов области памяти образует блок (i равно 0 или положительному целому числу), который является наименьшей областью памяти, на которой можно осуществлять операцию стирания данных, причем программа на носителе записи позволяет компьютеру вычислять размер информации управления томом на основании количества кластеров в области памяти, которыми нужно оперировать, причем информация управления томом содержит головную загрузочную запись, таблицу разделов, информацию загрузочного сектора раздела, таблицу размещения файлов, элемент корневого каталога, причем таблица размещения файлов указывает для каждого файла связи между кластерами, соответствующими файлу, резервировать первую область, используемую для записи информации управления томом, и вторую область, используемую для записи пользовательских данных, причем первая область характеризуется размером данных, превышающим вычисленный размер информации управления томом, и включает два или более блоков, а вторая область состоит из блоков, следующих за первой областью, и записывать информацию управления томом в первую область, а пользовательские данные - во вторую область, записывать головную загрузочную запись и таблицу разделов в первый сектор первого блока первой области, пропускать предварительно определенное количество секторов и затем записывать информацию загрузочного сектора раздела, таблицу размещения файлов и элемент корневого каталога в последующие секторы для выравнивания конца первой области с концом элемента корневого каталога, при этом информация загрузочного сектора раздела, таблица размещения файлов и элемент корневого каталога записываются в по меньшей мере один блок, который отличается от первого блока.
30. Носитель записи по п.29, отличающийся тем, что первый блок первой области состоит из первого сектора и первой группы сегментов, используемых для записи части зарезервированной информации, и по меньшей мере один блок, отличающийся от первого блока, состоит из секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, и второй группы сегментов, используемых для записи другой части зарезервированной информации.
31. Носитель записи по п.29, отличающийся тем, что при упомянутом вычислении вычисляется сумма SUM посредством суммирования количества секторов, используемых для записи информации загрузочного сектора раздела, таблицы размещения файлов и элемента корневого каталога, при упомянутом резервировании резервируется первая область посредством вычисления значения m на основании уравнения (1)
Figure 00000010
где NOM - количество секторов,
и при упомянутой записи вычисляется предварительно определенное количество секторов посредством вычитания 1 из количества секторов NOM.
32. Носитель записи по п.31, отличающийся тем, что при упомянутой записи задается предварительно определенное количество секторов в таблице разделов при записи информации управления томом.
33. Носитель записи по п.31, отличающийся тем, что количество секторов, используемых для записи таблицы размещения файлов, вычисляется на основании количества кластеров в области памяти, которыми нужно оперировать.
34. Носитель записи по п.33, отличающийся тем, что таблица размещения файлов содержит множество элементов, причем количество элементов равно количеству кластеров, подлежащих записи во вторую область, и каждый элемент из множества элементов указывает связь с другим кластером того же файла, программа на носителе записи дополнительно позволяет компьютеру принимать установочные значения суммарного количества секторов и суммарного количества кластеров в области памяти, упомянутое вычисление включает в себя первое вычисление для вычисления суммарного количества кластеров путем деления суммарного количества секторов в области памяти на количество секторов 2j и вычисления размера таблицы размещения файлов путем умножения суммарного количества кластеров на длину элемента в битах, причем упомянутое резервирование включает в себя второе вычисление для вычисления суммы SUM путем суммирования размера таблицы размещения файлов с количествами секторов, образующих соответственно информацию загрузочного сектора раздела и элемент корневого каталога, и вычисления значения m путем подстановки значения суммы SUM в уравнение (1).
35. Носитель записи по п.34, отличающийся тем, что область памяти включает защищенную область, доступную устройству, подключенному к полупроводниковой карте памяти, только после подтверждения подлинности подключенного устройства, и область пользовательских данных, доступную устройству, подключенному к полупроводниковой карте, вне зависимости от результата проверки подлинности подключенного устройства, причем при упомянутом приеме принимаются от источника, внешнего по отношению к устройству доступа, установочные значения количества секторов, подлежащих выделению защищенной области и области пользовательских данных, при упомянутом первом вычислении, на основании принятых установочных значений вычисляется размер таблицы размещения файлов для защищенной области и размер таблицы размещения файлов для области пользовательских данных, при упомянутом втором вычислении вычисляются две суммы SUM для каждой из защищенной области и области пользовательских данных соответственно путем суммирования размера таблицы размещения файлов защищенной области и размера таблицы размещения файлов области пользовательских данных с количеством секторов, образующих информацию загрузочного сектора раздела соответствующей области, и количеством секторов, образующих элемент корневого каталога соответствующей области, и вычисляется значение m соответственно для каждой из защищенной области и области пользовательских данных путем подстановки соответствующего значения суммы SUM в уравнение (1).
36. Носитель записи по п.35, отличающийся тем, что кластеры в защищенной области отличаются по размеру от кластеров в области пользовательских данных.
RU2001120348/09A 1999-10-21 2000-10-19 Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти RU2257609C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11/299636 1999-10-21
JP29963699 1999-10-21

Publications (2)

Publication Number Publication Date
RU2001120348A RU2001120348A (ru) 2003-09-10
RU2257609C2 true RU2257609C2 (ru) 2005-07-27

Family

ID=17875164

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2001120348/09A RU2257609C2 (ru) 1999-10-21 2000-10-19 Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти

Country Status (10)

Country Link
US (14) US6611907B1 (ru)
EP (2) EP1145126B1 (ru)
JP (1) JP3954790B2 (ru)
CN (2) CN100442393C (ru)
BR (1) BR0007239B1 (ru)
CA (1) CA2355082C (ru)
DE (1) DE60017870T2 (ru)
MY (1) MY123682A (ru)
RU (1) RU2257609C2 (ru)
WO (1) WO2001029670A2 (ru)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073068B2 (en) 2005-08-22 2011-12-06 Qualcomm Incorporated Selective virtual antenna transmission
US8724740B2 (en) 2005-03-11 2014-05-13 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US8798201B2 (en) 2006-09-06 2014-08-05 Qualcomm Incorporated Codeword permutation and reduced feedback for grouped antennas
US8995547B2 (en) 2005-03-11 2015-03-31 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US9660776B2 (en) 2005-08-22 2017-05-23 Qualcomm Incorporated Method and apparatus for providing antenna diversity in a wireless communication system
RU2669008C2 (ru) * 2013-05-29 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Запоминающие системы и память с привязками

Families Citing this family (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566464B1 (ko) 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US20040157612A1 (en) * 1997-04-25 2004-08-12 Minerva Industries, Inc. Mobile communication and stethoscope system
US7321783B2 (en) * 1997-04-25 2008-01-22 Minerva Industries, Inc. Mobile entertainment and communication device
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
CN100442393C (zh) 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US6993130B1 (en) * 2000-02-04 2006-01-31 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
JP2002268874A (ja) * 2001-03-07 2002-09-20 Toshiba Corp 乱数シード生成回路及びこれを備えたドライバ、並びに、sdメモリカードシステム
CN1287289C (zh) 2001-07-05 2006-11-29 松下电器产业株式会社 记录设备、介质以及方法
JP4151246B2 (ja) 2001-08-22 2008-09-17 ソニー株式会社 情報配信端末,コンピュータプログラムおよび情報提供方法
TW516000B (en) * 2001-09-12 2003-01-01 Winbond Electronics Corp Method for security protection of digital processing device and apparatus thereof
GB2411499B (en) * 2001-09-28 2006-02-08 Lexar Media Inc Method of writing data to non-volatile memory
PL351779A1 (en) * 2002-01-18 2003-07-28 Advanced Digital Broadcast Ltd Apparatus for storing data and method of subdividing te data storage area
US7206970B1 (en) * 2002-02-07 2007-04-17 Network Appliance, Inc. System and method for diagnostics execution and data capture in a storage system using nonvolatile memory
JP4082913B2 (ja) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
JP3970070B2 (ja) * 2002-03-20 2007-09-05 富士通株式会社 自動イレーズ機能を有する不揮発性メモリ回路
JP2003296177A (ja) 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
US20040234240A1 (en) * 2002-04-05 2004-11-25 Yasuyuki Kurosawa Recording medium
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
JP3866635B2 (ja) * 2002-08-26 2007-01-10 株式会社東芝 メモリカード及び記憶領域切り替え方法
DE60318477T2 (de) * 2002-10-17 2008-04-30 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur dateiaktualisierung
US20060041731A1 (en) * 2002-11-07 2006-02-23 Robert Jochemsen Method and device for persistent-memory mangement
US7213119B2 (en) * 2002-12-05 2007-05-01 Canon Kabushiki Kaisha Inhibiting access to a portable storage device
US20050015557A1 (en) * 2002-12-27 2005-01-20 Chih-Hung Wang Nonvolatile memory unit with specific cache
DE602004009039T3 (de) 2003-01-31 2011-02-03 Panasonic Corp., Kadoma Halbleiterspeicherkarte und programm zu ihrer steuerung
US7303135B2 (en) 2003-02-04 2007-12-04 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card and computer readable program
JP2007528086A (ja) * 2003-06-19 2007-10-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユニバーサル記憶装置のためのフレキシブルなフォーマット設定
DE60331823D1 (de) * 2003-07-14 2010-05-06 Em Microelectronic Marin Sa Schaltkreis für einen Mehrzwecktransponder und Verfahren zur Speicherverwaltung desselben
US20050027954A1 (en) * 2003-08-01 2005-02-03 Rothman Michael A. Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
US7941554B2 (en) 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US7882510B2 (en) * 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
WO2005050453A1 (ja) 2003-11-18 2005-06-02 Matsushita Electric Industrial Co., Ltd. ファイル記録装置
EP1538507A1 (fr) * 2003-12-02 2005-06-08 Axalto S.A. Procédé de contrôle d'acces dans une memoire flash et systeme pour la mise en oeuvre d'un tel procédé
CN1890645B (zh) * 2003-12-03 2010-09-08 松下电器产业株式会社 信息记录介质的数据处理装置以及数据记录方法
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
US20050182822A1 (en) * 2004-02-17 2005-08-18 Daniel Stuart W. Imaging device with memory device interface
EP2506486A1 (en) * 2004-02-23 2012-10-03 Lexar Media, Inc. Secure compact flash
KR100648243B1 (ko) * 2004-03-19 2006-11-24 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
JP4661086B2 (ja) * 2004-05-24 2011-03-30 パナソニック株式会社 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法
SE527843C2 (sv) * 2004-06-03 2006-06-20 Roxtec Ab Brandskydd för kabelgenomföringar
JP2006004079A (ja) * 2004-06-16 2006-01-05 Sony Corp 記憶装置
JP4157501B2 (ja) * 2004-06-30 2008-10-01 株式会社東芝 記憶装置
JP2006023854A (ja) * 2004-07-06 2006-01-26 Sharp Corp 情報処理装置、記憶装置、記憶制御装置及びプログラム
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US6967869B1 (en) 2004-07-22 2005-11-22 Cypress Semiconductor Corp. Method and device to improve USB flash write performance
JP4667014B2 (ja) * 2004-11-18 2011-04-06 キヤノン株式会社 記憶管理装置及びその制御方法
JP4689247B2 (ja) * 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US20060242066A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Versatile content control with partitioning
WO2006071725A2 (en) * 2004-12-21 2006-07-06 Sandisk Corporation Memory system with in-stream data encryption/decryption
US20060242150A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Method using control structure for versatile content control
US20060242067A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb System for creating control structure for versatile content control
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control
US20060239450A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption and error correction method
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20070180539A1 (en) 2004-12-21 2007-08-02 Michael Holtzman Memory system with in stream data encryption / decryption
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US8396208B2 (en) * 2004-12-21 2013-03-12 Sandisk Technologies Inc. Memory system with in stream data encryption/decryption and error correction
US8601283B2 (en) 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US20080037347A1 (en) * 2004-12-22 2008-02-14 Hiroya Kusaka Electronic Device, Format Discrimination System and Format Discrimination Method
US7823214B2 (en) * 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060200414A1 (en) * 2005-02-14 2006-09-07 Roberts Henry A Jr Methods of copy protecting software stored on portable memory
JP5318177B2 (ja) * 2005-03-31 2013-10-16 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びコンピュータプログラム
US7418531B2 (en) * 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
JP4709583B2 (ja) * 2005-05-31 2011-06-22 株式会社東芝 データ送信装置およびデータ送信方法
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
JP4781027B2 (ja) * 2005-07-15 2011-09-28 パナソニック株式会社 データ記録制御方法及びデータ記録システム
JP4679581B2 (ja) 2005-07-29 2011-04-27 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
JP4808016B2 (ja) * 2005-12-20 2011-11-02 日立オートモティブシステムズ株式会社 マイクロコンピュータの初期化装置および車載用制御装置
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7426606B2 (en) * 2006-03-31 2008-09-16 Intel Corporation Method, apparatus and system for reverting FAT cluster number to file ID and offset of non-FAT flash file system
US20070230690A1 (en) * 2006-04-03 2007-10-04 Reuven Elhamias System for write failure recovery
US7835518B2 (en) * 2006-04-03 2010-11-16 Sandisk Corporation System and method for write failure recovery
JP4229140B2 (ja) * 2006-06-16 2009-02-25 ソニー株式会社 集積回路チップ、データ読み出し方法、データ書き込み方法、icカード、および携帯電話機
JP2008009933A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 記憶装置とその制御方法
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US8140843B2 (en) 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US20080010449A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
JP4651586B2 (ja) * 2006-07-11 2011-03-16 シャープ株式会社 録画再生装置
US20100017557A1 (en) * 2006-07-26 2010-01-21 Panasonic Corporation Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
US8112575B2 (en) * 2006-08-04 2012-02-07 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
WO2008018446A1 (fr) * 2006-08-08 2008-02-14 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès, et système de mémoire non-volatile
JP2008070929A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
WO2008032711A1 (fr) * 2006-09-13 2008-03-20 Panasonic Corporation Contrôleur mémoire, dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
TWI325113B (en) * 2006-10-13 2010-05-21 Data security device and the method thereof
US7515500B2 (en) * 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
US7818701B1 (en) * 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
US20080158388A1 (en) * 2006-12-27 2008-07-03 Tomi Lahcanski Removable storage device providing automatic launch capability in an image processing system
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム
JP4978224B2 (ja) * 2007-02-08 2012-07-18 カシオ計算機株式会社 光電変換装置及びそれを備えた表示パネル
KR101395778B1 (ko) 2007-03-14 2014-05-19 삼성전자주식회사 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
EP2177994A4 (en) * 2007-08-10 2013-08-21 Panasonic Corp REMOVABLE CARRIER, DEVICE, SYSTEM, METHOD, AND FORMATTING PROGRAM
KR20090031102A (ko) * 2007-09-21 2009-03-25 삼성전자주식회사 이동식 저장 장치의 포맷 방법 및 장치
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US8073884B2 (en) * 2007-12-20 2011-12-06 Hewlett-Packard Development Company, L.P. System and method to derive high level file system information by passively monitoring low level operations on a FAT file system
WO2009096180A1 (ja) * 2008-01-30 2009-08-06 Panasonic Corporation メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JP5025009B2 (ja) * 2008-02-15 2012-09-12 株式会社東芝 認証方法、ホスト計算機及び記録媒体
CN101983376B (zh) * 2008-04-04 2014-04-09 松下电器产业株式会社 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
US20090254729A1 (en) * 2008-04-07 2009-10-08 Skymedi Corporation Method of wear leveling for a non-volatile memory
CN101324862B (zh) * 2008-05-05 2010-06-02 青岛海信电器股份有限公司 闪存存储管理方法
US8074023B2 (en) * 2008-05-22 2011-12-06 Nuvoton Technology Corporation In-system programming to switch memory access from one area to another in memory cards
CN101630233B (zh) * 2008-07-17 2012-07-11 群联电子股份有限公司 用于闪存的数据存取方法、储存系统与控制器
TWI406175B (zh) * 2008-08-20 2013-08-21 Nuvoton Technology Corp 記憶卡以及用於記憶卡之方法
TWI476676B (zh) * 2008-09-29 2015-03-11 Sandisk Il Ltd 用於使用不同叢集尺寸的儲存裝置之檔案系統
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
TW201025002A (en) * 2008-12-26 2010-07-01 Asmedia Technology Inc Method of writing data into flash memory based on file system
US8205063B2 (en) * 2008-12-30 2012-06-19 Sandisk Technologies Inc. Dynamic mapping of logical ranges to write blocks
US8392687B2 (en) 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
US20100199060A1 (en) * 2009-02-04 2010-08-05 Panasonic Corporation Memory controller, nonvolatile memory module, access module, and nonvolatile memory system
US20100235329A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US8321647B2 (en) * 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
TWI498954B (zh) * 2009-08-21 2015-09-01 Sumco Corp 磊晶矽晶圓的製造方法
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
JP2011118623A (ja) * 2009-12-02 2011-06-16 Canon Inc データ同期装置
JP5558093B2 (ja) * 2009-12-25 2014-07-23 株式会社東芝 半導体装置及びメモリシステム
KR101467514B1 (ko) * 2010-05-14 2014-12-01 삼성전자 주식회사 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법
JP5460486B2 (ja) * 2010-06-23 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データをソートする装置及び方法
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US20120089765A1 (en) * 2010-10-07 2012-04-12 Huang Shih-Chia Method for performing automatic boundary alignment and related non-volatile memory device
JP2012084071A (ja) 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US9222586B2 (en) * 2010-12-29 2015-12-29 Xiamen Solex High-Tech Industries Co., Ltd. Valve for switching waterways and adjusting flow
EP2492816A1 (en) * 2011-02-25 2012-08-29 Siemens Aktiengesellschaft Method for managing physical memory of a data storage and data storage management system
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US9058212B2 (en) * 2011-03-21 2015-06-16 Microsoft Technology Licensing, Llc Combining memory pages having identical content
DE102011001430A1 (de) * 2011-03-21 2012-09-27 Wincor Nixdorf International Gmbh Verfahren zum Betreiben einer Geldkassette mit kundenspezifischen Schlüsseln
JP2012208584A (ja) * 2011-03-29 2012-10-25 Toshiba Corp 記憶装置およびプログラム
JP5077726B1 (ja) 2011-05-23 2012-11-21 Necインフロンティア株式会社 コンピュータ、その制御方法及びプログラム
CN102289451A (zh) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 文件或文件夹查找方法和装置
CN102314490B (zh) * 2011-08-16 2013-07-10 晨星软件研发(深圳)有限公司 一种Linux FAT文件系统修复方法及装置
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP5204291B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、装置、システム
JP5100884B1 (ja) 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
JP5204290B1 (ja) * 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、システム、及び装置
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN103246617B (zh) * 2012-02-07 2016-08-17 宇龙计算机通信科技(深圳)有限公司 移动终端和基于Android系统的数据保存方法
JP5687639B2 (ja) * 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
US20140229657A1 (en) * 2013-02-08 2014-08-14 Microsoft Corporation Readdressing memory for non-volatile storage devices
US9201811B2 (en) 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
US9336131B1 (en) * 2013-04-16 2016-05-10 Veritas Technologies, LLC Systems and methods for enabling virtual environments to mount non-native storage disks
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
JP6017392B2 (ja) * 2013-09-27 2016-11-02 株式会社東芝 情報処理装置、ホストデバイス、及びシステム
US9785547B2 (en) * 2014-02-13 2017-10-10 Hitachi, Ltd. Data management apparatus and method
KR102196971B1 (ko) 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
US9984007B2 (en) 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
US10257192B2 (en) 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
TWI531963B (zh) * 2015-06-04 2016-05-01 Accelstor Inc Data storage systems and their specific instruction enforcement methods
CN105303208B (zh) * 2015-10-26 2019-01-25 新大陆数字技术股份有限公司 一种ic卡管理方法及系统
US20170220284A1 (en) * 2016-01-29 2017-08-03 Netapp, Inc. Block-level internal fragmentation reduction using a heuristic-based approach to allocate fine-grained blocks
TWI637264B (zh) * 2016-05-20 2018-10-01 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
US11054991B2 (en) * 2018-03-21 2021-07-06 Western Digital Technologies, Inc. Data storage system scale-out with local address remapping
CN110442301A (zh) * 2018-05-05 2019-11-12 南京橡东信息科技有限公司 一种用于内网安全的u盘分区的方法及装置
CN111045962B (zh) * 2019-12-18 2023-06-09 湖南国科微电子股份有限公司 一种sd卡数据保密方法、系统、设备及计算机介质
CN113253945B (zh) * 2021-07-08 2021-09-28 成都易我科技开发有限责任公司 磁盘卷变簇的方法、装置及电子设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0618535B1 (en) 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
WO1993021579A1 (en) * 1992-04-21 1993-10-28 Storage Technology Corporation Method for managing data records in a cached data subsystem with non-volatile memory
JPH07219720A (ja) 1993-10-01 1995-08-18 Hitachi Maxell Ltd 半導体メモリ装置ならびにその制御方法
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
RU2103732C1 (ru) 1995-06-08 1998-01-27 Дьяков Юрий Александрович Устройство для выполнения платежей и услуг с помощью электронной карточки с документированием операций
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
RU2094846C1 (ru) 1996-03-28 1997-10-27 Акционерное общество открытого типа Страховая компания "Росгал" Финансовая система безналичных платежей
JPH10124384A (ja) 1996-08-28 1998-05-15 Toshiba Corp 不揮発性半導体メモリの制御方法
US5845322A (en) * 1996-09-17 1998-12-01 Vlsi Technology, Inc. Modular scalable multi-processor architecture
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
EP2200032A3 (en) * 1998-09-18 2010-09-22 Kabushiki Kaisha Toshiba Information recording method, information recording device, and information recording medium
US6308264B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Dual use master boot record
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP3417889B2 (ja) * 1999-09-20 2003-06-16 克彦 長岡 糞尿処理工程などで用いる台車走行装置
CN100442393C (zh) 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2001307334A (ja) * 2000-04-21 2001-11-02 Toshiba Corp 情報記憶媒体、情報記録方法、及び情報再生方法
EP1160786B1 (en) * 2000-05-31 2004-09-15 Matsushita Electric Industrial Co., Ltd. Information recording medium, information recording method, information recording apparatus, information reproducing method, and information reproducing apparatus
CN1287289C (zh) * 2001-07-05 2006-11-29 松下电器产业株式会社 记录设备、介质以及方法
JP2003196142A (ja) * 2001-12-25 2003-07-11 Sony Corp ライトワンス型メモリ装置及びファイル管理方法
US7123556B2 (en) * 2002-01-22 2006-10-17 Matsushita Electric Industrial Co., Ltd. Multi-layered information recording medium with spare defect management areas
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
KR100527276B1 (ko) * 2004-06-04 2005-12-13 주식회사 르노소프트 시스템 변경 데이터를 시스템 영역 내에서 비선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724740B2 (en) 2005-03-11 2014-05-13 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US8995547B2 (en) 2005-03-11 2015-03-31 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US9178584B2 (en) 2005-03-11 2015-11-03 Qualcomm Incorporated System and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US8073068B2 (en) 2005-08-22 2011-12-06 Qualcomm Incorporated Selective virtual antenna transmission
US9660776B2 (en) 2005-08-22 2017-05-23 Qualcomm Incorporated Method and apparatus for providing antenna diversity in a wireless communication system
US9860033B2 (en) 2005-08-22 2018-01-02 Qualcomm Incorporated Method and apparatus for antenna diversity in multi-input multi-output communication systems
US8798201B2 (en) 2006-09-06 2014-08-05 Qualcomm Incorporated Codeword permutation and reduced feedback for grouped antennas
RU2669008C2 (ru) * 2013-05-29 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Запоминающие системы и память с привязками
US10216437B2 (en) 2013-05-29 2019-02-26 Microsoft Technology Licensing, Llc Storage systems and aliased memory

Also Published As

Publication number Publication date
EP1498810A1 (en) 2005-01-19
DE60017870D1 (de) 2005-03-10
US7143261B2 (en) 2006-11-28
US6829676B2 (en) 2004-12-07
US20110283076A1 (en) 2011-11-17
CN1203395C (zh) 2005-05-25
US20140237203A1 (en) 2014-08-21
US6829675B2 (en) 2004-12-07
US8015349B2 (en) 2011-09-06
EP1145126A2 (en) 2001-10-17
DE60017870T2 (de) 2005-06-23
US8990487B2 (en) 2015-03-24
EP1498810B1 (en) 2018-12-26
CN100442393C (zh) 2008-12-10
EP1145126B1 (en) 2005-02-02
US20080209115A1 (en) 2008-08-28
BR0007239A (pt) 2001-10-30
CN1341237A (zh) 2002-03-20
US8473671B2 (en) 2013-06-25
US20130268778A1 (en) 2013-10-10
US20110125958A1 (en) 2011-05-26
CN1674159A (zh) 2005-09-28
US20030196064A1 (en) 2003-10-16
US20030196028A1 (en) 2003-10-16
US20070033335A1 (en) 2007-02-08
US7899982B2 (en) 2011-03-01
WO2001029670A3 (en) 2001-09-13
JP2001188701A (ja) 2001-07-10
JP3954790B2 (ja) 2007-08-08
US6823422B2 (en) 2004-11-23
US20030200411A1 (en) 2003-10-23
MY123682A (en) 2006-05-31
US7734864B2 (en) 2010-06-08
WO2001029670A2 (en) 2001-04-26
US20120191905A1 (en) 2012-07-26
US20050060513A1 (en) 2005-03-17
BR0007239B1 (pt) 2014-03-18
CA2355082C (en) 2008-09-23
US7398353B2 (en) 2008-07-08
US20100205361A1 (en) 2010-08-12
US6829674B2 (en) 2004-12-07
CA2355082A1 (en) 2001-04-26
US6611907B1 (en) 2003-08-26
US20030196027A1 (en) 2003-10-16
US8176239B2 (en) 2012-05-08
US8751734B2 (en) 2014-06-10

Similar Documents

Publication Publication Date Title
RU2257609C2 (ru) Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
JP4991320B2 (ja) ホスト装置およびメモリシステム
US7269741B2 (en) Recording apparatus, medium, method, and related computer program
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
JP2009244962A (ja) メモリシステム
GB2384338A (en) Detecting and recording repetitive data patterns
JP4130808B2 (ja) フォーマット方法