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 PDF

Info

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
Application number
CN201810495702.XA
Other languages
Chinese (zh)
Other versions
CN108762670A (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 CN201810495702.XA priority Critical patent/CN108762670B/en
Publication of CN108762670A publication Critical patent/CN108762670A/en
Application granted granted Critical
Publication of CN108762670B publication Critical patent/CN108762670B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0604Improving or facilitating administration, e.g. storage management
    • 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 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

Management method, system and device for data blocks in SSD (solid State disk) firmware
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.
CN201810495702.XA 2018-05-22 2018-05-22 Management method, system and device for data blocks in SSD (solid State disk) firmware Active CN108762670B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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