Movatterモバイル変換


[0]ホーム

URL:


CN103034458B - Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc - Google Patents

Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc
Download PDF

Info

Publication number
CN103034458B
CN103034458BCN201210570635.6ACN201210570635ACN103034458BCN 103034458 BCN103034458 BCN 103034458BCN 201210570635 ACN201210570635 ACN 201210570635ACN 103034458 BCN103034458 BCN 103034458B
Authority
CN
China
Prior art keywords
pages
stripe
page
data
check
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
CN201210570635.6A
Other languages
Chinese (zh)
Other versions
CN103034458A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co LtdfiledCriticalHuawei Technologies Co Ltd
Priority to CN201210570635.6ApriorityCriticalpatent/CN103034458B/en
Publication of CN103034458ApublicationCriticalpatent/CN103034458A/en
Application grantedgrantedCritical
Publication of CN103034458BpublicationCriticalpatent/CN103034458B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Landscapes

Abstract

The embodiment of the present invention provides the method and device that realize Redundant Array of Independent Disks (RAID) in a kind of solid state hard disc.The method comprises: bound by least two pages in each data block and vertically verify band; In each page of vertical verification band, be sequentially written in data, and will vertically verify the verification page of last page as this vertical verification band of band.The method of Redundant Array of Independent Disks (RAID) is realized in the solid state hard disc that the embodiment of the present invention provides, vertical verification band is built to write data in data block, and the building mode of vertical verification band can be adjusted flexibly according to the demand of various application scenarios, date restoring is fast, and reliability is high.

Description

Translated fromChinese
固态硬盘中实现独立磁盘冗余阵列的方法及装置Method and device for realizing redundant array of independent disks in solid state hard disk

技术领域technical field

本发明涉及存储技术,尤其涉及一种固态硬盘中实现独立磁盘冗余阵列的方法及装置。The invention relates to storage technology, in particular to a method and device for realizing a redundant array of independent disks in a solid-state hard disk.

背景技术Background technique

固态硬盘(Solid-StateDrive,SSD)相对于传统硬盘(Harddiskdrive,HDD)具备低耗电、稳定性高及耐低温等优点。闪存(NandFlash)颗粒作为SSD的存储介质,其价格/成本直接反映了SSD的价格/成本。各大厂家在工艺制程上进行激烈的竞赛以提高单颗粒的存储容量,当前制程已步入1×nm时代。但是,容量显著提高的同时,单颗粒的可靠性却在逐渐下降。Compared with traditional hard disks (Harddiskdrives, HDDs), solid state drives (Solid-State Drive, SSD) have the advantages of low power consumption, high stability and low temperature resistance. Flash memory (NandFlash) particles are used as the storage medium of SSD, and its price/cost directly reflects the price/cost of SSD. Major manufacturers are competing fiercely in the manufacturing process to increase the storage capacity of a single particle, and the current manufacturing process has entered the 1×nm era. However, while the capacity has increased significantly, the reliability of single particles has gradually declined.

一个SSD由多个闪存颗粒构成,一个闪存颗粒由多个数据块(Block)构成,一个数据块由多个页面(page)构成。独立磁盘冗余阵列(RedundantArrayofIndependentDisks,RAID)技术,是一种把多块独立的物理硬盘按某种方式组合起来形成一个硬盘组,即逻辑硬盘,从而提供比单个硬盘更高存储性能和数据冗余可靠性的技术。An SSD is composed of multiple flash memory particles, one flash memory particle is composed of multiple data blocks (Block), and one data block is composed of multiple pages (Page). Redundant Array of Independent Disks (RAID) technology is a combination of multiple independent physical hard disks in a certain way to form a hard disk group, that is, a logical hard disk, thereby providing higher storage performance and data redundancy than a single hard disk. reliable technology.

现有技术中,SSD内部一般以页面为单位进行读写,以数据块为单位进行擦除,在不同数据块之间构建RAID,即将不同闪存颗粒中相同数据块号的数据块进行绑定,形成一个数据块组(BlockGroup)。在一个数据块组内,以页面为单位将数据块组切割成一个个条带(strip),每个条带跨越各数据块,并在SSD盘片内设置一个数据缓冲区(buffer),用于缓冲一个条带的数据。具有自动计算校验数据功能的闪存控制器(NandFlashControl,NFC)根据缓冲的数据计算校验数据并直接写入到校验页面上。当该条带中某一个页面出现数据失效时,通过读取该条带中其他页面的数据来恢复该失效页面的数据。然而,现有的实现RAID的方法恢复失效数据仅能用一个条带中其他各页面的正常数据来恢复一个数据失效页面,该实现RAID的方式和适用场景比较单一,并不能根据各种应用场景的需求进行灵活的调整。In the prior art, SSDs are generally read and written in units of pages and erased in units of data blocks. RAID is constructed between different data blocks, that is, data blocks with the same data block number in different flash memory particles are bound together. Form a data block group (BlockGroup). In a data block group, the data block group is divided into strips in units of pages, and each strip spans each data block, and a data buffer (buffer) is set in the SSD disk. Used to buffer data for one stripe. The flash memory controller (NandFlashControl, NFC) with the function of automatically calculating the verification data calculates the verification data according to the buffered data and writes it directly to the verification page. When data failure occurs on a certain page in the stripe, the data on the failed page is recovered by reading data from other pages in the stripe. However, the existing methods for implementing RAID to restore invalid data can only restore a data invalid page with the normal data of other pages in a stripe. Flexible adjustments to meet needs.

发明内容Contents of the invention

本发明提供一种固态硬盘中实现独立磁盘冗余阵列的方法及装置,以解决现有的RAID的方法恢复失效数据的方式比较单一,且不能根据各种应用场景的需求进行灵活的调整的问题。The present invention provides a method and device for implementing a redundant array of independent disks in a solid-state hard disk, to solve the problem that the existing RAID method restores invalid data in a single way and cannot be flexibly adjusted according to the needs of various application scenarios .

第一个方面,本发明实施例提供一种固态硬盘中实现独立磁盘冗余阵列的方法,包括:In a first aspect, an embodiment of the present invention provides a method for implementing a redundant array of independent disks in a solid-state hard disk, including:

将每个数据块中的至少两个连续页面绑定为竖向校验条带;Bind at least two consecutive pages in each data block as vertical parity stripes;

向所述竖向校验条带的各页面中顺序写入数据,并将所述竖向校验条带中的最后一个页面作为所述竖向校验条带的校验页面。Sequentially write data into each page of the vertical parity stripe, and use the last page in the vertical parity stripe as a parity page of the vertical parity stripe.

在第一个方面的第一种可能的实现方式中,该方法还包括:In a first possible implementation of the first aspect, the method further includes:

将所述每个数据块相同位置的页面绑定为横向校验条带,并将所述横向校验条带中的任意一个页面作为所述横向校验条带的校验页面。Binding the pages at the same position of each data block as a horizontal check stripe, and using any page in the horizontal check stripe as a check page of the horizontal check stripe.

结合第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,该方法还包括:In combination with the first possible implementation of the first aspect, in the second possible implementation, the method further includes:

当识别到所述横向校验条带中的至少两个页面失效时,分别根据各失效页面所在的所述竖向校验条带中其它页面的数据对失效页面进行数据恢复;When it is identified that at least two pages in the horizontal verification stripe are invalid, data recovery is performed on the failed page according to the data of other pages in the vertical verification stripe where each failed page is located;

当识别到所述竖向校验条带中的至少两个页面失效时,分别根据各失效页面所在的所述横向校验条带中其它页面的数据对失效页面进行数据恢复。When it is identified that at least two pages in the vertical verification stripe are invalid, data recovery is performed on the failed pages according to data of other pages in the horizontal verification stripe where each failed page is located.

在第一个方面的第三种可能的实现方式中,将每个数据块中的至少两个连续页面绑定为竖向校验条带包括:In a third possible implementation manner of the first aspect, binding at least two consecutive pages in each data block as a vertical parity stripe includes:

将每个数据块中的所有页面绑定为一个竖向校验条带;或者,Bind all pages in each data block into a vertical parity stripe; or,

将每个数据块中的所有页面均分为至少两个条带,将所述至少两个条带中的每个条带的各页面绑定为一个竖向校验条带。All the pages in each data block are equally divided into at least two stripes, and the pages of each stripe in the at least two stripes are bound as a vertical parity stripe.

结合第一个方面的第二种可能的实现方式,在第四种可能的实现方式中,所述将所述每个数据块相同位置的页面绑定为横向校验条带包括:With reference to the second possible implementation of the first aspect, in a fourth possible implementation, the binding the pages at the same position of each data block as a horizontal check strip includes:

将所述每个数据块相同位置的非损坏页面绑定为横向校验条带。Bind the non-damaged pages at the same position of each data block as a horizontal parity stripe.

第二个方面,本发明实施例提供一种固态硬盘中实现独立磁盘冗余阵列的装置,包括:In a second aspect, an embodiment of the present invention provides a device for implementing a redundant array of independent disks in a solid-state hard disk, including:

第一绑定模块,用于将每个数据块中的至少两个连续页面绑定为竖向校验条带;A first binding module, configured to bind at least two consecutive pages in each data block as vertical parity stripes;

写入模块,用于向所述竖向校验条带的各页面中顺序写入数据,并将所述竖向校验条带中的最后一个页面作为所述竖向校验条带的校验页面。A write module, configured to sequentially write data into each page of the vertical check stripe, and use the last page in the vertical check stripe as the checksum of the vertical check stripe test page.

在第二个方面的第一种可能的实现方式中,该装置还包括:In a first possible implementation manner of the second aspect, the device further includes:

第二绑定模块,用于将所述每个数据块相同位置的页面绑定为横向校验条带,并将所述横向校验条带中的任意一个页面作为所述横向校验条带的校验页面。The second binding module is configured to bind the pages at the same position of each data block as a horizontal check stripe, and use any page in the horizontal check stripe as the horizontal check stripe verification page.

结合第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,该装置还包括:In combination with the first possible implementation of the second aspect, in the second possible implementation, the device further includes:

校验模块,用于当识别到所述横向校验条带中的至少两个页面失效时,分别根据各失效页面所在的所述竖向校验条带中其它页面的数据对失效页面进行数据恢复;当识别到所述竖向校验条带中的至少两个页面失效时,分别根据各失效页面所在的所述横向校验条带中其它页面的数据对失效页面进行数据恢复。A verification module, configured to, when at least two pages in the horizontal verification stripe are identified as invalid, perform data processing on the failed pages according to the data of other pages in the vertical verification stripe where each failed page is located. Restoring: when it is identified that at least two pages in the vertical parity stripe are invalid, perform data recovery on the failed pages according to the data of other pages in the horizontal parity stripe where each failed page is located.

在第二个方面的第三种可能的实现方式中,所述第一绑定模块具体用于:In a third possible implementation manner of the second aspect, the first binding module is specifically configured to:

将每个数据块中的所有页面绑定为一个竖向校验条带;或者,Bind all pages in each data block into a vertical parity stripe; or,

将每个数据块中的所有页面均分为至少两个条带,将所述至少两个条带中的每个条带的各页面绑定为一个竖向校验条带。All the pages in each data block are equally divided into at least two stripes, and the pages of each stripe in the at least two stripes are bound as a vertical parity stripe.

结合第二个方面的第二种可能的实现方式,在第四种可能的实现方式中,所述第二绑定模块,还用于:With reference to the second possible implementation of the second aspect, in a fourth possible implementation, the second binding module is further configured to:

将所述每个数据块相同位置的非损坏页面绑定为横向校验条带,并将所述横向校验条带中的任意一个页面作为所述横向校验条带的校验页面。Binding the non-damaged pages at the same position of each data block as a horizontal check stripe, and using any page in the horizontal check stripe as a check page of the horizontal check stripe.

本发明实施例提供的固态硬盘中实现独立磁盘冗余阵列的方法及装置,通过将每个数据块中的至少两个连续页面绑定为竖向校验条带,以页面为单位对竖向校验条带中的各个页面顺序写入数据,并将每一竖向校验条带的最后一个页面作为校验页面,当竖向校验条带中某一数据页面失效的时候,读取竖向校验条带中其他数据页面和校验页面的数据来恢复失效页面的数据。本发明实施例提供的实现RAID的方法,在数据块内构建竖向校验条带以写入数据,并可以根据各种应用场景的需求灵活的调整竖向校验条带的构建方式,数据恢复快,可靠性高。The method and device for realizing redundant array of independent disks in the solid-state hard disk provided by the embodiment of the present invention, by binding at least two consecutive pages in each data block into vertical parity stripes, the vertical Each page in the verification stripe is written in order, and the last page of each vertical verification stripe is used as the verification page. When a data page in the vertical verification stripe fails, read Vertically check the data of other data pages and the check page in the stripe to restore the data of the failed page. The method for implementing RAID provided by the embodiment of the present invention constructs a vertical parity stripe in the data block to write data, and can flexibly adjust the construction method of the vertical parity stripe according to the requirements of various application scenarios, and the data Fast recovery and high reliability.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description These are some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained according to these drawings without any creative effort.

图1为本发明实施例一提供的SSD中实现RAID的方法流程图;FIG. 1 is a flowchart of a method for implementing RAID in an SSD provided in Embodiment 1 of the present invention;

图2为本发明实施例二提供的SSD中实现RAID的方法中的数据恢复示意图;2 is a schematic diagram of data recovery in the method for implementing RAID in the SSD provided in Embodiment 2 of the present invention;

图3为本发明实施例三提供的SSD中实现RAID的装置的架构示意图;FIG. 3 is a schematic structural diagram of a device for implementing RAID in an SSD provided in Embodiment 3 of the present invention;

图4为本发明实施例四提供的SSD中实现RAID的装置的架构示意图。FIG. 4 is a schematic structural diagram of an apparatus for implementing RAID in an SSD provided in Embodiment 4 of the present invention.

具体实施方式Detailed ways

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all 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.

实施例一Embodiment one

图1为本发明实施例一提供的SSD中实现RAID的方法流程图,本实施例可适用SSD中实现RAID的方法中单个页面发生数据失效的情况,该方法可以由SSD中实现RAID的装置来执行,具体包括如下步骤:Fig. 1 is the flow chart of the method for implementing RAID in the SSD provided by Embodiment 1 of the present invention. This embodiment is applicable to the situation where data failure occurs in a single page in the method for implementing RAID in the SSD. The method can be implemented by the device for implementing RAID in the SSD. Execute, specifically include the following steps:

步骤101:将每个数据块中的至少两个连续页面绑定为竖向校验条带。Step 101: Bind at least two consecutive pages in each data block as vertical parity stripes.

一个SSD由多个闪存颗粒构成,一个闪存颗粒由多个数据块(Block)构成,一个数据块由多个页面(page)构成。SSD中实现RAID的装置将每个数据块中的至少两个连续的页面绑定为竖向校验条带(strip)。其中,每个数据块内由多少个页面组成一个竖向校验条带,可以根据应用场景的需求进行灵活的调整,一般来说,有两种典型组合:将每个数据块中的所有页面绑定为一个竖向校验条带;或将每个数据块中的所有页面均分为至少两个条带,每个条带的各页面绑定为一个竖向校验条带。另外,还可以参考当前多层单元(Multi-LevelCell,MLC)闪存颗粒中页面彼此存在干扰的特性,对每个数据块中的页面按照特性进行分组,分别构建竖向校验条带,以提高数据可靠性。An SSD is composed of multiple flash memory particles, one flash memory particle is composed of multiple data blocks (Block), and one data block is composed of multiple pages (Page). The device implementing RAID in the SSD binds at least two consecutive pages in each data block as a vertical parity stripe (strip). Among them, the number of pages in each data block constitutes a vertical check strip, which can be flexibly adjusted according to the requirements of the application scenario. Generally speaking, there are two typical combinations: all pages in each data block Bind as one vertical parity stripe; or divide all pages in each data block into at least two stripes, and bind each page of each stripe into one vertical parity stripe. In addition, you can also refer to the characteristics of interference between pages in the current multi-level cell (MLC) flash memory granules, group the pages in each data block according to the characteristics, and build vertical parity stripes respectively to improve Data reliability.

步骤102:向竖向校验条带的各页面中顺序写入数据,并将竖向校验条带中的最后一个页面作为竖向校验条带的校验页面。Step 102: Write data sequentially into each page of the vertical verification stripe, and use the last page in the vertical verification stripe as a verification page of the vertical verification stripe.

同一个数据块中,连续的多个页面组成一个竖向RAID条带,在一个数据块内向竖向校验条带的各页面中顺序写入数据,并将最后一个页面作为竖向校验条带的校验页面,其他页面作为数据页面。在数据写入的过程中,闪存控制器同步计算出校验数据,当最后一个数据页面写入数据成功,最终的校验数据已经算好,则将校验数据直接写入到校验页面中。当竖向校验条带中的某一数据页面失效时,则可以通过读取该数据页面所属的竖向校验条带中其他数据页面和校验页面的数据来恢复数据。In the same data block, multiple consecutive pages form a vertical RAID stripe, write data sequentially to each page of the vertical verification stripe in a data block, and use the last page as the vertical verification stripe With the verification page, other pages are used as data pages. In the process of data writing, the flash memory controller calculates the verification data synchronously. When the last data page writes data successfully and the final verification data has been calculated, the verification data is directly written into the verification page. . When a certain data page in the vertical verification stripe fails, the data can be recovered by reading the data of other data pages and the verification page in the vertical verification stripe to which the data page belongs.

本发明实施例的技术方案,通过将每个数据块中的至少两个连续页面绑定为竖向校验条带,以页面为单位对竖向校验条带中的各个页面顺序写入数据,并将每一竖向校验条带的最后一个页面作为校验页面,当竖向校验条带中某一数据页面失效的时候,读取竖向校验条带中其他数据页面和校验页面的数据来恢复失效页面的数据。本发明实施例提供的SSD中实现RAID的方法,在数据块内构建竖向校验条带以写入数据,并可以根据各种应用场景的需求灵活的调整竖向校验条带的构建方式,数据恢复快,可靠性高。In the technical solution of the embodiment of the present invention, by binding at least two consecutive pages in each data block into a vertical parity stripe, sequentially write data to each page in the vertical parity stripe in units of pages , and use the last page of each vertical verification stripe as the verification page. When a certain data page in the vertical verification stripe fails, read other data pages and calibration data in the vertical verification stripe. Verify the data of the page to recover the data of the invalid page. The method for implementing RAID in the SSD provided by the embodiment of the present invention constructs a vertical parity stripe in a data block to write data, and can flexibly adjust the construction method of the vertical parity stripe according to the requirements of various application scenarios , fast data recovery and high reliability.

上述技术方案中是在每个数据块内构建竖向校验条带,然而本发明并不以此为限制,在其他可行的方式中,也可以跨数据块构建竖向校验条带,例如,可以将至少两个数据块中的至少三个页面绑定为竖向校验条带,其中,至少一个数据块中绑定的页面的数量不小于两个且为连续的。In the above technical solution, a vertical check strip is constructed in each data block, but the present invention is not limited thereto. In other feasible ways, a vertical check strip can also be built across data blocks, for example , at least three pages in at least two data blocks may be bound as a vertical parity stripe, wherein the number of pages bound in at least one data block is not less than two and are continuous.

每个数据块中包含的页面个数是固定的,如64,128或者256等,每一个页面对应该数据块中的一个位置。因此,除了可以在每个数据块内或是跨数据块构建竖向校验条带外,还可以在数据块间构建横向校验条带,即将每个数据块相同位置的页面绑定为横向校验条带,并将绑定为横向校验条带的任意一个页面作为该横向校验条带的校验页面,若校验页面固定在某一个数据块内,则构建的横向校验条带为RAID4型,否则,若各个横向校验条带的页面在不同的数据块内动态变化,则构建的横向校验条带为RAID5型。The number of pages contained in each data block is fixed, such as 64, 128 or 256, and each page corresponds to a position in the data block. Therefore, in addition to building vertical check strips within each data block or across data blocks, horizontal check strips can also be built between data blocks, that is, pages at the same position in each data block are bound as horizontal Verification stripe, and any page bound as a horizontal verification stripe is used as the verification page of the horizontal verification stripe. If the verification page is fixed in a certain data block, the horizontal verification stripe constructed The stripe is of RAID4 type, otherwise, if the pages of each horizontal parity stripe dynamically change in different data blocks, the constructed horizontal parity stripe is of RAID5 type.

一般来说,为保持并发度,构建横向校验条带的数据块原则上来自不同的闪存颗粒,但是也可以对同一个闪存颗粒内的不同数据块构建横向校验条带。横向校验条带中的任何一个页面失效,都可以通过该失效页面所属横向校验条带中的其他页面的数据校验回来。因横向校验条带中的页面是固定绑定,横向校验条带的页面数可以动态缩减,在SSD内写入数据的过程中,若某个横向校验条带中已有多个页面成了坏页面而不能写入数据,则自动调整该横向校验条带的深度,将每个数据块相同位置的非损坏页面绑定为横向校验条带。例如,若某个横向校验条带之前是由8个数据页面和1个校验页面构成,深度为8+1。当某两个数据页面坏掉后,将所有数据块相同位置的非损坏页面绑定为横向校验条带,则该横向校验条带的深度就变成了6+1。Generally speaking, in order to maintain concurrency, the data blocks for constructing horizontal parity stripes come from different flash granules in principle, but it is also possible to construct horizontal parity stripes for different data blocks in the same flash granule. Any page failure in the horizontal verification stripe can be verified back through the data of other pages in the horizontal verification stripe to which the failed page belongs. Because the pages in the horizontal verification stripe are fixedly bound, the number of pages in the horizontal verification stripe can be dynamically reduced. During the process of writing data in the SSD, if there are multiple pages in a horizontal verification stripe If data cannot be written due to a bad page, the depth of the horizontal parity strip is automatically adjusted, and the non-damaged pages at the same position of each data block are bound as a horizontal parity strip. For example, if a horizontal parity stripe is previously composed of 8 data pages and 1 parity page, the depth is 8+1. When two data pages are damaged, all non-damaged pages at the same position of the data blocks are bound as a horizontal parity stripe, and the depth of the horizontal parity stripe becomes 6+1.

实施例二Embodiment two

图2为本发明实施例二提供的SSD中实现RAID的方法中的数据恢复示意图。相对于上述实施例中仅是通过竖向校验条带或横向校验条带中的其他页面对一个失效页面的数据进行恢复,本实施例提供的方法中,每一个页面属于一个竖向校验条带的同时还属于一个横向校验条带,通过竖向校验条带和横向校验条带共同提供对数据的RAID保护。FIG. 2 is a schematic diagram of data recovery in the method for implementing RAID in the SSD provided in Embodiment 2 of the present invention. Compared with the above-mentioned embodiment, which only recovers the data of a failed page through other pages in the vertical check strip or the horizontal check strip, in the method provided by this embodiment, each page belongs to a vertical check strip. The verification stripe also belongs to a horizontal verification stripe, and provides RAID protection for data through the vertical verification stripe and the horizontal verification stripe.

如图2所示,将Block1、Block2、Block3及Block4进行物理绑定,形成一个Block组,以页面为单位将该Block组划分成N个横向校验条带X-strip1、X-strip2、X-strip3……X-stripN,其中,横向校验条带的校验page固定在Block4中;将每一Block构成一个竖向校验条带Y-strip,即Block1构成Y-strip1、Block2构成Y-strip2、Block3构成Y-strip3。当发生数据page失效时,如图中阴影部分失效page1、失效page2及失效page3,则可以先通过读取失效page2所在的横向校验条带X-strip3中的其他page的数据恢复page2的数据,然后读取Y-strip2中的其他page的数据恢复page1的数据,最后,读取X-strip3的中的其他page的数据恢复page3的数据;或者,也可以先恢复page3的数据,再恢复page1的数据,最后,对page2的数据进行恢复。As shown in Figure 2, Block1, Block2, Block3, and Block4 are physically bound to form a Block group, and the Block group is divided into N horizontal verification strips X-strip1, X-strip2, and X in units of pages. -strip3...X-stripN, wherein the verification page of the horizontal verification strip is fixed in Block4; each Block constitutes a vertical verification strip Y-strip, that is, Block1 constitutes Y-strip1, and Block2 constitutes Y -strip2 and Block3 constitute Y-strip3. When data page failure occurs, such as page1, page2, and page3 in the shaded parts in the figure, you can restore the data of page2 by reading the data of other pages in the horizontal verification strip X-strip3 where page2 is located. Then read the data of other pages in Y-strip2 to restore the data of page1, and finally, read the data of other pages in X-strip3 to restore the data of page3; or, you can also restore the data of page3 first, and then restore the data of page1 Data, finally, restore the data of page2.

本实施例中,通过构建的竖向校验条带和横向校验条带共同提供对数据的RAID保护机制,即,每一个页面既属于一个竖向校验条带的同时还属于一个横向校验条带,当横向校验条带或竖向校验条带中的任何一个维度的条带出现多页面失效时,都可以通过另一个维度条带的数据来进行恢复,解决了SSD中一个条带内多页面失效而无法恢复数据的问题。In this embodiment, the RAID protection mechanism for data is provided through the constructed vertical parity stripe and horizontal parity stripe, that is, each page belongs to a vertical parity stripe and also belongs to a horizontal parity stripe. Verification stripes, when multiple pages fail in any dimension of the horizontal or vertical verification stripes, the data in the other dimension can be used to restore the data, which solves a problem in SSD. Data cannot be recovered due to multiple page failures within a stripe.

需要说明的是,上述实施例中的各个数据块可以是来自同一闪存颗粒也可以是来自不同闪存颗粒;每一横向校验条带的校验页面除了可以固定在Blcok4外,也可以固定在其他数据块或者分散在不同的数据块内;另外,也可以将每一数据块拆分成多个竖向校验条带以实现本发明实施例。当然,也可以跨数据块构建竖向校验条带,例如,可以将至少两个数据块中的至少三个页面绑定为所述竖向校验条带,其中,至少一个数据块中绑定的页面的数量大于等于不小于两个且为连续的,且不同数据块中绑定的页面在不同的位置。It should be noted that each data block in the above-mentioned embodiment can be from the same flash memory particle or from different flash memory particles; the verification page of each horizontal verification stripe can be fixed not only in Blcok4, but also in other The data blocks may be dispersed in different data blocks; in addition, each data block may also be split into multiple vertical parity stripes to implement the embodiment of the present invention. Of course, vertical parity stripes can also be constructed across data blocks. For example, at least three pages in at least two data blocks can be bound as the vertical parity stripe, wherein at least one data block is bound The number of specified pages is greater than or equal to no less than two and they are continuous, and the pages bound in different data blocks are in different positions.

实施例三Embodiment three

图3为本发明实施例三提供的SSD中实现RAID的装置的架构示意图。如图3所示,本实施例的SSD中实现RAID的装置可以包括:FIG. 3 is a schematic structural diagram of a device for implementing RAID in an SSD according to Embodiment 3 of the present invention. As shown in Figure 3, the device for implementing RAID in the SSD of this embodiment may include:

第一绑定模块11,用于将每个数据块中的至少两个连续页面绑定为竖向校验条带;The first binding module 11 is configured to bind at least two consecutive pages in each data block as vertical parity stripes;

写入模块12,用于向竖向校验条带的各页面中顺序写入数据,并将竖向校验条带中的最后一个页面作为竖向校验条带的校验页面。The writing module 12 is configured to sequentially write data into each page of the vertical verification stripe, and use the last page in the vertical verification stripe as a verification page of the vertical verification stripe.

本实施例的装置,可以用于执行图1所示方法实施例的技术方案,通过第一绑定模块将每个数据块中的至少两个页面绑定为竖向校验条带,写入模块以页面为单位对竖向校验条带中的各个页面顺序写入数据,并将每一竖向校验条带的最后一个页面作为校验页面,当竖向校验条带中某一数据页面失效的时候,读取竖向校验条带中其他数据页面和校验页面的数据来恢复失效页面的数据。本发明实施例提供的SSD中实现RAID的装置,在数据块内构建竖向校验条带以写入数据,并可以根据各种应用场景的需求灵活的调整竖向校验条带的构建方式,数据恢复快,可靠性高。The device of this embodiment can be used to implement the technical solution of the method embodiment shown in Figure 1, and at least two pages in each data block are bound into a vertical parity strip through the first binding module, and written The module sequentially writes data to each page in the vertical verification stripe in units of pages, and uses the last page of each vertical verification stripe as the verification page. When the data page fails, read the data of other data pages and the verification page in the vertical verification stripe to restore the data of the failed page. The device for implementing RAID in the SSD provided by the embodiment of the present invention constructs a vertical parity stripe in a data block to write data, and can flexibly adjust the construction method of the vertical parity stripe according to the requirements of various application scenarios , fast data recovery and high reliability.

进一步的,上述实施例中,第一绑定模块11具体用于将每个数据块中的所有页面绑定为一个竖向校验条带;或Further, in the above embodiment, the first binding module 11 is specifically configured to bind all pages in each data block into one vertical check strip; or

将每个数据块中的所有页面均分为至少两个条带,将至少两个条带中的每个条带的各页面绑定为一个竖向校验条带。All the pages in each data block are equally divided into at least two stripes, and the pages of each stripe in the at least two stripes are bound as a vertical parity stripe.

第一绑定模块11在除了一个数据块内构建竖向校验条带外,还可以在数据块间构建竖向校验条带,将至少两个数据块中的至少三个页面绑定为竖向校验条带,其中,至少一个数据块中绑定的页面的数量不小于两个且为连续的。The first binding module 11 can also construct a vertical check strip between data blocks in addition to building a vertical check strip in one data block, and bind at least three pages in at least two data blocks as Vertical check stripes, wherein the number of bound pages in at least one data block is not less than two and they are continuous.

实施例四Embodiment four

图4为本发明实施例四提供的SSD中实现RAID的装置的架构示意图。如图4所示,本实施例的SSD中实现RAID的装置在图3所示装置的基础上,进一步的还可以包括:FIG. 4 is a schematic structural diagram of an apparatus for implementing RAID in an SSD provided in Embodiment 4 of the present invention. As shown in Figure 4, on the basis of the device shown in Figure 3, the device for implementing RAID in the SSD of this embodiment may further include:

第二绑定模块13,用于将每个数据块相同位置的页面绑定为横向校验条带,并将横向校验条带中的任意一个页面作为该横向校验条带的校验页面。The second binding module 13 is configured to bind the pages at the same position of each data block as a horizontal verification stripe, and use any page in the horizontal verification stripe as the verification page of the horizontal verification stripe .

本实施例的SSD中实现RAID的装置,其实现原理和所要达到的技术效果上文中已有论述,在此不再赘述。The implementation principle and technical effect of the device for implementing RAID in the SSD of this embodiment have been discussed above, and will not be repeated here.

进一步的,第二绑定模块13用于将每个数据块相同位置的页面绑定为横向校验条带,具体为:将每个数据块相同位置的非损坏页面绑定为横向校验条带。Further, the second binding module 13 is configured to bind pages at the same position of each data block as a horizontal check strip, specifically: bind non-damaged pages at the same position of each data block as a horizontal check strip bring.

再请参照图4,本实施例的SSD中实现RAID的装置,还可以包括:Referring to Fig. 4 again, the device for implementing RAID in the SSD of the present embodiment may also include:

校验模块14,用于当识别到横向校验条带中的至少两个页面失效时,分别根据各失效页面所在的竖向校验条带中其它页面的数据对失效页面进行数据恢复;The verification module 14 is used to recover the data of the failed page according to the data of other pages in the vertical verification stripe where each failed page is located when at least two pages in the horizontal verification strip are identified as invalid;

当识别到竖向校验条带中的至少两个页面失效时,分别根据各失效页面所在的横向校验条带中其它页面的数据对失效页面进行数据恢复。When it is identified that at least two pages in the vertical verification stripe are invalid, data recovery is performed on the failed pages according to the data of other pages in the horizontal verification stripe where each failed page is located.

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than limiting them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: It is still possible to modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the technical solutions of the various embodiments of the present invention. scope.

Claims (8)

CN201210570635.6A2012-12-252012-12-25Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard discActiveCN103034458B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201210570635.6ACN103034458B (en)2012-12-252012-12-25Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201210570635.6ACN103034458B (en)2012-12-252012-12-25Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc

Publications (2)

Publication NumberPublication Date
CN103034458A CN103034458A (en)2013-04-10
CN103034458Btrue CN103034458B (en)2015-11-25

Family

ID=48021393

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201210570635.6AActiveCN103034458B (en)2012-12-252012-12-25Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc

Country Status (1)

CountryLink
CN (1)CN103034458B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN103631671B (en)*2013-11-192016-05-04无锡众志和达数据计算股份有限公司A kind of data guard method of SSD memory and controller
CN104156174A (en)*2014-07-312014-11-19记忆科技(深圳)有限公司Strip based solid-state drive RAID (redundant array of independent disks) realizing method and device
CN104461926A (en)*2014-11-272015-03-25记忆科技(深圳)有限公司Method for protecting solid state disk data based on two-dimensional RAIDs
CN106339179B (en)*2015-07-062020-11-17上海宝存信息科技有限公司Host device, access system, and access method
US10191841B2 (en)2015-07-062019-01-29Shannon Systems Ltd.Host device, access system, and access method
CN105573681B (en)*2015-12-312017-03-22湖南国科微电子股份有限公司Method and system for establishing RAID in SSD
US10318378B2 (en)*2016-02-252019-06-11Micron Technology, IncRedundant array of independent NAND for a three-dimensional memory array
CN108877862B (en)*2017-05-102021-10-08北京忆芯科技有限公司 Data organization of page stripes and method and apparatus for writing data to page stripes
CN107273048B (en)*2017-06-082020-08-04浙江大华技术股份有限公司Data writing method and device
CN107832168B (en)*2017-10-132020-10-16记忆科技(深圳)有限公司Solid state disk data protection method
CN113296682B (en)*2020-02-242023-06-06北汽福田汽车股份有限公司Data reading and writing method for whole vehicle controller
CN111796774B (en)*2020-07-072024-03-08深圳宏芯宇电子股份有限公司Memory control method, memory storage device and memory controller

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN1959648A (en)*2005-10-312007-05-09国际商业机器公司Data protection method
CN101719050A (en)*2009-11-252010-06-02成都市华为赛门铁克科技有限公司Data storage method and equipment
CN101840364A (en)*2010-01-292010-09-22成都市华为赛门铁克科技有限公司Method for recovering data and storage device thereof
CN101923512A (en)*2009-05-292010-12-22晶天电子(深圳)有限公司Two-layer, three-layer flash-memory devices, intelligent storage switch and two-layer, three layers of controller
CN102667738A (en)*2009-10-092012-09-12提琴存储器公司Memory system with multiple striping of RAID groups and method for performing the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20090204872A1 (en)*2003-12-022009-08-13Super Talent Electronics Inc.Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN1959648A (en)*2005-10-312007-05-09国际商业机器公司Data protection method
CN101923512A (en)*2009-05-292010-12-22晶天电子(深圳)有限公司Two-layer, three-layer flash-memory devices, intelligent storage switch and two-layer, three layers of controller
CN102667738A (en)*2009-10-092012-09-12提琴存储器公司Memory system with multiple striping of RAID groups and method for performing the same
CN101719050A (en)*2009-11-252010-06-02成都市华为赛门铁克科技有限公司Data storage method and equipment
CN101840364A (en)*2010-01-292010-09-22成都市华为赛门铁克科技有限公司Method for recovering data and storage device thereof

Also Published As

Publication numberPublication date
CN103034458A (en)2013-04-10

Similar Documents

PublicationPublication DateTitle
CN103034458B (en)Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc
CN102708019B (en)Method, device and system for hard disk data recovery
CN102880428B (en)The creation method of distributed Redundant Array of Independent Disks (RAID) and device
CN103488432B (en)Hybrid disk array, deferred write verification method for hybrid disk array, and data recovery method for hybrid disk array
US7890795B1 (en)Auto-adapting cache memory system and memory
US20150220385A1 (en)Non-blocking storage scheme
US20120311388A1 (en)Apparatus and methods for providing data integrity
CN102207895B (en)Data reconstruction method and device of redundant array of independent disk (RAID)
CN101923441B (en)Method for processing writing request of redundant array of hybrid magnetic disc, controller and storage system thereof
CN115562594B (en)Method, system and related device for constructing RAID card
CN107885620B (en)Method and system for improving performance and reliability of solid-state disk array
CN103870352B (en)Method and system for data storage and reconstruction
CN103019893A (en)Multi-disk fault-tolerant two-dimensional hybrid disk RAID4 system architecture and read-write method thereof
US20100262755A1 (en)Memory systems for computing devices and systems
CN102184079B (en)Method for optimizing writing performance of redundant array of independent disk (RAID5)-grade disk array
CN101645038A (en)Data storage method based on Peterson network storage structure
CN110413454B (en)Data reconstruction method and device based on storage array and storage medium
CN103336727B (en)The method that NAND flash memory storage equipment is carried out data manipulation
CN103135946A (en)Solid state drive(SSD)-based file layout method in large-scale storage system
CN114115729B (en) An Efficient Data Migration Method under RAID
CN103019882B (en)The RAID4 system of solid state hard disc
CN102270102B (en)Method for optimizing writing performance of RAID6 (Redundant Array of Independent Disks) disk array
CN114610525A (en)Data updating method, system and storage medium for disk array
CN104461373B (en)A kind of RAID data processing method and processing device
CN104407815A (en)Method and device for processing bad sectors in RAID5 disk array

Legal Events

DateCodeTitleDescription
C06Publication
PB01Publication
C10Entry into substantive examination
SE01Entry into force of request for substantive examination
C14Grant of patent or utility model
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp