CN107832168B - Solid state disk data protection method - Google Patents

Solid state disk data protection method Download PDF

Info

Publication number
CN107832168B
CN107832168B CN201710950534.4A CN201710950534A CN107832168B CN 107832168 B CN107832168 B CN 107832168B CN 201710950534 A CN201710950534 A CN 201710950534A CN 107832168 B CN107832168 B CN 107832168B
Authority
CN
China
Prior art keywords
block
physical
blocks
planes
data
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
CN201710950534.4A
Other languages
Chinese (zh)
Other versions
CN107832168A (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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen 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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201710950534.4A priority Critical patent/CN107832168B/en
Publication of CN107832168A publication Critical patent/CN107832168A/en
Application granted granted Critical
Publication of CN107832168B publication Critical patent/CN107832168B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses a method for protecting solid state disk data, which comprises the steps of respectively selecting N blocks in each channel to form a transverse RAID stripe group, wherein at least 1 Block is a data check Block, and N is greater than 1; the method is characterized in that the blocks belonging to the same transverse RAID stripe group and belonging to the same channel are at least separated by more than 1 block, preferably 512 blocks. The invention provides the optimized RAID strip composition especially aiming at the characteristic that the 3D TLC is easy to have errors spread to adjacent physical blocks, greatly reduces the probability that a plurality of block data errors occur in the same strip at the same time, and improves the safety performance of data.

Description

Solid state disk data protection method
Technical Field
The invention relates to a solid state disk control technology, in particular to a method for protecting data of a solid state disk.
Background
FIG. 1 is a typical NAND composition schematic: DIE, a unit that can operate independently and concurrently, called a channel; a Block, which is an independently erasable unit, wherein after data at each physical position is written, the whole Block must be erased before the next writing; page, read-write-unit, pages within the same physical block must be programmed in order 0- >1- >2- >3 ….
Fig. 2 is a schematic diagram of a typical 7+1RAID protection policy, which may include multiple physical planes from each independent concurrent operation unit, and one or more physical blocks (one will be described later) are allocated from each Plane to form a Stripe Group RAID Stripe Group. Taking the 7+1RAID protection policy as an example, performing exclusive or on every 7 pages of data in each stripe group, and writing a result into a physical page corresponding to the last physical block, which is called Parity. When an error occurs in one of the physical blocks, the error can be corrected by other 7 pages of data in the stripe.
Fig. 3 is a schematic diagram of a NANDFLASH error scenario of 3 DTLC; when an error occurs in a physical block, for example, physical block4 of Plane0, there is a large probability that data corruption will occur in an adjacent physical block, for example, physical block5 of Plane1, which falls within the same DIE. In the 7+1RAID component, because the allocation of the RAID physical blocks is that each Plane is randomly allocated according to the currently available blank block, there is a certain probability that the physical blocks of the same DIE and different planes in a certain Stripe Group are consecutive, and when an error occurs in this type of RAID Stripe Group, because there are more than 1 error in the same Stripe, it is not feasible to correct the RAID error.
Disclosure of Invention
Aiming at the defects, the invention aims to improve the existing stripe group grouping strategy, reduce the probability of the simultaneous damage of a plurality of pages of data in the same stripe group and further realize the aim of improving the data security.
In order to solve the above problems, the invention provides a method for protecting solid state disk data, wherein N blocks are respectively selected from each channel to form a transverse RAID stripe group, wherein at least 1 Block is a data check Block, N > 1; the method is characterized in that the blocks belonging to the same transverse RAID stripe group and belonging to the same channel are at least separated by more than 1 block, preferably 512 blocks.
The method for protecting the data of the solid state disk is characterized in that logical planes are respectively established for physical planes except a physical Plane0 in the same channel; performing dislocation recombination on the sequence of the block sequence numbers of the logical planes and the sequence of the blocks of the corresponding physical planes, specifically performing recombination through a block logical mapping table, mapping the blocks with the sequence numbers of P1+ M1 in the physical planes to the blocks with the sequence numbers of P1 in the logical planes, if the number of the planes is more than 2, taking different values for M1 selected by different planes, taking M1 as 512, and when a transverse RAID stripe group is formed, allocating the physical Plane0 to the blocks of the same channel for grouping according to the block sequence numbers of the physical Plane 0; the physical planes other than the physical Plane0 are assigned with the block sequence numbers of the logical planes corresponding thereto.
The method for protecting the data of the solid state disk is characterized in that when the free space of the solid state disk is large, scanning is carried out by taking block as a unit in a background when a solid state disk controller is free, and when data errors occur in a certain block when the data are read, the data are recovered through a transverse RAID stripe group.
The invention provides the optimized RAID stripe composition particularly aiming at the characteristic that 3DTLC is easy to cause error diffusion to adjacent physical blocks, greatly reduces the probability of a plurality of block data errors occurring in the same stripe at the same time, and improves the safety performance of data.
Drawings
FIG. 1 is a typical NAND composition schematic;
FIG. 2 is a diagram of an exemplary 7+1RAID protection strategy;
fig. 3 is a schematic diagram of a NANDFLASH error scenario of 3 DTLC;
FIG. 4 is a schematic diagram of an improved RAID stripe composition;
fig. 5 is a schematic flow chart of the specific implementation.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Particularly, aiming at the characteristic that 3DTLC is easy to cause error diffusion to adjacent physical blocks, the composition of RAID stripes is optimized so as to reduce the probability of multiple page data errors occurring in the same stripe at the same time. Respectively selecting N blocks in each channel to form a transverse RAID stripe group, wherein at least 1 Block is a data check Block, N > 1; in order to reduce the probability of multiple page data errors occurring in the same stripe, it is necessary to ensure that blocks belonging to the same horizontal RAID stripe group are not adjacent.
FIG. 4 is a schematic diagram of an improved RAID stripe composition; to ensure that blocks of the same horizontal RAID stripe group are not adjacent, the convenience of actual allocation is also taken into account. A conventional same channel is made up of more than 2 physical planes, each physical plane being made up of a plurality of blocks. Take 2 physical planes as an example: physical Plane0 is composed of Block0, Block2, Block4.. physical Plane1 is composed of Block1, Block3, Block 5.; when the conventional stripe is distributed, the same number of blocks are taken from the same position of each physical plane in each channel to form a stripe group, and if the stripe group is formed according to the conventional physical planes, the blocks belonging to the same channel in the same stripe group are adjacent inevitably; respectively establishing logical planes for physical planes except the physical Plane0 in the same channel; performing dislocation recombination on the block sequence formed by the logic planes and the block sequence of the corresponding physical plane, specifically performing recombination through a block logic mapping table; blocks with sequence number P1+ M1 in the physical plane are mapped to blocks with sequence number P1 in the logical plane, and if the number of planes is greater than 2, then M1 for different plane selections takes different values. Take 2 planes as an example, take M1 as 512. When the horizontal RAID stripe group is distributed, the block distribution of the same channel is distributed according to the block sequence numbers of the physical Plane0 and the logical Plane, for example, M1 is 512, the block interval of the same channel of the same horizontal RAID stripe group is 512, so that the situation that the blocks of the same stripe group belonging to the same channel are not adjacent to each other necessarily is ensured, and the probability that a plurality of page data errors occur in the same stripe at the same time is reduced. Because the physical block intervals of different Plane planes in the same channel DIE in any horizontal RAID stripe group RAIDGroup are large, the failure of the RAID mechanism caused by the damage of the physical block of a certain Plane can be avoided.
As shown in FIG. 4, when the Plane0 physical block4 of DIE0 is damaged, it will destroy the Plane1 physical block5, since these two physical blocks are respectively in RAIDgroup2/258 at this time, and only one data in the corresponding Group is damaged, so that the correct data can be recovered through the respective stripes.
Fig. 5 is a schematic diagram of a specific implementation flow, which mainly relates to an algorithm management module and a NAND driver module:
in an algorithm module, continuous logic BANK is adopted to abstract a physical block set in an independent concurrency unit;
physical blocks in each BANK are addressed by adopting a logic block;
the algorithm layer constructs RAIDgroup based on logic BANK/Block, thereby realizing physical characteristic independence;
the algorithm module finishes NAND operation by submitting a series of operation requests to the NAND driving module, and each request carries logic addressing information: BANK/logistic Block/Page …
After the NAND driver module receives the request sequence, the following steps are performed as shown in tables 1 and 2; converting the Bank into corresponding DIE/Plane0, and converting the Logical Block into a physical Block;
after Physical addressing information (DIE, Plane, Physical Block, etc.) is acquired, the NAND driver module initiates a corresponding operation to the NAND.
Table 1:
BANK DIE Plane
0 0 0
1 0 1
2 1 0
3 1 1
2N N
0
2N+1 N 1
table 2:
Figure BDA0001432752750000041
while the invention has been described with reference to a particular embodiment, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (2)

1. A method for protecting data of a solid state disk comprises the steps of selecting N blocks in each channel to form a transverse RAID stripe group, wherein at least 1 Block is a data check Block, and N is greater than 1; the method is characterized in that the blocks belonging to the same transverse RAID stripe group and belonging to the same channel are at least separated by more than 1 block; respectively establishing logical planes for physical planes except the physical Plane0 in the same channel; carrying out dislocation recombination on the sequence of the block sequence numbers of the logical planes and the sequence of the blocks of the corresponding physical planes, specifically, carrying out recombination through a block logical mapping table, mapping the blocks with the sequence numbers of P1+ M1 in the physical planes to the blocks with the sequence numbers of P1 in the logical planes, if the number of the planes is more than 2, taking different values for M1 selected by different planes, and grouping the blocks of the same channel to the physical Plane0 according to the block sequence numbers of the physical Plane0 when a transverse RAID stripe group is formed; the physical planes other than the physical Plane0 are assigned with the block sequence numbers of the logical planes corresponding thereto.
2. The method according to claim 1, wherein when the solid state disk has more free space, the background scans in blocks when the solid state disk controller is free, and when a data error occurs in a block during data reading, the data is recovered by the horizontal RAID stripe group.
CN201710950534.4A 2017-10-13 2017-10-13 Solid state disk data protection method Active CN107832168B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710950534.4A CN107832168B (en) 2017-10-13 2017-10-13 Solid state disk data protection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710950534.4A CN107832168B (en) 2017-10-13 2017-10-13 Solid state disk data protection method

Publications (2)

Publication Number Publication Date
CN107832168A CN107832168A (en) 2018-03-23
CN107832168B true CN107832168B (en) 2020-10-16

Family

ID=61647989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710950534.4A Active CN107832168B (en) 2017-10-13 2017-10-13 Solid state disk data protection method

Country Status (1)

Country Link
CN (1) CN107832168B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920094B (en) * 2018-06-01 2021-06-08 深圳忆联信息系统有限公司 RAID (redundant array of independent disks) erasing method and device, computer equipment and storage medium
CN108984133B (en) * 2018-08-27 2022-01-28 杭州阿姆科技有限公司 Method for realizing RAID in SSD
CN109542671B (en) * 2018-11-30 2022-06-07 湖南国科微电子股份有限公司 Verification data generation method and solid state disk

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849577A (en) * 2003-08-14 2006-10-18 克姆佩棱特科技公司 Virtual disk drive system and method
CN101840364A (en) * 2010-01-29 2010-09-22 成都市华为赛门铁克科技有限公司 Method for recovering data and storage device thereof
CN101976176A (en) * 2010-08-19 2011-02-16 北京同有飞骥科技有限公司 Method for constructing disk array of horizontal grouping parallel distribution check
CN102405460A (en) * 2009-02-11 2012-04-04 艾梵尼达有限公司 Virtualized storage system and method of operating it
CN102830942A (en) * 2012-06-28 2012-12-19 记忆科技(深圳)有限公司 Method for mapping disk array of solid hard disk and solid hard disk
CN103034458A (en) * 2012-12-25 2013-04-10 华为技术有限公司 Method and device for realizing redundant array of independent disks in solid-state drive
CN104156174A (en) * 2014-07-31 2014-11-19 记忆科技(深圳)有限公司 Strip based solid-state drive RAID (redundant array of independent disks) realizing method and device
CN104461926A (en) * 2014-11-27 2015-03-25 记忆科技(深圳)有限公司 Method for protecting solid state disk data based on two-dimensional RAIDs

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251059B2 (en) * 2011-09-23 2016-02-02 Avalanche Technology, Inc. Storage system employing MRAM and redundant array of solid state disk

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849577A (en) * 2003-08-14 2006-10-18 克姆佩棱特科技公司 Virtual disk drive system and method
CN102405460A (en) * 2009-02-11 2012-04-04 艾梵尼达有限公司 Virtualized storage system and method of operating it
CN101840364A (en) * 2010-01-29 2010-09-22 成都市华为赛门铁克科技有限公司 Method for recovering data and storage device thereof
CN101976176A (en) * 2010-08-19 2011-02-16 北京同有飞骥科技有限公司 Method for constructing disk array of horizontal grouping parallel distribution check
CN102830942A (en) * 2012-06-28 2012-12-19 记忆科技(深圳)有限公司 Method for mapping disk array of solid hard disk and solid hard disk
CN103034458A (en) * 2012-12-25 2013-04-10 华为技术有限公司 Method and device for realizing redundant array of independent disks in solid-state drive
CN104156174A (en) * 2014-07-31 2014-11-19 记忆科技(深圳)有限公司 Strip based solid-state drive RAID (redundant array of independent disks) realizing method and device
CN104461926A (en) * 2014-11-27 2015-03-25 记忆科技(深圳)有限公司 Method for protecting solid state disk data based on two-dimensional RAIDs

Also Published As

Publication number Publication date
CN107832168A (en) 2018-03-23

Similar Documents

Publication Publication Date Title
CN107832168B (en) Solid state disk data protection method
US20150160999A1 (en) Solid state drive controller, solid state drive, data processing method of solid state drive, multi-channel solid state drive, raid controller and computer-readable recording medium having recorded therein computer program for providing sequence information to solid state drive
US9996435B2 (en) Reliability scheme using hybrid SSD/HDD replication with log structured management
DE102017120840B4 (en) Method and device for detecting and handling reading disorders
US20130238835A1 (en) Burning system and method
CN104246708B (en) For the framework of the storage of data on nand flash memory
CN103870352B (en) Method and system for data storage and reconstruction
CN102387179B (en) Distributed file system and node, storage method and storage controlling method
CN110347613B (en) Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk
US7783825B2 (en) Nonvolatile memory system and management method for nonvolatile memory
CN104156174A (en) Strip based solid-state drive RAID (redundant array of independent disks) realizing method and device
CN103384550B (en) The method of storage data and device
CN109426622B (en) Method for prolonging service life of flash memory solid-state disk and long-service-life flash memory solid-state disk
CN105573681A (en) Method and system for establishing RAID in SSD
CN103229243B (en) For storing storage control and the system of data block in non-volatile memory device with redundant fashion
CN101840360A (en) Rapid reconstruction method and device of RAID (Redundant Array of Independent Disk) system
CN104360957A (en) Method for maintaining flash memory wear leveling
CN102830942A (en) Method for mapping disk array of solid hard disk and solid hard disk
US9639441B2 (en) Solid-state storage system, apparatus and method of writing data
US10922201B2 (en) Method and device of data rebuilding in storage system
CN102063266A (en) Nonvolatile memory controller and method for writing data to nonvolatile memory
CN102981778A (en) Redundant array of independent disks (RAID) array reconstruction method and device thereof
DE112015003569B4 (en) Method and system for using NAND page buffers to improve transfer buffer utilization of a solid state drive
CN103678025B (en) A kind of disk failure processing method in disk array
US10776227B2 (en) Memory management system and method thereof

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