CN1306414C - 闪速存储器和闪速存储器的映射控制设备和方法 - Google Patents
闪速存储器和闪速存储器的映射控制设备和方法 Download PDFInfo
- Publication number
- CN1306414C CN1306414C CNB2004100984083A CN200410098408A CN1306414C CN 1306414 C CN1306414 C CN 1306414C CN B2004100984083 A CNB2004100984083 A CN B2004100984083A CN 200410098408 A CN200410098408 A CN 200410098408A CN 1306414 C CN1306414 C CN 1306414C
- Authority
- CN
- China
- Prior art keywords
- state
- piece
- block
- data
- sector
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
一种用于有效访问闪速存储器的映射算法,其中,通过由处理器需要的逻辑操作而改变的块状态信息,根据预定的状态转移算法被写入闪速存储器中,并且当读/写操作时参考被改变的信息。一种根据本发明的闪速存储器的映射控制设备包括:闪速存储器,具有以块为基础划分的区域并且包含表示包括预定数目扇区的每个块的状态的块状态信息;和处理器,用于当需要对闪速存储器的逻辑操作时,基于块状态信息确定在其上预定的逻辑操作将被执行的扇区,并且根据预定状态转移算法来更新块状态信息。
Description
本申请要求于2003年12月10日在韩国知识产权局提交的第10-2003-0089817号韩国专利申请的优先权,该申请全部公开于此以资参考。
技术领域
本发明涉及一种闪速存储器和一种闪速存储器的映射控制设备和方法,更具体地讲,涉及通过基于预定的状态转移算法更新闪速存储器中通过处理器要求的逻辑操作来改变的块状态信息并参照更新的关于读/写操作信息来实行能够有效地访问闪速存储器。
背景技术
闪速存储器,具有RAM(随机存取存储器)的数据能自由地写入并从中删除以及ROM(只读存储器)的在无电源情况下能保持存储在其中的数据的优点。因此,闪速存储器已经作为存储介质广泛应用于便携式电子装置,例如数码相机、PDA和MP3播放器。
在这种闪速存储器中,随机存取可如在传统的RAM、非易失存储装置、磁介质等中被用于存储在特定位置的数据。然而,闪速存储器与现有存储装置的不同在于,在修改或擦除数据处理中以块为基础来获得存取。
换句话说,如果先前的数据被指定修改或者擦除,则要求:包含相应数据的块被擦除,然后数据被再次写入。例如,以同样方式执行通过按“删除”键来完全删除整个词,然后重打修改的词以代替逐个改正字符或字母。
如这里所使用的,术语‘扇区’是指具有物理上连续地址的多个字节。扇区是关于闪速存储器的读/写操作的基本单位。包括多个扇区的块是删除操作的基本单位,其可通过单次擦除操作被擦除。
这种闪速存储器支持逻辑-物理映射方法,通过其即使写在闪速存储器中的一段数据的物理地址由于写之前擦除操作被改变,写在闪速存储器中的该段数据也能用同一逻辑地址被存取。
即,映射方案通过预定的映射表对特定数据段管理关于逻辑地址和物理地址之间映射的信息。映射方案大致地分为扇区映射方法、块映射方法、和混合方法。
图1A示意性地示出了根据传统扇区映射方法的闪速存储器的访问体系结构。
如图1A所示,扇区映射方法在闪速存储器中保持以扇区为基础的映射信息以通过使用逻辑扇区信息能够访问该闪速存储器的物理扇区。
例如,如果逻辑扇区号(LSN)被指定为9,并且对特定数据写操作的请求一起被指定,那么闪速存储器访问装置通过参考映射表来搜索相应于LSN9的物理扇区号(PSN)6。
然后,相关数据被写入闪速存储器的扇区6。如果其他数据已经被写入这个扇区,则该数据被写入闪速存储器的空物理扇区中并且在映射表中相应于LSN 9的PSN被改变。
图1B示意性地示出了根据传统块映射方法的闪速存储器的访问体系结构。
如图1B所示,块映射方法在闪速存储器中保持以块为基础的映射信息并且将逻辑扇区信息转变为逻辑块信息,从而通过使用逻辑块信息和偏移量信息能够访问闪速存储器的物理扇区。
例如,如果LSN被指定为9,并且对特定数据写操作的请求一起被指定,那么闪速存储器访问装置对LSN 9计算逻辑块号(LBN)(即,9/4=2),然后通过参考映射表来获得相应于LBN的物理块号(PBN)。
在这种情况下,数据被写入在通过匹配逻辑块的偏移量与物理块的偏移量而获得的PBN 1中的相应于偏移量1的扇区。
如果其他数据已经被写入此扇区中,则当匹配偏移量时,闪速存储器访问装置将数据写入闪速存储器的空物理扇区中,然后在映射表中改变相应于LBN 2的PBN。
此时,当匹配偏移量时,保持在已有PBN中的有效数据应被复制到新的PBN。
图1C示意性地示出了根据传统混合映射方法的闪速存储器的访问体系结构。
如图1C所示,混合映射方法像在块映射方法中一样执行以块为基础单元的映射,然后在物理块中存储扇区映射信息以获得扇区映射的特性。
例如,如果LSN被指定为9,并且对特定数据写操作的请求一起被指定,那么闪速存储器访问装置对LSN 9计算LBN(即,9/4=2),然后通过参考映射表来获得相应于该LBN的PBN 1。
其后,闪速存储器访问装置在PBN 1的空扇区中写数据并且写LSN 9。
在这些传统的映射方法中,因为存在许多在闪速存储器中以扇区为基础的保持所需要的映射信息,所以扇区映射方法实际被应用到闪速存储器是有困难的。
因此,新近技术基于需要较少的映射信息的块映射方法。
然而,因为在块映射方法中应匹配偏移量,所以如果写操作频繁发生在同一扇区中,那么新的块应被分配以在同一扇区中写数据,并且甚至同一块中不同扇区的有效数据以及相关扇区的有效数据应被复制。因此,存在问题在于写和擦除操作频繁发生,引起系统性能的显著降低。
同时,尽管块映射发生之后由于扇区映射信息的存储,所以混合映射方法不需要匹配偏移量,但是仍然存在用于写扇区映射信息的预定存储容量应被保证的问题,因此与块映射方法相比,需要的存储量增加。
为了解决现有技术中的上述的问题,先前提出的标题为“管理闪速存储器的方法”的公开号为2002-0092487的韩国已公开专利揭示通过分配特定记录块并将数据写入该记录块中来甚至在频繁更新数据的环境中防止系统性能下降,其在更新处理中需要写操作。然而,因为在将写在记录块中的数据传送到数据块的处理中需要写/擦除操作,所以由于重复的写操作公开的本发明不足以防止闪速存储器系统性能的降低。
因此,存在对访问闪速存储器的方法的需要,该方法通过减少包括在由处理器请求的写操作中的写/擦除操作的数量来使闪速存储器系统的性能的提高能够实现。
发明内容
因此,本发明的目的在于解决上述问题。本发明的主要目的在于提供一种用于有效访问闪速存储器的映射算法,其中,通过由处理器要求的逻辑操作改变的块状态信息根据预定状态转移算法被写入闪速存储器中,并且当读/写操作时参考改变的信息。
本发明的另一目的在于不需匹配偏移量,使用通过现有的块映射算法的闪速存储器访问方法能够访问闪速存储器。
本发明的另一目的在于通过使用状态转移算法通过状态信息将擦除操作次数最小化来提高闪速存储器系统的全部性能。
本发明的目的在于基于表示块的状态的块状态信息来确定在对闪速存储器的预定逻辑操作期间在其上将执行逻辑操作的扇区,并且访问该确定的扇区。
此外,本发明的目的在于根据预定状态转移算法更新块状态信息,该块状态信息基于访问该确定的扇区的结果来改变。
在本发明中,状态转移算法表示通过预定逻辑操作而改变的块的状态。块的状态包括:第一状态,其中,数据没有被写入该块中;第二状态,其中,当匹配扇区偏移量时,预定数据被写入第一状态中;第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;第四状态,其中,第二状态中的数据被写入整个块;和第五状态,第三状态或第四状态中的有效数据被传送到新的块,因此写在先前块中的数据不再有效。
以下,结合实施例描述本发明的配置和操作,第一状态定义为自由(Free)(以下,称为“F”),第二状态定义为M,第三状态定义为N,第四状态定义为源(Source)(以下,称为“S”),和第五状态定义为旧的(Old)(以下,称为“O”)。包含相应块状态信息的块被分别地定义为块F、块M、块N、块S、和块O。
根据本发明的一方面,提供了一种包括以其每个包括预定数目扇区的块为基础而划分的区域的闪速存储器,其中闪速存储器包含表示每个块的状态并且被用于确定在其上逻辑操作将被执行的扇区的块状态信息。
根据本发明的另一方面,提供了一种闪速存储器的映射控制设备,包括:闪速存储器,其包括以块为基础而划分的区域,并且包含表示包括预定数目扇区的每个块的状态的块状态信息;和处理器,用于当需要对闪速存储器进行逻辑操作时,基于块状态信息来确定在其上预定的逻辑操作将被执行的扇区,并且根据预定状态转移算法来更新块状态信息。
根据本发明的另一方面,提供一种闪速存储器的映射控制方法,包括以下步骤:如果在闪速存储器的指定逻辑扇区上需要预定的逻辑操作,那么通过参考映射表来搜索相应于该逻辑扇区的物理块;基于该物理块的块状态信息来确定在其上逻辑操作将被执行的扇区;和访问该确定的扇区以执行逻辑操作。
附图说明
通过下面结合附图对示例性实施例进行的描述,本发明的上述和其他目的、特点和优点将会变得更加清楚,其中:
图1A至1C是分别示出根据用于访问闪速存储器的传统方法中的控制方案的操作处理的闪速存储器的方框图;
图2是示意性地示出根据本发明实施例的基于闪速存储器的系统的视图;
图3是示意性地示出根据本发明实施例的用于基于闪速存储器的系统的软件结构的视图;
图4是示意性地示出根据本发明实施例的状态转移算法中的状态转移处理的视图;
图5是示意性地示出根据本发明实施例的写操作处理的流程图;
图6是示意性地示出根据本发明实施例的读操作处理的流程图;
图7是示意性地示出根据本发明实施例的使用映射表的写操作处理的视图;和
图8A至8C是示意性地示出根据本发明实施例的在闪速存储器中的块转移处理的视图。
具体实施方式
以下,将参照附图来详细描述根据本发明的闪速存储器和该闪速存储器的映射控制设备及方法。
首先,参照附图结合实施例来详细描述根据本发明的包括闪速存储器的基于闪速存储器的系统的结构和操作和该闪速存储器的映射控制设备。
图2是示意性地示出根据本发明实施例的基于闪速存储器的系统的视图。
如图2所示,该系统包括闪速存储器100、系统存储器300和处理器500。
闪速存储器100包括每个是擦除操作的基本单元的块。每个块包含多个其每个是写/读操作的基本单元的扇区。
此外,闪速存储器100包含表示每个块的状态的块状态信息,其被用于确定在其上逻辑操作例如写或读操作将被执行的扇区。
块状态信息被写入在其中写入关于闪速存储器100的信息的元块(meta-block)中,或写入在每个块的存储区域之中分配的预定区域(例如,备用的区域)中。
系统存储器300包含用于访问闪速存储器的访问代码。能够支持原地执行(XIP)的存储器例如RAM或ROM被用作系统存储器。
处理器500使用写在系统存储器300中的闪速存储器访问代码来访问闪速存储器100。如果要求预定逻辑操作,则处理器500将逻辑扇区地址转变为用于访问闪速存储器的物理块地址,并且基于关于相应于该物理块地址的相关块的块状态信息来确定在其上逻辑操作将被执行的扇区,从而执行该逻辑操作。
此外,如果要求预定逻辑操作,则处理器500确定根据预定状态转移算法通过逻辑操作而被改变的每个块的块状态信息,并且基于确定的块状态信息来更新写在闪速存储器100中的关于相关块的块状态信息。
根据各块的状态信息,块被分类为:块F,其中数据不被写入该块中;块M,其中通过匹配扇区偏移量,预定的数据被写入块F中;块N,其中不匹配扇区偏移量,预定的数据就被写入块M中;块S,其中块M的数据被写入整个块中;和块O,其中块N或块S中的有效数据被传送到新的块,从而写入先前块中的数据不再有效。
状态转移算法执行交换合并(swap merge)操作,通过其如果块M被充分地使用,则另外的块F被分配以执行最近要求的写操作,进行现有块M到块S的转移然后新的数据被写入块F中。
此外,状态转移算法执行智能合并(smart merge)操作,通过其如果块N被充分地使用,则另外的块F被分配以执行新近要求的写操作,只有写在现有的块N中的数据之中的有效数据被写在块F中,并且现有块N到块O的转移被进行。
根据该智能合并操作数据被写入新的块F中,当扇区偏移量被匹配时块F到块M的转移被进行,并且通过预定擦除操作进行块O到块F的转移。
图3是示意性地示出根据本发明实施例的基于闪速存储器的系统的软件体系结构的视图。
如图3所示,根据本发明的软件体系结构粗略地包括:应用程序模块(应用程序),用于根据基于闪速存储器的系统的文件系统对特定文件执行逻辑操作;闪速存储器的映射控制装置模块,用于访问由在应用程序模块中执行的逻辑操作需要的闪速存储器中的数据;和闪速存储器模块(闪速存储器),用于响应于映射控制装置的访问控制来写或读相关数据。
闪速存储器的映射控制装置模块包括:文件系统,用于通过根据由应用程序模块需要的逻辑操作访问闪速存储器模块来访问闪速存储器;和闪速转换层(FTL),用于把给定的逻辑扇区号(LSN)转变为作为闪速存储器中的实际地址的物理地址以能够以文件系统来访问闪速存储器。
图4是示意性地示出根据本发明实施例在状态转移算法中的状态转移处理的视图。
如图4中所示,对闪速存储器100的特定块的状态转移处理以在其中不写入数据的块F开始。
如果处理器500请求在块F上的写操作,则处理器500确定在其上写操作将被执行的扇区。当要求被写的数据的扇区偏移量匹配时,处理器500进行从块F到块M的块状态信息的转移(a)。
根据由处理器500请求的写操作来进行块M到块S或到块N的转移。换句话说,如果由于重复的具有匹配的扇区偏移量的数据的写操作导致在块M内不存在可用于写操作的扇区,那么执行交换合并操作以分配另外的块F,并且引起从块M到块S的转移(b)。
此外,如果要求在数据已经被写入其中的块M的扇区上执行写操作,则处理器500确定任意的扇区作为在其上写操作将被执行的扇区,进行从块M到块N的块状态信息的转移(c),然后在确定的扇区中写入数据。
如果块S的数据不再有效,那么处理器500进行从块S到块O的块状态信息转移(d)。
另外,如果由于重复的不具有匹配的扇区偏移量的数据的写操作导致在块N内不存在可用于写操作的扇区,那么智能合并操作将被执行以仅将有效的数据写入新分配的块F中,并且进行从块N到块O的块状态信息转移(e)。
进行块O到块F的转移作为由处理器500请求的预定擦除操作的结果(f)。
用于参考,在根据本发明实施例的闪速存储器和闪速存储器的映射控制设备中,全部或一些模块可用硬件或软件来实现,或者一些模块可用软件来实现。
因此,很明显用硬件或软件来实现根据本发明实施例的闪速存储器和闪速存储器的映射控制设备落于本发明的精神,并且在不脱离本发明精神的情况下,可以对用硬件和/或软件对其的实现进行各种修改和变换。
参照附图结合实施例对闪速存储器的映射控制方法进行详细描述,使用根据本发明的基于闪速存储器的系统通过该方法访问闪速存储器。
在描述根据本发明的闪速存储器的映射控制方法中,因为初始化处理与现有的处理相同所以将省略对初始化处理的描述。
因此,将首先对通过根据本发明的映射控制方法的写操作处理进行描述,然后将对通过该映射控制方法的读操作处理进行描述。
1、写操作处理
图5是示意性地示出根据本发明实施例的写操作处理的流程图。
如图5所示,如果需要对具有特定逻辑扇区号的数据进行写操作,则处理器500首先基于指定的逻辑扇区号(以下,称为“逻辑扇区”)来计算逻辑块号(以下,称为“逻辑块”)。
然后,处理器500通过在初始化处理中获得的映射表来搜索相应于计算的逻辑块的物理块号(以下,称为“物理块”),并且从关于相关物理块的块状态信息中确定是否需要合并操作(S1)。
即,如果由于在相关物理块上的重复的写操作导致在相关物理块中不存在可用于写操作的扇区,则将确定是否需要交换或者智能合并操作以分配在其中数据将被写入的新的块。
如果确定需要合并操作,则根据相关物理块的特征来执行合并操作(S2)。
换句话说,如果写在映射表中的相关物理块的当前状态是块M,则处理器500执行用于进行从块M到块S的转移的交换合并操作。如果相关物理块的当前状态是块N,则处理器500执行通过其新的块F被分配的智能合并操作,仅块F中的有效数据被检测并写入,并且块F到块M的转移被进行。
如果确定不需要合并操作或者合并操作被执行,则处理器500通过映射表确定在其上需要写操作的逻辑块是否具有块M或者块N(S3)。
如果确定逻辑块具有块M或块N,则处理器500搜索块M或块N以找到与在其上需要写操作的数据的偏移量信息相匹配的扇区,并且确定相关扇区是否为空(S4)。
如果确定相关扇区为空,则处理器500将在其上需要写操作的数据写入相关扇区中(S5)。如果确定相关扇区不为空,则处理器500确定相关块是否为块M(S6)。
如果确定相关块是块M,则进行关于相关物理块M的到块N的块状态信息转移(S7)。如果确定相关块不是块M或者进行了从块M到块N的块状态信息转移,则处理器500不匹配扇区偏移量而在块N中选择任意的扇区并且写入数据(S8)。
如果确定逻辑块不具有块M或块N,则由于没有数据已被写入相应于计算的逻辑块的物理块或者已经执行了合并操作,所以处理器500分配在其中将写入数据的新的块F(S9)。
紧接着,处理器500进行分配的块F到块M的转移(S10),并且当匹配扇区偏移量时将需要接受写操作的数据写入块M中(S11)。
2、读操作处理
图6是示意性地示出根据本发明实施例的读操作处理的流程图。
如图6所示,如果需要对具有特定逻辑扇区号的数据进行读操作,则处理器500首先基于指定的逻辑扇区来计算逻辑块。
紧接着,处理器500通过在初始化过程中获得的映射表来搜索相应于计算的逻辑块的物理块,并且确定在其上需要进行读操作的逻辑块是否具有块M或块N(S20)。
如果确定该逻辑块不具有块M或块N,则处理器500通过映射表来确定该逻辑块是否具有块S(21)。
如果确定该逻辑块具有块S,则处理器500搜索块S以找到与在其上需要读操作的数据的偏移量信息相匹配的扇区,并且读出写在相关扇区中的数据(S22)。
如果确定该逻辑块不具有块S,则处理器500确定在其上需要读操作的数据不存在于闪速存储器100中并且产生读错误消息(S23)。
如果确定该逻辑块具有块M或N,则处理器500确定相应于该逻辑块的物理块是否具有块M(S24)。
如果确定相应于该逻辑块的物理块不具有块M,则处理器500确定相应于在其上需要进行读操作的逻辑扇区的扇区是否存在于块N中(S25)。
如果确定相关扇区存在于块N中,则处理器500读出写在块N的相关扇区中的数据(S26)。如果确定相关扇区不存在于块N中,则处理器500确定相应于该逻辑块的物理块是否具有块S(S27)。
如果确定相应于该逻辑块的物理块具有块S,则处理器500读出写在相关扇区中的数据(S28)。如果确定相应于该逻辑块的物理块不具有块S,则处理器500确定在其上需要读操作的数据不存在于闪速存储器100中并且产生读错误消息(S29)。
如果确定相应于逻辑块的物理块是块M,则处理器500确定在其上需要进行读操作的扇区是否存在于块M中(S30)。
如果确定相关扇区存在于块M中,则处理器500从块M的相关扇区中读出数据(S31)。如果确定相关扇区不存在于块M中,则处理器确定在其上需要进行读操作的逻辑块是否具有块S(S32)。
如果确定该逻辑块不具有块S,则处理器500确定在其上需要进行读操作的数据不存在于闪速存储器100中,并且产生读错误消息(S33)。
如果确定逻辑块具有块S,则处理器500搜索块S以找到与在其上需要进行读操作的数据的偏移量信息相匹配的扇区,并且读出写在相关扇区中的数据(S34)。
结合附图通过举例对根据本发明实施例的闪速存储器和闪速存储器的映射控制设备和方法进行详细描述。
图7是示意性地示出根据本发明实施例的使用映射表的写操作处理的视图。
在根据本发明的映射表中,一个逻辑块相应于可达两个的物理块,并且该两个物理块可以是块S与块M或块N的组合。
如图7所示,如果需要对在逻辑扇区9(LSN=9)中的数据进行写操作,则处理器500计算逻辑块和逻辑块9的偏移量值(LBN:9/4=2;偏移量:1)。
在这种情况下,处理器500搜索相应于通过参考映射表计算的逻辑块(LBN=2)的物理块,以及该物理块(a)的状态。
紧接着,处理器500基于相关物理块的块状态信息来确定是否需要合并操作。
如果相关物理块是块1并且具有写入其是块M的块的所有扇区中的数据,则处理器500进行从块M到块S的转移,并且执行通过其用于写数据中的块F被分配的交换合并操作。
如果物理块2(PBN=2)通过交换合并操作作为新的块F被分配,则处理器500当匹配偏移量时在新分配的物理块2中写入将对其进行写操作的数据,并且在映射表中更新相应于逻辑块(LBN=2)的物理块和状态信息。
换句话说,处理器500在映射表中更新的逻辑块(LBN=2)物理块(PBN=1)的块状态从M到S(M→S),和更新新分配的物理块(PBN=2)的块状态从F到M(F→M)。
例如,当闪速存储器100的一个块包括如图8A所示的四个扇区时,如果需要按照扇区偏移量0、1、2、3和0的顺序在特定逻辑扇区上进行写操作,则处理器500从特定逻辑扇区计算逻辑块。
紧接着,处理器500搜索相应于通过参考映射表计算的逻辑块的物理块,并且识别搜索到的物理块的块状态信息以根据该块状态信息来确定在其上写操作将被执行的扇区。
如果相关物理块是块F,则处理器500根据偏移量信息来在相关物理块中写入数据。
具体地讲,处理器500进行从块F到块M的块状态信息的转移,然后按照扇区偏移量0、1、2、3和0的顺序在相关物理块的每个扇区中写入数据。
在这种情况下,因为一个块包括四个扇区,所以如果数据被写入扇区0、1、2和3中,则在相关块中不存在可用于写操作的可获得的扇区。因此,处理器500通过交换合并操作来分配另外的块F,并且进行从块M到块S的块状态信息的转移(1)。
紧接着,处理器500进行从块F到块M的附加分配的块F的块状态信息的转移,然后在相关扇区中写入具有为0的扇区偏移量的数据(2)。
如图8B所示的另一个例子,处理器500在需要在特定逻辑扇区上按照扇区偏移量0、1、2、3、0、1、2、3和0的顺序进行写操作的情况下从逻辑扇区计算逻辑块。
紧接着,处理器500搜索相应于通过参考映射表计算的逻辑块的物理块,并且识别搜索到的物理块的块状态信息以根据该块状态信息来确定将在其上执行写操作的扇区。
如果相关物理块是块F,则处理器500根据偏移量信息来将数据写入相关物理块。
具体地讲,处理器进行从块F到块M的块状态信息转移,然后按照扇区偏移量0、1、2、3、0、1、2、3和0的顺序在相关物理块的每个扇区中写入数据。
在这种情况下,因为一个块包括四个扇区,所以如果数据被写入扇区0、1、2和3,则在相关块中不存在可用于写操作的扇区。因此,处理器500通过交换合并操作来分配另外的块F,并且进行从块M到块S的块状态信息转移(1)。
紧接着,处理器500进行从块F到块M的附加分配的块F的块状态信息转移,然后在附加分配的块M中写入具有为0、1、2和3的扇区偏移量的数据。
其后,因为在相关块中不存在可用于写操作的扇区并且块S中的数据不再有效,所以处理器500进行从块S到块O的块S的块状态信息转移,通过交换合并操作分配另外的块F,并且进行从块M到块S的先前附加分配的块的块状态信息转移(2)。
然后,处理器500再次进行从块F到块M的附加分配的块F的块状态信息的转移,然后在相关扇区中写入具有为0的扇区偏移量的数据(3)。
如图8C所示的另一例子,处理器500在需要在特定的逻辑扇区按照扇区偏移量0、0、0、0和1的顺序进行写操作的情况下从逻辑扇区计算逻辑块。
紧接着,处理器500搜索相应于通过参考映射表计算的逻辑块的物理块,并且识别搜索到的物理块的块状态信息以根据该块状态信息来确定在其上写操作将被执行的扇区。
如果相关的物理块是块F,则处理器500根据偏移量信息将数据写入相关物理块中。
即,处理器500进行从块F到块M的块状态信息的转移,然后按照扇区偏移量0、0、0、0和1的顺序在相关物理块的每个扇区中写入数据。
在这种情况下,因为数据已经在执行第二写操作处理中被写在物理块的相关扇区中,所以处理器500进行从块M到块N的物理块的块状态信息的转移,选择任意扇区并且将需要对其进行写操作的数据写入选择的扇区中。
以这种方式,如果在其中扇区偏移量不匹配的写操作被重复执行,并因此在相关物理块中不存在可用于写操作的扇区,则处理器500通过交换合并操作来分配另外的块F并且进行从块N到块O的转移(1)。
紧接着,处理器500进行从块F到块M的附加分配的块F的块状态信息转移,在写入块N的数据之中仅仅检测有效的数据,并且将它们写入块M的相关扇区中。
换句话说,在写入块O中具有为0的扇区偏移量的数据之中仅仅最后写入的数据段被读取,然后被写入附加分配的块M的扇区0中。此外,具有为1的扇区偏移量的数据被写入相关扇区(2)。
根据本发明,在执行所需的用于闪速存储器中的逻辑扇区的写/读操作的过程中,通过预定的状态转移算法来确定在其上相关操作将被执行的扇区,从而最小化所需在特定逻辑块上的写操作的擦除操作,并且最大化闪速存储器系统性能。
尽管本发明是结合附图中所示的实施例来详细描述的,但它们仅仅是示例性的。本领域的技术人员应该理解,在不脱离本发明的精神和范围的情况下,可以对其进行各种修改和等同物。因此,本发明的范围应由所附权利要求限定。
Claims (26)
1、一种闪速存储器,包括:
被分成多个块的区域,每个块包括预定数目的扇区,
其中,闪速存储器包含表示每个块的状态并且被用于确定在其上逻辑操作将被执行的特定扇区的块状态信息,根据预定状态转移算法来确定块状态信息,表示的状态至少是下面中的一个:
第一状态,其中,数据不被写入该块;
第二状态,其中,当匹配扇区偏移量时,预定的数据被写入第一状态;
第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;
第四状态,其中,第二状态中的数据被写入整个块;和
第五状态,其中,第三状态中或第四状态中的有效数据被传送到新的块,因此写入先前块中的数据不再有效,
其中,状态转移算法执行交换合并操作,通过其第一状态中的另外的块被分配以执行第四状态中最近要求的写操作。
2、如权利要求1所述的闪速存储器,其中,擦除操作进行从第五状态到第一状态的转移。
3、如权利要求1所述的闪速存储器,其中,块状态信息被写入块或写有关于该闪速存储器的信息的元块中。
4、一种闪速存储器,包括:
被分成多个块的区域,每个块包括预定数目的扇区,
其中,闪速存储器包含表示每个块的状态并且被用于确定在其上逻辑操作将被执行的特定扇区的块状态信息,根据预定状态转移算法来确定块状态信息,表示的状态至少是下面中的一个:
第一状态,其中,数据不被写入该块;
第二状态,其中,当匹配扇区偏移量时,预定的数据被写入第一状态;
第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;
第四状态,其中,第二状态中的数据被写入整个块;和
第五状态,其中,第三状态中或第四状态中的有效数据被传送到新的块,因此写入先前块中的数据不再有效,
其中,如果相关块的所有的扇区被用于第三状态,则状态转移算法执行通过其第一状态中的另外的块被分配以执行最近要求的写操作的智能合并操作,并且在写入先前块中的数据之中仅仅有效的数据被检测然后被写入分配的附加块中。
5、如权利要求4所述的闪速存储器,其中,如果有效的数据被写入,则智能合并操作通过进行从第一状态到第二状态的分配的块的块状态信息的转移和从第三状态到第五状态的先前块的块状态信息的转移来执行。
6、如权利要求4所述的闪速存储器,其中,擦除操作进行从第五状态到第一状态的转移。
7、如权利要求4所述的闪速存储器,其中,块状态信息被写入块或写有关于该闪速存储器的信息的元块中。
8、一种闪速存储器的映射控制设备,包括:
闪速存储器,包括被分为多个块的区域并且包含表示包括预定数目扇区的每个块的状态的块状态信息;和
处理器,当需要对闪速存储器的逻辑操作时,可操作以基于块状态信息来确定在其上预定逻辑操作将被执行的扇区,并且根据预定状态转移算法来更新块状态信息,
其中,每个块的状态至少包括下面中的一个:
第一状态,其中,数据不写入该块中;
第二状态,其中,当匹配扇区偏移量时,预定的数据被写入第一状态;
第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;
第四状态,其中,第二状态中的数据被写入整个块;和
第五状态,其中,第三状态中或第四状态中的有效数据被传送到新的块,因此写入先前块中的数据不再有效,
其中,状态转移算法执行通过其第一状态中的另外的块被分配以执行在第四状态中最近要求的写操作的交换合并操作。
9、如权利要求8所述的设备,其中,块状态信息被写入块或写有关于闪速存储器信息的元块中。
10、如权利要求8所述的设备,其中,处理器将预定的数据写入根据逻辑操作确定的扇区中或从该扇区读取数据,并且基于更新的块状态信息通过擦除操作来擦除块中的非有效数据。
11、如权利要求8所述的设备,其中,擦除操作进行第五状态到第一状态的转移。
12、一种闪速存储器的映射控制设备,包括:
闪速存储器,包括被分为多个块的区域并且包含表示包括预定数目扇区的每个块的状态的块状态信息;和
处理器,当需要对闪速存储器的逻辑操作时,可操作以基于块状态信息来确定在其上预定逻辑操作将被执行的扇区,并且根据预定状态转移算法来更新块状态信息,
其中,每个块的状态至少包括下面中的一个:
第一状态,其中,数据不写入该块中;
第二状态,其中,当匹配扇区偏移量时,预定的数据被写入第一状态;
第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;
第四状态,其中,第二状态中的数据被写入整个块;和
第五状态,其中,第三状态中或第四状态中的有效数据被传送到新的块,因此写入先前块中的数据不再有效,
其中,如果相关块的所有扇区被用于第三状态,则状态转移算法执行通过其第一状态中的另外的块被分配以执行新近要求的写操作的智能合并操作,并且在写入先前块中的数据之间仅仅有效的数据被检测并且然后被写入分配的块中。
13、如权利要求12所述的设备,其中,块状态信息被写入块或写有关于闪速存储器信息的元块中。
14、如权利要求12所述的设备,其中,处理器将预定的数据写入根据逻辑操作确定的扇区中或从该扇区读取数据,并且基于更新的块状态信息通过擦除操作来擦除块中的非有效数据。
15、如权利要求12所述的设备,其中,如果有效的数据被写入,则智能合并操作通过进行从第一状态到第二状态的分配的块的块状态信息的转移和从第三状态到第五状态的先前块的块状态信息的转移来执行。
16、如权利要求12所述的设备,其中,擦除操作进行第五状态到第一状态的转移。
17、一种闪速存储器的映射控制方法,包括:
如果需要对闪速存储器的特定逻辑扇区执行预定的逻辑操作,则通过参考映射表来确定相应于该逻辑扇区的第一物理块;
基于第一物理块的块状态信息,确定在其上逻辑操作将被执行的扇区;和
访问确定的扇区以执行逻辑操作。
18、如权利要求17所述的方法,还包括:
搜索相应于所述逻辑扇区的第二物理块;
从该逻辑扇区计算第二逻辑块;和
通过映射表搜索相应于计算出的第二逻辑块的第三物理块。
19、如权利要求17所述的方法,其中,确定在其上逻辑操作将被执行的扇区的步骤包括:
基于第一物理块的块状态信息,选择具有匹配的扇区偏移量的扇区。
20、如权利要求17所述的方法,其中,确定在其上逻辑操作将被执行的扇区的步骤包括:
基于第一物理块的块状态信息,选择具有不匹配的扇区偏移量的扇区。
21、如权利要求17所述的方法,其中,访问确定的扇区以执行逻辑操作的步骤包括:
通过预定的状态转移算法确定由逻辑操作改变的第一物理块的块状态信息;和
基于确定的块状态信息来更新第一物理块的块状态信息,
其中,状态至少包括下面中的一个:
第一状态,其中,数据不被写入第一物理块中;
第二状态,其中,当匹配扇区偏移量时,预定的数据被写入第一状态;
第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;
第四状态,其中,第二状态中的数据被写入整个第一物理块;和
第五状态,其中,第三状态中或第四状态中的有效数据被传送到新的块中,并因此写入第一物理块中的数据不再有效,
其中,状态转移算法执行通过其第一状态中的另外的块被分配以执行在第四状态中最近要求的写操作的交换合并操作。
22、如权利要求21所述的方法,其中,擦除操作进行第五状态到第一状态的转移。
23、如权利要求17所述的方法,其中,访问确定的扇区以执行逻辑操作的步骤包括:
通过预定的状态转移算法确定由逻辑操作改变的第一物理块的块状态信息;和
基于确定的块状态信息来更新第一物理块的块状态信息,
其中,状态至少包括下面中的一个:
第一状态,其中,数据不被写入第一物理块中;
第二状态,其中,当匹配扇区偏移量时,预定的数据被写入第一状态;
第三状态,其中,不匹配扇区偏移量,预定的数据就被写入第二状态;
第四状态,其中,第二状态中的数据被写入整个第一物理块;和
第五状态,其中,第三状态中或第四状态中的有效数据被传送到新的块中,并因此写入第一物理块中的数据不再有效,
其中,如果相关块的所有扇区被用于第三状态中,则状态转移算法执行通过其在第一状态中的另外的块被分配以执行最近要求的写操作的智能合并操作,并在写入第一物理块中的数据之中仅仅有效的数据被检测,并且然后被写入分配的块中。
24、如权利要求23所述的方法,其中,如果有效的数据被写入,则智能合并操作通过进行从第一状态到第二状态的分配的块的块状态信息的转移和从第三状态到第五状态的第一物理块的块状态信息的转移来执行。
25、如权利要求23所述的方法,其中,擦除操作进行第五状态到第一状态的转移。
26、如权利要求17所述的方法,其中,块状态信息被写入第一物理块或写有关于该闪速存储器的信息的元块中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR89817/03 | 2003-12-10 | ||
KR1020030089817A KR100608602B1 (ko) | 2003-12-10 | 2003-12-10 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
KR89817/2003 | 2003-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1627271A CN1627271A (zh) | 2005-06-15 |
CN1306414C true CN1306414C (zh) | 2007-03-21 |
Family
ID=34511209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100984083A Active CN1306414C (zh) | 2003-12-10 | 2004-12-10 | 闪速存储器和闪速存储器的映射控制设备和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7287117B2 (zh) |
EP (1) | EP1542129A3 (zh) |
JP (1) | JP3827682B2 (zh) |
KR (1) | KR100608602B1 (zh) |
CN (1) | CN1306414C (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607016B2 (en) * | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US7395384B2 (en) * | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
KR100703727B1 (ko) * | 2005-01-12 | 2007-04-05 | 삼성전자주식회사 | 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법 |
KR100684942B1 (ko) * | 2005-02-07 | 2007-02-20 | 삼성전자주식회사 | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 |
US8819088B2 (en) * | 2005-07-14 | 2014-08-26 | International Business Machines Corporation | Implementing storage management functions using a data store system |
KR100801072B1 (ko) * | 2005-09-30 | 2008-02-11 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 맵핑 장치 및 방법 |
KR100843133B1 (ko) * | 2006-09-20 | 2008-07-02 | 삼성전자주식회사 | 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법 |
KR100849221B1 (ko) | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
KR100843135B1 (ko) * | 2006-11-20 | 2008-07-02 | 삼성전자주식회사 | 비휘발성 메모리 관리 방법 및 장치 |
KR100794312B1 (ko) * | 2006-12-27 | 2008-01-11 | 삼성전자주식회사 | 명령어 자동 처리 유니트를 포함한 메모리 컨트롤러 및그를 포함한 메모리 시스템 |
KR101447188B1 (ko) * | 2007-07-31 | 2014-10-08 | 삼성전자주식회사 | 플래시 메모리에 최적화된 입출력 제어 방법 및 장치 |
JP4535117B2 (ja) | 2007-11-06 | 2010-09-01 | ソニー株式会社 | メモリ装置、メモリ管理方法、およびプログラム |
KR100950281B1 (ko) | 2008-02-28 | 2010-03-31 | 아주대학교산학협력단 | 플래시 메모리 시스템 및 플래시 메모리의 데이터 연산방법 |
TWI370969B (en) | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
CN101567849B (zh) * | 2009-04-30 | 2011-09-21 | 炬才微电子(深圳)有限公司 | 一种数据缓存方法和装置 |
CN102279815A (zh) * | 2010-06-13 | 2011-12-14 | 宇瞻科技股份有限公司 | 以快闪存储器为基础的存储装置及其数据写入方法 |
CN102541777B (zh) * | 2010-12-13 | 2015-08-19 | 深圳市硅格半导体有限公司 | 基于DMA映射的Flash数据传输控制方法及装置 |
KR102034626B1 (ko) * | 2013-06-26 | 2019-10-21 | 삼성전자 주식회사 | 메모리 동작을 제어하는 방법 및 장치 |
KR102402783B1 (ko) * | 2015-05-11 | 2022-05-27 | 삼성전자 주식회사 | 전자 장치 및 이의 페이지 병합 방법 |
CN106325764B (zh) * | 2015-07-08 | 2021-02-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
KR20170012629A (ko) * | 2015-07-21 | 2017-02-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180001681A (ko) * | 2016-06-27 | 2018-01-05 | 에스케이하이닉스 주식회사 | 메모리 시스템, 이의 어드레스 맵핑 방법 및 억세스 방법 |
KR102698994B1 (ko) * | 2018-12-03 | 2024-08-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381176B1 (en) * | 2000-10-11 | 2002-04-30 | Samsung Electronics Co., Ltd. | Method of driving remapping in flash memory and flash memory architecture suitable therefor |
CN1362708A (zh) * | 2001-01-02 | 2002-08-07 | 吴秀林 | 一种闪存芯片的读写方法 |
JP2002366423A (ja) * | 2001-06-04 | 2002-12-20 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
Family Cites Families (11)
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 |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
JP3604466B2 (ja) * | 1995-09-13 | 2004-12-22 | 株式会社ルネサステクノロジ | フラッシュディスクカード |
US6014724A (en) | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5745418A (en) | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
KR100577380B1 (ko) | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
US7617352B2 (en) | 2000-12-27 | 2009-11-10 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6948026B2 (en) | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
JP3818130B2 (ja) | 2001-11-14 | 2006-09-06 | 日本電信電話株式会社 | データ管理方法及び装置及びデータ管理プログラム及びデータ管理プログラムを格納した記憶媒体 |
-
2003
- 2003-12-10 KR KR1020030089817A patent/KR100608602B1/ko active IP Right Grant
-
2004
- 2004-03-31 JP JP2004106982A patent/JP3827682B2/ja not_active Expired - Fee Related
- 2004-07-19 US US10/893,344 patent/US7287117B2/en active Active
- 2004-12-01 EP EP04257479A patent/EP1542129A3/en not_active Withdrawn
- 2004-12-10 CN CNB2004100984083A patent/CN1306414C/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381176B1 (en) * | 2000-10-11 | 2002-04-30 | Samsung Electronics Co., Ltd. | Method of driving remapping in flash memory and flash memory architecture suitable therefor |
CN1362708A (zh) * | 2001-01-02 | 2002-08-07 | 吴秀林 | 一种闪存芯片的读写方法 |
JP2002366423A (ja) * | 2001-06-04 | 2002-12-20 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1542129A3 (en) | 2008-08-13 |
US20050132127A1 (en) | 2005-06-16 |
US7287117B2 (en) | 2007-10-23 |
KR100608602B1 (ko) | 2006-08-03 |
JP3827682B2 (ja) | 2006-09-27 |
CN1627271A (zh) | 2005-06-15 |
EP1542129A2 (en) | 2005-06-15 |
JP2005174279A (ja) | 2005-06-30 |
KR20050056761A (ko) | 2005-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1306414C (zh) | 闪速存储器和闪速存储器的映射控制设备和方法 | |
CN1256732C (zh) | 快闪存储器及其控制方法 | |
US7882301B2 (en) | Wear leveling in storage devices based on flash memories and related circuit, system, and method | |
CN1297900C (zh) | 数据存储设备、主机设备、数据记录系统及数据管理方法 | |
CN1315057C (zh) | 重映射闪速存储器的方法 | |
US8275928B2 (en) | Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables | |
CN1197021C (zh) | 便携式信息处理终端设备及其文件管理方法 | |
CN1295622C (zh) | 地址映射方法和映射信息管理方法及其闪速存储器 | |
CN1295706C (zh) | 非易失存储器、记录装置和记录方法 | |
JP4424965B2 (ja) | 不揮発性メモリシステム内においてアウトオブシーケンス書き込みプロセスを効果的に可能にするための方法および装置 | |
CN1781075A (zh) | 电子文件更新期间的设备存储器管理 | |
CN1538456A (zh) | 闪存存取装置及方法 | |
CN1285042C (zh) | 用于传送内容数据的内容服务器和方法 | |
CN1648876A (zh) | 闪速存储器的数据管理设备和方法 | |
CN1606097A (zh) | 闪速存储器控制装置、存储器管理方法、及存储器芯片 | |
CN1701307A (zh) | 管理擦除计数区块的方法和设备 | |
CN1504896A (zh) | 在非易失性存储器系统中执行块高速缓冲存储的方法和装置 | |
CN1696888A (zh) | 记录介质、主机设备及数据处理方法 | |
CN1517947A (zh) | 非易失性存储器 | |
CN101055589A (zh) | 嵌入式数据库的存储管理方法 | |
CN1701308A (zh) | 维护非易失性存储系统中的擦除计数 | |
CN1516835A (zh) | 数据存储装置 | |
CN1720590A (zh) | 非易失性存储系统中的自动磨损平衡 | |
CN1701389A (zh) | 维持非易失性存储系统中的平均擦除计数 | |
CN1922571A (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 |