CN108984133B - Method for realizing RAID in SSD - Google Patents
Method for realizing RAID in SSD Download PDFInfo
- Publication number
- CN108984133B CN108984133B CN201810982296.XA CN201810982296A CN108984133B CN 108984133 B CN108984133 B CN 108984133B CN 201810982296 A CN201810982296 A CN 201810982296A CN 108984133 B CN108984133 B CN 108984133B
- Authority
- CN
- China
- Prior art keywords
- raid
- block
- logic
- actual physical
- ssd
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
The invention discloses a method for realizing RAID in an SSD. The realization method comprises the following two aspects: (1) logic Block remapping: isolating the currently used block number from the actual physical block, establishing a mapping table between the currently used block number and the actual physical block, and when the actual physical block is wrong, obtaining a new block by using a redundancy protection space of the NAND so as to replace the wrong block, wherein the logic number of the new block after replacement is not changed; (2) selection of a RAID group: when a RAID group is selected, carrying out RAID processing on blocks without strong correlation; RAID processing is performed inside the NVM Set to realize I/O isolation between different NVM sets. The invention has the beneficial effects that: reducing the complexity of the RAID by using the Bad block mapping relation table and providing stable read-write performance; I/O isolation is achieved using a flexible RAID relationship group.
Description
Technical Field
The invention relates to the related technical field of SSD, in particular to a method for realizing RAID in SSD.
Background
An ssd (solid State disk) is a data storage device mainly using a flash memory as a nonvolatile memory. With the development of NAND technology, the cost per GB of solid state drives is decreasing, and mass replacement of HDDs is beginning on data centers as well as personal computers.
NAND Flash has single level Storage (SLC), multi-level storage (MLC), triple level storage (TLC), and quad level storage (QLC). The 3D NAND technology enables the storage density of SSDs to be rapidly increased. The error rate of TLC/QLC is high and requires the use of advanced ECC algorithms for error correction.
Raid (redundant Array of Independent disks), a redundant Array of Independent disks (raid Array) is a hard disk group (logical hard disk) formed by combining a plurality of Independent hard disks (physical hard disks) in different ways, thereby providing higher storage performance than a single hard disk and providing a data backup technology.
The SSD system consists of one or more channels, each channel can be connected with a plurality of flash memory particles, and the interior of each particle can be divided according to Target, Lun, Plane and the like, so that RAID can be created inside the SSD system to protect data, and the reliability is improved. The prior patents use fixed physical addresses to create RAID, with the following problems:
and when bad blocks appear in the fixed physical address, the RAID group needs to skip the bad blocks, so that the read-write performance is reduced, the performance is not stable enough, and the delay is increased.
System isolation, if the SSD is divided into multiple NVM sets, RAID is created at fixed physical addresses, which may cause NVM sets to interact and lose isolation.
Disclosure of Invention
The invention provides a method for realizing RAID in SSD with high stable performance in order to overcome the defects in the prior art.
In order to achieve the purpose, the invention adopts the following technical scheme:
a method for realizing RAID in SSD, each NAND Flash particle contains one or more targets, each Target contains one or more Dies, each Die contains a certain number of blocks, each block contains a certain number of pages, the block is the minimum unit of NAND Flash erasing operation, and the page is the minimum unit of NAND Flash reading and writing operation, the method comprises the following two aspects:
(1) logic Block remapping: isolating the currently used block number from the actual physical block, establishing a mapping table between the currently used block number and the actual physical block, and when the actual physical block is wrong, obtaining a new block by using a redundancy protection space of the NAND so as to replace the wrong block, wherein the logic number of the new block after replacement is not changed;
(2) selection of a RAID group: when a RAID group is selected, carrying out RAID processing on blocks without strong correlation; RAID processing is performed inside the NVM Set to realize I/O isolation between different NVM sets.
The erase unit of NVM in SSD is Block, the read-write unit is Page/Sub-Page, one Block includes multiple pages, and NVM particles (CE), Target, Lun are processed by LUN. Abstracting the Block into a Logic Block, removing the Bad Block in the physical Block, and then renumbering the removed Bad Block, or remapping the removed Bad Block to form the Logic Block. Combining multiple Logic blocks in the NVM set together to form a RAID Logic Block, where the Logic Block in the RAID Logic Block may be from one or more channels, one or more LUNs, and one or more planes. Multiple Logic blocks can also be selected from below one channel/LUN/Plane. Pages at the same position in the RAID Logic Block are RAID pages, and one or more RAID pages are combined together to form the RAID Logic Page. The RAID pages included in the RAID Logic Page may be physically continuous pages or discontinuous pages. RAID Logic Page serves as the basic unit of RAID, namely RAID stripe (stripe). Reducing the complexity of the RAID by using the Bad block mapping relation table and providing stable read-write performance; I/O isolation is achieved using a flexible RAID relationship group.
Preferably, in step (2), the RAID processing is: RAID protection is performed among different channels of the SSD disk, and the single-channel failure protection capability is improved.
Preferably, in step (2), the RAID processing is: an operation component for flexibly configuring RAID relations is introduced, and the positions of original data participating in RAID and parity of RAID are flexibly controlled through software, so that the RAID with different dimensions and different redundancy ratios can be realized.
Preferably, in step (2), the RAID processing is: within the same Die, the NAND chip has multiple planes, which are protected by RAID.
Preferably, in step (2), the RAID processing is: RAID protection is independently performed inside different NVM sets of the SSD disk, and I/O isolation between the NVM sets is realized.
The invention has the beneficial effects that: reducing the complexity of the RAID by using the Bad block mapping relation table and providing stable read-write performance; I/O isolation is achieved using a flexible RAID relationship group.
Drawings
FIG. 1 is a schematic diagram of the Logic Block remapping of the present invention;
fig. 2, 3, 4 and 5 are schematic diagrams of RAID group selection according to the present invention.
Detailed Description
The invention is further described with reference to the following figures and detailed description.
In an SSD disk using NAND Flash as a storage medium, in order to improve the access bandwidth of the storage medium, an NAND Flash access controller is designed to support a certain number of NAND Flash channels, and a certain number of NAND Flash particles are hung on each channel, so that the access concurrency of the disk to the NAND Flash is improved; known from the NAND Flash particle physical organization structure: each piece of NAND Flash particle comprises one or more targets (a Unit which can be accessed by a Chip Enable signal in a NAND Flash particle), each Target comprises one or more Dies (a Logical Unit, a minimum Unit which can independently execute a command and report a command execution state in the NAND Flash particle), each Die comprises a certain number of blocks, each block comprises a certain number of pages, the block is the minimum Unit of a NAND Flash erasing operation, and the page is the minimum Unit of a NAND Flash reading and writing operation; in addition, the blocks in each Die are divided into different planes according to the sequence numbers, and the planes are the finest granularity concurrency units which can execute the same command by the NAND Flash particles, and the implementation method comprises the following two aspects:
(1) logic Block remapping: isolating the currently used block number from the actual physical block, and establishing a mapping table between the currently used block number and the actual physical block, wherein the mapping table is shown as the following table:
when an actual physical block is wrong, a new block is obtained by using the redundancy protection space of the NAND to replace the wrong block, and the logic number of the new block after replacement is not changed, so that the RAID operation does not sense the change, thereby reducing the difficulty of RAID operation;
as shown in fig. 1, if there is no Block replacement in the original RAID relationship, all blocks with errors in the original RAID relationship need to be removed, so that the RAID relationship is uncertain. After replacement, all blocks are valid blocks, so that the original RAID relationship can be maintained, and the influence of block errors is considered when RAID is processed.
(2) Selection of a RAID group: when a RAID group is selected, carrying out RAID processing on blocks without strong correlation; RAID processing is performed inside the NVM Set to realize I/O isolation between different NVM sets.
As shown in fig. 2, the RAID processing is: RAID protection is performed among different channels of the SSD disk, and the single-channel failure protection capability is improved.
As shown in fig. 3, the RAID processing is: an operation component for flexibly configuring RAID relations is introduced, and the positions of original data participating in RAID and parity of RAID are flexibly controlled through software, so that the RAID with different dimensions and different redundancy ratios can be realized. RAID protection is performed between different Dies (LUNs), and a plurality of Dies under the same channel can also be protected, so that the RAID overhead can be less compared with that of the first method.
As shown in fig. 4, the RAID processing is: within the same Die, the NAND chip has multiple planes, which are protected by RAID.
As shown in fig. 5, the RAID processing is: RAID protection is independently performed inside different NVM sets of the SSD disk, and I/O isolation between the NVM sets is realized.
The erase unit of NVM in SSD is Block, the read-write unit is Page/Sub-Page, one Block includes multiple pages, and NVM particles (CE), Target, Lun are processed by LUN. Abstracting the Block into a Logic Block, removing the Bad Block in the physical Block, and then renumbering the removed Bad Block, or remapping the removed Bad Block to form the Logic Block. Combining multiple Logic blocks in the NVM set together to form a RAID Logic Block, where the Logic Block in the RAID Logic Block may be from one or more channels, one or more LUNs, and one or more planes. Multiple Logic blocks can also be selected from below one channel/LUN/Plane. Pages at the same position in the RAID Logic Block are RAID pages, and one or more RAID pages are combined together to form the RAID Logic Page. The RAID pages included in the RAID Logic Page may be physically continuous pages or discontinuous pages. RAID Logic Page serves as the basic unit of RAID, namely RAID stripe (stripe). Reducing the complexity of the RAID by using the Bad block mapping relation table and providing stable read-write performance; I/O isolation is achieved using a flexible RAID relationship group.
Claims (1)
1. A method for realizing RAID in SSD is characterized in that each NAND Flash particle comprises one or more targets, each Target comprises one or more Dies, each Die comprises a certain number of blocks, each block comprises a certain number of pages, the block is the minimum unit of NAND Flash erasing operation, and the page is the minimum unit of NAND Flash reading and writing operation, the method comprises the following two aspects:
(1) logic Block remapping: isolating the currently used block number from the actual physical block, establishing a mapping table between the currently used block number and the actual physical block, and when the actual physical block is wrong, obtaining a new block by using a redundancy protection space of the NAND so as to replace the wrong block, wherein the logic number of the new block after replacement is not changed;
(2) selection of a RAID group: when a RAID group is selected, carrying out RAID processing on blocks without strong correlation; performing RAID processing inside the NVM Set to realize I/O isolation among different NVM sets; the RAID processing is as follows: an operation component for flexibly configuring RAID relationship is introduced, and the positions of original data participating in RAID and parity of RAID are flexibly controlled through software, so that the RAID with different dimensions and different redundancy ratios can be realized; the RAID processing is as follows: RAID protection is carried out among different channels of the SSD disk, and the single-channel failure protection capability is improved; inside the same Die, the NAND chip has a plurality of planes which are protected by RAID; RAID protection is independently performed inside different NVM sets of the SSD disk, and I/O isolation between the NVM sets is realized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810982296.XA CN108984133B (en) | 2018-08-27 | 2018-08-27 | Method for realizing RAID in SSD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810982296.XA CN108984133B (en) | 2018-08-27 | 2018-08-27 | Method for realizing RAID in SSD |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984133A CN108984133A (en) | 2018-12-11 |
CN108984133B true CN108984133B (en) | 2022-01-28 |
Family
ID=64546960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810982296.XA Active CN108984133B (en) | 2018-08-27 | 2018-08-27 | Method for realizing RAID in SSD |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984133B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596679B (en) * | 2020-12-25 | 2023-10-10 | 深圳忆联信息系统有限公司 | RAID implementation method and device of solid state disk, computer equipment and storage medium |
CN112383314B (en) * | 2021-01-12 | 2021-04-06 | 杭州阿姆科技有限公司 | LDPC error correction method based on RAID information |
CN113590038A (en) * | 2021-07-27 | 2021-11-02 | 联芸科技(杭州)有限公司 | Solid state disk and management method thereof |
CN115904254B (en) * | 2023-01-09 | 2023-06-02 | 苏州浪潮智能科技有限公司 | Hard disk control system, method and related components |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407813A (en) * | 2014-11-20 | 2015-03-11 | 上海宝存信息科技有限公司 | RAID (Redundant Array of Independent Disk) system and method based on solid-state storage medium |
CN107450852A (en) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | A kind of memory space processing method, device and equipment |
CN107678690A (en) * | 2017-09-29 | 2018-02-09 | 山东超越数控电子有限公司 | A kind of implementation method of solid state hard disc and its RAID array |
CN107807790A (en) * | 2017-10-13 | 2018-03-16 | 记忆科技(深圳)有限公司 | A kind of method of solid state hard disc data write-in |
CN107832168A (en) * | 2017-10-13 | 2018-03-23 | 记忆科技(深圳)有限公司 | A kind of method of solid state hard disc data protection |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246478B (en) * | 2012-02-08 | 2015-11-25 | 北京同有飞骥科技股份有限公司 | A kind of based on the disc array system of software PLC support without packet type overall situation HotSpare disk |
JP6696280B2 (en) * | 2016-04-13 | 2020-05-20 | 富士通株式会社 | Information processing apparatus, RAID control method, and RAID control program |
KR102318477B1 (en) * | 2016-08-29 | 2021-10-27 | 삼성전자주식회사 | Stream identifier based storage system for managing array of ssds |
CN107368264A (en) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | A kind of combination RAID method, system and storage management software system |
-
2018
- 2018-08-27 CN CN201810982296.XA patent/CN108984133B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407813A (en) * | 2014-11-20 | 2015-03-11 | 上海宝存信息科技有限公司 | RAID (Redundant Array of Independent Disk) system and method based on solid-state storage medium |
CN107450852A (en) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | A kind of memory space processing method, device and equipment |
CN107678690A (en) * | 2017-09-29 | 2018-02-09 | 山东超越数控电子有限公司 | A kind of implementation method of solid state hard disc and its RAID array |
CN107807790A (en) * | 2017-10-13 | 2018-03-16 | 记忆科技(深圳)有限公司 | A kind of method of solid state hard disc data write-in |
CN107832168A (en) * | 2017-10-13 | 2018-03-23 | 记忆科技(深圳)有限公司 | A kind of method of solid state hard disc data protection |
Also Published As
Publication number | Publication date |
---|---|
CN108984133A (en) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042441B2 (en) | Stripe mapping in memory | |
CN108984133B (en) | Method for realizing RAID in SSD | |
US8788876B2 (en) | Stripe-based memory operation | |
KR101447786B1 (en) | Power interrupt management | |
US11520660B2 (en) | Storage devices hiding parity swapping behavior | |
US8984253B2 (en) | Transaction log recovery | |
US11366616B2 (en) | Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server | |
US20100250826A1 (en) | Memory systems with a plurality of structures and methods for operating the same | |
US11847330B2 (en) | Adjustment of storage device parameters based on workload characteristics | |
KR20100100394A (en) | Solid state disk device and data storing and reading methods thereof | |
US20220229722A1 (en) | Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives | |
CN112988044A (en) | Memory system and data processing system including the same | |
US11487454B2 (en) | Systems and methods for defining memory sub-blocks | |
TW201941208A (en) | Memory management method and storage controller | |
US11586379B2 (en) | Memory system and method of operating the same | |
US11733920B2 (en) | NVMe simple copy command support using dummy virtual function | |
US11194494B2 (en) | Storage devices hiding parity swapping behavior | |
US9274883B2 (en) | Apparatuses and methods for storing validity masks and operating apparatuses | |
CN114730247A (en) | Storage device with minimum write size of data | |
WO2020015135A1 (en) | Method for improving flash-memory read performance under raid protection | |
CN116107494A (en) | Storage device, storage system and operation method of storage controller of storage system |
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 |