CN109857333B - Health degree processing method of SSD medium, SSD controller and disk array - Google Patents

Health degree processing method of SSD medium, SSD controller and disk array Download PDF

Info

Publication number
CN109857333B
CN109857333B CN201711241443.XA CN201711241443A CN109857333B CN 109857333 B CN109857333 B CN 109857333B CN 201711241443 A CN201711241443 A CN 201711241443A CN 109857333 B CN109857333 B CN 109857333B
Authority
CN
China
Prior art keywords
information
raid
rber
ppe
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711241443.XA
Other languages
Chinese (zh)
Other versions
CN109857333A (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.)
HiSilicon Technologies Co Ltd
Original Assignee
HiSilicon Technologies 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 HiSilicon Technologies Co Ltd filed Critical HiSilicon Technologies Co Ltd
Priority to CN201711241443.XA priority Critical patent/CN109857333B/en
Publication of CN109857333A publication Critical patent/CN109857333A/en
Application granted granted Critical
Publication of CN109857333B publication Critical patent/CN109857333B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the application discloses a health degree processing method of an SSD medium, an SSD controller and a disk array. Acquiring the error bit number of each Block in a disk array RAID (redundant array of independent disks) every other PPE (physical erasure) period, and calculating first original error bit rate RBER (read-Only memory) information of the RAID according to the acquired error bit number of each Block, wherein the RAID consists of Solid State Disk (SSD) media; calculating health information of the RAID according to the first RBER information and PPE information acquired from a system where the SSD is located; and refreshing the health information into health table entries of the RAID, wherein the health table entries are used for the system to monitor the RAID and control the wear balance of the RAID. The method of the embodiment of the application can be combined with the reliability of each Block, and the RBER information and the PPE information are utilized to slow down or accelerate the increasing trend of the health factor EPE, so that the SSD disc is better subjected to wear leveling, the total write data volume is improved, and the service life of the SSD disc is prolonged.

Description

Health degree processing method of SSD (solid State disk) medium, SSD controller and disk array
Technical Field
The application relates to the technical field of storage, in particular to a health degree processing method of an SSD medium, an SSD controller and a disk array.
Background
Solid State Disk (SSD) is composed of a control unit and a storage unit, such as a Flash memory (Nand Flash), for which the factors affecting the health of the Nand Flash mainly include three kinds, the first is Physical Erase/write times (PPE) of particles, the second is Retention time (Retention), and the third is Read times (Read), wherein the influence of PPE on Nand Flash is not recoverable; the effect of Retention or Read is recoverable, and the effect is removed by rewriting the particles once.
In the using process, a control unit such as an SSD controller needs to set specific parameters to measure the current health degree of Nand Flash, so as to report that a system using the SSD predicts the service life of the SSD; the health degree of all blocks (Block) in the SSD is kept consistent by using the parameter matching wear leveling algorithm, the purpose of fully utilizing each Block is achieved, and the service life of the SSD is prolonged to the greatest extent.
Most SSD controllers currently measure health with PPE as a health factor and control wear leveling. A space is opened up inside the system to store the PPE times of each Block, and after the data of a certain Block is erased, the PPE value of the Block is increased by 1.
However, in this way, due to the core-to-core variation (die-to-die variation) and the Block-to-Block variation (Block-to-Block variation), the number of usable PPEs of different blocks inside the SSD is not consistent, and if the PPEs are used as health factors alone, the number of available PPEs of blocks inside the disc tends to be consistent, and when the number of PPEs reaches the average maximum wear capacity, the disc reaches the end of its life, so the maximum wear capacity of each Block cannot be well exerted.
Disclosure of Invention
The embodiment of the application provides a health degree processing method of an SSD medium, an SSD controller and a disk array to solve the problems that PPE is adopted as a health factor to measure the health degree at present and the maximum wear capacity of Block of the SSD caused by wear balance control is not fully used.
A first aspect of the embodiments of the present application provides a method for processing health of an SSD media, where in the method, an Error Bit number of each Block in a RAID formed by the SSD media is collected every PPE period, and a first original Error Bit Rate (RBER) information of the RAID is calculated according to the collected Error Bit number of each Block; then, after the first RBER information is provided, health information of the RAID can be calculated according to the first RBER information and PPE information obtained from a system where the SSD is located, and finally the health information is refreshed into a health entry of the RAID with the health information as a health factor for measuring the health of the Block, so that the wear leveling algorithm performs wear leveling by using the health.
It can be seen that, because the PPE is not simply used as a parameter for measuring all blocks, the first RBER information of the RAID is calculated based on the error bit number of different blocks, the first RBER information can well reflect the health degree of each Block, and then the RBER is combined with the PPE to calculate the health information, so that the increasing trend of the health factor EPE is slowed down or accelerated by combining the reliability of each Block, the wear leveling is better performed on the SSD disk, the total write data amount is increased, and the lifetime of the SSD disk is prolonged.
In some embodiments, the manner of calculating the first original error bit rate RBER value of the RAID according to the acquired error bit number of each Block may be that, for each Block, the error bit numbers of m pages in the Block are read, and second RBER information of the Block is calculated according to the error bit numbers of the m pages, where m is a positive integer; and then, calculating first RBER information of the RAID according to the second RBER information of each Block in the RAID. The first RBER information is obtained according to the second RBER information of all blocks in the RAID, so that the overall health degree of the SSD can be well reflected, and the calculation mode can enhance the realizability of the embodiment of the application.
In some embodiments, the calculating the second RBER information may specifically be calculating the second RBER information of Block according to m error bits of the m pages and by using the following formula;
Figure BDA0001489910760000021
wherein xi is the ith error bit number in the m error bit numbers. It can be seen that in this formula, two of the m error bits obtained by sampling with the largest fluctuation are actually removed, i.e. the smallest and the largest, and then the remaining error bits are averaged to obtain the second RBER information.
In some embodiments, calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID may be calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID and the following formula;
Figure BDA0001489910760000022
wherein xi is the ith second RBER information in the n second RBER information. It can be seen that the first RBER information is calculated in a manner similar to that of calculating the second RBER information, two pieces of calculated n pieces of second RBER information with the largest fluctuation, namely the largest and the smallest, are removed, and then the remaining pieces are averaged to obtain the first RBER information.
In some embodiments, the Health information may actually include a Health Indicator Factor (HIF), an EPE increment Factor S, and an EPE, so that calculating the Health information of the RAID according to the first RBER value and the PPE information obtained from the system in which the SSD is located includes calculating three parameters, first, HIF, and specifically, HIF of the RAID may be calculated according to the first RBER information, the PPE information, and the following formula;
-HIF ═ W (PPE, RBER) ═ PPE + β RBER, where both said α and said β are greater than or equal to zero; the health factor is determined by two factors, PPE and RBER, and the weights α and β are the weights of PPE and RBER. This HIF HIF is primarily a measure of the health of individual Blocc in the granule. Then calculating an EPE increasing factor S, specifically, calculating the S according to the HIF and the following formula;
(hif), wherein the formula V is an inter-partition mapping formula; wherein, the corresponding relation of the formula V can be defined as follows,
θ=(HIF-HIF(min))/(HIF(max)-HIF(min))
here, θ is a real number between [0 and 1], for example, if θ is in the interval [0,0.2), S is p1, if θ is in the interval [0.2,0.8), S is p2, and if θ is in the interval [0.8,1], S is p 3. Of course, if hif (max) ═ hif (min), θ may be a fixed value, for example, 0.5. Then, after completing the calculation of S, calculating the EPE, specifically, calculating the EPE of the current PPE cycle according to the following formula and the S;
EPE 2 =EPE 1 + S, wherein EPE 2 For the EPE, EPE of the current PPE cycle 1 EPE of the last PPE cycle. Wherein S is a value calculated independently for each PPE cycle, and the calculated S is added to the EPE value of the previous cycle to obtain the current cycleEPE value. In the initialization state, the value of the EPE is zero, and thus the EPE obtained in the first cycle is the S calculated for that cycle.
In some embodiments, prior to performing data acquisition, the method may further include identifying a current scenario, i.e., identifying a current scenario according to a current state of the RAID; the identified scenes have two conditions, one is a first scene, and in the scene, a data acquisition step is executed, namely, the error bit number of each Block in the RAID is acquired every PPE period; and when the identified scene is a second scene, refreshing the health information into the health table entry of the RAID is executed. By identifying the scene, the refreshing of the health table entry is more consistent with the actual use situation of the SSD.
A second aspect of the embodiments of the present application further provides an SSD controller, which includes at least one unit configured to execute the method for processing the health degree of the SSD medium provided in the first aspect or any implementation manner of the first aspect.
A third aspect of the embodiments of the present application further provides a disk array, where the disk array uses a Solid State Disk (SSD) medium, and the disk array includes an SSD controller, a cache, and an SSD storage medium, where a computer program instruction is stored in the cache, and the SSD controller executes the computer program instruction to execute the method for processing the health degree of the SSD medium provided in the first aspect or any implementation manner of the first aspect.
Yet another aspect of the present application provides a computer-readable storage medium having stored therein instructions, which when executed on a computer, cause the computer to perform the method of the above-described aspects.
Yet another aspect of the present application provides a computer program product containing instructions which, when run on a computer, cause the computer to perform the method of the above-described aspects.
Drawings
FIG. 1 is a schematic diagram of an embodiment of a RAID architecture;
FIG. 2 is a schematic diagram of a method for processing the health of an SSD medium according to an embodiment of the present application;
FIG. 3 is a schematic diagram illustrating a classification of disk array states in a method according to an embodiment of the present disclosure;
fig. 4 is a diagram illustrating the calculation of the first RBER information in the method according to the embodiment of the application;
FIG. 5 is a schematic diagram of calculating health information in a method according to an embodiment of the present application;
FIG. 6 is a diagram illustrating a health table entry refresh in a method according to an embodiment of the present application;
fig. 7 is a diagram of an embodiment of an SSD controller according to an embodiment of the application.
Detailed Description
The embodiment of the application provides a health degree processing method of an SSD medium, an SSD controller and a disk array to solve the problems that at present, PPE is adopted as a health factor to measure the health degree, and the maximum wear capacity of a Block of an SSD caused by wear balance control is not fully used.
In order to make the technical field better understand the scheme of the present application, the following description will be made on the embodiments of the present application with reference to the attached drawings.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims of the present application and in the drawings described above, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be implemented in other sequences than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," or "having," and any variations thereof, are intended to cover non-exclusive inclusions, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The lifetime of an SSD depends on the PPE, and reaches an end when a portion of the Block in the SSD reaches the maximum PPE. The minimum unit of erasure of an SSD disk is blocks, each of which may include several pages. At present, besides using PPE as a basic parameter for wear leveling, there is also a way to use the average error bit number of data in Nand Flash as a health factor of the SSD controller. And after the Block is programmed, reading the error bit number in the Block, measuring the health degree by using the value, and controlling the wear balance. Compared with the calculation of wear leveling by taking PPE as a basic parameter, error bit information is taken as a health factor, so that the difference between blocks can be reflected, the internal balance of the disk can be enhanced, and the maximum write data volume of the SSD can be enlarged as a whole. However, the counted average error bit number of Nand Flash is influenced by the statistical scenes, such as statistical temperature, wear interval time and other factors, and has great volatility, so that the evaluation result of the health factor is not accurate, and the health degree of the SSD disc cannot be well measured in many scenes.
Therefore, the control of wear balance cannot be well solved no matter PPE or average error is adopted, so that the service life of the SSD is not played to the maximum extent; therefore, parameters capable of accurately measuring the health degree of Nand Flash are urgently needed to realize better wear balance.
Based on the above problems, embodiments of the present application provide a method for processing a health level of an SSD medium, an SSD controller, and a disk array. Referring to fig. 1, fig. 1 is a schematic diagram of an architecture of a RAID according to an embodiment of the present invention, each SSD1 includes an SSD controller 101, a cache 102, and a storage medium 103, and after receiving a read/write command, SSD controller 101 reads data from cache 102 or writes data to storage medium 103. Of course, if the RAID is a RAID formed by a plurality of SSD disks, the RAID further includes a RAID module 2, and the RAID module may exist in a form of software or hardware. The method of the embodiment of the present application runs on SSD controller 101.
Referring to fig. 2, fig. 2 is a schematic diagram of a method for processing health of an SSD medium according to an embodiment of the present application, where the method includes:
201. and identifying a current scene according to the current state of the RAID, if the current scene is a first scene, executing step 202, and if the current scene is a second scene, executing step 204.
In the embodiment of the present application, RAID Block states may be classified, please refer to fig. 3, fig. 3 is a schematic diagram illustrating classification of disk array states in the method according to the embodiment of the present application, where the states may have three categories, and a first category is an abnormal scenario; the second type is an inaccurate scene of RBER information acquisition; the third type is that RBER information is collected accurately. The first kind of scenes can be divided into two situations, wherein the first situation is that Block is erased quickly, and the second situation is that the number of effective RBER is smaller than a threshold, and RBER collected under the two scenes has no great significance. In the second kind of scenes, the first situation is Open Block (Open Block) and Long data Retention time (Long Retention), and the second situation is Open Block and has More reading times (More Read), and in the two situations, the acquisition of the RBER is inaccurate and cannot be applied to subsequent calculation of health factors. In the third case, the RBER collection frequency can be reduced, and in addition, the category also includes two cases, the first case is that the RAID Block is in a healthy state and the PPE does not need to be updated, and the second case is that the RAID Block is in a healthy state but the PPE needs to be updated, that is, the PPE is updated in a manner of adding the period T to the initial value of the Block PPE, and the PPE is added by 1 each time the Block completes erasing. In the embodiment of the present application, the second case of the third category is taken as the first scenario, and the remaining five cases of the three categories are taken as the second scenario. Step 202 is performed in the first scenario, in which the PPEs are immediately updated, i.e., step 204 is performed. The RAID consists of the Solid State Disk (SSD) medium.
It should be noted that the triggering condition of step 201 may be that the system where the RAID is located ends when receiving the RAID Block programming command. Execution of step 201 may be triggered as long as the condition is met.
202. And acquiring the error bit number of each Block in the RAID every PPE period, and calculating first original error bit rate (RBER) information of the RAID according to the acquired error bit number of each Block.
The PPE cycle is a period for detecting a PPE each time, and the period is, for one Block, a time that elapses to erase by writing data and then writing new data, and for the SSD disk, is equivalent to a time duration that elapses until all blocks complete one PPE cycle. Every time this period passes, Block's PPE will increase. In the embodiment of the application, the error bit number of each Block in the RAID is collected every other PPE period, so that the error bit number of each Block is obtained, and then the first RBER information of the RAID can be calculated after the error bit number of each Block is obtained.
Optionally, a manner of calculating a first original error bit rate RBER value of the RAID according to the acquired error bit number of each Block may be that, for each Block, the error bit numbers of m pages in the Block are read, and second RBER information of the Block is calculated according to the error bit numbers of the m pages, where m is a positive integer; and then, calculating first RBER information of the RAID according to the second RBER information of each Block in the RAID.
For example, please refer to fig. 4, fig. 4 is a diagram illustrating a first RBER information calculation method according to an embodiment of the present disclosure; firstly, calculating second RBER information of each Block, specifically, calculating the second RBER information of each Block according to m error bit numbers of m pages and by adopting the following formula (1);
Figure BDA0001489910760000051
wherein xi is the ith error bit number in the m error bit numbers. It can be seen that in this formula, two of the m error bits obtained by sampling with the largest fluctuation are actually removed, i.e. the smallest and the largest, and then the remaining error bits are averaged to obtain the second RBER information. The obtained second RBER information, i.e., the formula corresponding to each Block in fig. 3, is, for example, f1 corresponding to Block1 (r11, r12, … r1 m); after the calculation of the second RBER information of each Block is completed, the calculation of the first RBER information of RAID can be performed.
Specifically, the following formula can be adopted for calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID and the following formula (2);
Figure BDA0001489910760000052
wherein xi is the ith second RBER information in the n second RBER information. It can be seen that the first RBER information is calculated in a manner similar to that of the second RBER information, two pieces of the calculated n second RBER information with the largest fluctuation, namely the largest and the smallest ones, are removed, and then the remaining pieces are averaged to obtain the first RBER information.
203. And calculating the health information of the RAID according to the first RBER information and the PPE information acquired from the system where the SSD is located.
After the calculation of the second RBER information is completed according to the step 202, the health information may be calculated, specifically, according to the second RBER information and the PPE information acquired from the system, it should be noted that both the second RBER information and the PPE information are parameters obtained in the PPE cycle in which the collecting process of the step 202 is performed.
Optionally, the health information may actually include HIF, S and EPE, HIF mainly measures the health of individual blocs in the granules and controls the amplification of EPE factors; the EPE factor is mainly used for measuring the relative health degree of each Block in the SSD and is used for controlling wear balance. The specific calculation of these three parameters is explained below.
Referring to fig. 5, fig. 5 is a schematic diagram illustrating a method for calculating health information according to an embodiment of the present disclosure; among other things, the calculation of the health parameters includes three aspects, HIF, S, and EPE. Calculating HIF, specifically, calculating HIF of the RAID according to the first RBER information and the PPE information and the following formula (3);
HIF=W(PPE,RBER)=α*PPE+β*RBER…………(3)
wherein both said α and said β are greater than or equal to zero; the health factor is determined by two factors, PPE and RBER, and the weights α and β are the weights of PPE and RBER. This HIF HIF is primarily a measure of the health of individual Blocc in the granule.
Then calculating an EPE increasing factor S, specifically, calculating the S according to the HIF and the following formula;
S=V(HIF)…………(4)
the formula V is an inter-partition mapping formula; wherein, the corresponding relation of the formula V can be defined as follows,
θ=(HIF-HIF(min))/(HIF(max)-HIF(min))
here, θ is a real number between [0 and 1], for example, if θ is in the interval [0,0.2), S is p1, if θ is in the interval [0.2,0.8), S is p2, and if θ is in the interval [0.8,1], S is p 3. Of course, if hif (max) ═ hif (min), θ may be a fixed value, for example, 0.5. Then, after completing the calculation of S, calculating the EPE, specifically, calculating the EPE of the current PPE cycle according to the following formula (5) and the S;
EPE 2 =EPE 1 +S…………(5)
wherein EPE 2 Is the EPE, EPE of the current PPE cycle 1 The EPE of the previous PPE cycle. Wherein, the S is a value calculated independently for each PPE cycle, and the EPE value of the current cycle can be obtained by adding the calculated S to the EPE value of the previous cycle. In the initialization state, the value of the EPE is zero, and thus the EPE obtained in the first cycle is the S calculated for that cycle. The calculated EPE is primarily used to control wear leveling.
204. And refreshing the health information to the health table entry of the RAID.
Wherein the health table entry is used by the system to monitor the RAID and control wear leveling of the RAID. The health table entry stores health information about blocks in RAID, such as HIF, S, and EPE, but may also store parameters required by other systems.
It should be noted that, since the health information may include HIF, S, and EPE, when performing health table entry refreshing, HIF, S, and EPE need to be refreshed. Specifically, please refer to fig. 6, fig. 6 is a schematic diagram illustrating health table entry refreshing in a method according to an embodiment of the present application; because EPE changes every cycle, it needs to be refreshed every cycle, and HIF and S change with PPE cycle, and the values that can be calculated are the same or have little difference, it can be refreshed every T PPE cycles, T is a positive integer greater than or equal to 1.
It should be noted that for the second scenario, every PPE cycle, HIF and S need not be refreshed, and EPE only needs to be refreshed.
Referring to fig. 7, fig. 7 is a diagram of an embodiment of an SSD controller according to the embodiment of the present application, where the SSD controller 7 may include:
the acquisition module 702 is configured to acquire the error bit number of each Block in the RAID every PPE period, and calculate first original error bit rate RBER information of the RAID according to the acquired error bit number of each Block;
a calculating module 703, configured to calculate health information of the RAID according to the first RBER information and PPE information acquired from the system in which the SSD is located;
a refresh module 704, configured to refresh the health information into a health entry of the RAID, where the health entry is used by the system to monitor the RAID and control wear leveling of the RAID.
Optionally, the calculating module 703 is specifically configured to:
for each Block, reading error bit numbers of m pages in the Block, and calculating second RBER information of the Block according to the error bit numbers of the m pages, wherein m is a positive integer;
and calculating first RBER information of the RAID according to the second RBER information of each Block in the RAID.
Optionally, the calculating module 703 is specifically configured to:
calculating second RBER information of the Block according to m error bit numbers of the m pages and by adopting a formula (1);
Figure BDA0001489910760000071
wherein, the x i Is the ith error bit number in the m error bit numbers.
Optionally, the calculating module 703 is specifically configured to:
calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID and the following formula, wherein the following formula is adopted;
Figure BDA0001489910760000072
wherein, the x i Is the ith second RBER information of the n second RBER information.
Optionally, the health information includes a health factor HIF, an EPE increasing factor S, and an effective erasure number EPE, and the calculating module 703 is specifically configured to:
calculating HIF of the RAID according to the first RBER information and the PPE information and the following formula;
-HIF ═ W (PPE, RBER) ═ PPE + β RBER, where both said α and said β are greater than or equal to zero;
calculating the S according to the HIF and the formula;
(hif), wherein the formula V is an inter-partition mapping formula;
calculating the EPE of the current PPE period according to the following formula and the S;
EPE 2 =EPE 1 + S, wherein EPE 2 For the EPE, EPE of the current PPE cycle 1 EPE of the last PPE cycle.
Optionally, the SSD controller further comprises:
a scene recognition module 701, configured to recognize a current scene according to the current state of the RAID; when the current scene is a first scene, the acquisition module executes the acquisition of the error bit number of each Block in the RAID every other PPE period; and when the current scene is a second scene, the refreshing module refreshes the health information into the health table entry of the RAID.
It should be noted that the SSD controller 7 may be composed of one or more chips, and the scene recognition module 701, the acquisition module 702, the calculation module 703, and the refresh module 704 can implement the functions of the SSD controller 7.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device, such as a server, a data center, etc., that is integrated with one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium, among others.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art will appreciate that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (14)

1. A method for processing the health of an SSD medium, comprising:
acquiring the error bit number of each Block in a disk array RAID (redundant array of independent disks) every other PPE (physical erasure number) period, and calculating first original error bit rate RBER (read-Only memory) information of the RAID according to the acquired error bit number of each Block, wherein the RAID consists of SSD (solid state disk) media;
calculating health information of the RAID according to the first RBER information and PPE information acquired from the system where the SSD is located;
and refreshing the health information into a health table entry of the RAID, wherein the health table entry is used by the system for monitoring the RAID and controlling the wear leveling of the RAID.
2. The method of claim 1, wherein the calculating the first original error bit rate (RBER) value of the RAID according to the collected error bits per Block comprises:
for each Block, reading error bit numbers of m pages in the Block, and calculating second RBER information of the Block according to the error bit numbers of the m pages, wherein m is a positive integer;
and calculating first RBER information of the RAID according to the second RBER information of each Block in the RAID.
3. The method of claim 2, wherein the calculating the second RBER information of the Block according to the error bits of the m pages comprises:
calculating second RBER information of the Block according to m error bit numbers of the m pages and by adopting the following formula;
Figure FDA0003610818260000011
wherein, the x i Is the ith error bit number in the m error bit numbers.
4. The method of claim 2, wherein the RAID comprises n blocks, n being a positive integer, and wherein the calculating the first RBER information of the RAID from the second RBER information of each Block in the RAID comprises;
calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID and the following formula, wherein the following formula is adopted;
Figure FDA0003610818260000012
wherein, x is i Is the ith second RBER information of the n second RBER information.
5. The method of any one of claims 1 to 4, wherein the health information comprises a health factor (HIF), an EPE increment factor (S), and a number of valid erasures (EPE), and wherein the calculating the health information for the RAID based on the first RBER value and the PPE information obtained from the system in which the SSD resides comprises:
calculating HIF of the RAID according to the first RBER information and the PPE information and the following formula;
-HIF ═ W (PPE, RBER) ═ PPE + β RBER, where both said α and said β are greater than or equal to zero;
calculating the S from the HIF and the formula;
(hif), wherein the formula V is an inter-partition mapping formula;
calculating the EPE of the current PPE period according to the following formula and the S;
EPE 2 =EPE 1 + S, wherein EPE 2 For the EPE, EPE of the current PPE cycle 1 EPE of the last PPE cycle.
6. The method according to claim 5, wherein before collecting the error bits per Block in the RAID every PPE cycle, the method further comprises:
identifying a current scene according to the current state of the RAID; when the current scene is a first scene, acquiring the error bit number of each Block in the RAID every PPE period; and when the current scene is a second scene, refreshing the health information to a health table entry of the RAID.
7. An SSD controller for RAID with solid state disk, SSD, media, comprising:
the acquisition module is used for acquiring the error bit number of each Block in the RAID every other PPE period and calculating first original error bit rate (RBER) information of the RAID according to the acquired error bit number of each Block;
the calculation module is used for calculating the health information of the RAID according to the first RBER information and the PPE information acquired from the system where the SSD is located;
and the refreshing module is used for refreshing the health information into a health table entry of the RAID, and the health table entry is used by the system for monitoring the RAID and controlling the wear balance of the RAID.
8. The SSD controller of claim 7, wherein the computing module is specifically configured to:
for each Block, reading error bit numbers of m pages in the Block, and calculating second RBER information of the Block according to the error bit numbers of the m pages, wherein m is a positive integer;
and calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID.
9. The SSD controller of claim 8, wherein the computing module is specifically configured to:
calculating second RBER information of the Block according to m error bit numbers of the m pages and by adopting the following formula;
Figure FDA0003610818260000021
wherein, the x i Is the ith error bit number in the m error bit numbers.
10. The SSD controller of claim 8, wherein the computing module is specifically configured to:
calculating the first RBER information of the RAID according to the second RBER information of each Block in the RAID and the following formula, wherein the following formula is adopted;
Figure FDA0003610818260000022
wherein, x is i Is the ith second RBER information of the n second RBER information.
11. The SSD controller of any of claims 7 to 10, wherein the health information comprises health factors HIF, EPE increment factor S and number of valid erasures EPE, the calculation module being specifically configured to:
calculating HIF of the RAID according to the first RBER information and the PPE information and the following formula;
HIF ═ W (PPE, RBER) ═ α × PPE + β × RBER, where both α and β are greater than or equal to zero;
calculating the S from the HIF and the formula;
(hif), wherein the formula V is an inter-partition mapping formula;
calculating the EPE of the current PPE period according to the following formula and the S;
EPE 2 =EPE 1 + S, wherein EPE 2 For the EPE, EPE of the current PPE cycle 1 EPE of the last PPE cycle.
12. The SSD controller of claim 11, further comprising:
the scene identification module is used for identifying a current scene according to the current state of the RAID; when the current scene is a first scene, the acquisition module executes the acquisition of the error bit number of each Block in the RAID every other PPE period; and when the current scene is a second scene, the refreshing module refreshes the health information into the health table entry of the RAID.
13. A disk array, which adopts a Solid State Disk (SSD) medium, and is characterized by comprising an SSD controller, a cache and an SSD storage medium, wherein the cache stores computer program instructions, and the SSD controller executes the computer program instructions to execute the health degree processing method of the SSD medium according to any one of claims 1 to 6.
14. A computer-readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the method of health processing of an SSD medium of any of claims 1-6.
CN201711241443.XA 2017-11-30 2017-11-30 Health degree processing method of SSD medium, SSD controller and disk array Active CN109857333B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711241443.XA CN109857333B (en) 2017-11-30 2017-11-30 Health degree processing method of SSD medium, SSD controller and disk array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711241443.XA CN109857333B (en) 2017-11-30 2017-11-30 Health degree processing method of SSD medium, SSD controller and disk array

Publications (2)

Publication Number Publication Date
CN109857333A CN109857333A (en) 2019-06-07
CN109857333B true CN109857333B (en) 2022-08-26

Family

ID=66888562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711241443.XA Active CN109857333B (en) 2017-11-30 2017-11-30 Health degree processing method of SSD medium, SSD controller and disk array

Country Status (1)

Country Link
CN (1) CN109857333B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10871910B1 (en) * 2019-09-27 2020-12-22 Western Digital Technologies, Inc. Non-volatile memory with selective interleaved coding based on block reliability

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04168607A (en) * 1990-10-31 1992-06-16 Sony Corp Magnetic recording method for digital video signal
CN105893231A (en) * 2016-05-06 2016-08-24 思创数码科技股份有限公司 Method and device for predicting hard disk sub-health index based on SMART (self-monitoring analysis and reporting technology)
CN105893168A (en) * 2016-03-29 2016-08-24 深圳市硅格半导体股份有限公司 Health condition analysis method and device for hard disk
CN106933490A (en) * 2015-12-29 2017-07-07 伊姆西公司 The method and apparatus that control is written and read operation to disk array
CN107391035A (en) * 2017-07-11 2017-11-24 华中科技大学 It is a kind of that the method for reducing solid-state mill damage is perceived by misprogrammed

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7242725B2 (en) * 2003-04-02 2007-07-10 Harris Stratex Networks Operating Corporation Adaptive broadband post-distortion receiver for digital radio communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04168607A (en) * 1990-10-31 1992-06-16 Sony Corp Magnetic recording method for digital video signal
CN106933490A (en) * 2015-12-29 2017-07-07 伊姆西公司 The method and apparatus that control is written and read operation to disk array
CN105893168A (en) * 2016-03-29 2016-08-24 深圳市硅格半导体股份有限公司 Health condition analysis method and device for hard disk
CN105893231A (en) * 2016-05-06 2016-08-24 思创数码科技股份有限公司 Method and device for predicting hard disk sub-health index based on SMART (self-monitoring analysis and reporting technology)
CN107391035A (en) * 2017-07-11 2017-11-24 华中科技大学 It is a kind of that the method for reducing solid-state mill damage is perceived by misprogrammed

Also Published As

Publication number Publication date
CN109857333A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
US8806106B2 (en) Estimating wear of non-volatile, solid state memory
Jimenez et al. Wear Unleveling: Improving {NAND} Flash Lifetime by Balancing Page Endurance
US9329797B2 (en) Method and system for adjusting block erase or program parameters based on a predicted erase life
US9423970B2 (en) Method and system for predicting block failure in a non-volatile memory
US20180158536A1 (en) Periodically Updating a Log Likelihood Ratio (LLR) Table in a Flash Memory Controller
US20170131947A1 (en) Data and collection methods to analyze life acceleration of SSD with real usages
CN106407051B (en) A kind of method and device detecting slow disk
WO2013145024A1 (en) Storage system with flash memory, and storage control method
US20100332923A1 (en) System and method responsive to a rate of change of a performance parameter of a memory
EP2495728A1 (en) Using temperature sensors with a memory device
US9158674B2 (en) Storage device with health status check feature
WO2016020760A2 (en) Adaptive flash tuning
CN109599143B (en) Memory system with read threshold mechanism and method of operation thereof
US9881682B1 (en) Fine grained data retention monitoring in solid state drives
US10901629B2 (en) Method and apparatus for managing health of a storage medium in a storage device
CN108733579A (en) The method and solid-state disk of the window of opportunity prompt of consistency operation in solid-state disk are provided
US11199968B2 (en) Using recurring write quotas to optimize utilization of solid state storage in a hybrid storage array
JP2014164793A (en) Methods and apparatuses using transfer function to predict resistance shifts and/or noise of resistance-based memory
CN111045881A (en) Slow disk detection method and system
CN111078123B (en) Method and device for evaluating wear degree of flash memory block
CN115699188A (en) Recurrent neural network for identifying threshold voltages to be used in reading of flash memory devices
US10324648B1 (en) Wear-based access optimization
CN113257332A (en) Effectiveness prediction method and device of flash memory and storage medium
CN109857333B (en) Health degree processing method of SSD medium, SSD controller and disk array
CN114283868A (en) Method and device for testing reliability of flash memory chip, electronic equipment and storage medium

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