CN108804045A - A kind of bad block table method for building up and relevant apparatus - Google Patents

A kind of bad block table method for building up and relevant apparatus Download PDF

Info

Publication number
CN108804045A
CN108804045A CN201810688090.6A CN201810688090A CN108804045A CN 108804045 A CN108804045 A CN 108804045A CN 201810688090 A CN201810688090 A CN 201810688090A CN 108804045 A CN108804045 A CN 108804045A
Authority
CN
China
Prior art keywords
bad block
block table
target
band
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.)
Granted
Application number
CN201810688090.6A
Other languages
Chinese (zh)
Other versions
CN108804045B (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810688090.6A priority Critical patent/CN108804045B/en
Publication of CN108804045A publication Critical patent/CN108804045A/en
Application granted granted Critical
Publication of CN108804045B publication Critical patent/CN108804045B/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
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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 bad block table method for building up,System,Device and computer readable storage medium,It can be when writing SSD,The bad block table of each band is written to corresponding data frame,And user data is followed to write with a brush dipped in Chinese ink in flash,When being powered on again after powered-off fault,It can be obtained by the bad block table of corresponding band by obtaining the bad block table in target data frame,And then obtain SSD overall situation bad block tables,Since band bad block table is in write-in DF and to write with a brush dipped in Chinese ink in flash,Therefore when obtaining the bad block table for the band each write with a brush dipped in Chinese ink down,It is most really and accurately bad block table that can make acquisition result,It is avoided simultaneously by according to reading block states structure,Or the method by calculation structure bad block table,Avoid the bad block table because old,Cause the generation of SSD read-write failures,Or the case where SSD capacity diminution,Enhance SSD stability and reliability.

Description

A kind of bad block table method for building up and relevant apparatus
Technical field
The present invention relates to SSD technology fields, more specifically to a kind of bad block table method for building up, system, device and meter Calculation machine readable storage medium storing program for executing.
Background technology
Currently, usually will appear bad block, i.e. bad block in SSD (Solid State Drives, solid state disk), it is It has been damaged in SSD, the block that cannot be written and read again, there is manufacture bad block and has increased by two class of bad block.It is that SSD exists to increase bad block During use, the normal erasable readings of block are gradually worn out, and lose the block of read-write capability.SSD can be by building one in DDR A overall situation bad block table (bad block bitmap table) is managed all block.Each representative of Bitmap One block, 1 represents the block represents the block preferably block as bad block, 0.SSD can be avoided in use by searching for bad block table Bad block.
When SSD can be by periodically writing with a brush dipped in Chinese ink or being lower electric, newest bad block table in DDR is write with a brush dipped in Chinese ink in flash.On SSD is normal When electric, bad block table can be restored by reading the flash of corresponding address.But in powered-off fault, the energy storage carried in SSD is electric Appearance can be connected powers to SSD, before storage capacitor electricity exhausts, it is possible that newest bad block table does not write with a brush dipped in Chinese ink completion all The case where.If there is afore-mentioned, SSD after the power is turned on, will can only obtain a new bad block table, to miss out new production again Raw bad block.
Currently, overall block can be carried out and wipe reading, build bad block table by reading feedback states, this method can get accurate Bad block table, but all data saved in SSD can be lost;In addition, also reading can be scanned to overall all block Mode, build bad block table by reading feedback states, but preserve data in block, when read error can feed back a variety of reading mistakes Accidentally state;At this point, be only inaccurate come the bad block table built by wherein several error conditions, it may be by good block as bad Block directly reduces capacity workable for SSD disks.
Therefore, accurate bad block table how is obtained, is those skilled in the art's problem to be solved.
Invention content
The purpose of the present invention is to provide a kind of bad block table method for building up, system, device and computer readable storage medium, To obtain accurate bad block table.
To achieve the above object, an embodiment of the present invention provides following technical solutions:
A kind of bad block table method for building up, including:
The bad block table of each band is written in data frame corresponding with each band, and by the data The data of frame are written to flash;
The bad block table in target data frame in each band is read, obtains reading result;
SSD overall situation bad block tables are updated using the reading result.
Wherein, the band includes the common block for storing user data of the first predetermined number;With 1 Parity block, wherein the parity block store the data exclusive or result of the common block;It is described common The block and parity block are respectively the first preset numbers block of the lun from the second predetermined number, wherein often A lun includes the block being numbered according to identical numbering.
Wherein, the bad block table read in each band in target data frame, is read as a result, wrapping It includes:
Super page are determined in each band;Wherein, the super page are in each band All second preset numbers page;Each block of the wherein described band includes being numbered according to identical numbering page;
Two target page are determined in the super page;
It obtains respectively belonging to the super page that the target data frame in described two target page are preserved The bad block table of band obtains two target bad block tables;
The reading result is determined using the target bad block table.
Wherein, described to determine the reading as a result, including using the target bad block table:
Judge whether described two target bad block tables are identical;
If so, determining that any one of target bad block table is the reading result;
If not, it is determined that the target bad block table being not zero is the reading result.
Wherein, the super that the target data frame obtained respectively in described two target page are preserved The bad block table of band belonging to page obtains two target bad block tables, including:
S401 obtains the super page institutes that the target data frame in described two target page are preserved respectively The bad block table of the band of category;
S402 judges whether to obtain two target bad block tables;
S403, if so, executing described the step of determining the reading result using the target bad block table;
S404, if not, it is determined that the quantity for not obtaining target bad block table, as failure quantity;
S405 determines the failure in the page for not attempting to obtain the target bad block table of the super page The target page of quantity;Return to S401.
Wherein, after the S404, further include:
The failure quantity is added to history failure quantity, judges whether the history failure quantity is more than default threshold Value;
If so, stopping operation, it is bad that the bad block table of the band belonging to the super page, which is recorded as all block, Block obtains the new bad block table for corresponding to the affiliated bands of super page, and using the new bad block table as target bad block table;
If it is not, then executing S405.
In order to solve the above technical problems, present invention also provides a kind of bad block tables to establish system, including:
Writing module, for the bad block table of each band to be written to data frame corresponding with each band In;
Read module obtains reading result for reading the bad block table in each band in target data frame;
Update module, for updating SSD overall situation bad block tables using the reading result.
Wherein, the band includes the common block for storing user data of the first predetermined number;With 1 Parity block, wherein the parity block store the data exclusive or result of the common block;It is described common The block and parity block are respectively the first preset numbers block of the lun from the second predetermined number, wherein often A lun includes the block being numbered according to identical numbering.
Present invention also provides a kind of bad block tables to establish device, including:
Memory, for storing computer program;
Processor is realized when for executing the computer program such as the step of the bad block table method for building up.
Present invention also provides a kind of computer readable storage medium, meter is stored on the computer readable storage medium Calculation machine program is realized when the computer program is executed by processor such as the step of the bad block table method for building up.
By above scheme it is found that a kind of bad block table method for building up provided by the invention, including:By the bad block of each band Table is written in data frame corresponding with each band, and the data of the data frame are written to flash; The bad block table in target data frame in each band is read, obtains reading result;It is updated using the reading result SSD overall situation bad block tables.
It can be seen that a kind of bad block table method for building up provided by the present application, it can be when writing SSD, by the bad of each band Block table is written to corresponding data frame, and user data is followed to write with a brush dipped in Chinese ink in flash, is powered on again after powered-off fault When, the bad block table of corresponding band is can be obtained by by obtaining the bad block table in target data frame, and then obtain the SSD overall situations Bad block table is obtaining the band each write with a brush dipped in Chinese ink down since band bad block table is in write-in DF and to write with a brush dipped in Chinese ink in flash When bad block table, it is most really and accurately bad block table that can make acquisition result, while being avoided by according to reading block state structures It builds, or the method that bad block table is built by calculation, avoids the bad block table because old, cause the generation of SSD read-write failures, Or the case where SSD capacity diminution, enhance SSD stability and reliability.
Present invention also provides a kind of bad block tables to establish system, device and computer readable storage medium, equally can be real Existing above-mentioned technique effect.
Description of the drawings
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below There is attached drawing needed in technology description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this Some embodiments of invention for those of ordinary skill in the art without creative efforts, can be with Obtain other attached drawings according to these attached drawings.
Fig. 1 is a kind of bad block table method for building up flow chart disclosed by the embodiments of the present invention;
Fig. 2 is a kind of specific bad block table method for building up flow chart disclosed by the embodiments of the present invention;
Fig. 3 is a kind of specific bad block table method for building up flow chart disclosed by the embodiments of the present invention;
Fig. 4 is a kind of specific bad block table method for building up flow chart disclosed by the embodiments of the present invention;
Fig. 5 is that a kind of specific bad block table disclosed by the embodiments of the present invention establishes system structure diagram;
Fig. 6 is that a kind of specific bad block table disclosed by the embodiments of the present invention establishes apparatus structure schematic diagram.
Specific implementation mode
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete Site preparation describes, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on Embodiment in the present invention, it is obtained by those of ordinary skill in the art without making creative efforts every other Embodiment shall fall within the protection scope of the present invention.
The embodiment of the invention discloses a kind of bad block table method for building up, system, device and computer readable storage medium, with Obtain accurate bad block table.
Referring to Fig. 1, a kind of bad block table method for building up provided in an embodiment of the present invention specifically includes:
The bad block table of each band is written in data frame corresponding with each band by S101, and by institute The data for stating data frame are written to flash.
In the present solution, write-in can be executed to SSD when writing SSD (Solid State Drives, solid state disk) When operation, the bad block table of each band is just just written to each data frame (data frame, abbreviation DF) in the band In control meta, i.e. SSD controller will be filled with the band of user data and writes with a brush dipped in Chinese ink in flash every time, each in band Page corresponds to a page in flash block.
S102 reads the bad block table in target data frame in each band, obtains reading result.
Specifically, in SSD powered-off faults, then the bad block table in each band in target data is read after the power is turned on, read Take result.
In SSD powered-off faults, then depth recovery flow is executed after the power is turned on, be in same band by scan full hard disk reading Two difference block same number DF the regions control meta, obtain the bad block table of the band, and update and arrive DDR The corresponding position of global bad block table in (Double Data Rate, Double Data Rate synchronous DRAM).Scan full hard disk After, you can obtain accurate bad block table.
It should be noted that in the present solution, a band includes common block and 1 of the first predetermined number Parity block, wherein the parity block store the data exclusive or result of the common block;It is described common The block and parity block are respectively the first preset numbers block of the lun from the second predetermined number, wherein often A lun includes the block being numbered according to identical numbering.
May include 15+1 block for example, in a band, i.e., 15 common block and 1 parity Block, this 16 block are for example to number the block for being 1 respectively from the same number of different lun respectively.
More specifically, the super page buffer for buffered user data are created in DDR:Super page are adopted With the Raid5 mechanism of Adaptive Raid, maximum supports 15+1.In logic realization, the spaces SSD can be used partitioned organization Mode.For example, the physical space of 32TB is divided into 4 areas (Partition), managed respectively by a controller core, often A area includes 8TB, 16 channel.In a Partition, including several super lun, each super lun by Four different lun compositions of four channel (four lun are respectively in different target).In a super lun Portion, it is exactly a Raid band that identical No. block block, which forms super a block, a super block,.
One super block includes 15+1 block, wherein 15 block are stored for user data, 1 block Block is verified as parity.The data of Parity block are filled by the data exclusive or of other 15 block.
Inside a super block, identical No. page page forms a super page.As shown in table 1, Each page in super page is made of 4 4KB data frame, and each data frame carry 16Bytes's The areas control meta.Wherein 2Bytes indicates the bad block bitmap of the super block, that is, indicates the super The bad block table of block, the fine or not situation of each mark block, 1 indicates the block indicates the block for bad block, 0 For good block.
Table 1
Inside a super block, the bad of the areas the control meta preservation of all customer data data frame Block bitmap are identical;And the bad that the areas control meta of data frame preserve in parity block Block bitmap, because exclusive or calculates, value 0, or it is identical with user data.
S103 updates SSD overall situation bad block tables using the reading result.
Specifically, the global bad block table of SSD can be updated using the bad block table of each obtained band.
It can be seen that a kind of bad block table method for building up provided by the embodiments of the present application, it can be when writing SSD, by each item The bad block table of band is written to corresponding data frame, and user data is followed to write with a brush dipped in Chinese ink in flash, after powered-off fault again When powering on, the bad block table of corresponding band is can be obtained by by obtaining the bad block table in target data frame, and then obtain SSD Global bad block table is obtaining the item each write with a brush dipped in Chinese ink down since band bad block table is in write-in DF and to write with a brush dipped in Chinese ink in flash When the bad block table of band, it is most really and accurately bad block table that can make acquisition result, while being avoided by according to reading block shapes State is built, or the method for building bad block table by calculation, avoids the bad block table because old, causes SSD read-write failures The case where generation or SSD capacity reduce, enhances SSD stability and reliability.
A kind of specific bad block table method for building up provided by the embodiments of the present application is introduced below, is different from above-mentioned reality Apply example, the embodiment of the present invention has done further restriction and explanation to S102 in above-described embodiment, other step contents with it is above-mentioned Embodiment can be cross-referenced, and details are not described herein again.
Referring to Fig. 2, a kind of S102 of specific bad block table method for building up provided by the embodiments of the present application, including:
S201 determines super page in each band;Wherein, the super page are each band In all second preset numbers page;Each block of the wherein described band includes being compiled according to identical numbering Number page.
It should be noted that band includes the block of the first predetermined number, and each block includes default Several page, wherein the page in each block is numbered according to same manner, for example, being page0 to page15.? Determine that a super page, wherein super page are all of a certain number in the band in all block of band Page, for example, super page be the band all block in first page, i.e. 16 page0, form one Super page, respectively as page0 to the page15 of super page.
S202 determines two target page in the super page.
After a super page is determined, two target page, preferably the first two page are determined in super page, Such as the page0 in super page and page1.
S203 obtains the super page institutes that the target data frame in described two target page are preserved respectively The bad block table of the band of category obtains two target bad block tables.
Specifically, include data frame in each page, such as including four data frame.In the present solution, A data frame is determined in each page as target data frame, preferably using first DF, that is, DF0 as target data frame。
It should be noted that being preserved belonging to the page in each data frame in each page The bad block table of the corresponding whole bands of block.It is right in the present solution, if super block are made of 16 block The super page answered also have the same number page from 16 block, also there is 16.Two mesh are determined in 16 page Page is marked, and obtains the band bad block table preserved in a data frame in target page, you can determines the band Accurate bad block table.
S204 determines the reading result using the target bad block table.
Specifically, after obtaining target bad block table, you can determine and read result.
Referring specifically to Fig. 3, determine that the method for reading result may refer to following steps:
S301 judges whether described two target bad block tables are identical;
S302, if so, determining that any one of target bad block table is the reading result;
S303, if not, it is determined that the target bad block table being not zero is the reading result.
It should be noted that for example 16 page correspond to 16 block, and the bad block table that preceding 15 block are preserved should All it is the same bad block table of the corresponding band, so if target page comes from preceding 15 page, can determines arbitrary The bad block table that one target page is preserved is as this reading as a result, and that preserved due to the last one block is front block Exclusive or result, it is thus possible to be 0, it is also possible to it is identical with front, so if being got from two target page bad When block table differs, then inherently there are one 0 value, and 0 value is the preservation of parity block as a result, it is not 0 therefore to choose Bad block table, be the corresponding bad block tables of the common block in front.
A kind of specific bad block table method for building up provided by the embodiments of the present application is introduced below, is different from above-mentioned reality Apply example, a kind of specific bad block table method for building up provided by the embodiments of the present application has done further S203 in above-described embodiment It limits and illustrates, other step contents are roughly the same with above-described embodiment, and details are not described herein again.
It is specifically included referring to Fig. 4, S203:
S401 obtains the super page institutes that the target data frame in described two target page are preserved respectively The bad block table of the band of category.
S402 judges whether to obtain two target bad block tables.
In the present solution, in view of when obtaining two target bad block tables, having the possibility obtained that cannot succeed, obtaining After the bad block table for the band belonging to the super page that target data frame in described two target page are preserved, Judge whether to have got two target bad block tables, if two obtain successfully, it is determined that read as a result, otherwise, then needing It is reacquired according to failed quantity.
S403, if so, executing described the step of determining the reading result using the target bad block table.
S404, if not, it is determined that the quantity for not obtaining target bad block table, as failure quantity.
Specifically, if not getting two target bad block tables, it is determined that the quantity for not obtaining target bad block table, as Failure quantity, for example, when obtaining 0 target bad block table, then unsuccessfully quantity is 2, when obtaining 1 target bad block table, is unsuccessfully counted Amount is 1.
The failure quantity is added to history failure quantity by S501, and it is pre- to judge whether the history failure quantity is more than If threshold value.
Specifically, determining failure quantity is added to history failure quantity, judges the corresponding accumulation failure of the band Whether history failure quantity reaches preset value, for example, when band is 15+1 block, then when history failure quantity is more than 7, Determine that history failure quantity is more than predetermined threshold value.
The bad block table of band belonging to the super page is recorded as owning by S502 if so, stopping operation Block is bad block, obtains the new bad block table for corresponding to the affiliated bands of super page, and using the new bad block table as target Bad block table.
Specifically, if history failure quantity marked when having been above predetermined threshold value, by corresponding whole band be The corresponding all block of bad block, the i.e. band are bad blocks.
S503, if it is not, then executing S405.
S405 determines the failure in the page for not attempting to obtain the target bad block table of the super page The target page of quantity;Return to S401.
If history failure quantity is less than predetermined threshold value, it is determined that this failure quantity, such as 1, then according to failure Quantity is other in super page to be not attempt to obtain 1 target page in all page for obtaining target bad block table, Return to S401.
It establishes system to a kind of bad block table provided by the embodiments of the present application below to be introduced, a kind of bad block described below Table establishes system can be cross-referenced with above-described embodiment.
Referring to Fig. 5, a kind of bad block table provided by the embodiments of the present application establishes system, specifically includes:
Writing module 501, for the bad block table of each band to be written to data corresponding with each band In frame;
Read module 502 obtains reading knot for reading the bad block table in each band in target data frame Fruit;
Update module 503, for updating SSD overall situation bad block tables using the reading result.
Wherein, the band includes the common block for storing user data of the first predetermined number;With 1 Parity block, wherein the parity block store the data exclusive or result of the common block;It is described common The block and parity block are respectively the first preset numbers block of the lun from the second predetermined number, wherein often A lun includes the block being numbered according to identical numbering.
The bad block table of the present embodiment establishes system for realizing bad block table method for building up above-mentioned, therefore bad block table establishes system The embodiment part of the visible bad block table method for building up hereinbefore of specific implementation mode in system, for example, writing module 501, reads Modulus block 502, update module 503, be respectively used to realize in above-mentioned bad block table method for building up step S101, S102, S103 and S104, so, specific implementation mode is referred to the description of corresponding various pieces embodiment, and details are not described herein.
It establishes device to a kind of bad block table provided by the embodiments of the present application below to be introduced, a kind of bad block described below Table establishes device can be cross-referenced with a kind of above-described bad block table method for building up.
Referring to Fig. 6, a kind of bad block table provided by the embodiments of the present application establishes device, specifically includes:
Memory 100, for storing computer program;
Processor 200 realizes that bad block table is established as described in above-mentioned any embodiment when for executing the computer program The step of method.
Specifically, memory 100 includes non-volatile memory medium, built-in storage.The non-volatile memory medium stores Have operating system and computer-readable instruction, the built-in storage be non-volatile memory medium in operating system and computer can The operation of reading instruction provides environment.Processor 200 provides calculating and control ability for data acquisition equipment, may be implemented above-mentioned The step of one bad block table method for building up embodiment is provided.
Present invention also provides a kind of computer readable storage mediums, are stored thereon with computer program, the computer The step of above-described embodiment is provided may be implemented when program is executed by processor.The storage medium may include:SSD etc. is various The medium of program code can be stored.
Each embodiment is described by the way of progressive in this specification, the highlights of each of the examples are with other The difference of embodiment, just to refer each other for identical similar portion between each embodiment.
The foregoing description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, as defined herein General Principle can be realized in other embodiments without departing from the spirit or scope of the present invention.Therefore, of the invention It is not intended to be limited to the embodiments shown herein, and is to fit to and the principles and novel features disclosed herein phase one The widest range caused.

Claims (10)

1. a kind of bad block table method for building up, which is characterized in that including:
The bad block table of each band is written in data frame corresponding with each band, and by the data The data of frame are written to flash;
The bad block table in target data frame in each band is read, obtains reading result;
SSD overall situation bad block tables are updated using the reading result.
2. according to the method described in claim 1, it is characterized in that, the band includes being used for storing for the first predetermined number The common block of user data;With 1 parity block, wherein the parity block store the number of the common block According to exclusive or result;The common block and parity block respectively first of the lun from the second predetermined number are pre- If number block, wherein each lun includes the block being numbered according to identical numbering.
3. according to the method described in claim 2, it is characterized in that, described read target data frame in each band In bad block table, read as a result, including:
Super page are determined in each band;Wherein, the super page are all in each band Second preset numbers page;Each block of the wherein described band includes the page being numbered according to identical numbering;
Two target page are determined in the super page;
The band belonging to the super page that the target data frame in described two target page are preserved is obtained respectively Bad block table, obtain two target bad block tables;
The reading result is determined using the target bad block table.
4. according to the method described in claim 3, it is characterized in that, described determine that the reading is tied using the target bad block table Fruit, including:
Judge whether described two target bad block tables are identical;
If so, determining that any one of target bad block table is the reading result;
If not, it is determined that the target bad block table being not zero is the reading result.
5. according to the method described in claim 3, it is characterized in that, the target obtained respectively in described two target page The bad block table for the band belonging to the super page that data frame are preserved, obtains two target bad block tables, including:
S401 is obtained respectively belonging to the super page that the target data frame in described two target page are preserved The bad block table of band;
S402 judges whether to obtain two target bad block tables;
S403, if so, executing described the step of determining the reading result using the target bad block table;
S404, if not, it is determined that the quantity for not obtaining target bad block table, as failure quantity;
S405 determines the failure quantity in the page for not attempting to obtain the target bad block table of the super page Target page;Return to S401.
6. according to the method described in claim 5, it is characterized in that, after the S404, further include:
The failure quantity is added to history failure quantity, judges whether the history failure quantity is more than predetermined threshold value;
If so, stopping operation, it is bad block that the bad block table of the band belonging to the super page, which is recorded as all block, Obtain corresponding to the new bad block table of the affiliated bands of super page, and using the new bad block table as target bad block table;
If it is not, then executing S405.
7. a kind of bad block table establishes system, which is characterized in that including:
Writing module, for being written to the bad block table of each band in data frame corresponding with each band;
Read module obtains reading result for reading the bad block table in each band in target data frame;
Update module, for updating SSD overall situation bad block tables using the reading result.
8. system according to claim 7, which is characterized in that the band includes being used for storing for the first predetermined number The common block of user data;With 1 parity block, wherein the parity block store the number of the common block According to exclusive or result;The common block and parity block respectively first of the lun from the second predetermined number are pre- If number block, wherein each lun includes the block being numbered according to identical numbering.
9. a kind of bad block table establishes device, which is characterized in that including:
Memory, for storing computer program;
Processor realizes the bad block table method for building up as described in any one of claim 1 to 6 when for executing the computer program The step of.
10. a kind of computer readable storage medium, which is characterized in that be stored with computer on the computer readable storage medium Program, realizing the bad block table method for building up as described in any one of claim 1 to 6 when the computer program is executed by processor Step.
CN201810688090.6A 2018-06-28 2018-06-28 Bad block table establishing method and related device Active CN108804045B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810688090.6A CN108804045B (en) 2018-06-28 2018-06-28 Bad block table establishing method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810688090.6A CN108804045B (en) 2018-06-28 2018-06-28 Bad block table establishing method and related device

Publications (2)

Publication Number Publication Date
CN108804045A true CN108804045A (en) 2018-11-13
CN108804045B CN108804045B (en) 2021-10-15

Family

ID=64072558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810688090.6A Active CN108804045B (en) 2018-06-28 2018-06-28 Bad block table establishing method and related device

Country Status (1)

Country Link
CN (1) CN108804045B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582239A (en) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 A kind of store method, device, equipment and the storage medium of SSD bad block table
CN109918022A (en) * 2019-02-22 2019-06-21 山东华芯半导体有限公司 A kind of SSD opens card bad block table inheritance method
CN110333971A (en) * 2019-07-10 2019-10-15 深圳忆联信息系统有限公司 SSD bad block table backup method, device, computer equipment and storage medium
CN110471625A (en) * 2019-08-15 2019-11-19 深圳忆联信息系统有限公司 Bad block message guard method, device, computer equipment and storage medium
CN110837345A (en) * 2019-11-08 2020-02-25 杭州华澜微电子股份有限公司 Bad block table storage method and device
CN111026332A (en) * 2019-12-09 2020-04-17 深圳忆联信息系统有限公司 SSD bad block information protection method and device, computer equipment and storage medium
CN111596860A (en) * 2020-04-21 2020-08-28 中国科学院长春光学精密机械与物理研究所 FPGA control method for improving NAND-FLASH storage reliability

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010014121A1 (en) * 1998-06-16 2001-08-16 General Instrument Corporation Pre-processing of bit rate allocation in a multi-channel video encoder
CN103530069A (en) * 2013-11-05 2014-01-22 浪潮(北京)电子信息产业有限公司 Method for processing bad sectors of RAID5 disk array
CN103593303A (en) * 2013-10-29 2014-02-19 福建星网视易信息系统有限公司 Bad block table storage method and device and NAND gate nonvolatile memory
CN107678694A (en) * 2017-10-17 2018-02-09 深圳大普微电子科技有限公司 RAID stripe method for reconstructing and solid-state disk

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010014121A1 (en) * 1998-06-16 2001-08-16 General Instrument Corporation Pre-processing of bit rate allocation in a multi-channel video encoder
CN103593303A (en) * 2013-10-29 2014-02-19 福建星网视易信息系统有限公司 Bad block table storage method and device and NAND gate nonvolatile memory
CN103530069A (en) * 2013-11-05 2014-01-22 浪潮(北京)电子信息产业有限公司 Method for processing bad sectors of RAID5 disk array
CN107678694A (en) * 2017-10-17 2018-02-09 深圳大普微电子科技有限公司 RAID stripe method for reconstructing and solid-state disk

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582239A (en) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 A kind of store method, device, equipment and the storage medium of SSD bad block table
CN109582239B (en) * 2018-12-03 2022-02-18 郑州云海信息技术有限公司 SSD bad block table storage method, device, equipment and storage medium
CN109918022A (en) * 2019-02-22 2019-06-21 山东华芯半导体有限公司 A kind of SSD opens card bad block table inheritance method
CN109918022B (en) * 2019-02-22 2021-11-09 山东华芯半导体有限公司 SSD open card bad block table inheritance method
CN110333971B (en) * 2019-07-10 2021-08-17 深圳忆联信息系统有限公司 SSD bad block table backup method and device, computer equipment and storage medium
CN110333971A (en) * 2019-07-10 2019-10-15 深圳忆联信息系统有限公司 SSD bad block table backup method, device, computer equipment and storage medium
CN110471625A (en) * 2019-08-15 2019-11-19 深圳忆联信息系统有限公司 Bad block message guard method, device, computer equipment and storage medium
WO2021027271A1 (en) * 2019-08-15 2021-02-18 深圳忆联信息系统有限公司 Bad block information protection method and apparatus, computer device and storage medium
CN110837345A (en) * 2019-11-08 2020-02-25 杭州华澜微电子股份有限公司 Bad block table storage method and device
CN111026332A (en) * 2019-12-09 2020-04-17 深圳忆联信息系统有限公司 SSD bad block information protection method and device, computer equipment and storage medium
CN111026332B (en) * 2019-12-09 2024-02-13 深圳忆联信息系统有限公司 SSD bad block information protection method, SSD bad block information protection device, computer equipment and storage medium
CN111596860B (en) * 2020-04-21 2021-04-23 中国科学院长春光学精密机械与物理研究所 FPGA control method for improving NAND-FLASH storage reliability
CN111596860A (en) * 2020-04-21 2020-08-28 中国科学院长春光学精密机械与物理研究所 FPGA control method for improving NAND-FLASH storage reliability

Also Published As

Publication number Publication date
CN108804045B (en) 2021-10-15

Similar Documents

Publication Publication Date Title
CN108804045A (en) A kind of bad block table method for building up and relevant apparatus
US11042437B2 (en) Metadata hardening and parity accumulation for log-structured arrays
US9575844B2 (en) Mass storage device and method of operating the same to back up data stored in volatile memory
US20200133503A1 (en) Method and device for rebuilding data in storage array group
US10915256B2 (en) Efficient mapping scheme with deterministic power transition times for flash storage devices
JP5923964B2 (en) Disk array device, control device, and program
JP6144819B2 (en) Synchronous mirroring in non-volatile memory systems
CN101124639B (en) System and method of accessing non-volatile computer memory
US9213633B2 (en) Flash translation layer with lower write amplification
US20120072680A1 (en) Semiconductor memory controlling device
US8601347B1 (en) Flash memory device and storage control method
CN112447245A (en) Hybrid read voltage calibration in non-volatile random access memory
CN114127677B (en) Method and system for data placement in a write cache architecture
US11126377B2 (en) Accessing solid state disk
CN114756179B (en) Data writing, reading and managing method based on simulation eeprom
US20150082124A1 (en) Spatially decoupled redundancy schemes for a solid state drive (ssd)
CN108762989A (en) Date storage method, device, equipment and the readable storage medium storing program for executing of solid state disk
CN108762670A (en) Management method, system and the device of data block in a kind of SSD firmwares
US9547554B2 (en) Mass storage device and method of operating the same to store parity data
US10067828B2 (en) Memory controller and data control method
US11762568B2 (en) Storage system control
CN110083310A (en) Company-data store method, device and storage cluster system in a kind of storage cluster
JP4843695B2 (en) Disk array control device and disk array device
US20130198563A1 (en) Disk storage system with rebuild sequence and method of operation thereof
CN114625563B (en) Data protection method and device of SSD, readable storage medium and electronic equipment

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