CN107678694B - RAID stripe method for reconstructing and solid-state disk - Google Patents

RAID stripe method for reconstructing and solid-state disk Download PDF

Info

Publication number
CN107678694B
CN107678694B CN201710964327.4A CN201710964327A CN107678694B CN 107678694 B CN107678694 B CN 107678694B CN 201710964327 A CN201710964327 A CN 201710964327A CN 107678694 B CN107678694 B CN 107678694B
Authority
CN
China
Prior art keywords
physical block
error
rate
raw bit
block
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
CN201710964327.4A
Other languages
Chinese (zh)
Other versions
CN107678694A (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.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics 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 Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN201710964327.4A priority Critical patent/CN107678694B/en
Publication of CN107678694A publication Critical patent/CN107678694A/en
Application granted granted Critical
Publication of CN107678694B publication Critical patent/CN107678694B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0689Disk arrays, e.g. RAID, JBOD

Abstract

The invention discloses a kind of RAID stripe method for reconstructing applied to solid-state disk, recombination, which is carried out, for the physical block group to RAID memory array forms new RAID stripe, this method comprises: step S1, detects the raw Bit-Error-Rate of physical block and updated and be recorded in bulk state table;Step S2 obtains weak block message according to the raw Bit-Error-Rate in bulk state table;Step S3, obtains weak block number mesh by bulk state table, carries out band tissue to physical block;The LSB page of physical block in same RAID stripe and MSB pages are staggeredly carried out band tissue in block by step S4.RAID stripe method for reconstructing of the invention realizes the dynamic adjustment of solid-state disk RAID stripe, avoids loss of data, while avoiding waste of storage space, improve the reliability of solid-state disk, extend the service life of solid-state disk.Meanwhile the invention also discloses a kind of solid-state disks comprising RAID memory array and the controller for the RAID memory array adaptively to be adjusted and is managed to the data that it is stored.

Description

RAID stripe method for reconstructing and solid-state disk
Technical field
The present invention relates to nnir Rtorae technologies field more particularly to a kind of RAID stripe method for reconstructing and solid-state disk.
Background technique
Solid-state disk is because of its high-performance, and low energy consumption, anti-seismic performance is good, as a feasible substitute of disk, It is widely used in server system.With the progress of flash technology, especially from SLC (Single-LevelCell) technology to The development of MLC (Multi-LevelCell) technology and flash memory making technology, flash capacity increasingly increase.However, flash memory physical block Endurance but decline to a great extent, reliability significantly reduce.For the consistency for guaranteeing data, the manufacturer of solid-state disk uses in disk The reliability of independent hard disk redundancy array (RAID) mechanism enhancing solid-state disk.
The function to be realized of RAID first is that striping is carried out to multiple memories of controller control, and to multiple storages Device, which carries out striping, may make that mutually indepedent incoherent memory pool is at the memory array of an entirety originally.Striping It is the data block for continuous data being divided by controller same size, every segment data is respectively written into array not With the method on memory, band is the volume that multiple memory pools are formed.
Solid-state disk storage is different from traditional magnetic disk, and nand flash memory is the common particle for forming solid-state disk.Flash memories Write operation need by " erase-write " two operating process.If storage unit to be written, it is necessary to be deposited to this The physical block of storage unit executes erasing operation, and after the completion of being wiped free of, the data content of entire physical block is all emptied, erasing operation Process is known as recycling.
Wherein, nand flash memory has some special error properties.The raw Bit-Error-Rate (RBER) of nand flash memory can be with The increase of program/erase number (P/Ecycle) is exponentially increased.Moreover, because the difference of manufacturing process, solid-state disk is in physics There are the non-uniform phenomenons of Fault Distribution for block, Hash memory pages etc..For example, under identical program/erase number, different physical blocks Embody different error properties;In the same physical block, what the page (MSB pages) of most significant bit composition was formed than least significant bit The raw Bit-Error-Rate of page (LSB page) is higher, and MSB pages of wear-resistant power is less than the wear-resistant power of LSB page.
However, traditional RAID does not consider these error properties of nand flash memory, using solid in the solid-state disk entire lifetime The RAID strategy for determining intensity, caused in solid-state disk using the later period, and program/erase number of times is larger, flash media it is original The bit error rate increases, and the reliability that the RAID of fixing intensity is provided is insufficient for later period demand.
In the prior art, SehwanLee et al. proposes the RAID scheme of service life perception, in different program/erases Under several, using the RAID strategy of varying strength, guarantee the reliability of solid-state disk entire lifetime with the smallest memory space expense. But the RAID of service life perception has ignored the wear-resistant power of the medium as caused by manufacturing process (physical block level and Hash memory pages grade) Difference, the sole indicator measured using program/erase number as the degree of wear sacrifice sky although existing to adjust RAID intensity Between capacity, but RAID intensity adjustment the case where being still unable to satisfy reliability requirement.
On the one hand, ignore the difference between the wear-resistant power of physical block level: when two or more are with higher original When the physical block of the bit error rate is in same band, the promotion of band reliability can not offset the abrasion of the physical block, to can lead Cause loss of data;On the other hand, ignore the difference between the wear-resistant power of Hash memory pages grade: the RAID of service life perception by LSB page and MSB pages separately constitutes RAID stripe, so that the degree of wear of entire MSB band is significantly larger than LSB band, and since physical block dodges The greatest wear for depositing page determines the abrasion of physical block, result in a physical block it is unavailable when, the LSB page in the physical block is still It can be used, to bring space waste.
In consideration of it, it is necessary to provide what one kind can solve drawbacks described above to prevent RAID stripe loss of data and space utilization The RAID stripe method for reconstructing and solid-state disk that the high achievable RAID memory array of rate adaptively recombinates.
Summary of the invention
A technical problem to be solved by this invention is to provide a kind of achievable RAID memory array and adaptively recombinates, Improve the RAID stripe method for reconstructing of solid-state disk dependable with function.
Another technical problem to be solved by this invention, which is to provide one kind, can prevent RAID stripe loss of data and space The high solid-state disk of utilization rate.
In order to solve the above technical problems, the present invention uses a kind of technical solution as described below: RAID stripe method for reconstructing, Rebuild with the physical block group to RAID memory array applied to solid-state disk and form new RAID stripe, this method include with Lower step:
Step S1, detects the raw Bit-Error-Rate of physical block and is updated and be recorded in bulk state table;
Step S2 obtains weak block message according to the raw Bit-Error-Rate in bulk state table;
Step S3, obtains weak block number mesh by bulk state table, carries out band tissue to physical block;
The LSB page of physical block in same RAID stripe and MSB pages are staggeredly carried out band tissue in block by step S4.
Its further technical solution are as follows: the step S1 specifically includes the following steps:
Step S1.1, total physical block of setting program/erase frequency threshold value, weak piece of raw Bit-Error-Rate threshold value and physical block group Number;
Step S1.2, judges whether program/erase number reaches the programming/wiping that need to carry out physical block raw Bit-Error-Rate detection Except frequency threshold value;
Step S1.3 need to carry out the original mistake of physical block when program/erase number reaches according to the judging result of step S1.2 When the program/erase frequency threshold value of code rate detection, the raw Bit-Error-Rate detection of physical block is carried out simultaneously by it to the physical block group It is recorded in bulk state table.
Its further technical solution are as follows: the step S1.3 specifically: according to the judging result of step S1.2, when programming/ When erasing times reach the program/erase frequency threshold value that need to carry out physical block raw Bit-Error-Rate detection, the every of physical block group is read All Hash memory pages in one physical block, obtain the raw Bit-Error-Rate of Hash memory pages, and Hash memory pages maximum in each physical block are original Raw Bit-Error-Rate of the bit error rate as the physical block, is recorded in bulk state table.
Its further technical solution are as follows: the step S1 further include: according to the judging result of step S1.2, when programming/wiping When not up to need to carry out the program/erase frequency threshold value of raw Bit-Error-Rate detection except number, directly execution step S3.
Its further technical solution are as follows: the step S2 specifically includes the following steps:
Step S2.1 is recorded in the raw Bit-Error-Rate value of bulk state table and weak piece of original error code of setting according to step S1.3 Rate threshold value is compared, judge physical block raw Bit-Error-Rate value whether be more than setting weak piece of raw Bit-Error-Rate threshold value;
Step S2.2, according to the judging result of step S2.1, if the raw Bit-Error-Rate value of physical block is more than weak piece original The physical block is then labeled as weak piece, and is recorded in bulk state table by bit error rate threshold.
Its further technical solution are as follows: the step S2 further include: according to the judging result of step S2.1, when physical block Raw Bit-Error-Rate value is less than weak piece of raw Bit-Error-Rate threshold value of setting, then directly executes step S3.
Its further technical solution are as follows: the step S2.2 further include:
Step S2.2.1, bad block prediction judgement, weak piece of number is obtained according to the weak block message in bulk state table, is judged weak Whether block number mesh is more than 1/2 of physical block number in physical block group;
Step S2.2.2, according to the judging result of step S2.2.1, when weak block number mesh is more than the 1/2 of total physical block number When, prejudging the maximum physical block of raw Bit-Error-Rate in physical block group according to the raw Bit-Error-Rate information of bulk state table is bad block, right Bad block is replaced, and the update of the raw Bit-Error-Rate of physical block new after replacement is recorded in bulk state table;Otherwise it directly holds Row step S3.
Its further technical solution are as follows: the step S3 specifically: weak block number is obtained by the weak block message of bulk state table Mesh, and band tissue is carried out according to weak block number mesh, the RAID stripe number of physical block group is determined according to weak block number mesh, it will be each weak Block is placed in different RAID stripes, it is ensured that and weak piece of only one in each RAID stripe, while by non-weak piece of remaining in solid-state disk Physical block is evenly distributed in each RAID stripe according to number.
Its further technical solution are as follows: the step S3 further include:
Step S3.1, the storage verification data in weak piece of the physical block group of RAID stripe.
In order to solve the above technical problems, including RAID memory array and control the present invention also provides a kind of solid-state disk Device processed, the RAID memory array are used for segmented storing data;When the program/erase number of solid-state disk is more than preset threshold When value, the controller carries out the RAID memory array for executing above-mentioned RAID stripe method for reconstructing adaptive Recombination, and the storing data of the RAID memory array is managed.
The beneficial technical effect of the present invention lies in: RAID stripe method for reconstructing provided by the invention passes through detection physical block Raw Bit-Error-Rate perceives the actual wear of physical block, and according to raw Bit-Error-Rate value by physical block according to weak piece and non-weak piece of object Reason block distinguishes, and is recorded in bulk state table, carries out band tissue to physical block according to weak piece of number, improves solid-state disc system Reliability extends the service life of solid-state disk, can effectively protect data, prevents loss of data;Meanwhile by the object in same RAID stripe Band tissue in the LSB page of block and the MSB pages of progress block that interlocks is managed, the inhomogeneities of data page Fault Distribution in physical block is overcome, Avoid the occurrence of reliability difference it is too big caused by waste of storage space the problem of, improve storage space utilization.Meanwhile this hair The bright solid-state disk that additionally provides includes RAID memory array and controller, and the controller can carry out RAID memory array Adaptive recombination extends solid-state disk system lifetim to improve the reliability of solid-state disc system.
Detailed description of the invention
Fig. 1 is the flow chart of RAID stripe method for reconstructing of the present invention.
Fig. 2 is the flow chart of a specific embodiment of RAID stripe method for reconstructing of the present invention.
Fig. 3 be RAID stripe method for reconstructing of the present invention physical block between RAID stripe schematic illustration of tissue.
Specific embodiment
To make those skilled in the art that the object, technical solutions and advantages of the present invention be more clearly understood, with Under the present invention is further elaborated in conjunction with the accompanying drawings and embodiments.Obviously, will be described below embodiment is only the present invention A part of the embodiment, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art are not having Every other embodiment obtained under the premise of creative work is made, shall fall within the protection scope of the present invention.
RAID stripe method for reconstructing of the present invention, for using stripe depth as block RAID stripe tissue or physical location be Static RAID stripe tissue is rebuild applied in solid-state disk with the physical block group to RAID memory array, is formed new RAID stripe with storing data, dynamic adjustment is carried out to RAID stripe, improves solid-state disk system reliability.
Referring to Fig.1, the RAID stripe method for reconstructing the following steps are included:
Step S1, detects the raw Bit-Error-Rate of physical block and is updated and be recorded in bulk state table.
In the present embodiment, the raw Bit-Error-Rate that physical block is detected using read-after-write mode, i.e., in physics The data of write-in are read after block programming at once with the error situation of detection data, to detect the raw Bit-Error-Rate of physical block, have The read-after-write mode of body can refer to " the New ERA:new efficient that MingchangYang et al. is delivered reliability-aware wear leveling for endurance enhancement of flash storage devices》(Proceedings of the 50th Annual Design Automation Conference,Article NO.163,2013) periodical literature.
Referring to Fig. 2, in some embodiments, such as the present embodiment, the step S1 specifically includes the following steps:
Step S1.1, total physical block of setting program/erase frequency threshold value, weak piece of raw Bit-Error-Rate threshold value and physical block group Number.
Wherein, weak piece of physical block high for raw Bit-Error-Rate, wear-resistant power is poor.Due to the raw Bit-Error-Rate in physical block With the characteristic that program/erase number is exponentially increased, the setting number of the program/erase frequency threshold value is multiple, and is set The interval for the program/erase frequency threshold value set is also different;Then when program/erase number of times is smaller, the abrasion of physical block becomes Change degree is slower, and in one section of program/erase number variation range, less, therefore, solid-state disk is used for the abrasion variation of physical block The interval at initial stage, the program/erase frequency threshold value of setting is larger;With the use of solid-state disk, the abrasion variation of physical block with The growth variation of program/erase number is very fast, therefore the interval for the program/erase frequency threshold value being arranged is smaller.Programming/the wiping Except frequency threshold value be used for judge whether to physical block raw Bit-Error-Rate detection, when program/erase number be more than it is described programming/ When erasing times threshold value, then raw Bit-Error-Rate detection is carried out to physical block;The weak piece of raw Bit-Error-Rate threshold value is for judging object Manage whether block is weak piece, when detected physical block raw Bit-Error-Rate is more than the weak piece of raw Bit-Error-Rate threshold value, the then object Managing block is weak piece.
Step S1.2, judges whether program/erase number reaches the programming/wiping that need to carry out physical block raw Bit-Error-Rate detection Except frequency threshold value.
By the way that program/erase frequency threshold value is arranged, can be judged whether to need to detect physical block according to program/erase number Raw Bit-Error-Rate reduces the reading to physical block data to control the frequency of physical block raw Bit-Error-Rate detection, reduces solid-state The expense that physical block raw Bit-Error-Rate detects in disk.In solid-state disk use process, the programming of program/erase number and setting/ Erasing times threshold value is compared, when program/erase number be more than the program/erase frequency threshold value when, then to physical block into The detection of row raw Bit-Error-Rate.
Step S1.3 need to carry out the original mistake of physical block when program/erase number reaches according to the judging result of step S1.2 When the program/erase frequency threshold value of code rate detection, the raw Bit-Error-Rate detection for carrying out physical block to the physical block group simultaneously will be right The raw Bit-Error-Rate value answered is recorded in bulk state table.
Further, step S1.3 specifically: according to the judging result of step S1.2, when program/erase number reaches step When the need of rapid S1.1 setting carry out the program/erase frequency threshold value of physical block raw Bit-Error-Rate detection, the physical block group is read All Hash memory pages in each physical block, obtain the raw Bit-Error-Rate of Hash memory pages, and Hash memory pages maximum in each physical block are former Raw Bit-Error-Rate of the beginning ber value as the physical block, is recorded in bulk state table.
Step S2 obtains weak block message according to the raw Bit-Error-Rate in bulk state table.
Wherein, the physical block that raw Bit-Error-Rate is high, wear-resistant power is poor is labeled as weak piece.Judge whether physical block is weak piece Foundation be physical block raw Bit-Error-Rate, whether it is weak that the raw Bit-Error-Rate for detecting physical block can be the multilevel iudge physical block Block provides foundation.The weak block message indicates the information of physical block of the label for block in bulk state table, for which object to be learnt Managing block is weak piece.
With continued reference to Fig. 2, in some embodiments, such as the present embodiment, the step S2 specifically includes the following steps:
Step S2.1 is recorded in the raw Bit-Error-Rate value of bulk state table and weak piece of original error code of setting according to step S1.3 Rate threshold value is compared, judge physical block raw Bit-Error-Rate value whether be more than setting weak piece of raw Bit-Error-Rate threshold value.
Step S2.2, according to the judging result of step S2.1, if the raw Bit-Error-Rate value of physical block is more than weak piece original The physical block is then labeled as weak piece, and is recorded in bulk state table by bit error rate threshold.
In some embodiments, such as the present embodiment, the step S2.2 is further comprising the steps of:
Step S2.2.1, bad block prediction judgement, weak piece of number is obtained according to the weak block message in bulk state table, is judged weak Whether block number mesh is more than 1/2 of total physical block number in physical block group.
Step S2.2.2, according to the judging result of step S2.2.1, when weak block number mesh is more than the 1/2 of total physical block number When, prejudging the maximum physical block of raw Bit-Error-Rate in physical block group according to the raw Bit-Error-Rate information of bulk state table is bad block, right Bad block is replaced, and the update of the raw Bit-Error-Rate of physical block new after replacement is recorded in bulk state table;Otherwise it directly holds Row step S3.
Wherein, bad block is that raw Bit-Error-Rate is maximum in physical block group when weak block number mesh is more than the 1/2 of total physical block number Physical block, bad block replace with by the valid data in bad block migrates to the low physical block of raw Bit-Error-Rate or free time physics Block, wipes bad block, and by the raw Bit-Error-Rate of the low physical block of the raw Bit-Error-Rate or the original error code of the physical block of free time Rate is recorded in bulk state table.It is extensive to can avoid RAID data when the replacement of bad block for the migration that valid data are completed before wiping bad block Performance cost caused by multiple;The raw Bit-Error-Rate of the low physical block of the raw Bit-Error-Rate or the raw Bit-Error-Rate of the physical block of free time It is below weak piece of raw Bit-Error-Rate threshold value, that is, replacing new physical block after bad block is non-weak piece of physical block, to ensure weak block number mesh Less than the 1/2 of total physical block number, so that preventing the loss of data in physical block compiling procedure without bad block in solid-state disk.When weak When block number mesh is more than the 1/2 of total physical block number, the prediction judgement of bad block is triggered, the maximum physical block of raw Bit-Error-Rate is labeled as Bad block is conducive to the use that bad block is avoided in later period solid-state disk use process, reduces error rate.
Step S3, obtains weak block number mesh by bulk state table, carries out band tissue to physical block.
In conjunction with Fig. 2 and 3, further, the step S3 specifically: according to the weak block message of bulk state table, statistics is obtained Weak block number mesh, and band tissue is carried out according to weak block number mesh, the number of physical block group RAID stripe is determined according to weak block number mesh, it will Each weak piece is placed in different RAID stripes, it is ensured that and weak piece of only one in each RAID stripe, and by remaining in solid-state disk Non- weak piece of physical block is evenly distributed in each RAID stripe according to number.
In some embodiments, such as the present embodiment, the step S1 further include: according to the judging result of step S1.2, When program/erase number not up to needs to carry out the program/erase frequency threshold value of physical block raw Bit-Error-Rate detection, directly hold Row step S3.
In some embodiments, such as the present embodiment, the step S2 further include: according to the judging result of step S2.1, When the raw Bit-Error-Rate value of physical block is less than weak piece of raw Bit-Error-Rate threshold value of setting, then step S3 is directly executed.
The combination of the RAID stripe in solid-state disk between physical block is illustrated referring to Fig. 3, Fig. 3, every a line represents solid-state disk in Fig. 3 RAID stripe when service condition difference in solid-state disk between physical block, wherein square represents physical block, and dark physical block represents Weak piece.Solid-state disk uses initial stage, and program/erase number is smaller, when weak block number mesh is 0, entire all physical blocks of solid-state disk A RAID stripe is formed, as shown in the first row in Fig. 3;When weak block number mesh be 1 when, the non-weak piece of physical block of entire solid-state disk with should Weak piece of one RAID stripe of composition, as shown in the second row in Fig. 3;When weak block number mesh is 2, RAID stripe number is two at this time, Each RAID stripe only has one weak piece, and the non-weak piece of physical block of remaining in solid-state disk is according to number mean allocation to each RAID stripe In, as shown in the third line in Fig. 3;With the use of solid-state disk, weak block number mesh is gradually increased, when weak block number mesh reaches solid-state disk object When managing block number purpose half, then one weak piece and one non-weak piece of physical block forms a RAID stripe, reaches maximum superfluous at this time Remaining.
Determine that RAID stripe number, dynamic adjust the size and composition of RAID stripe according to weak block number mesh, it can be ensured that each Weak piece of only one in RAID stripe, the intensity by promoting RAID offsets weak piece of abrasion, to avoid loss of data, improves The reliability of solid-state disk.
With continued reference to Fig. 3, in some embodiments, such as the present embodiment, the step S3 further include:
Step S3.1, the storage verification data in weak piece of the physical block group of RAID stripe.
Wherein, the verification data are used for the integrality and accuracy of detection data, and in conjunction with Fig. 3, P represents check number in figure According to verification data are placed in weak piece of each band, since verification data only can be restored just to be read out in data, and in weak piece Verification data are contained only, the influence for reading interference is can avoid, minimizes the interference to weak piece, it is higher to error rate weak to reduce user Block carries out reading data, to reduce ECC (ErrorCorrectingCode) decoding time in reading process, improves solid-state The reading performance of disk.When program/erase number is smaller, the weak block number evidence in physical block group is smaller, uses initial stage in solid-state disk, when When weak piece being not present in physical set, verification data are placed in physical block last in RAID stripe.
Based on above-mentioned steps, with the use of solid-state disk, weak block number mesh is gradually increased, when weak block number mesh reaches total physical block Number 1/2 when, each RAID stripe be one weak piece and one it is non-weak piece composition RAID1, and verify data be placed in it is weak In block, reach maximum verification redundancy at this time.Only one weak piece of each RAID stripe can avoid the redundancy of verification data, drop Low waste of storage space.
The LSB page of physical block in same RAID stripe and MSB pages are staggeredly carried out band tissue in block by step S4.
LSB page and MSB pages are staggeredly subjected to band tissue in block, the unevenness of data page Fault Distribution in physical block can be overcome Even property, when MSB pages wears up to it is unusable when, data recovery is carried out to it using LSB page, avoids MSB pages of Missing data, To avoid the problem that Physical Page group occur reliability difference it is too big caused by waste of storage space, improve memory space and utilize Rate.
The present invention also provides a kind of solid-state disks, include RAID memory array and controller, wherein the memory Array is used for segmented storing data;When the program/erase number of solid-state disk is more than preset threshold value, the controller is used for Above-mentioned RAID stripe method for reconstructing is executed adaptively to be recombinated to the RAID memory array, and the RAID is deposited The storing data of memory array is managed, and to improve the reliability of system, extends lifetime of system.
In conclusion the raw Bit-Error-Rate of RAID stripe method for reconstructing of the invention by detection physical block, perceives physics The actual wear of block, and according to raw Bit-Error-Rate value by physical block according to weak piece and non-weak piece distinguishes, operated in band tissue The middle number according to weak piece determines the number of RAID stripe, it is ensured that only includes one weak piece in each RAID stripe, and by solid-state Non- weak piece of physical block in disk physical block group is evenly distributed in RAID stripe according to number, avoids the occurrence of two or more The weak piece of loss of data caused by the same RAID stripe, improve solid-state disk system reliability, extend the service life of solid-state disk;Into Row bad block detection, and migrates valid data when replace bad block in advance, can effectively protect data, prevents RAID stripe recycling and bad Loss of data when block is replaced;Data will be verified to be set in weak piece with the reading of reduction weak block number evidence higher to error rate, mentioned The reading performance of high solid-state disk;Meanwhile the LSB page of the physical block in same RAID stripe and MSB pages are staggeredly subjected to band in block Tissue, overcomes the inhomogeneities of data page Fault Distribution in physical block, avoid the occurrence of reliability difference it is too big caused by store The problem of space waste, improves space utilization rate;Bad block forecasting mechanism, prediction physical block error, to prevent the later period solid are set Loss of data when state disk uses.Meanwhile solid-state disk of the invention can carry out adaptively RAID memory array by controller Recombination with dynamically adjust RAID stripe form and size, improve the reliability of system, prevent loss of data.
The above description is only a preferred embodiment of the present invention, rather than does limitation in any form to the present invention.This field Technical staff can impose various equivalent changes and improvement, all institutes within the scope of the claims on the basis of the above embodiments The equivalent variations or modification done, should all fall under the scope of the present invention.

Claims (9)

1. a kind of RAID stripe method for reconstructing carries out recombination shape applied to solid-state disk with the physical block group to RAID memory array The RAID stripe of Cheng Xin, which is characterized in that method includes the following steps:
Step S1, detects the raw Bit-Error-Rate of physical block and is updated and be recorded in bulk state table;
Step S2 obtains weak block message according to the raw Bit-Error-Rate in bulk state table, wherein weak piece high, resistance to for raw Bit-Error-Rate The physical block of abrasive forces difference;
Step S3 obtains weak block number mesh by the weak block message of bulk state table, and carries out band tissue according to weak block number mesh, according to Weak block number mesh determines the RAID stripe number of physical block group, and each weak piece is placed in different RAID stripes, it is ensured that every RAID Weak piece of only one in band, while the non-weak piece of physical block of remaining in solid-state disk is evenly distributed in each RAID stripe according to number In band;
The LSB page of physical block in same RAID stripe and MSB pages are staggeredly carried out band tissue in block by step S4.
2. RAID stripe method for reconstructing as described in claim 1, which is characterized in that the step S1 specifically includes following step It is rapid:
Step S1.1, total physics block number of setting program/erase frequency threshold value, weak piece of raw Bit-Error-Rate threshold value and physical block group Mesh;
Step S1.2, judges whether program/erase number reaches the program/erase that need to carry out physical block raw Bit-Error-Rate detection Number threshold value;
Step S1.3 need to carry out physical block raw Bit-Error-Rate when program/erase number reaches according to the judging result of step S1.2 When the program/erase frequency threshold value of detection, the raw Bit-Error-Rate detection for carrying out physical block to the physical block group is recorded simultaneously In bulk state table.
3. RAID stripe method for reconstructing as claimed in claim 2, which is characterized in that the step S1.3 specifically: according to step The judging result of rapid S1.2 need to carry out the program/erase number of physical block raw Bit-Error-Rate detection when program/erase number reaches When threshold value, all Hash memory pages in each physical block of physical block group are read, the raw Bit-Error-Rate of Hash memory pages are obtained, by each object Raw Bit-Error-Rate of the maximum Hash memory pages raw Bit-Error-Rate as the physical block in block is managed, is recorded in bulk state table.
4. RAID stripe method for reconstructing as claimed in claim 2, which is characterized in that the step S1 further include: according to step The judging result of S1.2, when program/erase number need to not up to carry out the program/erase number of physical block raw Bit-Error-Rate detection When threshold value, directly execution step S3.
5. RAID stripe method for reconstructing as claimed in claim 2, which is characterized in that the step S2 specifically includes following step It is rapid:
Step S2.1 is recorded in the raw Bit-Error-Rate value of bulk state table and weak piece of raw Bit-Error-Rate threshold of setting according to step S1.3 Value is compared, judge physical block raw Bit-Error-Rate value whether be more than setting weak piece of raw Bit-Error-Rate threshold value;
Step S2.2, according to the judging result of step S2.1, if the raw Bit-Error-Rate value of physical block is more than weak piece of original error code The physical block is then labeled as weak piece, and is recorded in bulk state table by rate threshold value.
6. RAID stripe method for reconstructing as claimed in claim 5, which is characterized in that the step S2 further include: according to step The judging result of S2.1 is then directly held when the raw Bit-Error-Rate value of physical block is less than weak piece of raw Bit-Error-Rate threshold value of setting Row step S3.
7. RAID stripe method for reconstructing as claimed in claim 5, which is characterized in that the step S2.2 further include:
Step S2.2.1, bad block prediction judgement, weak piece of number is obtained according to the weak block message in bulk state table, judges weak block number Whether mesh is more than 1/2 of total physical block number in physical block group;
Step S2.2.2, according to the judging result of step S2.2.1, when weak block number mesh is more than the 1/2 of total physical block number, root According to bulk state table raw Bit-Error-Rate information anticipation physical block group in the maximum physical block of raw Bit-Error-Rate be bad block, to bad block into Row replacement, and the update of the raw Bit-Error-Rate of physical block new after replacement is recorded in bulk state table;Otherwise step is directly executed S3。
8. RAID stripe method for reconstructing as described in claim 1, which is characterized in that the step S3 further include:
Step S3.1, the storage verification data in weak piece of the physical block group of RAID stripe.
9. a kind of solid-state disk includes RAID memory array and controller, it is characterised in that: the RAID memory array is used In segmented storing data;When the program/erase number of solid-state disk is more than preset threshold value, the controller is for executing RAID stripe method for reconstructing according to any one of claims 1 to 8 is stated adaptively to be weighed to the RAID memory array Group, and the storing data of the RAID memory array is managed.
CN201710964327.4A 2017-10-17 2017-10-17 RAID stripe method for reconstructing and solid-state disk Active CN107678694B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710964327.4A CN107678694B (en) 2017-10-17 2017-10-17 RAID stripe method for reconstructing and solid-state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710964327.4A CN107678694B (en) 2017-10-17 2017-10-17 RAID stripe method for reconstructing and solid-state disk

Publications (2)

Publication Number Publication Date
CN107678694A CN107678694A (en) 2018-02-09
CN107678694B true CN107678694B (en) 2019-02-05

Family

ID=61141286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710964327.4A Active CN107678694B (en) 2017-10-17 2017-10-17 RAID stripe method for reconstructing and solid-state disk

Country Status (1)

Country Link
CN (1) CN107678694B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804045B (en) * 2018-06-28 2021-10-15 郑州云海信息技术有限公司 Bad block table establishing method and related device
CN109830257A (en) * 2019-01-24 2019-05-31 山东华芯半导体有限公司 A kind of method of weak piece of NAND Flash screening
CN110231999B (en) * 2019-05-29 2020-05-19 华中科技大学 Method and device for improving reliability of storage system based on local repair coding
CN111158589B (en) * 2019-12-16 2023-10-20 绿晶半导体科技(北京)有限公司 Dynamic management method and device for storage array
CN111045607B (en) * 2019-12-27 2023-10-03 深圳大普微电子科技有限公司 Data storage method, storage controller, solid state disk and computer storage medium
CN111552582B (en) * 2020-04-24 2022-10-14 江苏芯盛智能科技有限公司 Method and device for screening weak flash blocks and solid state disk
CN111813609B (en) * 2020-07-23 2021-10-15 深圳大普微电子科技有限公司 Data recovery method in storage medium, data recovery system and related equipment
CN112506430B (en) * 2020-12-04 2022-07-26 苏州浪潮智能科技有限公司 Method and device for keeping SSD fixed stripe size
CN113782082B (en) * 2021-09-10 2024-01-16 深圳大普微电子科技有限公司 Two-dimensional wear balancing method for flash memory and solid state disk
CN115629720B (en) * 2022-12-20 2023-07-28 鹏钛存储技术(南京)有限公司 Asymmetric striping method on storage device based on flash memory as medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227463A (en) * 2016-07-11 2016-12-14 苏州科达科技股份有限公司 RAID model, reading and writing data and method for reconstructing thereof
CN106990918A (en) * 2017-03-03 2017-07-28 杭州宏杉科技股份有限公司 Trigger the method and device that RAID array is rebuild

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625627B (en) * 2009-08-05 2012-03-21 成都市华为赛门铁克科技有限公司 Data read-in method, disc redundant array and controller thereof
CN102508733B (en) * 2011-09-22 2016-01-20 杭州华三通信技术有限公司 A kind of data processing method based on disk array and disk array manager
US9448883B1 (en) * 2012-12-04 2016-09-20 Cadence Design Systems, Inc. System and method for allocating data in memory array having regions of varying storage reliability
CN107220148B (en) * 2016-03-21 2020-12-04 伊姆西Ip控股有限责任公司 Reconstruction method and device for redundant array of independent disks
CN106528003A (en) * 2016-12-09 2017-03-22 曙光信息产业(北京)有限公司 Method and device for rebuilding disk array

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227463A (en) * 2016-07-11 2016-12-14 苏州科达科技股份有限公司 RAID model, reading and writing data and method for reconstructing thereof
CN106990918A (en) * 2017-03-03 2017-07-28 杭州宏杉科技股份有限公司 Trigger the method and device that RAID array is rebuild

Also Published As

Publication number Publication date
CN107678694A (en) 2018-02-09

Similar Documents

Publication Publication Date Title
CN107678694B (en) RAID stripe method for reconstructing and solid-state disk
US9727271B2 (en) Data storage device and flash memory control method
US9606737B2 (en) Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US10055294B2 (en) Selective copyback for on die buffered non-volatile memory
US9910606B2 (en) End of life extension of solid state memory
US9298534B2 (en) Memory system and constructing method of logical block
US20110302477A1 (en) Data Hardening to Compensate for Loss of Data Retention Characteristics in a Non-Volatile Memory
US9946483B2 (en) Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
CN104216665B (en) The memory management method of multilevel-cell solid state hard disc
US20160342345A1 (en) Variable Bit Encoding Per NAND Flash Cell to Improve Device Endurance and Extend Life of Flash-Based Storage Devices
US11960409B2 (en) Zone-aware memory management in memory sub-systems
US20100325351A1 (en) Memory system having persistent garbage collection
US9268657B1 (en) Varying data redundancy in storage systems
US20140059405A1 (en) Solid-state drive retention monitor using reference blocks
US9946473B2 (en) Efficiently managing unmapped blocks to extend life of solid state drive
JP2015535640A (en) Method with runtime variable RAID protection scheme, solid-state drive controller, and data storage device
US10915443B2 (en) Allocation of overprovisioned blocks for minimizing write amplification in solid state drives
CN102522121B (en) The method that solid state hard disc is repaired automatically and solid state hard disc thereof
CN113924546A (en) Wear-aware block mode switching in non-volatile memory
CN114429778A (en) Managing bin placement for a family of blocks of a memory device using trigger metric scoring
US11404141B2 (en) Preemptive read refresh in memories with time-varying error rates
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
Yang et al. Gd-ftl: Improving the performance and lifetime of tlc ssd by downgrading worn-out blocks
US20240061589A1 (en) Code rate as function of logical saturation
US20230393920A1 (en) Adaptive wear leveling for endurance compensation

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