CN1732516A - 双日志存储方法及其存储介质 - Google Patents
双日志存储方法及其存储介质 Download PDFInfo
- Publication number
- CN1732516A CN1732516A CNA200380107607XA CN200380107607A CN1732516A CN 1732516 A CN1732516 A CN 1732516A CN A200380107607X A CNA200380107607X A CN A200380107607XA CN 200380107607 A CN200380107607 A CN 200380107607A CN 1732516 A CN1732516 A CN 1732516A
- Authority
- CN
- China
- Prior art keywords
- data
- daily record
- storage
- center
- subregion
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 230000009977 dual effect Effects 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000015654 memory Effects 0.000 claims abstract description 96
- 230000006698 induction Effects 0.000 claims description 27
- 238000005192 partition Methods 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 17
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 9
- 241001269238 Data Species 0.000 description 8
- 239000000872 buffer Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 102100029074 Exostosin-2 Human genes 0.000 description 1
- 101000918275 Homo sapiens Exostosin-2 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 239000004305 biphenyl Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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/0629—Configuration or reconfiguration of 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/061—Improving I/O performance
-
- 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
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了双日志存储方法及其存储介质,其中当闪存存储器等用作用于存储/管理/处理数据的存储介质时,从开始和结束位置向着存储介质的存储空间的中心部分存储数据。基于日志方法,从存储介质的开始位置存储一个数据,并且从存储介质的结束位置向着开始位置存储另一数据。
Description
技术领域
本发明涉及一种双日志存储方法及其存储介质,其中在闪存存储器等用作用于存储/管理/处理数据的存储介质时,从开始和结束位置,向着存储介质的存储空间的中心部分存储数据。
背景技术
最近几年,随着信息社会和移动计算技术的迅猛发展,开发了个人数字助理(PDA)、手持式个人计算机(HPC)、蜂窝电话、电子书籍等。此外,为了进行数据存储,广泛使用闪存存储器,因为它们非常方便而且具有快速存取时间和低功耗。
闪存存储器的特性与通用随机存取存储器(RAM)不同。闪存存储器可以是非易失性的,而且比硬盘更可靠。此外,闪存存储器以低功率工作,而且存取时间与RAM同样快。此外,闪存存储器适于便携式设备,因为其尺寸小。
然而,闪存存储器比硬盘昂贵5至10倍,而且其缺点在于,为了将新数据写入已经存在数据的空间上,必须进行清除操作。
例如,尽管Intel Corporation开发的28F640J3A闪存存储器具有100至150纳秒的快速读取速度(与RAM类似),但是其写速度和擦除速度较低。在使用32字节缓存器时,写数据占用218μsec,而擦除块单元的写时间是0.8秒。
此外,一次可以擦除的擦除块的大小始终是128千字节。在室温下,闪存存储器可以进行100,000次擦/写操作。这种闪存存储器上一次可以擦除的空间被称为“擦除块”或者“分段”。
根据单元结构,闪存存储器可以被划分为NOR型、NAND型和AND型。通常,广泛使用NOR或者NAND闪存存储器。NOR闪存存储器具有快速随机存取读取速度和每位存取的容易性。因此,NOR闪存存储器直接连接到存储位置空间,而且主要用于存储CPU执行的代码。同时,NAND闪存存储器具有较慢的随机存取时间,因此,它主要用于一次存储较大数据,例如,音乐文件或者图像文件。
报头为“Flash Memory System”的第5,404,485号美国专利以及1995年在USENIX会议上发表的论文“A Flash Memory Based FileSystem”,pp.155-164公开了使用这些闪存存储器的现有文件系统。
此外,提供了一种日志闪存文件系统(JFFS),其中工作记录结构(log-structured)的文件系统应用于闪存存储器。报头为“Journal spacerelease for log-structured storage systems”的第6,128,630号美国专利以及报头为“Data storage library array with log-structured file system whichallows simultaneous write and garbage collection”的第5,530,850号美国专利公开了这种工作记录结构的文件系统。
当文件系统被配置到硬盘驱动器上并存储数据时,工作记录结构的文件系统采用日志存储方法。因此,工作记录结构的文件系统的优点在于,可以利用工作记录格式保持先前数据的版本和新修改的数据。此外,可以使得错误数据恢复为先前数据。
JFFS利用工作记录结构的文件系统配置闪存存储器的文件系统并进行顺序存储。
JFFS是由美国的Axis Communication(http://developer.axis.com/software/jffs)开发的,而且JFFS是在美国的RedHat(http://sources.redhat.com/jffs)的自由软件基金会(FSF)的GUN公开许可(GPL)下开发的。
图1是用于配置闪存存储器的文件系统的JFFS2的存储方法的典型示意图。
在图1中,示出以JFFS方式将数据存储到闪存存储器内的一个例子。如果在特定文件系统中操作目录结构,例如,Linux的EXT2,则存储目录项目(Dir 1 entry),以包括一个目录的一般特征,如图1(a)所示。在此,存储的信息是:目录节点类型、节点总长度、报头的循环冗余校验(CRC)、父信息节点(inode)号、版本值、节点CRC、名称CRC、目录名等。
如图1所示,在目录项目(Dir 1 entry)之后存储目录信息节点(Dir 1 inode)。存储在目录信息节点(Dir 1 inode)上的信息包括:节点类型、总长度、各种CRC、版本值、用户ID、组ID、创建时间、存取时间、修改时间等。
目录项目和目录信息节点是仅在文件系统内使用的附加信息,而不是对用户可见的信息。它们被称为“元数据”。同样,在存储包含在该目录中的文件时,顺序存储文件项目(File 1 entry)和文件信息节点(File 1 inode)。
在该文件系统中,认为目录和文件具有同样的格式。然而,尽管在目录上不存在实际数据,但是在文件信息节点(File 1 node)之后存储文件数据(File 1 data)。
这样,JFFS采用用于对闪存存储器的目录和文件做日志的方法。如图1(b)所示,如果利用新值改变并更新目录信息节点(Dir 1 inode)和文件信息节点(File 1 inode),则将原始元数据变更为无效状态,而将新数据顺序存储到存储位置。
此时,无效状态仅用于表示该数据处于无用状态,而不实际擦除该数据。将新数据的版本值提高一级。因此,如果新数据上出现问题,则仅在存在先前版本的数据时,容易恢复数据。
这样,如果更新目录和文件并多次存储新数据,则闪存存储器的存储空间就达到极限。因此,为了确保存储空间,必须擦除存储在闪存存储器上的数据。由于因为闪存存储器的特性,必须仅利用擦除块擦除数据,所以使有效数据(Dir 1 entry)移动,如图1(c)所示。然后,如果擦除块上充满无效空间,则进行清除操作,以擦除一个擦除块,如图1(d)所示。
获得新存储空间的上述方法被称为“废料收集(garbagecollection)(GC)”。换句话说,在因为没有存储空间而需要保证新存储空间时,通过收集无效空间并利用擦除块单元清除擦除块,来进行废料收集。此外,可以存储利用清除操作产生的新数据的空间被称为“自由空间”。通过获得大的自由空间,可以继续存储数据。
如果硬盘驱动器用作存储介质时,可以以类似的方式存储数据。然而,对于硬盘驱动器,不能使无效数据移动,因此,不能为了获得存储空间而建立具有擦除块大小的无效块。
然而,为了在硬盘驱动器上快速存取文件,采集几个同样的文件,并使它们移动到相邻物理位置。由于硬盘驱动器不需要单独执行清除操作,所以如果存储了新数据的空间处于无效状态,则直接存储数据。
如果执行JFFS存储方法,则项目和信息节点的位置与文件数据混乱地混合在一起。因此,当通过连接和安装闪存存储器和操作系统(OS)配置文件系统时,必须感应闪存存储器的整个空间,而且必须找到元数据,以配置3种目录结构。
在不使用闪存存储器,而利用硬盘驱动器作为存储介质来配置注工作记录结构的文件系统或者日志文件系统时,也出现同样的问题。换句话说,尽管与闪存存储器的情况相同,不需要为了收集擦除块而移动数据,但是存取速度却比闪存存储器慢40-50倍,因为元数据与文件数据混合,而且散布在整个空间内。此外,通过感应其容量大于千兆字节的整个磁盘,配置文件系统花费大量时间。
硬盘驱动器主要利用工作记录结构的文件系统或者日志文件系统存储和再现大量的多媒体数据。然而,如果因为与元数据混合,而不每隔预定时间以匀速传送数据,则多媒体文件系统的可用性降低。
发明内容
因此,本发明涉及一种基本上克服了因为相关技术的局限性和缺点产生的一个或者多个问题的双日志存储方法。
本发明的目的是提供一种双日志存储方法,其中将数据划分为元数据和一般文件数据。从存储介质的开始位置存储文件数据,而从存储介质的结束位置存储元数据。
此外,在本发明的双日志存储方法中,从开始位置向着后部,将元数据存储到该存储介质上,而从结束位置向着前部存储文件数据。
在此,除了元数据和文件数据外,该双日志存储方法可以应用于其它数据和其它第一种和第二种/特性的数据。
在闪存存储器件中从各分区的开始位置存储同一种数据,而从结束位置向着前部存储不同类型的数据。
从开始位置存储的数据被称为“前日志”数据,而从结束位置存储的数据被称为“后日志”数据。
进行存储的位置被称为“报头”,而在日志的后部进行擦除操作的位置被称为“尾标”。换句话说,存在前日志数据的报头和尾标以及后日志数据的报头和尾标。此外,由于在前部和后部的两端均增加了报头,所以前部和后部互相相遇。在此,前部和后部互相相遇的位置被称为“中心位置”。
如果将要存储的数据被输入到闪存存储器件的各分区的文件系统,则该存储介质需要用于实际存储数据的空间和用于存储元数据的空间,例如,文件项目和信息节点,建立文件数据需要它们。
在这种情况下,可以将文件数据和元数据分别存储到前日志和后日志。换句话说,分别从存储介质的前部和后部存储文件数据和元数据,反之亦然。
根据本发明的双日志存储方法,当试图将任意数据存储到存储介质上时,在确定了将数据存储到哪个部分上后,执行存储操作。如果该数据被更新,则使先前数据无效,而将新数据存储到报头的位置。如果该数据被擦除,则仅对该数据标记无效。
如果以同样的方式重复存储和更新,则前日志和后日志互相相遇,使得确定中心位置。如果前部和后部均返回其起始位置并继续处理数据,则它们之一首先到达中心位置。在此时以及后续时间,可以确定首先到达中心位置C的日志具有大量要存储的数据。因此,中心位置C向另一方移动,以增大用于具有大量数据的日志的空间。
对于闪存存储器,日志存储方法的目的是关于存储块适当地分配擦除次数。如果使中心位置移动,则增加具有大量数据的日志。因此,可以关于前部和后部正确分配擦除次数。
此外,根据本发明的闪存存储器件包括:处理器,其用于产生读命令/写命令,用于对RAM的专用位置读/写数据;闪存存储器,其用于提供数据存储空间;以及存储控制器,其用于控制利用在此描述的双日志存储方法存储到存储器上的数据。
此外,根据本发明的双日志存储方法,允许在写操作期间继续读操作的闪存存储器件包括多个分区。各分区可以与其它分区一起(例如,单独)执行读操作、写操作和擦除操作。存储在闪存存储器的各分区内的数据被划分为元数据和一般文件数据。从存储介质,即,各分区的开始位置存储文件数据。同时,从各分区的结束位置向着开始位置存储元数据。
根据本发明的闪存存储器件包括:多分区存储器;多个分区,其由存储器的多个分区提供,其中单独读、写或者擦除被存储的数据;电荷泵,其用于提供读、写和擦除数据所需的多个电压电平;以及多个第一感应放大器,被配置用于读操作,其中可以同时对各分区执行读操作;多个第二感应放大器,其包括至少一个感应放大器,配置该感应放大器用于擦除操作和写操作,其中可以同时对各分区执行擦除操作和写操作,而且从各分区的存储空间的开始位置和结束位置向着各中心部分,将数据存储到各分区上。
从存储空间的开始位置和结束位置向着中心部分存储被存储在各分区上的数据。
此外,根据本发明的移动终端包括:多分区闪存存储器件;多条总线;以及处理器,其连接到总线。此时,多分区闪存存储器件连接到总线,而且处理器可以访问它。
此外,根据本发明的移动终端包括:存储器件,例如,闪存存储器或者硬盘驱动器(HDD);多条总线;以及处理器,其连接到总线。此时,存储器件连接到总线,而且处理器可以访问它。
本发明的其它优点、目的和特征将在随后的说明中部分地描述,经过以下检验或从本发明的实践中学习,上述优点、目的和特征对于本领域的普通技术人员来说是显而易见的。本发明的目的和优点可以如所附说明书及其权利要求书和附图中所特别指出的来实现和获得。
附图说明
附图是为了能进一步了解本发明而包含的,并且被纳入本说明书中构成本说明书的一部分,这些附图示出了本发明的实施例,并用于与本说明书一起对本发明的原理进行说明。
在附图中:
图1是将文件系统配置到闪存存储器内的JFFS2中的存储方法的典型示意图;
图2举例示出根据本发明的实施例,在双日志存储方法中,在前日志数据的报头和后日志数据的报头彼此相遇时确定的中心位置;
图3举例示出在根据本发明的双日志存储方法中确定新中心位置的过程,其中在确定了中心位置后,当后日志的报头首先到达中心位置时,通过使中心位置向后日志移动确定新中心位置;
图4是示出根据本发明实施例的双日志存储方法的流程图;
图5是作为双日志存储方法的一部分的废料收集(GC)过程的流程图;
图6是用于在双日志存储方法的废料收集(GC)过程中确定擦除块数量的曲线图;
图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)示出当因为存储介质上没有存储空间而进行废料收集(GC)时的状态。换句话说,由于数据Data1是有效数据,所以使数据Data1移动到报头,然后,使先前数据Data1无效。如果数据Data1和先前无效数据Data2的尺寸大于擦除块的尺寸,则实际上进行擦除操作,从而获得自由空间。
对于闪存存储器,实际上进行擦除操作。同时,对于磁盘,不需要单独进行擦除操作。
如果获得自由空间,则使对应于前日志的结束部分的尾标T1移动到数据Data3的位置。同样,如果使数据Data6无效,并在数据Data6编为擦除块尺寸后擦除它,则还使后日志的尾标T2移动。
在这种情况下,试图存储新数据Data7。尽管试图将数据Data7存储到前报头H1上作为前日志数据,但是空间不够。
因此,如图2(d)所示,仅存储数据D7-1。在此,数据D7-1对应于可以存储的部分。然后,前报头H1返回开始位置,而存储剩余数据D7-2。
以这种方式,如果前日志遇到后日志,则它返回开始位置,然后,存储它。将前报头H1和后报头H2互相相遇的位置设置为中心位置C。此时,后报头H2也返回结束位置,并等待存储。换句话说,在前日志和后日志上这样存储数据,并且设置中心位置。
当继续这样存储数据时,前报头H1和后报头H2之一首先到达中心位置C。在这种情况下,确定首先到达中心位置C的日志具有大量要存储的数据。
因此,为了增加首先到达中心位置的日志的空间,使中心位置向另一方(party)移动。
图3举例示出在根据本发明的双日志存储方法中确定新中心位置的过程。在图3中,在确定了中心位置后,如果后日志的报头首先到达中心位置,则通过使中心位置向前日志移动确定新中心位置。
参考图3(a),使数据Data3和Data5无效,然后,有效地存储该后日志数据,以便存储数据Data8和Data9。尽管试图存储数据Data10,但是没有存储空间。
换句话说,这是后日志首先到达中心位置C的情况。在此,由于后报头H2不与前报头H1相遇,所以使中心位置C向前部移动,只要在前部存在足够的数据存储空间。
在图5所示的废料收集过程中执行确定前部是否存在足够数据的过程,下面做说明。
为了进行该处理,使前数据D7-1移动到前报头H1,而且还使中心位置C向着前部移动,如图3(b)所示。
此时,对于闪存存储器,向前部移动的数据单元是擦除块单元。
原因是在移动之后,在通过进行清除操作创建自由空间之前,不能存储新数据。
在此,擦除块意味着闪存存储器中一次可以存储的存储单元。通常,存储单元是128千字节或者256千字节。此时,如果对擦除块执行清除操作,则建立自由空间。在此,“自由空间”是可以存储数据的空间,而且“自由空间”意味着具有预定尺寸的自由块。
建立了这种自由空间后,存储新数据Data10。
使中心位置C移动,直到它遇到前报头H1,或者直到在前部存在足够数据存储空间。
图4是示出根据本发明实施例的双日志存储方法的流程图。
换句话说,图4示出诸如在图2和图3中描述的双日志存储方法的流程图,其中该方法包括:存储数据的过程、确定中心位置的过程以及使中心位置移动的过程。
参考图2至4,将前报头H1、后报头H2、前尾标T1、后尾标T2以及中心位置C的初始值基本设置为0(S101)。这是存储前日志数据和后日志数据时的初始状态。
通过缓存器向文件系统请求进行数据存储。如果在这种情况下,向存储介质请求进行数据存储(S102),则利用废料收集(GC)检验存储空间是否足够,下面将参考图5做说明(S103)。
如果确定存储介质的存储空间足够,则该过程直接返回图4所示的流程图。同时,如果存储介质的存储空间不够,则在保证该存储空间之后,该过程返回图4所示的流程图。
然后,检验中心位置C是否是0(S104)。为了检验是否在第一次确定中心位置执行该过程。原因是确定中心位置之前的初始状态下的处理过程与确定中心位置C之后的状态下的处理过程不同。
换句话说,在第一次确定中心位置C,则必须检验一侧的报头是否与另一侧的报头相遇。同时,如果已经确定了中心位置,则必须检验哪个报头首先遇到中心位置C。
根据步骤S104的检验结果,如果中心位置C是0或者不是0,则分别检验该数据是否是前日志数据(S105)。然后,根据相应情况,存储该数据。
假定中心位置C是0,则新存储的数据是前日志数据,即,从存储介质的前部存储该数据,而且其尺寸是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开始存储尺寸S中的可存储尺寸(H2-H1)(S109)。
此外,在这种情况下,像图2(d)所示的那样,确定位置H2作为中心位置,然后,从前日志的开始位置存储该数据的剩余部分[S-(H2-H1)]。
换句话说,如步骤S109所示,中心位置C不再是0,H1变成0,从0开始存储该数据的剩余部分[S-(H2-H1)],而且H1增加[S-(H2-H1)]。这对应于图2(c)和2(d)所示的内容。换句话说,图2(d)中的H1对应于[S-(H2-H1)],而且变成新存储位置。
如果正在存储的数据是后日志数据,则以与上面的描述对称的方式(例如,S106、S108、S109),存储数据(S107)。
此外,在步骤S104,如果中心位置C不是0,则检验正在存储的数据是否是前日志数据(S110)。
在中心位置C不是0时,前日志数据的报头和后日志数据的报头已经互相相遇,使得确定了中心位置。因此,如果正存储的数据是前日志数据,则它必须检验报头(H1+S)是否超过中心位置C。这与上面的描述不同。
此时,如果前日志数据的报头H1+S不超过中心位置C,即,(H1+S)≤C,则意味着存储空间足够(S111)。因此,从位置H1开始存储前日志数据,使得数据的报头从先前位置H1增加到位置H1+S(S112)。
同时,如果不满足(H1+S)≤C,即,如果前日志数据的报头H1+S遇到中心位置C,则从位置H1开始仅存储尺寸S中的可存储尺寸(C-H1)(S114)。
在确定存在大量前日志数据时,为了保证足够空间执行该步骤。通过执行该步骤,可以适当地分配闪存存储器的存储次数。
然而,如果中心位置C向后部移动,则后日志数据的有效数据移动到位置H2。此时,必须检验后部是否存在可存储空间(S115)。换句话说,检验是否存在可以存储S的剩余部分[S-(C-H1)]的存储空间。这对应于在图3(b)描述的内容。
如果在后部存在可存储空间,则将尺寸[S-(C-H1)]的数据移动到位置H2(S116),而且在该位置存储新数据[S-(C-H1)]。通过使D7-1移动到图3(b)中的位置H1可以明白。尽管图3示出中心位置向前部移动的情况,但是其原理同样适用于上述情况。
同时,如果在后部不存在可存储空间,则意味着后部充满数据。因此,中心位置向后部移动和可存储部分一样多的尺寸。剩余部分返回位置“0”(即,H1=0),然后,存储它(S118)。
如果正在存储的数据是后日志数据,则以与上面的描述对称的方式(例如,对应于S111、S112、S114-S228)存储它。
如果存储该数据的过程结束,则执行废料收集(GC)过程。
图5是作为双日志存储方法的一部分的废料收集(GC)过程的流程图。
参考图5,如果请求数据存储,则进行废料收集(GC)过程,以检验是否存在可以存储数据的自由空间。
目前,存储器缓存器中存在存储的数据。如果不存在和要存储的尺寸一样大的自由空间,则利用日志方法使数据移动,然后,在收集了和擦除块一样尺寸的无效空间后,执行清除操作。然后,如果获得用于新数据的最小空间,则首先执行存储过程。到此为止,在图4中,调用第一部分GC处理(S101至S103)。
在存在预定数据尺寸的自由块的状态下,检验缓存器内是否存在数据(S202)。如果缓存器内存在数据,则检验所有数据是否都是前日志数据(S203)。
此时,在对擦除块进行了清除处理之后,形成自由块,而且这意味着可以存储数据的空间。此外,预定尺寸的自由块形成自由空间。
在步骤S203,如果该数据不是前日志数据,则利用与前部同样的方式处理后部(S204)。相反,如果该数据是前日志数据,则检验自由空间是否足够(S205)。
如果该自由空间足够,则结束废料收集(GC)过程。相反,如果该自由空间不够,则使有效空间从前尾标T1移动到前报头H1。此后,在擦除块上获得无效空间,然后,擦除它(S206)。
同时,存储了插入的数据后,再调用GC过程,以在存储空间上获得足够空间。此时,利用图6所示的判定曲线图确定要清除的擦除块的数量。这是在没有数据要存储到存储器缓存器内时执行的。
在这种情况下,如图6所示,如果在该判定曲线图上获得N2个或者更多个自由块,则不再对该擦除块进行清除操作。数值“N2”通常被设置为整个存储空间的约10%。如果当前自由块的数量在N1与N2之间,则清除预定数量的擦除块,以将N2个或者更多个自由块固定为最大值(S207、S208、S210和S211)。
此时,数值N1指用尽自由块的阈值,而且根据其建立该阈值可以被设置为2或者3。换句话说,如果当前系统内只保留2个或者3个自由块,则该系统优选使有效数据移动到其中无效数据与有效数据混合的擦除块中的其它自由块。因此,如果擦除块变成无效块,则通过执行清除过程获得自由空间。
因此,该数值N2被设置为整个闪存存储器内的擦除块数量的约10%。
由于清除闪存存储器的存储器占用的时间比数据存储时间长2至10倍,并且比数据读取时间长100到1000倍,所以频繁执行清除过程造成系统总体变慢的问题。
因此,在认为闪存存储器的空间足够时,不执行清除过程。认为闪存存储器的自由空间足够的程度通常约为10%。在步骤S207,如果当前自由块的数量等于或者小于N1,则优选通过所有操作获得擦除块。如果即使在擦除操作之后,自由擦除块的数量仍等于或者小于N2,则意味着不再有存储空间。
此外,在步骤S210,如果当前自由块的数量等于或者小于N2,则在擦除块内获得无效空间,然后,清除它(S210,S211)。
在初始废料收集(GC)中未获得足够自由空间的原因是因为在收到数据存储请求时,为了获得足够大的自由空间,等待时间变长,同时清除操作需要比读操作或者写操作长的时间周期。
此外,如果在进行清除操作时,收到读操作和写操作的请求,则大多数闪存存储器可以挂起清除操作,而执行高优先权的操作。因此,可以采用该功能。
尽管参考图2至6描述的根据本发明的双日志存储方法可以应用于各种存储介质,但是下面将描述可以应用双日志存储方法的示例性闪存存储介质。
图7是在根据本发明实施例的双日志存储方法中可以应用的闪存存储器的原理框图。
参考图7,根据本发明的闪存存储器件包括:处理器10,其用于产生对RAM 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输出的或者到存储器110的读操作或者写操作的信号。例如,如果存在具有16个I/O的列,则16个I/O一对一地使用16个感应放大器140。
此外,闪存存储器100进一步包括电荷泵150。电荷泵150用于提供对存储器110进行读操作、写操作和擦除操作所需的电压电平。
本发明的闪存存储器配置有一个存储器子集,而且该闪存存储器件由一个块进行读操作或者写操作。因此,该闪存存储器的缺陷在于,用户不能在擦除或者读该存储器的其它块的同时写数据到块。
然而,受闪存存储块的擦除时间(通常为250至500ms)限制的几种应用技术都要求同时操作。例如,移动电话直接执行闪存存储器内的代码。其优点在于,可以擦除为了利用数据存储空间而划分的存储块。
在此,下面将参考图9说明可以解决该问题而且可以应用于本发明的双日志存储方法的闪存存储器件。
图9示出根据本发明实施例的多分区闪存存储器件。
在图9中,分区A 210、B 216、C 225、D 220、E 230、…、n-1235、n 240。
对每个分区分别提供在闪存存储器件中物理分区的单元。在一个实施例中,每个分区分被在不同物理层上提供。各个分区210、216、220、225、230以及240与X解码器和Y解码器相连。
每个Y选择器分别连接到Y解码器290,用于控制它们。在另一个实施例中,在该系统内可以存在多个Y解码器290。
X解码器和Y解码器使得能够在闪存存储器上选择专用区域,用于执行包括读操作、写操作以及擦除操作的存取。尽管有多个X选择器和多个Y选择器,可以对闪存存储器的一个或者多个子集进行存取。
例如,在擦除分区A的同时,执行对分区B写数据的操作和对分区C读数据的操作。每个分区分别包括可以单独擦除的一个或者多个块。因此,例如,在擦除分区B的存储块的同时,可以对分区A的存储器写数据。
通过用户接口250,用户可以控制对闪存存储器200的存取。在一个实施例中,用户接口250可以是闪存存储器本身的一部分。在另一实施例中,用户接口250可以被设置在单独芯片上。该接口包括多个用于控制各并行写操作的状态机。
因此,如果执行两个并行写操作(例如,在更新代码的同时对数据块写数据的操作),则提供两个状态机。如果执行3个并行写操作,则提供3个状态机。
状态寄存器260连接到用户接口250。状态寄存器260指出每个分区的状态。在一个实施例中,如果存在n个分区,则提供n个状态寄存器260。每个分区的状态是“空闲”、“在读”、“在写”以及“在擦除”之任意一个。
此外,感应放大器270连接到用户接口250。感应放大器用于读操作、写操作以及擦除操作。
在一个实施例中,利用与下面的方式相同的方式确定感应放大器270的数量。换句话说,在16位宽的闪存存储器中,对于各个可执行的并行操作,需要16个感应放大器270。例如,如果在写第二分区的同时读第一分区,则需要32个感应放大器270。
此外,如果并行读两个分区,则对于读操作需要32个感应放大器270。感应放大器270的数量是闪存存储器输出列宽度(X)与可执行的并行操作的数量(Y)的乘积的倍数。
在一个实施例中,对于三分区闪存存储器,可以分别读、写和擦除第一、第二和第三分区。在这种情况下,使用3倍的感应放大器。在整个擦除时间,用于擦除操作的感应放大器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。
尽管在移动终端410上示出闪存存储器件430,但是应该明白,闪存存储器件430通常安装在移动终端主体的接收器上。
此外,移动终端包括各种总线和连接到该总线的处理器。本发明的闪存存储器件430连接到总线,而且处理器可以访问闪存存储器件430。
移动终端410在运行中,而且正在执行该代码,执行包括当前激活的代码的分区460。
在本技术领域内,这些代码的用法众所周知。另一分区450含有拨号数据或者音频数据。例如,移动终端410可以含有拨号引向器或者数据分区450内的类似数据。
第三分区470从外部接收新代码440。作为一个例子,可以远程更新第三分区。因此,在操作移动终端时,可以将新代码440写入新代码分区470,而数据分区450用于再现拨号数据。与此同时,可以执行存储在分区460内的代码。
这样,移动终端可以更新无缝移动电话号码、同时更新以及使用移动终端。可以类似地实现诸如无缝代码更新的其它应用领域。
此外,本发明的特征在于,利用所描述的和附图所示的双日志存储方法,可以在各分区上存储数据。
工业应用
根据本发明实施例的双日志存储方法,存储在诸如闪存存储器的存储介质上的数据被划分为元数据和一般文件数据,而且从该存储介质的开始位置,即,各分区存储文件数据。从各分区的结束位置向着开始位置存储元数据。
如果使用本发明实施例的双日志存储方法,则在预定区域内可以保持同一种数据。因此,可以获得快速数据存取时间,而且可以对该闪存存储器的空间适当地分配闪存存储器的擦除时间。
此外,根据本发明的双日志存储方法,如果因为电源故障导致数据错误,则容易使该数据恢复先前版本,从而保证了数据可靠性。
虽然通过如上所述的附图中所示的实施例解释了本发明,本领域普通技术人员应该理解本发明不限于实施例,而是在不脱离本发明的精神的情况下可以做出多种修改或变更。因此,本发明的范围应该仅由所附的权利要求及其等效物所确定。
Claims (26)
1.一种用于将数据存储到存储介质内的双日志存储方法,其特征在于从该存储介质的开始位置和结束位置向着中心部分存储数据。
2.如权利要求1所述的双日志存储方法,其中,当在存储介质内存储类型和特性均不同的两种数据时,该两种数据被分别单独存储为前日志和后日志。
3.如权利要求2所述的双日志存储方法,其中,当前日志和后日志在中心位置彼此相遇时,再分别从开始位置和结束位置存储数据。
4.如权利要求2所述的双日志存储方法,其中,如果第一次前日志的报头和后日志的报头彼此相遇以形成中心位置,然后第二次或者之后再次形成中心位置,则在前日志的报头或者后日志的报头再次到达中心位置时,使中心位置向另一方的日志移动。
5.一种用于将数据插入存储介质的双日志存储方法,包括步骤:
在请求将数据插入存储介质时,如果存储空间不够,则执行废料收集,从而使数据移动并执行擦除操作;以及
完成数据存储后,检验该存储介质内是否存在足够空间,从而获得用于下一个插入的数据的存储空间。
6.一种用于将数据存储到存储介质内的方法,包括步骤:
将数据划分为第一数据和第二数据;以及
从存储介质的开始位置存储第一数据和第二数据之一,而从该存储介质的结束位置向着开始位置存储另一个。
7.如权利要求6所述的方法,进一步包括步骤:
如果存储第一数据和第二数据且其在中心位置彼此相遇,则再次分别从开始位置和结束位置存储相应数据。
8.如权利要求7所述的方法,进一步包括步骤:
在第一次形成中心位置,然后在之后再次形成中心位置时,使中心位置在数据首先到达中心位置的前进方向上移动。
9.一种闪存存储器件,包括:
处理器,其用于产生读命令/写命令,用于从专用地址读数据/写数据到专用地址;
闪存存储器,其用于提供数据存储空间;以及
存储控制器,其用于控制要从数据存储空间的开始位置和结束位置向着中心部分存储在闪存存储器内的数据。
10.一种多分区闪存存储器件,包括:
多分区存储器;
多个分区,其由存储器的多个分区提供,其中单独读、写或者擦除被存储的数据;
电荷泵,其用于提供读、写和擦除数据所需的多个电压电平;以及
多个第一感应放大器,配置其用于读操作,能够同时对各分区执行读操作;
多个第二感应放大器,其包括至少一个感应放大器,配置其用于擦除操作和写操作,能够同时对各分区执行擦除操作和写操作,其中从各分区的存储空间的开始位置和结束位置向着各中心部分将数据存储到各分区上。
11.如权利要求10所述的多分区闪存存储器件,其中如果在存储介质内存储特性不同的数据,则将数据单独存储为前日志和后日志。
12.如权利要求11所述的多分区闪存存储器件,其中,如果前日志和后日志在中心位置彼此相遇,则再从开始位置存储数据。
13.如权利要求11所述的多分区闪存存储器件,其中如果在第一次前日志的报头和后曰志的报头彼此相遇以形成中心位置,然后在第二次或者之后形成中心位置时,则在前日志的报头或者后日志的报头再次到达中心位置时,使中心位置向另一方的日志移动。
14.如权利要求10所述的多分区闪存存储器件,其中,该存储在各分区内的数据被划分为元数据和文件数据,从各分区的开始位置存储文件数据,从各分区的结束位置向着开始位置存储元数据。
15.一种采用多分区存储器的移动终端,包括:
总线;
处理器,其连接到总线
闪存存储器,其连接到总线,且可由处理器访问,该闪存存储器被划分为多个分区,其中单独读、写或者擦除根据各分区存储的数据;
多个第一感应放大器,配置其用于第一操作,可以同时对各分区执行第一操作;
多个第二感应放大器,其包括至少一个感应放大器,配置其用于第二操作,该第二操作能同时对各分区执行,其中从各分区的存储空间的开始位置和结束位置向着各中心部分将数据存储到各分区上。
16.如权利要求15所述的移动终端,其中,如果在存储介质内存储种类和特性不同的数据,则该数据被单独存储为前日志和后日志。
17.如权利要求16所述的移动终端,其中,如果前曰志和后日志在中心位置彼此相遇,则再从开始位置存储数据。
18.如权利要求16所述的移动终端,其中,如果第一次前日志的报头和后日志的报头彼此相遇以形成中心位置,然后之后再次形成中心位置,则在前日志的报头或者后日志的报头再次到达后续中心位置时,使中心位置向另一方的日志移动。
19.如权利要求15所述的移动终端,其中,该存储在各分区内的数据被划分为元数据和文件数据,从各分区的开始位置存储文件数据,从各分区的结束位置向着开始位置存储元数据。
20.一种用于将数据存储到被划分为多个分区的存储器内的双日志存储方法,根据各分区单独读、写或者擦除数据,其特征在于,从各分区的存储空间的开始位置和结束位置向着中心部分存储数据。
21.如权利要求20所述的双日志存储方法,其中,如果在存储介质内存储特性不同的数据,则该数据被单独存储为前日志和后日志。
22.如权利要求21所述的双日志存储方法,其中,如果前日志和后日志在中心位置彼此相遇,则再分别从开始位置和结束位置存储数据。
23.如权利要求21所述的双日志存储方法,其中,如果第一次前日志的报头和后日志的报头彼此相遇以形成中心位置,然后第二次或者之后形成中心位置,则在前日志的报头或者后日志的报头再次到达中心位置时,使中心位置向另一方的曰志移动。
24.如权利要求21所述的双曰志存储方法,其中,该存储在各分区内的数据被划分为元数据和文件数据,从各分区的开始位置存储文件数据,从各分区的结束位置向着开始位置存储元数据。
25.一种在将数据插入闪存存储器的各分区上的情况下,用于将数据存储到被划分为多个分区的存储器上的双日志存储方法,其中根据各分区单独读、写或者擦除数据,该双日志存储方法包括步骤:
在请求将数据插入存储介质时,如果存储空间不够则执行废料收集,从而移动数据并执行擦除操作;以及
完成数据存储后,检验该存储介质内是否存在足够空间,从而获得用于下一个插入的数据的存储空间。
26.一种移动终端,其包括:
总线;
处理器,其连接到总线
存储器,其连接到总线,从存储器读数据/写数据到存储器;
存储控制器,其用于控制要从存储空间的开始位置和结束位置向着中心部分写入的数据。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020083165 | 2002-12-24 | ||
KR10-2002-0083165 | 2002-12-24 | ||
KR10-2002-0083165A KR100483490B1 (ko) | 2002-12-24 | 2002-12-24 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
KR1020030092533A KR101107288B1 (ko) | 2003-12-17 | 2003-12-17 | 다중 분할된 플래시 메모리 장치 및 분할된 메모리에데이터를 저장하기 위한 이중 저널링 저장방법 |
KR10-2003-0092533 | 2003-12-17 | ||
KR1020030092533 | 2003-12-17 | ||
PCT/KR2003/002783 WO2004059624A1 (en) | 2002-12-24 | 2003-12-19 | Dual journaling store method and storage medium thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1732516A true CN1732516A (zh) | 2006-02-08 |
CN1732516B CN1732516B (zh) | 2012-08-29 |
Family
ID=35964272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200380107607XA Expired - Fee Related CN1732516B (zh) | 2002-12-24 | 2003-12-19 | 双日志存储方法及其存储介质 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100483490B1 (zh) |
CN (1) | CN1732516B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104937562A (zh) * | 2013-01-30 | 2015-09-23 | 惠普发展公司,有限责任合伙企业 | 非易失性存储器写入机制 |
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 |
US10482008B2 (en) | 2015-01-23 | 2019-11-19 | Hewlett Packard Enterprise Development Lp | Aligned variable reclamation |
US20220197862A1 (en) * | 2020-12-17 | 2022-06-23 | SK Hynix Inc. | Journaling apparatus and method in a non-volatile memory system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101562794B1 (ko) | 2009-08-04 | 2015-10-26 | 삼성전자주식회사 | 데이터 저장 장치 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JP2003196142A (ja) * | 2001-12-25 | 2003-07-11 | Sony Corp | ライトワンス型メモリ装置及びファイル管理方法 |
-
2002
- 2002-12-24 KR KR10-2002-0083165A patent/KR100483490B1/ko active IP Right Grant
-
2003
- 2003-12-19 CN CN200380107607XA patent/CN1732516B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104937562A (zh) * | 2013-01-30 | 2015-09-23 | 惠普发展公司,有限责任合伙企业 | 非易失性存储器写入机制 |
US9665496B2 (en) | 2013-01-30 | 2017-05-30 | Hewlett Packard Enterprise Development Lp | Non-volatile memory write mechanism |
CN104937562B (zh) * | 2013-01-30 | 2018-04-06 | 慧与发展有限责任合伙企业 | 非易失性存储器写入机制 |
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 |
US10482008B2 (en) | 2015-01-23 | 2019-11-19 | Hewlett Packard Enterprise Development Lp | Aligned variable reclamation |
US20220197862A1 (en) * | 2020-12-17 | 2022-06-23 | SK Hynix Inc. | Journaling apparatus and method in a non-volatile memory system |
US11704281B2 (en) * | 2020-12-17 | 2023-07-18 | SK Hynix Inc. | Journaling apparatus and method in a non-volatile memory system |
Also Published As
Publication number | Publication date |
---|---|
KR100483490B1 (ko) | 2005-04-15 |
KR20040056644A (ko) | 2004-07-01 |
CN1732516B (zh) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297900C (zh) | 数据存储设备、主机设备、数据记录系统及数据管理方法 | |
CN1282089C (zh) | 控制串行快闪存储器中适当执行的装置和方法及相应芯片 | |
CN1516835A (zh) | 数据存储装置 | |
KR101867282B1 (ko) | 비휘발성 메모리 장치의 가비지 컬렉션 방법 | |
US7877540B2 (en) | Logically-addressed file storage methods | |
US8713283B2 (en) | Method of interfacing a host operating through a logical address space with a direct file storage medium | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US20110099324A1 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
AU2003286967B2 (en) | Dual journaling store method and storage medium thereof | |
CN1795437A (zh) | 用于块内页面分组的方法及设备 | |
CN1705936A (zh) | 用于分割一逻辑块的方法及设备 | |
CN1493026A (zh) | 存储装置及利用此存储装置的记录再生装置 | |
US20120131263A1 (en) | Memory storage device, memory controller thereof, and method for responding host command | |
CN1906596A (zh) | 文件记录装置 | |
TWI446349B (zh) | 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器 | |
CN1900919A (zh) | 地址映射方法和映射信息管理方法及其闪速存储器 | |
KR20140050941A (ko) | 비휘발성 메모리 장치의 데이터 관리 방법 | |
CN1538456A (zh) | 闪存存取装置及方法 | |
JP2009519555A (ja) | 論理アドレス形ファイル記憶 | |
US20070136553A1 (en) | Logically-addressed file storage systems | |
CN1947100A (zh) | 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法 | |
US20210311879A1 (en) | Apparatus and method for controlling map data in a memory system | |
CN1732516A (zh) | 双日志存储方法及其存储介质 | |
CN114036079B (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
CN1645516A (zh) | 用于闪速存储器的数据恢复设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120829 Termination date: 20131219 |