一种提高Block使用率的方法、装置及系统制造方法及图纸

技术编号:17970366 阅读:48 留言:0更新日期:2018-05-16 11:17
本申请公开了一种提高Block使用率的方法、装置及系统,获取数据存储指令之后,遍历Nand Flash中第一Multi‑plane的所有Block,确定坏Block所在的位置,然后降低plane中plane address的比特数量,得到第二Multi‑plane,将坏Block在第二Multi‑plane中排除,得到可用Block集合,最后向Block集合中存入数据。本申请提供的方法、装置及系统,可以通过降低plane address比特数量的方法,将多plane的Block结构,转换成单Block的结构,这样,即使多plane的Block结构中存在坏Block,也不影响其他Block的使用,即使Nand Flash不支持Unaligned‑plane Operation特性,也可以提高Block的使用率,同时不需要额外的维护开销。

【技术实现步骤摘要】
一种提高Block使用率的方法、装置及系统
本申请涉及半导体
,尤其涉及一种提高Block使用率的方法、装置及系统。
技术介绍
在SSD(SolidStateDrives,固态硬盘)实际的使用场景中,通常会将多个Block(块,NandFlash中擦除的基本单元)绑到一起并行操作,以实现NandFlash(快闪记忆体)的Multi-planeOperation(多平面操作)的特性。这种特性在单次执行操作的时候,对多个物理Block进行基本操作,可以提高单次操作的数据量、带宽和效率,目前,主流的Multi-plane为4-plane、2-plane等,即4个物理Block和2个物理Block并发操作,其中,一个plane(平面)对应于一个Block。目前,SSD上的Multi-plane操作多是依赖于NandFlash的Unaligned-planeOperation(不对齐平面操作)的特性,Unaligned-planeOperation是指不是同一行的Block也可以组成多plane结构进行操作,这样对于NandFlash不支持Unaligned-planeOperation的情况,SSD进行Multi-plane操作的可行性会降低;另外,在NandFlash不支持Unaligned-planeOperation的情况下,如果有一个物理Block损坏,Multi-plane操作下的多个Block都会被标记为坏块而不被使用,使好的物理Block浪费,影响SSD内部容量的冗余,即使目前有使用好的Block对坏的Block进行替换的操作,也会造成额外的开销,造成不必要的浪费。可见,目前使用的Multi-plane操作过多依赖于NandFlash的Unaligned-planeOperation的特性,同时,为了维护Unaligned-plane,还要过多浪费额外的开销。
技术实现思路
本申请提供了一种提高Block使用率的方法、装置及系统,以解决目前使用的Multi-plane操作过多依赖于NandFlash的Unaligned-planeOperation的特性和过多浪费额外的开销的问题。第一方面,本申请提供了一种提高Block使用率的方法,包括:获取数据存储指令;根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置,其中,每一个所述Block对应一个plane;降低所述plane中planeaddress的比特数量,得到第二Multi-plane;将所述坏Block在所述第二Multi-plane中排除,得到可用Block集合;向所述Block集合中存入数据。可选的,所述第一Multi-plane为包含多个plane集合的集合,其中,所述plane集合为多个Block并行绑定的集合。可选的,所述第二Multi-plane中包括多个所述plane集合,其中,所述plane集合为多个Block并行绑定的集合或者单个Block组成的集合。可选的,所述根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置的步骤包括:标记第一Multi-plane中的所有Block,使所有Block带有标记信息,其中,标记信息与所述Block的位置对应;根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block;如果存在坏Block,则读取所述坏Block的标记信息,确定坏Block所在的位置。可选的,所述planeaddress是从Blockaddress的尾部划分出来的,以及,所述planeaddress的比特数量是指所述planeaddress的地址位长度。第二方面,本申请提供一种提高Block使用率的装置,包括:指令获取单元,用于获取数据存储指令;扫描单元,用于根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置,其中,每一个所述Block对应一个plane;控制单元,用于降低所述plane中planeaddress的比特数量,得到第二Multi-plane;整合单元,用于将所述坏Block在所述第二Multi-plane中排除,得到可用Block集合;存储单元,用于向所述Block集合中存入数据。可选的,所述扫描单元还包括:标记单元,用于标记第一Multi-plane中的所有Block,使所有Block带有标记信息,其中,标记信息与所述Block的位置对应;遍历单元,用于根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block;定位单元,用于如果存在坏Block,则读取所述坏Block的标记信息,确定坏Block所在的位置。第三方面,本申请提供一种提高Block使用率的系统,包括:主控器和NandFlash;所述主控器,用于获取数据存储指令;根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置,其中,每一个所述Block对应一个plane;降低所述plane中planeaddress的比特数量,得到第二Multi-plane;将所述坏Block在所述第二Multi-plane中排除,得到可用Block集合;向所述Block集合中存入数据;所述NandFlash,用于存储数据。由以上技术方案可知,本申请提供了一种提高Block使用率的方法、装置及系统,获取数据存储指令之后,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置,然后降低plane中planeaddress的比特数量,得到第二Multi-plane,将坏Block在第二Multi-plane中排除,得到可用Block集合,最后向Block集合中存入数据。本申请提供的方法、装置及系统,可以通过降低planeaddress比特数量的方法,将多plane的Block结构,转换成单Block的结构,这样,即使多plane的Block结构中存在坏Block,也不影响其他Block的使用,即使NandFlash不支持Unaligned-planeOperation特性,也可以提高Block的使用率,同时不需要额外的维护开销。附图说明为了更清楚地说明本申请的技术方案,下面将对实施案例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种提高Block使用率的方法流程图;图2为本申请实施例提供的第二种提高Block使用率的方法流程图;图3为本申请实施例中的2-plane的结构图;图4为本申请实施例中提供的Blockaddress的地址结构图;图5为本申请实施例中的Single-plane的结构图;图6为本申请实施例中的4-plane的结构图;图7为本申请实施例中由4-plane转换而来的2-plane的结构图;图8为本申请实施例提供的一种提高Block使用率的装置的结构图;图9为本申请实施例提供的本文档来自技高网
...
一种提高Block使用率的方法、装置及系统

【技术保护点】
一种提高Block使用率的方法,其特征在于,包括:获取数据存储指令;根据所述数据存储指令,遍历Nand Flash中第一Multi‑plane的所有Block,确定坏Block所在的位置,其中,每一个所述Block对应一个plane;降低所述plane中plane address的比特数量,得到第二Multi‑plane;将所述坏Block在所述第二Multi‑plane中排除,得到可用Block集合;向所述Block集合中存入数据。

【技术特征摘要】
1.一种提高Block使用率的方法,其特征在于,包括:获取数据存储指令;根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置,其中,每一个所述Block对应一个plane;降低所述plane中planeaddress的比特数量,得到第二Multi-plane;将所述坏Block在所述第二Multi-plane中排除,得到可用Block集合;向所述Block集合中存入数据。2.根据权利要求1所述的方法,其特征在于,所述第一Multi-plane为包含多个plane集合的集合,其中,所述plane集合为多个Block并行绑定的集合。3.根据权利要求2所述的方法,其特征在于,所述第二Multi-plane中包括多个所述plane集合,其中,所述plane集合为多个Block并行绑定的集合或者单个Block组成的集合。4.根据权利要求3所述的方法,其特征在于,所述根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block,确定坏Block所在的位置的步骤包括:标记第一Multi-plane中的所有Block,使所有Block带有标记信息,其中,标记信息与所述Block的位置对应;根据所述数据存储指令,遍历NandFlash中第一Multi-plane的所有Block;如果存在坏Block,则读取所述坏Block的标记信息,确定坏Block所在的位置。5.根据权利要求4所述的方法,其特征在于,所述planeaddress是从Blockaddress的尾部划分出来的,以及,所述planeaddress的比特数量是指所述planeaddress...

【专利技术属性】
技术研发人员:杨帆彭鹏姜黎
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

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

1