[go: up one dir, main page]

CN107678694A - RAID stripe method for reconstructing and solid-state disk - Google Patents

RAID stripe method for reconstructing and solid-state disk Download PDF

Info

Publication number
CN107678694A
CN107678694A CN201710964327.4A CN201710964327A CN107678694A CN 107678694 A CN107678694 A CN 107678694A CN 201710964327 A CN201710964327 A CN 201710964327A CN 107678694 A CN107678694 A CN 107678694A
Authority
CN
China
Prior art keywords
block
weak
error rate
bit error
physical
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
Application number
CN201710964327.4A
Other languages
Chinese (zh)
Other versions
CN107678694B (en
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 Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics 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 Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN201710964327.4A priority Critical patent/CN107678694B/en
Publication of CN107678694A publication Critical patent/CN107678694A/en
Application granted granted Critical
Publication of CN107678694B publication Critical patent/CN107678694B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)

Abstract

The invention discloses a kind of RAID stripe method for reconstructing applied to solid-state disk, forms new RAID stripe for carrying out restructuring to the physical block group of RAID memory arrays, this method includes:Step S1, detects the raw Bit-Error-Rate of physical block and is updated and be recorded in bulk state table;Step S2, the raw Bit-Error-Rate in bulk state table obtain weak block message;Step S3, weak block number mesh is obtained by bulk state table, and band tissue is carried out to physical block;Step S4, the LSB page of the physical block in same RAID stripe and MSB pages are staggeredly subjected to band tissue in block.The RAID stripe method for reconstructing of the present invention, the dynamic adjustment of solid-state disk RAID stripe is realized, avoids loss of data, while avoid waste of storage space, improved the reliability of solid-state disk, extend the life-span of solid-state disk.Meanwhile the invention also discloses a kind of solid-state disk, it includes RAID memory arrays and the controller for the RAID memory arrays adaptively adjust and be managed the data that it is stored.

Description

RAID条带重建方法及固态盘RAID Stripe Reconstruction Method and Solid State Disk

技术领域technical field

本发明涉及电子存储技术领域,尤其涉及一种RAID条带重建方法及固态盘。The invention relates to the technical field of electronic storage, in particular to a RAID stripe rebuilding method and a solid state disk.

背景技术Background technique

固态盘因为其高性能,低能耗,抗震性能好,已经作为磁盘的一个可行的代替品,广泛应用于服务器系统中。随着闪存工艺的进步,特别是从SLC(Single-LevelCell)技术到MLC(Multi-LevelCell)技术和闪存制程工艺的发展,闪存容量日益增加。然而,闪存物理块的耐久力却大幅下降,可靠性显著降低。为保证数据的一致性,固态盘的制造商在盘内采用独立硬盘冗余阵列(RAID)机制增强固态盘的可靠性。Because of its high performance, low energy consumption, and good shock resistance, solid-state disks have been widely used in server systems as a viable substitute for disks. With the progress of flash memory technology, especially the development from SLC (Single-LevelCell) technology to MLC (Multi-LevelCell) technology and flash memory process technology, the capacity of flash memory is increasing day by day. However, the endurance of the physical blocks of flash memory is greatly reduced, and the reliability is significantly reduced. In order to ensure data consistency, manufacturers of solid-state disks use a Redundant Array of Independent Hard Disks (RAID) mechanism to enhance the reliability of solid-state disks.

RAID要实现的功能之一是对控制器控制的多个存储器进行条带化,而对多个存储器进行条带化可使得原本相互独立不相关的存储器组合成一个整体的存储器阵列。条带化是通过控制器把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同存储器上的方法,条带为多个存储器组合形成的一个卷。One of the functions to be realized by RAID is to strip multiple storages controlled by the controller, and striping multiple storages can combine independent and unrelated storages into an overall storage array. Striping is a method in which the controller divides continuous data into data blocks of the same size, and writes each segment of data to different storage devices in the array. A stripe is a volume formed by combining multiple storage devices.

固态盘存储不同于传统磁盘,NAND闪存是组成固态盘的常用的颗粒。闪存存储器的写操作需要经过“擦除-写入”两个操作过程。如果要对存储单元进行写入时,必须对该存储单元的物理块执行擦除操作,被擦除完成后,整个物理块的数据内容都被清空,擦除操作过程称为回收。Solid-state disk storage is different from traditional disks. NAND flash memory is a common particle that makes up solid-state disks. The writing operation of the flash memory needs to go through two operation processes of "erase-write". If the storage unit is to be written, the physical block of the storage unit must be erased. After the erase is completed, the data content of the entire physical block is cleared. The erasing operation process is called recycling.

其中,NAND闪存具有一些特殊的错误特性。NAND闪存的原始误码率(RBER)会随着编程/擦除次数(P/Ecycle)的增加呈指数增长。而且,由于制造工艺的差异,固态盘在物理块、闪存页等存在错误分布不均匀的现象。例如,在相同的编程/擦除次数下,不同的物理块体现不同的错误特性;同一个物理块内,最高有效位组成的页(MSB页)比最低有效位组成的页(LSB页)的原始误码率更高,MSB页的耐磨损力小于LSB页的耐磨损力。Among them, NAND flash memory has some special error characteristics. The raw bit error rate (RBER) of NAND flash memory will increase exponentially with the increase of program/erase cycles (P/Ecycle). Moreover, due to differences in manufacturing processes, there is an uneven distribution of errors in solid state disks in physical blocks, flash memory pages, and the like. For example, under the same programming/erasing times, different physical blocks exhibit different error characteristics; in the same physical block, the page composed of the most significant bits (MSB page) is more error-prone than the page composed of the least significant bits (LSB page). Raw BER is higher and MSB pages have less wear resistance than LSB pages.

然而,传统的RAID不考虑NAND闪存这些错误特性,在固态盘整个生命期中采用固定强度的RAID策略,导致在固态盘使用后期,其编程/擦除次数数目较大,闪存介质的原始误码率增大,固定强度的RAID提供的可靠性不足以满足后期需求。However, traditional RAID does not consider the error characteristics of NAND flash memory, and adopts a fixed-strength RAID strategy throughout the life of the solid-state disk, resulting in a large number of programming/erasing times in the later use of the solid-state disk, and the original bit error rate of the flash medium. Increasingly, the reliability provided by fixed-strength RAID is not enough to meet later needs.

现有技术中,SehwanLee等人提出了寿命感知的RAID方案,在不同的编程/擦除次数下,采用不同强度的RAID策略,以最小的存储空间开销保证固态盘整个生命期的可靠性。但是,寿命感知的RAID忽略了由于制造工艺导致的介质耐磨损力(物理块级和闪存页级)的差异,将编程/擦除次数作为磨损程度度量的唯一指标以调整RAID强度,存在尽管牺牲了空间容量,但RAID强度调整仍无法满足可靠性要求的情况。In the prior art, SehwanLee et al. proposed a lifetime-aware RAID solution, which uses RAID strategies of different strengths under different programming/erasing times to ensure the reliability of the solid-state disk throughout its lifetime with the minimum storage space overhead. However, life-aware RAID ignores the difference in media wear resistance (physical block level and flash page level) due to the manufacturing process, and uses the number of programming/erasing as the only indicator of the degree of wear to adjust the RAID strength. The space capacity is sacrificed, but the RAID strength adjustment still cannot meet the reliability requirements.

一方面,忽略物理块级的耐磨损力之间的差异:当两个或两个以上具有较高原始误码率的物理块处于同一条带时,条带可靠性的提升无法抵消该物理块的磨损,从而会导致数据丢失;另一方面,忽略闪存页级的耐磨损力之间的差异:寿命感知的RAID将LSB页和MSB页分别组成RAID条带,使得整个MSB条带的磨损程度远远高于LSB条带,而由于物理块闪存页的最大磨损决定了物理块的磨损,导致了一个物理块不可用时,该物理块中的LSB页仍可使用,从而带来了空间浪费。On the one hand, the difference between wear resistance at the physical block level is ignored: when two or more physical blocks with higher raw BER are in the same stripe, the increase in stripe reliability cannot offset the physical On the other hand, ignoring the difference between the wear resistance of the flash memory page level: the life-aware RAID divides the LSB page and the MSB page into RAID stripes, so that the entire MSB stripe The degree of wear is much higher than that of LSB stripes, and because the maximum wear of the physical block flash page determines the wear of the physical block, when a physical block is unavailable, the LSB page in the physical block can still be used, thus bringing space waste.

鉴于此,有必要提供一种可解决上述缺陷的可防止RAID条带数据丢失且空间利用率高的可实现RAID存储器阵列自适应重组的RAID条带重建方法及固态盘。In view of this, it is necessary to provide a RAID stripe rebuilding method and a solid-state disk that can solve the above-mentioned defects, can prevent RAID stripe data loss and have high space utilization, and can realize adaptive reorganization of RAID memory arrays.

发明内容Contents of the invention

本发明所要解决的一个技术问题是提供一种可实现RAID存储器阵列自适应重组,提高固态盘可靠性和实用性的RAID条带重建方法。A technical problem to be solved by the present invention is to provide a RAID stripe rebuilding method which can realize the self-adaptive reorganization of the RAID memory array and improve the reliability and practicability of the solid state disk.

本发明所要解决的另一个技术问题是提供一种可防止RAID条带数据丢失且空间利用率高的固态盘。Another technical problem to be solved by the present invention is to provide a solid state disk that can prevent RAID stripe data loss and has high space utilization.

为解决上述技术问题,本发明采用如下所述的技术方案:一种RAID条带重建方法,应用于固态盘以对RAID存储器阵列的物理块组进行重建形成新的RAID条带,该方法包括以下步骤:In order to solve the above-mentioned technical problems, the present invention adopts the following technical scheme: a method for rebuilding a RAID stripe, which is applied to a solid-state disk to rebuild a physical block group of a RAID memory array to form a new RAID stripe, and the method includes the following steps: step:

步骤S1,检测物理块的原始误码率并将其更新记录于块状态表中;Step S1, detecting the original bit error rate of the physical block and updating and recording it in the block status table;

步骤S2,根据块状态表中的原始误码率获取弱块信息;Step S2, obtaining weak block information according to the original bit error rate in the block state table;

步骤S3,通过块状态表获取弱块数目,对物理块进行条带组织;Step S3, obtain the number of weak blocks through the block state table, and organize the physical blocks in stripes;

步骤S4,将同一RAID条带中的物理块的LSB页和MSB页交错进行块内条带组织。Step S4, interleaving the LSB pages and MSB pages of the physical blocks in the same RAID stripe to organize stripes within the block.

其进一步技术方案为:所述步骤S1具体包括以下步骤:Its further technical solution is: said step S1 specifically includes the following steps:

步骤S1.1,设置编程/擦除次数阈值、弱块原始误码率阈值及物理块组的总物理块数目;Step S1.1, setting the programming/erasing times threshold, the weak block original bit error rate threshold and the total number of physical blocks in the physical block group;

步骤S1.2,判断编程/擦除次数是否达到需进行物理块原始误码率检测的编程/擦除次数阈值;Step S1.2, judging whether the number of times of programming/erasing reaches the threshold of times of programming/erasing for which the original bit error rate of the physical block needs to be detected;

步骤S1.3,根据步骤S1.2的判断结果,当编程/擦除次数达到需进行物理块原始误码率检测的编程/擦除次数阈值时,对该物理块组进行物理块的原始误码率检测同时将其记录于块状态表中。Step S1.3, according to the judgment result of step S1.2, when the number of programming/erasing times reaches the programming/erasing times threshold value of the original bit error rate detection of the physical block, the original error rate of the physical block is performed on the physical block group. Code rate detection is recorded in the block status table at the same time.

其进一步技术方案为:所述步骤S1.3具体为:根据步骤S1.2的判断结果,当编程/擦除次数达到需进行物理块原始误码率检测的编程/擦除次数阈值时,读取物理块组的每一物理块中的所有闪存页,获取闪存页的原始误码率,将每一物理块中最大的闪存页原始误码率作为该物理块的原始误码率,记录在块状态表中。Its further technical solution is: said step S1.3 is specifically: according to the judgment result of step S1.2, when the number of programming/erasing times reaches the threshold value of the number of programming/erasing times that needs to be detected for the original bit error rate of the physical block, read Get all the flash memory pages in each physical block of the physical block group, obtain the original bit error rate of the flash memory page, and use the largest original bit error rate of the flash memory page in each physical block as the original bit error rate of the physical block, and record it in in the block state table.

其进一步技术方案为:所述步骤S1还包括:根据步骤S1.2的判断结果,当编程/擦除次数未达到需进行原始误码率检测的编程/擦除次数阈值时,直接执行步骤S3。Its further technical solution is: the step S1 also includes: according to the judgment result of the step S1.2, when the programming/erasing frequency does not reach the programming/erasing frequency threshold for the detection of the original bit error rate, directly execute the step S3 .

其进一步技术方案为:所述步骤S2具体包括以下步骤:Its further technical solution is: said step S2 specifically includes the following steps:

步骤S2.1,根据步骤S1.3记录在块状态表的原始误码率值与设置的弱块原始误码率阈值进行比较,判断物理块的原始误码率值是否超过设置的弱块原始误码率阈值;Step S2.1, compare the original bit error rate value recorded in the block state table with the set weak block original bit error rate threshold according to step S1.3, and judge whether the original bit error rate value of the physical block exceeds the set weak block original bit error rate value. BER threshold;

步骤S2.2,根据步骤S2.1的判断结果,如果物理块的原始误码率值超过弱块原始误码率阈值,则将该物理块标记为弱块,并记录在块状态表中。Step S2.2, according to the judgment result of step S2.1, if the original bit error rate value of the physical block exceeds the weak block original bit error rate threshold, mark the physical block as a weak block and record it in the block status table.

其进一步技术方案为:所述步骤S2还包括:根据步骤S2.1的判断结果,当物理块的原始误码率值未超过设置的弱块原始误码率阈值,则直接执行步骤S3。Its further technical solution is: said step S2 further includes: according to the judgment result of step S2.1, when the original bit error rate value of the physical block does not exceed the set weak block original bit error rate threshold, then directly execute step S3.

其进一步技术方案为:所述步骤S2.2还包括:Its further technical solution is: said step S2.2 also includes:

步骤S2.2.1,坏块预测判断,根据块状态表中的弱块信息获取弱块的数目,判断弱块数目是否超过物理块组中物理块数目的1/2;Step S2.2.1, bad block prediction and judgment, obtain the number of weak blocks according to the weak block information in the block state table, and judge whether the number of weak blocks exceeds 1/2 of the number of physical blocks in the physical block group;

步骤S2.2.2,根据步骤S2.2.1的判断结果,当弱块数目超过总物理块数目的1/2时,根据块状态表的原始误码率信息预判物理块组中原始误码率最大的物理块为坏块,对坏块进行替换,并将替换后新的物理块的原始误码率更新记录于块状态表中;否则直接执行步骤S3。Step S2.2.2, according to the judgment result of step S2.2.1, when the number of weak blocks exceeds 1/2 of the total number of physical blocks, predict the maximum original bit error rate in the physical block group according to the original bit error rate information in the block state table If the physical block is a bad block, replace the bad block, and update and record the original BER of the new physical block after replacement in the block status table; otherwise, directly execute step S3.

其进一步技术方案为:所述步骤S3具体为:通过块状态表的弱块信息获取弱块数目,并根据弱块数目进行条带组织,根据弱块数目确定物理块组的RAID条带数目,将每一弱块置于不同RAID条带中,确保每一RAID条带中只有一个弱块,同时将固态盘中其余非弱块物理块按照数目平均分布在每个RAID条带中。Its further technical solution is: the step S3 is specifically: obtain the number of weak blocks through the weak block information in the block state table, and perform stripe organization according to the number of weak blocks, and determine the number of RAID stripes of the physical block group according to the number of weak blocks, Place each weak block in a different RAID stripe to ensure that there is only one weak block in each RAID stripe, and at the same time distribute the remaining non-weak block physical blocks in each RAID stripe evenly according to the number.

其进一步技术方案为:所述步骤S3还包括:Its further technical solution is: said step S3 also includes:

步骤S3.1,于RAID条带的物理块组的弱块中存放校验数据。Step S3.1, storing the verification data in the weak block of the physical block group of the RAID stripe.

为解决上述技术问题,本发明还提供了一种固态盘,包括有RAID存储器阵列及控制器,所述RAID存储器阵列用于分段式存储数据;当固态盘的编程/擦除次数超过预设的阈值时,所述控制器用于执行上述的RAID条带重建方法以对所述RAID存储器阵列进行自适应重组,并对所述RAID存储器阵列的存储数据进行管理。In order to solve the above-mentioned technical problems, the present invention also provides a solid-state disk, including a RAID memory array and a controller, and the RAID memory array is used to store data in segments; when the programming/erasing times of the solid-state disk exceed the preset When the threshold is , the controller is configured to execute the above RAID stripe rebuilding method to perform adaptive reorganization on the RAID storage array, and manage the storage data of the RAID storage array.

本发明的有益技术效果在于:本发明提供的RAID条带重建方法通过检测物理块的原始误码率,感知物理块的实际磨损,并根据原始误码率值将物理块按照弱块及非弱块物理块区分开,记录于块状态表中,根据弱块的数目对物理块进行条带组织,提高固态盘系统可靠性,延长固态盘的寿命,可有效保护数据,防止数据丢失;同时,将同一RAID条带中的物理块的LSB页和MSB页交错进行块内条带组织,克服物理块内数据页错误分布的不均匀性,避免出现可靠性差异太大而导致的存储空间浪费的问题,提高存储空间利用率。同时,本发明还提供了固态盘包括有RAID存储器阵列及控制器,所述控制器可对RAID存储器阵列进行自适应重组,以提高固态盘系统的可靠性,延长固态盘系统的寿命。The beneficial technical effects of the present invention are: the RAID stripe reconstruction method provided by the present invention senses the actual wear and tear of the physical block by detecting the original bit error rate of the physical block, and divides the physical block into weak blocks and non-weak blocks according to the original bit error rate value. Blocks are separated from physical blocks and recorded in the block status table, and the physical blocks are organized in stripes according to the number of weak blocks, which improves the reliability of the solid-state disk system and prolongs the life of the solid-state disk, which can effectively protect data and prevent data loss; at the same time, The LSB page and MSB page of the physical block in the same RAID stripe are interleaved for intra-block stripe organization to overcome the uneven distribution of data page errors in the physical block and avoid the waste of storage space caused by large reliability differences. problems and improve storage space utilization. At the same time, the invention also provides a solid state disk including a RAID memory array and a controller, and the controller can perform self-adaptive reorganization on the RAID memory array to improve the reliability of the solid state disk system and prolong the service life of the solid state disk system.

附图说明Description of drawings

图1是本发明RAID条带重建方法的流程图。FIG. 1 is a flow chart of the RAID stripe rebuilding method of the present invention.

图2是本发明RAID条带重建方法的一具体实施例的流程图。Fig. 2 is a flow chart of a specific embodiment of the RAID stripe rebuilding method of the present invention.

图3是本发明RAID条带重建方法的物理块间RAID条带组织示意图。FIG. 3 is a schematic diagram of RAID stripe organization among physical blocks in the RAID stripe rebuilding method of the present invention.

具体实施方式detailed description

为使本领域的普通技术人员更加清楚地理解本发明的目的、技术方案和优点,以下结合附图和实施例对本发明做进一步的阐述。显然,以下将描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make those skilled in the art more clearly understand the purpose, technical solutions and advantages of the present invention, the present invention will be further described below in conjunction with the accompanying drawings and embodiments. Apparently, the embodiments described below are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

本发明RAID条带重建方法,针对以条带深度为块的RAID条带组织或者物理位置为静止的RAID条带组织,应用于固态盘中以对RAID存储器阵列的物理块组进行重建,形成新的RAID条带以存储数据,对RAID条带进行动态调整,提高固态盘系统可靠性。The RAID stripe rebuilding method of the present invention is aimed at the RAID stripe organization with the stripe depth as the block or the RAID stripe organization whose physical position is static, and is applied to the solid state disk to rebuild the physical block group of the RAID memory array to form a new RAID stripes can be used to store data, and the RAID stripes can be dynamically adjusted to improve the reliability of the SSD system.

参照图1,所述RAID条带重建方法包括以下步骤:With reference to Fig. 1, described RAID stripe rebuilding method comprises the following steps:

步骤S1,检测物理块的原始误码率并将其更新记录于块状态表中。Step S1, detecting the original bit error rate of the physical block and updating and recording it in the block state table.

在本实施例中,采用read-after-write方式检测物理块的原始误码率,即在物理块编程后立刻读取写入的数据以检测数据的出错情况,从而检测物理块的原始误码率,具体的read-after-write方式可参考MingchangYang等人发表的《New ERA:new efficientreliability-aware wear leveling for endurance enhancement of flash storagedevices》(Proceedings of the 50th Annual Design Automation Conference,ArticleNO.163,2013)期刊文献。In this embodiment, the original bit error rate of the physical block is detected by the read-after-write method, that is, the written data is read immediately after the programming of the physical block to detect the error of the data, thereby detecting the original bit error rate of the physical block For specific read-after-write methods, please refer to "New ERA: new efficient reliability-aware wear leveling for endurance enhancement of flash storage devices" (Proceedings of the 50th Annual Design Automation Conference, Article NO.163, 2013) published by MingchangYang et al. Journal literature.

参照图2,在某些实施例,例如本实施例中,所述步骤S1具体包括以下步骤:Referring to Figure 2, in some embodiments, such as this embodiment, the step S1 specifically includes the following steps:

步骤S1.1,设置编程/擦除次数阈值、弱块原始误码率阈值及物理块组的总物理块数目。Step S1.1, setting the programming/erasing times threshold, the weak block raw bit error rate threshold and the total number of physical blocks in the physical block group.

其中,弱块为原始误码率高、耐磨损力较差的物理块。由于物理块内的原始误码率随着编程/擦除次数呈指数增长的特性,所述编程/擦除次数阈值的设置数目为多个,且设置的编程/擦除次数阈值的间隔也不同;则当编程/擦除次数数目较小时,物理块的磨损变化程度较慢,在一段编程/擦除次数变化范围内,物理块的磨损变化不大,因此,固态盘使用初期,设置的编程/擦除次数阈值的间隔较大;随着固态盘的使用,物理块的磨损变化随着编程/擦除次数的增长变化较快,因此设置的编程/擦除次数阈值的间隔较小。所述编程/擦除次数阈值用于判断是否进行物理块的原始误码率检测,当编程/擦除次数超过所述编程/擦除次数阈值时,则对物理块进行原始误码率检测;所述弱块原始误码率阈值用于判断物理块是否为弱块,当检测获得的物理块原始误码率超过所述弱块原始误码率阈值,则该物理块为弱块。Among them, the weak block is a physical block with high original bit error rate and poor wear resistance. Due to the characteristic that the original bit error rate in the physical block increases exponentially with the number of programming/erasing times, the number of settings for the programming/erasing times threshold is multiple, and the intervals between the set programming/erasing times thresholds are also different ; then when the number of programming/erasing times is small, the degree of wear of the physical block changes slowly, and within a range of programming/erasing times, the wear of the physical block does not change much. The interval of the threshold value of the erasing times is relatively large; with the use of the solid state disk, the wear of the physical block changes rapidly with the increase of the number of programming/erasing times, so the interval of the threshold value of the programming/erasing times is set to be small. The programming/erasing times threshold is used to judge whether to perform the original bit error rate detection of the physical block, and when the programming/erasing times exceed the programming/erasing times threshold, the original bit error rate detection is performed on the physical block; The weak block original bit error rate threshold is used to judge whether the physical block is a weak block, and when the detected physical block original bit error rate exceeds the weak block original bit error rate threshold, the physical block is a weak block.

步骤S1.2,判断编程/擦除次数是否达到需进行物理块原始误码率检测的编程/擦除次数阈值。Step S1.2, judging whether the number of times of programming/erasing reaches the threshold value of the number of times of programming/erasing required to detect the original bit error rate of the physical block.

通过设置编程/擦除次数阈值,可根据编程/擦除次数判断是否需要检测物理块的原始误码率,从而控制物理块原始误码率检测的频率,减少对物理块数据的读取,降低固态盘中物理块原始误码率检测的开销。固态盘使用过程中,其编程/擦除次数与设置的编程/擦除次数阈值进行比较,当编程/擦除次数超过所述编程/擦除次数阈值时,则对物理块进行原始误码率检测。By setting the programming/erasing times threshold, it can be judged whether the original bit error rate of the physical block needs to be detected according to the programming/erasing times, so as to control the frequency of the original bit error rate detection of the physical block, reduce the reading of the physical block data, and reduce the The overhead of raw bit error rate detection for physical blocks in SSDs. During the use of the solid state disk, its programming/erasing times are compared with the set programming/erasing times threshold, and when the programming/erasing times exceed the programming/erasing times threshold, the original bit error rate of the physical block is calculated. detection.

步骤S1.3,根据步骤S1.2的判断结果,当编程/擦除次数达到需进行物理块原始误码率检测的编程/擦除次数阈值时,对该物理块组进行物理块的原始误码率检测同时将对应的原始误码率值记录于块状态表中。Step S1.3, according to the judgment result of step S1.2, when the number of programming/erasing times reaches the programming/erasing times threshold value of the original bit error rate detection of the physical block, the original error rate of the physical block is performed on the physical block group. The bit rate detection simultaneously records the corresponding original bit error rate value in the block state table.

进一步地,步骤S1.3具体为:根据步骤S1.2的判断结果,当编程/擦除次数达到步骤S1.1设置的需进行物理块原始误码率检测的编程/擦除次数阈值时,读取该物理块组的每一物理块中的所有闪存页,获取闪存页的原始误码率,将每一物理块中最大的闪存页原始误码率值作为该物理块的原始误码率,记录于块状态表中。Further, step S1.3 is specifically: according to the judgment result of step S1.2, when the number of programming/erasing times reaches the programming/erasing times threshold set in step S1.1 that needs to detect the original bit error rate of the physical block, Read all the flash memory pages in each physical block of the physical block group, obtain the original bit error rate of the flash memory page, and use the largest flash memory page original bit error rate value in each physical block as the original bit error rate of the physical block , recorded in the block state table.

步骤S2,根据块状态表中的原始误码率获取弱块信息。Step S2, obtaining weak block information according to the original bit error rate in the block state table.

其中,原始误码率高、耐磨损力较差的物理块标记为弱块。判断物理块是否为弱块的依据是物理块的原始误码率,检测物理块的原始误码率可为比较判断该物理块是否为弱块提供依据。所述弱块信息表示块状态表中标记为弱块的物理块的信息,用于得知哪些物理块为弱块。Among them, physical blocks with high original bit error rate and poor wear resistance are marked as weak blocks. The basis for judging whether a physical block is a weak block is the original bit error rate of the physical block, and detecting the original bit error rate of the physical block can provide a basis for comparing and judging whether the physical block is a weak block. The weak block information represents information of physical blocks marked as weak blocks in the block status table, and is used to know which physical blocks are weak blocks.

继续参照图2,在某些实施例,例如本实施例中,所述步骤S2具体包括以下步骤:Continuing to refer to FIG. 2, in some embodiments, such as this embodiment, the step S2 specifically includes the following steps:

步骤S2.1,根据步骤S1.3记录在块状态表的原始误码率值与设置的弱块原始误码率阈值进行比较,判断物理块的原始误码率值是否超过设置的弱块原始误码率阈值。Step S2.1, compare the original bit error rate value recorded in the block state table with the set weak block original bit error rate threshold according to step S1.3, and judge whether the original bit error rate value of the physical block exceeds the set weak block original bit error rate value. Bit error rate threshold.

步骤S2.2,根据步骤S2.1的判断结果,如果物理块的原始误码率值超过弱块原始误码率阈值,则将该物理块标记为弱块,并记录在块状态表中。Step S2.2, according to the judgment result of step S2.1, if the original bit error rate value of the physical block exceeds the weak block original bit error rate threshold, mark the physical block as a weak block and record it in the block status table.

在某些实施例,例如本实施例中,所述步骤S2.2还包括以下步骤:In some embodiments, such as this embodiment, the step S2.2 further includes the following steps:

步骤S2.2.1,坏块预测判断,根据块状态表中的弱块信息获取弱块的数目,判断弱块数目是否超过物理块组中总物理块数目的1/2。Step S2.2.1, bad block prediction judgment, obtain the number of weak blocks according to the weak block information in the block state table, and judge whether the number of weak blocks exceeds 1/2 of the total number of physical blocks in the physical block group.

步骤S2.2.2,根据步骤S2.2.1的判断结果,当弱块数目超过总物理块数目的1/2时,根据块状态表的原始误码率信息预判物理块组中原始误码率最大的物理块为坏块,对坏块进行替换,并将替换后新的物理块的原始误码率更新记录于块状态表中;否则直接执行步骤S3。Step S2.2.2, according to the judgment result of step S2.2.1, when the number of weak blocks exceeds 1/2 of the total number of physical blocks, predict the maximum original bit error rate in the physical block group according to the original bit error rate information in the block state table If the physical block is a bad block, replace the bad block, and update and record the original BER of the new physical block after replacement in the block status table; otherwise, directly execute step S3.

其中,坏块为当弱块数目超过总物理块数目的1/2时物理块组中原始误码率最大的物理块,坏块替换为将坏块中的有效数据迁移至原始误码率低的物理块或空闲的物理块,擦除坏块,并将所述原始误码率低的物理块的原始误码率或空闲的物理块的原始误码率记录于块状态表中。在擦除坏块前完成有效数据的迁移,可避免坏块替换时RAID数据恢复导致的性能开销;该原始误码率低的物理块的原始误码率或空闲的物理块的原始误码率均低于弱块原始误码率阈值,即替换坏块后新的物理块为非弱块物理块,以确保弱块数目少于总物理块数目的1/2,使得固态盘中无坏块,防止物理块编写过程中数据的丢失。当弱块数目超过总物理块数目的1/2时,触发坏块预测判断,将原始误码率最大的物理块标记为坏块,有利于在后期固态盘使用过程中避免坏块的使用,降低出错率。Among them, the bad block is the physical block with the highest original bit error rate in the physical block group when the number of weak blocks exceeds 1/2 of the total number of physical blocks, and the bad block is replaced by migrating the valid data in the bad block to the original low bit error rate Erase bad blocks, and record the original bit error rate of the physical block with low original bit error rate or the original bit error rate of the free physical block in the block status table. Complete the migration of valid data before erasing bad blocks, which can avoid the performance overhead caused by RAID data recovery when bad blocks are replaced; the original bit error rate of the physical block with a low original bit error rate or the original bit error rate of the free physical block All are lower than the original bit error rate threshold of the weak block, that is, the new physical block after replacing the bad block is a non-weak block physical block, so as to ensure that the number of weak blocks is less than 1/2 of the total number of physical blocks, so that there are no bad blocks in the solid state disk , to prevent data loss during physical block writing. When the number of weak blocks exceeds 1/2 of the total number of physical blocks, the bad block prediction judgment is triggered, and the physical block with the highest original bit error rate is marked as a bad block, which is beneficial to avoid the use of bad blocks in the later use of the solid-state disk. Reduce the error rate.

步骤S3,通过块状态表获取弱块数目,对物理块进行条带组织。In step S3, the number of weak blocks is acquired through the block status table, and the physical blocks are organized into stripes.

结合图2和3,进一步地,所述步骤S3具体为:根据块状态表的弱块信息,统计获取弱块数目,并根据弱块数目进行条带组织,根据弱块数目确定物理块组RAID条带的数目,将每一弱块置于不同的RAID条带中,确保每一RAID条带中只有一个弱块,并将固态盘中其余非弱块物理块按照数目平均分布在每个RAID条带中。In combination with Figures 2 and 3, further, the step S3 specifically includes: according to the weak block information in the block state table, obtain the number of weak blocks, perform stripe organization according to the number of weak blocks, and determine the physical block group RAID according to the number of weak blocks The number of stripes, put each weak block in a different RAID stripe, ensure that there is only one weak block in each RAID stripe, and distribute the remaining non-weak physical blocks in each RAID evenly according to the number in the strip.

在某些实施例,例如本实施例中,所述步骤S1还包括:根据步骤S1.2的判断结果,当编程/擦除次数未达到需要进行物理块原始误码率检测的编程/擦除次数阈值时,直接执行步骤S3。In some embodiments, such as this embodiment, the step S1 further includes: according to the judgment result of the step S1.2, when the number of times of programming/erasing does not reach the programming/erasing required for the detection of the original bit error rate of the physical block When the times threshold is reached, step S3 is directly executed.

在某些实施例,例如本实施例中,所述步骤S2还包括:根据步骤S2.1的判断结果,当物理块的原始误码率值未超过设置的弱块原始误码率阈值,则直接执行步骤S3。In some embodiments, such as this embodiment, the step S2 further includes: according to the judgment result of step S2.1, when the original bit error rate value of the physical block does not exceed the set weak block original bit error rate threshold, then Execute step S3 directly.

参照图3,图3展示了固态盘中物理块间的RAID条带组合,图3中每一行代表固态盘使用情况不同时固态盘中物理块间的RAID条带,其中,方块代表物理块,深色的物理块代表弱块。固态盘使用初期,其编程/擦除次数较小,当弱块数目为0时,整个固态盘所有物理块组成一RAID条带,如图3中第一行所示;当弱块数目为1时,整个固态盘的非弱块物理块与该弱块组成一RAID条带,如图3中第二行所示;当弱块数目为2时,此时RAID条带数目为两个,每个RAID条带只有一弱块,固态盘中其余非弱块物理块按照数目平均分配至每一RAID条带中,如图3中第三行所示;随着固态盘的使用,弱块数目逐渐增加,当弱块数目达到固态盘物理块数目的一半时,则一个弱块及一个非弱块物理块组成一RAID条带,此时达到最大的冗余度。Referring to Figure 3, Figure 3 shows the combination of RAID stripes between physical blocks in the solid-state disk, each row in Figure 3 represents the RAID stripes between the physical blocks in the solid-state disk when the usage of the solid-state disk is different, where the square represents the physical block, Dark physical blocks represent weak blocks. In the initial stage of solid state disk use, the number of programming/erasing is small. When the number of weak blocks is 0, all physical blocks of the entire solid state disk form a RAID stripe, as shown in the first row in Figure 3; when the number of weak blocks is 1 , the non-weak physical blocks of the solid-state disk and the weak block form a RAID stripe, as shown in the second row in Figure 3; when the number of weak blocks is 2, the number of RAID stripes is two, each There is only one weak block in a RAID stripe, and the remaining non-weak block physical blocks in the solid-state disk are evenly distributed to each RAID stripe according to the number, as shown in the third line in Figure 3; with the use of the solid-state disk, the number of weak blocks Gradually increase, when the number of weak blocks reaches half of the number of physical blocks of the solid state disk, then a weak block and a non-weak physical block form a RAID stripe, and at this time the maximum redundancy is reached.

根据弱块数目确定RAID条带数目,动态调整RAID条带的大小和组成,可确保每一RAID条带中只有一个弱块,通过提升RAID的强度抵消弱块的磨损,从而避免数据丢失,提高固态盘的可靠性。Determine the number of RAID stripes according to the number of weak blocks, and dynamically adjust the size and composition of RAID stripes to ensure that there is only one weak block in each RAID stripe. By increasing the strength of RAID to offset the wear of weak blocks, data loss can be avoided and improved SSD reliability.

继续参照图3,在某些实施例,例如本实施例中,所述步骤S3还包括:Continuing to refer to FIG. 3, in some embodiments, such as this embodiment, the step S3 further includes:

步骤S3.1,于RAID条带的物理块组的弱块中存放校验数据。Step S3.1, storing the verification data in the weak block of the physical block group of the RAID stripe.

其中,所述校验数据用于检测数据的完整性及准确性,结合图3,图中P代表校验数据,校验数据置于每一条带的弱块中,由于校验数据只会在数据恢复才进行读取,而弱块中只含有校验数据,可避免读干扰的影响,最小化对弱块的干扰,减少用户对错误率更高的弱块进行数据读取,从而减少读取过程中的ECC(ErrorCorrectingCode)解码时间,提高固态盘的读性能。当编程/擦除次数较小时,物理块组中的弱块数据较小,在固态盘使用初期,当物理组中不存在弱块时,校验数据置于RAID条带中最后的物理块内。Wherein, the verification data is used to detect the integrity and accuracy of the data. In conjunction with Fig. 3, P represents the verification data in the figure, and the verification data is placed in the weak block of each band, because the verification data will only be in the Reading is performed only after data recovery, while weak blocks only contain verification data, which can avoid the influence of read interference, minimize interference to weak blocks, and reduce users' data reading of weak blocks with higher error rates, thereby reducing read ECC (ErrorCorrectingCode) decoding time in the fetching process improves the read performance of the SSD. When the number of programming/erasing is small, the weak block data in the physical block group is small. In the early stage of solid state disk use, when there is no weak block in the physical group, the check data is placed in the last physical block in the RAID stripe .

基于上述步骤,随着固态盘的使用,弱块数目逐渐增加,当弱块数目达到总物理块数目的1/2时,每一RAID条带均为一个弱块及一个非弱块组成的RAID1,又校验数据置于弱块中,此时达到最大校验冗余度。每一RAID条带只有一个弱块,可避免校验数据的冗余,降低存储空间浪费。Based on the above steps, with the use of solid-state disks, the number of weak blocks gradually increases. When the number of weak blocks reaches 1/2 of the total number of physical blocks, each RAID stripe is a RAID1 composed of a weak block and a non-weak block. , and the verification data is placed in the weak block, and the maximum verification redundancy is reached at this time. Each RAID stripe has only one weak block, which can avoid the redundancy of parity data and reduce the waste of storage space.

步骤S4,将同一RAID条带中的物理块的LSB页和MSB页交错进行块内条带组织。Step S4, interleaving the LSB pages and MSB pages of the physical blocks in the same RAID stripe to organize stripes within the block.

将LSB页和MSB页交错进行块内条带组织,可克服物理块内数据页错误分布的不均匀性,当MSB页磨损至不可使用时,可利用LSB页对其进行数据恢复,避免MSB页的数据遗失,从而避免物理页组出现可靠性差异太大而导致的存储空间浪费的问题,提高存储空间利用率。Interleaving the LSB page and MSB page for intra-block stripe organization can overcome the uneven distribution of data page errors in the physical block. When the MSB page is worn out to be unusable, the LSB page can be used for data recovery to avoid MSB pages. data loss, so as to avoid the waste of storage space caused by the large reliability difference of the physical page group, and improve the utilization rate of storage space.

本发明还提供了一种固态盘,包括有RAID存储器阵列及控制器,其中,所述存储器阵列用于分段式存储数据;当固态盘的编程/擦除次数超过预设的阈值时,所述控制器用于执行上述的RAID条带重建方法以对所述RAID存储器阵列进行自适应重组,并对所述RAID存储器阵列的存储数据进行管理,以提高系统的可靠性,延长系统寿命。The present invention also provides a solid-state disk, including a RAID memory array and a controller, wherein the memory array is used to store data in segments; when the programming/erasing times of the solid-state disk exceed a preset threshold, the The controller is used to execute the above-mentioned RAID stripe rebuilding method to perform adaptive reorganization on the RAID memory array, and manage the storage data of the RAID memory array, so as to improve system reliability and prolong system life.

综上所述,本发明的RAID条带重建方法通过检测物理块的原始误码率,感知物理块的实际磨损,并根据原始误码率值将物理块按照弱块及非弱块区分开,在条带组织操作中根据弱块的数目确定RAID条带的数目,确保每个RAID条带中只包含一个弱块,并将固态盘物理块组中的非弱块物理块按照数目平均分布在RAID条带中,避免出现两个或两个以上的弱块处于同一RAID条带导致的数据丢失,提高固态盘系统可靠性,延长固态盘的寿命;进行坏块检测,并在替换坏块时提前迁移有效数据,可有效保护数据,防止RAID条带回收及坏块替换时数据丢失;将校验数据设置于弱块中以减少对错误率更高的弱块数据的读取,提高固态盘的读性能;同时,将同一RAID条带中的物理块的LSB页和MSB页交错进行块内条带组织,克服物理块内数据页错误分布的不均匀性,避免出现可靠性差异太大而导致的存储空间浪费的问题,提高空间利用率;设置坏块预测机制,预测物理块出错,以便防止后期固态盘使用时数据丢失。同时,本发明的固态盘可通过控制器对RAID存储器阵列进行自适应重组以动态调整RAID条带的组成和大小,提高系统的可靠性,防止数据丢失。In summary, the RAID stripe reconstruction method of the present invention senses the actual wear and tear of the physical block by detecting the original bit error rate of the physical block, and distinguishes the physical block into weak blocks and non-weak blocks according to the original bit error rate value, Determine the number of RAID stripes according to the number of weak blocks in the stripe organization operation, ensure that each RAID stripe contains only one weak block, and distribute the non-weak block physical blocks in the physical block group of the solid state disk evenly according to the number In the RAID stripe, avoid data loss caused by two or more weak blocks in the same RAID stripe, improve the reliability of the solid-state disk system, and extend the life of the solid-state disk; perform bad block detection, and replace bad blocks Migrating valid data in advance can effectively protect data and prevent data loss during RAID stripe recovery and bad block replacement; set verification data in weak blocks to reduce reading of weak block data with higher error rates and improve SSD performance. At the same time, the LSB page and MSB page of the physical block in the same RAID stripe are interleaved for intra-block stripe organization to overcome the uneven distribution of data page errors in the physical block and avoid large reliability differences. The resulting waste of storage space can improve space utilization; set up a bad block prediction mechanism to predict physical block errors, so as to prevent data loss when the solid-state disk is used later. At the same time, the solid state disk of the present invention can adaptively reorganize the RAID memory array through the controller to dynamically adjust the composition and size of the RAID stripes, improve system reliability and prevent data loss.

以上所述仅为本发明的优选实施例,而非对本发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and do not limit the present invention in any form. Those skilled in the art can make various equivalent changes and improvements on the basis of the above-mentioned embodiments, and all equivalent changes or modifications made within the scope of the claims shall fall within the protection scope of the present invention.

Claims (10)

1.一种RAID条带重建方法,应用于固态盘以对RAID存储器阵列的物理块组进行重组形成新的RAID条带,其特征在于,该方法包括以下步骤:1. A method for rebuilding a RAID stripe is applied to a solid-state disk to reorganize the physical blocks of the RAID memory array to form a new RAID stripe, and it is characterized in that the method may further comprise the steps: 步骤S1,检测物理块的原始误码率并将其更新记录于块状态表中;Step S1, detecting the original bit error rate of the physical block and updating and recording it in the block status table; 步骤S2,根据块状态表中的原始误码率获取弱块信息;Step S2, obtaining weak block information according to the original bit error rate in the block state table; 步骤S3,通过块状态表获取弱块数目,对物理块进行条带组织;Step S3, obtain the number of weak blocks through the block state table, and organize the physical blocks in stripes; 步骤S4,将同一RAID条带中的物理块的LSB页和MSB页交错进行块内条带组织。Step S4, interleaving the LSB pages and MSB pages of the physical blocks in the same RAID stripe to organize stripes within the block. 2.如权利要求1所述的RAID条带重建方法,其特征在于,所述步骤S1具体包括以下步骤:2. The RAID stripe reconstruction method according to claim 1, wherein said step S1 specifically comprises the following steps: 步骤S1.1,设置编程/擦除次数阈值、弱块原始误码率阈值及物理块组的总物理块数目;Step S1.1, setting the programming/erasing times threshold, the weak block original bit error rate threshold and the total number of physical blocks in the physical block group; 步骤S1.2,判断编程/擦除次数是否达到需进行物理块原始误码率检测的编程/擦除次数阈值;Step S1.2, judging whether the number of times of programming/erasing reaches the threshold of times of programming/erasing for which the original bit error rate of the physical block needs to be detected; 步骤S1.3,根据步骤S1.2的判断结果,当编程/擦除次数达到需进行物理块原始误码率检测的编程/擦除次数阈值时,对该物理块组进行物理块的原始误码率检测同时将其记录于块状态表中。Step S1.3, according to the judgment result of step S1.2, when the number of programming/erasing times reaches the programming/erasing times threshold value of the original bit error rate detection of the physical block, the original error rate of the physical block is performed on the physical block group. Code rate detection is recorded in the block status table at the same time. 3.如权利要求2所述的RAID条带重建方法,其特征在于,所述步骤S1.3具体为:根据步骤S1.2的判断结果,当编程/擦除次数达到需进行物理块原始误码率检测的编程/擦除次数阈值时,读取物理块组的每一物理块中的所有闪存页,获取闪存页的原始误码率,将每一物理块中最大的闪存页原始误码率作为该物理块的原始误码率,记录在块状态表中。3. The RAID stripe reconstruction method according to claim 2, wherein the step S1.3 is specifically: according to the judgment result of the step S1.2, when the number of times of programming/erasing reaches the original error of the physical block, When the programming/erasing times threshold of bit rate detection is reached, read all the flash pages in each physical block of the physical block group, obtain the original bit error rate of the flash page, and calculate the largest original bit error rate of the flash page in each physical block The rate is recorded in the block status table as the original bit error rate of the physical block. 4.如权利要求2所述的RAID条带重建方法,其特征在于,所述步骤S1还包括:根据步骤S1.2的判断结果,当编程/擦除次数未达到需进行物理块原始误码率检测的编程/擦除次数阈值时,直接执行步骤S3。4. The RAID stripe reconstruction method according to claim 2, wherein said step S1 further comprises: according to the judgment result of step S1.2, when the number of times of programming/erasing has not reached, the original code error of the physical block needs to be performed When the programming/erasing times threshold of rate detection is exceeded, step S3 is directly performed. 5.如权利要求2所述的RAID条带重建方法,其特征在于,所述步骤S2具体包括以下步骤:5. The RAID stripe reconstruction method according to claim 2, wherein said step S2 specifically comprises the following steps: 步骤S2.1,根据步骤S1.3记录在块状态表的原始误码率值与设置的弱块原始误码率阈值进行比较,判断物理块的原始误码率值是否超过设置的弱块原始误码率阈值;Step S2.1, compare the original bit error rate value recorded in the block state table with the set weak block original bit error rate threshold according to step S1.3, and judge whether the original bit error rate value of the physical block exceeds the set weak block original bit error rate value. BER threshold; 步骤S2.2,根据步骤S2.1的判断结果,如果物理块的原始误码率值超过弱块原始误码率阈值,则将该物理块标记为弱块,并记录在块状态表中。Step S2.2, according to the judgment result of step S2.1, if the original bit error rate value of the physical block exceeds the weak block original bit error rate threshold, mark the physical block as a weak block and record it in the block status table. 6.如权利要求5所述的RAID条带重建方法,其特征在于,所述步骤S2还包括:根据步骤S2.1的判断结果,当物理块的原始误码率值未超过设置的弱块原始误码率阈值,则直接执行步骤S3。6. The RAID stripe reconstruction method according to claim 5, wherein said step S2 further comprises: according to the judgment result of step S2.1, when the original bit error rate value of the physical block does not exceed the set weak block The original bit error rate threshold, then directly execute step S3. 7.如权利要求5所述的RAID条带重建方法,其特征在于,所述步骤S2.2还包括:7. The RAID stripe rebuilding method as claimed in claim 5, is characterized in that, described step S2.2 also comprises: 步骤S2.2.1,坏块预测判断,根据块状态表中的弱块信息获取弱块的数目,判断弱块数目是否超过物理块组中总物理块数目的1/2;Step S2.2.1, bad block prediction and judgment, obtain the number of weak blocks according to the weak block information in the block state table, and judge whether the number of weak blocks exceeds 1/2 of the total number of physical blocks in the physical block group; 步骤S2.2.2,根据步骤S2.2.1的判断结果,当弱块数目超过总物理块数目的1/2时,根据块状态表的原始误码率信息预判物理块组中原始误码率最大的物理块为坏块,对坏块进行替换,并将替换后新的物理块的原始误码率更新记录于块状态表中;否则直接执行步骤S3。Step S2.2.2, according to the judgment result of step S2.2.1, when the number of weak blocks exceeds 1/2 of the total number of physical blocks, predict the maximum original bit error rate in the physical block group according to the original bit error rate information in the block state table If the physical block is a bad block, replace the bad block, and update and record the original BER of the new physical block after replacement in the block status table; otherwise, directly execute step S3. 8.如权利要求1所述的RAID条带重建方法,其特征在于,所述步骤S3具体为:通过块状态表的弱块信息获取弱块数目,并根据弱块数目进行条带组织,根据弱块数目确定物理块组的RAID条带数目,将每一弱块置于不同RAID条带中,确保每一RAID条带中只有一个弱块,同时将固态盘中其余非弱块物理块按照数目平均分布在每个RAID条带中。8. The RAID stripe reconstruction method according to claim 1, wherein said step S3 is specifically: obtaining the number of weak blocks through the weak block information of the block state table, and performing stripe organization according to the number of weak blocks, according to The number of weak blocks determines the number of RAID stripes in the physical block group. Place each weak block in a different RAID stripe to ensure that there is only one weak block in each RAID stripe. The numbers are evenly distributed in each RAID stripe. 9.如权利要求1所述的RAID条带重建方法,其特征在于,所述步骤S3还包括:9. The RAID stripe reconstruction method according to claim 1, wherein said step S3 further comprises: 步骤S3.1,于RAID条带的物理块组的弱块中存放校验数据。Step S3.1, storing the verification data in the weak block of the physical block group of the RAID stripe. 10.一种固态盘,包括有RAID存储器阵列及控制器,其特征在于:所述RAID存储器阵列用于分段式存储数据;当固态盘的编程/擦除次数超过预设的阈值时,所述控制器用于执行上述权利要求1~9任一项所述的RAID条带重建方法以对所述RAID存储器阵列进行自适应重组,并对所述RAID存储器阵列的存储数据进行管理。10. A solid state disk, comprising a RAID memory array and a controller, characterized in that: the RAID memory array is used for segmented storage of data; when the programming/erasing times of the solid state disk exceed a preset threshold, the The controller is configured to execute the RAID stripe rebuilding method according to any one of claims 1 to 9 to perform adaptive reorganization on the RAID memory array, and manage storage data of the RAID memory array.
CN201710964327.4A 2017-10-17 2017-10-17 RAID stripe reconstruction method and solid state disk Active CN107678694B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710964327.4A CN107678694B (en) 2017-10-17 2017-10-17 RAID stripe reconstruction method and solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710964327.4A CN107678694B (en) 2017-10-17 2017-10-17 RAID stripe reconstruction method and solid state disk

Publications (2)

Publication Number Publication Date
CN107678694A true CN107678694A (en) 2018-02-09
CN107678694B CN107678694B (en) 2019-02-05

Family

ID=61141286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710964327.4A Active CN107678694B (en) 2017-10-17 2017-10-17 RAID stripe reconstruction method and solid state disk

Country Status (1)

Country Link
CN (1) CN107678694B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804045A (en) * 2018-06-28 2018-11-13 郑州云海信息技术有限公司 A kind of bad block table method for building up and relevant apparatus
CN109830257A (en) * 2019-01-24 2019-05-31 山东华芯半导体有限公司 A kind of method of weak piece of NAND Flash screening
CN110231999A (en) * 2019-05-29 2019-09-13 华中科技大学 Promote the method and device of the storage system reliability encoded based on local route repair
CN111045607A (en) * 2019-12-27 2020-04-21 深圳大普微电子科技有限公司 Data storage method, storage controller, solid state disk and computer storage medium
CN111158589A (en) * 2019-12-16 2020-05-15 绿晶半导体科技(北京)有限公司 Dynamic management method and device for storage array
CN111552582A (en) * 2020-04-24 2020-08-18 江苏芯盛智能科技有限公司 Method, device and solid state drive for screening weak flash memory blocks
CN111813609A (en) * 2020-07-23 2020-10-23 深圳大普微电子科技有限公司 Data recovery method, data recovery system and related equipment in a storage medium
CN112506430A (en) * 2020-12-04 2021-03-16 苏州浪潮智能科技有限公司 Method and equipment for keeping SSD fixed stripe size
CN113782082A (en) * 2021-09-10 2021-12-10 深圳大普微电子科技有限公司 A two-dimensional wear leveling method of flash memory and solid state disk
CN115629720A (en) * 2022-12-20 2023-01-20 鹏钛存储技术(南京)有限公司 Asymmetric striping method on storage device based on flash memory as medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625627A (en) * 2009-08-05 2010-01-13 成都市华为赛门铁克科技有限公司 Data read-in method, disc redundant array and controller thereof
CN102508733A (en) * 2011-09-22 2012-06-20 杭州华三通信技术有限公司 Disk array based data processing method and disk array manager
US9448883B1 (en) * 2012-12-04 2016-09-20 Cadence Design Systems, Inc. System and method for allocating data in memory array having regions of varying storage reliability
CN106227463A (en) * 2016-07-11 2016-12-14 苏州科达科技股份有限公司 RAID model, reading and writing data and method for reconstructing thereof
CN106528003A (en) * 2016-12-09 2017-03-22 曙光信息产业(北京)有限公司 Method and device for rebuilding disk array
CN106990918A (en) * 2017-03-03 2017-07-28 杭州宏杉科技股份有限公司 Method and device for triggering RAID array reconstruction
CN107220148A (en) * 2016-03-21 2017-09-29 伊姆西公司 For the method for reconstructing and equipment of RAID

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625627A (en) * 2009-08-05 2010-01-13 成都市华为赛门铁克科技有限公司 Data read-in method, disc redundant array and controller thereof
CN102508733A (en) * 2011-09-22 2012-06-20 杭州华三通信技术有限公司 Disk array based data processing method and disk array manager
US9448883B1 (en) * 2012-12-04 2016-09-20 Cadence Design Systems, Inc. System and method for allocating data in memory array having regions of varying storage reliability
CN107220148A (en) * 2016-03-21 2017-09-29 伊姆西公司 For the method for reconstructing and equipment of RAID
CN106227463A (en) * 2016-07-11 2016-12-14 苏州科达科技股份有限公司 RAID model, reading and writing data and method for reconstructing thereof
CN106528003A (en) * 2016-12-09 2017-03-22 曙光信息产业(北京)有限公司 Method and device for rebuilding disk array
CN106990918A (en) * 2017-03-03 2017-07-28 杭州宏杉科技股份有限公司 Method and device for triggering RAID array reconstruction

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804045B (en) * 2018-06-28 2021-10-15 郑州云海信息技术有限公司 A kind of bad block table establishment method and related device
CN108804045A (en) * 2018-06-28 2018-11-13 郑州云海信息技术有限公司 A kind of bad block table method for building up and relevant apparatus
CN109830257A (en) * 2019-01-24 2019-05-31 山东华芯半导体有限公司 A kind of method of weak piece of NAND Flash screening
CN110231999A (en) * 2019-05-29 2019-09-13 华中科技大学 Promote the method and device of the storage system reliability encoded based on local route repair
CN110231999B (en) * 2019-05-29 2020-05-19 华中科技大学 Method and device for improving reliability of storage system based on local repair coding
CN111158589A (en) * 2019-12-16 2020-05-15 绿晶半导体科技(北京)有限公司 Dynamic management method and device for storage array
CN111158589B (en) * 2019-12-16 2023-10-20 绿晶半导体科技(北京)有限公司 Dynamic management method and device for storage array
CN111045607A (en) * 2019-12-27 2020-04-21 深圳大普微电子科技有限公司 Data storage method, storage controller, solid state disk and computer storage medium
CN111045607B (en) * 2019-12-27 2023-10-03 深圳大普微电子科技有限公司 Data storage method, storage controller, solid state disk and computer storage medium
CN111552582B (en) * 2020-04-24 2022-10-14 江苏芯盛智能科技有限公司 Method and device for screening weak flash blocks and solid state disk
CN111552582A (en) * 2020-04-24 2020-08-18 江苏芯盛智能科技有限公司 Method, device and solid state drive for screening weak flash memory blocks
CN111813609B (en) * 2020-07-23 2021-10-15 深圳大普微电子科技有限公司 Data recovery method, data recovery system and related equipment in a storage medium
CN111813609A (en) * 2020-07-23 2020-10-23 深圳大普微电子科技有限公司 Data recovery method, data recovery system and related equipment in a storage medium
CN112506430A (en) * 2020-12-04 2021-03-16 苏州浪潮智能科技有限公司 Method and equipment for keeping SSD fixed stripe size
CN113782082A (en) * 2021-09-10 2021-12-10 深圳大普微电子科技有限公司 A two-dimensional wear leveling method of flash memory and solid state disk
CN113782082B (en) * 2021-09-10 2024-01-16 深圳大普微电子科技有限公司 A two-dimensional wear leveling method for flash memory and solid state drives
CN115629720A (en) * 2022-12-20 2023-01-20 鹏钛存储技术(南京)有限公司 Asymmetric striping method on storage device based on flash memory as medium

Also Published As

Publication number Publication date
CN107678694B (en) 2019-02-05

Similar Documents

Publication Publication Date Title
CN107678694A (en) RAID stripe method for reconstructing and solid-state disk
US8799747B2 (en) Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
JP5242264B2 (en) Data control apparatus, storage system, and program
JP6077673B2 (en) Method with runtime variable RAID protection scheme, solid-state drive controller, and data storage device
US9176817B2 (en) Data management in solid state storage devices
US9552288B2 (en) Multi-tiered memory with different metadata levels
JP5819610B2 (en) Method and apparatus for writing data to different storage devices
US10055294B2 (en) Selective copyback for on die buffered non-volatile memory
JP5792841B2 (en) Method and apparatus for managing data in memory
US9268657B1 (en) Varying data redundancy in storage systems
US9910606B2 (en) End of life extension of solid state memory
CN116881177A (en) Workload adaptive overallocation in solid state storage drive arrays
US20180165169A1 (en) Data storage system employing a hot spare to proactively store array data in absence of a failure or pre-failure event
US20130024735A1 (en) Solid-state memory-based storage method and device with low error rate
US20160179403A1 (en) Storage controller, storage device, storage system, and semiconductor storage device
TWI542990B (en) Apparatus and method for controlling programming of non-volatile memory
KR20080066959A (en) Modified data storage and handling methods
JP2014241158A (en) Improvement of lifetime of plurality of blocks of memory
CN109062506B (en) RAID-5 full flash disk array and method for prolonging overall service life of array
CN114661237B (en) A storage management method, apparatus, program, and device
US10324648B1 (en) Wear-based access optimization
CN115407928A (en) Adaptive read scrubbing
CN106297881A (en) Health management of non-volatile memory
CN118277146B (en) A mobile solid state hard disk system and a method for improving the performance and data retention of a mobile solid state hard disk
Song et al. Revisiting Multiple ECC on High-Density NAND Flash memory

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 3501, venture capital building, No. 9, Tengfei Road, huanggekeng community, Longcheng street, Longgang District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Dapu Microelectronics Co.,Ltd.

Country or region after: China

Address before: 518000 503, block B, building 2, Huangge North Road, Longcheng street, Longgang District, Shenzhen, Guangdong

Patentee before: SHENZHEN DAPU MICROELECTRONICS Co.,Ltd.

Country or region before: China