一种3D闪存的控制方法及控制系统与流程

文档序号:11829490阅读:来源:国知局

技术特征:

1.一种3D闪存的控制方法,其特征在于:所述控制方法包括以下步骤:

在进行数据的读/写操作时,根据读/写数据的逻辑页号得到逻辑块号和块内页偏移号;

根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号,其中所述物理块链包括一个作为入口物理块的基本块和多个用于更新数据的替换块;

判断所述入口物理块号对应物理块中所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,进行数据的写入或读出;

如果否,在进行读操作时,查找所述当前物理块链中各个物理块的物理页,当查找到所述块内页偏移号对应物理页存在有效数据时,进行有效数据的读出,否则返回提示无有效数据;

在进行写操作时,查找所述当前物理块链中各个替换块是否有空闲物理页,如果是,在所述空闲物理页中进行数据的写入,如果否,则查找所述当前物理块链之外的物理块链是否存在空闲物理块,如果存在空闲物理块,将所述空闲物理块分配给所述当前物理块链并在所述空闲物理块的空闲物理页中进行数据的写入,如果没有存在空闲物理块,则进行物理块的擦除回收操作。

2.如权利要求1所述的控制方法,其特征在于:所述查找所述当前物理块链中各个替换块是否有空闲物理页的步骤,具体为:

按照物理块加入当前物理块链的顺序查找所述当前物理块链中各个替换块是否有空闲物理页。

3.如权利要求1所述的控制方法,其特征在于:所述查找所述当前物理块链之外的物理块链是否存在空闲物理块,具体包括:

查找所述当前物理块链所在物理行中是否存在空闲物理块;

如果是,进入将所述空闲物理块分配给所述当前物理块链并在所述空闲物理块的空闲物理页中进行数据的写入的步骤;

如果否,查找所述当前物理块链所在物理行外的物理行是否存在空闲物理块。

4.如权利要求3所述的控制方法,其特征在于:所述查找所述当前物理块链所在物理行外的物理行是否存在空闲物理块,具体包括:

构建一个队列,其中所述队列包括多个元素,每个元素对应一个物理行;

从所述队列的队头至所述当前物理块链中第一个替换块所在物理行对应的元素顺次查找是否有存在空闲物理块的物理行,如果是,进入将所述空闲物理块分配给所述当前物理块链并在所述空闲物理块的空闲物理页中进行数据的写入的步骤,如果否,则进入进行物理块的擦除回收操作的步骤。

5.如权利要求4所述的控制方法,其特征在于:每个元素的记录内容包括对应物理行中物理块的总擦除次数;

构建一个队列,具体为;

根据所述物理行中物理块的总擦除次数从小到大对多个元素进行排列,形成所述队列。

6.如权利要求4或5所述的控制方法,其特征在于:每个元素的记录内容包括对应物理行中物理块的总擦除次数和空闲物理页占该行总空间的比例。

7.如权利要求6所述的控制方法,其特征在于:所述物理块的擦除回收操作,具体包括:

从所述队列的队头开始至所述当前物理块链中第一个替换块所在物理行对应的元素,查找队列中每个元素所记录的空闲物理页占该行总空间的比例,以确定所述空闲物理页所占比例最大的元素;

对所述空闲物理页所占比例最大的元素对应物理行中最长的物理链块进行擦除回收;

修改所述空闲物理页所占比例最大的元素中的记录内容;

移动所述空闲物理页所占比例最大的元素在队列中的位置,以重新排列所述队列,并进入将所述空闲物理块分配给所述当前物理块链并在所述空闲物理块的空闲物理页中进行数据的写入的步骤。

8.如权利要求1所述的控制方法,其特征在于:所述将所述空闲物理块分配给所述当前物理块链并在所述空闲物理块的空闲物理页中进行数据的写入,具体为:

将所述空闲物理块分配给所述当前物理块链,并为位于所述当前物理块链的链尾;

在所述空闲物理块的第一个空闲物理页中进行数据的写入。

9.一种3D闪存的控制系统,其特征在于:所述控制系统包括:生成模块,映射关系建立模块,确定模块,写入操作模块,读出操作模块,读出查找模块,写入查找分配模块,结束操作模块和擦除回收操作模块;

生成模块,用于在进行数据的读/写操作时,根据读写数据的逻辑页号得到逻辑块号和块内页偏移号;

映射关系建立模块,用于根据预设的映射表得到所述逻辑块号对应物理块链的入口物理块号,其中所述物理块链包括一个作为入口物理块的基本块和多个用于更新数据的替换块;

确定模块,用于判断所述入口物理块号对应物理块中所述块内页偏移号对应物理页是否空闲或是否存在有效数据,如果是,在进行读操作时,进入读出操作模块,在进行写操作时,进入写入操作模块,如果否,在进行读操作时,进入读出查找模块,在进行写操作时,进入写入查找分配模块;

读出操作模块,用于进行有效数据的读出;

写入操作模块,用于在所述空闲物理页中进行数据的写入;

读出查找模块,用于查找所述当前物理块链中各个物理块的物理页,当查找到所述块内页偏移号对应物理页存在有效数据时,进入读出操作模块,否则进入结束操作模块;

写入查找分配模块,用于查找所述当前物理块链中各个替换块是否有空闲物理页,如果是,进入写入操作模块,如果否,所述写入查找分配模块还用于查找所述当前物理块链之外的物理块链是否存在空闲物理块,如果存在空闲物理块,将所述空闲物理块分配给所述当前物理块链和进入写入操作模块,如果没有存在空闲物理块,进入所述擦除回收操作模块;

擦除回收操作模块,用于进行物理块的擦除回收操作。

10.如权利要求9所述的控制系统,其特征在于:所述写入查找分配模块还用于按照物理块加入当前物理块链的顺序查找所述当前物理块链中各个替换块是否有空闲物理页。

11.如权利要求9所述的控制系统,其特征在于:所述写入查找分配模块包括第一物理块查找单元,物理块分配单元和第二物理块查找单元;

第一物理块查找单元,用于查找所述当前物理块链所在物理行中是否存在空闲物理块,如果是,进入物理块分配单元和写入操作模块,如果否,查找所述当前物理块链所在物理行外的物理行是否存在空闲物理块;

物理块分配单元,用于将所述空闲物理块分配给所述当前物理块链;

第二物理块查找单元,用于查找所述当前物理块链所在物理行外的物理行是否存在空闲物理块,如果是,进入物理块分配单元和写入操作模块,如果否,进入擦除回收操作模块。

12.如权利要求11所述的控制系统,其特征在于:所述写入查找分配模块包括队列构建单元和队列扫描单元,

队列构建单元用于构建一个队列,其中所述队列包括多个元素,每个元素对应一个物理行;

队列扫描单元用于从所述队列的队头至所述当前物理块链中第一个替换块所在物理行对应的元素顺次查找是否有存在空闲物理块的物理行,如果是,进入物理块分配单元和写入操作模块,如果否,则进入所述擦除回收操作模块。

13.如权利要求12所述的控制系统,其特征在于:每个元素的记录内容包括对应物理行中物理块的总擦除次数,所述队列构建单元还用于根据所述物理行中物理块的总擦除次数从小到大对多个元素进行排列,形成所述队列。

14.如权利要求12或13所述的控制系统,其特征在于:每个元素的记录内容包括对应物理行中物理块的总擦除次数和空闲物理页占该行总空间的比例。

15.如权利要求14所述的控制系统,其特征在于:所述擦除回收操作模块包括:元素扫描单元,物理块链回收单元,修改单元和移动单元,

元素扫描单元,用于从所述队列的队头开始至所述当前物理块链中第一个替换块所在物理行对应的元素,查找队列中每个元素所记录的空闲物理页占该行总空间的比例,以确定所述空闲物理页所占比例最大的元素;

物理块链回收单元,用于对所述空闲物理页所占比例最大的元素对应物理行中最长的物理链块进行擦除回收;

修改单元,用于修改所述空闲物理页所占比例最大的元素中的记录内容;

移动单元,用于移动所述空闲物理页所占比例最大的元素在队列中的位置,以重新排列所述队列,并进入物理块分配单元和写入操作模块。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1