RU2319227C2 - Способ запоминания с двойным протоколированием и носитель данных для него - Google Patents
Способ запоминания с двойным протоколированием и носитель данных для него Download PDFInfo
- Publication number
- RU2319227C2 RU2319227C2 RU2005119971/28A RU2005119971A RU2319227C2 RU 2319227 C2 RU2319227 C2 RU 2319227C2 RU 2005119971/28 A RU2005119971/28 A RU 2005119971/28A RU 2005119971 A RU2005119971 A RU 2005119971A RU 2319227 C2 RU2319227 C2 RU 2319227C2
- Authority
- RU
- Russia
- Prior art keywords
- data
- stored
- memory
- logging
- memory cell
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
Настоящее изобретение относится к способам запоминания на носителе данных с двойным протоколированием, в котором данные запоминаются от начальных и конечных ячеек памяти к центральной части, где для запоминания/управления/обработки данных в качестве носителя данных используется флэш-память. Первые данные запоминаются от начальной ячейки памяти носителя данных, а вторые данные запоминаются по направлению от конечных ячеек памяти носителя данных к начальной ячейке памяти. В качестве первых и вторых данных могут выступать данные файла и метаданные. В процессе выполнения способа может выполняться операция «стирания мусора», если объем доступной памяти недостаточен. Технический результат - сокращение времени доступа, времени стирания, повышение надежности хранения данных. 9 н. и 20 з.п. ф-лы, 10 ил.
Description
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу запоминания с двойным протоколированием и к носителю данных для него, по которому при использовании в качестве носителя данных для запоминания/ управления/обработки данных флэш-памяти или чего-либо подобного данные запоминаются по направлению от начальных и конечных ячеек памяти к центральной части запоминающего пространства носителя данных.
Уровень техники
В последние годы в связи с быстрым развитием информационного общества и технологий мобильных вычислений были разработаны персональные цифровые помощники (ПЦП, PDA), наладонные персональные компьютеры (НПК, HPC), сотовые телефоны, электронные книги и т.п. Кроме того, для целей хранения данных широко используется множество типов флэш-памяти, так как их очень удобно носить с собой, они обладают малым временем доступа и потребляют мало энергии.
Флэш-память имеет особенности, отличающие ее от обычной оперативной памяти (ОЗУ, RAM). Флэш-память может быть более энергонезависимой и устойчивой, чем жесткий диск. Кроме того, флэш-память может функционировать с малым энергопотреблением и имеет время доступа, такое же малое, как и оперативная память. Дополнительно, по причине ее небольших размеров, флэш-память является легко приспосабливаемой для портативных устройств.
Однако флэш-память в пять-десять раз дороже жесткого диска и имеет недостаток, заключающийся в том, что для записи новых данных в область памяти, в которой данные уже существуют, должна быть выполнена операция очистки.
Например, несмотря на то, что флэш-память стандарта 28F64 0J3A, разработанная Intel Corporation, имеет высокую скорость считывания порядка 100-150 нс, подобную скорости считывания у оперативной памяти, скорости записи и стирания у нее относительно низки. При использовании 32-байтного буфера для записи данных требуется 218 мкс и время записи модуля стираемых блоков составляет 0,8 секунды на блок.
Кроме того, размер стираемого блока, который может стираться одновременно, постоянен и равен 128 килобайт. Флэш-память может выполнять операции стирания/записи 100000 раз при комнатной температуре. Ту область флэш-памяти, которая может быть стерта за раз, называют "стираемым блоком" или "сегментом".
Флэш-память может быть классифицирована в соответствии со структурами ячеек на следующие типы: тип НЕ-ИЛИ (NOR), тип НЕ-И (NAND) и тип И (AND). Как правило, широко используется флэш-память НЕ-ИЛИ или НЕ-И. Флэш-память НЕ-ИЛИ имеет высокую скорость считывания при произвольном доступе и характеризуется простотой побитного доступа. Поэтому флэш-память НЕ-ИЛИ непосредственно связана с адресным пространством памяти и используется главным образом для хранения программ, выполняемых центральным процессором. Между тем флэш-память НЕ-И имеет относительно низкое время произвольного доступа, так что она главным образом используется для одновременного сохранения относительно больших объемов данных, таких как музыкальные файлы или файлы изображений.
Традиционные файловые системы, использующие эти типы флэш-памяти, раскрыты в патенте США № 5404485, называемом "Система Флэш-памяти", и в статье "Файловая система, основанная на Флэш-памяти", стр.155-164, опубликованной на конференции USENIX в 1995 году.
Дополнительно, обеспечивается файловая система флэш-памяти с протоколированием (JFFS), в которой к флэш-памяти применяется файловая система, структурированная протоколированием. Файловая система, структурированная протоколированием, раскрыта в патенте США № 6128630, называемом "Выпуск протокола об объеме памяти для файловых систем, структурированных протоколированием", и в патенте США № 5530850, называемом "Массив библиотек хранилища данных с файловой системой, структурированной протоколированием, которая предоставляет возможность одновременной записи и очистки памяти".
В тех случаях, когда файловая система формируется в жестком диске и данные сохраняются, структурированная протоколированием файловая система использует способ запоминания с протоколированием. Соответственно, структурированная протоколированием файловая система имеет преимущество, выражающееся в том, что версии предыдущих данных и новые измененные данные могут обслуживаться в формате протокола. Дополнительно, ошибочные данные могут быть восстановлены до предыдущих данных.
JFFS формирует и последовательно сохраняет файловую систему флэш-памяти, используя файловую систему, структурированную протоколированием.
Файловая система флэш-памяти с протоколированием (JFFS) была разработана американской компанией Axis Communications (http://developer.axis.com/software/jffs/), а файловая система флэш-памяти с двойным протоколированием (JFFS2) была разработана американской компанией RedHat (http://sources.redhat.com/jffs2) по общедоступным лицензиям (GPL) проекта по свободному распространению программного обеспечения (GNU) Фонда бесплатного программного обеспечения (FSF).
Фиг.1 представляет собой типовой вид способа запоминания JFFS2, который формирует файловую систему флэш-памяти.
На Фиг.1 показан один пример запоминания данных во флэш-памяти с использованием JFFS. В случае, если в некоторой файловой системе, например EXT2 от Linux, существует структура каталогов, элемент каталога (элемент Dir 1) запоминают для того, чтобы содержать в себе общую характеристику одного каталога, как показано на Фиг.1(a). Здесь запоминаемая информация представляет собой тип узла каталога, общую длину каталога, контроль заголовка циклическим избыточным кодом (CRC), количество родительских индексных дескрипторов файла, значение версии, контроль узла циклическим избыточным кодом, имя CRC, имя каталога и т.д.
Как показано на Фиг.1, индексный дескриптор каталога (индексный дескриптор Dir 1) запоминают после элемента каталога (элемент Dir 1). Информация, запоминаемая в индексном дескрипторе каталога (индексный дескриптор Dir 1) включает в себя тип узла, общую длину, различные виды CRC, значение версии, идентификатор пользователя, идентификатор группы, время создания, время последнего обращения, время последнего изменения и т.п.
Элемент каталога и индексный дескриптор каталога представляют собой дополнительную информацию, используемую только в файловой системе, информацию, которая для пользователя является невидимой. Ее называют "метаданными". Аналогичным образом, когда запоминается файл, содержащийся в каталоге, элемент файла (элемент Файла 1) и индексный дескриптор файла (индексный дескриптор Файла 1) запоминаются последовательно.
Каталог и файл в файловой системе рассматриваются в качестве одного и того же формата. Однако в тех случаях, когда в каталоге отсутствуют фактические данные, данные файла (данные Файла 1) запоминаются после индексного дескриптора файла (индексный дескриптор Файла 1).
Таким образом, JFFS использует способ для протоколирования каталога и файла флэш-памяти. Как показано на Фиг.1(b), в случае, если индексный дескриптор каталога (индексный дескриптор Dir 1) и индексный дескриптор файла (индексный дескриптор Файла 1) подвергаются изменению и обновлению новыми значениями, первоначальные метаданные переходят в недействительное состояние и новые данные последовательно запоминаются в ячейках памяти.
На этом этапе недействительное состояние только указывает на то, что данные являются ненужными, но фактически данные не стирает. Значения версий новых данных увеличиваются на один шаг. Поэтому, если в новых данных возникает проблема, данные легко могут быть восстановлены только в случае, если существуют данные предыдущей версии.
Таким образом, если каталог и файл обновлялись и новые данные запоминались много раз, объем флэш-памяти достигает предела. Таким образом, данные, сохраненные во флэш-памяти, должны быть стерты для обеспечения требуемого объема памяти. Так как по причине особенностей флэш-памяти данные должны стираться только модулем стираемых блоков, действительные данные (элемент Dir 1) сдвигаются так, как показано на Фиг.1(c). Тогда в случае, если стираемый блок заполнен недействительными областями памяти, операция по очистке производится стиранием одного стираемого блока, как показано на Фиг.1(d).
Вышеупомянутый процесс обеспечения нового объема памяти называют "собиранием мусора" (СМ, GC). Другими словами, в случае, когда по причине отсутствия запоминающего пространства необходимо обеспечить новый объем памяти, "собирание мусора" выполняют при помощи собирания недействительных объемов памяти и очистки стираемых блоков модулем стираемых блоков. Кроме того, пространство, по которому могут быть сохранены созданные при помощи операции очистки новые данные, называют "свободной памятью". Запоминание данных может быть продолжено при помощи обеспечения большей свободной памяти.
В случае, если в качестве носителя данных используется жесткий диск, данные могут запоминаться подобным способом. Однако в случае жесткого диска недействительные данные не сдвигаются и недействительный блок, имеющий размер стираемого блока, не создается для обеспечения объема памяти.
Однако для того, чтобы на жестком диске получить быстрый доступ к файлу, несколько частей одного и того же файла собирают и сдвигают в физически примыкающую ячейку памяти. Так как жесткий диск не должен отдельно выполнить операцию по очистке, данные запоминаются непосредственно, если запоминающее пространство, по которому запоминаются новые данные, находится в недействительном состоянии.
В случае, если выполняется способ запоминания JFFS, ячейки памяти, содержащие элементы и индексные дескрипторы файлов, сложным образом перемешиваются с данными файлов. Поэтому при формировании файловой системы при помощи соединения и монтажа флэш-памяти с операционной системой (ОС, OS) для формирования древовидной структуры каталогов весь объем флэш-памяти должен быть считан и метаданные должны быть найдены.
Та же самая проблема также возникает в случае, когда формируют файловую систему, структурированную протоколированием или файловую систему с протоколированием, используя в качестве носителя данных жесткий диск вместо флэш-памяти. Другими словами, несмотря на то, что для собирания стираемых блоков данные не должны сдвигаться, как в случае флэш-памяти, скорость выборки становится в 40-50 раз ниже, чем у флэш-памяти, по причине того, что метаданные перемешаны с данными файлов и разбросаны по всему запоминающему пространству. Кроме того, формирование файловой системы при помощи считывания всего диска, объем которого может измеряться величинами, большими, чем гигабайты, занимает очень много времени.
Для хранения и воспроизведения мультимедийных данных большого объема жесткий диск преимущественно использует файловую систему, структурированную протоколированием, или файловую систему с протоколированием. Однако выгода, как файловая система мультимедиа, ухудшается в случае, если данные не передаются с постоянной скоростью в заранее определенное время по причине перемешивания с метаданными.
Раскрытие изобретения
Соответственно, настоящее изобретение направлено на способ запоминания с двойным протоколированием, который в значительной степени устраняет одну или более проблем, возникающих из-за ограничений и недостатков предшествующего уровня техники.
Цель настоящего изобретения состоит в том, чтобы обеспечить способ запоминания с двойным протоколированием, по которому данные разделены на метаданные и общие данные файлов. Данные файлов запоминаются от начальных ячеек памяти носителя данных, а метаданные запоминаются от конечных ячеек памяти носителя данных.
Дополнительно, в способе запоминания с двойным протоколированием согласно настоящему изобретению метаданные в носителе данных запоминаются по направлению от начальной ячейки памяти к тыльной части, а данные файла запоминаются по направлению от конечной ячейки памяти к передней части.
При этом способ запоминания с двойным протоколированием может быть применен к другим данным и к другим первым и вторым видам/характеристикам данных в дополнение к метаданным и данным файлов.
Данные одного и того же вида запоминаются от начальных ячеек памяти соответствующих разделов в устройстве флэш-памяти и данные других видов запоминаются от конечных ячеек памяти к передней части.
Данные, запоминаемые от начальных ячеек памяти, будут упоминаться в качестве "данных переднего протоколирования" и данные, запоминаемые от конечных ячеек памяти, будут упоминаться в качестве "данных тыльного протоколирования".
Ячейка памяти, в которой осуществляется запоминание, будет упоминаться как "заголовок", а ячейка памяти, в которой операция стирания выполняется в тыльной части протоколирования, будет упоминаться как "хвост". Другими словами, существуют заголовок и хвост данных переднего протоколирования, а также заголовок и хвост данных тыльного протоколирования. Кроме того, по причине увеличения заголовков на обеих сторонах передних и тыльных частей передние и тыльные части встречаются друг с другом. При этом ячейка памяти, в которой передние и тыльные части встречаются друг с другом, будет упоминаться как "центральная ячейка памяти".
В случае, если в устройстве флэш-памяти запоминаемые данные вводятся в файловую систему соответствующих разделов, носителю данных требуется свободный объем для физического запоминания данных и свободный объем для запоминания метаданных, таких как элемент и индексный дескриптор файла, которые необходимы для создания данных файла.
В этом случае данные файла и метаданные могут запоминаться в переднем и тыльном протоколировании соответственно. Другими словами, данные файла и метаданные соответственно запоминаются от передней и тыльной частей носителя данных и наоборот.
Согласно способу запоминания с двойным протоколированием настоящего изобретения, когда существует намерение запомнить произвольные данные в носителе данных, операция запоминания выполняется после определения того, в какой части будут запоминаться данные. В случае обновления данных предыдущие данные признаются недействительными, а новые данные запоминаются в ячейке памяти заголовка. В случае стирания данных признаются недействительными только отмеченные данные.
Если запоминание и обновление повторяются этим способом, данные переднего протоколирования и данные тыльного протоколирования встречаются друг с другом, таким образом определяется центральная ячейка памяти. В случае, если и передняя, и тыльная части возвращаются к своим начальным ячейкам памяти, а данные продолжают обрабатываться, одна из них прибывает первой в центральную ячейку памяти. На этом и последующих этапах может быть определено, что протоколирование, прибывающее первым в центральную ячейку памяти С, имеет больший объем запоминаемых данных. Следовательно, с тем чтобы увеличить пространство для протоколирования, имеющего больший объем данных, центральная ячейка памяти С сдвигается в другую сторону.
В случае флэш-памяти цель способа запоминания с протоколированием состоит в том, чтобы должным образом задать число повторений стирания по отношению к стираемым блокам. В случае, если центральная ячейка памяти сдвигается, протоколирование, имеющее больший объем данных, увеличивается. В результате появляется возможность должным образом задать число повторений стирания по отношению к передним и тыльным частям.
Дополнительно, устройство флэш-памяти согласно настоящему изобретению включает в себя процессор для генерирования считывания и записи команд для считывания/записи данных из/в определенного адреса оперативной памяти (ОЗУ, RAM), флэш-память для обеспечения пространства для хранения данных и контроллер памяти для управления данными, запоминаемыми в памяти при помощи описанного в данном документе способа запоминания с двойным протоколированием.
Дополнительно, согласно способу запоминания с двойным протоколированием настоящего изобретения устройство флэш-памяти, разрешающее операцию считывания во время операции записи, включает в себя множество разделов. Соответствующие разделы могут выполнять операции считывания, записи и стирания вместе с другими разделами (например, независимо). Данные, запоминаемые в соответствующих разделах флэш-памяти, подразделяются на метаданные и общие данные файла. Данные файла запоминаются от начальной ячейки памяти носителя данных, то есть соответствующих разделов. Между тем метаданные запоминаются по направлению от конечных ячеек памяти к начальным ячейкам памяти соответствующих разделов.
Устройство флэш-памяти согласно настоящему изобретению, включающее в себя: многократно разделенную память; множество разделов, обеспеченных множеством разделов памяти, в которых запоминаемые данные независимо считываются, записываются или стираются; генератор подкачки зарядов для обеспечения множества уровней напряжения, необходимых для считывания, записи и стирания данных; и множество первых усилителей считывания, сформированное для операции считывания, причем операция считывания выполняется одновременно для соответствующих разделов; множество вторых усилителей считывания, включающее в себя, по меньшей мере, один усилитель считывания, сформированное для операций стирания и записи, причем операции стирания и записи выполняются одновременно для соответствующих разделов и данные запоминаются в соответствующих разделах по направлению от начальных и конечных ячеек памяти запоминающих объемов соответствующих разделов к соответствующим центральным частям.
Данные, запоминаемые в соответствующих разделах, запоминаются по направлению от начальных и конечных ячеек памяти запоминающего объема к центральной части.
Дополнительно, мобильный терминал согласно настоящему изобретению включает в себя устройство многократно разделенной флэш-памяти, множество шин и процессор, соединенный с шинами. Здесь многократно разделенная флэш-память соединена с шиной и к ней может получать доступ процессор.
Кроме того, мобильный терминал согласно настоящему изобретению включает в себя запоминающее устройство, такое как флэш-память или жесткий диск (HDD), множество шин и процессор, связанный с шинами. Здесь запоминающее устройство связано с шинами и к нему может получать доступ процессор.
Дополнительные особенности и преимущества изобретения будут сформулированы в описании, которое приведено ниже, и частично будут очевидны из описания либо могут быть изучены на практике изобретения. Задачи и другие преимущества изобретения будут реализованы и достигнуты структурой подробно указанной в написанном описании и его формуле изобретения так же, как и в приложенных чертежах.
Краткое описание чертежей
Сопроводительные чертежи, которые приложены и включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, иллюстрируют варианты осуществления изобретения и вместе с описанием служат для пояснения принципов изобретения.
На чертежах:
Фиг.1 представляет собой типовой вид способа запоминания в JFFS2, формирующей файловую систему во флэш-памяти;
Фиг.2 примерно иллюстрирует центральную ячейку памяти, которая в способе запоминания с двойным протоколированием согласно варианту осуществления настоящего изобретения определяется при встрече друг с другом заголовка данных переднего протоколирования и заголовка данных тыльного протоколирования;
Фиг.3 примерно иллюстрирует процесс определения новой центральной ячейки памяти в способе запоминания с двойным протоколированием согласно настоящему изобретению, по которому новая центральная ячейка памяти определяется при помощи сдвига центральной ячейки памяти по направлению к тыльному протоколированию в случае, когда заголовок данных тыльного протоколирования первым прибывает к центральной ячейке памяти после определения центральной ячейки памяти;
Фиг.4 представляет собой блок-схему, иллюстрирующую способ запоминания с двойным протоколированием согласно варианту осуществления настоящего изобретения;
Фиг.5 представляет собой блок-схему процесса "собирания мусора" (СМ) в качестве части способа запоминания с двойным протоколированием;
Фиг.6 представляет собой график для определения количества стираемых блоков в процессе "собирания мусора" (СМ) способа запоминания с двойным протоколированием;
Фиг.7 представляет собой схематическую блок-схему флэш-памяти, подходящей для способа запоминания с двойным протоколированием согласно варианту осуществления настоящего изобретения;
Фиг.8 представляет собой блок-схему устройства флэш-памяти согласно варианту осуществления настоящего изобретения;
Фиг.9 иллюстрирует устройство многократно разделенной флэш-памяти согласно варианту осуществления настоящего изобретения;
Фиг.10 иллюстрирует типовой мобильный терминал, использующий устройство флэш-памяти согласно настоящему изобретению.
Осуществление изобретения
В дальнейшем предпочтительные варианты осуществления настоящего изобретения будут описаны подробно в отношении сопроводительных чертежей.
Фиг.2 примерно иллюстрирует центральную ячейку памяти, которая в способе запоминания с двойным протоколированием согласно варианту осуществления настоящего изобретения определяется при встрече друг с другом заголовка данных переднего протоколирования и заголовка данных тыльного протоколирования.
На Фиг.2(a) позиционные обозначения "H1" и "T1" обозначают соответственно заголовок и хвост данных переднего протоколирования. Позиционные обозначения "H2" и "T2" обозначают соответственно заголовок и хвост данных тыльного протоколирования. Позиционное обозначение "C" обозначает центральную ячейку памяти.
В случае, если данные Data1 вводят файловую систему в соответствующие разделы, определяют, является ли вид данных данными переднего протоколирования или данными тыльного протоколирования, и этот результат затем запоминают в заголовках.
Обратившись к Фиг.2(a), увидим, что, так как данные Data1 являются данными переднего протоколирования, данные Data1 запоминают от начальной ячейки памяти носителя данных.
Фиг.2(b) иллюстрирует состояние, при котором запоминаются шесть блоков данных. Четыре блока данных Data1 - Data4 являются данными переднего протоколирования, а два блока данных - Data5 и Data6 являются данными тыльного протоколирования.
Данные Data2 и Data6 стираются. На этом этапе данные, по причине особенностей способа запоминания с протоколированием, не могут быть стерты фактически, но отображаются с недействительными состояниями.
Фиг.2(c) иллюстрирует состояние, при котором собирание мусора (СМ) выполняется по причине отсутствия в носителе данных свободного запоминающего пространства. Другими словами, так как данные Data1 являются действительными данными, данные Data1 сдвигаются к заголовку, а предыдущие данные Data1 в таком случае признаются недействительными. В случае, если объем данных Data1 и предварительно признанных недействительными данных Data2 превышает размер стираемого блока, операция стирания выполняется фактически, обеспечивая таким образом свободное пространство.
В случае флэш-памяти операция стирания выполняется фактически. Между тем в случае диска выполнение отдельной операции стирания излишне.
В случае, если обеспечено свободное пространство, хвост T1, соответствующий конечной части данных переднего протоколирования, сдвигается в ячейку памяти данных Data3. Тем же самым способом, если данные Data5 признаются недействительными и стираются после данных Data6, размер которых становится размером стираемого блока, то хвост T2 данных тыльного протоколирования также сдвигается.
Это состояние предназначено для того, чтобы сохранить новые данные Data7. Несмотря на намерение сохранить данные Data7 в переднем заголовке H1 в качестве данных переднего протоколирования, свободного пространства не хватает.
Следовательно, как показано на Фиг.2(d), запоминаются только данные D7-1. Здесь данные D7-1 соответствуют части, которая может быть запомнена. Затем передний заголовок H1 возвращается к начальной ячейке памяти и запоминаются оставшиеся данные D7-2.
Этим способом, если данные переднего протоколирования встречаются с тыльным протоколированием, оно возвращается к начальной ячейке памяти и затем запоминается. Ячейка памяти, в которой передний заголовок H1 и тыльный заголовок H2 встречаются друг с другом, назначается центральной ячейкой памяти C. На этом этапе тыльный заголовок H2 также возвращается к конечной ячейке памяти и ожидает запоминания. Другими словами, этим способом данные запоминаются в переднем и тыльном протоколировании и назначается центральная ячейка памяти.
Когда данные продолжают запоминаться при помощи этого способа, один из переднего H1 и тыльного H2 заголовков первым прибывает в центральную ячейку памяти C. В этом случае может быть определено, что протоколирование, прибывающее первым в центральную ячейку памяти С, имеет больший объем запоминаемых данных.
Следовательно, центральная ячейка памяти С сдвигается по направлению к другой стороне для того, чтобы увеличить пространство для протоколирования, прибывающего первым в центральную ячейку памяти.
Фиг.3 примерно иллюстрирует процесс определения новой центральной ячейки памяти в способе запоминания с двойным протоколированием согласно настоящему изобретению. На Фиг.3 после определения центральной ячейки памяти в случае, если заголовок данных тыльного протоколирования прибывает первым в центральную ячейку памяти, новая центральная ячейка памяти определяется при помощи сдвига центральной ячейки памяти по направлению к переднему протоколированию.
Обратившись к Фиг.3(a), увидим, что данные Data3 и Data5 признаются недействительными и данные тыльного протоколирования активно запоминаются для того, чтобы данные Data8 и Data9 были сохранены. Несмотря на намерение сохранить данные Data10, запоминающего пространства не хватает.
Другими словами, - это случай, когда данные тыльного протоколирования первыми прибывают в центральную ячейку памяти C. Здесь, так как тыльный заголовок H2 не встречается с передним заголовком H1, центральная ячейка памяти С сдвигается по направлению к передней части до тех пор, пока в передней части существует пространство, достаточное для хранения данных.
Процесс определения того, действительно ли в передней части существует достаточно много данных, выполняется при "собирании мусора", представленном на Фиг.5, которое будет описано позже.
Ради этого процесса, как показано на Фиг.3(b), передние данные D7-1 сдвигаются к переднему заголовку H1, а центральная ячейка памяти С также сдвигается по направлению к передней части.
На этом этапе, в случае флэш-памяти, модуль данных, сдвигающихся по направлению к передней части, представляет собой модуль стираемых блоков.
Причина состоит в том, что новые данные не могут быть запомнены до создания свободного пространства при помощи выполнения операции очистки после сдвига.
Здесь стираемый блок обозначает модуль памяти, который одновременно может быть стерт во флэш-памяти. Вообще, модули памяти имеют объем 128 или 256 килобайт. На этом этапе, если по отношению к стираемому блоку выполняется операция очистки, то создается свободный блок. Здесь "свободный блок" представляет собой пространство, по которому данные могут запоминаться, а "свободное пространство" означает свободный блок с заранее определенным объемом памяти.
После создания такого свободного пространства запоминают новые данные Data10.
Центральная ячейка памяти С сдвигается до тех пор, пока не встретит передний заголовок H1, либо до тех пор, пока не встретит в передней части существующее пространство, достаточное для хранения данных.
Фиг.4 представляет собой блок-схему, иллюстрирующую способ запоминания с двойным протоколированием согласно настоящему изобретению.
Другими словами, Фиг.4 иллюстрирует блок-схему способа запоминания с двойным протоколированием, такого как описанный на Фигурах 2 и 3, на которых способ включает в себя процесс запоминания данных, процесс определения центральной ячейки памяти и процесс сдвига центральной ячейки памяти.
Обратившись к Фиг.2-4, увидим, что исходные данные переднего заголовка H1, тыльного заголовка H2, переднего хвоста T1, тыльного хвоста T2 и центральной ячейки памяти С в основном установлены на нуль (S101). Они представляют собой первоначальные состояния, при которых запоминаются данные переднего протоколирования и данные тыльного протоколирования.
Запоминание данных запрашивают у файловой системы через буфер. В случае, если запрашивают запоминание данных на носитель данных в этом состоянии (S102), то при помощи собирания мусора (СМ), которое позже будет описано в отношении Фиг.5, проверяют, действительно ли объем памяти достаточен (S103).
В случае, если определено, что объем памяти носителя данных является достаточным, процесс возвращается непосредственно к блок-схеме, представленной на Фиг.4. Между тем, если будет определено, что объем памяти носителя данных является недостаточным, процесс возвратится к блок-схеме, представленной на Фиг.4, после того как пространство памяти будет обеспечено.
Затем проверяют, действительно ли центральная ячейка памяти С установлена на нуль (S104). Этот процесс выполняют для того, чтобы проверить, действительно ли центральную ячейку памяти определяют впервые. Причина этого состоит в том, что в начальном состоянии, перед определением центральной ячейки памяти С, процесс отличается от процесса в состоянии после определения центральной ячейки памяти С.
Другими словами, в случае, если центральная ячейка памяти С определена впервые, следует проверить, встречается ли заголовок одной стороны с заголовком другой стороны. Между тем, в случае, если центральная ячейка памяти С уже была определена, следует проверить то, какой заголовок первым встретится с центральной ячейкой памяти C.
В соответствии с результатом проверки на этапе S104 в случае, если центральная ячейка памяти С установлена или не установлена на нуль, соответственно проверяют то, действительно ли данные представляют собой данные переднего протоколирования (S105). Затем данные запоминаются согласно соответствующим случаям.
Предположим, что центральная ячейка памяти С установлена на нуль, новые запоминаемые данные представляют собой данные переднего протоколирования, то есть данные запоминаются от передней части носителя данных и их объем равен S.
В этом случае, если данные запоминаются, это означает, что заголовок данных переднего протоколирования теперь располагается на "H1+S". Сначала этап S106 выполняют для того, чтобы проверить, действительно ли для запоминания данных, объем которых равен "S", наличествует достаточный объем памяти.
Если заголовок H1+S запоминаемых данных переднего протоколирования не встречается с заголовком H2 данных тыльного протоколирования, то есть, если (H1+S)<H2, это означает, что объем памяти достаточен. Следовательно, данные переднего протоколирования запоминаются от ячейки памяти H1 так, чтобы заголовок данных увеличивался от предыдущей ячейки памяти H1 к ячейке памяти H1+S (S108). Это соответствует содержанию, описанному на Фигурах 2(a) и 2(b). Здесь ячейки памяти H1 и H2 представляют собой адреса, которые увеличиваются, например, на блок байтов во флэш-памяти, и объем данных S равен блоку байтов, так чтобы ими можно соответственно управлять, используя равный модуль.
Между тем, если условие (H1+S)<H2 не удовлетворяется, то есть, если заголовок H1+S данных переднего протоколирования встречается с заголовком H2 данных тыльного протоколирования, тогда из ячейки памяти H1 запоминают только сохраняемый объем (H2-H1) из числа объема данных S (S109).
В этом случае ячейка памяти H2 дополнительно определяется в качестве центральной ячейки памяти, как и на Фиг.2(d), а остающаяся часть данных [S-(H2-H1)] запоминается от начальной ячейки памяти данных переднего протоколирования.
Другими словами, как показано на этапе S109, центральная ячейка памяти С более не равна нулю, H1 становится нулем, остающаяся часть [S-(H2-H1)] данных запоминается от нуля и H1 увеличивается настолько же, насколько и [S-(H2-H1)]. Это соответствует содержанию, описанному на Фиг.2(c) и 2(d). Другими словами, H1 с Фиг.2(d) соответствует [S-(H2-H1)] и становится новой ячейкой памяти.
В случае, если запоминаемые данные являются данными тыльного протоколирования, данные запоминаются способом, который является симметричным (например, S106, S108, S109) с вышеупомянутым описанием (S107).
Дополнительно, на этапе S104 в случае, если центральная ячейка памяти С не равна нулю, следует проверить, действительно ли запоминаемые данные являются данными переднего протоколирования (S110).
Когда центральная ячейка памяти С не равна нулю, заголовок данных переднего протоколирования и заголовок данных тыльного протоколирования уже встретились друг с другом так, чтобы центральная ячейка памяти была определена. Поэтому в случае, если сохраняемые данные представляют собой данные переднего протоколирования, следует проверить, действительно ли заголовок (H1+S) превышает центральную ячейку памяти C. Это отличается от вышеприведенного описания.
На этом этапе, если заголовок H1+S данных переднего протоколирования не превышает центральную ячейку памяти C, то есть (H1+S)<C, это означает, что объем памяти достаточен (S111). Поэтому данные переднего протоколирования запоминаются от ячейки памяти H1, так чтобы заголовок данных увеличивался от предыдущей ячейки памяти H1 к ячейке памяти H1+S (S112).
Между тем, если условие (H1+S)<C не удовлетворяется, то есть если заголовок H1+S данных переднего протоколирования встречается с центральной ячейкой памяти C, от ячейки памяти H1 запоминают только сохраняемый объем (C-H1) из числа объема данных S (S114).
Этот этап выполняют для того, чтобы обеспечить достаточный объем памяти, в то время как определено, что наличествует большой объем данных переднего протоколирования. Через этот этап во флэш-памяти времена запоминания могут быть назначены должным образом.
Однако, если центральная ячейка памяти С сдвигается по направлению к тыльной части, действительные данные тыльного протоколирования сдвигают к ячейке памяти H2. На этом этапе следует проверить, действительно ли в тыльной части существует сохраняемый объем памяти (S115). Другими словами проверяется, действительно ли существует объем памяти, по которому может быть сохранена остающаяся часть [S-(C-H1)] данных S. Это соответствует содержанию, описанному на Фиг.3(b).
В случае, если в тыльной части существует сохраняемый объем, данные сдвигаются к ячейке памяти H2 настолько же, насколько и [S-(C-H1)] (S116), и в этой ячейке памяти запоминаются новые данные [S-(C-H1)]. Это может быть понято через сдвиг данных D7-1 к ячейке памяти H1, как представлено на Фиг.3(b). Несмотря на то, что Фиг.3 иллюстрирует случай, при котором центральная ячейка памяти сдвигается по направлению к передней части, его принцип эквивалентен описанному выше.
Между тем, если в тыльной части не существует сохраняемого объема, это означает, что тыльная часть заполнена данными. Следовательно, центральная ячейка памяти сдвигается к тыльной части настолько же, насколько и сохраняемая часть. Остающаяся часть возвращается к позиции "0" (то есть H1=0) и затем запоминается (S118).
В случае, если запоминаемые данные представляют собой данные тыльного протоколирования, их запоминают способом, который является симметричным (например, соответствующим S111, S112, S114-S118) вышеприведенному описанию (S113).
В случае, если процесс запоминания данных завершается, выполняют процесс собирания мусора (СМ).
Фиг.5 представляет собой блок-схему процесса собирания мусора (СМ) в качестве части способа запоминания с двойным протоколированием.
Обратившись к Фиг.5, увидим, что если запрашивается запоминание данных, то выполняют процесс собирания мусора (СМ) для проверки того, действительно ли существует свободный объем памяти, по которому данные могут запоминаться.
Запоминаемые данные существуют в буферной памяти в данный момент времени. В случае, если отсутствует свободный объем памяти, равный объему запоминаемых данных, данные сдвигаются при помощи способа с протоколированием и операцию очистки выполняют после того, как недействительный объем памяти будет накоплен в количестве, не меньшем, чем стираемый блок. Затем, если обеспечено минимальное запоминающее пространство для новых данных, процесс запоминания выполняют заново. До настоящего времени первую часть процесса СМ вызывали на Фиг.4 (S101-S103).
Проверяют, действительно ли в буфере наличествуют данные в состоянии, при котором существует свободный блок для заранее определенного объема данных (S202). В случае, если в буфере наличествуют данные, проверяют, все ли данные являются данными переднего протоколирования (S203).
На этом этапе после выполнения по отношению к стираемым блокам процесса очистки формируется свободный блок и это означает объем памяти, по которому данные могут быть запомнены. Дополнительно, свободный блок с заранее определенным объемом памяти образовывает свободное пространство.
На этапе S203 в случае, если данные не являются данными переднего протоколирования, тыльную часть обрабатывают при помощи того же самого способа, что и переднюю часть (S204). Напротив, в случае, если данные представляют собой данные переднего протоколирования, проверяют, действительно ли свободного пространства достаточно (S205).
В случае, если свободного пространства достаточно, процесс "собирания мусора" (СМ) завершается. Напротив, если свободного пространства недостаточно, действительный объем данных сдвигается от переднего хвоста T1 к переднему заголовку H1. После этого недействительный объем данных закрепляется за стираемыми блоками и затем стирается (S206).
Между тем после запоминания вставленных данных вновь вызывают процесс СМ для обеспечения достаточного свободного объема в пределах объема памяти. На этом этапе определяют количество стираемых блоков, которые будут подвергнуты очистке, используя график решений, представленный на Фиг.6. Это осуществляется в случае, когда данные, подлежащие запоминанию в буферной памяти, отсутствуют.
В этом состоянии, как показано на Фиг.6, если в графике решений обеспечены N2 или более свободных блоков, по отношению к стираемым блокам операцию очистки более не выполняют. Значение "N2" вообще приблизительно устанавливается на 10% от всего объема памяти. В случае, если текущее количество свободных блоков находится между N1 и N2, заранее определенное количество стираемых блоков очищается для обеспечения по максимуму N2 или более свободных блоков (S207, S208, S210 и S211).
На этом этапе значение N1 обозначает пороговое значение, при котором свободный блок перестанет существовать и может быть установлено на 2 или 3 в соответствии со своими установками. Другими словами, в случае, если в текущей системе остаются только два или три свободных блока, система предпочтительно сдвигает действительные данные в другой свободный блок из числа стираемых блоков, где недействительные и действительные данные перемешиваются. Соответственно, если стираемый блок становится недействительным блоком, свободное пространство обеспечивается при помощи выполнения процесса очистки.
Дополнительно, значение N2 приблизительно устанавливается на 10% от количества стираемых блоков во всей флэш-памяти.
Так как время, затрачиваемое на очистку стираемых блоков флэш-памяти, в 2-10 раз больше, чем время запоминания данных, и в 100-1000 раз больше, чем время считывания данных, процесс очистки выполняется часто, приводя к проблеме замедления системы в целом.
Соответственно, когда запоминающее пространство флэш-памяти считают достаточным, процесс очистки не выполняют. Уровень, при котором свободное пространство флэш-памяти считают достаточным, как правило, приблизительно равен 10%. На этапе S207, если количество текущих свободных блоков равно или меньше чем N1, стираемый блок предпочтительно обеспечен по всем операциям. В случае, если даже после операции стирания количество свободных стираемых блоков равно или меньше чем N1, это означает, что свободный объем памяти отсутствует.
В случае, если количество текущих свободных блоков равно или меньше чем N2, на этапе S210 в стираемом блоке дополнительно обеспечивается недействительный объем памяти и затем подвергается очистке (S210, S211).
Причина того, почему достаточный свободный объем памяти не обеспечивается из начального "собирания мусора" (СМ), состоит в том, что при получении запроса на сохранение данных время ожидания для обеспечения достаточного свободного объема памяти становится длинным, в то время как операция очистки нуждается в более длинном периоде времени, чем операции считывания или записи.
Дополнительно, в случае получения запроса на проведение операций считывания и записи во время выполнения операции очистки, большинство типов флэш-памяти может функционировать, приостанавливая проведение очистки и выполняя первоочередные операции. Следовательно, эта функция может использоваться.
Несмотря на то, что способ запоминания с двойным протоколированием согласно настоящему изобретению, описанный в отношении Фиг.2-6, применим к различным носителям данных, типичный носитель данных на флэш-памяти, применимый к способу запоминания с двойным протоколированием, будет описан ниже.
Фиг.7 представляет собой схематическую блок-схему флэш-памяти, подходящую для способа запоминания с двойным протоколированием согласно варианту осуществления настоящего изобретения.
Обратившись к Фиг.7, увидим, что устройство флэш-памяти согласно настоящему изобретению включает в себя процессор 10 для генерирования команд считывания и записи для считывания/записи данных из/в определенный адрес ОЗУ 16, флэш-память 12 для обеспечения пространства для хранения данных и контроллер 14 памяти для управления данными, запоминаемыми в памяти 12 согласно способу запоминания с двойным протоколированием настоящего изобретения.
Фиг.8 представляет собой блок-схему устройства флэш-памяти согласно варианту осуществления настоящего изобретения. В этом случае данные, запоминаемые в памяти 110 устройства флэш-памяти, запоминаются согласно способу запоминания с двойным протоколированием, как описано на Фиг.2-6.
Обратившись к Фиг.8, увидим, что устройство 100 флэш-памяти согласно варианту осуществления настоящего изобретения включает в себя память 110 для запоминания данных, X-декодер 160, Y-селектор 170 и Y-декодер 180. X-декодер 160 и Y-декодер 180 задают адреса рядов и колонок памяти.
Дополнительно, пользовательский интерфейс 120 управляет устройством 100 флэш-памяти. Пользовательский интерфейс 120 присоединен к процессору для управления доступом к памяти 110 и регистр 130 состояния запоминает состояние 110 памяти (например, состояние записи, состояние считывания или состояние стирания). Процессор запрашивает у пользовательского интерфейса 120 состояние флэш-памяти.
Дополнительно, усилители 140 считывания присоединены к памяти 110, усиливая сигналы для операций считывания или записи от или к памяти 110. Например, для случая, когда существуют колонки с шестнадцатью входами-выходами, друг за другом используются шестнадцать усилителей 140 считывания для шестнадцати входов-выходов.
Кроме того, флэш-память 100 дополнительно включает в себя генератор 150 подкачки зарядов. Генератор 150 подкачки зарядов используется для обеспечения уровней напряжения, необходимых для операций записи, считывания и стирания памяти 110.
Устройство флэш-памяти согласно настоящему изобретению формируется одним подмножеством памяти и выполняет операции поблочного считывания или записи. Соответственно, флэш-память имеет недостаток, выражающийся в том, что пользователь не может записывать данные в блок памяти одновременно со стиранием или считыванием другого блока памяти.
Однако одновременное функционирование требуется в нескольких прикладных технологиях, ограниченных временем стирания (как правило, 250-500 мс) блока флэш-памяти. Например, мобильный телефон непосредственно выполняет программы из флэш-памяти. Это имеет преимущество, выражающееся в том, что блок памяти, разделенный для использования пространства для хранения данных, может быть стерт.
Здесь ниже в отношении Фиг.9 будет описано устройство флэш-памяти согласно настоящему изобретению, способное к решению проблемы и применимое к способу запоминания с двойным протоколированием.
Фиг.9 иллюстрирует устройство многократно разделенной флэш-памяти согласно варианту осуществления настоящего изобретения.
На Фиг.9 - разделы A 210, В 216, С 225, D 220, E 230, ..., n-1 235, n 240.
Каждый из разделов обеспечивает в устройстве флэш-памяти модуль, который физически является разделенным. В одном варианте осуществления каждый из разделов обеспечивается на трудном физическом уровне. Соответствующие разделы 210, 216, 220, 225, 230, 235 и 240 связаны и с X-декодером, и с Y-декодером.
Каждый из Y-селекторов связан с Y-декодером 290 для управления им. В другом варианте осуществления множество Y-декодеров 290 может существовать внутри системы.
X-декодер и Y-декодер предоставляют возможность выбора определенной области во флэш-памяти для целей доступа, включающего в себя операции считывания, записи и стирания. Через множество X-селекторов и множество Y-селекторов возможно осуществлять доступ к одному или более подразделам флэш-памяти.
Например, операция записи данных в раздел В и операция считывания данных из раздела С выполняются в одно и то же время, в то время как раздел A стирается. Каждый из разделов может включать в себя один или более блоков, которые могут стираться по отдельности. Соответственно, например, возможно записывать данные в память раздела А, в то время как блок памяти раздела B стирается.
Пользователь может управлять доступом к флэш-памяти 200 через пользовательский интерфейс 250. В одном варианте осуществления пользовательский интерфейс 250 может непосредственно являться частью флэш-памяти. В другом варианте осуществления пользовательский интерфейс 250 может быть расположен на отдельной микросхеме. Интерфейс включает в себя множество конечных автоматов для управления соответствующими параллельными операциями записи.
Соответственно, в случае, если выполняются две параллельные операции записи (например, операция записи данных в блок данных при обновлении кодов), обеспечиваются конечные автоматы с двумя состояниями. В случае, если выполняются три параллельные, операции записи, обеспечиваются конечные автоматы с тремя состояниями.
Регистры 260 состояния связаны с пользовательским интерфейсом 250. Регистры 260 состояния указывают состояние каждого раздела. В одном варианте осуществления, если существует количество разделов, равное n, то обеспечивается n регистров 260 состояния. Состояние каждого раздела может быть любым из следующих: "свободное", "считываемое", "записываемое" и "стираемое".
Дополнительно, усилители 270 считывания связаны с пользовательским интерфейсом 250. Усилители считывания используются для операций считывания, записи и стирания.
В одном варианте осуществления количество усилителей 270 считывания определяется подобно тому, как в последующих способах. Другими словами, в 16-разрядной флэш-памяти для выполнения соответствующих параллельных операций необходимы шестнадцать усилителей 270 считывания. Например, в случае, если производится считывание из первого раздела, в то время как во второй раздел осуществляется запись, необходимо тридцать два усилителя 270 считывания.
Дополнительно, в случае, если два раздела считываются параллельно, необходимо тридцать два усилителя 270 считывания для проведения операции считывания. Количество усилителей 270 считывания является результатом перемножения выходной ширины колонок (X) флэш-памяти и количества (Y) выполняемых параллельных операций.
В одном варианте осуществления в случае флэш-памяти, разделенной на три части, первые, вторые и третьи разделы могут соответственно считываться, записываться и стираться. В этом случае используются усилители считывания в количестве 3X. Усилители 270 считывания, используемые для операции стирания, используют очень малую часть от полного времени стирания.
Подобным способом усилители 270 считывания, используемые для операции записи, используют очень малую часть от полного времени записи. Соответственно, в одном варианте осуществления один усилитель 270 считывания используется как для соответственно выполняемых параллельных операций записи, так и для соответственно выполняемых параллельных операций стирания.
В случае, если соответствующие биты записаны, усилитель 270 считывания используется для проверки соответствующих битов. Дополнительно, избыточные усилители считывания 270 можно обеспечить для других операций, таких как доступ к избыточной колонке.
В одном варианте осуществления два избыточных усилителя 270 считывания обеспечиваются в пределах блока усилителей 270 считывания в соответствующих параллельных операциях записи и/или операциях считывания.
Дополнительно в схему включены генераторы 280 подкачки зарядов. Генераторы 280 подкачки зарядов используются для регулировки уровней напряжения для операций считывания, записи и стирания. В одном варианте осуществления уровень напряжения, необходимый для проведения операции стирания, приблизительно равен 10 вольт.
В одном варианте осуществления уровень напряжения, необходимый для проведения операций считывания и записи, приблизительно равен 7 вольт. В одном варианте осуществления, для того чтобы разрешить параллельный доступ к разделам, используется один генератор 280 подкачки зарядов, имеющий множество линий ввода.
В другом варианте осуществления для обеспечения уровня напряжения, необходимого для получения доступа к различным разделам в одно и то же время, может использоваться множество отдельных генераторов 280 подкачки зарядов.
Генераторы 280 подкачки зарядов связаны с Y-селекторами соответствующих разделов для того, чтобы увеличить уровень напряжения до уровня, пригодного для выполнения операций считывания, записи и стирания.
В случае, если флэш-память разделена на множество разделов, соответствующие разделы могут независимо выполнять операции считывания, записи и стирания. Соответственно, данные также независимо запоминаются в соответствующие разделы.
На этом этапе настоящее изобретение характеризуется тем, что данные запоминаются в соответствующие разделы на основе способа запоминания с двойным протоколированием, описанного выше в отношении Фиг.2-6.
Описанный выше способ запоминания с двойным протоколированием и устройство флэш-памяти, по которому применяется способ запоминания, могут использоваться в различных целях.
В качестве одного варианта осуществления ниже будет описан мобильный терминал, по которому применяются способ с двойным протоколированием, представленный на Фиг.2-6, и устройство многократно разделенной флэш-памяти, представленное на Фиг.9.
Здесь количество разделов устройства многократно разделенной флэш-памяти зависит от назначения флэш-памяти. Фиг.10 иллюстрирует типичный мобильный терминал, использующий устройство флэш-памяти согласно настоящему изобретению.
Примеры использования устройства флэш-памяти, разделенного на три части, следующие: (1) разделы могут использоваться для сохранения данных; (2) разделы могут использоваться для сохранения программ, которые выполняются устройством, содержащимся в устройстве флэш-памяти; и (3) разделы могут использоваться для предоставления возможности обновления программ.
Например, в случае, если программы изменяются по причине обновления, новая программа записывается в третий раздел, в то время как одновременно выполняется первоначальная программа, сохраненная во втором разделе.
В случае, если новая программа записывается и проверяется, третий раздел используется для программ. Соответственно, возможно "бесшовное" обновление флэш-памяти.
В другом варианте осуществления устройства флэш-памяти, разделенного на три части, программа выполняется из первого раздела, а обновление данных выполняется во втором разделе. В результате выполнения программы может быть достигнуто прямое (дословно - "бесшовное") обновление данных.
Фиг.10 иллюстрирует пример мобильного терминала, использующего устройство флэш-памяти согласно настоящему изобретению.
Обратившись к Фиг.10, увидим, что мобильный терминал 410 включает в себя устройство 430 флэш-памяти согласно варианту осуществления настоящего изобретения.
Несмотря на то, что устройство 430 флэш-памяти обрисовано в мобильном терминале 410, следует понимать, что устройство 430 флэш-памяти, как правило, устанавливается в разъем корпуса мобильного терминала.
Дополнительно, мобильный терминал включает в себя различные шины и процессор, присоединенный к шинам. Устройство 430 флэш-памяти согласно настоящему изобретению, соединенное с шинами и процессором, может получать доступ к устройству 430 флэш-памяти.
Мобильный терминал 410 является задействованным и выполняющим программу, и выполняется раздел 460, включающий в себя текущую активированную программу.
Использование этих программ известно из уровня техники. Другой раздел 450 содержит данные для набора номера или аудиоданные. Например, мобильный терминал 410 может содержать данные управления набором номера или подобные данные в разделе 450 данных.
Третий раздел 470 принимает извне новую программу 440. В качестве одного примера третий раздел может подвергаться удаленному обновлению. Соответственно, новая программа 440 может записываться в новый программный раздел 470 во время функционирования мобильного терминала, и раздел 450 данных может использоваться для воспроизведения данных для набора номера. В это же время сохраненная в разделе 460 программа может выполняться.
Этим способом мобильный терминал предоставляет возможность обновления "бесшовной" программы мобильного телефона, одновременного обновления и использования мобильного терминала. Другие области применения, такие как "бесшовное" обновление программ, могут осуществляться подобным образом.
Дополнительно, настоящее изобретение характеризуется тем, что данные могут запоминаться в соответствующих разделах при помощи способа запоминания с двойным протоколированием, описанного и показанного во всех без исключения приложенных чертежах.
Промышленная применимость
Согласно способу запоминания с двойным протоколированием варианта осуществления настоящего изобретения в носителе данных, таком как флэш-память, запоминаются данные, разделенные на метаданные и общие данные файла, причем данные файла запоминаются от начальных ячеек памяти носителя данных, то есть соответствующих разделов. Метаданные запоминаются по направлению от конечных ячеек памяти соответствующих разделов к начальным ячейкам памяти.
В случае использования способа запоминания с двойным протоколированием варианта осуществления настоящего изобретения данные одного и того же вида обслуживаются в заранее определенной области. Следовательно, может быть получено малое время доступа к данным, а время стирания флэш-памяти может быть должным образом назначено запоминающему пространству флэш-памяти.
Дополнительно, согласно способу запоминания с двойным протоколированием настоящего изобретения в случае, если ошибка в данных происходит по причине ошибки из-за питающего напряжения, возможно легкое восстановление данных до предыдущей версии, обеспечивая таким образом надежное хранение данных.
В то время как настоящее изобретение было описано и проиллюстрировано здесь в отношении предпочтительных вариантов его осуществления, специалисту в данной области техники будет очевидно, что без отступления от сущности изобретения и выхода за его рамки могут быть осуществлены различные модификации и изменения. Таким образом предполагается, что настоящее изобретение охватывает любые модификации и изменения этого изобретения, объем которого определен в приложенной формуле изобретения.
Claims (29)
1. Способ запоминания с двойным протоколированием для запоминания данных на носителе данных, отличающийся тем, что данные запоминают по направлению от начальных и конечных ячеек памяти носителя данных к центральной части.
2. Способ запоминания с двойным протоколированием по п.1, по которому в случае, когда в носителе данных запоминают два типа данных, вид и характеристики которых различны, два типа данных по отдельности запоминают в качестве данных переднего протоколирования и тыльного протоколирования соответственно.
3. Способ запоминания с двойным протоколированием по п.2, по которому в случае, когда данные переднего протоколирования и данные тыльного протоколирования встречаются друг с другом в центральной ячейке памяти, данные вновь запоминают от начальной ячейки памяти и конечной ячейки памяти соответственно.
4. Способ запоминания с двойным протоколированием по п.2, по которому в случае, если заголовок данных переднего протоколирования и заголовок данных тыльного протоколирования встречаются друг с другом в первый раз, образуя центральную ячейку памяти, и затем центральная ячейка памяти формируется во второй или более раз, когда заголовок данных переднего протоколирования или заголовок данных тыльного протоколирования вновь прибывает в центральную ячейку памяти, центральная ячейка памяти сдвигается по направлению к протоколированию другой стороны.
5. Способ запоминания с двойным протоколированием для вставления данных в носитель данных, включающий в себя этапы, на которых выполняют "собирания мусора", если при запрашивании вставления данных в носитель данных объем памяти недостаточен, сдвигая таким образом данные и выполняя стирание; и проверяют, действительно ли в носителе данных существует достаточный объем памяти, после завершения запоминания данных, обеспечивая таким образом объем памяти для последующих вставленных данных, при этом запоминание данных выполняют таким образом, что заранее определенные первые данные запоминаются от начальной ячейки памяти, а заранее определенные вторые данные запоминаются от конечной ячейки памяти.
6. Способ запоминания данных на носителе данных, включающий в себя этапы, на которых разделяют данные на первые данные и вторые данные; и запоминают одни из первых данных и вторых данных из начальной ячейки памяти носителя данных, и запоминают другие по отношению к данным начальной ячейки памяти данные из конечной ячейки памяти носителя данных, при этом, в случае, если первые данные и вторые данные запоминаются и встречаются друг с другом в ячейке памяти носителя данных, повторно запоминают соответствующие данные из начальной ячейки памяти и конечной ячейки памяти, соответственно.
7. Способ по п.6, который также содержит этап повторного запоминания соответствующих данных соответственно из начальной ячейки памяти и конечной ячейки памяти в случае, если первые данные и вторые данные запоминаются и встречаются друг с другом в центральной ячейке памяти.
8. Способ по п.7, который также содержит этап, на котором когда центральная ячейка памяти формируется в первый раз и затем формируется в последующее время, сдвигают центральную ячейку памяти в направлении продвижения данных, прибывающих в центральную ячейку памяти первыми.
9. Способ по п.8, по которому количество стираний на носителе данных сокращается при сдвиге центральной ячейки при каждом последующем формировании.
10. Способ по п.6, по которому первые данные являются метаданными и вторые данные являются данными файла.
11. Устройство флэш-памяти, содержащее процессор для генерирования команд считывания/записи для считывания/записи данных из/в определенный адрес; флэш-память для обеспечения пространства для хранения данных; и контроллер памяти для управления данными, запоминаемыми во флэш-памяти по направлению от начальной и конечной ячеек памяти пространства для хранения данных к центральной части, при этом контроллер памяти управляет повторным запоминанием соответствующих данных из начальной ячейки памяти и/или конечной ячейки памяти, соответственно, в случае, если запомненные в памяти данные встречаются друг с другом в ячейке памяти носителя данных.
12. Устройство многократно-разделенной флэш-памяти, содержащее многократно-разделенную память; множество разделов, обеспеченных множеством разделов памяти, в которых запоминаемые данные независимо считываются, записываются или стираются; генератор подкачки зарядов для обеспечения множества уровней напряжения, необходимых для считывания, записи и стирания данных; и множество первых усилителей считывания, сформированных для проведения операции считывания, причем операция считывания выполняется одновременно для соответствующих разделов; множество вторых усилителей считывания, включающее в себя, по меньшей мере, один усилитель считывания, сформированное для операций стирания и записи, причем операции стирания и записи выполняются одновременно для соответствующих разделов, причем данные запоминают в соответствующих разделах по направлению от начальных и конечных ячеек памяти запоминающих объемов соответствующих разделов к соответствующим центральным частям.
13. Устройство многократно-разделенной флэш-памяти по п.12, по которому, если в носитель данных запоминаются данные, характеристики которых являются различными, то данные по отдельности запоминаются в качестве данных переднего протоколирования и данных тыльного протоколирования.
14. Устройство многократно-разделенной флэш-памяти по п.13, по которому в случае, если данные переднего протоколирования и данные тыльного протоколирования встречаются друг с другом в центральной ячейке памяти, данные повторно запоминают от начальной ячейки памяти.
15. Устройство многократно-разделенной флэш-памяти по п.13, по которому в случае, если заголовок данных переднего протоколирования и заголовок данных тыльного протоколирования встречаются друг с другом, в первый раз формируя центральную ячейку, и затем центральная ячейка памяти формируется во второй или более раз, то центральная ячейка памяти сдвигается по направлению к протоколированию другой стороны, когда заголовок данных переднего протоколирования или заголовок данных тыльного протоколирования вновь прибывают в центральную ячейку памяти.
16. Устройство многократно-разделенной флэш-памяти по п.12, по которому данные, запоминаемые в соответствующих разделах, разделяют на метаданные и данные файла, причем данные файла запоминаются от начальных ячеек памяти соответствующих разделов, а метаданные запоминаются по направлению от конечных ячеек памяти соответствующих разделов к начальным ячейкам памяти.
17. Мобильный терминал, применяющий многократно-разделенную память, содержащий шину; процессор, присоединенный к шине; флэш-память, присоединенную к шине и доступную процессору, причем флэш-память разделена на множество разделов, а данные, запоминаемые согласно соответствующим разделам, независимо считываются, записываются или стираются; множество первых усилителей считывания, формируемых для первой операции, причем первая операция выполняется одновременно для соответствующих разделов; множество вторых усилителей считывания, включающих в себя, по меньшей мере, один усилитель считывания, формируемый для второй операции, причем вторая операция выполняется одновременно для соответствующих разделов, причем данные запоминают в соответствующих разделах по направлению от начальных и конечных ячеек памяти запоминающих объемов соответствующих разделов к соответствующим центральным частям.
18. Мобильный терминал по п.17, в котором, если данные, вид и характеристики которых различны, запоминаются на носителе данных, то данные по отдельности запоминают в качестве данных переднего протоколирования и данных тыльного протоколирования.
19. Мобильный терминал по п.18, в котором, в случае, если данные переднего протоколирования и данные тыльного протоколирования встречаются друг с другом в центральной ячейке памяти, данные повторно запоминают от начальной ячейки памяти.
20. Мобильный терминал по п.18, в котором, в случае, если заголовок данных переднего протоколирования и заголовок данных тыльного протоколирования встречаются друг с другом, впервые формируя центральную ячейку памяти, и тогда в последующее время формируется центральная ячейка памяти, когда заголовок данных переднего протоколирования или заголовок данных тыльного протоколирования вновь прибывает в последующую центральную ячейку памяти, тогда центральная ячейка памяти сдвигается по направлению к протоколированию другой стороны.
21. Мобильный терминал по п.17, в котором данные, запоминаемые в соответствующих разделах, разделяют на метаданные и данные файла, причем данные файла запоминаются от начальных ячеек памяти соответствующих разделов, а метаданные запоминаются по направлению от конечных ячеек памяти соответствующих разделов к начальным ячейкам памяти.
22. Мобильный терминал по п.17, в котором первая операция является операцией считывания и вторая операция является операцией записи или операцией стирания.
23. Способ запоминания с двойным протоколированием для запоминания данных в памяти, разделенной на множество разделов, по которому данные независимо считываются, записываются или стираются согласно соответствующим разделам, отличающийся тем, что данные запоминают по направлению от начальных и конечных ячеек объема памяти соответствующих разделов к центральной части.
24. Способ запоминания с двойным протоколированием по п.23, по которому если на носителе данных запоминаются данные, характеристики которых различны, то данные по отдельности запоминают в качестве данных переднего протоколирования и данных тыльного протоколирования.
25. Способ запоминания с двойным протоколированием по п.24, по которому, если данные переднего протоколирования и данные тыльного протоколирования встречаются друг с другом в центральной ячейке памяти, данные повторно запоминают соответственно от начальной ячейки памяти и конечной ячейки памяти.
26. Способ запоминания с двойным протоколированием по п.24, по которому, если заголовок данных переднего протоколирования и заголовок данных тыльного протоколирования встречаются друг с другом, в первый раз формируя центральную ячейку, и затем центральная ячейка памяти формируется во второй или более раз, то центральная ячейка памяти сдвигается по направлению к протоколированию другой стороны, когда заголовок данных переднего протоколирования или заголовок данных тыльного протоколирования вновь прибывают в центральную ячейку памяти.
27. Способ запоминания с двойным протоколированием по п.24, по которому данные, запоминаемые в соответствующих разделах, разделяют на метаданные и данные файла, причем данные файла запоминаются от начальных ячеек памяти соответствующих разделов, а метаданные запоминаются по направлению от конечных ячеек памяти соответствующих разделов к начальным ячейкам памяти.
28. Способ запоминания с двойным протоколированием для запоминания данных в памяти, разделенной на множество разделов, в случае, если данные вставляются в соответствующие разделы флэш-памяти, причем данные независимо считываются, записываются или стираются согласно соответствующим разделам, способ запоминания с двойным протоколированием включает в себя этапы, на которых при запрашивании вставления данных в соответствующие разделы, если объем памяти недостаточен, выполняют «собирание мусора», сдвигая таким образом данные и выполняя стирание; и проверяют, действительно ли в носителе данных существует достаточный объем памяти, после завершения запоминания данных, обеспечивая таким образом объем памяти для последующих вставленных данных, при этом запоминание данных выполняют таким образом, что заранее определенные первые данные запоминаются от начальной ячейки памяти, а заранее определенные вторые данные запоминаются от конечной ячейки памяти.
29. Мобильный терминал, содержащий шину; процессор, присоединенный к шине; память, присоединенную к шине, данные, считываемые/записываемые из/в память; и контроллер памяти для управления данными, записываемыми по направлению от начальных и конечных ячеек памяти запоминающего пространства к центральной части, при этом контроллер памяти управляет повторным запоминанием соответствующих данных из начальной ячейки памяти и/или конечной ячейки памяти, соответственно, в случае, если запомненные в памяти данные встречаются друг с другом в ячейке памяти носителя данных.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0083165A KR100483490B1 (ko) | 2002-12-24 | 2002-12-24 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
KR10-2002-0083165 | 2002-12-24 | ||
KR1020030092533A KR101107288B1 (ko) | 2003-12-17 | 2003-12-17 | 다중 분할된 플래시 메모리 장치 및 분할된 메모리에데이터를 저장하기 위한 이중 저널링 저장방법 |
KR10-2003-0092533 | 2003-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2005119971A RU2005119971A (ru) | 2006-01-20 |
RU2319227C2 true RU2319227C2 (ru) | 2008-03-10 |
Family
ID=36182082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2005119971/28A RU2319227C2 (ru) | 2002-12-24 | 2003-12-19 | Способ запоминания с двойным протоколированием и носитель данных для него |
Country Status (7)
Country | Link |
---|---|
US (1) | US7610442B2 (ru) |
EP (1) | EP1576593B1 (ru) |
JP (1) | JP4415356B2 (ru) |
AU (1) | AU2003286967B2 (ru) |
CA (1) | CA2511304C (ru) |
RU (1) | RU2319227C2 (ru) |
WO (1) | WO2004059624A1 (ru) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4766240B2 (ja) * | 2005-11-08 | 2011-09-07 | 日本電気株式会社 | ファイル管理方法、装置、およびプログラム |
KR100848315B1 (ko) | 2005-12-08 | 2008-07-24 | 한국전자통신연구원 | 이중 저널링을 이용한 데이터 저장 공간 확보 방법 |
KR100755700B1 (ko) | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
KR100755702B1 (ko) | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법 |
US9501492B2 (en) * | 2006-10-24 | 2016-11-22 | Marvell World Trade Ltd. | Combination journaling/non-journaling file system |
US8897622B2 (en) * | 2006-11-20 | 2014-11-25 | Comcast Cable Holdings, Llc | Media recording element |
US7774525B2 (en) * | 2007-03-13 | 2010-08-10 | Dell Products L.P. | Zoned initialization of a solid state drive |
KR101464338B1 (ko) * | 2007-10-25 | 2014-11-25 | 삼성전자주식회사 | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 |
US7876079B2 (en) * | 2009-03-24 | 2011-01-25 | Infineon Technologies Ag | System and method for regulating a power supply |
US9311229B2 (en) | 2011-03-29 | 2016-04-12 | Blackberry Limited | System and method for managing flash memory |
US8539007B2 (en) | 2011-10-17 | 2013-09-17 | International Business Machines Corporation | Efficient garbage collection in a compressed journal file |
KR101867282B1 (ko) * | 2011-11-07 | 2018-06-18 | 삼성전자주식회사 | 비휘발성 메모리 장치의 가비지 컬렉션 방법 |
JP5838783B2 (ja) * | 2011-12-20 | 2016-01-06 | アイシン精機株式会社 | フラッシュメモリへのデータ書き込み方法 |
KR20140069659A (ko) * | 2012-11-29 | 2014-06-10 | 성균관대학교산학협력단 | 플래시 메모리용 파일 시스템 |
WO2014117328A1 (en) * | 2013-01-30 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Non-volatile memory write mechanism |
US9741442B2 (en) * | 2013-03-12 | 2017-08-22 | Sandisk Technologies Llc | System and method of reading data from memory concurrently with sending write data to the memory |
US9658799B2 (en) * | 2013-09-25 | 2017-05-23 | International Business Machines Corporation | Data storage device deferred secure delete |
US20150153766A1 (en) * | 2013-11-29 | 2015-06-04 | Avigilon Corporation | Camera supporting removable storage divided into multiple partitions |
US10482008B2 (en) * | 2015-01-23 | 2019-11-19 | Hewlett Packard Enterprise Development Lp | Aligned variable reclamation |
US10013346B2 (en) * | 2015-11-17 | 2018-07-03 | Western Digital Technologies, Inc. | Method of decreasing write amplification of NAND flash using a journal approach |
US9959046B2 (en) | 2015-12-30 | 2018-05-01 | Samsung Electronics Co., Ltd. | Multi-streaming mechanism to optimize journal based data storage systems on SSD |
KR20190092941A (ko) * | 2018-01-31 | 2019-08-08 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102172219B1 (ko) * | 2019-03-12 | 2020-10-30 | 고려대학교 산학협력단 | 객체의 메타데이터 처리 장치 및 방법 |
CN113495681A (zh) * | 2020-04-07 | 2021-10-12 | 杭州萤石软件有限公司 | 一种nand flash文件数据存取方法、装置及存储介质 |
KR20220086934A (ko) * | 2020-12-17 | 2022-06-24 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템의 저널링 제어 장치 및 방법 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220657A (en) | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US5414826A (en) | 1990-01-31 | 1995-05-09 | Hewlett-Packard Company | System and method for memory management in microcomputer |
JP2808358B2 (ja) | 1990-10-17 | 1998-10-08 | 大日本印刷株式会社 | Icカード |
US6256642B1 (en) | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
GB2270581A (en) * | 1992-09-15 | 1994-03-16 | Ibm | Computer workstation |
US5581724A (en) * | 1992-10-19 | 1996-12-03 | Storage Technology Corporation | Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JPH06282702A (ja) | 1993-03-24 | 1994-10-07 | Dainippon Printing Co Ltd | Cpuを内蔵した情報記録媒体 |
US5504861A (en) * | 1994-02-22 | 1996-04-02 | International Business Machines Corporation | Remote data duplexing |
US5537585A (en) | 1994-02-25 | 1996-07-16 | Avail Systems Corporation | Data storage management for network interconnected processors |
US5623599A (en) * | 1994-07-29 | 1997-04-22 | International Business Machines Corporation | Method and apparatus for processing a synchronizing marker for an asynchronous remote data copy |
US5592618A (en) | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
KR100200846B1 (ko) | 1995-03-23 | 1999-06-15 | 윤종용 | 광디스크 장치의 포커싱 제어장치 |
US5734861A (en) | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity |
JPH09231110A (ja) | 1995-12-22 | 1997-09-05 | Dainippon Printing Co Ltd | Icカード |
US5907854A (en) | 1996-09-27 | 1999-05-25 | Alcatel Usa Sourcing, L.P. | Flash memory file system for writing data files without rewriting an entire volume |
US6128630A (en) | 1997-12-18 | 2000-10-03 | International Business Machines Corporation | Journal space release for log-structured storage systems |
US6260103B1 (en) * | 1998-01-05 | 2001-07-10 | Intel Corporation | Read-while-write memory including fewer verify sense amplifiers than read sense amplifiers |
FR2790321B1 (fr) | 1999-02-25 | 2001-08-24 | St Microelectronics Sa | Procede de gestion de l'espace de stockage d'une memoire, memoire et dispositif d'inscription en memoire geres selon ledit procede |
US6725241B1 (en) * | 1999-03-31 | 2004-04-20 | International Business Machines Corporation | Method and apparatus for freeing memory in a data processing system |
US6535949B1 (en) | 1999-04-19 | 2003-03-18 | Research In Motion Limited | Portable electronic device having a log-structured file system in flash memory |
JP2001216765A (ja) * | 2000-02-01 | 2001-08-10 | Yamaha Corp | オーディオデータ保存方法およびオーディオデータ記録再生装置 |
GB0027053D0 (en) * | 2000-11-06 | 2000-12-20 | Ibm | A computer system with two heaps in contiguous storage |
JP2003196142A (ja) | 2001-12-25 | 2003-07-11 | Sony Corp | ライトワンス型メモリ装置及びファイル管理方法 |
US7225316B2 (en) * | 2003-11-17 | 2007-05-29 | Intel Corporation | Memory mapping apparatus, systems, and methods |
US7363420B2 (en) * | 2003-12-15 | 2008-04-22 | Nortel Networks Limited | Method and file structures for managing data on a flash disk |
WO2007066909A1 (en) * | 2005-12-08 | 2007-06-14 | Electronics And Telecommunications Research Institute | Method for guarantying data storing space using dual journaling |
-
2003
- 2003-12-19 US US10/539,751 patent/US7610442B2/en not_active Expired - Fee Related
- 2003-12-19 EP EP03777471.8A patent/EP1576593B1/en not_active Expired - Lifetime
- 2003-12-19 AU AU2003286967A patent/AU2003286967B2/en not_active Ceased
- 2003-12-19 JP JP2004562995A patent/JP4415356B2/ja not_active Expired - Fee Related
- 2003-12-19 WO PCT/KR2003/002783 patent/WO2004059624A1/en active Application Filing
- 2003-12-19 CA CA2511304A patent/CA2511304C/en not_active Expired - Fee Related
- 2003-12-19 RU RU2005119971/28A patent/RU2319227C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US7610442B2 (en) | 2009-10-27 |
EP1576593B1 (en) | 2015-10-21 |
RU2005119971A (ru) | 2006-01-20 |
US20060085493A1 (en) | 2006-04-20 |
JP4415356B2 (ja) | 2010-02-17 |
CA2511304C (en) | 2011-09-20 |
EP1576593A1 (en) | 2005-09-21 |
CA2511304A1 (en) | 2004-07-15 |
AU2003286967A1 (en) | 2004-07-22 |
EP1576593A4 (en) | 2009-04-29 |
JP2006512643A (ja) | 2006-04-13 |
AU2003286967B2 (en) | 2009-01-15 |
WO2004059624A1 (en) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2319227C2 (ru) | Способ запоминания с двойным протоколированием и носитель данных для него | |
US8533391B2 (en) | Storage device and user device including the same | |
US7395384B2 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
US8706989B2 (en) | Data storage device with power-off recovery system and method thereof | |
JP5649742B2 (ja) | トランザクションログの復元 | |
KR101447786B1 (ko) | 파워 인터럽트 관리 | |
CN101727395A (zh) | 闪存设备的管理***、方法及闪存设备 | |
KR20070060070A (ko) | 최적화된 순차적인 클러스터 관리용 에프에이티 분석 | |
CN101124555A (zh) | 具有多流更新的非易失性存储器和方法 | |
US7519764B2 (en) | Apparatus and method for detecting data validity in flash memory | |
JP2024503956A (ja) | メモリデバイスのデフラグメンテーションのためのシステムおよび方法 | |
CN110658978B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
JP2008084184A (ja) | メモリコントローラ | |
US20230161666A1 (en) | Ecc parity biasing for key-value data storage devices | |
CN1732516B (zh) | 双日志存储方法及其存储介质 | |
Lee et al. | RMSS: an efficient recovery management scheme on NAND flash memory based solid state disk | |
KR20220130526A (ko) | 메모리 시스템 및 그 동작 방법 | |
KR101107288B1 (ko) | 다중 분할된 플래시 메모리 장치 및 분할된 메모리에데이터를 저장하기 위한 이중 저널링 저장방법 | |
CN103038753B (zh) | 用基于日志的缓冲向基于nand存储块的文件***写入的方法 | |
CN118069411A (zh) | 操作方法、存储器控制器、***及电子设备 | |
CN114637465A (zh) | 一种基于flash存储器的数据存储方法 | |
CN118069410A (zh) | 操作方法、存储器控制器、***及电子设备 | |
CN115904218A (zh) | 包括主机和存储装置的存储***以及存储***的操作方法 | |
CN118051175A (zh) | 存储器控制器及其操作方法、存储器***和电子设备 | |
CN117953942A (zh) | 基于闪存的存储器***及其管理元数据方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20131220 |