CN108984133B - Method for realizing RAID in SSD - Google Patents

Method for realizing RAID in SSD Download PDF

Info

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
Application number
CN201810982296.XA
Other languages
Chinese (zh)
Other versions
CN108984133A (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.)
Hangzhou Amu Technology Co ltd
Original Assignee
Hangzhou Amu Technology 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 Hangzhou Amu Technology Co ltd filed Critical Hangzhou Amu Technology Co ltd
Priority to CN201810982296.XA priority Critical patent/CN108984133B/en
Publication of CN108984133A publication Critical patent/CN108984133A/en
Application granted granted Critical
Publication of CN108984133B publication Critical patent/CN108984133B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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

Method for realizing RAID in SSD
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:
Figure DEST_PATH_IMAGE001
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.
CN201810982296.XA 2018-08-27 2018-08-27 Method for realizing RAID in SSD Active CN108984133B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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