提高Nand型快闪存储器数据存取速度的方法

文档序号:6573987阅读:141来源:国知局
专利名称:提高Nand型快闪存储器数据存取速度的方法
技术领域
本发明涉及电数字数据处理,特别涉及在带存贮器系统内的数据存取技术, 尤其涉及Nand型快闪存储器的数据存取方法。
背景技术
非易失快闪(Hash)存储器的出现改变了原先由EPROM和EEPROM —统存储 器天下的局面。它主要包括Nor型和Nand型,其中较晚出现的Nand型闪存(本文对"快 闪存储器"的简称)具有更高的性能。
所述Nand型闪存的架构如图l所示,包括以自然数m为例的若干个块(block),所述 块是Nand型闪存擦除成空块(可正确写入数据的状态)的最小单位。 一个块由以自然数n 为例的若干个页(Page)组成; 一个页由以自然数k为例的若干个段(Sector)组成;每 个段又包括了 512个字节(BYTE)长的数据区(系统管理操作闪存的基本单位)和16个字节 长的冗余区,其中数据区用来存放数据;冗余区用来存放私有标志数据,包括用于检错并 纠正错误的特征码。对于确定型号的Nand型闪存来说,以韩国三星(Samsung)公司的 K9F4G08U0M为例,可以很方便地确定上述参数如下 1页=(2K + 64)字节
1块=(128K + 4K )字节=64 x ( 2K + 64 )字节 1闪存芯片=4. 224M比特=4096 x 64 x ( 2K + 64 )字节 则所述自然数m = 4096, n = 64, k = 4。
涉及Nand型闪存数据存取的寻址方式,即定位到某个字节所在位置的物理地址,是由 闪存芯片接口的行(Row)和列(Column)地址来唯一确定。所述行地址就是各所述页的物 理序号,从0开始(本文中设所有的序号值都是从O开始计);列地址指所述字节在相应页 内的位置偏移量。由此推及,块的行地址指的是该块起始页的物理序号,例如,第g个块 的行地址为gxn,其中n如上所述为一个块所包括的页数。
为了编程方便,程序中一般使用逻辑地址来指示相关操作字节的位置。例如块的逻辑地 址为所有(除坏块之外的)可用块在使用时被赋予的一个序号,它可以作为标志数据之一 被写入到如上所述的冗余区中。图2示意了往逻辑地址u的块(设当前对应的块物理地址 为i)内第二区域写数据的操作过程如图2a所示,先找到一个空的可用块j;再依次将 块i内第一区域的数据拷贝到块j中的对应区域(见如图2b),将要新写的数据写到块j 中的第二区域(见如图2c),将块i内第三区域的数据拷贝到块j中的对应区域(见如图 2d);最后如图2e所示,将块i擦除成空块,因为前述写操作写数据区的同时,也进行冗 余区的写入,因此块j冗余区的内容包括了逻辑地址u,从而当前逻辑地址u与物理块j 相对应。同样,程序在读取Nand型闪存的数据时,是根据其逻辑地址来查找出对应的物理 地址,从而提供行、列地址对芯片进行读操作。
随着容量的增大,Nand型闪存所承载的数据量也越大,对其存取速度的要求也越高 例如微软公司新发布操作系统Vista对相关存储设备要求达到2. 5MB/s或以上的4KB数据 读取速度,1.75MB/s或以上的512KB数据随机写速度。为了避免块数较多情况下逻辑序号 过大,通常将一片闪存划分成若干区(Zone),每一区包括2n'(n'是自然数)个块,从而 在一个区的范围内对块进行逻辑序号分配。申请号为02116147的中国发明专利申请公开了 一种提高存取速度的方法,具体是在系统开机时以区为单位建立该区块逻辑地址与物理 地址的关系对照表,并将其储存在RAM中;当系统传送一待查逻辑地址至该RAM,该RAM由 所述关系对照表中得到一对应物理地址;及或搜寻每一区,直至取得对应物理地址为止。
上述现有技术的不足之处在于当所述块数或区数较多时,若仅建立当前区的关系对 照表,则当要操作的某段数据不在当前区范围内时,得逐一读取新的区中各可用物理块的 逻辑地址来建立该区的关系对照表,该建立过程需要耗费一定的时间。尤其是当操作段的 地址呈随机变化时,若很频繁地进行所述关系对照表的建立,将严重影响操作速度。为解 决该问题,若采用建立全部区的关系对照表并将它们都存放在RAM中的方法,又会占据相 当的RAM资源,从而现有技术提高存取速度的成本非常高。此外,当要往一确定物理地址 的块中更新一部分数据时,系统往往需要将没有更新的部分数据先保存到RAM中,再擦除 这个块,最后将保存的RAM和要新写的数据写入到该块;系统若没有足够的RAM将无法完 成该更新搡作过程。同时,系统闪存容量的不确定性还导致系统RAM大小的难以确定。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足而提出一种方法,用较 低成本来实现对Naild型快闪存储器数据存取速度的提髙。
为解决上述技术问题,本发明的基本构思为,提高数据存取速度的关键在于避免频繁 的关系对照表建立过程,因此可以考虑直接在Nand型闪存上保存事先建立的各区关系对照 表,这样在需要使用时,读入相关区的关系对照表来更新RAM中的当前对照表,就可以尽 可能少占用RAM资源的同时提高数据存取速度。
作为实现本发明构思的技术方案是,提供一种提高Nand型快闪存储器数据存取速度的 方法,尤其是,包括步骤
A. 以该快闪存储器的区为单位建立各自的块逻辑地址与物理地址关系对照表,并将各 所述关系对照表储存在该快闪存储器中;
B. 当系统传送一待查逻辑地址至随机存取存储器时,该随机存取存储器利用当前区关 系对照表或新读入的欲操作区关系对照表来查得对应的物理地址。
上述方案中,步骤A各关系对照表的建立包括初始建立,是在生产所述快闪存储器时, 初始化扫描所有物理块,并针对每个区分别建立和写入的; 或者是在系统每次开机或 复位时,读所述快闪存储器每一可用物理块的逻辑地址并针对每个区分别建立和写入的。
上述方案中,步骤A各关系对照表的建立包括更新建立,是关系对照表在随机存取存
储器中发生了变化后被写回到该表的存储空间;或者是在当前区不存在有效的关系对照
表时,通过读取该区内每个可用物理块的逻辑地址来重新建立关系对照表并写入该区对应 对照表的存储空间。
上述方案中,所述关系对照表在随机存取存储器中发生了变化后,是经过预定的定时
时间间隔后才被写回到所述快闪存储器中的该表存储空间; 或者是系统判断对所述快闪 存储器的存取搡作区将发生变换时,被写回到所述快闪存储器中的该表存储空间。
上述方案中,所述各关系对照表在所述快闪存储器中的存储空间分别为一个物理块。 所述各物理块分别为所述快闪存储器各关系对照表对应区中的指定块。
上述方案中,各所述关系对照表分别占用所述对应物理块中一个物理页的空间。
上述方案中,所述关系对照表在所述块中采用轮换页的更新建立方法。
上述方案中,步骤B中所述新读入欲搡作区关系对照表的方法是,根据一预先建立在随 机存取存储器的有效页位置指示表来定位并读取该欲操作区的有效关系对照表到所述随机 存取存储器中的。
上述方案中,随机存取存储器在新读入所述关系对照表前,需要对由所述有效页位置
指示表指明的有效对照表进行有效性确定;若确定无效,则通过读取该对照表对应操作区 内每个可用物理块的逻辑地址来重建并更新该对照表。
采用上述各技术方案,可以提高数据存取速度,同时不占用系统过多的随机存取存储 器资源,从而节省了解决成本。此外,采用轮换页方法可以进一步提高速度,采用检查有 效性方法增加了方案的可靠性。因此,本发明方法有较强的实用性。


图l是现有Nand型闪存的存储架构示意图
图2是现有往预定逻辑地址写入部分块数据的操作过程示意图 图3是本发明实施例使用关系对照表的方法具体流程示意图 图4是本发明实施例更新RAM中关系对照表的流程示意图
具体实施方式
下面,结合附图所示之最佳实施例进一步阐述本发明。
本发明提高Nand型闪存数据存取速度的方法有别于现有技术的地方在于包括步骤
A. 以该闪存的区为单位建立各区的块逻辑地址与物理地址关系对照表,并将各所述 关系对照表储存在该闪存中;可以是分散存储在各表各自的对应区内,或集中存 储在所述闪存的指定区内,或以其它方式存储,同时系统约定各对照表与相应区 的位置对应关系即可。
B. 当系统传送一待查逻辑地址至随机存取存储器时,该随机存取存储器利用当前区 或新读入操作区的所述关系对照表来查得对应的物理地址。如果所述待查逻辑地 址所对应的操作区与当前一致,则使用当前关系对照表,否则随机存取存储器将 读入并使用与该待查逻辑地址相对应的操作区的关系对照表。
所述步骤A建立各关系对照表,可以分成两种情况 一种是指对各对照表的初始建立, 可以是在所述闪存生产时,由上层生产软件初始化扫描该闪存,根据每一物理块的情况, 针对每个区建立一个块逻辑地址与物理地址的关系对照表,并写入到与该区对应位置的对 照表存储空间中;也可以是在系统每次开机或复位时,读所述闪存每一可用物理块的逻辑 地址来建立各区的块逻辑地址与物理地址关系对照表,并写入到所述空间,这种方式将使 复位初始化的时间随总块数的增加而变长。另一种是指对各对照表的更新建立,是在任一 关系对照表有变化需要更新时进行,可以将随机存取存储器中发生了变化的关系对照表写 回其在闪存中的存储空间。
依据数据长度, 一个关系对照表存放在闪存中可以只占用一个物理块,甚至一个物理 页的空间。为了提高系统处理速度,可以将所述各物理块分别指定为所述快闪存储器各关 系对照表对应区中的特定块,例如但不限于各区的第0个好块。由于一个块有n个页,为 了减少往块中写入数据的擦除过程,本发明对关系对照表釆用轮换页的最佳更新建立方法, 即把关系对照表写回到预定块中时,是将原存放页中的对照表标记为失效状态,再将新关 系对照表写入到原存放页的下一可用页中;仅当该块被写满时才执行擦除操作,并又从该 块的起始可用页(例如但不限于页O)开始写入更新的关系对照表。这样,预定块擦除一次 之后对相应区的对照表更新记录可以多达n次,大大减少关系对照表的建立时间。所述表 示失效或有效状态的标记可以存放在页的预定冗余区中。
相应的,所述步骤B中随机存取存储器在利用当前区或读入相应区的关系对照表前, 需要进行关系对照表的有效性确定。以关系对照表分散存储在各表各自对应区的指定块为 例,方法之一是,在系统每次复位初始化时,对各区中存放关系对照表的指定块进行扫描, 找到这些块中具有有效标志的对照表的所在页,以各所在页的偏移值建立一个和区相对应 的有效页位置指示表,并将该表存于随机存取存储器中,供以后的搡作来快速定位各区有 效关系对照表的位置。这种方式会占用系统一部分随机存取存储器资源,并延长复位初始 化的时间,但可以提高平时的存取处理速度。方法之二是,系统仅当要操作某个区时,才 去该区的指定块中查找哪个页所存放的关系对照表为有效,并将该有效关系对照表读到随 机存取存储器中使用。该方式会因执行所述查找过程而降低一点速度,但不占用系统的随 机存取存储器资源。所述各关系对照表以其它方式存储时,在上述两种处理方式中加以考虑各对照表与相应区位置对应关系的系统约定即可;下面的实施例中对此情形不再重复说明。
上述两种方式都需要采用一些特殊的查找算法来加快查找有效关系对照表的速度,如 二分法。因其有大量的现有査找技术可引用,不再赘述。
所述随机存取存储器(Random Access Memory,简写为RAM)可以是现有的所有类型, 包括一般外接系统控制器的SDRAM或SRAM。图3以内置RAM为例再现了本发明使用关系对 照表的一个最佳实施例。当系统发起一个逻辑写操作时,先计算当前要操作的闪存存储区, 访问该区存放关系对照表的块,确定有效对照表的所在页,并读取该表到RAM后将该页的 表标记为无效;根据由所述RAM中对照表得到的物理地址来执行写数据操作,直到当前发
起的逻辑写完成,此时该RAM中的所述对照表已更改,为了尽可能减少对闪存的写操作, 本实施例釆用定时进行所述关系对照表更新建立的方法,据此将对更新标志进行标记来提 醒对照表需要更改和开始定时计时;在定时时间到达之前,系统若检测到有新发起的逻辑 写操作且该操作还是针对当前区时,则转而继续进行写操作、以及上述标记更新标志和开 始定时计时的过程;当定时时间到达,或定时时间到达之前系统检测到有新发起的针对其
它区的逻辑写操作(即系统判断对所述快闪存储器的存取操作区将发生变换)时,系统将
把RAM中所述已更改的对照表更新到闪存当前区内,具体是若当前所述页不是指定块的 最后一页时,将该对照表写入到该页的下一页,否则擦除该块并将该对照表写入到该块的 页0;并相应地标记该对照表为有效,复位系统的更新标志。
图4是该实施例中更新RAM中关系对照表的流程示意图。当系统计算出当前要操作 的闪存存储区后,先判断RAM中存在的是否该区的关系对照表;若不是则进一步判断该区 有效对照表在指定块中的偏移值是否为已知,若为已知则从该偏移值所对应的页中读取对 照表,否则采用快速算法经多次判断后确定最终的偏移值。考虑到更新一个区的关系对照 表时系统可能会出现意外,例如指定块被判断为写满后需要擦除该块以便从头开始写时, 若此时产生包括断电之类的异常将使得该指定块中不会出现一个被标记为有效的关系对照 表。为了避免这种情况的出现, 一般情况下,随机存取存储器在新读入一个关系对照表前, 需要对由前述有效页位置指示表指明的有效对照表进行有效性确定。具体到本实施例,则
将对所述已确定偏移值处的关系对照表进行有效性判断,若判断为无效,则意味着当前指 定块不存在有效的关系对照表,必须通过读取该区内每个可用物理块的逻辑地址来重建该 区的关系对照表。
经试验证明,本发明方法可以在系统不增加RAM资源的前提下,提高Nand型闪存的数 据存取速度。
权利要求
1.一种提高Nand型快闪存储器数据存取速度的方法,其特征在于,包括步骤A.以该快闪存储器的区为单位建立各自的块逻辑地址与物理地址关系对照表,并将各所述关系对照表储存在该快闪存储器中;B.当系统传送一待查逻辑地址至随机存取存储器时,该随机存取存储器利用当前区关系对照表或新读入的欲操作区关系对照表来查得对应的物理地址。
2. 根据权利要求l所述提高Nand型快闪存储器数据存取速度的方法,其特征在于步骤A各关系对照表的建立包括初始建立,是在生产所述快闪存储器时,初始化扫 描所有物理块,并针对每个区分别建立和写入的;或者是在系统每次开机或复位时,读所述快闪存储器每一可用物理块的逻辑地址 并针对每个区分别建立和写入的。
3. 根据权利要求l所述提高Nand型快闪存储器数据存取速度的方法,其特征在于步骤A各关系对照表的建立包括更新建立,是关系对照表在随机存取存储器中发生 了变化后被写回到该表的存储空间;或者是在当前区不存在有效的关系对照表时,通过读取该区内每个可用物理块的逻 辑地址来重新建立关系对照表并写入该区对应对照表的存储空间。
4.根据权利要求l所述提高Nand型快闪存储器数据存取速度的方法,其特征在于所述关系对照表在随机存取存储器中发生了变化后,是经过预定的定时时间间隔后才被写回到所述快闪存储器中的该表存储空间;或者是系统判断对所述快闪存储器的存取操作区将发生变换时,被写回到所述快闪存储器中的该表存储空间。
5. 根据权利要求l 4任一条所述提高Nand型快闪存储器数据存取速度的方法,其特征在 于所述各关系对照表在所述快闪存储器中的存储空间分别为一个物理块。
6. 根据权利要求5所述提高Nand型快闪存储器数据存取速度的方法,其特征在于所述各物理块分别为所述快闪存储器各关系对照表对应区中的指定块。
7. 根据权利要求5所述提高Nand型快闪存储器数据存取速度的方法,其特征在于各所述关系对照表分别占用所述对应物理块中一个物理页的空间。
8. 根据权利要求7所述提高Nand型快闪存储器数据存取速度的方法,其特征在于所述关系对照表在所述块中采用轮换页的更新建立方法,即把新关系对照表写回到 块中时,是将原存放页中的对照表标记为失效状态,并将该新关系对照表写入到原存放 页的下一可用页中;仅当该块被写满时才执行擦除操作,并又从该块的起始可用页开始 写入所述新关系对照表。
9. 根据权利要求8所述提高Nand型快闪存储器数据存取速度的方法,其特征在于步骤B中所述新读入欲操作区关系对照表的方法是,根据一预先建立在随机存取存 储器的有效页位置指示表来定位并读取该欲操作区的有效关系对照表到所述随机存取 存储器中的;该有效页位置指示表指明各有效关系对照表所在页在对应块中的偏移值、 该对应块与各区的对应关系。
10. 根据权利要求9所述提高Nand型快闪存储器数据存取速度的方法,其特征在于随机存取存储器在新读入所述关系对照表前,需要对由所述有效页位置指示表指明的有效对照表进行有效性确定;若确定无效,则通过读取该对照表对应操作区内每个可用物理块的逻辑地址来重建并更新该对照表。
11.根据权利要求l所述提高Nand型快闪存储器数据存取速度的方法,其特征在于步骤B中随机存取存储器在利用当前区或欲操作区的关系对照表前,需要进行所述关 系对照表的有效性确定;若确定无效,则通过读取该对照表对应操作区内每个可用物理 块的逻辑地址来重建并更新该对照表。
全文摘要
一种提高Nand型快闪存储器数据存取速度的方法,包括步骤以区为单位建立该快闪存储器各区的块逻辑地址与物理地址关系对照表,并将所述关系对照表储存在该快闪存储器中;当系统传送一待查逻辑地址至随机存取存储器时,该随机存取存储器利用当前区或读入相应区的所述关系对照表来查得对应的物理地址。使用本发明,可以尽可能少占用RAM资源的同时提高对Nand型闪存的数据存取速度,从而实现成本低,实用性强。
文档编号G06F12/06GK101344867SQ20071007599
公开日2009年1月14日 申请日期2007年7月13日 优先权日2007年7月13日
发明者祝绪阳, 蔡华波, 邓恩华 申请人:深圳市江波龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1