CN109032532B - 闪存存储管理方法及闪存装置 - Google Patents

闪存存储管理方法及闪存装置 Download PDF

Info

Publication number
CN109032532B
CN109032532B CN201810988220.8A CN201810988220A CN109032532B CN 109032532 B CN109032532 B CN 109032532B CN 201810988220 A CN201810988220 A CN 201810988220A CN 109032532 B CN109032532 B CN 109032532B
Authority
CN
China
Prior art keywords
block
parity
slc
flash memory
page
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.)
Active
Application number
CN201810988220.8A
Other languages
English (en)
Other versions
CN109032532A (zh
Inventor
周冬华
杨洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201810988220.8A priority Critical patent/CN109032532B/zh
Publication of CN109032532A publication Critical patent/CN109032532A/zh
Application granted granted Critical
Publication of CN109032532B publication Critical patent/CN109032532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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)

Abstract

本申请涉及一种闪存存储管理方法及闪存装置,其中该方法包括:创建一个SLC Parity Block与一组TLC Data Block;建立所述SLC Parity Block与所述一组TLC Data Block的对应关系;将data page写入所述TLC Data Block中;根据所述SLC Parity Block与所述一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。本方案通过分别建立SLC Parity Block与一组TLC Data Block,将parity page和data page分别存储在不同的Block内,实现了降低算法的复杂度、提高算法的灵活性并同时能提高读性能。

Description

闪存存储管理方法及闪存装置
技术领域
本发明涉及计算机存储技术领域,特别是涉及一种闪存存储管理方法及闪存装置。
背景技术
目前,随着Flash技术的迅猛发展,MLC、TLC、3D等技术的问世,大大提高了Flash单Die的容量,相应地也就大大降低了Flash的成本。但是,随之而来数据稳定性的问题越来越大。特别是3D TLC Flash,其存储数据的错误Bit数,较之SLC和MLC等类型的Flash,有显著增加。单从数据可靠性角度,同样数据安全要求下,3D TLC Block的可擦写次数为300-500次左右,而MLC Block则是3000次左右,SLC Block更是在上万次以上。由于错误Bit数的增加,Flash对于ECC的纠错能力有高的要求,像Toshiba和Micron等颗粒原厂在FlashDatasheet上明确指出使用LDPC来取代BCH算法。这大大提高了Flash的寿命,使用LDPC算法,大概能把3D TLC Block的可擦写次数提高到上千次。
为了进一步提高Flash的寿命,加之一些特性的需求,需要一种额外的技术,来增强Flash的可靠性。于是作为数据保护技术之一的RAID,被引入进来。通过parity page对data page的保护作用,显著地提高了Flash上数据的安全性,延长了数据保存的时间。
目前,在传统技术中,RAID技术已普遍应用于基于3D TLC Flash的存储产品中,采用的算法中parity page和data pages混存在分配的Flash Blocks中。然而,这种算法存在的问题至少包括:在处理坏块时,会很不方便。在组成Stripe中,当有某个Block是坏块时,因为要跳过坏块,Stripe组成和大小将会受到影响。
此外,由于parity page不包含有效数据,所以它的读取,将会无效地消耗带宽,从而降低读性能。闪存在生命前期可靠性比较高,所以在前期阶段系统不需要提供RAID功能。如果需要支持动态开启和关闭RAID功能,现有技术处理起来就不方便了。首先,开启和关闭RAID功能,不能使用同一Block。如在关闭RAID功能时,当前Block未被写满,那么新数据不能直接写入此Block,而是需要写入新分配的Block;其次,在开机恢复和垃圾回收过程中,需要区分哪些Blocks是带RAID功能的,哪些是不带RAID功能的。另外,如果要变更RAID级别,例如:将RAID5增强到RAID6,对现有RAID算法冲击很大。Parity page存储位置及其相关计算方法调整有点困难。
发明内容
基于此,有必要针对上述技术问题,提供一种可以旨在降低算法的复杂度、提高算法的灵活性并同时能提高读性能的闪存存储管理方法及闪存装置。
一种闪存存储管理方法,所述方法包括:
创建一个SLC Parity Block与一组TLC Data Block;
建立所述SLC Parity Block与所述一组TLC Data Block的对应关系;
将data page写入所述TLC Data Block中;
根据所述SLC Parity Block与所述一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。
在其中一个实施例中,所述方法还包括:
获取闪存写入请求;
判断是否闪存管理器是否开启RAID功能;
若是,则进行信息写入以及更新;
将闪存写入请求的信息进行格式化,将所述闪存写入请求下发至闪存存储器。
在其中一个实施例中,所述将写请求的信息进行格式化,将所述请求下发至闪存存储器的步骤之后还包括:
判断是否需要下发parity page;
若是,则下发所述parity page至闪存存储器。
在其中一个实施例中,所述方法还包括:
获取SLC Parity Block垃圾回收流程的请求;
将所述请求中SLC Parity Block的parity page进行回收;
根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中SLC Parity Block的parity page对应的data page从所述TLC Data Block中进行回收。
在其中一个实施例中,所述方法还包括:
获取TLC Data Block垃圾回收流程的请求;
将所述请求中TLC Data Block的data page进行回收;
根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中TLC Data Block的data page对应的parity page从所述SLC Parity Block中进行回收。
一种闪存装置,所述闪存装置包括:
创建模块,用于创建一个SLC Parity Block与一组TLC Data Block;
关系建立模块,用于建立所述SLC Parity Block与所述一组TLC Data Block的对应关系;
第一写入模块,用于将data page写入所述TLC Data Block中;
第二写入模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。
在其中一个实施例中,所述闪存装置还包括:
请求获取模块,用于获取闪存写入请求;
第一判断模块,用于判断是否闪存管理器是否开启RAID功能;若是,则进行信息写入以及更新;
下发模块,用于将闪存写入请求的信息进行格式化,将所述闪存写入请求下发至闪存存储器。
在其中一个实施例中,所述闪存装置还包括:
第二判断模块,用于判断是否需要下发parity page;若是,则下发所述paritypage至闪存存储器。
在其中一个实施例中,所述闪存装置还包括:
第一获取模块,用于获取SLC Parity Block垃圾回收流程的请求;
第一回收模块,用于将所述请求中SLC Parity Block的parity page进行回收;
第一子回收模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中SLC Parity Block的parity page对应的data page从所述TLCData Block中进行回收。
在其中一个实施例中,所述闪存装置还包括:
第二获取模块,用于获取TLC Data Block垃圾回收流程的请求;
第二回收模块,用于将所述请求中TLC Data Block的data page进行回收;
第二子回收模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中TLC Data Block的data page对应的parity page从所述SLCParity Block中进行回收。
上述闪存存储管理方法及闪存装置,通过创建一个SLC Parity Block与一组TLCData Block,然后建立SLC Parity Block与一组TLC Data Block的对应关系。将data page写入TLC Data Block中,最后在根据SLC Parity Block与一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。本发明通过分别建立SLC Parity Block与一组TLC Data Block,将parity page和data page分别存储在不同的Block内,实现了降低算法的复杂度、提高算法的灵活性并同时能提高读性能。
附图说明
图1为一个实施例中闪存存储管理的应用场景图;
图2为一个实施例中闪存存储管理的另一应用场景图;
图3为一个实施例中闪存存储管理方法的流程示意图;
图4为另一个实施例中闪存存储管理方法的流程示意图;
图5为另一个实施例中闪存存储管理方法的流程示意图;
图6为另一个实施例中闪存存储管理方法的流程示意图;
图7为一个实施例中闪存装置的结构框图;
图8为另一个实施例中闪存装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明实施例所提供的闪存存储管理方法可应用到如图1所示的应用环境中。参考图1,将parity page和data page分别存储在不同的Block内,那么parity page的存储位置问题就得到了解决。不用像在传统技术中,十分注意每个parity page放在哪儿,特别是当出现坏块时,计算parity page位置更加麻烦。采用本专利的算法,parity page只要在SLC Block内按照次序填写即可,有无坏块均是如此。
为了更清楚地说明本发明的有益效果,参考图2,图2表示的是在闪存装置中出现坏块中的情形。在本方案中,由于parity page和data page分别存储在不同的Block内,因此当某个Block是坏块时,parity page只要在SLC Block内按照次序填写即可,无需按照传统技术中由于跳过坏块而使得Stripe组成和大小将会受到影响,降低了算法的复杂度。
其次,本方案可以实现提高算法的灵活度。传统的算法需要确定parity page的位置。当采用的是从RAID5换成RAID6或其它算法时,其parity page位置及其算法可能差别很大。但是如果采用本方案所描述的算法,不管使用的是RAID5还是RAID6还是其它,paritypage均独立储存在SLC Block内,因此也就规避了上面描述的问题。
再次,parity page与data page分布在不同的Block内,有助于兼容RAID功能开启和关闭。相比较于RAID功能关闭的情况,当RAID功能开启时,仅是多了SLC Parity Block,对于用户数据的Block,原先的规则没有改变。换句话说,当RAID功能从关闭到开启,只需增加SLC Block写入parity page的步骤,而从开启到关闭,只需忽略SLC Parity Block。
最后,本方案有助于提升读性能。在传统技术中,每一列是独立处理的单元,列与列之间可以并行执行,列上不同page的读需要顺序执行。当有大量的读请求下来时,会落到不同的列上,由于parity page的存在,加大了列上pages的深度。即在没有RAID功能时,读操作正好落在parity page,它可以执行。但是现在由于RAID功能的存在,这部分数据只能移到其它列下,这样就变相地增加了深度。而采用本方案,则没有这个问题。
在一个实施例中,如图3所示,提供了一种闪存存储管理方法,以该方法应用于图1中的闪存装置中为例进行说明,该方法包括:
步骤302,创建一个SLC Parity Block与一组TLC Data Block。
步骤304,建立SLC Parity Block与一组TLC Data Block的对应关系。
步骤306,将data page写入TLC Data Block中。
步骤308,根据SLC Parity Block与一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。
具体地,首先分别创建一个SLC Parity Block与一组TLC Data Block。其次,建立SLC Parity Block与一组TLC Data Block的对应关系。一个SLC Parity Block与一组TLCData Block绑定,无论是主机写还是垃圾回收。这样的好处在于parity page和data page之间有约束,简化了Block管理和算法实现。然后,将data page写入TLC Data Block中,根据SLC Parity Block与一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。
在本实施例中,通过创建一个SLC Parity Block与一组TLC Data Block,然后建立SLC Parity Block与一组TLC Data Block的对应关系。将data page写入TLC DataBlock中,最后在根据SLC Parity Block与一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。本实施例通过分别建立SLC ParityBlock与一组TLC Data Block,将parity page和data page分别存储在不同的Block内,实现了降低算法的复杂度、提高算法的灵活性并同时能提高读性能。
如图4所示,在一个实施例中,提供了一种闪存存储管理方法,该方法包括:
步骤402,获取闪存写入请求。
步骤404,判断是否闪存管理器是否开启RAID功能;若是,则执行步骤406,否则执行步骤408。
步骤406,进行信息写入以及更新。
步骤408,将闪存写入请求的信息进行格式化,将所述闪存写入请求下发至闪存存储器。
步骤410,判断是否需要下发parity page;若是,则执行步骤412,否则结束。
步骤412,下发parity page至闪存存储器。
具体地,无论是否开启RAID功能,主机写均按照图4流程进行,具体包括:判断是否开启RAID功能。如是,进行stripe信息写入和更新;进行写请求的信息格式化,然后下发至NAND Flash侧;判断是否需要下发parity page。如是,则下发parity page;结束。
在本实施例中,通过一个SLC Parity Block与一组TLC Data Block绑定,将parity page和data page分别存储在不同的Block内,并具体实现了主机写流程步骤。
如图5所示,在一个实施例中,提供了一种闪存存储管理方法,该方法包括:
步骤502,获取SLC Parity Block垃圾回收流程的请求。
步骤504,将请求中SLC Parity Block的parity page进行回收。
步骤506,根据SLC Parity Block与一组TLC Data Block的对应关系,将请求中SLC Parity Block的parity page对应的data page从TLC Data Block中进行回收。
具体地,首先,获取SLC Parity Block垃圾回收流程的请求,其次,将请求中SLCParity Block的parity page进行回收,最后根据SLC Parity Block与一组TLC DataBlock的对应关系,将请求中SLC Parity Block的parity page对应的data page从TLCData Block中进行回收。
在本实施例中,实现了SLC Parity Block垃圾回收流程。Parity Block的回收是和TLC Data Block的回收绑定在一起。当parity page对应的data page都无效时,paritypage也就相应的无效了。本实施例实现简化了SLC Parity Block的垃圾回收步骤。
如图6所示,在一个实施例中,提供了一种闪存存储管理方法,该方法包括:
步骤602,获取TLC Data Block垃圾回收流程的请求。
步骤604,将请求中TLC Data Block的data page进行回收。
步骤606,根据SLC Parity Block与一组TLC Data Block的对应关系,将请求中TLC Data Block的data page对应的parity page从所述SLC Parity Block中进行回收。
具体地,首先,获取TLC Data Block垃圾回收流程的请求,其次,将请求中TLCData Block的data page进行回收,最后,根据SLC Parity Block与一组TLC Data Block的对应关系,将请求中TLC Data Block的data page对应的parity page从所述SLC ParityBlock中进行回收。
在本实施例中,实现了TLC Data Block垃圾回收流程。Parity Block的回收是和TLC Data Block的回收绑定在一起。当data page对应的parity page都无效时,data page也就相应的无效了。本实施例实现简化了TLC Data Block的垃圾回收步骤。
应该理解的是,虽然图3-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种闪存装置,该闪存装置包括:
创建模块702,用于创建一个SLC Parity Block与一组TLC Data Block;
关系建立模块704,用于建立SLC Parity Block与一组TLC Data Block的对应关系;
第一写入模块706,用于将data page写入TLC Data Block中;
第二写入模块708,用于根据SLC Parity Block与一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中。
在一个实施例中,如图8所示,提供了一种闪存装置,该闪存装置还包括:
请求获取模块710,用于获取闪存写入请求;
第一判断模块712,用于判断是否闪存管理器是否开启RAID功能;若是,则进行信息写入以及更新;
下发模块714,用于将闪存写入请求的信息进行格式化,将所述闪存写入请求下发至闪存存储器。
第二判断模块716,用于判断是否需要下发parity page;若是,则下发所述paritypage至闪存存储器。
在一个实施例中,该闪存装置还包括:
第一获取模块,用于获取SLC Parity Block垃圾回收流程的请求;
第一回收模块,用于将所述请求中SLC Parity Block的parity page进行回收;
第一子回收模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中SLC Parity Block的parity page对应的data page从所述TLCData Block中进行回收。
在一个实施例中,该闪存装置还包括:
第二获取模块,用于获取TLC Data Block垃圾回收流程的请求;
第二回收模块,用于将所述请求中TLC Data Block的data page进行回收;
第二子回收模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中TLC Data Block的data page对应的parity page从所述SLCParity Block中进行回收。
关于闪存装置的具体限定可以参见上文中对于闪存存储管理方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种闪存存储管理方法,所述方法包括:
创建一个SLC Parity Block与一组TLC Data Block;
建立所述SLC Parity Block与所述一组TLC Data Block的对应关系;
将data page写入所述TLC Data Block中;
根据所述SLC Parity Block与所述一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中;
获取闪存写入请求;
判断是否闪存管理器是否开启RAID功能;
若是,则进行信息写入以及更新;
将闪存写入请求的信息进行格式化,将所述闪存写入请求下发至闪存存储器;
判断是否需要下发parity page;
若是,则下发所述parity page至闪存存储器。
2.根据权利要求1所述的闪存存储管理方法,其特征在于,所述方法还包括:
获取SLC Parity Block垃圾回收流程的请求;
将所述请求中SLC Parity Block的parity page进行回收;
根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中SLC Parity Block的parity page对应的data page从所述TLC Data Block中进行回收。
3.根据权利要求1所述的闪存存储管理方法,其特征在于,所述方法还包括:
获取TLC Data Block垃圾回收流程的请求;
将所述请求中TLC Data Block的data page进行回收;
根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中TLC Data Block的data page对应的parity page从所述SLC Parity Block中进行回收。
4.一种闪存装置,其特征在于,所述闪存装置包括:
创建模块,用于创建一个SLC Parity Block与一组TLC Data Block;
关系建立模块,用于建立所述SLC Parity Block与所述一组TLC Data Block的对应关系;
第一写入模块,用于将data page写入所述TLC Data Block中;
第二写入模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系将data page对应的parity page按照次序写入SLC Parity Block中;
请求获取模块,用于获取闪存写入请求;
第一判断模块,用于判断是否闪存管理器是否开启RAID功能;若是,则进行信息写入以及更新;
下发模块,用于将闪存写入请求的信息进行格式化,将所述闪存写入请求下发至闪存存储器;
第二判断模块,用于判断是否需要下发parity page;若是,则下发所述parity page至闪存存储器。
5.根据权利要求4所述的闪存装置,其特征在于,所述闪存装置还包括:
第一获取模块,用于获取SLC Parity Block垃圾回收流程的请求;
第一回收模块,用于将所述请求中SLC Parity Block的parity page进行回收;
第一子回收模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中SLC Parity Block的parity page对应的data page从所述TLC DataBlock中进行回收。
6.根据权利要求4所述的闪存装置,其特征在于,所述闪存装置还包括:
第二获取模块,用于获取TLC Data Block垃圾回收流程的请求;
第二回收模块,用于将所述请求中TLC Data Block的data page进行回收;
第二子回收模块,用于根据所述SLC Parity Block与所述一组TLC Data Block的对应关系,将所述请求中TLC Data Block的data page对应的parity page从所述SLC ParityBlock中进行回收。
CN201810988220.8A 2018-08-28 2018-08-28 闪存存储管理方法及闪存装置 Active CN109032532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810988220.8A CN109032532B (zh) 2018-08-28 2018-08-28 闪存存储管理方法及闪存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810988220.8A CN109032532B (zh) 2018-08-28 2018-08-28 闪存存储管理方法及闪存装置

Publications (2)

Publication Number Publication Date
CN109032532A CN109032532A (zh) 2018-12-18
CN109032532B true CN109032532B (zh) 2021-07-13

Family

ID=64624899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810988220.8A Active CN109032532B (zh) 2018-08-28 2018-08-28 闪存存储管理方法及闪存装置

Country Status (1)

Country Link
CN (1) CN109032532B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389724B (zh) * 2019-07-23 2023-06-06 深圳忆联信息系统有限公司 基于固态硬盘的parity page识别方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808371A (zh) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 数据备份与恢复方法、控制芯片及存储装置
CN106155581A (zh) * 2015-02-05 2016-11-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN107391026A (zh) * 2016-04-27 2017-11-24 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
CN107403640A (zh) * 2016-04-27 2017-11-28 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
CN107403646A (zh) * 2016-04-27 2017-11-28 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
CN107591182A (zh) * 2016-07-07 2018-01-16 爱思开海力士有限公司 存储器系统及其操作方法
CN107967121A (zh) * 2017-10-25 2018-04-27 华为技术有限公司 数据写入方法和存储设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI594256B (zh) * 2010-04-19 2017-08-01 慧榮科技股份有限公司 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TWI645290B (zh) * 2016-10-11 2018-12-21 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808371A (zh) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 数据备份与恢复方法、控制芯片及存储装置
CN106155581A (zh) * 2015-02-05 2016-11-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN107391026A (zh) * 2016-04-27 2017-11-24 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
CN107403640A (zh) * 2016-04-27 2017-11-28 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
CN107403646A (zh) * 2016-04-27 2017-11-28 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
CN107591182A (zh) * 2016-07-07 2018-01-16 爱思开海力士有限公司 存储器系统及其操作方法
CN107967121A (zh) * 2017-10-25 2018-04-27 华为技术有限公司 数据写入方法和存储设备

Also Published As

Publication number Publication date
CN109032532A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
US10664345B2 (en) Physical page, logical page, and codeword correspondence
CN102163133B (zh) 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置
US8930671B2 (en) Logical address offset in response to detecting a memory formatting operation
US10503606B2 (en) Data backup method, data recovery method and storage controller
US10127166B2 (en) Data storage controller with multiple pipelines
US20180018126A1 (en) Method and apparatus for erasing data in flash memory
US8850102B2 (en) Flash memory with small data programming capability
CN109117383B (zh) 管理闪存模块的方法和闪存控制器
CN109522154B (zh) 数据恢复方法及相关设备与系统
CN110413454B (zh) 基于存储阵列的数据重建方法、装置及存储介质
US20100318726A1 (en) Memory system and memory system managing method
CN112214346A (zh) 用于存储器子系统中的数据修改期间的错误检测的方法及装置
CN109032532B (zh) 闪存存储管理方法及闪存装置
CN110569000A (zh) 基于固态硬盘阵列的主机端raid管理方法和装置
CN107704338B (zh) 一种资料储存型闪存的数据恢复方法和装置
US10120611B2 (en) Storage device and data control method for storage error control
CN113296694A (zh) 一种上电重建方法及装置和固态硬盘
CN110658978B (zh) 数据处理方法、装置、电子设备及可读存储介质
EP2267725A1 (en) Memory device for managing the recovery of a non volatile memory
CN107257281B (zh) Nor flash存储密钥记录的方法、装置及计算机可读存储介质
CN114816860A (zh) 基于固态硬盘的数据恢复处理方法、系统和计算机设备
CN109725853B (zh) 一种数据回收方法及装置
US11550710B2 (en) Data processing method and memory controller utilizing the same
JP4580724B2 (ja) 不揮発性メモリの制御方法
CN114003438A (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