一种3D闪存的控制方法及控制系统技术方案

技术编号:14402138 阅读:86 留言:0更新日期:2017-01-11 14:33
本发明专利技术提供一种3D闪存的控制方法和控制系统。所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号;在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,进行数据的写入或读出;如果否,在进行写操作时从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链中,进入进行数据的写入的步骤;在进行读操作时从当前物理块链最后一个物理块开始由后往前查找有效数据并当没有查找到有效数据时提示无数据可读。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种3D闪存的控制方法及控制系统
技术介绍
由于3D闪存具有高存储容量的特点,因此受到越来越多行业的青睐,但是现有上层操作系统对某一范围的逻辑地址空间进行频繁更新操作,在现有的3D闪存管理技术中,随着某一逻辑地址中的数据不断更新,其对应的物理块链不断增长,而在同一块链中的其他空闲物理页却得不到使用,严重影响芯片的空间利用率。特别是在现有3D闪存芯片的物理空间的组织形式上,比如令log_page为逻辑页号,每个物理块中有page_per_block个物理页,当log_page需要更新时,需要分配一个空闲物理块给物理块链,并在新分配的空闲物理块的第offset物理页上写入更新的数据。在极端情况下,若log_page号逻辑页频繁进行更新,则对应的物理块链将大大增长,而物理块链的实际空间利用率却极小,即物理块链中存在大量未被使用的空闲物理页。
技术实现思路
本专利技术旨在解决现有技术中在某些逻辑页频繁进行更新时,对应的物理块链将大大增长,而物理块链的实际空间利用率却极小的技术问题,提供一种3D闪存的控制方法及控制系统。本专利技术的实施例提供一种3D闪存的控制方法,所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号;在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,进行数据的写入或读出;如果否,在进行写操作时从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链中,进入进行数据的写入的步骤;在进行读操作时从当前物理块链最后一个物理块开始由后往前查找有效数据并当没有查找到有效数据时提示无数据可读。本专利技术的控制方法与现有技术相比,有益效果在于:通过在当前物理块链中由前往后查找所述块内页偏移号对应物理页以及在当前物理块链中由后往前查找所述块内页偏移号对应物理页以写入或读出数据,既保证了物理块链中物理空间的有效利用,又避免了对存储空间管理的复杂性。本专利技术的实施例还提供一种3D闪存的控制系统,所述控制系统包括:生成模块,映射关系建立模块,确定模块,写入操作模块,读出操作模块,读出查找模块,写入查找分配模块和结束操作模块;生成模块,用于在进行数据的读/写操作时,根据读写数据的逻辑页号得到逻辑块号和块内页偏移号;映射关系建立模块,用于根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号;确定模块,用于在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,在进行读操作时,进入读出操作模块,在进行写操作时,进入写入操作模块,如果否,在进行读操作时,进入读出查找模块,在进行写操作时,进入写入查找分配模块;读出操作模块,用于进行有效数据的读出;写入操作模块,用于进行数据的写入;读出查找模块,用于当前物理块链最后一个物理块开始由后往前查找有效数据,当查找到有效数据时,进入读出操作模块,否则进入结束操作模块;写入查找分配模块,用于从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链,进入写入操作模块。本专利技术的控制系统与现有技术相比,有益效果在于:通过在当前物理块链中由前往后查找所述块内页偏移号对应物理页以及在当前物理块链中由后往前查找所述块内页偏移号对应物理页以写入或读出数据,既保证了物理块链中物理空间的有效利用,又避免了对存储空间管理的复杂性。附图说明图1是本专利技术3D闪存的控制方法在进行数据的写操作时一个实施例的流程示意图;图2是本专利技术3D闪存的控制方法中查找空闲物理页算法一个实施例的流程示意图;图3是本专利技术3D闪存的控制方法中空闲物理页分配算法一个实施例一个实施例的流程示意图;图4是本专利技术3D闪存的控制方法中物理块擦除回收策略一个实施例的流程示意图;图5是本专利技术3D闪存的控制方法在进行数据的读操作时一个实施例的流程示意图;图6是本专利技术3D闪存的控制系统一个实施例的结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。本专利技术的3D闪存的控制方法主要某些逻辑页频繁进行更新时,对应的物理块链将大大增长,而物理块链的实际空间利用率却极小,主要从两个方面进行改进:一、对物理块链的组织形式进行改进,实现物理块链空间的充分利用。二、改进物理块的擦除回收策略,减小因擦除回收操作而造成的较长的响应时间。图1是本专利技术一个实施例3D闪存的控制方法在进行数据的写操作时的流程示意图。如图1所示,在进行数据的写操作时,所述控制方法包括以下步骤:步骤S1,在进行数据的写操作时,根据读写数据的逻辑页号得到逻辑块号和块内页偏移号;步骤S2,根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号;步骤S3,在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲,如果是,进入步骤S4,如果否,进入步骤S5;步骤S4,进行数据的写入;步骤S5,从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链中,进入步骤S4。在具体实施中,对于3D闪存芯片,所述3D闪存芯片可分为若干层,每层可分为若干行,而每行中有若干物理块,每个物理块有若干个物理页。在步骤S1中,操作系统首先发出写操作请求,存储管理系统计算相应的逻辑块号log_block和块内页偏移号offset,比如每个物理块中有page_per_block=36个物理页,而写数据的逻辑页号log_page=38,其对应的逻辑块号log_block为log_page/page_per_block=38/36=1,其对应的块内页偏移号offset为log_page%page_per_block=38%36=2,接着存储管理系统查看逻辑块号到物理块号的映射表,获得对应物理块链的入口物理块的物理块号phy_block。在步骤S3中,若phy_block中的第offset物理页空闲,则向该物理页中写入数据;否则从当前物理块链的头部开始,沿着当前物理块链链由前向后查看每个物理块的第offset物理页是否空闲,若找到空闲物理页,则写入数据,若无空闲页,则转入图3。在步骤S4中,进行数据的写入具体为:在所述块内页偏移号对应物理页或空闲物理页中进行数据的写入。在具体实施中,如图2所示,步骤S3中,所述查找所述当前物理块链中各个替换块是否有空闲物理页的步骤,具体包括:步骤S31,在所述入口物理块号对应物理块中查找所述块内页偏移号对应物理页是否空闲,如果是,进入步骤S32,如果否,进入步骤S33;步骤S32,在所述块内页偏移号对应物理页中写入数据;步骤S33,顺次从前往后查找当前物理块链中的物理块是否存在空闲的所述块内页偏移号对应物理页,如果是,步骤S4,如果否,进入步骤S5。在具体实施中,当当前物理块链中所有的物本文档来自技高网...
一种3D闪存的控制方法及控制系统

【技术保护点】
一种3D闪存的控制方法,其特征在于:所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号;在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,进行数据的写入或读出;如果否,在进行写操作时从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链中,进入进行数据的写入的步骤;在进行读操作时从当前物理块链最后一个物理块开始由后往前查找有效数据并当没有查找到有效数据时提示无数据可读。

【技术特征摘要】
1.一种3D闪存的控制方法,其特征在于:所述控制方法包括以下步骤:在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号;在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,进行数据的写入或读出;如果否,在进行写操作时从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链中,进入进行数据的写入的步骤;在进行读操作时从当前物理块链最后一个物理块开始由后往前查找有效数据并当没有查找到有效数据时提示无数据可读。2.如权利要求1所述的3D闪存的控制方法,其特征在于:所述在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲的步骤,具体包括:在所述入口物理块号对应物理块中查找所述块内页偏移号对应物理页是否空闲,如果是,在所述块内页偏移号对应物理页中写入数据;如果否,顺次从前往后查找当前物理块链中的物理块是否存在空闲的所述块内页偏移号对应物理页,如果是,进入进行数据的写入的步骤,如果否,进入在进行写操作时从当前物理块链最后一个物理块开始由后往前查找空闲物理页或获取空闲物理块加入当前的物理块链中的步骤。3.如权利要求1所述的3D闪存的控制方法,其特征在于:所述在进行写操作时从当前物理块链最后一个物理块开始由后往前查找空闲物理页的步骤,具体包括:判断当前物理块链的长度是否到达预设的长度,如果否,获取空闲物理块加入当前的物理块链,进入进行数据的写入的步骤;如果是,查找当前物理块链最后一个物理块中物理页是否存有所述块内页偏移号对应物理页的数据,如果否,确定当前物理块链最后一个物理块中的空闲物理页,进入进行数据的写入的步骤;如果是,将存在所述数据的物理页设置为标记物理页,从当前物理块链的最后一个物理块开始由后往前查找各个物理块的标记物理页是否为空闲页,如果是,进入进行数据的写入的步骤;如果否,对当前物理链块进行擦除回收操作。4.如权利要求1所述的3D闪存的控制方法,其特征在于:在写操作时,所述控制方法还包括以下步骤:判断所述入口物理块号是否存在对应的物理块,如果否,获取空闲物理块,在空闲物理块的块内页偏移号对应物理页写入数据并在增加映射表项,如果是,进入在所述入口物理块号对应物理块所在的当前物理块链中由前往后查找所述块内页偏移号对应物理页是否空闲的步骤。5.如权利要求1所述的3D闪存的控制方法,其特征在于:所述当前物理链块进行擦除回收操作的步骤,具体包括:根据所述当前物理链块的更新频率,分配对应的物理层以移转所述当前物理链块中的数据,其中更新频率为预设时间内所述当前物理链块的更新次数。6.如权利要求1-5任意一项所述的3D闪存的控制方法,其特征在于:所述进行数据的写入的具体为:在所述块内页偏移号对应物理页或空闲物理页中进行数据的写入。7.如权利要求1所述的3D闪存的控制方法,其特征在于:所述在进行读操作时从当前物理块链最后一个物理块开始由后往前查找有效数据的步骤,具体为:查找当前物理块链最后一个物理块中物理页是否存有所述块内页偏移号对应物理页的数据,如果否,提示无数据可读;如果是,将存在所述数据的物理页设置为标记物理页,从当前物理块链的最后一个物理块开始查看各个物理块的标记物理页以确定是否存在所述块内页偏移号对应物理页的有效数据,如果是,进入进行数据的读出的步骤,如果否,进入提示无数据可读的步骤。8.一种3D闪存的控制系统,其特征在于:所述控制系统包括:生成模块,映射关系建立模块,确定模块,写入操作模块,读出操作模块,读出查找模块,写入查找分配模块和结束操作模块;生成模块,用于在进行数据的读/写...

【专利技术属性】
技术研发人员:楚一兵
申请(专利权)人:深圳市瑞耐斯技术有限公司
类型:发明
国别省市:广东;44

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

1