Flash memory block management method and system
By collecting and predicting various state feature information in the flash block management system in real time and using the intelligent cluster management module for management, the problem of insufficient reliability and real-time performance of existing flash block management methods is solved, and more efficient flash block management and fault prediction are achieved.
Patent Information
- Application Number
- CN202411637768.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-02-28
AI Technical Summary
The existing flash block management methods have poor reliability and real-time performance, and there is a risk of data loss. Especially in 3D NAND storage media, the problem of inconsistent life between blocks is even more serious.
A flash block management method and system are adopted, including a data acquisition module, a flash block state prediction module and an intelligent cluster management module. By collecting various types of state feature information in real time, state prediction is performed based on the operating state prediction model, and intelligent cluster management is carried out based on the prediction information, real-time management and fault prediction of flash blocks are realized.
It improves the reliability and real-time nature of the flash block management method, reduces the risk of data loss, and uses real-time state prediction and intelligent management to sense the errors and failures of flash blocks in advance, extending the service life.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of flash memory block management, and in particular to a flash memory block management method and system. Background Art
[0002] As the 3D NAND process technology shrinks and the physical structure becomes more complex, the process differences of the basic unit flash memory blocks inside the 3D NAND storage medium will become more prominent, and the phenomenon of inconsistent lifespans between blocks will become more and more serious. As the number of 3D NAND stacking layers increases, the capacity of the blocks becomes larger and larger. Once a failure occurs, a large amount of data will be lost, so the management of the blocks will become extremely important. Block management is essentially a trade-off between service life and reliability. Under the premise of ensuring reliability, the service life should be extended as much as possible.
[0003] At present, the block management method is to replace or skip the bad block after the block fails. The processing is performed after the failure occurs, which has the risk of data loss. The reliability and real-time performance of the existing block management method are poor. Summary of the invention
[0004] The embodiments of the present application provide a flash memory block management method and system to solve the problems of poor reliability and real-time performance of the flash memory block management method in the prior art.
[0005] The technical solutions provided by the embodiments of this application are as follows:
[0006] On the one hand, an embodiment of the present application provides a flash memory block management method, which is applied to a flash memory block management system. The flash memory block management system includes: a data acquisition module, a flash memory block state prediction module and an intelligent cluster management module. The flash memory block state prediction module is connected to the data acquisition module and the intelligent cluster management module respectively; the flash memory block management method includes:
[0007] The data acquisition module collects the state characteristic information of each flash memory block in the solid state hard disk in real time, and sends the state characteristic information of each flash memory block to the flash memory block state prediction module; wherein the types of state characteristic information include time information, power information, storage identification information, operation information and environmental information;
[0008] The flash block state prediction module receives state characteristic information of each flash block in the solid state drive; based on the running state prediction model, obtains the state prediction information of each flash block in the solid state drive, and sends the state prediction information of each flash block in the solid state drive to the intelligent cluster management module; wherein the state prediction information includes the remaining life of the block, the block inspection cycle, the block wear rate, the block failure rate, the block data storage recommended value and the optimal block read voltage;
[0009] The intelligent cluster management module performs clustering decision processing on each flash block according to the state prediction information of each flash block, obtains cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster; and manages each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster.
[0010] In a possible implementation, the intelligent cluster management module performs clustering decision processing on each flash block according to the state prediction information of each flash block, and obtains cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster, including:
[0011] The intelligent cluster management module inputs the state prediction information of each flash memory block into the intelligent decision model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal inspection cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information.
[0012] In a possible implementation, the operation status prediction model includes a plurality of first prediction sub-models, and the first prediction sub-models correspond one-to-one to the first features of the flash memory blocks; wherein the first features include position features and / or functional features;
[0013] The flash block state prediction module obtains the state prediction information of each flash block in the solid state drive based on the running state prediction model, including:
[0014] The flash block state prediction module performs clustering processing on each flash block in the solid state drive according to the first feature of each flash block in the solid state drive to obtain an initial flash block cluster;
[0015] For each initial flash block cluster, the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model to obtain the state prediction information of each flash block in the flash block cluster.
[0016] In a possible implementation, the operation status prediction model includes a plurality of second prediction sub-models, and the second prediction sub-models correspond one-to-one to the flash memory blocks;
[0017] The flash block state prediction module obtains the state prediction information of each flash block in the solid state drive based on the running state prediction model, including:
[0018] The flash block state prediction module inputs the state feature information of each flash block into the second prediction sub-model corresponding to the flash block to obtain the state prediction information of the flash block.
[0019] In a possible implementation, the first prediction sub-model includes a first data preprocessing module and a first state prediction module; the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model for each initial flash block cluster, and obtains the state prediction information of each flash block in the flash block cluster, including:
[0020] The state characteristic information of each flash memory block in the initial flash memory block cluster is screened according to a preset first screening rule by a first data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information;
[0021] The first state prediction module performs feature information fusion on the target state feature information to obtain state prediction information of each flash memory block in the flash memory block cluster.
[0022] In a possible implementation, the second prediction sub-model includes a second data preprocessing module and a second state prediction module; the flash block state prediction module inputs state feature information of the flash block into the second prediction sub-model corresponding to the flash block for each flash block, and obtains state prediction information of the flash block, including:
[0023] The state characteristic information of the flash memory block is screened according to a preset second screening rule by a second data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information;
[0024] The second state prediction module performs feature information fusion on the target state feature information to obtain state prediction information of the flash memory block.
[0025] In a possible implementation, the intelligent cluster management module manages each flash block in the target flash block cluster according to the optimal management parameter of each target flash block cluster, including:
[0026] For each target flash block cluster block, dynamic inspection management is performed on each flash block of the target flash block cluster based on the optimal inspection cycle in the optimal management parameters; hot and cold data management is performed on each flash block of the target flash block cluster based on the optimal hot and cold data information in the optimal management parameters; bad block management is performed on each flash block of the target flash block cluster based on the optimal bad block information in the optimal management parameters; wear leveling management is performed on each flash block of the target flash block cluster based on the optimal wear information in the optimal management parameters; read voltage management is performed on each flash block of the target flash block cluster based on the optimal cluster read voltage information in the optimal management parameters.
[0027] In one possible implementation, the time information includes at least one of programming time, reading time and erasing time; the power information includes at least one of current, chip power consumption and threshold voltage distribution; the storage identification information includes at least one of storage block number and storage page number; the operation information includes at least one of the current programming cycle number, the current erase cycle number, the conditional error page number, the conditional error block number, the error bit number and the error rate; and the environmental information includes the internal temperature of the particle.
[0028] On the other hand, an embodiment of the present application provides a flash memory block management system, including: a data acquisition module, a flash memory block state prediction module and an intelligent cluster management module, the flash memory block state prediction module is connected to the data acquisition module and the intelligent cluster management module respectively;
[0029] A data acquisition module is used to collect state characteristic information of each flash memory block in the solid state hard disk in real time, and send the state characteristic information of each flash memory block to the flash memory block state prediction module; wherein the types of state characteristic information include time information, power information, storage identification information, operation information and environment information;
[0030] A flash memory block state prediction module is used to receive state characteristic information of each flash memory block in the solid state drive; based on the running state prediction model, the state prediction information of each flash memory block in the solid state drive is obtained, and the state prediction information of each flash memory block in the solid state drive is sent to the intelligent cluster management module; wherein the state prediction information includes the remaining life of the block, the block inspection cycle, the block wear rate, the block failure rate, the block data storage recommended value and the optimal block read voltage;
[0031] The intelligent cluster management module is used to perform clustering decision processing on each flash block according to the state prediction information of each flash block, obtain cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster; and manage each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster.
[0032] In a possible implementation, the intelligent cluster management module is specifically used to:
[0033] The state prediction information of each flash memory block is input into the intelligent decision-making model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal inspection cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information.
[0034] The beneficial effects of the embodiments of the present application are as follows:
[0035] In the embodiment of the present application, the real-time state prediction of the flash memory block is performed based on multiple types of state feature information including time information, power information, storage identification information, operation information and environmental information collected in real time and a preset operation state prediction model, and each flash memory block is managed according to the obtained state prediction information. Multiple types of state feature information can improve the accuracy of state prediction, and real-time state prediction can perceive the errors and failures of the flash memory block in advance, thereby improving the reliability of the flash memory block management method. The flash memory block management method is to perform state prediction based on the real-time collected data, and manage the flash memory block in real time based on the state prediction information, thereby improving the real-time performance of the flash memory block management method. In addition, the flash memory blocks are clustered into target flash memory block clusters through a clustering method, so as to achieve unified management based on the target flash memory block clusters.
[0036] Other features and advantages of the present application will be described in the subsequent description, and in part, will become apparent from the description, or will be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0038] Figure 1 This is a schematic diagram of a first system framework of a flash memory block management system in an embodiment of the present application;
[0039] Figure 2 Schematic diagram of the overall framework of the flash memory block management method in the embodiment of the present application;
[0040] Figure 3 This is a schematic diagram of an overview of a first method for determining state prediction information in a flash memory block management method in an embodiment of the present application;
[0041] Figure 4 A schematic diagram of a preset table format formed by splicing flash memory block data in an embodiment of the present application;
[0042] Figure 5 Schematic diagram of the second system framework of the flash memory block management system in the embodiment of the present application. DETAILED DESCRIPTION
[0043] In order to make the purpose, technical solution and beneficial effects of this application clearer, the technical solution in the embodiment of this application will be clearly and completely described below in conjunction with the drawings in the embodiment of this application. Obviously, the described embodiment is only a part of the embodiment of this application, not all the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0044] It should be noted that the "first", "second", etc. mentioned in this application are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be interchanged where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the "and / or" mentioned in this application describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.
[0045] The present application embodiment provides a flash memory block management method, which is applied to a flash memory block management system. Figure 1 As shown, the flash block management system 100 includes: a data acquisition module 110, a flash block state prediction module 120 and an intelligent cluster management module 130, and the flash block state prediction module 120 is connected to the data acquisition module 110 and the intelligent cluster management module 130 respectively. Figure 2 As shown, the overview process of the flash memory block management method provided in the embodiment of the present application is as follows:
[0046] Step 201: The data acquisition module collects the status characteristic information of each flash memory block in the solid state drive in real time, and sends the status characteristic information of each flash memory block to the flash memory block status prediction module; wherein the types of status characteristic information include time information, power information, storage identification information, operation information and environmental information.
[0047] In practical applications, time information refers to the time for performing operations such as programming, reading, and erasing on the flash memory block. Power information refers to the parameter information corresponding to the electrical environment in which the flash memory block is located. Storage identification information is identification information that characterizes the storage location of the flash memory block. Operation information is specific information that characterizes the number of various operations performed on the flash memory block and erroneous operations. Environmental information refers to the temperature information of the flash memory block environment.
[0048] In one possible implementation, the time information includes at least one of programming time, reading time and erasing time; the power information includes at least one of current, chip power consumption and threshold voltage distribution; the storage identification information includes at least one of storage block number and storage page number; the operation information includes at least one of the current programming cycle number, the current erase cycle number, the conditional error page number, the conditional error block number, the error bit number and the error rate; and the environmental information includes the internal temperature of the particle.
[0049] Step 202: The flash memory block state prediction module receives state characteristic information of each flash memory block in the solid state drive; based on the running state prediction model, obtains the state prediction information of each flash memory block in the solid state drive, and sends the state prediction information of each flash memory block in the solid state drive to the intelligent cluster management module; wherein the state prediction information includes the remaining life of the block, the block inspection cycle, the block wear rate, the block failure rate, the block data storage recommended value and the optimal block read voltage.
[0050] In practical applications, the operation state prediction model can be set in the cloud, PC, DPU or main control end. The operation state prediction model can predict the operation state of each flash block according to the input state characteristic information of each flash block, and output the state prediction information of each flash block, wherein the state prediction information represents the possible operation state of the flash block within the preset time in the future. The state prediction information includes the remaining life of the block, the block inspection cycle, the block wear rate, the block failure rate, the block data storage recommended value and the optimal block read voltage. The remaining life of the block is the maximum number of wear times of the functional characteristics of the flash block within the preset specifications. The block inspection cycle is the time interval for inspecting the flash block. The block wear rate is the degree of wear of the flash block. The block failure rate is the probability of a flash block failure. The block data storage recommended value is a value that represents whether the flash block is suitable for data storage within the preset time. Specifically, it can be a value that represents the flash block as a cold data block or a value that represents the flash block as a hot data block. Among them, the hot data block is a flash block that has been erased and written in a large amount in a short period of time based on the recent business volume; the cold data block is a flash block that has not been erased for a long time based on the recent business volume. The optimal block read voltage is the optimal reference voltage for a page in NAND.
[0051] In the specific implementation, after the flash block status prediction module receives the status feature information of each flash block in the solid-state drive, a method for obtaining the status prediction information of each flash block in the solid-state drive based on the running status prediction model can be divided into the following two types according to the type of the running status prediction model.
[0052] The first type: the operation status prediction model includes a plurality of first prediction sub-models, and the first prediction sub-models correspond to the first features of the flash memory blocks one by one; wherein the first features include location features and / or functional features. Figure 3As shown, the flash block state prediction module obtains the state prediction information of each flash block in the solid state drive based on the running state prediction model, which can be adopted but not limited to:
[0053] Step 301: The flash block state prediction module performs clustering processing on each flash block in the solid state drive according to the first feature of each flash block in the solid state drive to obtain an initial flash block cluster;
[0054] Step 302: For each initial flash block cluster, the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model to obtain the state prediction information of each flash block in the flash block cluster.
[0055] In practical applications, the position feature refers to the physical position of the flash memory block in the solid-state hard disk, and the functional feature refers to at least one of the programming time, erase time and number of error bits of the flash memory block. Clustering processing refers to clustering the flash memory blocks using K-means clustering, hierarchical clustering or DBSCAN clustering methods. Flash memory blocks with similar position information and / or functional information are divided into a flash memory block cluster, and each flash memory block cluster is numbered to obtain a second cluster number. Among them, the second cluster number is the identification information of the flash memory block cluster obtained by clustering the first feature. The state prediction module includes a plurality of first prediction sub-models, and the first prediction sub-model is pre-trained according to the state feature information and the corresponding state prediction information of the corresponding flash memory block cluster. Specifically, the state prediction module may include a plurality of first prediction sub-models, and the first prediction sub-model is pre-trained according to the state feature information and the corresponding state prediction information of the corresponding flash memory block cluster.
[0056] In a specific implementation, the first prediction sub-model includes a first data preprocessing module and a first state prediction module; the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model for each initial flash block cluster, and obtains the state prediction information of each flash block in the flash block cluster, which can be adopted but not limited to the following methods:
[0057] The state characteristic information of each flash memory block in the initial flash memory block cluster is screened according to a preset first screening rule by a first data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information;
[0058] The first state prediction module performs feature information fusion on the target state feature information to obtain state prediction information of each flash memory block in the flash memory block cluster.
[0059] In actual applications, the first screening rule refers to screening out a group of status characteristic information that is incomplete or has data anomalies in the status characteristic information of each flash memory block in the initial flash memory block cluster, while retaining each group of status characteristic information that is complete and has no data anomalies in the status characteristic information of each flash memory block in the initial flash memory block cluster. That is, what is retained is the status characteristic information in which the time information, power information, storage identification information, operation information and environmental information all exist and have no data anomalies. When at least one of the time information, power information, storage identification information, operation information and environmental information is incomplete, or at least one of the time information, power information, storage identification information, operation information and environmental information exceeds the normal range of change of the information, all groups of time information, power information, storage identification information, operation information and environmental information in the status characteristic information are deleted. The step of converting the format of the filtered information may include but is not limited to: splicing the data of each flash memory block in the filtered initial flash memory block cluster into a preset table format, such as Figure 4 As shown, the table format uses the flash memory block number as a column, and each corresponding row of data is the time information, power information, storage identification information, operation information and environment information of the corresponding flash memory block in sequence.
[0060] The second type: the operation state prediction model includes a plurality of second prediction sub-models, and the second prediction sub-models correspond to the flash memory blocks one by one; the flash memory block state prediction module obtains the state prediction information of each flash memory block in the solid state drive based on the operation state prediction model, which can be adopted but not limited to:
[0061] The flash block state prediction module inputs the state feature information of each flash block into the second prediction sub-model corresponding to the flash block to obtain the state prediction information of the flash block.
[0062] In practical applications, the operation status prediction model includes a plurality of second prediction sub-models, and the second judgment sub-model is pre-trained according to the status feature information of the corresponding flash memory block and the corresponding status prediction information.
[0063] In a specific implementation, the second prediction sub-model includes a second data preprocessing module and a second state prediction module; the flash block state prediction module inputs the state feature information of the flash block into the second prediction sub-model corresponding to the flash block for each flash block, and obtains the state prediction information of the flash block, which can be adopted but not limited to the following methods:
[0064] The state characteristic information of the flash memory block is screened according to a preset second screening rule by a second data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information;
[0065] The second state prediction module performs feature information fusion on the target state feature information to obtain state prediction information of the flash memory block.
[0066] In practical applications, the second screening rule refers to screening out a group of incomplete or data-abnormal state feature information in the state feature information of the flash memory block, and retaining each group of complete and data-abnormal state feature information in the state feature information of the flash memory block. The second data preprocessing module performs format conversion on the screened state feature information in the same manner as the first data preprocessing module, and will not be described in detail here.
[0067] Step 203: The intelligent cluster management module performs clustering decision processing on each flash block according to the state prediction information of each flash block, obtains cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster; manages each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster.
[0068] In practical applications, the intelligent cluster management module can cluster the flash blocks and make decisions based on the target flash block cluster according to the state prediction information of each flash block, obtain the cluster information of multiple target flash block clusters and the optimal management parameters of each target flash block cluster, and perform real-time management based on the target flash block cluster. The cluster information of the target flash block cluster includes the cluster number and the identification information of each flash block in the cluster, and the optimal management parameters of the target flash block cluster include the optimal inspection cycle, the optimal hot and cold data information, the optimal bad block information, the optimal wear information, and the optimal cluster read voltage information.
[0069] In specific implementation, the intelligent cluster management module performs clustering decision processing on each flash block according to the state prediction information of each flash block, and obtains cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster, which can be implemented in but not limited to the following ways:
[0070] The intelligent cluster management module inputs the state prediction information of each flash memory block into the intelligent decision model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal inspection cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information.
[0071] In practical applications, the intelligent decision model can be set up in: the cloud, PC, DPU or main control end. The input to the intelligent decision model is the status prediction information of each flash block. The output of the intelligent decision model is the cluster information of each target flash block cluster and the optimal management parameters of each target flash block cluster. The optimal inspection cycle is the unified inspection time interval for each flash block in the target flash block cluster. The optimal cold and hot data information represents the reading frequency of the target flash block cluster, which is divided into the values of cold flash block cluster or hot flash block cluster. The optimal bad block information represents the average failure rate and average remaining life of the target flash block cluster. The optimal wear information is the average wear degree of each flash block in the target flash block cluster, and the optimal cluster read voltage information is the unified read voltage of each flash block in the target flash block cluster.
[0072] In specific implementation, the intelligent cluster management module manages each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster, which can be implemented in the following ways but not limited to:
[0073] For each target flash block cluster block, dynamic inspection management is performed on each flash block of the target flash block cluster based on the optimal inspection cycle in the optimal management parameters; hot and cold data management is performed on each flash block of the target flash block cluster based on the optimal hot and cold data information in the optimal management parameters; bad block management is performed on each flash block of the target flash block cluster based on the optimal bad block information in the optimal management parameters; wear leveling management is performed on each flash block of the target flash block cluster based on the optimal wear information in the optimal management parameters; read voltage management is performed on each flash block of the target flash block cluster based on the optimal cluster read voltage information in the optimal management parameters.
[0074] In practical applications, for each target flash block cluster block, the intelligent cluster management module adjusts the inspection cycle of each flash block of the target flash block cluster according to the optimal inspection cycle. The intelligent cluster management module determines whether to transfer the data stored in each flash block in the target flash block cluster according to the optimal hot and cold data information, that is, when the target flash block cluster is determined to be a hot flash block cluster according to the optimal hot and cold data information, the data stored in each flash block in the target flash block cluster is transferred to other cold flash block clusters; when the target flash block cluster is determined to be a cold flash block cluster according to the optimal hot and cold data information, no transfer processing is performed to achieve a higher degree of wear leveling. The intelligent cluster management module determines whether each flash block of the target flash block cluster is a potentially failed flash block according to the optimal bad block information, that is, if the average failure rate of the target flash block cluster exceeds the preset threshold, or the average remaining life of the target flash block cluster is lower than the preset threshold, then each flash block of the target flash block cluster is regarded as a potentially failed flash block, the data in the potentially failed flash block is moved to other flash blocks, and the use of each flash block in the target flash block cluster is stopped, thereby improving the reliability of data storage. The intelligent cluster management module controls the wear rate of all flash blocks in the solid-state hard disk to be the same based on the optimal wear information and the preset wear leveling algorithm to ensure that the capacity of the storage device does not decay. Specifically, the intelligent cluster management module determines whether to transfer the data stored in each flash block in the target flash block cluster block according to the optimal wear information. The intelligent cluster management module can also adjust the use priority of each flash block in the target flash block cluster block according to the optimal wear information, so that each flash block is used according to the use priority when external data is written. The intelligent cluster management module sets the read voltage of each flash block in the target flash block cluster according to the cluster read voltage information. In this way, the intelligent cluster management module moves data before the flash block fails according to the optimal bad block information in the optimal management parameters, shields the target flash block cluster where the flash block with potential failure exists, and can also move the data out before the function of the data block fails, so that data loss will not occur, greatly improving the reliability of data storage. The intelligent cluster management module manages the wear degree of the flash blocks in each target flash block cluster according to the optimal wear information in the optimal management parameters, so that each flash block can be worn to the end of its life, which can improve the utilization rate of the flash block function and greatly increase the total amount of data that can be written to the solid-state hard disk. The intelligent cluster management module accurately manages the inspection cycle of the corresponding target flash block cluster according to the optimal inspection cycle in the optimal management parameters, thereby effectively ensuring data reliability while reducing power consumption.
[0075] It is worth mentioning that the present application predicts the state of the flash memory block in real time based on the real-time collected state feature information including time information, power information, storage identification information, operation information and environmental information and the preset operation state prediction model, and manages each flash memory block according to the obtained state prediction information. The various types of state feature information can improve the accuracy of the state prediction, and the real-time state prediction can perceive the errors and failures of the flash memory block in advance, thereby improving the reliability of the flash memory block management method. The flash memory block management method predicts the state according to the real-time collected data, and manages the flash memory block in real time according to the state prediction information, thereby improving the real-time performance of the flash memory block management method. In addition, the flash memory blocks are clustered into target flash memory block clusters through a clustering method, so as to realize unified management based on the target flash memory block clusters. In addition, the flash memory block management method proposed in the present application can adopt intelligent decision-making management technology for the complex state of the flash memory block, collect the complex state feature information in the working state of the flash memory block, and automatically analyze and comprehensively process it under certain criteria with a machine learning algorithm, so as to realize the ultimate management of the flash memory block performance.
[0076] In a possible implementation, before using the running state prediction model, the running state prediction model needs to be trained. When the running state prediction model includes multiple first prediction sub-models, each first prediction sub-model can be trained in the following manner:
[0077] First, a first training set is obtained; wherein the first training set includes multiple groups of state feature information of multiple flash memory blocks having the same first feature;
[0078] Then, the multiple groups of state feature information of each flash memory block in the first training set are input into the first prediction sub-model in turn to obtain the state prediction result of each flash memory block;
[0079] Next, based on the state prediction results and state labeling results of each flash memory block in the first training set, a first cross entropy loss function value is determined; wherein the state labeling result is determined according to the actual operating state of each flash memory block after a preset time;
[0080] Finally, based on the first cross entropy loss function value, the model parameters of the first prediction sub-model are updated.
[0081] In practical applications, the first training set includes multiple groups of state feature information corresponding to multiple flash memory blocks, wherein the first features of each flash memory block in the first training set are the same. The first prediction sub-model includes a first data preprocessing module and a first state prediction module; in specific implementation, firstly, the flash memory block state prediction module filters each group of state feature information corresponding to each flash memory block through the first data preprocessing module according to a preset first screening rule, and performs format conversion on the filtered state feature information to obtain target state feature information; then, the first state prediction module performs feature information fusion on the target state feature information to obtain the state prediction result of each flash memory block in the flash memory block cluster. The flash memory block state prediction module can choose to use the first cross entropy loss function to determine the first cross entropy loss function value for the state prediction results and state labeling results of multiple flash memory blocks in the first training set; wherein the state labeling result is determined based on the actual operating state of each flash memory block after a preset time; the first cross entropy loss value can measure the degree of difference between the state prediction result and the state labeling result. The smaller the first cross entropy loss value, the better the prediction effect of the first state prediction model. Based on this, in an embodiment of the present application, the flash memory block state prediction module can calculate the first cross entropy loss value between the state prediction result and the state labeling result corresponding to each group of state feature information of each flash memory block in the first training set, and determine whether each first cross entropy loss value is less than a preset threshold. When each first cross entropy loss value is not less than the preset threshold, the model parameters of the first state prediction model are updated, and the above steps after obtaining the first training set are repeated until each first cross entropy loss value is less than the preset threshold, thereby obtaining the final first state prediction model.
[0082] When the running state prediction model includes multiple second prediction sub-models, each second prediction sub-model can be trained in the following manner:
[0083] First, a second training set is obtained; wherein the second training set includes multiple groups of state feature information of a flash memory block;
[0084] Then, multiple groups of state feature information in the second training set are respectively input into the second prediction sub-model to obtain the state prediction result of the flash memory block;
[0085] Next, based on the state prediction result and the state labeling result of the flash memory block, a second cross entropy loss function value is determined; wherein the state labeling result is determined according to the actual operating state of the flash memory block after a preset time;
[0086] Finally, based on the second cross entropy loss function value, the model parameters of the second prediction sub-model are updated.
[0087] In practical applications, the second training set includes multiple groups of state feature information of a flash memory block, and the second prediction sub-model includes a second data preprocessing module and a second state prediction module; in specific implementation, first, the flash memory block state prediction module filters each group of state feature information according to a preset second filtering rule through the second data preprocessing module for the multiple groups of state feature information of the flash memory block, and performs format conversion on the filtered state feature information to obtain target state feature information; then, the second state prediction module performs feature information fusion on the target state feature information to obtain the state prediction result of the flash memory block. The flash memory block state prediction module can choose to use a second cross entropy loss function to determine the second cross entropy loss function value for the state prediction results and state labeling results of the flash memory blocks in the second training set; wherein the state labeling results are determined based on the actual operating state of the flash memory block after a preset time; the second cross entropy loss value can measure the degree of difference between the state prediction results and the state labeling results. The smaller the second cross entropy loss value, the better the prediction effect of the second state prediction model. Based on this, in an embodiment of the present application, the flash memory block state prediction module can calculate the second cross entropy loss value between the state prediction results and the state labeling results corresponding to each group of state feature information of the flash memory blocks in the second training set, and determine whether each second cross entropy loss value is less than a preset threshold. When each second cross entropy loss value is not less than the preset threshold, the model parameters of the second state prediction model are updated, and the above steps after obtaining the second training set are repeated until each second cross entropy loss value is less than the preset threshold, thereby obtaining the final second state prediction model.
[0088] In a possible implementation, the intelligent decision model needs to be trained before it is used. The training of the intelligent decision model can be carried out in the following ways:
[0089] First, a third training set is obtained; wherein, state prediction information of a plurality of flash memory blocks in the third training set is obtained;
[0090] Then, the state prediction information of the plurality of flash blocks in the third training set is input into the intelligent decision model to obtain an optimal management result, wherein the optimal management result includes cluster information of each target flash block cluster and a management result of each target flash block cluster;
[0091] Next, based on the optimal management result and the management annotation result of each target flash block cluster, a third cross entropy loss function value is determined; wherein the management annotation result is determined according to the historical management data of each flash block;
[0092] Finally, based on the third cross entropy loss function value, the model parameters of the intelligent decision-making model are updated.
[0093] In practical applications, the intelligent decision model performs clustering processing on the state prediction information of each flash block to obtain multiple target flash block clusters, and determines the management results of each target flash block cluster for the state prediction information of each flash block in each target flash block cluster, and finally outputs the optimal management result including the cluster information of each target flash block cluster and the management result of each target flash block cluster. Based on the optimal management result and management labeling result of each target flash block cluster, the third cross entropy loss function can be selected to determine the value of the third cross entropy loss function; the third cross entropy loss value can measure the degree of difference between the optimal management result and the management labeling result of each target flash block cluster. The smaller the third cross entropy loss value, the better the prediction effect of the intelligent decision model. Based on this, the intelligent cluster management module calculates the third cross entropy loss value between the optimal management result and the management labeling result of each target flash block cluster in the third training set, and determines whether each third cross entropy loss value is less than a preset threshold. When each third cross entropy loss value is not less than the preset threshold, the model parameters of the intelligent decision model are updated, and the steps after obtaining the third training set are repeated until each third cross entropy loss value is less than the preset threshold, thereby obtaining the final intelligent decision model.
[0094] Based on the above embodiments, the present application embodiment provides a flash memory block management system. Figure 1 As shown, the flash block management 100 provided in the embodiment of the present application at least includes: a data acquisition module 110, a flash block state prediction module 120 and an intelligent cluster management module 130, and the flash block state prediction module is connected to the data acquisition module and the intelligent cluster management module respectively;
[0095] The data acquisition module 110 is used to collect the state characteristic information of each flash memory block in the solid state hard disk in real time, and send the state characteristic information of each flash memory block to the flash memory block state prediction module; wherein the types of state characteristic information include time information, power information, storage identification information, operation information and environment information;
[0096] The flash block state prediction module 120 is used to receive state characteristic information of each flash block in the solid state drive; based on the running state prediction model, obtain the state prediction information of each flash block in the solid state drive, and send the state prediction information of each flash block in the solid state drive to the intelligent cluster management module; wherein the state prediction information includes the remaining life of the block, the block inspection cycle, the block wear rate, the block failure rate, the block data storage recommended value and the optimal block read voltage;
[0097] The intelligent cluster management module 130 is used to perform clustering decision processing on each flash block according to the state prediction information of each flash block, obtain cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster; and manage each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster.
[0098] In a possible implementation, the intelligent cluster management module 130 is specifically used to:
[0099] The state prediction information of each flash memory block is input into the intelligent decision-making model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal inspection cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information.
[0100] In a possible implementation, the operation status prediction model includes a plurality of first prediction sub-models, and the first prediction sub-models correspond one-to-one to the first features of the flash memory blocks; wherein the first features include position features and / or functional features;
[0101] The flash block state prediction module 120 is specifically used for:
[0102] The flash block state prediction module performs clustering processing on each flash block in the solid state drive according to the first feature of each flash block in the solid state drive to obtain an initial flash block cluster;
[0103] For each initial flash block cluster, the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model to obtain the state prediction information of each flash block in the flash block cluster.
[0104] In a possible implementation, the operation status prediction model includes a plurality of second prediction sub-models, and the second prediction sub-models correspond one-to-one to the flash memory blocks;
[0105] The flash block state prediction module 120 is specifically used for:
[0106] The flash block state prediction module inputs the state feature information of each flash block into the second prediction sub-model corresponding to the flash block to obtain the state prediction information of the flash block.
[0107] In a possible implementation, the first prediction sub-model includes a first data preprocessing module and a first state prediction module; the flash block state prediction module 120 is specifically used for:
[0108] The state characteristic information of each flash memory block in the initial flash memory block cluster is screened according to a preset first screening rule by a first data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information;
[0109] The first state prediction module performs feature information fusion on the target state feature information to obtain state prediction information of each flash memory block in the flash memory block cluster.
[0110] In a possible implementation, the second prediction sub-model includes a second data preprocessing module and a second state prediction module; the flash block state prediction module 120 is specifically used for:
[0111] The state characteristic information of the flash memory block is screened according to a preset second screening rule by a second data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information;
[0112] The second state prediction module performs feature information fusion on the target state feature information to obtain state prediction information of the flash memory block.
[0113] In a possible implementation, the intelligent cluster management module 130 is specifically used to:
[0114] For each target flash block cluster block, dynamic inspection management is performed on each flash block of the target flash block cluster based on the optimal inspection cycle in the optimal management parameters; hot and cold data management is performed on each flash block of the target flash block cluster based on the optimal hot and cold data information in the optimal management parameters; bad block management is performed on each flash block of the target flash block cluster based on the optimal bad block information in the optimal management parameters; wear leveling management is performed on each flash block of the target flash block cluster based on the optimal wear information in the optimal management parameters; read voltage management is performed on each flash block of the target flash block cluster based on the optimal cluster read voltage information in the optimal management parameters.
[0115] In practical applications, see Figure 5As shown, the intelligent cluster management module 130 in the flash block management system 100 may include a dynamic inspection module 131, a hot and cold data management module 132, a bad block management module 133, a wear leveling management module 134, an optimal read voltage module 135 and an intelligent cluster decision module 136; wherein the intelligent cluster decision module 136 is connected to the flash block state prediction module 120, and the intelligent cluster decision module 136 is also connected to the dynamic inspection module 131, the hot and cold data management module 132, the bad block management module 133, the wear leveling management module 134 and the optimal read voltage module 135 respectively. The intelligent cluster decision module 136 is used to input the state prediction information of each flash memory block into the intelligent decision model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal patrol cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information; the dynamic patrol module 131 is used to perform dynamic patrol management on each flash memory block in the solid state drive; the hot and cold data management module 132 is used to perform hot and cold data management on each flash memory block in the solid state drive; the bad block management module 133 is used to perform bad block management on each flash memory block in the solid state drive; the wear leveling management module 134 is used to perform wear leveling management on each flash memory block in the solid state drive; the optimal read voltage module 135 is used to perform read voltage management on each flash memory block in the solid state drive.
[0116] In one possible implementation, the time information includes at least one of programming time, reading time and erasing time; the power information includes at least one of current, chip power consumption and threshold voltage distribution; the storage identification information includes at least one of storage block number and storage page number; the operation information includes at least one of the current programming cycle number, the current erase cycle number, the conditional error page number, the conditional error block number, the error bit number and the error rate; and the environmental information includes the internal temperature of the particle.
[0117] It should be noted that the principle of solving the technical problem by the flash memory block management system provided in the embodiment of the present application is similar to the flash memory block management method provided in the embodiment of the present application. Therefore, the implementation of the flash memory block management system provided in the embodiment of the present application can refer to the implementation of the flash memory block management method provided in the embodiment of the present application, and the repeated parts will not be repeated.
[0118] It should be noted that, although several units or subunits of the device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into multiple units to be embodied.
[0119] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0120] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0121] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A flash memory block management method, characterized in that: The flash block management system is applied to the flash block management system, which includes: a data acquisition module, a flash block state prediction module and an intelligent cluster management module, wherein the flash block state prediction module is connected to the data acquisition module and the intelligent cluster management module respectively; the flash block management method includes: The data acquisition module collects state characteristic information of each flash memory block in the solid state hard disk in real time, and sends the state characteristic information of each flash memory block to the flash memory block state prediction module; wherein the types of the state characteristic information include time information, power information, storage identification information, operation information and environmental information; The flash block state prediction module receives state characteristic information of each flash block in the solid state drive; based on the running state prediction model, obtains state prediction information of each flash block in the solid state drive, and sends the state prediction information of each flash block in the solid state drive to the intelligent cluster management module; wherein the state prediction information includes block remaining life, block inspection cycle, block wear rate, block failure rate, block data storage recommended value and optimal block read voltage; The intelligent cluster management module performs clustering decision processing on each flash block according to the state prediction information of each flash block, obtains cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster; and manages each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster.
2. The flash memory block management method according to claim 1, characterized in that: The intelligent cluster management module performs clustering decision processing on each flash block according to the state prediction information of each flash block, and obtains cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster, including: The intelligent cluster management module inputs the state prediction information of each flash memory block into the intelligent decision model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal inspection cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information.
3. The flash memory block management method according to claim 2, characterized in that: The operation status prediction model includes a plurality of first prediction sub-models, and the first prediction sub-models correspond to the first features of the flash memory blocks one by one; wherein the first features include position features and / or functional features; The flash block state prediction module obtains state prediction information of each flash block in the solid state drive based on the running state prediction model, including: The flash block state prediction module performs clustering processing on each flash block in the solid state drive according to the first feature of each flash block in the solid state drive to obtain an initial flash block cluster; For each initial flash block cluster, the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model to obtain the state prediction information of each flash block in the flash block cluster.
4. The flash memory block management method according to claim 2, characterized in that: The operation status prediction model includes a plurality of second prediction sub-models, and the second prediction sub-models correspond to the flash memory blocks one by one; The flash block state prediction module obtains state prediction information of each flash block in the solid state drive based on the running state prediction model, including: The flash block state prediction module inputs the state feature information of each flash block into a second prediction sub-model corresponding to the flash block to obtain the state prediction information of the flash block.
5. The flash memory block management method according to claim 3, characterized in that: The first prediction sub-model includes a first data preprocessing module and a first state prediction module; the flash block state prediction module inputs the state feature information of each flash block in the initial flash block cluster into the corresponding first prediction sub-model for each initial flash block cluster, and obtains the state prediction information of each flash block in the flash block cluster, including: By means of a first data preprocessing module, the state characteristic information of each flash memory block in the initial flash memory block cluster is screened according to a preset first screening rule, and the screened state characteristic information is formatted to obtain target state characteristic information; The target state feature information is fused by the first state prediction module to obtain state prediction information of each flash memory block in the flash memory block cluster.
6. The flash memory block management method according to claim 4, characterized in that: The second prediction sub-model includes a second data preprocessing module and a second state prediction module; the flash block state prediction module inputs the state feature information of the flash block into the second prediction sub-model corresponding to the flash block for each flash block to obtain the state prediction information of the flash block, including: The state characteristic information of the flash memory block is screened according to a preset second screening rule by a second data preprocessing module, and the screened state characteristic information is formatted to obtain target state characteristic information; The target state feature information is fused by the second state prediction module to obtain state prediction information of the flash memory block.
7. The flash memory block management method according to claim 2, characterized in that: The intelligent cluster management module manages each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster, including: For each target flash block cluster block, dynamic inspection management is performed on each flash block of the target flash block cluster based on the optimal inspection cycle in the optimal management parameters; hot and cold data management is performed on each flash block of the target flash block cluster based on the optimal hot and cold data information in the optimal management parameters; bad block management is performed on each flash block of the target flash block cluster based on the optimal bad block information in the optimal management parameters; wear leveling management is performed on each flash block of the target flash block cluster based on the optimal wear information in the optimal management parameters; read voltage management is performed on each flash block of the target flash block cluster based on the optimal cluster read voltage information in the optimal management parameters.
8. The flash memory block management method according to any one of claims 1 to 7, characterized in that: The time information includes at least one of programming time, reading time and erasing time; the power information includes at least one of current, chip power consumption and threshold voltage distribution; the storage identification information includes at least one of storage block number and storage page number; the operation information includes at least one of the current programming cycle number, the current erase cycle number, the conditional error page number, the conditional error block number, the error bit number and the error rate; the environmental information includes the internal temperature of the particle.
9. A flash memory block management system, characterized in that: include: A data acquisition module, a flash memory block state prediction module and an intelligent cluster management module, wherein the flash memory block state prediction module is connected to the data acquisition module and the intelligent cluster management module respectively; The data acquisition module is used to collect the state characteristic information of each flash memory block in the solid state hard disk in real time, and send the state characteristic information of each flash memory block to the flash memory block state prediction module; wherein the types of the state characteristic information include time information, power information, storage identification information, operation information and environmental information; The flash block state prediction module is used to receive state feature information of each flash block in the solid state drive; based on the running state prediction model, obtain the state prediction information of each flash block in the solid state drive, and send the state prediction information of each flash block in the solid state drive to the intelligent cluster management module; wherein the state prediction information includes the remaining life of the block, the block inspection cycle, the block wear rate, the block failure rate, the block data storage recommended value and the optimal block read voltage; The intelligent cluster management module is used to perform clustering decision processing on each flash block according to the state prediction information of each flash block, obtain cluster information of multiple target flash block clusters and optimal management parameters of each target flash block cluster; and manage each flash block in the target flash block cluster according to the optimal management parameters of each target flash block cluster.
10. The flash memory block management system according to claim 9, characterized in that: The intelligent cluster management module is specifically used for: The state prediction information of each flash memory block is input into the intelligent decision model to obtain the cluster information of each target flash memory block cluster and the optimal management parameters of each target flash memory block cluster; wherein the optimal management parameters include at least one of the optimal inspection cycle, optimal hot and cold data information, optimal bad block information, optimal wear information and optimal cluster read voltage information.