CN103631671A - Data protection method and controller for SSD storage - Google Patents

Data protection method and controller for SSD storage Download PDF

Info

Publication number
CN103631671A
CN103631671A CN201310586562.4A CN201310586562A CN103631671A CN 103631671 A CN103631671 A CN 103631671A CN 201310586562 A CN201310586562 A CN 201310586562A CN 103631671 A CN103631671 A CN 103631671A
Authority
CN
China
Prior art keywords
data
controller
ssd
piece
redundancy 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.)
Granted
Application number
CN201310586562.4A
Other languages
Chinese (zh)
Other versions
CN103631671B (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.)
Wuxi North data calculation Limited by Share Ltd
Original Assignee
WUXI SOUL DATA COMPUTING 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 WUXI SOUL DATA COMPUTING Co Ltd filed Critical WUXI SOUL DATA COMPUTING Co Ltd
Priority to CN201310586562.4A priority Critical patent/CN103631671B/en
Publication of CN103631671A publication Critical patent/CN103631671A/en
Application granted granted Critical
Publication of CN103631671B publication Critical patent/CN103631671B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a data protection method for SSD storage. Segmentation, coding and calculation are carried out on large piece of data needing to be written into the SSD storage by using erasing codes to obtain redundancy check data, the data and the redundancy check data are both written into the SSD storage, and therefore recovery can be carried out on damaged data by using the redundancy check data. The invention further provides a data protection controller for the SSD storage. An erasing code controller and an XOR arithmetic unit are added into an SSD controller, the SSD controller comprises a CPU, an MEM controller, the erasing code controller, the XOR arithmetic unit, a DMA controller, an interface controller and internal buses. The data protection method for the SSD storage enables the SSD storage to have a data protection function. When multiple pieces of SSD storage is used, a higher error-tolerant rate and higher data recover capacity can be obtained without manufacturing the SSD storage into an RAID, and higher error tolerance and a higher data error-tolerant rate are available.

Description

A kind of data guard method of SSD storer and controller
Technical field
The invention belongs to the data protection field of solid storage device, be specifically related to a kind of data guard method and controller of the SSD storer based on erasure codes (Erasure Code).
Background technology
NAND FLASH storage medium has the restriction of erasable number of times, and this has determined that wearing and tearing can appear along with the growth of service time in SSD storer.As time goes on, SSD storer in use occurs that the probability of bad piece also can be more and more higher, thereby causes loss of data.Therefore, the data protection of SSD storer is very important.
Existing SSD storer utilizes ECC(Error Checking and Correcting; bug check and correction) verification is as data guard method; but this method is mainly used in detection and the recovery of random bit upset, and the corrupted data that can not cause bad piece is protected.Although, in some application scenarios higher to security request data, can use RAID technology to protect the bad data piece of SSD storer, yet RAID5 and the RAID6 fault-tolerant ability generally used are lower, and release time is long.
Erasure codes is a kind of forward error correction (Forward Error Correction, FEC) coding, by certain coding rule, k data are encoded and are obtained containing the n(n>k of redundancy check data) individual data, thus by redundancy check data, realize the error detection and correction of some.GRID code is a kind of erasure codes, it comprises the multiple different coded system based on XOR computing, these coding structure standards, be easy to realize, can have 15 or higher Error Tolerance, and the storage system based on GRID code can realize the storage efficiency up to 80%.
Summary of the invention
The object of the invention is to provide a kind of high fault-tolerant data guard method and controller that just can obtain the SSD storer of higher serious forgiveness and data recovery capability without RAID for the defect of prior art.
The present invention for achieving the above object, adopts following technical scheme:
A kind of data guard method of SSD storer; it is characterized in that: use erasure codes that the chunk data that need to be written in SSD storer is cut apart, encodes, calculated; obtain redundancy check data; and data and redundancy check data are all write in SSD storer, thereby utilize these redundancy check data to recover the data of damaging.
Said write process is as follows as shown in Figure 2:
(1) when to SSD storer data writing, first the chunk data that will write is cut apart according to the capacity of its inner FLASH piece, obtained k continuous data block;
(2) data in the FLASH piece of ,Ba Qi place, the address row and column of the FLASH piece that need to write according to this k data block all read in RAM, if place FLASH piece need to write new data, without reading out data;
(3) utilize erasure codes to encode and obtain m redundancy check data piece by XOR computing the data block of the k after cutting apart and all reading from the data block of FLASH piece;
(4) data block of the k after cutting apart and m the redundancy check data calculating are written in corresponding FLASH piece, complete writing of data.
Described Data Recovery Process is as follows as shown in Figure 3:
(1), after SSD storer finds that some FLASH piece damages, according to erasure codes rule, determine the data block corresponding with the FLASH piece damaging and the address of redundancy check data piece place FLASH piece;
(2) read FLASH piece corresponding data piece and the redundancy check data piece relevant to data protection of damage;
(3) utilize erasure codes these relevant data blocks and redundancy check data piece to be calculated to the correct data in the FALSH piece of damage, thereby realize the data protection of SSD storer.
Preferred: described erasure codes is GRID code.
A data protection controller for SSD storer based on said method, is characterized in that: in SSD controller, add erasure codes controller and XOR arithmetic element as shown in Figure 1; Described SSD controller comprises CPU, MEM controller, erasure codes controller, XOR arithmetic element, dma controller, interface controller and internal bus;
Described CPU is for coordinating the mutual data access between MEM controller, erasure codes controller, dma controller and interface controller;
Described erasure codes controller builds according to the erasure codes type of choosing, and carries out corresponding data encoding control algorithm;
Described XOR arithmetic element is carried out coded data to needs and is carried out XOR computing;
The effect of described MEM controller is to provide CPU and the access support of dma controller to primary memory MEM;
Described interface controller is the interface controller that comprises IDE, SATA or PCIe, for providing external unit SSD controller to be carried out to the support of data access;
Described internal bus is used for being communicated with CPU, EC controller, MEM controller and interface controller, and the path of the data access between them is provided.
The data guard method of the SSD storer that the present invention proposes makes SSD storer itself possess data protection function.When using polylith SSD storer, without it being made to RAID, just can obtain higher serious forgiveness and data recovery capability.When using GRID erasure codes, SSD storer can have 15 or higher Error Tolerance, and data fault-tolerant rate is higher, and storage efficiency is also higher.In mass data storage, for RAID, the data guard method of the SSD storer that patent of the present invention proposes makes data storage have larger cost advantage.
Accompanying drawing explanation
Fig. 1 is the SSD controller architecture block diagram of the SSD data guard method based on erasure codes that proposes of the present invention;
In figure: Interface is interface, Interface Controller is interface controller, SSD Controller is SSD controller, EC Controller is erasure codes controller, MEM Controller is MEM controller, and DMA Controller is dma controller, and XOR is XOR arithmetic element, Cross bar is internal bus, and Flash Control Channel is Flash control channel.
Fig. 2 is that the data of the SSD data guard method based on erasure codes that proposes of the present invention write process flow diagram.
Fig. 3 is the Data Recovery Process figure of the SSD data guard method based on erasure codes that proposes of the present invention.
Fig. 4 is the concrete embodiment hardware block diagram of SSD controller of the SSD data guard method based on erasure codes that proposes of the present invention;
In figure: PCIe Controller is PCIe controller, SSD Controller is SSD controller, EC Controller is erasure codes controller, DDR2 Controller is DDR2 controller, DMA Controller is dma controller, XOR is XOR arithmetic element, and PLB is processor local bus, and Flash Control Channel is Flash control channel.
Fig. 5 is user data and the distribution plan of redundancy check data in SSD storer in a specific embodiment of the SSD data guard method based on erasure codes that proposes of the present invention.
Embodiment
Fig. 4 is the concrete embodiment hardware block diagram of SSD controller of the SSD data guard method based on erasure codes that proposes of the present invention.SSD controller mainly consists of PowerPC, DDR2 controller, EC controller, XOR arithmetic element, dma controller, PCIe controller and internal bus PLB.
The erasure codes that the present embodiment is used is row major GRID(STAR, STAR) code, there is the redundancy check data of 3 row and 3 row, and preferentially calculate row redundancy check data, so its horizontal Error Tolerance t rwith longitudinal Error Tolerance t cthe Error Tolerance t that is 3, SSD storer equals (t r+ 1) (t c+ 1)-1, is 15.
SSD storer in the present embodiment has 13 row, the 13 row FLASH flash memory of totally 169 4KB, as shown in Figure 5, the rightmost side 3 row FLASH storage line checking data Pr*, the front 10 row FLASH memory row checking data Pc* in row of the ends 3, store user data in all the other FLASH.
The ablation process of a concrete data block of the SSD storer in the present embodiment is as follows:
1) when user need to when writing the data block of 100KB size in SSD storer, according to the capacity of FLASH piece, become these Data Segmentations the data block of 25 continuous 4KB sizes;
2) suppose that it is 0 to start to 24 continuous FLASH piece that these 25 4KB data blocks need to be written to from piece number, be that d0, d1 are until the corresponding FLASH piece of d24, data in all FLASH pieces of these 25 FLASH piece place row and columns are all read to (if place FLASH piece need to write new data, without reading out data) in DDR2 RAM;
3) EC controller is according to GRID(STAR, STAR) coding rule 25 data blocks utilizing XOR arithmetic element to calculate need to write and all read from row checking data Pr0, the Pr1 of the data block of FLASH piece until Pr8 and row checking data Pc0, Pc1 until Pc29;
4) 25 data blocks that needs write write d0, d1 until the corresponding FLASH piece of d24, row checking data is write to Pr0, Pr1 until the corresponding FLASH piece of Pr8, and row checking data is write to Pc0, Pc1 until in the corresponding FLASH of Pc29, complete writing of data.
The data recovery procedure of the FLASH piece of the damage of the SSD storer in the present embodiment is as follows:
1) when user is from SSD storer during reading out data, if SSD storer is found some FLASH piece and is damaged (this embodiment supports 15 at most), 4 FLASH pieces supposing d0, d1, d2 and d3 place herein damage, EC controller is according to the address computation of these 4 the damage FLASH pieces data relevant to its data protection and the address of redundancy check data place FLASH piece, be that d4, d5 are until d9 herein, Pr0, Pr1, Pr2, d10, d20 are until d90 and Pc0, Pc1, Pc2;
2) d4, d5 until d9, Pr0, Pr1, Pr2, d10, d20 until the data of the FLASH piece at d90 and Pc0, Pc1, Pc2 place read in DDR2 RAM;
EC controller calculates according to (STAR, STAR) coding rule the data block of utilizing XOR arithmetic element to read in RAM these, obtains the correct data in the FLASH piece of these 4 damages, thereby realizes the data protection of SSD storer.

Claims (3)

1. the data guard method of a SSD storer; it is characterized in that: use erasure codes that the chunk data that need to be written in SSD storer is cut apart, encodes, calculated; obtain redundancy check data; and data and redundancy check data are all write in SSD storer, thereby it is as follows to utilize these redundancy check data to recover said write process to the data of damaging:
(1) when to SSD storer data writing, first the chunk data that will write is cut apart according to the capacity of its inner FLASH piece, obtained k continuous data block;
(2) data in the FLASH piece of ,Ba Qi place, the address row and column of the FLASH piece that need to write according to this k data block all read in RAM, if place FLASH piece need to write new data, without reading out data;
(3) utilize erasure codes to encode and obtain m redundancy check data piece by XOR computing the data block of the k after cutting apart and all reading from the data block of FLASH piece;
(4) data block of the k after cutting apart and m the redundancy check data calculating are written in corresponding FLASH piece, complete writing of data;
Described Data Recovery Process is as follows:
(1), after SSD storer finds that some FLASH piece damages, according to erasure codes rule, determine the data block corresponding with the FLASH piece damaging and the address of redundancy check data piece place FLASH piece;
(2) read FLASH piece corresponding data piece and the redundancy check data piece relevant to data protection of damage;
(3) utilize erasure codes these relevant data blocks and redundancy check data piece to be calculated to the correct data in the FALSH piece of damage, thereby realize the data protection of SSD storer.
2. the data guard method of SSD storer according to claim 1, is characterized in that: described erasure codes is GRID code.
3. the SSD memory data protecting controller based on method described in claim 1 or 2, is characterized in that: in SSD controller, add erasure codes controller and XOR arithmetic element; Described SSD controller comprises CPU, MEM controller, erasure codes controller, XOR arithmetic element, dma controller, interface controller and internal bus;
Described CPU is for coordinating the mutual data access between MEM controller, erasure codes controller, dma controller and interface controller;
Described erasure codes controller builds according to the erasure codes type of choosing, and carries out corresponding data encoding control algorithm;
Described XOR arithmetic element is carried out coded data to needs and is carried out XOR computing;
The effect of described MEM controller is to provide CPU and the access support of dma controller to primary memory MEM;
Described interface controller is the interface controller that comprises IDE, SATA or PCIe, for providing external unit SSD controller to be carried out to the support of data access;
Described internal bus is used for being communicated with CPU, EC controller, MEM controller and interface controller, and the path of the data access between them is provided.
CN201310586562.4A 2013-11-19 2013-11-19 A kind of data guard method of SSD memory and controller Active CN103631671B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310586562.4A CN103631671B (en) 2013-11-19 2013-11-19 A kind of data guard method of SSD memory and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310586562.4A CN103631671B (en) 2013-11-19 2013-11-19 A kind of data guard method of SSD memory and controller

Publications (2)

Publication Number Publication Date
CN103631671A true CN103631671A (en) 2014-03-12
CN103631671B CN103631671B (en) 2016-05-04

Family

ID=50212760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310586562.4A Active CN103631671B (en) 2013-11-19 2013-11-19 A kind of data guard method of SSD memory and controller

Country Status (1)

Country Link
CN (1) CN103631671B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268031A (en) * 2014-09-28 2015-01-07 安徽中科大国祯信息科技有限责任公司 Erasure code configuration method for solid state disk in disk array storage system
TWI656442B (en) * 2017-11-30 2019-04-11 慧榮科技股份有限公司 Method for access control in a memory device, and memory device and controller thereof
CN110321062A (en) * 2018-03-31 2019-10-11 深圳忆联信息系统有限公司 Date storage method and device
WO2020062305A1 (en) * 2018-09-30 2020-04-02 华为技术有限公司 Computational accelerator, exchanger, task scheduling method, and processing system
CN111033628A (en) * 2017-08-29 2020-04-17 赛普拉斯半导体公司 Row redundancy with distributed sectors
CN114625563A (en) * 2022-05-11 2022-06-14 深圳佰维存储科技股份有限公司 Data protection method and device of SSD, readable storage medium and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1612119A (en) * 2003-10-29 2005-05-04 鸿富锦精密工业(深圳)有限公司 Solid state storage unit safety storage system and method
CN101916213A (en) * 2010-08-05 2010-12-15 中国航天科技集团公司第九研究院第七七一研究所 Space protection device and method based on ARM processor
CN102368220A (en) * 2011-08-29 2012-03-07 大连明江咨询服务有限公司 Method for recovering transaction data
US20120117443A1 (en) * 2010-11-08 2012-05-10 Jin-Il Lee Data processing device and method using error detection code, method of compensating for data skew, and semiconductor device having the data processing device
CN102648584A (en) * 2009-08-25 2012-08-22 锐迪讯有限公司 Systems, methods, and media for checking available bandwidth using forward error correction
CN103034458A (en) * 2012-12-25 2013-04-10 华为技术有限公司 Method and device for realizing redundant array of independent disks in solid-state drive

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1612119A (en) * 2003-10-29 2005-05-04 鸿富锦精密工业(深圳)有限公司 Solid state storage unit safety storage system and method
CN102648584A (en) * 2009-08-25 2012-08-22 锐迪讯有限公司 Systems, methods, and media for checking available bandwidth using forward error correction
CN101916213A (en) * 2010-08-05 2010-12-15 中国航天科技集团公司第九研究院第七七一研究所 Space protection device and method based on ARM processor
US20120117443A1 (en) * 2010-11-08 2012-05-10 Jin-Il Lee Data processing device and method using error detection code, method of compensating for data skew, and semiconductor device having the data processing device
CN102368220A (en) * 2011-08-29 2012-03-07 大连明江咨询服务有限公司 Method for recovering transaction data
CN103034458A (en) * 2012-12-25 2013-04-10 华为技术有限公司 Method and device for realizing redundant array of independent disks in solid-state drive

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268031A (en) * 2014-09-28 2015-01-07 安徽中科大国祯信息科技有限责任公司 Erasure code configuration method for solid state disk in disk array storage system
CN104268031B (en) * 2014-09-28 2017-07-21 安徽中科大国祯信息科技有限责任公司 It is a kind of to be used for the erasure codes collocation method of solid state hard disc in disk array storage system
CN111033628A (en) * 2017-08-29 2020-04-17 赛普拉斯半导体公司 Row redundancy with distributed sectors
TWI656442B (en) * 2017-11-30 2019-04-11 慧榮科技股份有限公司 Method for access control in a memory device, and memory device and controller thereof
US10705749B2 (en) 2017-11-30 2020-07-07 Silicon Motion, Inc. Method for performing access control in a memory device, associated memory device and controller thereof
US11294589B2 (en) 2017-11-30 2022-04-05 Silicon Motion, Inc. Method for performing access control in a memory device, associated memory device and controller thereof
CN110321062A (en) * 2018-03-31 2019-10-11 深圳忆联信息系统有限公司 Date storage method and device
WO2020062305A1 (en) * 2018-09-30 2020-04-02 华为技术有限公司 Computational accelerator, exchanger, task scheduling method, and processing system
US11403250B2 (en) 2018-09-30 2022-08-02 Huawei Technologies Co., Ltd. Operation accelerator, switch, task scheduling method, and processing system
CN114625563A (en) * 2022-05-11 2022-06-14 深圳佰维存储科技股份有限公司 Data protection method and device of SSD, readable storage medium and electronic equipment
CN114625563B (en) * 2022-05-11 2022-08-23 深圳佰维存储科技股份有限公司 Data protection method and device of SSD, readable storage medium and electronic equipment

Also Published As

Publication number Publication date
CN103631671B (en) 2016-05-04

Similar Documents

Publication Publication Date Title
CN103631671B (en) A kind of data guard method of SSD memory and controller
CN107678695B (en) Selecting redundant storage configurations based on available memory space
EP2703991B1 (en) Scalable storage protection
US20140089561A1 (en) Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory
US20170177259A1 (en) Techniques to Use Open Bit Line Information for a Memory System
CN104765693A (en) Data storage method, device and system
CN104115126A (en) Multi-phase ecc encoding using algebraic codes
WO2009053961A3 (en) Systems and methods for multiple coding rates in flash devices
US10698765B2 (en) Techniques to recover data in a network storage system
JP2014053005A5 (en)
KR102385138B1 (en) Raid controller device and storage device configured to recover data having uncorrectable ecc error
CN105206306A (en) Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same
KR20160030978A (en) Access method and device for message-type memory module
US11687408B2 (en) Memory sub-system codeword quality metrics streaming
WO2015047334A1 (en) Error correction in non_volatile memory
CN104461926A (en) Method for protecting solid state disk data based on two-dimensional RAIDs
US20150089328A1 (en) Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller
CN101634938A (en) Data migration method and data migration device of solid state disk and solid state disk
CN103135946A (en) Solid state drive(SSD)-based file layout method in large-scale storage system
US9189327B2 (en) Error-correcting code distribution for memory systems
JP2015135676A (en) Method and/or apparatus for interleaving codewords over multiple flash planes
CN105138412A (en) Mixed error correcting device and method for embedded microprocessor cache
CN104794019A (en) Data protection method and device for embedded memorizer
CN103645965A (en) NAND-FLASH bad block recovery method based on ECCs
CN104932836A (en) Three-disk fault-tolerance coding and decoding methods for improving single-writing performance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 214028 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Patentee after: Wuxi North data calculation Limited by Share Ltd

Address before: 214028 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Patentee before: WUXI SOUL DATA COMPUTING CO., LTD.