一种闪存管理系统、方法及闪存芯片技术方案

技术编号:15938571 阅读:23 留言:0更新日期:2017-08-04 21:35
本发明专利技术适用于闪存技术领域,提供了一种闪存管理系统、方法和闪存芯片,所述系统包括闪存和闪存控制器,所述闪存包括若干个由若干个依序排列的页组成的块,所述页包括用户数据区、ECC校验区和冗余区,所述闪存控制器在向所述页写入数据时,根据所述冗余区的容量向所述冗余区中依次写入当前页和当前页的前面多个页的逻辑地址。采用本发明专利技术的技术方案,可快速的进行有效块的回收。

Flash memory management system, method and flash memory chip

The invention is applicable to the technical field of flash memory provides a flash memory management method and system, the system includes a flash memory chip, flash memory and flash memory controller, the flash memory comprises a plurality of composed of a plurality of sequentially arranged page block, the page includes a user data area, ECC check and redundant area. The flash memory controller to write data in the front page, the logical address according to the capacity of the redundant area to the redundant area are written into the current page and the current page number page. By adopting the technical proposal of the invention, the recycling of the effective blocks can be carried out quickly.

【技术实现步骤摘要】
一种闪存管理系统、方法及闪存芯片
本专利技术属于存储
,尤其涉及一种闪存管理系统、方法及闪存芯片。
技术介绍
闪存的管理控制技术通常包括输出/输入指令(I/Ocommand)、数据管理(DataShaping)、平均磨耗技术(WearLeveling)、有效块回收(GarbageCollection)、电源断电供电处理(PowerCycle)和好坏块管理(BlockManagement)以上这些,对闪存控制芯片都是很重要的工作。由于闪存工艺和算法越来越先进,而消费者也非常重视随机读写(RandomAccess)效能,所以有效块回收(GarbageCollection)算法就变成是一个很重要的部份。闪存转换层FlashTranslationLayer(FTL)算法,可以大致区分为块映射(BlockMapping)、页映射(PageMapping)及扇映射(SectorMapping)这三种,而过去在块映射(BlockMapping)的算法部份比较重视数据缓冲存储器的空间节省,故有效块回收算法部份并没有太多的发挥,所以随机读写(RandomAccess)效能一直是块映射(BlockMapping)的问题,直到页映射(PageMapping)算法的出现才改善此问题。比起块映射(BlockMapping),页映射(PageMapping)所使用的数据缓冲存储器的空间比较大,基于商业的考虑,对于每个有效块的有效页(ValidPage)数都会是记录有效页数的值,如果要去找寻有效页(ValidPage)出来,则必需要找出该块(Block)的所有页才可以知道那一个页是真正的有效页,导致不能快速的找出有效页,增加了有效块回收的成本。
技术实现思路
本专利技术实施例提供了一种闪存管理系统、方法及闪存芯片,旨在解决现有的问题。在本专利技术实施例中,提供一种闪存管理系统,所述系统包括闪存和闪存控制器,所述闪存包括若干个由若干个依序排列的页组成的块,所述页包括用户数据区、ECC校验区和冗余区,所述闪存控制器在向所述页写入数据时,根据所述冗余区的容量向所述冗余区中依次写入当前页和当前页的前面多个页的逻辑地址。在本专利技术实施例中,所述冗余区存储的页逻辑地址数量N=冗余区空间大小/Logical_Page_Size,小数点无条件进位,其中,Logical_Page_Size为所述页的逻辑地址需使用的空间,且Logical_Page_Size=Log256(闪存总容量/页大小),小数点无条件进位。在本专利技术实施例中,所述闪存控制器对所述闪存进行有效块回收时,采用下述步骤进行:找寻出有效页数值最少的块;根据所述冗余区中的逻辑地址遍历所述块中的页,建立所述块中有效页的Bitmap;通过所述Bitmap找出有效页并搬至新块中;释放原块。在本专利技术实施例中,建立有效页的Bitmap的过程包括下述步骤:读取最后一个页的冗余区中存储的多个页的逻辑地址;根据读取的多个页的逻辑地址,间隔N个页依次读取页的冗余区中存储的多个逻辑地址,并根据读取到的逻辑地址找到相应的页;判断所述页是否有效并记录。在本专利技术实施例中,所述最后一个页为有效页。在本专利技术实施例中,还提供一种闪存管理方法,所述方法中,闪存控制器在向所述闪存的页写入数据时,根据所述页的冗余区的容量向所述冗余区中写入当前页和当前页的前面多个页的逻辑地址。所述闪存管理方法中,所述冗余区存储的页逻辑地址数量N=冗余区空间大小/Logical_Page_Size,小数点无条件进位,其中,Logical_Page_Size为所述页的逻辑地址需使用的空间,且Logical_Page_Size=Log256(闪存总容量/页大小),小数点无条件进位。所述闪存管理方法中,所述闪存控制器对所述闪存进行有效块回收时,采用下述步骤进行:找寻出有效页数值最少的块;根据所述冗余区中的逻辑地址遍历所述块中的页,建立所述块中有效页的Bitmap;通过所述Bitmap找出有效页并搬至新块中;释放原块。所述闪存管理方法中,所述闪存管理方法中,建立有效页的Bitmap的过程包括下述步骤:读取最后一个页的冗余区中存储的多个页的逻辑地址;根据读取的多个页的逻辑地址,间隔N个页依次读取页的冗余区中存储的多个逻辑地址,并根据读取到的逻辑地址找到相应的页;判断所述页是否有效并记录。所述闪存管理方法中,所述最后一个页为有效页。在本专利技术实施例中,还提供一种闪存芯片,所述闪存芯片包括至少一处理器、存储器及接口,所述至少一处理器、存储器及接口均通过总线连接;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述闪存芯片执行上述的闪存管理方法。与现有技术相比较,本专利技术的技术方案中,在闪存写入数据时,在每一页的冗余区中都写入当前页及当前页前面多个页的逻辑地址,在进行块回收时,可以根据所述冗余区中的多个页的逻辑地址快速的建立所述块的Bitmap,进一步地,根据所述Bitmap,可以快速的实现所述块的回收。附图说明图1是本专利技术实施例一提供的闪存管理系统的结构示意图;图2是本专利技术实施例一提供的闪存管理系统中页的数据空间分配图;图3是本专利技术实施例一提供的闪存管理系统中闪存页的逻辑地址需要的内存空间对照表;图4是本专利技术实施例一提供的闪存管理方法对闪存冗余区存储数据的示意图;图5是本专利技术实施例一提供的闪存有效块回收方法的流程图;图6是本专利技术实施例一提供的闪存管理方法中采用Bitmap来进行有效块回收的示意图;图7是本专利技术实施例二提供的闪存芯片的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合具体实施例对本专利技术的实现进行详细描述:实施例一本实施例中,描述了一种闪存管理系统和在该系统中对内存进行管理的方法。图1示出了本专利技术实施例一提供的闪存管理系统的结构示意图,所述系统包括闪存控制器10和闪存20,所述闪存20包括多个块B0-B9。每一个块都由多个依序排列的页P0-P5组成,其中,有些页为无效页,有些页为有效页,还有些页为空白页。为了便于说明,本实施例将以总容量(Capacity)32GByte、满页密度(FullPageSize)为18336Byte(16KPage)、总页数为384及ECC较正能力为6xbits/PerKbyte的闪存为例,进行说明。由上述闪存参数可知,每个扇(Sector)可以分得1146Byte,其中用户数据区(UserArea)有1024Byte,而ECC校验区每1K约占120Byte,故还有2Byte的冗余区(Metadata),可以整理出一个页的18336Byte空间的状态分配。如图2所示,一个页的存储空间可以被划分为16384Byte的用户数据区、1920Byte的ECC校验区和32Byte的冗余区。本实施例提供的闪存管理方法,在进行块的回收时,需要首先对所述块的页建立Bitmap,以便于后续进行所述块中有效页的数据回收。本实施例中,采用所述冗余区中存储页的逻辑地址进行Bitmap的建立。使用所述冗余区来存储页的逻辑地址之前,首先就是要先考虑用户的总使用容本文档来自技高网
...
一种闪存管理系统、方法及闪存芯片

【技术保护点】
一种闪存管理系统,其特征在于,所述系统包括闪存和闪存控制器,所述闪存包括若干个由若干个依序排列的页组成的块,所述页包括用户数据区、ECC校验区和冗余区,所述闪存控制器在向所述页写入数据时,根据所述冗余区的容量向所述冗余区中依次写入当前页和当前页的前面多个页的逻辑地址。

【技术特征摘要】
1.一种闪存管理系统,其特征在于,所述系统包括闪存和闪存控制器,所述闪存包括若干个由若干个依序排列的页组成的块,所述页包括用户数据区、ECC校验区和冗余区,所述闪存控制器在向所述页写入数据时,根据所述冗余区的容量向所述冗余区中依次写入当前页和当前页的前面多个页的逻辑地址。2.如权利要求1所述的闪存管理系统,其特征在于,所述冗余区存储的页的逻辑地址数量N=冗余区空间大小/Logical_Page_Size,小数点无条件进位,其中,Logical_Page_Size为所述页的逻辑地址需使用的空间,且Logical_Page_Size=Log256(闪存总容量/页大小),小数点无条件进位。3.如权利要求2所述的闪存管理系统,其特征在于,所述闪存控制器对所述闪存进行有效块回收时,采用下述步骤进行:找寻出有效页数值最少的块;根据所述冗余区中的逻辑地址遍历所述块中的页,建立所述块中有效页的Bitmap;通过所述Bitmap找出有效页并搬至新块中;释放原块。4.如权利要求3所述的闪存管理系统,其特征在于,建立有效页的Bitmap的过程包括下述步骤:读取最后一个页的冗余区中存储的多个页的逻辑地址;根据读取的多个页的逻辑地址,间隔N个页依次读取页的冗余区中存储的多个逻辑地址,并根据读取到的逻辑地址找到相应的页;判断所述页是否有效并记录。5.如权利要求4所述的闪存管理系统,其特征在于,所述最后一个页为有效页。6.一种闪存管理方法,其特征在于,闪存控制器在向所述闪存的页写入数据时,根...

【专利技术属性】
技术研发人员:黄志铭蔡育陞
申请(专利权)人:建荣半导体深圳有限公司建荣集成电路科技珠海有限公司珠海煌荣集成电路科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1