CN108762670B - Management method, system and device for data blocks in SSD (solid State disk) firmware - Google Patents
Management method, system and device for data blocks in SSD (solid State disk) firmware Download PDFInfo
- Publication number
- CN108762670B CN108762670B CN201810495702.XA CN201810495702A CN108762670B CN 108762670 B CN108762670 B CN 108762670B CN 201810495702 A CN201810495702 A CN 201810495702A CN 108762670 B CN108762670 B CN 108762670B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- ssd
- unstable
- open
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000007787 solid Substances 0.000 title claims description 12
- 238000007726 management method Methods 0.000 title description 20
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012546 transfer Methods 0.000 claims abstract description 12
- 238000012937 correction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0673—Single storage device
- G06F3/0679—Non-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 method, a system and a device for managing data blocks in SSD firmware, which comprise the following steps: when determining that an unstable block exists in the SSD, judging whether the unstable block is an open block; if so, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to successfully finish the data moving process; if not, directly carrying out data transfer processing on the closed block meeting the condition. Therefore, in the process that the data block in the SSD is executing the operation, if the data block is unstable, the data in the unstable data block is moved to the stable data block to continue executing the operation, so that the integrity and the correctness of the data in the SSD are ensured, and the performance of the storage system is improved.
Description
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a method, a system, and an apparatus for managing data blocks in SSD firmware.
Background
With the development and wide application of technologies such as internet and cloud computing, a computer system can generate massive data in the using process, and the massive data needs to be processed and stored, so that higher requirements are put forward on the performance of a storage system. In the prior art, an SSD (Solid State drive) is widely applied to a storage system due to its fast read/write speed and low energy consumption, and thus, the integrity and correctness of data stored in the SSD are very important for the performance of the storage system. However, in the process of executing operations on a data block in the SSD, the data block may be unstable, and if the operations are continuously executed on the unstable data block, the integrity and correctness of the data in the SSD may be damaged, thereby reducing the performance of the storage system.
Therefore, how to provide a solution to the above technical problem is a problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The invention aims to provide a method, a system and a device for managing a data block in SSD firmware, wherein in the process of executing operation on the data block in the SSD, if the data block is unstable, the data in the unstable data block is moved to the stable data block to continue executing the operation, so that the integrity and the correctness of the data in the SSD are ensured, and the performance of a storage system is improved.
In order to solve the above technical problem, the present invention provides a method for managing data blocks in SSD firmware, comprising:
when it is determined that an unstable block exists in the Solid State Disk (SSD), judging whether the unstable block is an open block;
if so, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block;
if not, directly carrying out data transfer processing on the closed block meeting the condition.
Preferably, the process of determining that an unstable block exists in the solid state disk SSD includes:
when a block in which a write operation and/or a read operation fails exists in the SSD, it is determined that the block in which the operation fails is unstable.
Preferably, the process of determining that an unstable block exists in the solid state disk SSD further includes:
when the read operation fails and the number of times of the read operation is larger than a preset read threshold, determining that the block exceeding the read threshold is unstable;
and when the block with the standing time larger than the preset standing threshold exists in the SSD, determining that the block exceeding the standing threshold is unstable.
Preferably, the determining process of the block read operation failure specifically includes:
and when the error correction coding of the data in the block fails, determining that the block reading operation fails.
Preferably, the management method further includes:
and when the block write operation and/or the block read operation fail, displaying an operation failure mark to remind a user of the current operation state of the SSD.
Preferably, before correspondingly opening a stable and unused block and correspondingly moving data in the open block to the unused block, the management method further includes:
continuously filling N pages of data with invalid data on the basis of the original storage data by the open block to stabilize the original storage data, wherein N is a positive integer and is not less than 4;
the process of correspondingly moving the data in the open block to the block not in use specifically includes:
and correspondingly moving the original storage data in the open block to the block which is not used.
In order to solve the above technical problem, the present invention further provides a management system for data blocks in SSD firmware, including:
the judging unit is used for judging whether the unstable block is an open block or not when the unstable block is determined to exist in the SSD, if so, triggering the first moving unit, and if not, triggering the second moving unit;
the first moving unit is used for closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block;
and the second moving unit is used for directly carrying out data moving processing on the closed block meeting the condition.
Preferably, the process of determining that an unstable block exists in the SSD includes:
when a block with failed write operation and/or read operation exists in the SSD, determining that the block with failed operation is unstable;
when the read operation fails and the number of times of the read operation is larger than a preset read threshold, determining that the block exceeding the read threshold is unstable;
and when the block with the standing time larger than the preset standing threshold exists in the SSD, determining that the block exceeding the standing threshold is unstable.
Preferably, the management system further comprises:
the data filling unit is used for continuously filling the open block with invalid data on the basis of the original storage data before the block which is stable and unused is correspondingly opened so as to stabilize the original storage data, wherein N is a positive integer and is not less than 4;
the first moving unit is specifically configured to close the open block, correspondingly open a stable and unused block, and correspondingly move the original storage data in the open block to the unused block to complete data moving processing, where an idle storage space of the unused block is not less than a storage space occupied by the original storage data in the open block.
In order to solve the above technical problem, the present invention further provides a device for managing data blocks in SSD firmware, including:
a memory for storing a computer program;
and the processor is used for realizing the steps of the management method of the data blocks in the SSD firmware when the computer program is executed.
The invention provides a method for managing data blocks in SSD firmware, which comprises the following steps: when determining that an unstable block exists in the SSD, judging whether the unstable block is an open block; if so, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block; if not, directly carrying out data transfer processing on the closed block meeting the condition.
The method and the device firstly judge whether the unstable block exists in the SSD or not, and when the unstable block exists, judge whether the unstable block is an open block or not, namely, a data block in use. If yes, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block, thereby successfully completing the data moving processing. If not, the unstable block is a closed block, and the closed block is directly subjected to data transfer processing. Therefore, in the process that the data block in the SSD is executing the operation, if the data block is unstable, the data in the unstable data block is moved to the stable data block to continue executing the operation, so that the integrity and the correctness of the data in the SSD are ensured, and the performance of the storage system is improved.
The invention also provides a system and a device for managing the data blocks in the SSD firmware, and the system and the device have the same beneficial effects as the management method.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed in the prior art and the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
FIG. 1 is a flowchart of a method for managing data blocks in SSD firmware according to the present invention;
fig. 2 is a schematic structural diagram of a management system for data blocks in SSD firmware according to the present invention.
Detailed Description
The core of the invention is to provide a method, a system and a device for managing data blocks in SSD firmware, wherein in the process of executing operations on the data blocks in the SSD, if the data blocks are unstable, the data in the unstable data blocks are moved to the stable data blocks to continue executing the operations, so that the integrity and the correctness of the data in the SSD are ensured, and the performance of a storage system is improved.
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, fig. 1 is a flowchart illustrating a method for managing data blocks in SSD firmware according to the present invention.
The management method comprises the following steps:
step S1: when the unstable block exists in the solid state disk SSD, judging whether the unstable block is an open block;
it should be noted that the preset in the present application is set in advance, and only needs to be set once, and the preset does not need to be reset unless modified according to actual conditions.
Specifically, an SSD is a hard disk made of an array of solid-state electronic memory chips, consisting of a control unit and a storage unit. In the use process of the SSD, the states of the block in the SSD comprise open block, closed block, used block and other states. An open block is a block that is performing a write operation, i.e., a block in use, for example, when the SSD performs a write operation for the first time, the flash translation layer of the SSD obtains a block from the block pool to process the writing of data, and the state of the block changes to an open block. The closed block is obtained by executing a closing operation after the open block executes a writing operation, and the used block is a block in which data is written in the last page in the closed block.
Considering that the integrity and correctness of data in the SSD are damaged if the block is unstable in the process of executing the operation, the method and the device firstly judge whether each block in the SSD is stable, and judge whether the unstable block is open block if the unstable block exists, thereby determining the state of the unstable block and laying a foundation for later-stage data protection processing.
Step S2: if so, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block; if not, directly carrying out data transfer processing on the closed block meeting the condition.
Specifically, if the unstable block is an open block, it is indicated that the unstable open block is performing a write operation, and in consideration of the characteristics of the NAND flash memory in the SSD, the unstable open block is closed, and then data in the closed unstable block is subjected to data transfer processing. The data moving processing process comprises the following steps: firstly, correspondingly opening a stable and unused block aiming at a closed unstable block, wherein the unused block comprises an unused block (new block) and a used block (block which is not currently used for performing write operation), and selecting the unused block as long as the free storage space of the unused block is not less than the storage space occupied by data in the closed unstable block; then, the data in the closed unstable block is correspondingly moved to the block which is not in use, thereby completing the data moving processing.
If the unstable block is not an open block, the unstable block is a closed block, and data transfer processing is directly performed on data in the unstable closed block. Specifically, for an unstable closed block, a block which is stable and not in use is correspondingly opened, and then data in the unstable closed block is correspondingly moved to the block which is not in use, so that the data moving process is completed. Therefore, the data in the unstable block which is executing the operation is moved to the stable block to continue executing the operation, so that the integrity and the correctness of the data in the SSD are ensured, and the performance of the storage system is improved.
The invention provides a method for managing data blocks in SSD firmware, which comprises the following steps: when determining that an unstable block exists in the SSD, judging whether the unstable block is an open block; if so, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block; if not, directly carrying out data transfer processing on the closed block meeting the condition.
The method and the device firstly judge whether the unstable block exists in the SSD or not, and when the unstable block exists, judge whether the unstable block is an open block or not, namely, a data block in use. If yes, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block, thereby successfully completing the data moving processing. If not, the unstable block is a closed block, and the closed block is directly subjected to data transfer processing. Therefore, in the process that the data block in the SSD is executing the operation, if the data block is unstable, the data in the unstable data block is moved to the stable data block to continue executing the operation, so that the integrity and the correctness of the data in the SSD are ensured, and the performance of the storage system is improved.
On the basis of the above-described embodiment:
as a preferred embodiment, the process of determining that an unstable block exists in the solid state disk SSD includes:
when a block in which a write operation and/or a read operation fails exists in the SSD, it is determined that the block in which the operation fails is unstable.
Specifically, when a write operation or a read operation of a block in the SSD fails, indicating that the state of the block is unstable, it is determined that the block in which the operation fails is unstable, so as to perform the data protection processing step. In addition, the block in the SSD may perform write operation and read operation at the same time, and when the block in the SSD fails in the write operation and the read operation at the same time, it is more obvious that the state of the block is unstable, a synchronous mechanism is adopted to perform the data protection processing step. That is to say, when a write operation fails in one block, the data protection processing step will be executed, and when a read operation fails in the block at the same time, the data protection processing step will not be executed repeatedly, so that the correctness of the data is protected by asynchronous processing and synchronous processing.
As a preferred embodiment, the process of determining that an unstable block exists in the solid state disk SSD further includes:
when the read operation fails and the number of times of the read operation is larger than a preset read threshold, determining that the block exceeding the read threshold is unstable;
and when the block with the standing time larger than the preset standing threshold exists in the SSD, determining that the block exceeding the standing threshold is unstable.
Specifically, considering that the number of error bits is increased even if the read operation is not failed in the process of continuously accumulating the number of read operations of a certain block, and when the number of error bits reaches a certain number, the read operation fails, therefore, the method selects the block of which the read operation is not failed from the SSD, accumulates the number of read operations of the block of which the read operation is not failed, and when the number of read operations is greater than a set read threshold, it is indicated that the number of error bits at this time is likely to cause the read operation to fail, and determines that the block exceeding the read threshold is unstable, so as to perform a data protection processing step, reduce the failure rate of the read operation, and improve the performance of the storage system.
The method also considers that after a certain block is stood (neither the reading operation nor the writing operation is executed) for a certain time, the written data of the block loses part of data along with the prolonging of the time, namely the error bit number is increased, and similarly, when the error bit number reaches a certain number, the reading operation fails again, so that when the block is stood from the beginning, the standing time of the block is accumulated, the standing time is compared with a set standing threshold, and when the standing time of the block is greater than the set standing threshold, the fact that the error bit number at the moment possibly causes later-stage reading operation failure is shown, the block exceeding the standing time is determined to be unstable, so that the data protection processing step is executed, the failure rate of the reading operation is further reduced, and the performance of the storage system is improved.
Therefore, the method and the device adopt a multi-stage protection and processing mechanism, so that the block can perform data protection processing under different conditions, and the correctness of the block in use is ensured.
As a preferred embodiment, the determining process of the block read operation failure specifically includes:
and when the error correction coding of the data in the block fails, determining that the block reading operation fails.
Specifically, if the block contains 120 bytes of data, wherein 100 bytes are content for a user to read, and 20 bytes are error correction coding, when the error bytes are too many, the error correction coding cannot correct the error bytes, that is, the error correction coding fails, the late read operation fails, so that when the error correction coding of the data in the block fails, it is determined that the block read operation fails.
As a preferred embodiment, the management method further includes:
and when the block write operation and/or the read operation fail, displaying an operation failure mark to remind a user of the current operation state of the SSD.
Furthermore, the method and the device can also display an operation failure mark when the block write operation and/or the read operation fails, so that the function of informing the current operation state of the SSD to a user is achieved.
In a preferred embodiment, before correspondingly opening a stable and unused block and correspondingly moving data in an open block to the unused block, the management method further includes:
continuously filling the open block with invalid data on the basis of the original storage data to stabilize the original storage data, wherein N is a positive integer and is more than or equal to 4;
the process of correspondingly moving the data in the open block to the unused block specifically includes:
and correspondingly moving the original storage data in the open block to the block which is not used.
Further, in order to improve the stability of data in the closed unstable block, the closed unstable block is continuously filled with invalid data on the basis of the raw storage data, so that the raw storage data is stabilized. Then, the original storage data is correspondingly moved to a stable and unused block to ensure the integrity and correctness of the data.
For example, when N is 4, the closed unstable block writes data into the a-th page, and data needs to be written into the a + 1-th page to the a + 4-th page, so that it is ensured that the data of the 1-st page to the a-th page on the closed unstable block is stable, and then the data of the 1-st page to the a-th page is rewritten into the newly opened block, where a is a positive integer.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a management system for data blocks in SSD firmware according to the present invention.
The management system includes:
the judging unit 1 is used for judging whether unstable blocks exist in the SSD or not when the unstable blocks exist in the SSD, if so, triggering the first moving unit, and if not, triggering the second moving unit;
the first moving unit 2 is used for closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to complete data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block;
and a second transfer unit 3 for directly performing data transfer processing on the closed block satisfying the condition.
As a preferred embodiment, the process of determining that an unstable block exists in the SSD includes:
when a block with failed write operation and/or read operation exists in the SSD, determining that the block with failed operation is unstable;
when the read operation fails and the number of times of the read operation is larger than a preset read threshold, determining that the block exceeding the read threshold is unstable;
and when the block with the standing time larger than the preset standing threshold exists in the SSD, determining that the block exceeding the standing threshold is unstable.
As a preferred embodiment, the management system further includes:
the data filling unit is used for continuously filling the open block with invalid data on the basis of the original storage data before the block which is stable and unused is correspondingly opened so as to stabilize the original storage data, wherein N is a positive integer and is not less than 4;
the first moving unit 2 is specifically configured to close the open block, correspondingly open a stable and unused block, and correspondingly move the original storage data in the open block to the unused block to complete data moving processing, where an idle storage space of the unused block is not less than a storage space occupied by the original storage data in the open block.
For introduction of the management system provided in the present application, please refer to the above management method embodiment, which is not described herein again.
The invention also provides a device for managing the data blocks in the SSD firmware, which comprises:
a memory for storing a computer program;
and the processor is used for realizing the steps of the management method of the data blocks in the SSD firmware when executing the computer program.
For introduction of the management apparatus provided in the present application, please refer to the above management method embodiment, which is not described herein again.
It should also be noted that, in the present specification, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (10)
1. A method for managing data blocks in SSD firmware, comprising:
when it is determined that an unstable block exists in the Solid State Disk (SSD), judging whether the unstable block is an open block;
if so, closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block;
if not, directly carrying out data transfer processing on the closed block meeting the condition.
2. The method for managing data blocks in SSD firmware of claim 1, wherein the determining that there is an unstable block in the solid state disk SSD comprises:
when a block in which a write operation and/or a read operation fails exists in the SSD, it is determined that the block in which the operation fails is unstable.
3. The method for managing data blocks in SSD firmware of claim 2, wherein the determining that there is an unstable block in the solid state disk SSD further comprises:
when the read operation fails and the number of times of the read operation is larger than a preset read threshold, determining that the block exceeding the read threshold is unstable;
and when the block with the standing time larger than the preset standing threshold exists in the SSD, determining that the block exceeding the standing threshold is unstable.
4. The method for managing data blocks in SSD firmware of claim 2, wherein the determining that the block read operation fails is specifically:
and when the error correction coding of the data in the block fails, determining that the block reading operation fails.
5. The method of claim 4, wherein the method further comprises:
and when the block write operation and/or the block read operation fail, displaying an operation failure mark to remind a user of the current operation state of the SSD.
6. A method of managing blocks of data in SSD firmware as claimed in any one of claims 1 to 5, wherein before correspondingly opening a stable and unused block, correspondingly moving data in said open block to said block that is not in use, the method further comprises:
continuously filling N pages of data with invalid data on the basis of the original storage data by the open block to stabilize the original storage data, wherein N is a positive integer and is not less than 4;
the process of correspondingly moving the data in the open block to the block not in use specifically includes:
and correspondingly moving the original storage data in the open block to the block which is not used.
7. A system for managing data blocks in SSD firmware, comprising:
the judging unit is used for judging whether the unstable block is an open block or not when the unstable block is determined to exist in the SSD, if so, triggering the first moving unit, and if not, triggering the second moving unit;
the first moving unit is used for closing the open block, correspondingly opening a stable and unused block, and correspondingly moving the data in the open block to the unused block to finish data moving processing, wherein the free storage space of the unused block is not less than the storage space occupied by the data in the open block;
and the second moving unit is used for directly carrying out data moving processing on the closed block meeting the condition.
8. The system for managing data blocks in SSD firmware of claim 7, wherein said determining that there is an unstable block in the SSD comprises:
when a block with failed write operation and/or read operation exists in the SSD, determining that the block with failed operation is unstable;
when the read operation fails and the number of times of the read operation is larger than a preset read threshold, determining that the block exceeding the read threshold is unstable;
and when the block with the standing time larger than the preset standing threshold exists in the SSD, determining that the block exceeding the standing threshold is unstable.
9. The system for managing data blocks in SSD firmware of any of claims 7-8, further comprising:
the data filling unit is used for continuously filling the open block with invalid data on the basis of the original storage data before the block which is stable and unused is correspondingly opened so as to stabilize the original storage data, wherein N is a positive integer and is not less than 4;
the first moving unit is specifically configured to close the open block, correspondingly open a stable and unused block, and correspondingly move the original storage data in the open block to the unused block to complete data moving processing, where an idle storage space of the unused block is not less than a storage space occupied by the original storage data in the open block.
10. An apparatus for managing data blocks in SSD firmware, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the method of managing data blocks in SSD firmware as claimed in any of claims 1 to 6 when executing the computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810495702.XA CN108762670B (en) | 2018-05-22 | 2018-05-22 | Management method, system and device for data blocks in SSD (solid State disk) firmware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810495702.XA CN108762670B (en) | 2018-05-22 | 2018-05-22 | Management method, system and device for data blocks in SSD (solid State disk) firmware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108762670A CN108762670A (en) | 2018-11-06 |
CN108762670B true CN108762670B (en) | 2021-06-29 |
Family
ID=64008423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810495702.XA Active CN108762670B (en) | 2018-05-22 | 2018-05-22 | Management method, system and device for data blocks in SSD (solid State disk) firmware |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762670B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542349A (en) * | 2018-11-20 | 2019-03-29 | 郑州云海信息技术有限公司 | A kind of data block processing method, device and computer readable storage medium |
CN110955392A (en) * | 2019-12-03 | 2020-04-03 | 山东华芯半导体有限公司 | Method for monitoring data storage time on line in SSD |
CN112463053B (en) * | 2020-11-27 | 2023-01-06 | 苏州浪潮智能科技有限公司 | Data writing method and device for solid state disk |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298543A (en) * | 2011-09-15 | 2011-12-28 | 成都市华为赛门铁克科技有限公司 | Memory management method and memory management device |
CN103713969A (en) * | 2013-12-30 | 2014-04-09 | 华为技术有限公司 | Method and device for improving reliability of solid state disk |
CN103914397A (en) * | 2013-01-09 | 2014-07-09 | 深圳市江波龙电子有限公司 | Flash memory device and management method thereof |
CN104679661A (en) * | 2013-11-27 | 2015-06-03 | 阿里巴巴集团控股有限公司 | Hybrid memory control method and hybrid memory system |
CN107391300A (en) * | 2017-07-26 | 2017-11-24 | 湖南国科微电子股份有限公司 | A kind of method and system for improving flash data memory reliability |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909855B2 (en) * | 2012-08-08 | 2014-12-09 | Avalanche Technology, Inc. | Storage system employing MRAM and physically addressed solid state disk |
-
2018
- 2018-05-22 CN CN201810495702.XA patent/CN108762670B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298543A (en) * | 2011-09-15 | 2011-12-28 | 成都市华为赛门铁克科技有限公司 | Memory management method and memory management device |
CN103914397A (en) * | 2013-01-09 | 2014-07-09 | 深圳市江波龙电子有限公司 | Flash memory device and management method thereof |
CN104679661A (en) * | 2013-11-27 | 2015-06-03 | 阿里巴巴集团控股有限公司 | Hybrid memory control method and hybrid memory system |
CN103713969A (en) * | 2013-12-30 | 2014-04-09 | 华为技术有限公司 | Method and device for improving reliability of solid state disk |
CN107391300A (en) * | 2017-07-26 | 2017-11-24 | 湖南国科微电子股份有限公司 | A kind of method and system for improving flash data memory reliability |
Also Published As
Publication number | Publication date |
---|---|
CN108762670A (en) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8463826B2 (en) | Incremental garbage collection for non-volatile memories | |
US8832530B2 (en) | Techniques associated with a read and write window budget for a two level memory system | |
KR102437591B1 (en) | Operation method of nonvolatile memory system and method operation of memory controller | |
CN111752487B (en) | Data recovery method and device and solid state disk | |
US9189325B2 (en) | Memory system and operation method thereof | |
JP4729062B2 (en) | Memory system | |
TWI541819B (en) | Method for performing error correction, and associated memory apparatus thereof and associated controller thereof | |
CN108762670B (en) | Management method, system and device for data blocks in SSD (solid State disk) firmware | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
US11348636B2 (en) | On-demand high performance mode for memory write commands | |
JP5631938B2 (en) | Semiconductor memory device | |
TWI608350B (en) | Memory device and control unit thereof, and data movement method for memory device | |
US20220043713A1 (en) | Meta Data Protection against Unexpected Power Loss in a Memory System | |
WO2023174394A1 (en) | Data processing method and apparatus | |
TWI692688B (en) | Flash memory controller and associated electronic device | |
US20230359363A1 (en) | Method and Apparatus for Writing Data into SSD | |
CN108762989B (en) | Data storage method, device and equipment of solid state disk and readable storage medium | |
CN110069362B (en) | Data storage device and data processing method | |
CN116991326A (en) | Block data protection method, device, equipment and storage medium | |
CN111488118A (en) | Method for managing flash memory module and related flash memory controller and electronic device | |
TWI662554B (en) | Memory device and control unit thereof, and data movement method for memory device | |
US20190080257A1 (en) | Checkpointing disk configuration using machine learning | |
US11994947B2 (en) | Multi-layer code rate architecture for special event protection with reduced performance penalty | |
TWI632458B (en) | Memory device and control unit thereof, and data movement method for memory device | |
CN105224890A (en) | A kind of information protecting method and storer |
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 |