闪存数据的控制方法及控制系统技术方案

技术编号:14886800 阅读:70 留言:0更新日期:2017-03-25 20:14
本发明专利技术提供一种闪存数据的控制方法和控制系统,所述控制方法包括以下步骤:根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据所述逻辑块号和预设的第一映射表确定是否存在对应的第一物理块号,如果否,查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第一物理块号的物理页表格以确定所述第一物理块号中是否存在块内页偏移号对应物理页,如果是,在对应物理页进行数据的写入或读出;如果否,根据第一物理块号和预设的第二映射表确定是否存在对应的第二物理块号,如果是,顺次读取所述第二物理块号的物理页表格以确定所述第二物理块号中是否存在块内页偏移号对应物理页。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种闪存数据的控制方法及控制系统
技术介绍
SSD(SolidStateDisk)泛指使用NAND闪存(Flash)组成的固态硬盘,其特别之处在于没有机械结构,利用传统的NANDFlash特性,以区块写入和擦除的方式作读写的功能,因此在读写的效率上非常依赖读写技术上的设计。SSD与目前的传统硬盘相比较,具有低耗电、耐震、稳定性高、耐低温等优点。SSD上由于数据是存放在半导体内存上,能够在低于一毫秒的时间内对任意位置的存储单元完成I/O(输入/输出)操作,因此在对许多应用程序来说最为关键的I/O性能指标IOps(即每秒多少次IO动作)上,SSD可以达到普通机械硬盘的50~800倍。SSD的优势主要体现在两个方面:响应时间短和读写效率高;同时SSD以固态芯片作为存储介质,其工作抗震能力达到15G(10~1000Hz),是传统硬盘的15倍,抗冲击能力达到1500G(0.5ms),是传统硬盘的27倍,高效地提升了SSD的稳定性。近年来,3DNAND闪存存储系统采用了特定的闪存文件系统来管理闪存设备。基于日志结构的闪存文件系统,包括JFFS2和YAFFS,是目前广泛使用的典型闪存文件系统。修改这两个典型闪存文件系统,可以有效延长闪存使用寿命、改善随机读写性能、以及减少垃圾回收操作的额外系统开销。然而,目前已有的闪存文件系统都是针对二维平面闪存,并没有考虑到新型3DNAND闪存在生产工艺、系统结构、访存机制等方面所带来的新变化,导致3DNAND闪存的存储空间利用率低,特别是当同个逻辑地址不断地更新时,即所对应的物理页的内容不断更新,3DNAND闪存必须不断地选取空白物理块,在对应的物理页写入数据。然而,在已使用的物理块中只有相应的物理页使用,其他物理页没有被使用,造成存储空间的浪费。
技术实现思路
本专利技术旨在解决现有技术中闪存的存储空间利用率低且存储空间的浪费技术问题,提供一种可以有效地利用存储空间减少空间浪费以及可以减少物理块的擦除次数,减少垃圾回收的次数的闪存数据的控制方法及控制系统。本专利技术的实施例提供一种闪存数据的控制方法,所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据所述逻辑块号和预设的第一映射表确定是否存在对应的第一物理块号,如果否,查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第一物理块号的物理页表格以确定所述第一物理块号中是否存在块内页偏移号对应物理页,如果是,在对应物理页进行数据的写入或读出;如果否,根据第一物理块号和预设的第二映射表确定是否存在对应的第二物理块号,如果否,进入查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第二物理块号的物理页表格以确定所述第二物理块号中是否存在块内页偏移号对应物理页,如果是,进入在对应物理页进行数据的写入或读出的步骤,如果否,进入查找空白物理块进行数据写入或结束读取操作的步骤。本专利技术的实施例还提供了一种闪存数据的控制系统,所述控制系统包括生成模块,第一映射关系确定模块,写入操作模块,读取结束模块,第一物理页表格读取模块,写入查找分配模块,数据读取模块,第二映射关系确定模块和第二物理页表格读取模块;生成模块,用于在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;第一映射关系确定模块,用于根据所述逻辑块号和预设的第一映射表确定是否存在对应的第一物理块号,如果是,进入第一物理页表格读取模块,如果否,在进行写操作时,进入写入操作模块,在进行读操作时,进入读取结束模块;写入操作模块,用于查找空白物理块进行数据写入;读取结束模块,用于结束读取操作;第一物理页表格读取模块,用于顺次读取所述第一物理块号的物理页表格以确定所述第一物理块号中是否存在块内页偏移号对应物理页,如果是,在进行写操作时,进入写入查找分配模块,在进行读操作时,进入数据读取模块;如果否,进入第二映射关系确定模块;写入查找分配模块,用于在对应物理页进行数据的写入;数据读取模块,用于在对应物理页进行数据的读取;第二映射关系确定模块,用于根据第一物理块号和预设的第二映射表确定是否存在对应的第二物理块号,如果否,在进行写操作时,进入写入操作模块,在进行读操作时,进入读取结束模块,如果是,进入第二物理页表格读取模块;第二物理页表格读取模块,用于顺次读取所述第二物理块号的物理页表格以确定所述第二物理块号中是否存在块内页偏移号对应物理页,如果是,在进行写操作时,进入写入查找分配模块,在进行读操作时,进入数据读取模块,如果否,在进行写操作时,进入写入操作模块,在进行读操作时,进入读取结束模块。本专利技术的技术方案与现有技术相比,有益效果在于:通过预设的第一映射表用于记录逻辑块号与第一物理块号的映射关系,预设的第二映射表,用于记录第一物理块号和第二物理块号的映射关系,可以有效地利用存储空间,减少空间浪费。同时可以减少物理块的擦除次数,减少垃圾回收的次数。。附图说明图1是一种虚拟单元链表的结构示意图;图2是本专利技术一种虚拟单元链表的结构示意图;图3是本专利技术闪存数据的控制方法在写操作时一个实施例的流程图;图4是本专利技术闪存数据的控制方法在读操作时一个实施例的流程图;图5是本专利技术闪存数据的控制系统一个实施例的结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。由于在3DNAND闪存管理中有第一映射表(EUNtable),第二映射表(ReplUnitTable)和虚拟单元链表(VirtualUnitChain)三个参数,其中虚拟单元链表由第一映射表和第二映射表组成。EUNtable用于记录逻辑地址映射到物理地址的表格,存储每个物理块所属的物理块链的起始物理地址。其中,索引项为逻辑地址,数据项为物理地址。通过第一映射表找到该虚拟单元对应的物理块所属的物理块链的起始物理地址。ReplUnitTable用于记录一个物理地址映射到另一物理地址的p表格,存储每个在物理块链中的物理块其之后的物理块的物理地址以维持虚拟单元链表的结构。其中,索引项为当前物理块的物理地址,数据项为映射在当前物理块之后的物理块的物理地址。也就是说EUNtable中记录逻辑块号与第一物理块号的映射关系,ReplUnitTable用于记录第一物理块号和第二物理块号的映射关系。当根据EUNtable中映射关系查找到的的物理块无法写入数据,需要重新找空白物理块写入数据时,此时将EUNtable中的物理块与找到的空白物理块的映射关系写入ReplUnitTable表格中。如图1所示为一种虚拟单元链表的结构,如图1所示,每个物理块表格用于记录该物理块中每个物理页的使用状态,Free状态表示该物理页没有被使用,Used状态表示该物理页已写进数据。比如Block5表格包括8个物理页项,其中第一项、第五项和第八项的状态为Free则表示第一项、第五项和第八项的物理页可以写入数据,剩余项的状态Used则表示剩余项的物理页不可以使用。B本文档来自技高网
...
闪存数据的控制方法及控制系统

【技术保护点】
一种闪存数据的控制方法,其特征在于:所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据所述逻辑块号和预设的第一映射表确定是否存在对应的第一物理块号,如果否,查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第一物理块号的物理页表格以确定所述第一物理块号中是否存在块内页偏移号对应物理页,如果是,在对应物理页进行数据的写入或读出;如果否,根据第一物理块号和预设的第二映射表确定是否存在对应的第二物理块号,如果否,进入查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第二物理块号的物理页表格以确定所述第二物理块号中是否存在块内页偏移号对应物理页,如果是,进入在对应物理页进行数据的写入或读出的步骤,如果否,进入查找空白物理块进行数据写入或结束读取操作的步骤。

【技术特征摘要】
1.一种闪存数据的控制方法,其特征在于:所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据所述逻辑块号和预设的第一映射表确定是否存在对应的第一物理块号,如果否,查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第一物理块号的物理页表格以确定所述第一物理块号中是否存在块内页偏移号对应物理页,如果是,在对应物理页进行数据的写入或读出;如果否,根据第一物理块号和预设的第二映射表确定是否存在对应的第二物理块号,如果否,进入查找空白物理块进行数据写入或结束读取操作;如果是,顺次读取所述第二物理块号的物理页表格以确定所述第二物理块号中是否存在块内页偏移号对应物理页,如果是,进入在对应物理页进行数据的写入或读出的步骤,如果否,进入查找空白物理块进行数据写入或结束读取操作的步骤。2.根据权利要求1所述的控制方法,其特征在于:在进行数据的写操作时,第一物理块号中不存在块内页偏移号对应物理页之后,还包括:顺次读取所述第一物理块号的物理页表格中每个物理页项目的内容以确定所述第一物理块号中的每个物理页是否均已存储数据;如果是,进入根据第一物理块号和预设的第二映射表确定是否存在对应的第二物理块号的步骤;如果否,在第一物理块号的空白物理页中进行数据写入。3.根据权利要求1所述的控制方法,其特征在于:在进行数据的写操作时,第二物理块号中不存在块内页偏移号对应物理页之后,还包括:顺次读取所述第二物理块号的物理页表格中每个物理页项目的内容以确定所述第二物理块号中的每个物理页是否均已存储数据;如果是,进入查找空白物理块进行数据写入的步骤;如果否,在第二物理块号的空白物理页中进行数据写入。4.根据权利要求1所述的控制方法,其特征在于:预设的第一映射表用于记录逻辑块号与第一物理块号的映射关系并包括第一物理块号的表格,第一物理块号的表格中包括第一物理块号的每个物理页对应的物理页项,预设的第二映射表,用于记录第一物理块号和第二物理块号的映射关系并包括第二物理块号的表格,第二物理块号的表格中包括第二物理块号的每个物理页对应的物理页项,其中每个物理页项保存数据的的实际物理页码或者空白标记。5.根据权利要求4所述的控制方法,其特征在于:在进行数据的写操作时,查找空白物理块进行数据写入的步骤,具体为:将数据写入空白物理块的第0物理页中。6.根据权利要求5所述的控制方法,其特征在于:在将数据写入空白物理块的第0物理页中的步骤之后,还包括:在第0物理页的物理页项中记录写入数据的块内页偏移号。7.根据权利要求4所述的...

【专利技术属性】
技术研发人员:席爱民
申请(专利权)人:深圳市先天海量信息技术有限公司
类型:发明
国别省市:广东;44

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

1