CN101329656A - 一种Nand-Flash存储***的管理方法 - Google Patents

一种Nand-Flash存储***的管理方法 Download PDF

Info

Publication number
CN101329656A
CN101329656A CNA2008100254888A CN200810025488A CN101329656A CN 101329656 A CN101329656 A CN 101329656A CN A2008100254888 A CNA2008100254888 A CN A2008100254888A CN 200810025488 A CN200810025488 A CN 200810025488A CN 101329656 A CN101329656 A CN 101329656A
Authority
CN
China
Prior art keywords
physical
page
logical
write
block
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
Application number
CNA2008100254888A
Other languages
English (en)
Other versions
CN101329656B (zh
Inventor
何咏
赵海源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xinultra Electronic Technology Co., Ltd.
Original Assignee
WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd filed Critical WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd
Priority to CN2008100254888A priority Critical patent/CN101329656B/zh
Publication of CN101329656A publication Critical patent/CN101329656A/zh
Application granted granted Critical
Publication of CN101329656B publication Critical patent/CN101329656B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机Nand-Flash存储***的管理方法。将多个物理块形成逻辑块链;在各物理块第一物理页的扩展区域,存放物理块的块号及其前向物理块块号信息,***初始化时,通过存放的上述信息,重建出逻辑块链的双向链表。读操作时,利用双向链表从后往前搜索,读取目标物理块,读取的物理页号和逻辑页号相同。写操作时,利用双向链表从前往后搜索,只要找到该逻辑块链上已使用页数小于所请求写入逻辑页号的第一个物理块,就直接将数据写入该物理块所请求写入的逻辑页;如果所有的物理块已使用页数都大于所请求写入的逻辑页号,则在逻辑块链上添加一个空闲物理块,将有效页数据复制到当前新空闲物理块中,再写入当前页的数据。

Description

一种Nand-Flash存储***的管理方法
技术领域
本发明涉及计算机存储***的管理方法,尤其涉及计算机Nand-Flash(非易失闪存)存储***的管理方法。
背景技术
Nand-Flash存储***是一种非易失闪存存储***,Nand-Flash存储***具有很快的写入和擦除速度,主要功能是存储资料,其在U-盘、数码相机、MP3、MP4、手机、GPS接收装置等手持移动装置中得到了广泛的应用。
传统的Nand-Flash存储***是主要基于单层单元(SLC,即Single LayerCell)Flash器件的存储***,但是近两年随着Flash器件工艺的改进,不但原有的基于单层单元(SLC)Flash器件的Nand-Flash存储***在访问控制上有了变化,还出现了新型的基于多层单元(MLC,即Multiple Layer Cell)Flash器件的Nand-Flash存储***,并且由于后者在相同成本下有两倍的容量优势,将替代基于单层单元(SLC)Flash器件的Nand-Flash存储***。传统单层单元Flash器件与基于多层单元(MLC)Flash器件在物理接口和内部特性上都有很大不同,因此传统Flash器件存储***的存储管理方法在速度和稳定性上都已不能与新型Flash器件相适应。例如,现有技术关于对基于单层单元(SLC)Flash器件的Nand-Flash存储***的管理方法中,使用了前向链表和页替换写入的技术,来实现闪存的逻辑物理地址转换,该技术的不足之处在于:其中使用前向链表就必须发生物理页面的局部写入和再次写入,不能使物理页面一次性写入;而其中使用的页替换写入的技术会导致同一物理块内的页面非顺序写入。在新型的基于多层单元(MLC)Flash器件的Nand-Flash存储管理方法中,上述页面的局部写入和再次写入以及同一物理块内的页面非顺序写入这样的访问是受到严格限制的,因为其无法保证数据的完整性。
发明内容
本发明针对现有技术中的不足,提供一种基于多层单元(MLC)Flash器件的Nand-Flash存储***的管理方法,其既能满足物理页面一次性写入的要求,又能保证同一物理块内的页面按顺序写入,从而在实现闪存的逻辑物理地址转换时,能保证数据的完整性。
本发明是通过以下技术方案实现的:
一种Nand-Flash存储***的管理方法,动态的将多个物理块对应到一个逻辑块,形成一个由各物理块构成的逻辑块链;在每个物理块的第一物理页的扩展区域,分别存放该物理块所对应的逻辑块号信息和在逻辑块链中它的前一个物理块的块号信息,在***初始化时,通过存放的上述信息,重建出与所述逻辑块链对应的双向链表,在模块正常工作时,依据所述双向链表进行数据的读写操作。
进一步,依据所述双向链表进行数据的写操作时,具体步骤如下:
(1)、使每个逻辑页写入的物理页号与逻辑页号一致;
(2)、在逻辑块链中的每个物理块可以全写满,也可以局部被写入,但必须满足每个物理块最后一个被写入的页前面的所有页也被写入过,它后面的所有页都是空闲页。
(3)、依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链中从前往后搜索,只要找到该逻辑块链上已使用物理页数小于所请求写入逻辑页号的第一个物理块,就直接将数据写入该物理块的所请求写入逻辑页;如果请求写入的逻辑页号小于该逻辑块链的最后一个物理块的已使用物理页号,则在逻辑块链上新添加一个空闲物理块,将所请求写入逻辑页之前的所有有效页数据复制到当前新空闲物理块中,再在所请求写入的逻辑页上写入数据。
更具体地说,依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链中从前往后正向搜索,当在该逻辑块链上找到已使用物理页号小于所请求写入逻辑页号的第一个物理块,按下述方法直接将数据写入该物理块:在该物理块上所述已使用物理页号与所请求写入逻辑页号之间的所有页面空间,复制填入该物理块的前向物理块中相应页面空间的物理页上的数据,然后再在所请求写入逻辑页号上写入数据;或者,依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链中从前往后搜索,如果所有的物理块已使用物理页号都大于所请求写入的逻辑页号,则在逻辑块链上新添加一个空闲物理块,按下述方法将数据写入该空闲物理块:在所请求写入逻辑页之前的所有页面空间,复制填入该空闲物理块的前向物理块中相应页面空间的物理页上的数据,然后再在所请求写入逻辑页号上写入数据。
进一步,依据所述双向链表进行数据的读操作时,具体步骤如下:
在所述双向链表对应的逻辑块链中自后往前反向搜索,找到第一个写入页数不小于当前请求的读操作逻辑页号的物理块,即为有效的读取目标物理块,在该目标物理块上读取和当前请求的读操作逻辑页号相同的物理页号,即得到所需数据。
当一个逻辑的长度超过设定的门限值或者***需要更多可用的空闲物理块时,执行回收操作,具体步骤如下:
从该逻辑块链中的最后一个物理块开始自后往前反向搜索,假设最后一个物理块使用到第N页,则由倒数第二个物理块的第N+1页开始复制,复制到该物理块的第一个空闲页为止;然后依次寻找前一个使用过的页数大于当前已复制页数的物理块,再继续在该物理块的相应页复制它的数据,复制到该物理块的第一个空闲页为止,直到最后一个物理块的最后一页被填满为止,最后,释放掉原逻辑块链的除最后一块的所有物理块。
上述技术方案中:
所述逻辑块号是指该模块面像上层调用所虚拟出来的块号,其中模块是指整个Nand-Flash管理***在上层***看来只是一个标准的块设备(即以块为单位,每个单位可以单独读写的存储设备);
物理块号,是指该模块所管理的Nand-Flash物理设备的块号(属于Nand-Flash管理***的存储区中用于寻址的编号);
逻辑块链,是指同一逻辑块由多个物理块与之对应,这些物理块从前往后虚拟连接成的一条链式结构;
所述的双向链表,是指在内存中存放的物理块号对应关系表,该表是由储存在Nand-Flash每一页的扩展区域的逻辑块号和前向替换物理块号信息重建得出的;
所述的逻辑页号,是指逻辑地址对应在逻辑块内的页号;比如,需要访问的逻辑地址为0x00201000,假设该Nand-Flash的物理块大小为256KB,页大小为2KB,则逻辑地址0x00201000对应的是第8块的第2页(0x00201000=256K*8+2K*2),那我们称该逻辑地址对应的逻辑块号为8,逻辑页号为2。该逻辑块号8,但在读写时可能对应到不同的物理块,所谓逻辑页号和物理页号一致是指,无论该逻辑地址对应到那个物理块,其对应的物理页号始终为2,和逻辑页号一致。
所述的物理页号,是指Nand-Flash存储器物理块内的页号(属于Nand-Flash管理***的存储区中用于寻址的编号);
所述的第一物理页是指:每个Nand-flash管理***的存储区域分为N物理块,每个块又分为X页,每一页分为两部分区域,一部分为普通的数据区,另一部分为的信息区,两个区域都可存放数据。第一物理页就是指的每一物理块的第一页。
所述的有效的读取目标物理块,是指在一个逻辑块链中,某目标逻辑页有效数据所存放的那个物理块;目标逻辑页号是指上层发出读写请求的页号,也就是整个向上层虚拟出来的逻辑页号,而非底层真正的物理页号,由于本算法在逻辑页和物理页映射上使用的一一映射,所以逻辑页号和物理页号相等;
所述的空闲物理块,是指没有参与到某个逻辑块链中的可用的物理块;
所述的有效页数据,是指这些逻辑页在读取时对应的那个物理页内的数据。
本发明的优点在于:
用本发明进行写操作时,其既能满足物理页面一次性写入的要求,又能保证了同一物理块内的页面按顺序写入,从而在实现闪存的物理地址转换时,能保证数据的完整性。
用本发明进行读操作时,由于搜索读取位置都在内存中完成,所以大大减少了搜索的时间,减小了读取的时间延迟。对于MLC-Flash器件芯片,在Linux操作***下加入RS-ECC算法(里德所罗门算法)后,在应用层读取文件速度可达3MB/s~5MB/s。本发明虽然对随机的写入看起来效率不高,但对于通常情况下的顺序写入能有较快的速度,同样在应用层加入了RS-ECC算法的文件写入速度可达0.8MB/s~1.5MB/s。
利用上述双向链表及“双向搜索”技术的优点在于能够满足物理页面一次性写入的要求,如果只用前向指针搜索,要发生2次写入同一个物理页面。之所以采用“直接复制技术”,是因为只有这样才能既不影响速度,同时保证在同一块中满足页的顺序写入。上述两种技术结合起来才能满足数据完整性的要求。
附图说明
图1为本发明构建内存反向链表实施例1的示意图;
图2为由实施例1构建的内存双向链表的示意图;
图3为本发明构建内存反向链表实施例2的示意图;
图4为由实施例2构建的内存双向链表的示意图;
图5为本发明的写操作实施例1的示意图;
图6为本发明写操作实施例2的示意图;
图7为本发明读操作实施例示意图;
图8为本发明中页回收操作的示意图。
具体实施方式
以下结合附图说明本发明的具体实施方式。
(一)、构建双向链表:
图1为本发明构建反向链表实施例1的示意图。见图1,本发明方法动态的将物理块7及物理块9共同对应表示一个逻辑块号M,形成一个由物理块7及物理块9虚拟连接构成的逻辑块链(LBC)-M。图1中物理块7由竖线分成左右两区,左区为数据的正常存放区,右区为扩展区域;图1中物理块7由横线分成上下两区,上区为物理块7中第一物理页的存放区,下区为其余物理页的存放区,白色区为空闲存放区。物理块9的图示相同。在物理块9的第一物理页的扩展区域10分别存放该物理块所对应的逻辑块号M和在逻辑块链中它的前一个物理块(又称前向替换物理块)的块号7,作为物理块9的反向链附加信息(M,7);在物理块7的第一物理页的扩展区域10也存放了它所对应表示的逻辑块号M,由于物理块7是逻辑块M的第一块,所以他的前向替换物理块号为一个特殊标记HEAD,以表示该块是逻辑块M上的第一块,由此物理块7的反向链附加信息为(M,HEAD)。图1至图8中,物理块之间上方的弧形箭头表示前向替换物理块的方位。
之所以要在Nand-Flash存储***中每个物理块的第一物理页的扩展区域10,分别存放前向替换物理块号,是因为只有使用前向替换物理块号,才能满足基于新型多层单元(MLC)Flash器件的Nand-Flash存储***的物理页面一次性写入的要求,如果使用后向替换物理块号,则在写入数据的时候并不确切知道当前块的后向替换物理块究竟是哪一块,必须等到下一块分配的时候才写入后向替换物理块的信息,因此就免不了发生再次写入的情况,这对保证Nand-Flash的数据完整性带来了较大的风险。本发明方法完全避免了这样的风险。
在***初始化时,完整的搜索Nand-Flash存储器中物理块9及物理块7上存放的上述反向链附加信息(M,7)以及(M,HEAD),可以重建出完整的与所述逻辑块链(LBC)-M对应的反向链表。
实施例1,见图1,在***初始化时,首先搜索到物理块9,得到它所表示的逻辑块号为M,它的前向物理块号为7,读取物理块7的前向替换物理块号时,发现为HEAD标记,则对逻辑M块链的搜索结束,得到逻辑M块链(LBC)-M的内存反向链表:9->7,再根据该内存反向链表构建出逻辑M块链(LBC)-M的内存正向链表:7->9,进而构成一个完整的逻辑M块链(LBC)-M的内存双向链表:7<->9,如图2所示,图2为由上述实施例1构建的内存双向链表的示意图。
实施例2,图3为本发明构建内存反向链表实施例2的示意图。见图3,在***初始化时,首先搜索到物理块4,得到它所表示的逻辑块号为K,它的前向替换物理块号为8,接着在对物理块8进行搜索,得到它的前向替换物理块号为5,再读取5的前向替换物理块号时发现为HEAD标记,则对逻辑K块链的搜索结束,得到逻辑K块链(LBC)-K的内存反向链表:4->8->5,再根据反向链表构建出逻辑K块链(LBC)-K的内存正向链表[K]:5->8->4,进而构成一个完整的逻辑K块链(LBC)-K的内存双向链表[K]:5<->8<->4,如图4所示,图4为由上述实施例2构建的内存双向链表的示意图。
(二)、依据所述内存双向链表进行数据的读写操作:
在模块正常工作时,依据内存双向链表进行数据的读写操作。
1、写操作
按双向链表进行数据的写操作时,具体步骤如下:
(1)、每个逻辑页写入的物理页号与逻辑页号一致。图5为本发明页映射的写操作实施例1的示意图,图5中示出由物理块7、物理块5以及物理块13组成的虚拟逻辑块链(LBC)所对应的双向链表为7<->5<->13。图5中的斜线区为已使用或已写入的物理页,空白区为未使用或未写入的物理页,斜线区中的竖向分界线为普通存储区(左部)与扩展存储区(右部)的分界线,图5中物理块7下方的UsedPage[7]=128表示辑物理块7的第一空闲页,页号为128,UsedPage[5]=111及UsedPage[13]=46类同。见图5,逻辑页号为110,则在相应的物理块5中写入第110页物理页号(黑色区)的位置。每个逻辑页写入的物理页号与逻辑页号一致,是使读取速度达到最快的一种直接映射的设计方式,这样能够省去搜索页位置的时间。
(2)、图5中的逻辑块链中,每个物理块可以全写满,也可以局部被写入,但必须满足每个物理块最后一个被写入的页的前面所有页被写入过,其后面的所有页都是空闲页,如图5中物理块7的第127页、物理块5的70页以及物理块13的45页的前面所有页被写入过,其后面的所有页都是空闲页,这是新型的基于多层单元MLC-Flash器件的Nand-Flash存储***对写入的规定,某一块内必须按照顺序写入,否则写入数据时会出错。
(3)、写操作(正向搜索):
在发生一次写请求时,包括请求写入的逻辑块号(图5中示出逻辑块号为2,物理块7、物理块5以及物理块13共同对应于逻辑块号2)、请求写入的逻辑页号(图5中为110)以及请求写入的数据,根据请求写入的逻辑块号2的逻辑块链以及请求写入的逻辑页号110,在与双向链表7<->5<->13对应的逻辑块链上,依次按照7->5->13的顺序从前往后正向搜索每个物理块(例如图5中的逻辑物理块7、逻辑物理块5以及逻辑物理块13)所使用的物理页数,找到已使用物理页数小于所请求写入逻辑页数110的第一个物理块为物理块5,便按下述方法直接将数据写入该物理块5的所请求写入逻辑页110:在该物理块5上所述已使用物理页号70与所请求写入逻辑页号110之间的所有页面空间71-109页号,复制填入该物理块的前向物理块7中相应页面空间71-109页号的物理页上的数据,然后再在所请求写入逻辑页号110上写入当前请求的数据。
如果请求写入的逻辑页号小于该逻辑块链的最后一个物理块的已使用物理页号,则再新建一个替换物理块,在新建替换物理块上0至该请求写入的逻辑页号之间的所有页面空间,复制填入该新建替换物理块的前向物理块中相应页的有效数据,然后在请求写入的页号写入当前请求的数据;图6为本发明写操作实施例2的示意图,见图6,所请求写入的页号为31(黑色区),它小于该逻辑块链的最后一个物理块13的已使用页数45,则新建一个替换物理块1,加入该逻辑块链(LBC)中,在新建替换物理块1上0至该请求写入的页号31之间的所有页面空间0-30页,复制填入其前向物理块13中0-30页的数据,如图6中的空白箭头及替换物理块1上的黑点区所示。最后再在请求写入的页号31写入当前请求写入的数据。物理块1的32页起为空闲区。
2、读操作(反向搜索):
按双向链表进行数据的读操作时,具体步骤如下:
在所述双向链表对应的逻辑块链中从后往前反向搜索每个物理块所使用的物理页数,找到第一个(因为除了倒数第一个里的数据是有效数据外,以前的都是无效数据)已写入页数不小于当前请求读操作逻辑页号的物理块,即为有效的读取目标物理块,在目标物理块上读取的物理页号和当前请求读操作的逻辑页号相同(因为是采用的页内直接复制的技术,所以物理页号和逻辑页号是相同的、一一对应的)。
图7为本发明的读操作实施例示意图,见图7实施例,所请求的读操作逻辑页号为第52页时,首先找到与逻辑块2双向链表对应的逻辑块链[2]:7<->5<->13<->1,从后往前反向搜索每个物理块(例如图7中的物理块1、物理块13、物理块5以及物理块7)所使用的逻辑页数,找到第一个已写入页数为61(62表示空闲页)、不小于当前请求读操作逻辑页号52页(第二根箭头线所示)的物理块13,其即为有效的读取目标物理块,读取物理块13的第52物理页(与当前请求读操作逻辑页号52相同),即得到所需读取数据。同理,从图7可见,第一个已写入页数45、不小于当前请求读操作逻辑页号30的物理块1,其即为有效的读取目标物理块,读取物理块1的第30物理页,即得到所需读取数据;第一个已写入页数70、不小于当前请求读操作逻辑页号70的物理块5,其即为有效的读取目标物理块,读取物理块5的第70物理页,即得到所需读取数据;第一个已写入页数127、不小于当前请求读操作逻辑页号120的物理块7,其即为有效的读取目标物理块,读取物理块7的第120物理页,即得到所需读取数据。
3、回收操作(反向搜索)
当一个逻辑块链(LBC)太长,超过设定的门限值,或者***需要更多可用的空闲逻辑块时,执行回收操作,具体步骤如下:
图8为本发明中页回收操作的示意图,见图8,首先在双向链表中查找到逻辑块链(LBC)上的最后一个物理块1,假定物理块1上已有18页物理页写入数据,再从该逻辑块链(LBC)上的倒数第二个物理块开始,自后往前逐块反向搜索,并按如下复制数据:由倒数第二个物理块13的19页开始复制至物理块1,复制到该物理块的第一个空闲页(UsedPage)为止(即页45为止,因为页46为空闲页);然后寻找前一个使用过的页数大于当前已复制页数的物理块,找到了前一个物理块5,它的已使用页数为70,大于当前已复制页数45,所以从物理块5的第46页开始继续复制数据至物理块1,到物理块5的第一个空闲页71前为止,即复制到页70,直到最后一块的所有页都已经被填满(即到某一物理块复制到了最后一页——例如前面的物理块复制到了最后一页127),如图8中物理块1上的箭头及各区域写入的数据所示,此时才算完成了回收的复制工作。最后,释放掉(擦除)原逻辑块链(LBC)除了最后一物理块1以外的所有物理块,即图8中的物理块7、物理块5、物理块13。
本发明方法既满足了新型的基于多层单元(MLC)Flash器件的Nand-Flash存储管理方法对所有物理块的页必须顺序写入的要求,又在最大限度上减小了Flash器件的损耗,因为在这种结构下,复制数据的次数达到了最少,每一次的复制都仅是受到物理器件的限制,而不存在人为的浪费,同时还保证了最快的读取速度和较快的写入速度,在实现闪存的逻辑物理地址转换时,能保证数据的完整性。

Claims (6)

1、一种Nand-Flash存储***的管理方法,其特征在于:动态的将多个物理块对应到一个逻辑块,形成一个由各物理块构成的逻辑块链;在每个物理块的第一物理页的扩展区域,分别存放该物理块所对应的逻辑块号信息和在逻辑块链中它的前一个物理块的块号信息,在***初始化时,通过存放的上述信息,重建出与所述逻辑块链对应的双向链表,在模块正常工作时,依据所述双向链表进行数据的读写操作。
2、依据权利要求1所述的Nand-Flash存储***的管理方法,其特征在于依据所述双向链表进行数据的写操作时,具体步骤如下:
(1)、使每个逻辑页写入的物理页号与逻辑页号一致;
(2)、在逻辑块链中的每个物理块可以全写满,也可以局部被写入,但必须满足每个物理块最后一个被写入的页前面的所有页也被写入过,它后面的所有页都是空闲页。
(3)、依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链中从前往后搜索,只要找到该逻辑块链上已使用物理页数小于所请求写入逻辑页数的第一个物理块,就直接将数据写入该物理块的所请求写入逻辑页;如果请求写入的页号小于该逻辑块链的最后一个物理块的已使用页号,则在逻辑块链上新添加一个空闲物理块,将所请求写入逻辑页之前的所有有效页数据复制到当前新空闲物理块中,再在所请求写入的逻辑页上写入数据。
3、依据权利要求1所述的Nand-Flash存储***的管理方法,其特征在于依据所述双向链表进行数据的读操作时,具体步骤如下:
在所述双向链表对应的逻辑块链中自后往前搜索,找到第一个写入页数不小于当前请求的读操作逻辑页号的物理块,即为有效的读取目标物理块,在该目标物理块上读取和当前请求的读操作逻辑页号相同的物理页号,即得到所需数据。
4、依据权利要求1中所述的Nand-Flash存储***的管理方法,其特征在于当一个逻辑块链的长度超过设定的门限值或者***需要更多可用的空闲物理块时,执行回收操作,具体步骤如下:
首先在双向链表中查找到逻辑块链上的最后一个物理块,再从该逻辑块链上的倒数第二个物理块开始自后往前逐块反向搜索,并按如下复制数据:假设最后一个物理块使用到第N页,则由倒数第二个物理块的第N+1页开始复制数据至最后一个物理块的相应页,复制到该物理块的第一个空闲页为止;然后依次寻找前一个使用过的页数大于当前已复制页数的物理块,再继续按上述方法在该物理块的相应页复制它的数据至最后一个物理块的相应页,复制到该物理块的第一个空闲页为止;照此类推,直到最后一个物理块的最后一页被写入为止,最后,释放掉原逻辑块链的除最后一块的所有物理块。
5、依据权利要求2所述的Nand-Flash存储***的管理方法,其特征在于依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链中从前往后搜索,当在该逻辑块链上找到已使用物理页号小于所请求写入逻辑页号的第一个物理块,按下述方法直接将数据写入该物理块:在该物理块上所述已使用物理页号与所请求写入逻辑页号之间的所有页面空间,复制填入该物理块的前向物理块中相应页面空间的物理页上的数据,然后再在所请求写入逻辑页号上写入数据。
6、依据权利要求3所述的Nand-Flash存储***的管理方法,其特征在于依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链中从前往后搜索,如果所有的物理块已使用物理页号都大于所请求写入逻辑页号,则在逻辑块链上新添加一个空闲物理块,按下述方法将数据写入该空闲物理块:在所请求写入逻辑页之前的所有页面空间,复制填入该空闲物理块的前向物理块中相应页面空间的物理页上的数据,然后再在所请求写入逻辑页号上写入数据。
CN2008100254888A 2008-05-06 2008-05-06 一种Nand-Flash存储***的管理方法 Expired - Fee Related CN101329656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100254888A CN101329656B (zh) 2008-05-06 2008-05-06 一种Nand-Flash存储***的管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100254888A CN101329656B (zh) 2008-05-06 2008-05-06 一种Nand-Flash存储***的管理方法

Publications (2)

Publication Number Publication Date
CN101329656A true CN101329656A (zh) 2008-12-24
CN101329656B CN101329656B (zh) 2010-06-02

Family

ID=40205471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100254888A Expired - Fee Related CN101329656B (zh) 2008-05-06 2008-05-06 一种Nand-Flash存储***的管理方法

Country Status (1)

Country Link
CN (1) CN101329656B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375779A (zh) * 2010-08-16 2012-03-14 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
CN101788955B (zh) * 2009-01-23 2012-05-02 群联电子股份有限公司 闪存数据的存取方法及其储存***与控制器***
CN102819496A (zh) * 2012-08-16 2012-12-12 无锡紫芯集成电路***有限公司 闪存ftl的地址转换方法
CN103995783A (zh) * 2013-02-20 2014-08-20 安凯(广州)微电子技术有限公司 一种建立逻辑块与物理块映射关系的方法及***
CN106021123A (zh) * 2016-05-09 2016-10-12 深圳大学 一种3d闪存物理块的选取方法及选取***
CN106294203A (zh) * 2016-08-01 2017-01-04 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法及控制***
CN106294195A (zh) * 2016-07-19 2017-01-04 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法和***
CN106528446A (zh) * 2016-11-17 2017-03-22 深圳市先天海量信息技术有限公司 闪存数据的控制方法及控制***
CN107368257A (zh) * 2016-05-12 2017-11-21 华为技术有限公司 固态存储器中的数据巡检方法及装置
CN107832234A (zh) * 2017-08-07 2018-03-23 北京时代民芯科技有限公司 一种用于nand flash的日志块快速命中方法
DE102017216839A1 (de) * 2017-09-22 2019-03-28 Bundesdruckerei Gmbh Bidirektional verkettete erweiterte Blockchain-Struktur
DE102017218736A1 (de) * 2017-10-19 2019-04-25 Bundesdruckerei Gmbh Bidirektionale verkettete Blockchain-Struktur
DE102017216974A1 (de) * 2017-09-25 2019-05-16 Bundesdruckerei Gmbh Dataculestruktur und Verfahren zum manipulationssicheren Speichern von Daten
DE102017126349A1 (de) * 2017-11-10 2019-05-16 Bundesdruckerei Gmbh Verfahren zum verknüpfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum überprüfen der integrität einer blockchain-struktur, vorrichtung und computerprogrammprodukt
CN110221986A (zh) * 2019-06-15 2019-09-10 深圳市硅格半导体有限公司 闪存逻辑物理映射表的排序方法、***以及其闪存
US10649631B2 (en) 2010-04-28 2020-05-12 Huawei Device Co., Ltd. Method and apparatus for adding icon to interface of android system, and mobile terminal
CN112068769A (zh) * 2020-07-28 2020-12-11 深圳市宏旺微电子有限公司 闪存设备双向链表管理方法和闪存存储设备
CN112148203A (zh) * 2019-06-27 2020-12-29 龙芯中科技术有限公司 存储器管理方法、装置、电子设备及存储介质
CN113254364A (zh) * 2021-05-24 2021-08-13 山东创恒科技发展有限公司 一种嵌入式***用信息存储装置

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788955B (zh) * 2009-01-23 2012-05-02 群联电子股份有限公司 闪存数据的存取方法及其储存***与控制器***
US11079908B2 (en) 2010-04-28 2021-08-03 Huawei Device Co., Ltd. Method and apparatus for adding icon to interface of android system, and mobile terminal
US10649631B2 (en) 2010-04-28 2020-05-12 Huawei Device Co., Ltd. Method and apparatus for adding icon to interface of android system, and mobile terminal
US11561680B2 (en) 2010-04-28 2023-01-24 Huawei Device Co., Ltd. Method and apparatus for adding icon to interface of android system, and mobile terminal
CN102375779B (zh) * 2010-08-16 2015-08-19 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
CN102375779A (zh) * 2010-08-16 2012-03-14 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
CN102819496A (zh) * 2012-08-16 2012-12-12 无锡紫芯集成电路***有限公司 闪存ftl的地址转换方法
CN102819496B (zh) * 2012-08-16 2015-02-18 常州新超电子科技有限公司 闪存ftl的地址转换方法
CN103995783A (zh) * 2013-02-20 2014-08-20 安凯(广州)微电子技术有限公司 一种建立逻辑块与物理块映射关系的方法及***
CN106021123B (zh) * 2016-05-09 2019-03-08 深圳大学 一种3d闪存物理块的选取方法及选取***
CN106021123A (zh) * 2016-05-09 2016-10-12 深圳大学 一种3d闪存物理块的选取方法及选取***
CN107368257B (zh) * 2016-05-12 2019-11-12 华为技术有限公司 固态存储器中的数据巡检方法及装置
CN107368257A (zh) * 2016-05-12 2017-11-21 华为技术有限公司 固态存储器中的数据巡检方法及装置
CN106294195B (zh) * 2016-07-19 2019-06-21 深圳市领存技术有限公司 一种3d闪存的控制方法和***
CN106294195A (zh) * 2016-07-19 2017-01-04 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法和***
CN106294203A (zh) * 2016-08-01 2017-01-04 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法及控制***
CN106294203B (zh) * 2016-08-01 2019-06-28 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法及控制***
CN106528446B (zh) * 2016-11-17 2019-08-23 深圳市先天海量信息技术有限公司 闪存数据的控制方法及控制***
CN106528446A (zh) * 2016-11-17 2017-03-22 深圳市先天海量信息技术有限公司 闪存数据的控制方法及控制***
CN107832234A (zh) * 2017-08-07 2018-03-23 北京时代民芯科技有限公司 一种用于nand flash的日志块快速命中方法
CN107832234B (zh) * 2017-08-07 2020-07-03 北京时代民芯科技有限公司 一种用于nand flash的日志块快速命中方法
DE102017216839A1 (de) * 2017-09-22 2019-03-28 Bundesdruckerei Gmbh Bidirektional verkettete erweiterte Blockchain-Struktur
DE102017216974A1 (de) * 2017-09-25 2019-05-16 Bundesdruckerei Gmbh Dataculestruktur und Verfahren zum manipulationssicheren Speichern von Daten
DE102017218736A1 (de) * 2017-10-19 2019-04-25 Bundesdruckerei Gmbh Bidirektionale verkettete Blockchain-Struktur
DE102017126349A1 (de) * 2017-11-10 2019-05-16 Bundesdruckerei Gmbh Verfahren zum verknüpfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum überprüfen der integrität einer blockchain-struktur, vorrichtung und computerprogrammprodukt
US11664972B2 (en) 2017-11-10 2023-05-30 Bundesdruckerei Gmbh Method for linking a first data block to a second data block, method for checking the integrity of a blockchain structure, device and computer program product
CN110221986B (zh) * 2019-06-15 2021-11-16 深圳市硅格半导体有限公司 闪存逻辑物理映射表的排序方法、***以及其闪存
CN110221986A (zh) * 2019-06-15 2019-09-10 深圳市硅格半导体有限公司 闪存逻辑物理映射表的排序方法、***以及其闪存
CN112148203A (zh) * 2019-06-27 2020-12-29 龙芯中科技术有限公司 存储器管理方法、装置、电子设备及存储介质
CN112148203B (zh) * 2019-06-27 2023-12-05 龙芯中科技术股份有限公司 存储器管理方法、装置、电子设备及存储介质
CN112068769A (zh) * 2020-07-28 2020-12-11 深圳市宏旺微电子有限公司 闪存设备双向链表管理方法和闪存存储设备
CN112068769B (zh) * 2020-07-28 2023-11-14 深圳市宏旺微电子有限公司 闪存设备双向链表管理方法和闪存存储设备
CN113254364A (zh) * 2021-05-24 2021-08-13 山东创恒科技发展有限公司 一种嵌入式***用信息存储装置
CN113254364B (zh) * 2021-05-24 2022-07-19 山东创恒科技发展有限公司 一种嵌入式***用信息存储装置

Also Published As

Publication number Publication date
CN101329656B (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
CN101329656B (zh) 一种Nand-Flash存储***的管理方法
US8364931B2 (en) Memory system and mapping methods using a random write page mapping table
CN106547703B (zh) 一种基于块组结构的ftl优化方法
CN104461393B (zh) 一种闪存存储器的混合映射方法
CN102981963B (zh) 一种固态盘的闪存转换层的实现方法
US9304904B2 (en) Hierarchical flash translation layer
CN108121503B (zh) 一种NandFlash地址映射及块管理方法
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
CN104794070B (zh) 基于动态非覆盖raid技术的固态闪存写缓存***及方法
CN102521160B (zh) 写缓冲检测器、并行通道写入方法
CN100524209C (zh) 在非易失性存储器阵列中更新数据的方法
CN101980177B (zh) 一种操作Flash的方法和装置
US7487303B2 (en) Flash memory device and associated data merge method
CN101169751B (zh) 具有闪存设备的***及其数据恢复方法
US8001317B2 (en) Data writing method for non-volatile memory and controller using the same
KR100706242B1 (ko) 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
CN103425600B (zh) 一种固态盘闪存转换层中的地址映射方法
CN102163175B (zh) 一种基于局部性分析的混合地址映射方法
CN103699344B (zh) 非易失性存储器装置及其操作方法
US9910773B2 (en) Method and system for compacting data in non-volatile memory
JP2013544414A (ja) トランザクションログの復元
CN105930097B (zh) 一种消除局部并行中小写操作的分布校验式磁盘阵列
CN101419573A (zh) 一种存储管理的方法、***和存储设备
US20100318726A1 (en) Memory system and memory system managing method
CN101714065A (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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Management method of Nand-Flash memory system

Effective date of registration: 20111215

Granted publication date: 20100602

Pledgee: Agricultural Bank of China Limited by Share Ltd Wuxi science and Technology Branch

Pledgor: Wuxi Alpscale Integrated Circuits Co., Ltd.

Registration number: 2011990000492

ASS Succession or assignment of patent right

Owner name: GUANGZHOU XINULTRA ELECTRONIC TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: WUXI ALPSCALE INTEGRATED CIRCUITS CO., LTD.

Effective date: 20150319

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 214028 WUXI, JIANGSU PROVINCE TO: 213000 CHANGZHOU, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150319

Address after: 213000 building 450-1-1, building No. 588, South Wu Road, Wujin hi tech Industrial Development Zone, Changzhou, Jiangsu,

Patentee after: Guangzhou Xinultra Electronic Technology Co., Ltd.

Address before: 214028 B-6F, 2 Taishan Road, New District, Jiangsu, Wuxi

Patentee before: Wuxi Alpscale Integrated Circuits Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20150506

EXPY Termination of patent right or utility model