CN108920094B - 擦除单元raid方法、装置、计算机设备及存储介质 - Google Patents

擦除单元raid方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN108920094B
CN108920094B CN201810556017.3A CN201810556017A CN108920094B CN 108920094 B CN108920094 B CN 108920094B CN 201810556017 A CN201810556017 A CN 201810556017A CN 108920094 B CN108920094 B CN 108920094B
Authority
CN
China
Prior art keywords
data
unit
writing
parity check
write
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
CN201810556017.3A
Other languages
English (en)
Other versions
CN108920094A (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 CN201810556017.3A priority Critical patent/CN108920094B/zh
Publication of CN108920094A publication Critical patent/CN108920094A/zh
Application granted granted Critical
Publication of CN108920094B publication Critical patent/CN108920094B/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/062Securing storage 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/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
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及擦除单元RAID方法、装置、计算机设备及存储介质,该方法包括在内存中创建DRAM高速缓冲存储器的奇偶校验位数组;设置每个可并行独立操作的单元同一时间只打开一个擦除单元;设置数据写入顺序;按照顺序写入数据;利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位。本发明通过在DRAM中创建高速缓冲存储器的奇偶校验位数组缓存奇偶校验位结果,当数据写入到指定位置时,则将缓存的奇偶校验位结果存储到指定的校验数据物理页内,以延迟写入奇偶校验位数据,保证系统中对应RAID只存在一个打开的擦除单元,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。

Description

擦除单元RAID方法、装置、计算机设备及存储介质
技术领域
本发明涉及固态硬盘,更具体地说是指擦除单元RAID方法、装置、计算机设备及存储介质。
背景技术
SSD即固态硬盘已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。
随着计算机对于存储容量、性能、成本等方面的需求,NAND也一直在演进。从SLC到MLC,再到TLC、QLC...伴随工艺和制程的提升,NAND的可靠性在下降,需要更强的ECC纠错能力以及其他冗余备份策略来保障数据的可靠性,如RAID。如图1所示,SSD内部典型的RAID一共有4个可并行操作的独立单元,每个可并行操作的独立单元各出一个擦除单元组成RAID数组,每个RAID数组,相同物理页组成一个条带,每个条带内的3个页写入用户数据,每个条带内的1个页写入Parity数据,此RAID数组成了3+1RAID,奇偶校验位的生成规则为通用的策略,如XOR;在该模型下,当某个条带内任意一个物理页数据损坏时,根据奇偶校验位生成规则的可逆性,可以用其他2笔用户数据加上奇偶校验位数据进行修复;由上述的RAID组成来看,3+1RAID可以实现可并行操作的独立单元级别的保护,任意一个可并行操作的独立单元完全损坏,其数据仍然可恢复。
SSD内部经常使用的RAID类型为RAID 5,随着RAID条带大小的不同,其纠错能力也不一样,同时所需的额外物理空间的诉求也不一样,一般而言,RAID条带大小越小,其保护能力越强,但是对于SSD OP占用越大。按照纠错能力的强弱,一般存在CH/DIE/Block/Page等级别的RAID保护策略。
如图2所示,RAID条带大小越小,其对物理空间的需求越大,进而导致更多的OP空间被浪费,所以在SSD内部一般采用擦除单元等级来保护数据可靠性。如图2所示,为针对4个可并行操作的独立单元配置下的RAID配置模型:7+1,每7笔用户数据对应1笔奇偶校验位数据。由于一个条带需要8个物理页,所以需要每个可并行操作的独立单元各出2个擦除单元来组成对应的RAID(如图示中的擦除单元0、1组成了RAID数组)。而数据的写入规则为:优先保障相同条带内的数据写入,也即如图所示的箭头指向,物理写入的先后顺序为:D0_0->D0_1->D0_2->D0_3->D0_4->D0_5->D0_6->P0->D1_0->D1_1->…。随着NAND工艺演进,过多的打开擦除单元会导致数据可靠性降低,而且随着异常掉电的影响,其数据损坏、映射表重建的复杂性很高。
以4个可并行操作的独立单元为例,如果组成3+1RAID(3个Data Page,对应1笔Parity Page),则会损失25%的OP,这样不能满足产品规格需求。所以需要增大条带大小,条带大小的概念就是几个数据读写单元加上几个奇偶校验位读写单元,3+1则表示条带大小为4,7+1则表示条带大小为8。增大就是增加一个RAID条带内的数据读写单元数量,以4个可并行操作的独立单元为例,需要每个可并行操作的独立单元下出2个擦除单元,总共2*4=8个擦除单元组成RAID数组,在一个RAID数组内,相同的物理页组成一个RAID条带:例如这些被选中的擦除单元的擦除单元0的读写单元0组成RAID条带0,读写单元1为RAID条带1。一个条带为最小保护单元,其内任意一个物理页的数据损坏可通过其他物理页数据恢复。如7+1RAID,对应地单个条带的数据会分布在单个可并行操作的独立单元内不同擦除单元上。按照传统的映射表管理策略,会优先写入同一条带的数据,则在7+1RAID场景下,需要在单个可并行操作的独立单元内同时打开2个擦除单元。根据NAND的特性可知,打开的擦除单元的可靠性比较低,而且容易在异常掉电时发生数据损坏。
因此,有必要设计一种新的RAID方法,实现降低擦除单元因为打开多个或异常掉电带来数据损坏的可靠性风险。
发明内容
本发明的目的在于克服现有技术的缺陷,提供擦除单元RAID方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:擦除单元RAID方法,所述方法包括:
在内存中创建DRAM高速缓冲存储器的奇偶校验位数组;
设置每个可并行独立操作的单元同一时间只打开一个擦除单元;
设置数据写入顺序;
按照顺序写入数据;
利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位。
其进一步技术方案为:所述按照顺序写入数据的步骤之后,包括:
判断系统是否掉电;
若否,则进入利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤;
若是,则重新生成掉电之前数据写入过程的奇偶校验位,并进入利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤。
其进一步技术方案为:按照顺序写入数据的步骤中,具体是将数据写入所有可并行独立操作的单元同一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元同一擦除单元内下一读写单元,直至所有可并行独立操作的单元同一擦除单元内所有读写单元都写入数据。
其进一步技术方案为:利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤,包括以下具体步骤:
获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内;
判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元;
若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内;
若否,则返回按照顺序写入数据的步骤。
本发明还提供了擦除单元RAID装置,包括创建单元、打开设置单元、顺序设置单元、数据写入单元以及延迟写入单元;
所述创建单元,用于在内存中创建DRAM高速缓冲存储器的奇偶校验位数组;
所述打开设置单元,用于设置每个可并行独立操作的单元同一时间只打开一个擦除单元;
所述顺序设置单元,用于设置数据写入顺序;
所述数据写入单元,用于按照顺序写入数据;
所述延迟写入单元,用于利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位。
其进一步技术方案为:还包括掉电判断单元以及重新生成单元;
所述掉电判断单元,用于判断系统是否掉电。
所述重新生成单元,用于若是,则重新生成掉电之前数据写入过程的奇偶校验位。
其进一步技术方案为:所述延迟写入单元包括数组存储模块、数据写入判断模块以及校验数据物理页存储模块;
所述数组存储模块,用于获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内;
所述数据写入判断模块,用于判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元;
所述校验数据物理页存储模块,用于若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的擦除单元RAID方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的擦除单元RAID方法。
本发明与现有技术相比的有益效果是:本发明的擦除单元RAID方法,通过在DRAM中创建高速缓冲存储器的奇偶校验位数组缓存奇偶校验位结果,当数据写入到指定位置时,则将缓存的奇偶校验位结果存储到指定的擦除单元的物理页内,以延迟写入奇偶校验位数据,保证系统中对应RAID只存在一个打开的擦除单元,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术的SSD的RAID方法的示意流程图;
图2为现有技术的小容量擦除单元的RAID方法的示意流程图;
图3为本发明一具体实施例提供的擦除单元RAID方法的示意流程图一;
图4为本发明一具体实施例提供的擦除单元RAID方法的示意流程图二;
图5为本发明一具体实施例提供的断电后重建擦除单元RAID的示意流程图;
图6为图3的子步骤的示意流程图;
图7为本发明一具体实施例提供的擦除单元RAID装置的示意性框图;
图8为图7的延迟写入单元的示意性框图;
图9为本申请一实施例提供的一种计算机设备的示意性框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图3~9所示的具体实施例,本实施例提供的擦除单元RAID方法、装置、计算机设备及存储介质,可以运用在小容量SSD的擦除单元RAID过程中,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。
请参阅图3,图3是本实施例提供的擦除单元RAID方法的示意流程图;如图3所示,擦除单元RAID方法,包括步骤S101~S107:
S101、在内存中创建DRAM高速缓冲存储器的奇偶校验位数组。
建立一个DRAM高速缓冲存储器的奇偶校验位数组,该数组可以容纳与一个擦除单元的读写单元个数一致的数量,确保所有可并行独立操作的单元内打开的擦除单元内同一读写单元有一个对应存储区域,用于存储其产生的奇偶校验位。
通过在DRAM中创建DRAM高速缓冲存储器的奇偶校验位数组来缓存中间奇偶校验位结果,可以延迟写入奇偶校验位数据,进而可以保障系统中对应RAID只存在一个打开的擦除单元。
S102、设置每个可并行独立操作的单元同一时间只打开一个擦除单元。
请参阅图4,其中DIE为可独立并行操作的单元,Block为擦除单元,Page为读写单元,当建立了DRAM高速缓冲存储器的奇偶校验位数组后,每个可并行独立操作的单元同一时间只打开一个擦除单元,写入数据,并生成奇偶校验位,避免打开多个擦除单元导致系统不稳定,数据可靠性降低而且异常掉电时数据损坏、映射表重建的复杂性很高。
S103、设置数据写入顺序。
在本实施例中,该顺序为先将数据写入所有可并行独立操作的单元同一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元同一擦除单元内下一读写单元,直至所有可并行独立操作的单元同一擦除单元内所有读写单元都写入数据;接着,将数据写入所有可并行独立操作的单元下一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元中该擦除单元内下一读写单元,直至所有可并行独立操作的单元中该擦除单元内所有读写单元都写入数据,以此规律对所有读写单元进行数据写入。
请参阅图4,请参阅图4,图4是4个可并行独立操作的单元进行RAID方法的示意流程图,以图示的擦除单元0/1组成的RAID数组为例,数据写入顺序为D0_0->D0_1->D0_2->D0_3->D1_0->D1_1->…D255_0->D255_1->D255_2->D255_3->D0_4->D0_5->D0_6->P0->D1_4->…。
S104、按照顺序写入数据。
在本实施例中,具体是,先将数据写入所有可并行独立操作的单元同一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元同一擦除单元内下一读写单元,直至所有可并行独立操作的单元同一擦除单元内所有读写单元都写入数据;接着,将数据写入所有可并行独立操作的单元下一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元中该擦除单元内下一读写单元,直至所有可并行独立操作的单元中该擦除单元内所有读写单元都写入数据,以此规律对所有读写单元进行数据写入。
S105、判断系统是否掉电。
当系统出现掉电时,则需要进行上电,当系统上电后,数据写入中断,需要进行恢复,因此,判断系统是否出现掉电时确保RAID准确进行的步骤之一。
若否,则S106、利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位。
在本实施例中,借助DRAM高速缓冲存储器的奇偶校验位数组作为中转位置,在所有可独立并行操作的单元内所有擦除单元的所有同一位置的读写单元都填写了数据后,则将中转位置对应的奇偶校验位填写到所有可独立并行操作的单元内当前打开的擦除单元的校验数据物理页内,减少了同时打开的擦除单元,有效降低了擦除单元因为打开多个或异常掉电带来的可靠性风险
若是,则S107、重新生成掉电之前数据写入过程的奇偶校验位,并进入S105步骤。
在本实施例中,掉电后,内存中的DRAM高速缓冲存储器的奇偶校验位数组的奇偶校验位完全丢失,需要将掉电时数据写入点之前的所有校验数据进行恢复,也就是重新生成校验数据,再针对写入点之后的读写单元进行正常的写入数据,避免出现数据丢失的问题。
请参阅图5,图5是4个可并行独立操作的单元掉电重建过程的示意流程图;如图5所示,假设在写完D1_3后系统掉电,其内存中的DRAM高速缓冲存储器的奇偶校验位数组的奇偶校验位完全丢失,上电后,读取D0_0、D0_1、D0_2、D0_3,按照Parity生成规则生成P0’,并存放到的DRAM高速缓冲存储器的奇偶校验位数组中;读取D1_0、D1_1、D1_2、D1_3,按照Parity生成规则生成P1’,并存放到DRAM高速缓冲存储器的奇偶校验位数组中,后续可以按照步骤S104进行数据写入,正常进行后续用户数据的写入以及奇偶校验位生成、缓存、写入。
请参阅图6,图6是擦除单元RAID方法的子步骤的示意流程图,如图6所示,S106、利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤,包括以下具体步骤:
S1061、获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内;
S1062、判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元;
S1063、若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内;
若否,则返回S103步骤。
请参阅图4,在写入D0_0、D0_1、D0_2、D0_3的过程中,将中间的奇偶校验位结果缓存在内存中;在写入D0_6后,将DRAM高速缓冲存储器的奇偶校验位数组内的数据P0写入到对应物理页中。
上述的擦除单元RAID方法,通过在DRAM中创建高速缓冲存储器的奇偶校验位数组缓存奇偶校验位结果,当数据写入到指定位置时,则将缓存的奇偶校验位结果存储到指定的校验数据物理页内,以延迟写入奇偶校验位数据,保证系统中对应RAID只存在一个打开的擦除单元,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。
请参阅图7,图7为本发明一具体实施例提供的擦除单元RAID装置的示意性框图,如图7所示,擦除单元RAID装置包括创建单元1、打开设置单元2、顺序设置单元3、数据写入单元4以及延迟写入单元6。
创建单元1,用于在内存中创建DRAM高速缓冲存储器的奇偶校验位数组。
打开设置单元2,用于设置每个可并行独立操作的单元同一时间只打开一个擦除单元。
顺序设置单元3,用于设置数据写入顺序。
数据写入单元4,用于按照顺序写入数据。
延迟写入单元6,用于利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位。
另外,上述的装置还包括掉电判断单元5以及重新生成单元7。
掉电判断单元5,用于判断系统是否掉电。
重新生成单元7,用于若是,则重新生成掉电之前数据写入过程的奇偶校验位。
请参阅图8,上述的延迟写入单元6包括数组存储模块61、数据写入判断模块62以及校验数据物理页存储模块63。
数组存储模块61,用于获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内。
数据写入判断模块62,用于判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元。
校验数据物理页存储模块63,用于若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的擦除单元RAID装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的擦除单元RAID装置,通过在DRAM中创建高速缓冲存储器的奇偶校验位数组缓存奇偶校验位结果,当数据写入到指定位置时,则将缓存的奇偶校验位结果存储到指定的校验数据物理页内,以延迟写入奇偶校验位数据,保证系统中对应RAID只存在一个打开的擦除单元,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。
上述擦除单元RAID装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700设备可以是终端或服务器。
参照图9,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种擦除单元RAID方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种擦除单元RAID方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
在内存中创建DRAM高速缓冲存储器的奇偶校验位数组;
设置每个可并行独立操作的单元同一时间只打开一个擦除单元;
设置数据写入顺序;
按照顺序写入数据;
利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位。
在一实施例中,所述处理器720用于运行按照顺序写入数据之后,还实现以下步骤:
判断系统是否掉电;
若否,则进入利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤;
若是,则重新生成掉电之前数据写入过程的奇偶校验位,并进入利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤。
在一实施例中,所述处理器720用于运行按照顺序写入数据,具体是将数据写入所有可并行独立操作的单元同一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元同一擦除单元内下一读写单元,直至所有可并行独立操作的单元同一擦除单元内所有读写单元都写入数据;
将数据写入所有可并行独立操作的单元下一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元中该擦除单元内下一读写单元,直至所有可并行独立操作的单元中该擦除单元内所有读写单元都写入数据。
在一实施例中,所述处理器720用于运行利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位,包括以下具体步骤:
获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内;
判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元;
若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内;
若否,则返回按照顺序写入数据的步骤。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图9中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
上述的计算机设备,通过在DRAM中创建高速缓冲存储器的奇偶校验位数组缓存奇偶校验位结果,当数据写入到指定位置时,则将缓存的奇偶校验位结果存储到指定的校验数据物理页内,以延迟写入奇偶校验位数据,保证系统中对应RAID只存在一个打开的擦除单元,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。
另外,本实施例还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行前述的擦除单元RAID方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的存储介质,通过在DRAM中创建高速缓冲存储器的奇偶校验位数组缓存奇偶校验位结果,当数据写入到指定位置时,则将缓存的奇偶校验位结果存储到指定的物理页内,以延迟写入奇偶校验位数据,保证系统中对应RAID只存在一个打开的擦除单元,实现降低擦除单元因为打开或异常掉电带来数据损坏的可靠性风险。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (7)

1.擦除单元RAID方法,其特征在于,所述方法包括:
在内存中创建DRAM高速缓冲存储器的奇偶校验位数组;
设置每个可并行独立操作的单元同一时间只打开一个擦除单元;
设置数据写入顺序;
按照顺序写入数据;
利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位;
所述按照顺序写入数据的步骤之后,包括:
判断系统是否掉电;
若否,则进入利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤;
若是,则重新生成掉电之前数据写入过程的奇偶校验位,并进入利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤;
借助DRAM高速缓冲存储器的奇偶校验位数组作为中转位置,在所有可独立并行操作的单元内所有擦除单元的所有同一位置的读写单元都填写了数据后,则将中转位置对应的奇偶校验位填写到所有可独立并行操作的单元内当前打开的擦除单元的校验数据物理页内。
2.根据权利要求1所述的擦除单元RAID方法,其特征在于,按照顺序写入数据的步骤中,具体是将数据写入所有可并行独立操作的单元同一擦除单元内同一读写单元,再将数据写入所有可并行独立操作的单元同一擦除单元内下一读写单元,直至所有可并行独立操作的单元同一擦除单元内所有读写单元都写入数据。
3.根据权利要求1至2任一项所述的擦除单元RAID方法,其特征在于,利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位的步骤,包括以下具体步骤:
获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内;
判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元;
若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内;
若否,则返回按照顺序写入数据的步骤。
4.擦除单元RAID装置,其特征在于,包括创建单元、打开设置单元、顺序设置单元、数据写入单元以及延迟写入单元;
所述创建单元,用于在内存中创建DRAM高速缓冲存储器的奇偶校验位数组;
所述打开设置单元,用于设置每个可并行独立操作的单元同一时间只打开一个擦除单元;
所述顺序设置单元,用于设置数据写入顺序;
所述数据写入单元,用于按照顺序写入数据;
所述延迟写入单元,用于利用DRAM高速缓冲存储器的奇偶校验位数组延迟写入数据写入过程中产生的奇偶校验位;
还包括掉电判断单元以及重新生成单元;
所述掉电判断单元,用于判断系统是否掉电;
所述重新生成单元,用于若是,则重新生成掉电之前数据写入过程的奇偶校验位;
借助DRAM高速缓冲存储器的奇偶校验位数组作为中转位置,在所有可独立并行操作的单元内所有擦除单元的所有同一位置的读写单元都填写了数据后,则将中转位置对应的奇偶校验位填写到所有可独立并行操作的单元内当前打开的擦除单元的校验数据物理页内。
5.根据权利要求4所述的擦除单元RAID装置,其特征在于,所述延迟写入单元包括数组存储模块、数据写入判断模块以及校验数据物理页存储模块;
所述数组存储模块,用于获取数据写入所有可并行独立操作的单元同一擦除单元内所有读写单元时产生的奇偶校验位,并将奇偶校验位存储于DRAM高速缓冲存储器的奇偶校验位数组内;
所述数据写入判断模块,用于判断数据是否写入所有可并行独立操作的单元下一擦除单元内同一读写单元;
所述校验数据物理页存储模块,用于若是,则将DRAM高速缓冲存储器的奇偶校验位数组内存储的奇偶校验位数据存储至对应的校验数据物理页内。
6.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任意一项所述的擦除单元RAID方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至3任意一项所述的擦除单元RAID方法。
CN201810556017.3A 2018-06-01 2018-06-01 擦除单元raid方法、装置、计算机设备及存储介质 Active CN108920094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810556017.3A CN108920094B (zh) 2018-06-01 2018-06-01 擦除单元raid方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810556017.3A CN108920094B (zh) 2018-06-01 2018-06-01 擦除单元raid方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN108920094A CN108920094A (zh) 2018-11-30
CN108920094B true CN108920094B (zh) 2021-06-08

Family

ID=64420000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810556017.3A Active CN108920094B (zh) 2018-06-01 2018-06-01 擦除单元raid方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN108920094B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11127467B1 (en) * 2020-06-19 2021-09-21 Western Digital Technologies, Inc. Hybrid erase mode for high data retention in memory device
CN111897495B (zh) * 2020-07-28 2023-07-04 深圳忆联信息系统有限公司 提高ssd写性能的实现方法、装置、计算机设备及存储介质
CN113391947B (zh) * 2021-06-22 2022-12-02 深圳忆联信息系统有限公司 Ssd raid条带掉电快速恢复方法、装置、计算机设备及存储介质
CN116701042B (zh) * 2023-07-27 2023-10-13 飞腾信息技术有限公司 一种内存数据保留方法、保留装置和相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834943A (zh) * 2005-03-14 2006-09-20 富士通株式会社 存储系统及其控制方法和程序
CN102945201A (zh) * 2011-09-11 2013-02-27 微软公司 已验证数据集合的非易失性介质日志记录
CN105468998A (zh) * 2014-09-03 2016-04-06 腾讯科技(深圳)有限公司 数据保护方法、数据保护装置以及固态硬盘存储系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904672B2 (en) * 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
KR102703983B1 (ko) * 2016-11-07 2024-09-10 삼성전자주식회사 Raid 방식으로 데이터를 저장하는 스토리지 장치
CN107832168B (zh) * 2017-10-13 2020-10-16 记忆科技(深圳)有限公司 一种固态硬盘数据保护的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834943A (zh) * 2005-03-14 2006-09-20 富士通株式会社 存储系统及其控制方法和程序
CN102945201A (zh) * 2011-09-11 2013-02-27 微软公司 已验证数据集合的非易失性介质日志记录
CN105468998A (zh) * 2014-09-03 2016-04-06 腾讯科技(深圳)有限公司 数据保护方法、数据保护装置以及固态硬盘存储系统

Also Published As

Publication number Publication date
CN108920094A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108920094B (zh) 擦除单元raid方法、装置、计算机设备及存储介质
US10127166B2 (en) Data storage controller with multiple pipelines
US8806111B2 (en) Apparatus, system, and method for backing data of a non-volatile storage device using a backing store
US20160070474A1 (en) Data-Retention Controller/Driver for Stand-Alone or Hosted Card Reader, Solid-State-Drive (SSD), or Super-Enhanced-Endurance SSD (SEED)
US20150349805A1 (en) Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same
CN113126907B (zh) 用于存储器装置的异步电力损失恢复
US12013762B2 (en) Meta data protection against unexpected power loss in a memory system
CN103488432B (zh) 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
US11372543B2 (en) Zone-append command scheduling based on zone state
US11775389B2 (en) Deferred error-correction parity calculations
US12061817B2 (en) Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same
US11487609B2 (en) Separating parity data from host data in a memory sub-system
US11966582B2 (en) Data storage device that detects and releases bottlenecks
US20240184695A1 (en) Managing power loss recovery using a dirty section write policy for an address mapping table in a memory sub-system
US11537510B2 (en) Storage devices having minimum write sizes of data
US11294598B2 (en) Storage devices having minimum write sizes of data
CN111580757A (zh) 数据写入方法、系统和固态硬盘
US11537292B2 (en) Methods and apparatus for enhancing uber rate for storage devices
US20210333996A1 (en) Data Parking for SSDs with Streams
US10922025B2 (en) Nonvolatile memory bad row management
US20230376230A1 (en) Data storage with parity and partial read back in a redundant array
Zhan et al. AetEC: Adaptive error-tolerant erasure coding scheme within SSDs
US11853201B2 (en) Selective single-level memory cell operation
US12093130B2 (en) Read look ahead optimization according to NVMe dataset management hints
US11726911B2 (en) NVMe persistent memory region quick copy

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