CN106445408A - 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 - Google Patents
一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 Download PDFInfo
- Publication number
- CN106445408A CN106445408A CN201610791411.6A CN201610791411A CN106445408A CN 106445408 A CN106445408 A CN 106445408A CN 201610791411 A CN201610791411 A CN 201610791411A CN 106445408 A CN106445408 A CN 106445408A
- Authority
- CN
- China
- Prior art keywords
- block
- binding
- flash memory
- nand flash
- physical block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明实施例公开了一种NAND闪存管理方法、主机、NAND闪存读写方法及NAND闪存控制器,本发明实施例NAND闪存管理方法包括:获取NAND闪存的坏块信息;根据坏块信息确定第一绑定块和第二绑定块,第一绑定块中互相绑定的物理块均为好块,第二绑定块中互相绑定的物理块中包括坏块;将第一绑定块的信息存入准绑定块表中,将第二绑定块中好块的信息存入NAND闪存中的单独物理块表中;向NAND闪存发送存储请求,存储请求包括准绑定块表和单独物理块表,以使得NAND闪存的控制器将准绑定块表和单独物理块表存入NAND闪存中,并通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问,能够兼顾NAND闪存的高速与大容量。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种NAND闪存管理方法、主机、NAND闪存读写方法及NAND闪存控制器。
背景技术
随着各种移动电子设备的普及,以NAND闪存介质为数据存储介质的存储装置已较为普及,应用越来越广泛,进而导致需求的容量也在大幅增加,在既有的NAND闪存型号的基础上提高容量的方法便是将多片同型号的NAND闪存进行类似串联、并联的连接来提高容量。容量增加的同时速度的重要性也凸显出来。
传统技术中,对闪存进行访问时,比如需要写入两页数据时,需要在第一页数据写完后才能继续写第二页数据,需要一定的等待时间,访问速度受到制约。为了提高NAND闪存的性能,旨在提高闪存介质芯片数据读写速度的技术也不断更新,比如多阶读写技术Multiplane、外部交叉读写技术interleave、内部交叉读写技术等。此类技术的基础是对闪存中的多个物理块进行分区,并将不同区域的不同物理块进行绑定,以实现对绑定的几个物理块同时进行访问,减少等待时间,提高访问速度。
但是,NAND闪存在出厂时允许会有若干个物理块是坏的,即不可使用的物理块,现有技术难以避免的会将好的物理块与坏的物理块绑定在一起,导致整个绑定的物理块无法使用,使得NAND闪存的可用容量下降,甚至导致实际好块率达到出厂合格标准的NAND闪存最终成为废品。
发明内容
本发明实施例提供了一种NAND闪存管理方法、主机、NAND闪存读写方法及NAND闪存控制器,用于解决现有技术中将好的物理块与坏的物理块绑定在一起,导致整个绑定的物理块无法使用的问题。
为达到上述目的,本发明实施例的一方面提供了一种NAND闪存管理方法,包括:
获取NAND闪存的坏块信息;
根据所述坏块信息确定第一绑定块和第二绑定块,所述第一绑定块中互相绑定的物理块均为好块,所述第二绑定块中互相绑定的物理块中包括坏块;
将所述第一绑定块的信息存入准绑定块表中,将所述第二绑定块中好块的信息存入所述NAND闪存中的单独物理块表中;
向所述NAND闪存发送存储请求,所述存储请求包括所述准绑定块表和所述单独物理块表,以使得所述NAND闪存的控制器将所述准绑定块表和所述单独物理块表存入所述NAND闪存中,并通过并行读写命令对所述第一绑定块进行访问,通过标准读写命令对所述第二绑定块中的好块进行访问。
结合第一方面,在第一方面的第一种可能的实现方式中,在根据所述坏块信息确定第一绑定块和第二绑定块之前,所述方法还包括:
获取所述NAND闪存的配置信息;
根据所述配置信息建立预绑定块表,所述预绑定块表中记录有目标绑定块的信息,所述目标绑定块包括所述NAND闪存第一区域的第一物理块和所述NAND闪存第二区域的第二物理块。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述坏块信息确定第一绑定块和第二绑定块包括:
根据所述坏块信息判断所述目标绑定块中是否存在坏块;
若否,则确定所述目标绑定块为所述第一绑定块;
若是,则确定所述目标绑定块为所述第二绑定块。
本发明实施例的第二方面提供了一种NAND闪存读写方法,包括:
接收对NAND闪存的读写请求;
根据所述读写请求确定待访问的NAND闪存的目标物理块;
若所述目标物理块在准绑定块表中,则通过并行读写命令对所述目标物理块进行访问;
若所述目标物理块在单独物理块表中,则通过标准读写命令对所述目标物理块进行访问;
所述准绑定块表中记录有绑定块的信息,所述绑定块中的物理块均为好块,所述单独物理块表中记录有单独物理块的信息,所述单独物理块为好块。
结合第二方面,在第二方面的第一种可能的实现方式中,在所述接收对NAN闪存的读写请求之前,所述方法还包括:
读取所述准绑定块表和所述单独物理块表;
将所述准绑定块表中的绑定块分配给前部存储空间,将所述单独物理块表中的单独物理块分配给后部存储空间。
本发明实施例的第三方面提供了一种主机,包括:
第一获取模块,用于获取NAND闪存的坏块信息;
第一确定模块,用于根据所述坏块信息确定第一绑定块和第二绑定块,所述第一绑定块中互相绑定的物理块均为好块,所述第二绑定块中互相绑定的物理块中包括坏块;
存储模块,将所述第一绑定块的信息存入准绑定块表中,将所述第二绑定块中好块的信息存入所述NAND闪存中的单独物理块表中;
存储请求发送模块,用于向所述NAND闪存发送存储请求,所述存储请求包括所述准绑定块表和所述单独物理块表,以使得所述NAND闪存的控制器将所述准绑定块表和所述单独物理块表存入所述NAND闪存中,并通过并行读写命令对所述第一绑定块进行访问,通过标准读写命令对所述第二绑定块中的好块进行访问。
结合第三方面,在第三方面的第一种可能的实现方式中,所述主机还包括:
第二获取模块,用于获取所述NAND闪存的配置信息;
建立模块,用于根据所述配置信息建立预绑定块表,所述预绑定块表中记录有目标绑定块的信息,所述目标绑定块包括所述NAND闪存第一区域的第一物理块和所述NAND闪存第二区域的第二物理块。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述确定模块包括:
判断模块,用于根据所述坏块信息判断所述目标绑定块中是否存在坏块;
第二确定模块,用于当所述判断模块判定所述目标绑定块中存在坏块时,确定所述目标绑定块为所述第一绑定块;
第三确定模块,用于当所述判断模块判定所述目标绑定块中不存在坏块时,确定所述目标绑定块为所述第二绑定块。
本发明实施例的第四方面提供了一种NAND闪存控制器,包括:
接收模块,用于接收对NAND闪存的读写请求;
确定模块,用于根据所述读写请求确定待访问的NAND闪存的目标物理块;
第一访问模块,用于当所述目标物理块在准绑定块表中时,通过并行读写命令对所述目标物理块进行访问;
第二访问模块,用于当所述目标物理块在单独物理块表中时,通过标准读写命令对所述目标物理块进行访问;
所述准绑定块表中记录有绑定块的信息,所述绑定块中的物理块均为好块,所述单独物理块表中记录有单独物理块的信息,所述单独物理块为好块。
结合第四方面,在第四方面的第一种可能的实现方式中,所述NAND闪存控制器还包括:
读取模块,用于读取所述准绑定块表和所述单独物理块表;
分配模块,用于将所述准绑定块表中的绑定块分配给前部存储空间,将所述单独物理块表中的单独物理块分配给后部存储空间。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例可以根据坏块信息确定第一绑定块和第二绑定块,第一绑定块中互相绑定的物理块均为好块,第二绑定块中互相绑定的物理块中包括坏块,将第一绑定块的信息准绑定块表中,将第二绑定块中好块的信息存入单独物理块表中,并向NAND闪存发送存储准绑定块表和单独物理块表的请求,以使得NAND闪存的控制器将准绑定块表和单独物理块表存入NAND闪存中,并通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问。这样避免了现有技术中将好的物理块与坏的物理块绑定在一起而导致整个绑定的物理块无法使用的问题,提高了NAND闪存的可用容量,避免了当NAND闪存的实际好块率达到出厂合格标准时,因好块与坏块绑定降低可用容量导致成为废品的情况。
附图说明
图1是本发明NAND闪存管理方法一个实施例示意图;
图2是本发明NAND闪存管理方法另一个实施例示意图;
图3是本发明NAND闪存读写方法一个实施例示意图;
图4是本发明主机一个实施例示意图;
图5是本发明主机另一个实施例示意图;
图6是本发明NAND闪存控制器一个实施例示意图。
具体实施方式
本发明实施例提供了一种NAND闪存管理方法、主机、NAND闪存读写方法及NAND闪存控制器,用于在保证NAND闪存的高访问速度的前提下,提高NAND闪存的可用容量。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着科学技术的飞速发展,以及智能手机的普及,对高速大容量的闪存存储设备的需求也越来越大。NAND闪存由于其功耗低、体积小、防震抗摔和访问速度快等优点而选用于简易型可移动和嵌入式设备的存储领域。现在市面上比较通用的嵌入式闪存设备有嵌入式多媒体卡EMMC和微安全数码卡Micro SD卡等。近年来,为了适应闪存存储设备的高速、低延时、大容量的需求,固态技术协会JEDEC推出一种新的接口协议,即通用闪存标准UFS,现在最新标准为UFS 2.0,该标准下的读写速度最大可达每秒1400MB,性能远远大于EMMC,Micro SD卡接口。
传统技术中,对闪存进行访问时,需要通过标准读写命令访问闪存中的物理块,比如需要写入两页数据时,需要在第一页数据写完后才能继续写第二页数据,需要一定的等待时间,访问速度受到制约。为了提高NAND闪存的性能,旨在提高闪存介质芯片数据读写速度的技术也不断更新,比如多阶读写技术Multiplane、外部交叉读写技术interleave、内部交叉读写技术等。可以将NAND闪存中的多个物理块分为多个区域,或者称作多个plane。Multiplane技术可以对NAND闪存中多个plane的不同物理块进行同时访问,interleave技术可将多个闪存芯片并行连接成一块闪存芯片,从而实现并行访问多个闪存芯片。此类技术的基础均是对闪存中的多个物理块进行分区,并将不同区域的不同物理块进行绑定,在进行编程或读取操作的时候,一个绑定块中的多个物理块在操作上是交替进行的,即可以根据并行读写命令对绑定块中的各个物理块同时进行访问,减少等待时间,提高访问速度。
但是,根据闪存标准,NAND闪存在出厂时允许有若干个物理块是坏的,即不可使用的物理块。我们可以预见这样一种情况:假设一颗NAND闪存允许有3%的坏物理块,而不幸的是这3%的物理块都在同一个Plane中,那么在速度需求的驱动下,需要将该plane中的物理块与另一个plane中的物理块进行绑定,那么绑定后,两个Plane中能用的物理块将只剩94%,而若将该plane中的物理块与另外三个Plane中的物理块进行绑定,四个plane中能用的物理块将只剩88%,使得NAND闪存的可用容量下降,甚至因此可能导致一颗“出厂合格”的NAND闪存最终成为“废品”。
因为出厂NAND闪存的坏块只有较少的数量,因而第二类的Block在总容量上只占了很小的一部分。由于NAND闪存在出厂时会保证所有的产品的Block 0(编号为0的物理块)是好的,从而就可以在量产时将NAND闪存的许多相关参数以及各个物理块的好坏信息保存在Block 0内的某个物理页内,在设备上电后,就可以读出这些信息。因此,为了解决上述问题,本发明实施例将根据物理块的好坏信息,将NAND闪存中所有的物理块划分为两类:第一类是能进行绑定的好的物理块,即绑定块在每个Plane中的物理块都是好的;第二类是无法绑定的坏的物理块,即若绑定块中存在坏的物理块,这个绑定块中其他好的物理块。可以将第一类的绑定块信息存入绑定块信息表中,将第二类的单独物理块信息存入单独块信息表中。NAND闪存的存储控制器可以根据绑定块信息表和单独块信息表对NAND闪存进行管理,即通过并行读写命令对绑定块信息表中的物理块进行访问,通过标准读写命令访问单独块信息表中的物理块进行单独访问。这样,既可以保证用户存储速度的需求,也能避免容量浪费。
为了便于本领域技术人员的理解,本发明通过以下实施例对本发明提供的技术方案的具体实现过程进行说明。
请参阅图1,本发明实施例中NAND闪存管理方法一个实施例包括:
101、获取NAND闪存的坏块信息;
量产阶段,可以对Nand闪存的所有物理块进行原厂坏块检查,并将物理块的坏块信息存储在该NAND闪存中。本发明实施例中的主机可以为计算机,但不限定为计算机,还可以为能够外挂NAND闪存设备的单片机,只要其具有运算处理能力、具有存储单元,并且能够接入NAND闪存设备即可,此处不做具体限定。
102、根据坏块信息确定第一绑定块和第二绑定块;
主机在获取到坏块信息之后,可以根据坏块信息确定第一绑定块和第二绑定块,第一绑定块中互相绑定的物理块均为好块,第二绑定块中互相绑定的物理块中包括坏块。
103、将第一绑定块的信息存入准绑定块表中;
在确定第一绑定块之后,可以将第一绑定块的信息存入准绑定块表中。第一绑定块的信息用以表明第一绑定块由哪些单独物理块绑定而成,以及这些单独物理块的信息,比如物理地址信息。
104、将第二绑定块中好块的信息存入单独物理块表中;
在确定第二绑定块之后,由于组成第二绑定块的单独物理块中存在坏块,可以提取第二绑定块中的好块,并将好的单独物理块的信息存入单独物理块表中。单独物理块的信息包括单独物理块的物理地址信息。需要说明的是,步骤103与步骤104没有前后时序限制。
105、向NAND闪存发送存储请求;
在得到准绑定块表和单独物理块表之后,可以向NAND闪存发送存储请求,存储请求包括准绑定块表和单独物理块表,以使得NAND闪存的控制器将准绑定块表和单独物理块表存入NAND闪存中,并通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问。
在步骤105之后,NAND闪存中便存储有记录有第一绑定块的信息的准绑定块表和记录有第二绑定块中好块的信息的单独物理块表,NAND闪存控制器就可以通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问。这样,在保证NAND闪存的访问速度的情况下,避免了现有技术中将好的物理块与坏的物理块绑定在一起而导致整个绑定的物理块无法使用的问题,提高了NAND闪存的可用容量,避免了当NAND闪存的实际好块率达到出厂合格标准时,因好块与坏块绑定降低可用容量导致成为废品的情况。
请参阅图2,本发明实施例中NAND闪存管理方法另一个实施例包括:
本发明实施例可以应用于量产过程中,量产是对存储设备上的Nand闪存进行扫描初始化的过程,而这个过程对于存储设备来讲是批量同时进行的,所以称为量产。本发明实施例能够避免当NAND闪存的实际好块率达到出厂合格标准时,因好块与坏块绑定降低可用容量导致成为废品的情况。
201、读取NAND闪存的ID;
量产时,量产工具,在这里我们称作主机,与NAND闪存设备连接后,可以识别NAND闪存的ID,可以确定该NAND闪存的型号。
202、根据ID找出对应的原厂坏块信息检查方法;
主机读取到NAND闪存的ID之后,主机端可以根据Nand闪存的ID找出对应的原厂坏块信息检查方法。
203、按照原厂坏块信息检查方法对Nand闪存的所有物理块进行原厂坏块检查,确定坏块信息;
在确定原厂坏块信息检查方法之后,主机可以按照原厂坏块信息检查方法对Nand闪存的所有物理块进行原厂坏块检查,得到该NAND闪存的坏块信息,并将坏块信息存入NAND闪存中。
204、获取NAND闪存的配置信息;
获取NAND闪存的ID之后,主机可以从预存储的配置信息表中查找该NAND闪存的配置信息。
205、根据配置信息建立预绑定块表;
在确定NAND闪存的配置信息之后,可以根据配置信息建立预绑定块表,也就是将NAND闪存中不同区域的对应物理块进行绑定。预绑定块表中记录有目标绑定块的信息,目标绑定块包括NAND闪存第一区域的第一物理块和NAND闪存第二区域的第二物理块。需要说明的是,目标绑定块包括NAND闪存第一区域的第一物理块和NAND闪存第二区域的第二物理块,不是封闭式限定,即不限定为目标绑定块仅为两个区域中对应的两个物理块绑定形成,第一区域和第二区域均可以包括一个、两个或多个区域,或者,目标绑定块还包括NAND闪存第三区域的第三物理块,为了方便举例说明,本实施例中,以目标绑定块仅由NAND闪存第一区域的第一物理块和第二区域的第二物理块组成为例。
206、获取NAND闪存的坏块信息;
步骤206与图1对应的实施例中的步骤101相同,此处不再赘述。需要说明的是,步骤206只要在步骤203之后,在步骤207之前执行即可,具体时序不做限定。
207、根据坏块信息判断目标绑定块中是否存在坏块,若否,执行步骤208,若是,执行步骤209;
获取到NAND闪存的坏块信息之后,可以对预绑定块表中的目标绑定块中的单独物理块进行检查,即对组成目标绑定块的第一物理块和第二物理块进行检查,判断第一物理块和第二物理块中是否存在坏块,若不存在坏块,则执行步骤208,若存在坏块,则执行步骤209。
208、确定目标绑定块为第一绑定块;
若判定目标绑定块中不存在坏块,也就是说明组成目标绑定块的第一物理块和第二物理块均为好块,均可以使用,此时可以确定目标绑定块为第一绑定块,本实施例中,第一绑定块是指互相绑定的物理块均为好块的绑定块。
209、确定目标绑定块为第二绑定块;
若判定目标绑定块中存在坏块,也就是说明组成目标绑定块的第一物理块和第二物理块至少有一个是坏块,不能使用,比如,第一物理块为好块,第二物理块为坏块。此时可以确定目标绑定块为第二绑定块,本实施例中,第二绑定块是指互相绑定的物理块存在坏块的绑定块。
210、将第一绑定块的信息存入准绑定块表中;
若确定目标绑定块为第一绑定块,可以将第一绑定块的信息存入准绑定块表中。第一绑定块的信息用以表明第一绑定块由哪些单独物理块绑定而成,以及这些单独物理块的信息,比如物理地址信息。在本实施例中,第一绑定块的信息可以表明,第一绑定块由第一物理块和第二物理块绑定而成,第一物理块位于NAND闪存的第一区域,第二物理块位于NAND闪存的第二区域。
211、将第二绑定块中好块的信息存入单独物理块表中;
若确定目标绑定块为第二绑定块,则可以提取第二绑定块中的好块,即第一物理块,并将第一物理块的信息存入单独物理块表中。
212、向NAND闪存发送存储请求。
向NAND闪存发送存储请求,存储请求包括准绑定块表和单独物理块表,以使得NAND闪存的控制器将准绑定块表和单独物理块表存入NAND闪存中,并通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问。
遍历预绑定块表中的所有绑定块,对各个绑定块分别执行步骤207至步骤211,在完成对所有绑定块的操作之后,此时得到的准绑定块表和单独物理块表中记录有NAND闪存中的所有好块信息,可以向NAND闪存发送存储请求,以使得NAND闪存的控制器将此时得到的准绑定块表和单独物理块表存入NAND闪存中。NAND闪存设备经过初始化之后,该NAND闪存的控制器可以通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问,实现对NAND闪存进行兼具速度与容量的管理。
在主机向NAND闪存存入准绑定块表和单独物理块表之后,NAND闪存控制器可以根据准绑定块表和单独物理块表对NAND闪存进行兼具速度与容量的管理,具体过程如下,请参阅图3,本发明实施例中NAND闪存读写方法一个实施例包括:
301、读取准绑定块表和单独物理块表;
量产阶段,在NAND闪存存入准绑定块表和单独物理块表之后,NAND闪存与主机连接后,NAND闪存控制器可以读取准绑定块表和单独物理块表。准绑定块表中记录有绑定块的信息,绑定块中的物理块均为好块,单独物理块表中记录有单独物理块的信息,单独物理块为好块。
302、将准绑定块表中的绑定块分配给前部存储空间,将单独物理块表中的单独物理块分配给后部存储空间;
读取准绑定块表和单独物理块表之后,可以将准绑定块表中的绑定块分配给前部存储空间,将单独物理块表中的单独物理块分配给后部存储空间,使得NAND闪存控制器优先使用绑定块,提高访问速度。需要说明的是,在实际使用中,步骤302也可以不执行。
303、接收对NAND闪存的读写请求;
在对NAND闪存进行初始化之后,NAND闪存控制器可以接收主机对NAND闪存的读写请求。
304、根据读写请求确定待访问的NAND闪存的目标物理块;
NAND闪存控制器在接收到主机对NAND闪存的读写请求之后,可以根据读写请求中携带的逻辑地址以及逻辑地址与物理地址的映射关系,确定待访问物理地址,确定待访问的NAND闪存的目标物理块。
305、判断目标物理块是否在准绑定块表中,若是,则执行步骤306,若否,则执行步骤307;
确定待访问的NAND闪存的目标物理块之后,NAND闪存控制器可以判断目标物理块是否在准绑定块表中,若是,则执行步骤306,若否,则执行步骤307。
306、通过并行读写命令对目标物理块进行访问;
若目标物理块在准绑定块表中,确定目标物理块对应的绑定块,通过并行读写命令对目标物理块进行访问,即对目标物理块所在的绑定块进行并行访问,也就是对绑定块中的各物理块进行交替式的读写操作。
307、确定目标物理块在单独物理块表中;
若目标物理块不在准绑定块表中,则确定目标物理块在单独物理块表中。
308、通过标准读写命令对目标物理块进行访问。
若目标物理块在单独物理块表中,则通过标准读写命令对目标物理块进行访问,也就是对目标物理块进行单独访问。
本发明实施例,对准绑定块表中的绑定块可以进行快速的并行访问,对单独物理块表中的单独物理块可以进行原始的单独访问,由于NAND闪存的坏块数较少,这样和现有技术相比,既保证了NAND闪存的高访问速度,还能提高NAND闪存的可用容量。
上面对本发明实施例中的方法进行了描述,下面对本发明实施例中的装置进行描述。
请参阅图4,本发明实施例中主机的一个实施例包括:
第一获取模块401,用于获取NAND闪存的坏块信息;
第一确定模块402,用于根据坏块信息确定第一绑定块和第二绑定块,第一绑定块中互相绑定的物理块均为好块,第二绑定块中互相绑定的物理块中包括坏块;
存储模块403,用于将第一绑定块的信息存入准绑定块表中,将第二绑定块中好块的信息存入NAND闪存中的单独物理块表中。
存储请求发送模块404,用于向NAND闪存发送存储请求,存储请求包括准绑定块表和单独物理块表,以使得NAND闪存的控制器将准绑定块表和单独物理块表存入NAND闪存中,并通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问。
本实施例中的主机各模块间的关系参照图1对应的实施例,此处不再赘述。
请参阅图5,本发明实施例中主机的另一个实施例包括:
读取模块501,用于读取NAND闪存的ID。
查找模块502,用于根据ID找出对应的原厂坏块信息检查方法。
坏块检查模块503,用于按照原厂坏块信息检查方法对Nand闪存的所有物理块进行原厂坏块检查,确定坏块信息。
第二获取模块504,用于获取NAND闪存的配置信息。
建立模块505,用于根据配置信息建立预绑定块表,预绑定块表中记录有目标绑定块的信息,目标绑定块包括NAND闪存第一区域的第一物理块和NAND闪存第二区域的第二物理块;
第一获取模块506,用于获取NAND闪存的坏块信息。
判断模块507,用于根据坏块信息判断目标绑定块中是否存在坏块。
第二确定模块508,用于当判断模块判定目标绑定块中存在坏块时,确定目标绑定块为第一绑定块。
第三确定模块509,用于当判断模块判定目标绑定块中不存在坏块时,确定目标绑定块为第二绑定块。
存储模块510,用于将第一绑定块的信息存入准绑定块表中,将第二绑定块中好块的信息存入NAND闪存中的单独物理块表中。存储模块510包括:
第一存储单元5101,用于将第一绑定块的信息存入NAND闪存中的准绑定块表中;
第二存储单元5102,用于将第二绑定块中好块的信息存入NAND闪存中的单独物理块表中。
存储请求发送模块511,用于向NAND闪存发送存储请求,存储请求包括准绑定块表和单独物理块表,以使得NAND闪存的控制器将准绑定块表和单独物理块表存入NAND闪存中,并通过并行读写命令对第一绑定块进行访问,通过标准读写命令对第二绑定块中的好块进行访问。
本实施例中的主机各模块间的关系参照图2对应的实施例,此处不再赘述。
请参阅图6,本发明实施例中NAND闪存控制器600的一个实施例包括:
读取模块601,用于读取准绑定块表和单独物理块表。
分配模块602,用于将准绑定块表中的绑定块分配给前部存储空间,将单独物理块表中的单独物理块分配给后部存储空间。
接收模块603,用于接收对NAND闪存的读写请求。
第一确定模块604,用于根据读写请求确定待访问的NAND闪存的目标物理块。
第一判断模块605,用于判断目标物理块是否在准绑定块表中,若是,则触发模块606,若否,则触发模块607。
第一访问模块606,用于当目标物理块在准绑定块表中时,通过并行读写命令对目标物理块进行访问。
第二确定模块607,用于当目标物理块不在准绑定块表中时,确定目标物理块在单独物理块表中。
第二访问模块608,用于在第二确定模块607确定目标物理块在单独物理块表中之后,通过标准读写命令对目标物理块进行访问。
本实施例中的NAND闪存控制器各模块间的关系参照图3对应的实施例,此处不再赘述。
本发明的NAND闪存可以应用在基于闪存的固态存储系统或设备中,应用于计算机存储、服务器存储、移动设备存储、多媒体存储等领域。
在本申请所提供目标区域可以为默认的区域,也可以为用户预设的区域。并且,所述的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种NAND闪存管理方法,其特征在于,包括:
获取NAND闪存的坏块信息;
根据所述坏块信息确定第一绑定块和第二绑定块,所述第一绑定块中互相绑定的物理块均为好块,所述第二绑定块中互相绑定的物理块中包括坏块;
将所述第一绑定块的信息存入准绑定块表中,将所述第二绑定块中好块的信息存入所述NAND闪存中的单独物理块表中;
向所述NAND闪存发送存储请求,所述存储请求包括所述准绑定块表和所述单独物理块表,以使得所述NAND闪存的控制器将所述准绑定块表和所述单独物理块表存入所述NAND闪存中,并通过并行读写命令对所述第一绑定块进行访问,通过标准读写命令对所述第二绑定块中的好块进行访问。
2.根据权利要求1所述的NAND闪存管理方法,其特征在于,在根据所述坏块信息确定第一绑定块和第二绑定块之前,所述方法还包括:
获取所述NAND闪存的配置信息;
根据所述配置信息建立预绑定块表,所述预绑定块表中记录有目标绑定块的信息,所述目标绑定块包括所述NAND闪存第一区域的第一物理块和所述NAND闪存第二区域的第二物理块。
3.根据权利要求2所述的NAND闪存管理方法,其特征在于,所述根据所述坏块信息确定第一绑定块和第二绑定块包括:
根据所述坏块信息判断所述目标绑定块中是否存在坏块;
若否,则确定所述目标绑定块为所述第一绑定块;
若是,则确定所述目标绑定块为所述第二绑定块。
4.一种NAND闪存读写方法,其特征在于,包括:
接收对NAND闪存的读写请求;
根据所述读写请求确定待访问的所述NAND闪存的目标物理块;
若所述目标物理块在准绑定块表中,则通过并行读写命令对所述目标物理块进行访问;
若所述目标物理块在单独物理块表中,则通过标准读写命令对所述目标物理块进行访问;
所述准绑定块表中记录有绑定块的信息,所述绑定块中的物理块均为好块,所述单独物理块表中记录有单独物理块的信息,所述单独物理块为好块。
5.根据权利要求4所述的NAND闪存读写方法,其特征在于,在所述接收对NAND闪存的读写请求之前,所述方法还包括:
读取所述准绑定块表和所述单独物理块表;
将所述准绑定块表中的绑定块分配给前部存储空间,将所述单独物理块表中的单独物理块分配给后部存储空间。
6.一种主机,其特征在于,包括:
第一获取模块,用于获取NAND闪存的坏块信息;
第一确定模块,用于根据所述坏块信息确定第一绑定块和第二绑定块,所述第一绑定块中互相绑定的物理块均为好块,所述第二绑定块中互相绑定的物理块中包括坏块;
存储模块,将所述第一绑定块的信息存入准绑定块表中,将所述第二绑定块中好块的信息存入所述NAND闪存中的单独物理块表中;
存储请求发送模块,用于向所述NAND闪存发送存储请求,所述存储请求包括所述准绑定块表和所述单独物理块表,以使得所述NAND闪存的控制器将所述准绑定块表和所述单独物理块表存入所述NAND闪存中,并通过并行读写命令对所述第一绑定块进行访问,通过标准读写命令对所述第二绑定块中的好块进行访问。
7.根据权利要求6所述的主机,其特征在于,所述主机还包括:
第二获取模块,用于获取所述NAND闪存的配置信息;
建立模块,用于根据所述配置信息建立预绑定块表,所述预绑定块表中记录有目标绑定块的信息,所述目标绑定块包括所述NAND闪存第一区域的第一物理块和所述NAND闪存第二区域的第二物理块。
8.根据权利要求7所述的主机,其特征在于,所述确定模块包括:
判断模块,用于根据所述坏块信息判断所述目标绑定块中是否存在坏块;
第二确定模块,用于当所述判断模块判定所述目标绑定块中存在坏块时,确定所述目标绑定块为所述第一绑定块;
第三确定模块,用于当所述判断模块判定所述目标绑定块中不存在坏块时,确定所述目标绑定块为所述第二绑定块。
9.一种NAND闪存控制器,其特征在于,包括:
接收模块,用于接收对NAND闪存的读写请求;
确定模块,用于根据所述读写请求确定待访问的NAND闪存的目标物理块;
第一访问模块,用于当所述目标物理块在准绑定块表中时,通过并行读写命令对所述目标物理块进行访问;
第二访问模块,用于当所述目标物理块在单独物理块表中时,通过标准读写命令对所述目标物理块进行访问;
所述准绑定块表中记录有绑定块的信息,所述绑定块中的物理块均为好块,所述单独物理块表中记录有单独物理块的信息,所述单独物理块为好块。
10.根据权利要求9所述的NAND闪存控制器,其特征在于,所述NAND闪存控制器还包括:
读取模块,用于读取所述准绑定块表和所述单独物理块表;
分配模块,用于将所述准绑定块表中的绑定块分配给前部存储空间,将所述单独物理块表中的单独物理块分配给后部存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610791411.6A CN106445408A (zh) | 2016-08-31 | 2016-08-31 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610791411.6A CN106445408A (zh) | 2016-08-31 | 2016-08-31 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445408A true CN106445408A (zh) | 2017-02-22 |
Family
ID=58164998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610791411.6A Pending CN106445408A (zh) | 2016-08-31 | 2016-08-31 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445408A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894872A (zh) * | 2017-09-30 | 2018-04-10 | 南京扬贺扬微电子科技有限公司 | SPI Nand Flash的坏块管理方式 |
CN108038065A (zh) * | 2017-12-22 | 2018-05-15 | 湖南国科微电子股份有限公司 | 一种提高Block使用率的方法、装置及系统 |
CN110334032A (zh) * | 2019-07-02 | 2019-10-15 | 深圳市德名利电子有限公司 | 基于混合大小单元的闪存操作方法及系统 |
CN110457233A (zh) * | 2019-08-10 | 2019-11-15 | 深圳市德名利电子有限公司 | 一种基于混合大小单元的闪存管理方法和装置以及设备 |
CN112068777A (zh) * | 2020-09-03 | 2020-12-11 | 深圳市硅格半导体有限公司 | 数据存储介质的管理方法、系统、终端设备及存储介质 |
CN112578993A (zh) * | 2019-09-27 | 2021-03-30 | 北京忆恒创源科技有限公司 | 多平面nvm处理编程出错的方法与存储设备 |
CN113111013A (zh) * | 2021-04-19 | 2021-07-13 | 深圳芯邦科技股份有限公司 | 一种闪存数据块绑定方法、装置及介质 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN115687171A (zh) * | 2022-10-26 | 2023-02-03 | 深圳三地一芯电子有限责任公司 | 闪存块绑定方法、装置、设备及存储介质 |
WO2023206605A1 (zh) * | 2022-04-25 | 2023-11-02 | 深圳市江波龙电子股份有限公司 | 存储装置的程序运行方法、电子设备及可读存储装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040162931A1 (en) * | 2003-02-19 | 2004-08-19 | Chien-Meen Hwang | Wireless receiver deinterleaver having partitioned memory |
US20050066143A1 (en) * | 2003-09-18 | 2005-03-24 | International Business Machines Corporation | Method and system for selective memory coalescing across memory heap boundaries |
CN101458660A (zh) * | 2007-12-14 | 2009-06-17 | 深圳市朗科科技股份有限公司 | 提高闪存介质扫描速度的方法 |
CN101645310A (zh) * | 2008-08-05 | 2010-02-10 | 深圳市朗科科技股份有限公司 | 闪存设备、闪存管理方法及系统 |
-
2016
- 2016-08-31 CN CN201610791411.6A patent/CN106445408A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040162931A1 (en) * | 2003-02-19 | 2004-08-19 | Chien-Meen Hwang | Wireless receiver deinterleaver having partitioned memory |
US20050066143A1 (en) * | 2003-09-18 | 2005-03-24 | International Business Machines Corporation | Method and system for selective memory coalescing across memory heap boundaries |
CN101458660A (zh) * | 2007-12-14 | 2009-06-17 | 深圳市朗科科技股份有限公司 | 提高闪存介质扫描速度的方法 |
CN101645310A (zh) * | 2008-08-05 | 2010-02-10 | 深圳市朗科科技股份有限公司 | 闪存设备、闪存管理方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894872A (zh) * | 2017-09-30 | 2018-04-10 | 南京扬贺扬微电子科技有限公司 | SPI Nand Flash的坏块管理方式 |
CN108038065A (zh) * | 2017-12-22 | 2018-05-15 | 湖南国科微电子股份有限公司 | 一种提高Block使用率的方法、装置及系统 |
CN108038065B (zh) * | 2017-12-22 | 2021-11-12 | 湖南国科微电子股份有限公司 | 一种提高Block使用率的方法、装置及系统 |
CN110334032A (zh) * | 2019-07-02 | 2019-10-15 | 深圳市德名利电子有限公司 | 基于混合大小单元的闪存操作方法及系统 |
CN110457233A (zh) * | 2019-08-10 | 2019-11-15 | 深圳市德名利电子有限公司 | 一种基于混合大小单元的闪存管理方法和装置以及设备 |
CN112578993A (zh) * | 2019-09-27 | 2021-03-30 | 北京忆恒创源科技有限公司 | 多平面nvm处理编程出错的方法与存储设备 |
CN112068777B (zh) * | 2020-09-03 | 2023-08-18 | 深圳市硅格半导体有限公司 | 数据存储介质的管理方法、系统、终端设备及存储介质 |
CN112068777A (zh) * | 2020-09-03 | 2020-12-11 | 深圳市硅格半导体有限公司 | 数据存储介质的管理方法、系统、终端设备及存储介质 |
WO2022048109A1 (zh) * | 2020-09-03 | 2022-03-10 | 深圳市硅格半导体有限公司 | 数据存储介质的管理方法、系统、终端设备及存储介质 |
CN113111013A (zh) * | 2021-04-19 | 2021-07-13 | 深圳芯邦科技股份有限公司 | 一种闪存数据块绑定方法、装置及介质 |
CN113111013B (zh) * | 2021-04-19 | 2023-09-01 | 深圳芯邦科技股份有限公司 | 一种闪存数据块绑定方法、装置及介质 |
CN114816571B (zh) * | 2022-04-15 | 2023-06-16 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
WO2023206605A1 (zh) * | 2022-04-25 | 2023-11-02 | 深圳市江波龙电子股份有限公司 | 存储装置的程序运行方法、电子设备及可读存储装置 |
CN115687171A (zh) * | 2022-10-26 | 2023-02-03 | 深圳三地一芯电子有限责任公司 | 闪存块绑定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445408A (zh) | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 | |
CN107528882A (zh) | 区块链共识网络中处理共识请求的方法、装置和电子设备 | |
CN100585570C (zh) | 具有存储元件的存储卡及其控制方法 | |
CN102609741A (zh) | 一种移动设备及其内、外部存储卡间数据交换的方法 | |
TWI454912B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
CN104516921A (zh) | 自动回复方法及装置 | |
CN105320624B (zh) | 采用数据输入输出管理控制的电子装置 | |
CN106598495A (zh) | 一种混合存储服务质量的控制方法及控制装置 | |
CN110058799A (zh) | 存储器装置及操作存储器装置的方法 | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
US8812756B2 (en) | Method of dispatching and transmitting data streams, memory controller and storage apparatus | |
CN101944066A (zh) | 固态硬盘的接口处理方法、固态硬盘以及存储系统 | |
CN106155596A (zh) | 数据写入方法及装置 | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
CN104598161B (zh) | 数据读取、写入方法和装置及数据存储结构 | |
CN102402422A (zh) | 处理器组件及该组件内存共享的方法 | |
CN104462893A (zh) | 多se模块管理方法和多se模块管理装置 | |
WO2015006242A1 (en) | Buffer management techniques | |
CN109213423A (zh) | 基于地址屏障无锁处理并发io命令 | |
CN106341448A (zh) | 分布式存储方法、装置及系统 | |
CN101788888A (zh) | 一种实现目标端驱动的方法及该目标端驱动 | |
CN1286114C (zh) | 用于非易失性存储器的受保护的实时写入 | |
CN108628761A (zh) | 原子命令执行方法与装置 | |
CN107977159A (zh) | 一种数据存储方法以及装置 | |
CN106502591A (zh) | 一种基于混合存储产品的存储控制方法和存储控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |
|
RJ01 | Rejection of invention patent application after publication |