CN107678694A - RAID stripe method for reconstructing and solid-state disk - Google Patents
RAID stripe method for reconstructing and solid-state disk Download PDFInfo
- Publication number
- CN107678694A CN107678694A CN201710964327.4A CN201710964327A CN107678694A CN 107678694 A CN107678694 A CN 107678694A CN 201710964327 A CN201710964327 A CN 201710964327A CN 107678694 A CN107678694 A CN 107678694A
- Authority
- CN
- China
- Prior art keywords
- physical block
- error
- rate
- block
- weak
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000015654 memory Effects 0.000 claims abstract description 51
- 238000003491 array Methods 0.000 claims abstract description 21
- 238000001514 detection method Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 8
- 239000002699 waste material Substances 0.000 abstract description 6
- 238000005299 abrasion Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 102000057593 human F8 Human genes 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229940047431 recombinate Drugs 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
The invention discloses a kind of RAID stripe method for reconstructing applied to solid-state disk, forms new RAID stripe for carrying out restructuring to the physical block group of RAID memory arrays, this method includes:Step S1, detects the raw Bit-Error-Rate of physical block and is updated and be recorded in bulk state table;Step S2, the raw Bit-Error-Rate in bulk state table obtain weak block message;Step S3, weak block number mesh is obtained by bulk state table, and band tissue is carried out to physical block;Step S4, the LSB page of the physical block in same RAID stripe and MSB pages are staggeredly subjected to band tissue in block.The RAID stripe method for reconstructing of the present invention, the dynamic adjustment of solid-state disk RAID stripe is realized, avoids loss of data, while avoid waste of storage space, improved the reliability of solid-state disk, extend the life-span of solid-state disk.Meanwhile the invention also discloses a kind of solid-state disk, it includes RAID memory arrays and the controller for the RAID memory arrays adaptively adjust and be managed the data that it is stored.
Description
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 technology
Solid-state disk is because its high-performance, and low energy consumption, anti-seismic performance is good, a feasible substitute as disk,
It is widely used in server system.With the progress of flash technology, particularly from SLC (Single-LevelCell) technologies to
The development of MLC (Multi-LevelCell) technologies and flash memory making technology, flash capacity increasingly increase.However, flash memory physical block
Endurance but decline to a great extent, reliability significantly reduces.To ensure the uniformity of data, the manufacturer of solid-state disk uses in disk
The reliability of independent hard disk redundancy array (RAID) mechanism enhancing solid-state disk.
One of the functions to be realized of RAID are to carry out striping to multiple memories of controller control, and to multiple storages
Device carries out striping and may be such that originally memory array of the incoherent memory pool into an entirety independently of each other.Striping
It is the data block for continuous data being divided into by controller formed objects, 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 conventional particle for forming solid-state disk.Flash memories
Write operation need by " erase-write " two operating process.If to be write to memory cell, it is necessary to which this is deposited
The physical block of storage unit performs erasing operation, and after the completion of being wiped free of, the data content of whole physical block is all cleared, erasing operation
Process is referred to as reclaiming.
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.The difference of manufacturing process is additionally, since, solid-state disk is in physics
The uneven phenomenon of Fault Distribution be present in block, Hash memory pages etc..For example, under identical program/erase number, different physical blocks
Embody different error properties;In same physical block, the page (MSB pages) of highest significant position composition forms 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 whole lifetime
Determine intensity RAID strategy, cause to use the later stage in solid-state disk, its 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 stage demand.
In the prior art, SehwanLee et al. proposes the RAID schemes of life-span perception, in different program/erases
Under several, using the RAID strategies of varying strength, with the reliability of the memory space expense guarantee solid-state disk whole lifetime of minimum.
But the RAID that the life-span perceives have ignored due to the wear-resistant power of medium caused by manufacturing process (physical block level and Hash memory pages level)
Difference, using program/erase number as the sole indicator that the degree of wear is measured to adjust RAID intensity, sacrifice sky although existing
Between capacity, but the adjustment of RAID intensity can not still meet the situation of reliability requirement.
On the one hand, the difference between the wear-resistant power of physical block level is ignored:When two or more are with higher original
When the physical block of the bit error rate is in same band, the lifting of band reliability can not offset the abrasion of the physical block, so as to lead
Cause loss of data;On the other hand, the difference between the wear-resistant power of Hash memory pages level is ignored:The RAID that life-span perceives by LSB page and
MSB pages separately constitutes RAID stripe so that and the degree of wear of whole MSB bands is significantly larger than LSB bands, and because 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, so as to bring space waste.
In consideration of it, be necessary to provide it is a kind of solve drawbacks described above 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 arrays of rate adaptively recombinate.
The content of the invention
A technical problem to be solved by this invention is to provide a kind of achievable RAID memory arrays and adaptively recombinated,
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 technical scheme as described below:A kind of RAID stripe method for reconstructing,
With the physical block group to RAID memory arrays rebuild 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, the raw Bit-Error-Rate in bulk state table obtain weak block message;
Step S3, weak block number mesh is obtained by bulk state table, and band tissue is carried out to physical block;
Step S4, the LSB page of the physical block in same RAID stripe and MSB pages are staggeredly subjected to band tissue in block.
Its further technical scheme is:The step S1 specifically includes following steps:
Step S1.1, total physical block of program/erase frequency threshold value, weak piece of raw Bit-Error-Rate threshold value and physical block group is set
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, according to step S1.2 judged result, the original mistake of physical block need to be carried out when program/erase number reaches
During the program/erase frequency threshold value of code check detection, the raw Bit-Error-Rate detection of physical block is carried out to the physical block group simultaneously by it
It is recorded in bulk state table.
Its further technical scheme is:The step S1.3 is specially:According to step S1.2 judged result, 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, the raw Bit-Error-Rate of Hash memory pages is obtained, 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 scheme is:The step S1 also includes:According to step S1.2 judged result, 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, step S3 is directly performed.
Its further technical scheme is:The step S2 specifically includes following steps:
Step S2.1, the raw Bit-Error-Rate value of bulk state table and the weak piece of original error code set are recorded according to step S1.3
Rate threshold value is compared, and judges whether the raw Bit-Error-Rate value of physical block exceedes the weak piece of raw Bit-Error-Rate threshold value set;
Step S2.2, according to step S2.1 judged result, if the raw Bit-Error-Rate value of physical block is original more than weak piece
Bit error rate threshold, then the physical block is labeled as weak piece, and be recorded in bulk state table.
Its further technical scheme is:The step S2 also includes:According to step S2.1 judged result, when physical block
Raw Bit-Error-Rate value then directly performs step S3 not less than weak piece of raw Bit-Error-Rate threshold value of setting.
Its further technical scheme is:The step S2.2 also includes:
Step S2.2.1, the prediction of bad block judge that the weak block message in bulk state table obtains weak piece of number, judged weak
Whether block number mesh exceedes 1/2 of physical block number in physical block group;
Step S2.2.2, according to step S2.2.1 judged result, when weak block number mesh exceedes the 1/2 of total physical block number
When, it is bad block to prejudge the physical block that raw Bit-Error-Rate is maximum in physical block group according to the raw Bit-Error-Rate information of bulk state table, right
Bad block is replaced, and the raw Bit-Error-Rate renewal of physical block new after replacement is recorded in bulk state table;Otherwise directly hold
Row step S3.
Its further technical scheme is:The step S3 is specially: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, will be each weak
Block is placed in different RAID stripes, it is ensured that there was only one weak piece 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 scheme is:The step S3 also includes:
Step S3.1, verification data is deposited in weak piece of the physical block group of RAID stripe.
In order to solve the above technical problems, present invention also offers a kind of solid-state disk, include RAID memory arrays and control
Device processed, the RAID memory arrays are used for segmented data storage;When the program/erase number of solid-state disk exceedes default threshold
During value, the controller is used to perform above-mentioned RAID stripe method for reconstructing to carry out adaptively the RAID memory arrays
Restructuring, and the data storage of the RAID memory arrays is managed.
The advantageous effects of the present invention are:RAID stripe method for reconstructing provided by the invention is by detecting 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 thing
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, extend the life-span of solid-state disk, can effectively protect data, prevent loss of data;Meanwhile by the thing in same RAID stripe
Band tissue in the LSB page of block and the MSB pages of progress block that interlocks is managed, overcomes the inhomogeneities of data page Fault Distribution in physical block,
Avoid the occurrence of reliability difference it is too big caused by waste of storage space the problem of, improve memory space utilization rate.Meanwhile this hair
The bright solid-state disk that additionally provides includes RAID memory arrays and controller, and the controller can be carried out to RAID memory arrays
Adaptive restructuring, to improve the reliability of solid-state disc system, extend solid-state disk system lifetim.
Brief description of the drawings
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.
Embodiment
To make one of ordinary skill 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, embodiment explained below is only the present invention
Part of the embodiment, rather than whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art are not having
The every other embodiment obtained under the premise of creative work is made, belongs to the scope of protection of the invention.
RAID stripe method for reconstructing of the present invention, it is for the RAID stripe tissue using stripe depth as block or physical location
Static RAID stripe tissue, rebuild, formed new with the physical block group to RAID memory arrays applied in solid-state disk
RAID stripe with data storage, Mobile state adjustment is entered to RAID stripe, improves solid-state disk system reliability.
Reference picture 1, the RAID stripe method for reconstructing comprise the following steps:
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 of physical block is detected using read-after-write modes, i.e., in physics
The data of write-in are read after block programming at once to detect the error situation of data, so as to detect the raw Bit-Error-Rate of physical block, tool
The read-after-write modes of body refer to what MingchangYang et al. was delivered《New ERA:new efficient
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.
Reference picture 2, in some embodiments, such as in the present embodiment, the step S1 specifically includes following steps:
Step S1.1, total physical block of program/erase frequency threshold value, weak piece of raw Bit-Error-Rate threshold value and physical block group is set
Number.
Wherein, weak piece is raw Bit-Error-Rate is high, wear-resistant power is poor physical block.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 put 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 excursion, the abrasion change of physical block is little, and therefore, solid-state disk uses
Initial stage, the interval of the program/erase frequency threshold value of setting are larger;With the use of solid-state disk, the abrasion change of physical block with
The growth change of program/erase number is very fast, therefore the interval of the program/erase frequency threshold value set 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 exceed it is described programming/
During 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 used to judge thing
Manage whether block is weak piece, when the physical block raw Bit-Error-Rate that detection obtains exceedes the weak piece of raw Bit-Error-Rate threshold value, then the thing
It is weak piece to manage block.
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 setting program/erase frequency threshold value, can be judged whether to need to detect physical block according to program/erase number
Raw Bit-Error-Rate, so as to control the frequency that physical block raw Bit-Error-Rate detects, the reading to physical block data is reduced, reduces solid-state
The expense that physical block raw Bit-Error-Rate detects in disk.During solid-state disk use, its program/erase number with set programming/
Erasing times threshold value is compared, and when program/erase number exceedes the program/erase frequency threshold value, then physical block is entered
Row raw Bit-Error-Rate detects.
Step S1.3, according to step S1.2 judged result, the original mistake of physical block need to be carried out when program/erase number reaches
During the program/erase frequency threshold value of code check detection, the raw Bit-Error-Rate detection that physical block is carried out 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 is specially:According to step S1.2 judged result, when program/erase number reaches step
When the need that rapid S1.1 is set 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, the raw Bit-Error-Rate of Hash memory pages is obtained, 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, the raw Bit-Error-Rate in bulk state table obtain weak block message.
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, the raw Bit-Error-Rate for detecting physical block can be whether the multilevel iudge physical block is weak
Block provides foundation.The weak block message represents to mark the information of the physical block for block in bulk state table, for which thing to be learnt
It is weak piece to manage block.
With continued reference to Fig. 2, in some embodiments, such as in the present embodiment, the step S2 specifically includes following steps:
Step S2.1, the raw Bit-Error-Rate value of bulk state table and the weak piece of original error code set are recorded according to step S1.3
Rate threshold value is compared, and judges whether the raw Bit-Error-Rate value of physical block exceedes the weak piece of raw Bit-Error-Rate threshold value set.
Step S2.2, according to step S2.1 judged result, if the raw Bit-Error-Rate value of physical block is original more than weak piece
Bit error rate threshold, then the physical block is labeled as weak piece, and be recorded in bulk state table.
In some embodiments, such as in the present embodiment, the step S2.2 is further comprising the steps of:
Step S2.2.1, the prediction of bad block judge that the weak block message in bulk state table obtains weak piece of number, judged weak
Whether block number mesh exceedes 1/2 of total physical block number in physical block group.
Step S2.2.2, according to step S2.2.1 judged result, when weak block number mesh exceedes the 1/2 of total physical block number
When, it is bad block to prejudge the physical block that raw Bit-Error-Rate is maximum in physical block group according to the raw Bit-Error-Rate information of bulk state table, right
Bad block is replaced, and the raw Bit-Error-Rate renewal of physical block new after replacement is recorded in bulk state table;Otherwise directly hold
Row step S3.
Wherein, bad block is that raw Bit-Error-Rate is maximum in physical block group when weak block number mesh exceedes 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.Before bad block is wiped complete valid data migration, can avoid bad block replace when RAID data it is extensive
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
Weak piece of raw Bit-Error-Rate threshold value is below, that is, it is non-weak piece of physical block to replace new physical block after bad block, to ensure weak block number mesh
Less than the 1/2 of total physical block number so that without bad block in solid-state disk, prevent the loss of data in physical block compiling procedure.When weak
When block number mesh exceedes the 1/2 of total physical block number, trigger the prediction of bad block and judge, the maximum physical block of raw Bit-Error-Rate is labeled as
Bad block, be advantageous to avoid the use of bad block during later stage solid-state disk use, reduce error rate.
Step S3, weak block number mesh is obtained by bulk state table, and band tissue is carried out to physical block.
With reference to Fig. 2 and 3, further, the step S3 is specially:According to the weak block message of bulk state table, statistics obtains
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, will
Each weak piece is placed in different RAID stripes, it is ensured that there was only one weak piece 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 in the present embodiment, the step S1 also includes:According to step S1.2 judged result,
When program/erase number, which is 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 in the present embodiment, the step S2 also includes:According to step S2.1 judged result,
When the raw Bit-Error-Rate value of physical block is not less than weak piece of raw Bit-Error-Rate threshold value of setting, then step S3 is directly performed.
Reference picture 3, Fig. 3 illustrate the RAID stripe combination between physical block in solid-state disk, and every a line represents solid-state disk in Fig. 3
RAID stripe during 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 its program/erase number is smaller, when weak block number mesh is 0, whole 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 is 1, the non-weak piece of physical block of whole solid-state disk is with being somebody's turn to do
Weak piece of one RAID stripe of composition, as shown in the second row in Fig. 3;When weak block number mesh is 2, now RAID stripe number is two,
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 gradually increases, when weak block number mesh reaches solid-state disk thing
When managing block number purpose half, then one weak piece and one non-weak piece of physical block forms a RAID stripe, now reaches the superfluous of maximum
Remaining.
RAID stripe number is determined according to weak block number mesh, dynamic adjusts the size and composition of RAID stripe, it can be ensured that each
There was only one weak piece in RAID stripe, the intensity by lifting RAID offsets weak piece of abrasion, so as to avoid loss of data, improves
The reliability of solid-state disk.
With continued reference to Fig. 3, in some embodiments, such as in the present embodiment, the step S3 also includes:
Step S3.1, verification data is deposited in weak piece of the physical block group of RAID stripe.
Wherein, the verification data is used for the integrality and accuracy for detecting data, and with reference to Fig. 3, P represents check number in figure
According to verification data is placed in weak piece of each band, because verification data only can be just read out in data recovery, and in weak piece
Verification data is comprised only, can avoid reading the influence disturbed, minimize the interference to weak piece, reduces weak higher to error rate of user
Block carries out digital independent, so as to reduce the ECC in reading process (ErrorCorrectingCode) the decoding times, 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, and initial stage is used in solid-state disk, when
When weak piece being not present in physical set, verification data is placed in physical block last in RAID stripe.
Based on above-mentioned steps, with the use of solid-state disk, weak block number mesh gradually increases, 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 verification data be placed in it is weak
In block, now reach maximum verification redundancy.Each RAID stripe only has one weak piece, can avoid the redundancy of verification data, drop
Low waste of storage space.
Step S4, the LSB page of the physical block in same RAID stripe and MSB pages are staggeredly subjected to band tissue in block.
LSB page and MSB pages are staggeredly subjected to band tissue in block, the inequality 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,
So as to avoid Physical Page group occur reliability difference it is too big caused by waste of storage space the problem of, improve memory space and utilize
Rate.
Present invention also offers a kind of solid-state disk, includes RAID memory arrays and controller, wherein, the memory
Array is used for segmented data storage;When the program/erase number of solid-state disk exceedes default threshold value, the controller is used for
Above-mentioned RAID stripe method for reconstructing is performed adaptively to be recombinated to the RAID memory arrays, and the RAID is deposited
The data storage of memory array is managed, and to improve the reliability of system, extends lifetime of system.
In summary, RAID stripe method for reconstructing of the invention perceives physics by detecting the raw Bit-Error-Rate of physical block
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 include 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
Weak piece be in loss of data caused by same RAID stripe, improve solid-state disk system reliability, extend the life-span of solid-state disk;Enter
Row bad block detection, and migrates valid data when replacing bad block, can effectively protect data in advance, prevents RAID stripe recovery and bad
Loss of data when block is replaced;Verification data is arranged in weak piece to reduce the reading of the weak block number evidence higher to error rate, carried
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, overcome 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, improve space availability ratio;Bad block forecasting mechanism, prediction physical block error, to prevent the later stage from consolidating are set
Loss of data when state disk uses.Meanwhile solid-state disk of the invention can be carried out adaptively by controller to RAID memory arrays
Restructuring with dynamically adjust RAID stripe form and size, improve the reliability of system, prevent loss of data.
The preferred embodiments of the present invention are the foregoing is only, rather than any formal limitation is done to the present invention.This area
Technical staff various equivalent changes and improvement, all institutes within the scope of the claims can be imposed on the basis of above-described embodiment
The equivalent variations done or modification, it all should fall under the scope of the present invention.
Claims (10)
1. a kind of RAID stripe method for reconstructing, restructuring shape is carried out with the physical block group to RAID memory arrays applied to solid-state disk
Cheng Xin RAID stripe, it is characterised in that this method comprises 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, the raw Bit-Error-Rate in bulk state table obtain weak block message;
Step S3, weak block number mesh is obtained by bulk state table, and band tissue is carried out to physical block;
Step S4, the LSB page of the physical block in same RAID stripe and MSB pages are staggeredly subjected to band tissue in block.
2. RAID stripe method for reconstructing as claimed in claim 1, it is characterised in that the step S1 specifically includes following step
Suddenly:
Step S1.1, total physics block number of program/erase frequency threshold value, weak piece of raw Bit-Error-Rate threshold value and physical block group is set
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, according to step S1.2 judged result, physical block raw Bit-Error-Rate need to be carried out when program/erase number reaches
During the program/erase frequency threshold value of detection, the raw Bit-Error-Rate detection that physical block is carried out to the physical block group is recorded simultaneously
In bulk state table.
3. RAID stripe method for reconstructing as claimed in claim 2, it is characterised in that the step S1.3 is specially:According to step
Rapid S1.2 judged result, the program/erase number of physical block raw Bit-Error-Rate detection need to be carried out when program/erase number reaches
During 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 thing
Raw Bit-Error-Rate of the Hash memory pages raw Bit-Error-Rate maximum in block as the physical block is managed, is recorded in bulk state table.
4. RAID stripe method for reconstructing as claimed in claim 2, it is characterised in that the step S1 also includes:According to step
S1.2 judged result, when program/erase number need to not up to carry out the program/erase number of physical block raw Bit-Error-Rate detection
During threshold value, step S3 is directly performed.
5. RAID stripe method for reconstructing as claimed in claim 2, it is characterised in that the step S2 specifically includes following step
Suddenly:
Step S2.1, the raw Bit-Error-Rate value of bulk state table and the weak piece of raw Bit-Error-Rate threshold set are recorded according to step S1.3
Value is compared, and judges whether the raw Bit-Error-Rate value of physical block exceedes the weak piece of raw Bit-Error-Rate threshold value set;
Step S2.2, according to step S2.1 judged result, if the raw Bit-Error-Rate value of physical block exceedes weak piece of original error code
Rate threshold value, then the physical block is labeled as weak piece, and be recorded in bulk state table.
6. RAID stripe method for reconstructing as claimed in claim 5, it is characterised in that the step S2 also includes:According to step
S2.1 judged result, when the raw Bit-Error-Rate value of physical block is not less than weak piece of raw Bit-Error-Rate threshold value of setting, then directly hold
Row step S3.
7. RAID stripe method for reconstructing as claimed in claim 5, it is characterised in that the step S2.2 also includes:
Step S2.2.1, the prediction of bad block judge that the weak block message in bulk state table obtains weak piece of number, judges weak block number
Whether mesh exceedes 1/2 of total physical block number in physical block group;
Step S2.2.2, according to step S2.2.1 judged result, when weak block number mesh exceedes the 1/2 of total physical block number, root
It is bad block according to the maximum physical block of raw Bit-Error-Rate in the raw Bit-Error-Rate information anticipation physical block group of bulk state table, bad block is entered
Row is replaced, and the raw Bit-Error-Rate renewal of physical block new after replacement is recorded in bulk state table;Otherwise step is directly performed
S3。
8. RAID stripe method for reconstructing as claimed in claim 1, it is characterised in that the step S3 is specially:Pass through bulk
The weak block message of state table obtains weak block number mesh, and carries out band tissue according to weak block number mesh, and physical block is determined according to weak block number mesh
The RAID stripe number of group, each weak piece is placed in different RAID stripes, it is ensured that there was only one weak piece in each RAID stripe,
The non-weak piece of physical block of remaining in solid-state disk is evenly distributed in each RAID stripe according to number simultaneously.
9. RAID stripe method for reconstructing as claimed in claim 1, it is characterised in that the step S3 also includes:
Step S3.1, verification data is deposited in weak piece of the physical block group of RAID stripe.
10. a kind of solid-state disk, include RAID memory arrays and controller, it is characterised in that:The RAID memory arrays
For segmented data storage;When the program/erase number of solid-state disk exceedes default threshold value, the controller is used to perform
RAID stripe method for reconstructing described in any one of the claims 1~9 is adaptive to be carried out to the RAID memory arrays
Restructuring, and the data storage of the RAID memory arrays is managed.
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 true CN107678694A (en) | 2018-02-09 |
CN107678694B 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) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804045A (en) * | 2018-06-28 | 2018-11-13 | 郑州云海信息技术有限公司 | A kind of bad block table method for building up and relevant apparatus |
CN109830257A (en) * | 2019-01-24 | 2019-05-31 | 山东华芯半导体有限公司 | A kind of method of weak piece of NAND Flash screening |
CN110231999A (en) * | 2019-05-29 | 2019-09-13 | 华中科技大学 | Promote the method and device of the storage system reliability encoded based on local route repair |
CN111045607A (en) * | 2019-12-27 | 2020-04-21 | 深圳大普微电子科技有限公司 | Data storage method, storage controller, solid state disk and computer storage medium |
CN111158589A (en) * | 2019-12-16 | 2020-05-15 | 绿晶半导体科技(北京)有限公司 | Dynamic management method and device for storage array |
CN111552582A (en) * | 2020-04-24 | 2020-08-18 | 江苏芯盛智能科技有限公司 | Method and device for screening flash weak blocks and solid state disk |
CN111813609A (en) * | 2020-07-23 | 2020-10-23 | 深圳大普微电子科技有限公司 | Data recovery method in storage medium, data recovery system and related equipment |
CN112506430A (en) * | 2020-12-04 | 2021-03-16 | 苏州浪潮智能科技有限公司 | Method and equipment for keeping SSD fixed stripe size |
CN113782082A (en) * | 2021-09-10 | 2021-12-10 | 深圳大普微电子科技有限公司 | Two-dimensional wear leveling method for flash memory and solid state disk |
CN115629720A (en) * | 2022-12-20 | 2023-01-20 | 鹏钛存储技术(南京)有限公司 | Asymmetric striping method on storage device based on flash memory as medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625627A (en) * | 2009-08-05 | 2010-01-13 | 成都市华为赛门铁克科技有限公司 | Data read-in method, disc redundant array and controller thereof |
CN102508733A (en) * | 2011-09-22 | 2012-06-20 | 杭州华三通信技术有限公司 | Disk array based data processing method 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 |
CN106227463A (en) * | 2016-07-11 | 2016-12-14 | 苏州科达科技股份有限公司 | RAID model, reading and writing data and method for reconstructing thereof |
CN106528003A (en) * | 2016-12-09 | 2017-03-22 | 曙光信息产业(北京)有限公司 | Method and device for rebuilding disk array |
CN106990918A (en) * | 2017-03-03 | 2017-07-28 | 杭州宏杉科技股份有限公司 | Trigger the method and device that RAID array is rebuild |
CN107220148A (en) * | 2016-03-21 | 2017-09-29 | 伊姆西公司 | For the method for reconstructing and equipment of RAID |
-
2017
- 2017-10-17 CN CN201710964327.4A patent/CN107678694B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625627A (en) * | 2009-08-05 | 2010-01-13 | 成都市华为赛门铁克科技有限公司 | Data read-in method, disc redundant array and controller thereof |
CN102508733A (en) * | 2011-09-22 | 2012-06-20 | 杭州华三通信技术有限公司 | Disk array based data processing method 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 |
CN107220148A (en) * | 2016-03-21 | 2017-09-29 | 伊姆西公司 | For the method for reconstructing and equipment of RAID |
CN106227463A (en) * | 2016-07-11 | 2016-12-14 | 苏州科达科技股份有限公司 | RAID model, reading and writing data and method for reconstructing thereof |
CN106528003A (en) * | 2016-12-09 | 2017-03-22 | 曙光信息产业(北京)有限公司 | Method and device for rebuilding disk array |
CN106990918A (en) * | 2017-03-03 | 2017-07-28 | 杭州宏杉科技股份有限公司 | Trigger the method and device that RAID array is rebuild |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804045B (en) * | 2018-06-28 | 2021-10-15 | 郑州云海信息技术有限公司 | Bad block table establishing method and related device |
CN108804045A (en) * | 2018-06-28 | 2018-11-13 | 郑州云海信息技术有限公司 | A kind of bad block table method for building up and relevant apparatus |
CN109830257A (en) * | 2019-01-24 | 2019-05-31 | 山东华芯半导体有限公司 | A kind of method of weak piece of NAND Flash screening |
CN110231999A (en) * | 2019-05-29 | 2019-09-13 | 华中科技大学 | Promote the method and device of the storage system reliability encoded based on local route repair |
CN110231999B (en) * | 2019-05-29 | 2020-05-19 | 华中科技大学 | Method and device for improving reliability of storage system based on local repair coding |
CN111158589A (en) * | 2019-12-16 | 2020-05-15 | 绿晶半导体科技(北京)有限公司 | Dynamic management method and device for storage array |
CN111158589B (en) * | 2019-12-16 | 2023-10-20 | 绿晶半导体科技(北京)有限公司 | Dynamic management method and device for storage array |
CN111045607A (en) * | 2019-12-27 | 2020-04-21 | 深圳大普微电子科技有限公司 | Data storage method, storage controller, solid state disk and computer storage medium |
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 |
CN111552582A (en) * | 2020-04-24 | 2020-08-18 | 江苏芯盛智能科技有限公司 | Method and device for screening flash weak 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 |
CN111813609A (en) * | 2020-07-23 | 2020-10-23 | 深圳大普微电子科技有限公司 | Data recovery method in storage medium, data recovery system and related equipment |
CN112506430A (en) * | 2020-12-04 | 2021-03-16 | 苏州浪潮智能科技有限公司 | Method and equipment for keeping SSD fixed stripe size |
CN113782082A (en) * | 2021-09-10 | 2021-12-10 | 深圳大普微电子科技有限公司 | Two-dimensional wear leveling method for flash memory and solid state disk |
CN113782082B (en) * | 2021-09-10 | 2024-01-16 | 深圳大普微电子科技有限公司 | Two-dimensional wear balancing method for flash memory and solid state disk |
CN115629720A (en) * | 2022-12-20 | 2023-01-20 | 鹏钛存储技术(南京)有限公司 | Asymmetric striping method on storage device based on flash memory as medium |
Also Published As
Publication number | Publication date |
---|---|
CN107678694B (en) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678694B (en) | RAID stripe method for reconstructing and solid-state disk | |
CN110245093B (en) | Workload adaptive overallocation in solid state storage drive arrays | |
US9727271B2 (en) | Data storage device and flash memory control method | |
US20200167083A1 (en) | Techniques for controlling recycling of blocks of memory | |
JP6077673B2 (en) | Method with runtime variable RAID protection scheme, solid-state drive controller, and data storage device | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
JP5242264B2 (en) | Data control apparatus, storage system, and program | |
US8843698B2 (en) | Systems and methods for temporarily retiring memory portions | |
CN104216665B (en) | The memory management method of multilevel-cell solid state hard disc | |
US8468292B2 (en) | Solid state drive data storage system and method | |
JP5819610B2 (en) | Method and apparatus for writing data to different storage devices | |
US9910606B2 (en) | End of life extension of solid state memory | |
US7451264B2 (en) | Cycle count storage methods | |
US9268657B1 (en) | Varying data redundancy in storage systems | |
US20150067415A1 (en) | Memory system and constructing method of logical block | |
US20140059405A1 (en) | Solid-state drive retention monitor using reference blocks | |
US20080294814A1 (en) | Flash Memory System with Management of Housekeeping Operations | |
US20080294813A1 (en) | Managing Housekeeping Operations in Flash Memory | |
US20100325351A1 (en) | Memory system having persistent garbage collection | |
US20130086454A1 (en) | Adjustable memory allocation based on error correction | |
Shim et al. | Exploiting process similarity of 3D flash memory for high performance SSDs | |
CN106170773A (en) | On naked core, the selectivity of buffer-type nonvolatile memory returns and copies | |
CN102522121B (en) | The method that solid state hard disc is repaired automatically and solid state hard disc thereof | |
JP2010515179A (en) | Flash memory block management method | |
CN109062506B (en) | RAID-5 full flash disk array and method for prolonging overall service life of array |
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 | ||
CP03 | Change of name, title or address |
Address after: 518000 3501, venture capital building, No. 9, Tengfei Road, huanggekeng community, Longcheng street, Longgang District, Shenzhen, Guangdong Province Patentee after: Shenzhen Dapu Microelectronics Co.,Ltd. Country or region after: China Address before: 518000 503, block B, building 2, Huangge North Road, Longcheng street, Longgang District, Shenzhen, Guangdong Patentee before: SHENZHEN DAPU MICROELECTRONICS Co.,Ltd. Country or region before: China |