CN113111013A - 一种闪存数据块绑定方法、装置及介质 - Google Patents
一种闪存数据块绑定方法、装置及介质 Download PDFInfo
- Publication number
- CN113111013A CN113111013A CN202110419326.8A CN202110419326A CN113111013A CN 113111013 A CN113111013 A CN 113111013A CN 202110419326 A CN202110419326 A CN 202110419326A CN 113111013 A CN113111013 A CN 113111013A
- Authority
- CN
- China
- Prior art keywords
- binding
- plane
- target
- flash memory
- bad
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/061—Improving I/O performance
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种闪存数据块绑定方法、装置及介质,其中方法包括,将目标闪存中所有Plane按照绑定规则进行绑定生成一个逻辑分区,在目标闪存中存在坏Plane的情况下,将坏Plane与其它Plane解除绑定或者生成一个单独的逻辑分区使用。应用于本方案,在存在坏Plane的情况下,将坏Plane与其余Plane进行解绑,能够避免坏Plane对其他Plane正常使用的影响,使得正常Plane中的Block能够继续完成读写操作,因此提高了闪存的利用率。此外,在进行解绑操作后其余Plane之间仍存在绑定关系,因此保证了闪存读写操作的效率。
Description
技术领域
本申请涉及大容量存储技术领域,特别是涉及一种闪存数据块绑定方法、装置及介质。
背景技术
随着科技的发展,人们对读写速度块、存储容量大的存储器的需求日益增加,闪存(Nand Flash)孕育而生。一个闪存器件内部由至少一个片选(Chip)组成,一个Chip由至少一个逻辑单元(LUN)组成,一个LUN由至少一个面(Plane)组成,一个Plane包含有若干个数据块(Block)。在Flash使用过程中,为了通过更多的并发操作从而提高数据读写的速度,通常将不同Plane、不同LUN和不同Chip之间虚拟编号相同的Block进行绑定管理,并将虚拟编号相同的Block称为绑定块。
但在使用目前的闪存绑定方法后,当存在坏Plane时,使得整个闪存器件产生较多的坏绑定块,即与坏Block绑定的其余Block均被视为坏Block,从而导致整个闪存器件的容量严重降低甚至无法使用。
由此可见,如何在存在坏Plane的情况下提高闪存的利用率是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种闪存数据块绑定方法,用以在存在坏Plane的情况下提高闪存的利用率。本申请的目的是提供一种闪存数据块绑定装置及介质。
为解决上述技术问题,本申请提供一种闪存数据块绑定方法,包括:
将目标闪存中所有Plane按照绑定规则进行绑定;
判断所述目标闪存中是否存在坏Plane;
如果是,则将所述坏Plane与其余Plane进行解绑。
优选的,所述将所述坏Plane与其余Plane进行解绑,具体包括:
获取所述坏Plane所在的目标LUN位置和目标Chip位置;
所述坏Plane所在的目标LUN以外的其余各所述LUN之间进行绑定生成第一逻辑分区,所述第一逻辑分区内所有Chip和所有Plane继续绑定;
所述坏Plane所在的所述目标LUN的内部、所述坏Plane所在的目标Chip以外的其余各所述Chip绑定生成第二逻辑分区,所述第二逻辑分区内所有Plane继续绑定;
所述坏Plane所在的所述目标LUN、所述目标Chip内部,其余各所述Plane之间进行绑定生成第三逻辑分区;
判断所述坏Plane内部是否存在大于阈值的好Block;
如果是,则生成第四逻辑分区;
如果否,则所述坏Plane被剔除。
优选的,还包括:
获取各所述逻辑分区内各Block的第一位置;
根据所述第一位置进行对应物理地址的变换。
优选的,所述根据所述第一位置进行对应物理地址的变换,具体包括:
预先设置各所述逻辑分区的所述第一位置与各变量的对应关系;
根据所述对应关系确定各所述逻辑分区的所述第一位置对应的目标变量;
按照所述目标变量进行对应物理地址的变换。
优选的,所述判断所述目标闪存中是否存在坏Plane,具体包括:
获取所述目标闪存中坏Block的第二位置;
根据所述第二位置判断目标Plane中所述坏Block的数量是否超过预设阈值;
如果是,则确定所述目标Plane为所述坏Plane。
为解决上述技术问题,本申请还提供一种闪存数据块绑定装置,包括:
绑定模块,用于将目标闪存中所有Plane按照绑定规则进行绑定;
第一判断模块,用于判断所述目标闪存中是否存在坏Plane;
解绑模块,用于如果是,则将所述坏Plane与其余Plane进行解绑。
为解决上述技术问题,本申请还提供一种闪存数据块绑定装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的闪存数据块绑定方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的闪存数据块绑定方法的步骤。
本申请所提供的闪存数据块绑定方法,将目标闪存中所有Plane按照绑定规则进行绑定生成一个逻辑分区,在目标闪存中存在坏Plane的情况下,将坏Plane与其它Plane解除绑定或者生成一个单独的逻辑分区使用。应用于本方案,在存在坏Plane的情况下,将坏Plane与其余Plane进行解绑,能够避免坏Plane对其他Plane正常使用的影响,使得正常Plane中的Block能够继续完成读写操作,因此提高了闪存的利用率。此外,在进行解绑操作后其余Plane之间仍存在绑定关系,因此保证了闪存读写操作的效率。
此外,本申请提供的一种闪存数据块绑定装置及介质,与上述闪存数据块绑定方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种闪存数据块绑定方法的流程图;
图2为本申请实施例提供的一种将坏Plane与其余Plane进行解绑方法的流程图;
图3为本申请实施例提供的另一种将坏Plane与其余Plane进行解绑方法的流程图;
图4为本申请实施例提供的一种闪存数据块绑定装置的结构示意图;
图5为本申请实施例提供的另一种闪存数据块绑定装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种闪存数据块绑定方法,用以在存在坏Plane的情况下提高闪存的利用率。本申请的核心是还提供一种闪存数据块绑定装置及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种闪存数据块绑定方法的流程图。如图1所示,该方法包括:
S10:将目标闪存中所有Plane按照绑定规则进行绑定。
本申请实施例中,绑定规则具体为将不同Plane、不同LUN和不同Chip之间虚拟编号相同的Block进行绑定,其具体过程如下所示,先将同一Chip下同一LUN中不同Plane之间虚拟编号相同的Block进行绑定,再将同一LUN中不同Chip之间的虚拟编号相同的Block进行绑定,最后将不同LUN之间虚拟编号相同的Block进行绑定。
S11:判断目标闪存中是否存在坏Plane,如果是,则进入S12,如果否,则退出。
S12:将坏Plane与其余Plane进行解绑。
为了使本技术领域的人员更好地理解将坏Plane与其余Plane进行解绑的步骤,下面将结合附图和例子进行详细说明。
图2为本申请实施例提供的一种将坏Plane与其余Plane进行解绑方法的流程图。如图2所示,该方法包括:
S20:获取坏Plane所在的目标LUN位置和目标Chip位置。
S21:根据目标LUN位置将目标闪存分为第一LUN分区和第二LUN分区,其中第一LUN分区为包含有坏Plane的最小LUN。
S22:将第一LUN分区和第二LUN分区进行解绑。
S23:根据目标Chip位置将第一LUN分区分为第一Chip分区和第二Chip分区,其中第一Chip分区为包含有坏Plane的最小Chip。
S24:将第一Chip分区和第二Chip分区进行解绑。
S25:将坏Plane与第一Chip分区中其余Plane进行解绑。
可以理解的是,由于在进行解绑操作前,将目标闪存中所有Block按照绑定规则进行绑定,因此上述解绑后的第二LUN分区内不同Chip、不同Plane之间虚拟编号相同的Block是存在绑定关系的,同理上述解绑后的第二Chip分区内不同Chip、不同Plane之间虚拟编号相同的Block存在绑定关系。若在具体实施中,预先未对目标闪存中所有Block进行绑定,为了保证闪存读写操作的效率,则在分区后,对第二LUN分区以及第二Chip分区按绑定规则进行绑定。
例如,2Plane*2LUN*4Chip的闪存,确定LUN0、Chip0的Plane1为坏Plane,则先将LUN1和LUN0之间解绑,再选择将LUN0中Chip0与其它Chip(Chip1、Chip2、Chip3)之间解绑,最后选择将LUN0、Chip0之间中的Plane0和Plane1解绑,其中为了保证闪存读写操作的效率,LUN1内的Block存在绑定关系,LUN0下的Chip1、Chip2、Chip3内的Block存在绑定关系。
图3为本申请实施例提供的另一种将坏Plane与其余Plane进行解绑方法的流程图。如图3所示,该方法包括:
S30:获取坏Plane所在的目标LUN位置、目标Chip位置和目标Plane位置。
S31:根据目标LUN位置将目标闪存分为第一LUN分区和第二LUN分区,其中第一LUN分区包含有坏Plane。
S32:将第一LUN分区和第二LUN分区进行解绑。
S33:判断第一LUN分区中LUN是否为一个,如果是,则进入S34,如果否则,返回S31。
S34:根据目标Chip位置将第一LUN分区分为第一分区和第二分区,其中第一分区中包含有所述坏Plane。
S35:将所述第一分区和第二分区进行解绑。
S36:判断第一分区中Chip是否为一个,如果是,则进入S37,如果否,则返回S34。
S37:根据目标Plane位置将第一分区分为第一Plane分区和第二Plane分区,其中第一Plane分区包含坏Plane。
S38:将第一Plane分区和第二Plane分区进行解绑。
S39:判断第一Plane分区中的Plane是否为一个,如果是,则结束,如果否,则返回S37。
可以理解的是,上述解绑后的第二LUN分区内不同Chip、不同Plane之间虚拟编号相同的Block是存在绑定关系的,上述解绑后的第一分区和第二分区内不同Chip、不同Plane之间虚拟编号相同的Block存在绑定关系。若在具体实施中,预先未对目标闪存中所有Block进行绑定,为了保证闪存读写操作的效率,则在分区后,对第二LUN分区以及第二分区按绑定规则进行绑定。
例如,2Plane*2LUN*4Chip的闪存,确定LUN0、Chip0的Plane1为坏Plane,则先将LUN1和LUN0之间解绑,再将LUN0分为第一分区和第二分区,其中第一分区为LUN0下的Chip0和Chip1,第二分区为LUN0下的Chip2和Chip3,然后将第一分区中Chip0和Chip1之间解绑,最后将Chip0中的Plane0和Plane1进行解绑,其中LUN1内的Block存在绑定关系,第二分区内的Block存在绑定关系,LUN0下Chip1内的Block存在绑定关系。
作为优选的实施例,第一分区和第二分区中包含的Chip数量相同。
需要说明的是,上述两种将坏Plane与其余Plane进行解绑方法,并无明显优劣,第一种方式是将坏Plane之外的Plane绑定为尽可能大的整体,第二种方式则是将坏Plane之外的Plane绑定为不同大小的绑定区域,以便于满足不同大小数据的存储。还需说明的是,上述两种方式仅为将坏Plane与其余Plane进行解绑方法的两种表现形式,不代表仅为这两种表现形式,在具体实施中,可以从上述两种方法中择其一进行使用。
本申请实施例所提供的闪存数据块绑定方法,将目标闪存中所有Plane按照绑定规则进行绑定生成一个逻辑分区,在目标闪存中存在坏Plane的情况下,将坏Plane与其它Plane解除绑定或者生成一个单独的逻辑分区使用。应用于本方案,在存在坏Plane的情况下,将坏Plane与其余Plane进行解绑,能够避免坏Plane对其他Plane正常使用的影响,使得正常Plane中的Block能够继续完成读写操作,因此提高了闪存的利用率。此外,在进行解绑操作后其余Plane之间仍存在绑定关系,因此保证了闪存读写操作的效率。
在上述实施例的基础上,闪存数据块绑定方法还包括:
获取各逻辑分区内Block的第一位置,根据第一位置进行对应物理地址的变换。
本申请实施例中,第一位置包括Plane位置、LUN位置和Chip位置。
表1为本申请提供的一种第一位置与物理地址变换的说明表。
表1
如表1所示,Plane_Add表示Plane位置,LUN_Add为LUN位置,Chip_Add为Chip位置。以2Plane*2LUN*4Chip的闪存为例,Plane_Add为0时,则物理地址中表示Plane的数位无附加,Plane_Add为1时,则物理地址中表示Plane的数位增加Block的物理块号乘以一个LUN中Plane的数量再加1后的数值,即增加Block的物理块号乘以2再加1后的数值,若Block的物理块号为1,则表示Plane的数位增加3;LUN_Add为0时,则物理地址中表示LUN的数位无附加,LUN_Add为1时,则物理地址中表示LUN的数位加1;同理,Chip_Add为0时,则物理地址中表示Chip的数位无附加,Chip_Add为1时,则物理地址中表示Chip的数位加1。
为了提高物理地址变换计算的速度,作为优选的实施例,根据第一位置进行对应物理地址的变换,具体包括:
预先设置各逻辑分区的各第一位置与各变量的对应关系,根据对应关系确定各位置对应的目标变量,按照目标变量进行对应物理地址的变换。
以2Plane*2LUN*4Chip的闪存、Chip0中LUN0的Plane0为坏Plane、将坏Plane与其余Plane进行解绑方法最终形成LUN1对应的Part0分区,LUN0下Chip2和Chip3对应的Part1分区,LUN0下Chip1对应的Part2分区,以及Chip0中LUN0的Plane1对应的Part3分区为例,表2为本申请实施例提供的一种各第一位置与各变量的对应关系的对应表。
表2
Part | Plane_Add | LUN_Add | Chip_Add | 变量 |
0 | 0 | 1 | 0 | 0x08 |
1 | 0 | 0 | 2 | 0x80 |
2 | 0 | 0 | 1 | 0x40 |
3 | 1 | 0 | 0 | 0x01 |
如表2所示,(0,1,0)对应的变量为0x08,(0,0,2)对应的变量为0x80,(0,0,1)对应的变量为0x40,(1,0,0)对应的变量为0x01。
在具体实施中,变量可通过对应的第一位置和段位进行计算得到,其中Plane_Add对应的段位为[0,…,2],LUN_Add对应的段位为[3,…,5],Chip_Add对应的段位为[6,7]。
本申请实施例所提供的闪存数据块绑定方法,在将坏Plane与其余Plane进行解绑后,根据Block的第一位置进行对应物理地址的变换,因此使得在解除绑定后,能够从正确的物理地址对其余Plane中的Block进行读写操作,保证了经过本申请实施例所提供的方法进行绑定后的闪存能够继续使用。
在上述实施例的基础上,S11具体包括:
获取目标闪存中坏Block的第二位置,根据第二位置判断目标Plane中坏Block的数量是否超过预设阈值,如果是,则确定目标Plane为坏Plane。
需要说明的是,预设阈值不做限制,在具体实施中,与用户需求匹配即可。
可以理解的是,仅将坏Block的数量超过预设阈值的Plane确定为坏Plane,避免了Plane中少量坏Block导致整个Plane无法使用时造成的存储空间浪费,进一步提高了闪存的利用率。
在上述实施例中,对于闪存数据块绑定方法进行了详细描述,本申请还提供闪存数据块绑定装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图4为本申请实施例提供的一种闪存数据块绑定装置的结构示意图。如图4所示,基于功能模块的角度,该装置包括:
绑定模块10,用于将目标闪存中所有Block按照绑定规则进行绑定。
第一判断模块11,用于判断目标闪存中是否存在坏Plane。
解绑模块12,用于如果是,则将坏Plane与其余Plane进行解绑。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施例,第一解绑模块12包括:
第一获取模块,用于获取坏Plane所在的目标LUN位置和目标Chip位置。
第一生成模块,用于坏Plane所在的目标LUN以外的其余各LUN之间进行绑定生成第一逻辑分区,第一逻辑分区内所有Chip和所有Plane继续绑定。
第二生成模块,用于坏Plane所在的目标LUN的内部、坏Plane所在的目标Chip以外的其余各Chip绑定生成第二逻辑分区,第二逻辑分区内所有Plane继续绑定。
第三生成模块,用于坏Plane所在的目标LUN、目标Chip内部,其余各Plane之间进行绑定生成第三逻辑分区。
第二判断模块,用于判断坏Plane内部是否存在大于阈值的好Block。
第四生成模块,用于如果是,则生成第四逻辑分区。
剔除模块,用于如果否,则坏Plane被剔除。
还包括:
第二获取模块,用于获取各逻辑分区内各Block的第一位置。
第一变换模块,用于根据第一位置进行对应物理地址的变换。
第一变换模块具体包括:
设置模块,用于预先设置各逻辑分区的第一位置与各变量的对应关系。
第一确定模块,用于根据对应关系确定各逻辑分区的第一位置对应的目标变量。
第二变换模块,用于按照目标变量进行对应物理地址的变换。
第一判断模块11具体包括:
第三获取模块,用于获取目标闪存中坏Block的第二位置。
第三判断模块,用于根据第二位置判断目标Plane中坏Block的数量是否超过预设阈值。
第二确定模块,用于如果是,则确定目标Plane为坏Plane。
本申请实施例所提供的闪存数据块绑定装置,将目标闪存中所有Plane按照绑定规则进行绑定生成一个逻辑分区,在目标闪存中存在坏Plane的情况下,将坏Plane与其它Plane解除绑定或者生成一个单独的逻辑分区使用。应用于本方案,在存在坏Plane的情况下,将坏Plane与其余Plane进行解绑,能够避免坏Plane对其他Plane正常使用的影响,使得正常Plane中的Block能够继续完成读写操作,因此提高了闪存的利用率。此外,在进行解绑操作后其余Plane之间仍存在绑定关系,因此保证了闪存读写操作的效率。
图5为本申请实施例提供的另一种闪存数据块绑定装置的结构示意图。
如图5所示,基于硬件结构的角度,该装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中闪存数据块绑定方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序201被处理器21加载并执行之后,能够实现前述任一实施例公开的闪存数据块绑定方法的相关步骤。另外,存储器20所存储的资源还可以包括操作***202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作***202可以包括Windows、Unix、Linux等。数据203可以包括但不限于闪存数据块绑定方法中涉及的数据等。
在一些实施例中,闪存数据块绑定装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对闪存数据块绑定装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的闪存数据块绑定装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:将目标闪存中所有Plane按照绑定规则进行绑定生成一个逻辑分区,在目标闪存中存在坏Plane的情况下,将坏Plane与其它Plane解除绑定或者生成一个单独的逻辑分区使用。应用于本方案,在存在坏Plane的情况下,将坏Plane与其余Plane进行解绑,能够避免坏Plane对其他Plane正常使用的影响,使得正常Plane中的Block能够继续完成读写操作,因此提高了闪存的利用率。此外,在进行解绑操作后其余Plane之间仍存在绑定关系,因此保证了闪存读写操作的效率。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种闪存数据块绑定方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种闪存数据块绑定方法,其特征在于,包括:
将目标闪存中所有Plane按照绑定规则进行绑定;
判断所述目标闪存中是否存在坏Plane;
如果是,则将所述坏Plane与其余Plane进行解绑。
2.根据权利要求1所述的闪存数据块绑定方法,其特征在于,所述将所述坏Plane与其余Plane进行解绑,具体包括:
获取所述坏Plane所在的目标LUN位置和目标Chip位置;
所述坏Plane所在的目标LUN以外的其余各所述LUN之间进行绑定生成第一逻辑分区,所述第一逻辑分区内所有Chip和所有Plane继续绑定;
所述坏Plane所在的所述目标LUN的内部、所述坏Plane所在的目标Chip以外的其余各所述Chip绑定生成第二逻辑分区,所述第二逻辑分区内所有Plane继续绑定;
所述坏Plane所在的所述目标LUN、所述目标Chip内部,其余各所述Plane之间进行绑定生成第三逻辑分区;
判断所述坏Plane内部是否存在大于阈值的好Block;
如果是,则生成第四逻辑分区;
如果否,则所述坏Plane被剔除。
3.根据权利要求2所述的闪存数据块绑定方法,其特征在于,还包括:
获取各所述逻辑分区内各Block的第一位置;
根据所述第一位置进行对应物理地址的变换。
4.根据权利要求3所述的闪存数据块绑定方法,其特征在于,所述根据所述第一位置进行对应物理地址的变换,具体包括:
预先设置各所述逻辑分区的所述第一位置与各变量的对应关系;
根据所述对应关系确定各所述逻辑分区的所述第一位置对应的目标变量;
按照所述目标变量进行对应物理地址的变换。
5.根据权利要求1所述的闪存数据块绑定方法,其特征在于,所述判断所述目标闪存中是否存在坏Plane,具体包括:
获取所述目标闪存中坏Block的第二位置;
根据所述第二位置判断目标Plane中所述坏Block的数量是否超过预设阈值;
如果是,则确定所述目标Plane为所述坏Plane。
6.一种闪存数据块绑定装置,其特征在于,包括:
绑定模块,用于将目标闪存中所有Plane按照绑定规则进行绑定;
第一判断模块,用于判断所述目标闪存中是否存在坏Plane;
解绑模块,用于如果是,则将所述坏Plane与其余Plane进行解绑。
7.一种闪存数据块绑定装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任意一项所述的闪存数据块绑定方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的闪存数据块绑定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110419326.8A CN113111013B (zh) | 2021-04-19 | 2021-04-19 | 一种闪存数据块绑定方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110419326.8A CN113111013B (zh) | 2021-04-19 | 2021-04-19 | 一种闪存数据块绑定方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113111013A true CN113111013A (zh) | 2021-07-13 |
CN113111013B CN113111013B (zh) | 2023-09-01 |
Family
ID=76718359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110419326.8A Active CN113111013B (zh) | 2021-04-19 | 2021-04-19 | 一种闪存数据块绑定方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111013B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115687171A (zh) * | 2022-10-26 | 2023-02-03 | 深圳三地一芯电子有限责任公司 | 闪存块绑定方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635580A (zh) * | 2003-12-31 | 2005-07-06 | 深圳市朗科科技有限公司 | 闪存介质数据写入方法 |
US20060181948A1 (en) * | 2005-02-14 | 2006-08-17 | Simpletech, Inc. | System and method for detecting and reducing data corruption in a storage device |
CN101533663A (zh) * | 2008-03-11 | 2009-09-16 | 深圳市朗科科技股份有限公司 | 提高闪存介质数据存取速度的方法 |
CN101645310A (zh) * | 2008-08-05 | 2010-02-10 | 深圳市朗科科技股份有限公司 | 闪存设备、闪存管理方法及*** |
US20110063296A1 (en) * | 2009-09-11 | 2011-03-17 | Bolz Jeffrey A | Global Stores and Atomic Operations |
US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9053012B1 (en) * | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
CN106445408A (zh) * | 2016-08-31 | 2017-02-22 | 深圳芯邦科技股份有限公司 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
-
2021
- 2021-04-19 CN CN202110419326.8A patent/CN113111013B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635580A (zh) * | 2003-12-31 | 2005-07-06 | 深圳市朗科科技有限公司 | 闪存介质数据写入方法 |
US20060181948A1 (en) * | 2005-02-14 | 2006-08-17 | Simpletech, Inc. | System and method for detecting and reducing data corruption in a storage device |
CN101533663A (zh) * | 2008-03-11 | 2009-09-16 | 深圳市朗科科技股份有限公司 | 提高闪存介质数据存取速度的方法 |
CN101645310A (zh) * | 2008-08-05 | 2010-02-10 | 深圳市朗科科技股份有限公司 | 闪存设备、闪存管理方法及*** |
US20110063296A1 (en) * | 2009-09-11 | 2011-03-17 | Bolz Jeffrey A | Global Stores and Atomic Operations |
US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9053012B1 (en) * | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
CN106445408A (zh) * | 2016-08-31 | 2017-02-22 | 深圳芯邦科技股份有限公司 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115687171A (zh) * | 2022-10-26 | 2023-02-03 | 深圳三地一芯电子有限责任公司 | 闪存块绑定方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113111013B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107437110B (zh) | 卷积神经网络的分块卷积优化方法及装置 | |
CN102707966B (zh) | 加速操作***启动的方法及装置、预取信息生成方法及装置和终端 | |
CN109669640A (zh) | 一种数据存储方法、装置、电子设备及介质 | |
CN112445729B (zh) | 操作地址确定方法、PCIe***、电子设备及存储介质 | |
CN111079917A (zh) | 张量数据分块存取的方法及装置 | |
US9569381B2 (en) | Scheduler for memory | |
CN106126124A (zh) | 一种数据处理方法及电子设备 | |
CN108733324B (zh) | 一种固态硬盘的数据读写方法、装置、设备及存储介质 | |
CN110908697A (zh) | 一种资源打包方法、装置、服务器及存储介质 | |
CN108121688A (zh) | 一种计算方法及相关产品 | |
CN110688256A (zh) | 一种元数据上电恢复方法、装置、电子设备及存储介质 | |
CN110908707A (zh) | 一种资源打包方法、装置、服务器及存储介质 | |
CN113704140A (zh) | 一种固态硬盘地址映射方法及装置 | |
CN105094691A (zh) | 一种数据操作的方法、设备和*** | |
CN111984204A (zh) | 一种数据读写方法、装置及电子设备和存储介质 | |
CN103377135B (zh) | 寻址方法、装置及*** | |
CN113111013B (zh) | 一种闪存数据块绑定方法、装置及介质 | |
CN104035725A (zh) | 用以存取数据的电子装置及其数据存取方法 | |
CN108628760A (zh) | 原子写命令的方法与装置 | |
CN111090397B (zh) | 一种数据重删方法、***、设备及计算机可读存储介质 | |
CN112269535A (zh) | 存储***的空间资源分配方法、装置及可读存储介质 | |
CN108628761A (zh) | 原子命令执行方法与装置 | |
CN106502775B (zh) | 一种分时调度dsp算法的方法和*** | |
CN104932982A (zh) | 一种消息访存的编译方法及相关装置 | |
CN112817526A (zh) | 一种数据存储方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |