Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for flash endurance management

By acquiring flash memory health data and adjusting the lifetime model using Bayesian inference, the problem of inaccurate flash memory lifetime estimation in existing technologies is solved, achieving efficient and accurate remaining lifetime prediction and resource utilization, and protecting the flash memory usage of heavy users.

CN116635835BActive Publication Date: 2026-11-06HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180083952.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-22
Filing Date
2021-04-09
Publication Date
2026-11-06
Estimated Expiration
2041-04-09

AI Technical Summary

Technical Problem

Existing technologies are not accurate enough in estimating flash memory lifespan, cannot accurately predict the remaining lifespan of different types of users, and may affect flash memory performance or require hardware modifications.

Method used

By acquiring flash memory health data, including the average number of erase cycles per memory block and the total amount of data written, Bayesian inference is used to adjust the lifetime model, predict future states, provide remaining lifetime estimates, and identify additional write resources to avoid hardware modifications.

Benefits of technology

It improves the accuracy and efficiency of flash memory lifetime estimation, allowing users to make efficient use of storage space, protecting heavy users, and without affecting flash memory performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116635835B_ABST
    Figure CN116635835B_ABST
Patent Text Reader

Abstract

A flash memory endurance management method is provided. The method includes obtaining health data of a flash memory, determining a time-write estimate reflecting an amount of data written to the flash memory over a period of time, and determining a wear rate of the flash memory based on the health data. The method further includes updating a lifetime model of the flash memory with the wear rate, determining a remaining lifetime of the flash memory based on the updated lifetime model, and determining an additional write resource based on the time-write estimate and the remaining lifetime, the additional write resource being an additional amount of data that can be written to the flash memory without affecting a warranty period of the flash memory. The method improves accuracy of the remaining lifetime estimate of the flash memory and can predict a future state of the flash memory.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention generally relates to the field of data storage, and more specifically, to a method, system, and apparatus for flash memory durability management. Background Technology

[0002] Currently, non-volatile flash memory, such as NAND flash, is increasingly used for everyday tasks in servers, computers, and mobile devices. However, this type of flash memory does not allow changes to the data recorded in its storage location and requires an initial erase of the entire block to modify the data. Furthermore, there is a limit to the number of write operations (program / erase (PE) cycles per memory block); beyond this limit, the data cannot be protected, and the flash memory typically reaches the end of its lifespan. Typically, the number of PE cycles is shared by the manufacturer or supplier of a given flash memory, representing the normal tolerance range for a specific model of flash memory. In addition, many integrated characteristics are used to describe PE and are generally considered reliability metrics. These integrated characteristics include: terabytes written (TBW), the total amount of data that can be written to a given flash memory during its warranty period; device writes per day (DWPD), the number of times the total capacity of the drive can be written per day during the drive's warranty period (maximum PE cycles); and write amplification factor (WAF), the average ratio of writes committed to the flash memory to writes from the host system. However, traditional methods, which calculate the average TBW, DWPD, and WAF of a specific device (e.g., flash memory), are insufficient and inaccurate. For example, when writing the same amount of data, frequent writes of small blocks typically cause wear faster than infrequent writes of individual blocks. Therefore, in practice, all PE integrated features (such as TBW) only protect average users, and are inaccurate estimates of flash memory lifetime for many other users. For instance, many users can safely write far more data than the vendor-guaranteed amount, while some heavy users (i.e., those writing large amounts of data) are at risk due to abnormal write profiles, etc.

[0003] Currently, there are several traditional techniques for estimating flash memory lifetime. However, these techniques have limitations. Some traditional techniques involve determining a write bandwidth target for a given flash memory, monitoring the write bandwidth, and then periodically adjusting the write bandwidth target based on the total amount of data written to the flash memory, ensuring that the total amount of data written does not exceed a threshold during the flash memory's lifetime. However, this technique requires continuous and constant monitoring of the write bandwidth, which impacts flash memory performance and requires hardware modifications for implementation. Therefore, this technique is resource-intensive and costly. Some other traditional techniques use machine learning to find the predicted lifetime of a given flash memory using various types of data. However, this traditional technique requires a large amount of data (experimental results) and therefore can only be applied to well-known (researched or tested) flash memory to some extent, and is neither applicable nor accurate for most flash memory. Furthermore, some traditional techniques measure flash memory lifetime by considering the write amplification factor (WAF), which indicates an amplified write flow value that has been used. However, this technique assumes a measurement of read latency, which negatively impacts performance. Moreover, the WAF calculation algorithm depends on the hardware implementation; considering amplified write flow only indicates the current state of the flash memory and does not predict future WAF. There are also some traditional techniques that can determine the erase time for each page of a given flash memory. This technique is very time-consuming and can adversely affect the performance of a given flash memory.

[0004] Therefore, based on the above discussion, it is necessary to overcome the aforementioned shortcomings of traditional methods and systems for estimating flash memory lifetime. Summary of the Invention

[0005] This invention seeks to provide a method, apparatus, and system for flash memory durability management. The invention seeks to provide a solution to the existing problem of how to estimate the remaining flash memory lifetime for all types of flash memory users without affecting flash memory performance and without requiring any hardware modifications for such estimation. The object of this invention is to provide a solution that at least partially overcomes the problems encountered in the prior art, and to provide an improved method, apparatus, and system that enables efficient and full utilization of flash memory storage space by estimating the remaining flash memory lifetime with higher accuracy, wherein estimation can be performed with higher accuracy for different types of flash memory users without affecting flash memory performance and without requiring any hardware modifications to the flash memory.

[0006] One or more objects of the present invention are achieved by the solutions provided in the appended independent claims. Advantageous embodiments of the invention are further defined in the dependent claims.

[0007] In one aspect, the present invention provides a flash memory durability management method, comprising: acquiring health data of the flash memory, the health data including the average number of erase cycles per memory block and the total amount of data written to the flash memory; determining a time write estimate reflecting the amount of data written to the flash memory over a period of time based on the health data and the runtime of the flash memory; updating a lifetime model of the flash memory based on the health data; determining the remaining lifetime of the flash memory based on the updated lifetime model; and determining additional write resources based on the time write estimate and the remaining lifetime, the additional write resources being an additional amount of data that can be written to the flash memory without affecting its warranty period.

[0008] This method improves the accuracy of estimating the remaining lifetime of flash memory, i.e., the amount of data that can be written to the flash memory during its lifetime, because it takes into account user behavior and health data and predicts the future state of the flash memory device. This remaining lifetime estimate can be made at any point during the flash memory's lifetime, and is not limited to being made only at the beginning of its lifetime.

[0009] In one implementation, the method further includes measuring the runtime of the flash memory.

[0010] By measuring the runtime of the flash memory, a time-write estimate is determined, which in turn makes it possible to determine additional write resources for the flash memory.

[0011] In another implementation, the method further includes: collecting the health data of the flash memory from one or more external devices including one or more flash drives of the same type, and updating the lifetime model of the flash memory based on the collected health data.

[0012] By collecting health data from multiple devices and updating the flash memory lifetime model based on the collected health data, it is possible to improve the estimation of the amount of additional data that can be written to the flash memory without affecting the flash memory's warranty period.

[0013] In another implementation, the lifetime model is updated via Bayesian inference.

[0014] Since flash memory health data is collected periodically, this method uses this data to adjust the lifetime model through Bayesian inference, which further improves the accuracy of estimating the remaining lifetime of flash memory.

[0015] In another aspect, the present invention provides an apparatus for flash memory durability management, comprising: a health monitor for acquiring health data of the flash memory, the health data including the average number of erase cycles per memory block and the total amount of data written to the flash memory; a write estimator for determining a time write estimate reflecting the amount of data written to the flash memory over a period of time based on the health data and the runtime of the flash memory; a simulator for updating a lifetime model of the flash memory based on the health data; a durability estimator for determining the remaining lifetime of the flash memory based on the updated lifetime model; and determining additional write resources based on the time write estimate and the remaining lifetime, the additional write resources being an additional amount of data that can be written to the flash memory without affecting its warranty period.

[0016] This device provides an accurate estimate of the remaining flash memory lifetime, that is, an accurate estimate of the amount of data that can be written to the flash memory during its lifetime. This device achieves all the advantages and technical effects of the method of this invention.

[0017] In another aspect, the present invention provides a system for flash memory durability management, comprising: a device including flash memory; a server for collecting health data of the flash memory from the device and / or one or more external devices including one or more flash drives of the same type, and updating the lifetime model of the flash memory based on the collected health data.

[0018] This system achieves all the advantages and effects of the method of the present invention.

[0019] It should be understood that all the above implementations can be combined. It should be noted that all devices, elements, circuits, units, and modules described in this application can be implemented in software or hardware elements or any combination thereof. All steps performed by the various entities described in this application, and the functions described as being performed by the various entities, are intended to indicate that the respective entities are suitable for or used to perform the respective steps and functions. Although in the following description of specific embodiments, a particular function or step performed by an external entity is not reflected in the detailed description of the specific element of the entity performing that particular step or function, it should be apparent to those skilled in the art that these methods and functions can be implemented in the corresponding hardware or software elements or any combination thereof. It should be understood that the features of the invention are readily combined in various combinations without departing from the scope of the invention as defined by the appended claims.

[0020] Additional aspects, advantages, features, and objects of the invention will become apparent from the accompanying drawings and the detailed description of illustrative implementations as explained in conjunction with the following appended claims. Attached Figure Description

[0021] The above-described invention and the following detailed description of illustrative embodiments can be better understood when read in conjunction with the accompanying drawings. Exemplary structures of the invention are shown in the drawings to illustrate the invention. However, the invention is not limited to the specific methods and tools disclosed herein. Furthermore, those skilled in the art will understand that the drawings are not drawn to scale. Where possible, the same elements are represented by the same numbers.

[0022] The following figures will now be used as examples to describe embodiments of the present invention, wherein:

[0023] Figure 1 This is a flowchart of a flash memory durability management method provided in an embodiment of the present invention;

[0024] Figure 2A and Figure 2B This is a block diagram of an apparatus for flash memory durability management provided in an embodiment of the present invention;

[0025] Figure 3 This is a block diagram of a system for flash memory durability management provided in an embodiment of the present invention;

[0026] Figure 4 This is an exemplary flowchart of a flash memory durability management process in a device provided by an embodiment of the present invention, wherein the device supports a method or apparatus for flash memory durability management;

[0027] Figure 5 This is a graphical representation provided by an embodiment of the present invention, which describes a user's dynamic V CE Distribution, with average V CE The normal distribution is used to show the growth rate of the erase cycle (CE) for each block of flash memory;

[0028] Figure 6 The embodiments of the present invention provide a description of the user V used as part of Bayesian inference. CE A graphical representation of the prior distribution of the expected value;

[0029] Figure 7 This is a graphical representation of the expected rate of increase and the actual rate of increase of the erase cycle (CE) of a flash memory, provided by an embodiment of the present invention.

[0030] In the accompanying diagrams, underlined numbers indicate the item in which the underlined number is located or the item adjacent to the underlined number. Ununderlined numbers are associated with the item identified by the line that links the ununderlined number to the item. When a number is ununderlined and has an associated arrow, the ununderlined number is used to identify the general item that the arrow points to. Detailed Implementation

[0031] The following detailed description illustrates embodiments of the present invention and ways in which these embodiments can be implemented. While some modes of implementing the invention have been disclosed, those skilled in the art will recognize that other embodiments for implementing or practicing the invention may also exist.

[0032] Currently, existing methods use metrics such as average terabytes written (TBW), device writes per day (DWPD), and average write amplification factor (WAF) to estimate flash memory lifetime, which is insufficient and leads to low accuracy. It can be observed that the problem with metrics such as average TBW, DWPD, and WAF provided by vendors or manufacturers is that these metrics depend on many parameters. It can also be observed that these parameters, which affect flash memory lifetime in practice, include write profiles, available free space, temperature, firmware algorithms such as garbage collection, wear leveling, compression, and reserved space, and these parameters are not adequately considered in the estimation. For example, frequent writes to small blocks in flash memory typically cause wear faster than writing the same amount of data to a single block in the same flash memory with few writes. This means providing all program / erase (PE) integrated features, such as TBW, to ensure average "user" lifetime. In this context, the term "user" refers to any agent using NAND flash memory devices, such as portable devices (e.g., smartphones, tablets, laptops, smart bracelets, or smartwatches), personal computers, servers, and any human user of such devices. For example, many users can safely write far more data than the manufacturer (supplier) guarantees, while some heavy users (i.e., users who write large amounts of data) are at risk due to abnormal writes to configuration files, etc.

[0033] This invention provides an improved method, system, and apparatus for flash memory durability management, which improves the accuracy of estimating remaining flash memory lifetime, wherein the remaining flash memory lifetime indicates the amount of data that can be written to the flash memory during its lifetime. This accurate estimation of remaining lifetime can be performed at any point in the flash memory's lifetime. The disclosed method, apparatus, and system do not use average TBW, DWPD, or WAF provided by the manufacturer or vendor, but instead use user behavior (e.g., maximum PE) and detailed health information specific to the device, without affecting the flash memory's input / output (I / O) flow performance (e.g., latency and bandwidth). Furthermore, the disclosed method is applicable to conventional storage devices (off-the-shelf flash memory) and requires no hardware modification.

[0034] Figure 1 This is a flowchart of a flash memory durability management method provided by an embodiment of the present invention. Method 100 is shown. Method 100 is, for example... Figure 2A and Figure 2B The method is performed in the apparatus described herein. Method 100 includes steps 102 to 112.

[0035] Flash memory durability management method 100 can accurately estimate the remaining flash memory lifetime, that is, the amount of data that can be written to the device (i.e., flash memory) during the device's (i.e., flash memory) lifetime. This accurate estimation of remaining lifetime can be done at any point in the flash memory's lifetime. Therefore, method 100 enables many users to write more data than the flash memory vendor guarantees and protects some heavy users (i.e., users who write large amounts of data) from being at risk due to abnormal write profiles, thereby improving flash memory lifetime.

[0036] In step 102, method 100 includes acquiring health data for the flash memory, which includes the average number of erase cycles per memory block and the total amount of data written to the flash memory. Method 100 includes acquiring health data for determining the health status of the flash memory, identifying how much device resources (i.e., flash memory resources) have been used during the lifetime of the flash memory at the time this determination is made, and the lifetime status of the flash memory. In one example, the number of erase cycles (CE) per memory block refers to the number of times the content of a non-empty block of flash memory is changed. The maximum guaranteed CE value is provided by the manufacturer or supplier. The average number of erase cycles per memory block with the maximum CE value can provide an accurate lifetime prediction of the flash memory. The average number of erase cycles per memory block can also be referred to as the average erase cycle (CE) growth rate per block. CE can also be referred to as the program / erase (PE) cycle per block. In one example, the total amount of data written to the flash memory (HOSTW) refers to the size of all data that has been written to the flash memory. The flash memory health data is acquired by a health monitor. Compared to traditional methods, this method 100 does not use vendor-provided average terabytes written (TBW), device writes per day (DWPD), and average write amplification factor (WAF). Instead, it uses health data already provided by the flash interface function. Advantageously, it obtains flash health data without involving any modifications to the flash presentation hardware or external hardware. In one example, the health data is provided by the flash interface function. The health data can also be used for purposes such as daily write estimation and lifetime model tuning.

[0037] In one example, the average rate of CE growth over three years is represented by equation (1) given below.

[0038]

[0039] in,

[0040] V CE This refers to the average growth rate of CE over three years.

[0041] CE3 years This refers to the erasure cycle of each block within three years.

[0042] HOSTW3 years This refers to the total amount of data written to flash memory within three years.

[0043] In the example above, V cannot be calculated before the end of the third year. CE Therefore, a mathematical model can be applied to estimate V at any given time based on the dynamic rate of CE growth and the static rate of CE growth. CE It should be understood that the term "3 years" is used in this example to refer to the expected lifespan, but the expected lifespan can exceed 3 years, such as 5 years or other expected lifespans in some other implementations. The dynamic rate of CE growth is called... It refers to the V on a specific flash memory during the use of that flash memory. CE The online measurement value. The static rate of CE growth is called... It is based on offline statistical calculations.

[0044] In practice, in devices, flash memory It is influenced by many random factors, therefore it is not equal to the true V. CE In other words, each measurement Get V CE And some noise. Therefore, the difference is considered in this invention. The difference is represented by equation (2) given below.

[0045]

[0046] in,

[0047] It means With real V CE The difference between them

[0048] V CE This refers to the actual growth rate of CE (Consumer Equipment).

[0049] This refers to the V-type of a specific flash memory during its use. CE The measured value.

[0050] It is based on analytical calculations, which include user V's analysis before retrieving any specific data from a given flash memory. CE The expected prior distribution. Each time it is obtained. When the new measurement is performed, user V CE Expectations will also change. Therefore, if Higher than V CE The expected value is then expected to be even higher. CE ,if Less than V CE The expected value is then expected to be even smaller. CE .

[0051] In step 102, several methods can be used to obtain flash memory health data. According to one example, flash memory health data can be obtained from a device that includes the flash memory. According to another example, flash memory health data can be obtained from a device that includes the flash memory and one or more other devices that include flash drives of the same type. According to yet another example, flash memory health data can be obtained from one or more other devices that include flash drives of the same type. Health data from one or more other devices serves as all or part of the flash memory's health data to update the flash memory's lifespan model. This health data can adjust the flash memory's lifespan model subsequently. In one example, the server can receive health data from one or more other devices and calculate this health data to adjust the flash memory's lifespan model. Collecting health data enables simulation analysis of the data using the same model algorithm. This analysis can detect flash memory users at risk, for example, due to their write configuration files, and flash memory models at risk, for example, due to their design. Therefore, collecting health data from multiple devices and updating the flash memory's lifespan model based on the collected health data can provide a more accurate amount of additional data that can be written to the flash memory without affecting the warranty period. Furthermore, lifespan risks associated with the flash memory's current usage patterns can be predicted based on health data collected from multiple devices.

[0052] In step 104, method 100 further includes determining a time-write estimate based on flash memory health data and runtime, reflecting the amount of data written to flash memory over a period of time. The time-write estimate identifies the amount of data written to flash memory over a period of time (e.g., 24 hours, i.e., daily). In one example, method 100 includes calculating the average amount of input-output (IO) data written to flash memory together per day by the operating system (OS) and mobile device users. Since the time-write estimate is received from health data, no modification to the current hardware is required. In this document, flash memory runtime refers to the total time a storage device with flash memory is switched to active mode, i.e., the time the storage device's operating system is on and not suspended, including the time the storage device's microcontroller is idle without read / write requests but is active and ready to process requests from the operating system or internal logic (e.g., garbage collection requests from timer interrupts). Determining the time-write estimate based on flash memory health data and runtime allows for estimating the remaining lifespan of the flash memory at any point in its lifetime.

[0053] In step 106, method 100 also includes updating the flash memory lifetime model based on health data.

[0054] Optionally, if the health data comes from a device that includes flash memory, the update may include determining the wear rate of the flash memory based on the health data, and then updating the lifetime model based on the wear rate. Continuous collection of wear rates provides an estimate of the wear rate until the flash memory's warranty expires. In one example, flash memory wear occurs because all bits in a flash memory block need to be erased before new data can be written to the block. Furthermore, a flash memory block can only be erased and written a defined number of times. The wear rate of flash memory can refer to the rate at which the flash memory (specifically, a flash memory block) is erased and written. In other words, since a flash memory block can only be erased and written a defined number of times, the wear rate can be the number of times the flash memory has been erased and written relative to the defined number (currently). In one example, wear caused by frequent writing of small blocks is typically faster than wear caused by writing the same amount of data to a single block infrequently. The wear rate is continuously adjusted based on the acquired health data. Method 100 uses existing flash memory health parameters (i.e., health data) to identify the wear rate, thus requiring no additional hardware modifications. Therefore, this method 100 can be implemented on any existing flash memory.

[0055] This wear rate-based lifetime model can also be called an adaptive lifetime model. The lifetime model is updated to smoothly incorporate changes in device behavior (i.e., changes in user behavior operating the flash memory) throughout the flash memory's lifetime. The flash memory lifetime model is used to estimate lifetime, i.e., the duration until the flash memory can be used. In one example, the lifetime estimate can be used to plan future user usage of the flash memory, timely acquisition of another flash memory before the current flash memory's lifetime nears its end, etc.

[0056] Optionally, if all or part of the health data comes from one or more other devices, the lifespan model can be updated based on the wear rate and / or other parameters obtained from the health data.

[0057] Optionally, the update can be performed once or multiple times, for example, based on health data from a device including flash memory, and then updated again based on health data from one or more other devices, or vice versa.

[0058] In step 108, method 100 further includes determining the remaining lifetime of the flash memory based on an updated lifetime model. Determining the remaining lifetime allows for the determination of the additional amount of data that can be written to the flash memory without risking reaching the end of its lifetime. Therefore, the remaining lifetime enables many users to write more data than the flash memory vendor guarantees and protects heavy users (i.e., users who write large amounts of data) from potential risks such as abnormal write profiles, thereby extending the flash memory's lifetime. Because the remaining lifetime of the flash memory is based on an updated lifetime model, it can be estimated frequently as needed.

[0059] In step 110, method 100 further includes determining additional write resources based on time-write estimates and remaining lifetime. These additional write resources are the amount of extra data that can be written to the flash memory without affecting its warranty period. The purpose of the additional write resources is to guarantee the defined number of years of flash memory lifetime (e.g., at least 3 years) and to support efficient utilization of storage resources by the operating system. Method 100 determines the additional write resources by considering user write profiles (via time-write estimates and remaining lifetime), thus determining additional write resources that are highly user-specific to increase the amount of data each user can write to the flash memory without affecting the corresponding warranty period. Method 100 has no impact on the input-output (IO) stream performance of the flash memory (i.e., no latency). Therefore, users can simultaneously store data in flash memory and determine additional write resources without any latency.

[0060] According to one embodiment, method 100 further includes measuring the runtime of the flash memory. Measuring the runtime of the flash memory determines the time interval between data provided by the user for storage in the flash memory and the flash memory storing the data in its storage space. In one example, a timer may be used to measure the runtime. By measuring the runtime of the flash memory, a time write estimate is determined, which in turn makes it possible to determine additional write resources for the flash memory.

[0061] According to one embodiment, in method 100, the lifetime model is updated using Bayesian inference. Since flash memory health data is collected periodically, method 100 utilizes this data to adjust the lifetime model using Bayesian inference, which further improves...

[0062]

[0063] This improves the accuracy of remaining lifetime estimation for flash memory. Bayesian inference is used to support lifetime model updates based on periodically collected health data. This paper uses Bayesian inference as an example, but any other mathematical model can be used. Through Bayesian inference, the updated lifetime model dynamically reflects changes in flash memory wear patterns caused by various factors, including the operating characteristics of flash memory and its subsystems, available free space, ambient temperature, and the spectrum of tasks users need to perform on the flash memory.

[0064] In one example, the method 100 of the present invention can also be used for SWAP memory, which is a storage medium for temporarily storing currently inactive data. In this case, the lifetime will be controlled and guaranteed according to the warranty period of the SWAP memory. In this case, the method 100 includes determining the remaining total bytes write (TBW) calculation based on the health data of the SWAP memory and Bayesian inference, determining the predicted regular input-output (IO) based on the health data, and determining TotalSwapIO = (TBW_left – predicted_user_io), which is the amount of additional data that can be written to the SWAP memory without the risk of disabling the SWAP memory before the warranty expires.

[0065] The remaining total bytes write (TWB) is calculated based on Bayesian inference, which uses information collected from beta users as initial values ​​and smoothly transitions to measurements obtained from swap memory. The remaining total bytes write (TWB) is given by equation (3) as shown below.

[0066] in,

[0067] TBW_left refers to the remaining total bytes write (TBW).

[0068] CE MAX This refers to the maximum erase cycle time for each block.

[0069] CE CURRENT This refers to the current erase cycle for each block.

[0070] and σ0 in each measurement Then update on the swap memory.

[0071] ceMax_reserve is a parameter that refers to reliability and preventing swap memory crashes in the days leading up to 3 years ago.

[0072] Modeling speed of CE growth The dispersion is expressed by equation (4). Expressed by the equation (5) given below.

[0073]

[0074]

[0075] in,

[0076] This refers to the rate at which the CE (Cost Efficiency) changes, measured on the swap memory.

[0077] It refers to the mathematical expectation and dispersion of the prior distribution.

[0078] d refers to the measurement value for each user. The dispersion,

[0079] c refers to determining V ce The parameter indicating the degree to which the estimate is overestimated.

[0080] The configuration parameters d and c can be based on offline analysis of big data and updated from the cloud (i.e., server) of a specific storage device used on the mobile phone, which supports flexible control of TBW computing.

[0081] For the non-curved case, TotalSwapIO = (TBW_left – predicted_user_io) is represented by equation (6) given below.

[0082] DailySwapIO = (TBW_left – predicted_user_io) / days_left_till_3years(6)

[0083] in,

[0084] Predicted_user_io is calculated using an exponential moving average, with later values ​​having greater weight, and days_left_till_3years is calculated based on time_on.

[0085] In the non-curved case, predicted_user_io includes an initial period: 8 days based on big data - 35GB per day; the next 7 days: the same value as the initial period, to accumulate enough data to calculate the average daily IO; the average is calculated using an exponential moving average - the later values ​​have greater weight.

[0086] For the case of curves, TotalSwapIO = (TBW_left – predicted_user_io) is represented by equation (7) given below.

[0087]

[0088] In the case of curves, predicted_user_io includes an initial period: 7 days based on big data; the next 7 days: the same value as the initial period to accumulate enough data to calculate the average daily IO; the average is calculated using an exponential moving average - the later values ​​have greater weight.

[0089] In this case, F is a curve function that allows the model to offer more exchanges to the user at the beginning. The curve function is represented by equation (8) given below.

[0090]

[0091] In another aspect, a computer program product is provided, comprising a non-transitory computer-readable storage medium storing computer program code executable by a processor to perform method 100. Examples of implementations of the non-transitory computer-readable storage medium include, but are not limited to, electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), read-only memory (ROM), hard disk drive (HDD), flash memory, secure digital (SD) cards, solid-state drives (SSDs), computer-readable storage media, and / or CPU cache memory. The computer-readable storage medium used to provide the non-transitory memory may include, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof.

[0092] This method 100 provides an accurate estimate of the remaining flash memory lifetime, that is, an accurate estimate of the amount of data that can be written to the flash memory during its lifetime. This accurate estimate of the remaining lifetime can be made at any point in the flash memory's lifetime. This method 100 uses health data provided by standard flash interface characteristics already present in the flash memory. Therefore, estimating the remaining flash memory lifetime using this method 100 allows all types of users, such as light users who write small amounts of data and heavy users who write large amounts of data, to efficiently utilize the remaining flash memory. Compared to conventional methods, which estimate the remaining flash memory lifetime based on average terabytes written (TBW), device writes per day (DWPD), and write amplification factor (WAF) provided by the flash memory vendor, thus protecting only ordinary users. Optionally, this method 100 includes updating the flash memory lifetime model with wear rate, so user write behavior is considered every time the remaining flash memory lifetime is estimated. Furthermore, this method 100 is applicable to conventional flash memory and does not require hardware modification. Advantageously, this method 100 has no impact on input-output (IO) stream performance, and therefore no latency.

[0093] Figure 2A This is a block diagram of an apparatus for flash memory durability management provided in an embodiment of the present invention. (In conjunction with...) Figure 2A and Figure 2BA device 200 is shown. Device 200 includes a health monitor 202, a write estimator 204, a simulator 206, and a durability estimator 208. In one implementation, device 200 also includes a timer 210. Flash memory 212 is also shown communicatively coupled to the health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210. In one implementation, flash memory 212 may be part of device 200 for estimating remaining flash memory lifetime. In another exemplary implementation, flash memory 212 may be located in another device, wherein device 200 is communicatively coupled to the device including flash memory 212.

[0094] Device 200 is used to accurately estimate the remaining flash memory lifetime, that is, the amount of data that can be written to the device (i.e., flash memory 212) during its lifetime. This accurate estimation of remaining lifetime can be done at any point in the lifespan of flash memory 212. Therefore, device 200 enables many users to write more data than the flash memory 212 vendor guarantees and protects some heavy users (i.e., users who write large amounts of data) from being at risk due to abnormal write profiles, thereby extending the lifespan of flash memory 212.

[0095] Health monitor 202 is used to acquire health data for flash memory 212, as described in step 102 above. The health data includes the average number of erase cycles per memory block and the total amount of data written to flash memory 212. Health monitor 202 is used to acquire health data for monitoring the state of flash memory 212, identifying how much device resources (i.e., flash memory resources) have been used, and how close flash memory 212 is to the end of its lifespan. The average number of erase cycles per memory block with the maximum CE value can provide an accurate prediction of the lifespan of flash memory 212. It is advantageous to acquire the health data of flash memory 212 without involving any modifications to the hardware or external hardware presented to flash memory 212. In one example, the health data is provided by a flash interface function.

[0096] Write estimator 204 is used to determine a time-based write estimate based on the health data and runtime of flash memory 212, reflecting the amount of data written to flash memory 212 over a period of time. The time-based write estimate can identify the amount of data written to flash memory 212 over a period of time (e.g., 24 hours, i.e., daily). Because the time-based write estimate is received from health data, no modification to the current hardware is required. Write estimator 204 determines the time-based write estimate based on the health data and runtime of flash memory 212 to be able to estimate the remaining lifetime of flash memory 212 at any point in its lifetime.

[0097] Simulator 206 is used to update the lifetime model of flash memory 212, as described in step 106 above. Optionally, simulator 206 continuously collects wear rates to provide an estimate of the wear rate until the warranty period of flash memory 212 expires. The wear rate is continuously adjusted based on the acquired health data. Simulator 206 uses existing flash memory health parameters (i.e., health data) to identify the wear rate, thus requiring no additional hardware modifications. Therefore, device 200 can be implemented on any existing flash memory. The lifetime model is updated to smoothly incorporate device behavior changes (i.e., flash memory behavior changes) throughout the lifetime of flash memory 212. The lifetime model of flash memory 212 is used to estimate the lifetime, i.e., the duration until flash memory 212 can be used.

[0098] Durability estimator 208 is used to determine the remaining lifetime of flash memory 212 based on an updated lifetime model, and to determine additional write resources based on time-based write estimates and remaining lifetime. These additional write resources are the amount of extra data that can be written to flash memory 212 without affecting its warranty period. Determining the remaining lifetime of flash memory 212 enables the determination of the amount of extra data that can be written to it without risking the end of its lifetime. Therefore, the remaining lifetime allows many users to write more data than the flash memory 212 vendor guarantees, and protects heavy users (i.e., users who write large amounts of data) from risks such as abnormal write profiles, thereby extending the lifetime of flash memory 212. Because the remaining lifetime of flash memory 212 is based on an updated lifetime model, the remaining lifetime can be estimated frequently as needed. The purpose of the additional write resources is to guarantee at least 3 years of flash memory lifetime and support the operating system in effectively utilizing storage resources. Device 200 is able to determine additional write resources by taking into account user write profiles (through time-based write estimates and remaining lifetime). Therefore, device 200 determines additional write resources that are highly user-specific to increase the amount of data each user can write to flash memory 212 without affecting the corresponding warranty period. Device 200 has no impact on the input-output (IO) stream performance of flash memory 212 (i.e., no latency).

[0099] Flash memory 212 includes suitable logic, circuitry, and interfaces that can be used to store data received from one or more user devices. In one example, flash memory 212 can store received data even in the absence of power, meaning flash memory 212 is non-volatile flash memory, such as NAND flash memory.

[0100] According to one embodiment, the device 200 further includes a timer 210 for measuring the runtime of the flash memory 212. The timer 210 measures the time interval between data provided by the user for storage in the flash memory 212 and the time interval between the flash memory 212 storing the data in its storage space. Measuring the runtime of the flash memory 212 via the timer 210 determines a time write estimate, which is essential for determining additional write resources for the flash memory 212.

[0101] According to one embodiment, simulator 206 is used to update the lifetime model via Bayesian inference. When health data from flash memory 212 is collected periodically, simulator 206 uses this data to adjust the lifetime model via Bayesian inference. Bayesian inference is used to support updating the lifetime model based on periodically collected health data. This document uses Bayesian inference as an example; any other mathematical model can be used.

[0102] In one exemplary implementation, the health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210 are implemented as software modules. In another exemplary implementation, the health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210 may be implemented as dedicated circuitry within the device 200.

[0103] This device 200 provides an accurate estimate of the remaining flash memory lifetime, that is, an accurate estimate of the amount of data that can be written to the flash memory during its lifetime. This accurate estimate of remaining lifetime can be made at any point in the flash memory's lifetime. This device 200 uses health data provided by the standard flash memory interface characteristics already present in the flash memory 212. Therefore, estimating the remaining flash memory lifetime using this device 200 allows all types of users, such as light users who write small amounts of data and heavy users who write large amounts of data, to efficiently utilize the remaining flash memory. Compared to conventional devices, which estimate remaining flash memory lifetime based on average terabytes written (TBW), device writes per day (DWPD), and write amplification factor (WAF) provided by the flash memory 212 vendor, thus protecting only ordinary users. This device 200 is used to update the lifetime model of the flash memory 212 with wear rate, therefore, user write behavior is considered every time the remaining flash memory lifetime is estimated. Furthermore, this device 200 is applicable to conventional flash memory and requires no hardware modification. Advantageously, this device 200 has no impact on input-output (IO) stream performance, and therefore there is no delay.

[0104] Figure 2BThis is a block diagram of various components of an apparatus for flash memory durability management provided in another embodiment of the present invention. (In conjunction with...) Figure 2B Device 200 is shown. In this case, device 200 includes a computing device 214A with a flash drive 216A, in addition to the health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210. Processor 218, network interface 220, and flash memory 212 are also shown. Processor 218 is communicatively coupled to health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210.

[0105] According to one embodiment, device 200 further includes a computing device 214A having a flash drive 216A. The computing device 214A may include suitable logic, circuitry, and interfaces for mounting and operating the flash drive 216A. The flash drive 216A enables one or more users to store, back up, or transfer data to flash memory 212. In one example, the computing device 214A may also include other software drivers to enable communication between device 200 and flash memory 212 to obtain health data of flash memory 212.

[0106] Processor 218 is used to provide health data from flash memory 212 to health monitor 202 and to a server to update the lifetime model based on health data received from other flash memory. In one implementation, processor 218 is used to execute instructions stored in flash memory 212. In one example, processor 218 may be a general-purpose processor. Other examples of processor 218 may include, but are not limited to, microprocessors, microcontrollers, complex instruction set computing (CISC) processors, application-specific integrated circuit (ASIC) processors, reduced instruction set (RISC) processors, very long instruction word (VLIW) processors, central processing units (CPUs), state machines, data processing units, and other processors or control circuits. Furthermore, processor 218 may refer to one or more separate processors, processing devices, or processing units that are part of a machine (e.g., device 200). In one implementation, processor 218 can execute various modules, such as health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210, so that these modules can perform their corresponding functions.

[0107] Network interface 220 includes suitable logic, circuitry, and / or interfaces that can be used to communicate with one or more external devices, such as a server. Examples of network interface 220 may include, but are not limited to, antennas, telematics units, radio frequency (RF) transceivers, one or more amplifiers, one or more oscillators, digital signal processors, coder-decoder (CODEC) chipsets, and / or subscriber identity module (SIM) cards.

[0108] Therefore, device 200 provides an accurate estimate of the remaining flash memory lifetime, which can be made at any point in the flash memory's lifetime. Device 200 uses health data provided by the standard flash memory interface features already present in flash memory 212. Thus, estimating the remaining flash memory lifetime by device 200 enables all types of users, such as light users who write small amounts of data and heavy users who write large amounts of data, to efficiently utilize the remaining flash memory.

[0109] Figure 3 This is a block diagram of a system for flash memory durability management provided by an embodiment of the present invention. (In conjunction with...) Figure 3 System 300 is shown. System 300 includes device 200 and server 302 connected via network 304. Multiple devices 214B-214N, including flash drives 216B-216N, are also shown. Flash memory 212 is also shown. Device 200 includes health monitor 202, write estimator 204, simulator 206, durability estimator 208, and timer 210.

[0110] Server 302 includes suitable logic, circuitry, interfaces, or code for storing, accessing, or managing health data received from device 200 and one or more of the plurality of devices 214B-214N. In one example, server 302 may include components such as memory, processor, network adapter, etc., for storing, accessing, or managing health data. Server 302 is connected to device 200 and one or more external devices 214B-214N via network 304.

[0111] Network 304 includes a medium (e.g., a communication channel) through which the server communicates with device 200 and one or more external devices 214B-214N. Network 304 can be a wired or wireless communication network. Examples of network 304 may include, but are not limited to, wireless fidelity (Wi-Fi) networks, local area networks (LANs), wireless personal area networks (WPANs), wireless local area networks (WLANs), wireless wide area networks (WWANs), cloud networks, long term evolution (LTE) networks, plain old telephone service (POTS), metropolitan area networks (MANs), and / or the Internet.

[0112] In operation, server 302 is used to collect health data of flash memory 212 from device 200 and / or one or more other devices 214B-214N including flash drives 216B-216N of the same type (as described in step 102 above), and to update the lifetime model of flash memory 212 based on the collected health data (as described in step 106 above). Receiving health data from multiple devices 214B-214N enables adjustments to the lifetime model of flash memory 212 and other subsequent flash memory. Collecting health data allows for simulation analysis using the same model algorithm. Server 302 is used to analyze the health data to detect flash memory 212 users at risk, for example, due to their writing to configuration files, and to detect flash memory 212 models at risk, for example, due to their design. Multiple devices 214B-214N including flash drives 216B-216N can be associated with corresponding devices (e.g., device 200 of the present invention) and corresponding flash memory (e.g., flash memory 212). By collecting health data from multiple devices 214B-214N and updating the lifespan model of flash memory 212 based on the collected health data, a more accurate amount of additional data can be provided, which can be written to flash memory 212 without affecting the warranty period of flash memory 212.

[0113] Apparatus 200 is used to determine a time-write estimate (as described in step 104 above), determine the remaining lifetime of the flash memory based on an updated lifetime model (as described in step 108 above), and determine additional write resources based on the time-write estimate and remaining lifetime (as described in step 110 above). Since the server can collect health data and update the lifetime model, the health monitor 202 and simulator 206 in apparatus 200 are optional.

[0114] Optionally, server 302 is used to collect health data of flash memory 212 from device 200 and / or one or more other devices 214B-214N including flash drives of the same type 216B-216N (i.e., devices or apparatuses external to device 200) (as described in step 102 above), and send the collected health data to device 200. Device 200 then performs steps 104 to 110 above. In this case, health monitor 202 in device 200 may be optional.

[0115] System 300 provides an accurate estimate of the remaining flash memory lifetime, that is, an accurate estimate of the amount of data that can be written to the flash memory during its lifetime. This accurate estimate of remaining lifetime can be made at any point in the flash memory's lifetime. System 300 uses health data provided by the standard flash memory interface features already present in flash memory 212. Therefore, estimating the remaining flash memory lifetime through System 300 allows all types of users, such as light users who write small amounts of data and heavy users who write large amounts of data, to efficiently utilize the remaining flash memory 212. Optionally, System 300 is used to update the lifetime model of flash memory 212 based on wear rate, thus taking user write behavior into account each time the remaining flash memory lifetime is estimated. Furthermore, System 300 is applicable to conventional flash memory and requires no hardware modification. Advantageously, System 300 has no impact on input-output (IO) stream performance, and therefore no latency. By collecting health data from multiple devices and updating the lifetime model of flash memory 212 based on the collected health data, a more accurate amount of additional data that can be written to flash memory 212 can be provided without affecting the warranty period of flash memory 212.

[0116] Figure 4 This is an exemplary flowchart of a flash memory durability management process in a device provided by an embodiment of the present invention, the device supporting a method or apparatus for flash memory durability management. Process 400 is shown. Process 400 can be, for example, combined with... Figure 2A or Figure 2B This is implemented in the aforementioned apparatus. Process 400 includes steps 402 to 416.

[0117] In step 402, process 400 includes initializing flash memory durability management in a device (e.g., a mobile device with flash memory). In step 404, process 400 includes collecting health data (i.e., current health data) of the flash memory (e.g., flash memory 212), for example, in a manner combined with... Figure 1 The steps 102 of the described flash memory durability management method 100 are the same. In step 406, process 400 includes checking whether health data of flash memory 212 has been previously recorded. If health data of flash memory 212 has been previously recorded, steps 408, 410, and 412 are performed. If health data of flash memory 212 has not been previously recorded, steps 414 and 416 are performed. In step 408, process 400 includes comparing the current health data with previously recorded health data to determine whether the value of the health data has changed significantly. If the value of the health data has changed significantly, steps 410 and 412 are performed; if the value of the health data has not changed significantly, step 416 is performed. In step 410, process 400 includes adjusting the parameters of the lifetime model of flash memory 212, which may involve combining... Figure 1 Steps 104 to 108 of method 100 are the same actions. In step 412, process 400 includes estimating the lifetime of flash memory 212, which may also include recording or storing the lifetime estimate for future reference until a new estimate is obtained. Estimating the lifetime of flash memory in step 412 may involve combining with... Figure 1 Steps 110 to 112 of method 100 are the same actions. In step 414, process 400 includes recording or saving health data of flash memory 212. The health data of flash memory 212 may be saved for the first time in step 414, or it may be saved after the lifetime estimation of process 400. In step 416, process 400 includes waiting for further collection of health data of flash memory 212.

[0118] Figure 5 This is a graphical representation provided by an embodiment of the present invention, which describes a user's dynamic V CE Distribution, with average V CE And a normal distribution, to show the growth rate of the erase cycle (CE) for each block of flash memory. Combined with Figure 5 Flash memory (e.g.) is shown Figure 2A and Figure 2B A graphical representation of the growth rate of the erase cycle (CE) of each block of the flash memory 212 (500).

[0119] In graphical representation 500, the CE growth rate on the X-axis 502 and the number of records on the Y-axis 504 are shown. A user's dynamic V is also shown. CE Distribution 506, average V CE508 and normal distribution 510.

[0120] The average growth rate of CE over three years is expressed by equation (1) (e.g.) Figure 1 (As described in the text). Mathematical models can be applied to estimate V at any point during the flash memory's lifetime, based on the dynamic rate of CE growth and the static rate of CE growth. CE The dynamic rate of CE growth is called... It refers to the V on a specific flash memory during the use of that flash memory. CE The online measurement value. The static rate of CE growth is called... It is calculated based on offline measurements (not shown here).

[0121] In practice, in real devices, flash memory It is influenced by many random factors, therefore it is not equal to the true V. CE In other words, each measurement Get V CE And some noise. Therefore, V is considered in the mathematical model. CE and The difference between them, so as to estimate V at any point during the lifetime of the flash memory. CE In one example, that is, during the actual operation of the flash memory, if the real V... CE That is, the average V CE 508 is 0.142 and The measured value, i.e., dynamic V CE If 506a is 0.167, then in this case, the noise 512 equals 0.025, which is... The measured value and the true V CE That is, the average V CE The difference between 508 and 508. This difference is considered a normal random variable.

[0122] Figure 6 The embodiments of the present invention provide a description of the user V used as part of Bayesian inference. CE A graphical representation of the prior distribution of the expected value. Combined with... Figure 6 This illustrates that before receiving any specific data (i.e., health data) from flash memory 212, the flash memory (e.g.) Figure 2A and Figure 2B A graphical representation of the expected erase cycle (CE) growth rate of the flash memory (212) (600).

[0123] The graph 600 represents the distribution of CE growth rate on the X-axis 602 and the number of records on the Y-axis 604. It shows the most likely V. CEThe value is 606, representing the most likely CE growth rate. This data (i.e., the record) is based on health data collection from multiple devices (e.g., multiple devices 214B-214N).

[0124] As is well known, Bayesian inference is a type of statistical inference, in which Bayes' theorem is used to update the probability of a hypothesis as more evidence or information becomes available. In this invention, optionally, Bayesian inference is used to support updating the lifetime model based on health data that can be collected periodically. Bayesian inference, as a lifetime model, dynamically reflects changes in flash memory wear patterns caused by various factors (device and subsystem operating characteristics, available free space, ambient temperature, the spectrum of tasks the user needs to solve on the device, etc.).

[0125] In this context, in graphical representation 600, the prior distribution represents the user V before any particular data (observed evidence). CE The expected value. Therefore, this prior distribution answers the question: from what probability will a randomly selected user have this or that value (i.e., which value). For example, consider a potential new member (pnm).

[0126] Distribution. The peak of the prior distribution corresponds to the most popular... Value (i.e., the most likely V) CE The value is 606. This means that the number of users with this value is greater than the number of users with any other value. Therefore, if users are randomly selected, a precise peak is likely to be expected. However, each time a value is received... When the new measurement value is obtained, user V CE Expectations will change.

[0127] Figure 7 This is a graphical representation of the expected rate of increase in the erase cycle (CE) and the actual rate of increase in the CE of a flash memory, provided by embodiments of the present invention. Combined with... Figure 7 Flash memory (e.g.) is shown Figure 2A and Figure 2B The expected rate of CE growth and the actual rate of CE growth of the flash memory (212) are graphically represented in 700.

[0128] The graph 700 represents the CE growth rate on the X-axis 702 and the number of records on the Y-axis 704. The first curve 706 is shown, representing the expected rate of CE growth, i.e., the V from beta users. CE A second curve 708 is also shown, representing the expected rate of CE growth, i.e., V when some online measurements are received. CEThe third curve 710 is also shown, representing the final distribution of the dynamic rate of CE growth, i.e., the actual rate of CE growth. Bayesian inference derives the posterior probability (represented by the second curve 708), as a result of the prior probability (represented by the first curve 706) and the likelihood function (represented by the third curve 710) derived from the statistical model of the observed data. Each time... When the new measurement value is obtained, user V CE Expectations will change. In one example, if Higher than V CE The expectation is that V will be higher. CE .if Less than V CE The expectation is that the V is smaller. CE The average value of the third curve, 710, is 712, representing the true V. CE .

[0129] Modifications to the embodiments of the invention described above may be made without departing from the scope of the invention as defined in the appended claims. Expressions such as “comprising,” “integrating,” “having,” “is / are,” etc., used to describe and claim the invention are intended to be interpreted in a non-exclusive manner, allowing for the presence of items, components, or elements not explicitly described. Singular references should also be interpreted in relation to the plural. The word “exemplary” as used herein means “as an example, instance, or illustration.” Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments, and / or does not exclude features in combination with other embodiments. The word “optionally” as used herein means “provided in some embodiments and not in others.” It should be understood that certain features of the invention described in the context of a single embodiment for clarity may also be provided in combination in a single embodiment. Conversely, various features of the invention described in the context of a single embodiment for clarity may also be provided individually or by any suitable combination or as embodiments of the invention as described in any other way.

Claims

1. A flash memory durability management method (100, 400), characterized in that, include: Obtain health data of the flash memory (212), the health data including the average number of erase cycles per memory block and the total amount of data written to the flash memory (212); Based on the health data and runtime of the flash memory (212), a time write estimate reflecting the amount of data written to the flash memory (212) over a period of time is determined; The lifetime model of the flash memory (212) is updated based on the health data; The remaining lifetime of the flash memory (212) is determined based on the updated lifetime model; Additional write resources are determined based on the time write estimate and the remaining lifetime, which are additional amounts of data that can be written to the flash memory (212) without affecting its warranty period.

2. The method (100, 400) according to claim 1, characterized in that, It also includes measuring the runtime of the flash memory (212).

3. The method (100, 400) according to claim 1 or 2, characterized in that: The acquisition of the health data of the flash memory (212) includes: acquiring the health data of the flash memory (212) from a device including the flash memory (212); and / or The process of updating the lifetime model of the flash memory (212) based on the health data includes: determining the wear rate based on the health data, and updating the lifetime model of the flash memory (212) based on the wear rate.

4. The method (100, 400) according to claim 1 or 2, characterized in that, The process of acquiring the health data from the flash memory (212) includes: The health data of the flash memory (212) is collected from a device including the flash memory (212) and one or more other devices (214B-214N) including one or more flash drives (216B-216N) of the same type, or from one or more other devices (214B-214N) including one or more flash drives (216B-216N) of the same type.

5. The method (100, 400) according to claim 1 or 2, characterized in that, The lifespan model is updated using Bayesian inference.

6. A device (200) for flash memory durability management, characterized in that, include: A health monitor (202) is used to acquire health data of the flash memory (212), the health data including the average number of erase cycles per memory block and the total amount of data written to the flash memory (212); A write estimator (204) is used to determine a time write estimate reflecting the amount of data written to the flash memory (212) over a period of time, based on the health data and runtime of the flash memory (212). A simulator (206) is used to update the lifetime model of the flash memory (212) based on the health data; Durability estimator (208), for The remaining lifetime of the flash memory (212) is determined based on the updated lifetime model; Additional write resources are determined based on the time write estimate and the remaining lifetime, which are additional amounts of data that can be written to the flash memory (212) without affecting its warranty period.

7. The apparatus (200) according to claim 6, characterized in that, It also includes a timer (210) for measuring the runtime of the flash memory (212).

8. The apparatus (200) according to claim 6, characterized in that, The simulator (206) is used to update the lifetime model through Bayesian inference.

9. The apparatus (200) according to any one of claims 6 to 8, characterized in that: The step of obtaining the health data of the flash memory (212) includes: obtaining the health data of the flash memory (212) from the flash memory (212); The process of updating the lifetime model of the flash memory (212) based on the health data includes: determining the wear rate based on the health data, and updating the lifetime model of the flash memory (212) based on the wear rate.

10. The apparatus (200) according to any one of claims 6 to 8, characterized in that, The process of acquiring the health data from the flash memory (212) includes: The health data of the flash memory (212) is collected from the flash memory (212) and one or more external devices (214B-214N) including flash drives (216B-216N) of the same type, or from the one or more external devices (214B-214N) including flash drives (216B-216N) of the same type.

11. The apparatus (200) according to any one of claims 6 to 8, characterized in that, This includes a computing device (214A) with a flash drive (216A).

12. A system (300) for flash memory durability management, characterized in that, include: The device (200) as described in any one of claims 6-11 includes flash memory (212); Server (302), used for The health data of the flash memory (212) is collected from the device (200) and one or more external devices (214B-214N) including one or more flash drives (216B-216N) of the same type, or from the one or more external devices (214B-214N) including the same type of flash drives (216B-216N).

13. The system (300) according to claim 12, characterized in that, The server (302) is also used for: The lifetime model of the flash memory (212) is updated based on the collected health data.

Citation Information

Patent Citations

  • Flash memory service life prediction method and system and storage medium

    CN109830254A

  • Preventive Measures for Adaptive Flash Tuning

    US20170133107A1