CN113874942B - Data reading method, storage controller and electronic device - Google Patents
Data reading method, storage controller and electronic device Download PDFInfo
- Publication number
- CN113874942B CN113874942B CN201980096783.9A CN201980096783A CN113874942B CN 113874942 B CN113874942 B CN 113874942B CN 201980096783 A CN201980096783 A CN 201980096783A CN 113874942 B CN113874942 B CN 113874942B
- Authority
- CN
- China
- Prior art keywords
- read voltage
- target
- storage area
- voltage model
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Read Only Memory (AREA)
Abstract
The application discloses a solid state disk data reading method which comprises the steps of receiving a reading request which is sent by a host and comprises position indication information of request data by the controller, determining a target reading voltage model corresponding to a target storage area where the target physical position is located according to the target physical position indicated by the position indication information, wherein each storage area in a nonvolatile storage medium comprises a plurality of target storage units which are obtained by dividing according to target division granularity, the reading voltage model is a function of identification of the target storage units, acquiring parameter values of the target reading voltage model from a corresponding relation between the storage areas and the parameter values of the reading voltage model, determining reading voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target reading voltage model and the parameter values of the target reading voltage model, and acquiring the request data according to the reading voltage corresponding to the target physical position and sending the request data to the host.
Description
The present application claims priority from the patent application filed on 5.26.2019, application number PCT/CN2019/088460, the entire contents of which are incorporated herein by reference.
Technical Field
The present application relates to the field of data storage technologies, and in particular, to a data reading method, a storage controller, and an electronic device.
Background
Solid State Disk (SSD) refers to a storage medium such as a hard disk or a memory card made of an array of solid state electronic memory chips, and quality of service (quality of service, qoS) of the SSD is an ability of the SSD product to provide stable, consistent and predictable request response services to the host, which is one of the key factors in shaping the competitiveness of the SSD product. SSD can be applied in data centers and in server scenarios, where read response time (READ LATENCY) is a key performance indicator for QoS, and is mainly dependent on the number of read operations that occur in flash media that respond to host requests. flash is used as a main storage medium of an SSD, and its characteristics are affected by a number of erasing times (program/ERASE CYCLES, PE), a data retention time (latency), and the like, and a voltage signal carrying data will send drift, so that multiple read operations are required to successfully respond to a host request, thereby causing a longer read delay in QoS.
At present, in the prior art, the read delay can be reduced through a read voltage prefabricated table technology, namely, the relation between factors influencing the read voltage and the voltage offset is analyzed, an influence factor and a read voltage compensation table are manufactured, or a specific formula is induced through a fitting method, when the read voltage compensation table is used, the read voltage is compensated after table lookup or calculation according to the influence factor value, so that the first read success rate is improved, and the read delay is reduced. However, the read voltage pre-table technique is related to the sampled samples, and different read voltage pre-tables need to be made for different storage media, which is more labor-intensive. In addition, the storage medium can change in the use process, the reliability of the read voltage prefabricated meter technology is low, the first read success rate is limited in improvement amplitude, and therefore the effect of reducing read delay is poor.
Disclosure of Invention
The application provides a data reading method, a storage controller and electronic equipment, which are used for solving the problem of long reading delay in the prior art.
In a first aspect, the present application provides a data reading method, applied to a controller, where a front end of the controller is used for connecting to a host, and a rear end of the controller is used for connecting to a nonvolatile storage medium. The method comprises the steps of receiving a read request sent by a host, wherein the read request comprises position indication information of request data, determining a target read voltage model corresponding to a target storage area where the target physical position is located according to a target physical position indicated by the position indication information, wherein the target physical position is the physical position of request data in a nonvolatile storage medium, the nonvolatile storage medium comprises one or more storage areas, each storage area comprises a plurality of target storage units which are obtained by dividing the nonvolatile storage medium according to target division granularity, the read voltage model is a function of identification of the target storage units, acquiring the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relation between the storage areas and the parameter value of the read voltage model according to the target storage area, wherein one storage area corresponds to one or more parameters of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model, determining the target physical position corresponding to the target physical position according to the identification of the target storage units, the target read voltage model and the parameter value of the target read voltage model, and sending the read voltage corresponding to the request data to the host by the controller according to the target physical position.
According to the scheme, the controller can determine the target read voltage model corresponding to the target storage area where the target physical position is located according to the target physical position indicated by the position indication information of the request data in the read request sent by the host, and acquire the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relation between the storage area and the parameter value of the read voltage model according to the target storage area, and further determine the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model, wherein the read voltage model is a function of the identification of the target storage unit. In the embodiment of the application, aiming at the parameter values of the read voltage models corresponding to different storage areas in the nonvolatile storage medium, the read voltage model corresponding to the nonvolatile storage medium is divided into a plurality of parts, and each part is characterized by the corresponding read voltage model and the parameter value of the read voltage model, so that the accuracy of the read voltage calculated according to the read voltage model corresponding to each storage area can be improved, and the delay of the read operation is reduced.
In addition, the controller determines the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model, and the controller only needs to store the parameter values of the read voltage models corresponding to different storage areas, so that the specific read voltage values are not needed to be stored, and the expenditure of the storage space can be reduced.
In one possible implementation manner, the controller can acquire the parameter values of the target read voltage model corresponding to the target storage area by selecting one or more of the parameter values of the target storage area corresponding to the plurality of read voltage models as the target read voltage model parameters according to the target physical position when the storage area corresponds to the parameter values of the plurality of read voltage models in the corresponding relation between the storage area and the parameter values of the read voltage models.
In one possible implementation, the controller can specifically determine the target read voltage model corresponding to the target storage area where the target physical location is located by determining, by the controller, the target read voltage model corresponding to the target storage area where the target physical location is located from the correspondence between the storage area and the read voltage model according to the target physical location indicated by the location indication information.
In one possible embodiment, the read voltage model is a model determined according to the read voltage characteristics of a target memory cell in the nonvolatile memory medium, and the target division granularity is determined according to the structure of the nonvolatile memory medium and the read voltage characteristics of the memory cell in different division granularities in the nonvolatile memory medium.
In one possible implementation manner, the read voltage model is used for representing a correspondence between the identification of the target memory cell and an optimal read voltage.
In one possible implementation, in a scenario where the parameter value of the target read voltage model includes a coefficient related to the identity of the target storage unit in the function related to the identity of the target storage unit and a value of a constant term in the function related to the identity of the target storage unit, the controller may determine the read voltage corresponding to the target physical location by determining, from the parameter values of the target read voltage model and the target read voltage model, a function satisfied by the read voltage in the target storage area and the identity of the target storage unit in the target storage area, and calculating, from the identity of the target storage unit in which the target physical location is located and a function satisfied by the read voltage in the target storage area and the identity of the target storage unit in the target storage area.
In one possible implementation manner, because the read voltage corresponding to the nonvolatile storage medium is subject to the influence of a plurality of factors such as erasing times, data retention time, read operation times, and temperature, the controller further updates the parameter value of the read voltage model corresponding to the storage area in the nonvolatile storage medium on line in order to further improve the accuracy of the read voltage determined by the controller, so that the parameter value of the read voltage model can accurately follow the change of the read voltage of the nonvolatile storage medium. Specifically, when any one of each storage area in the nonvolatile storage medium satisfies a preset update condition, the controller updates a parameter value of the read voltage model corresponding to the storage area in a correspondence relationship between the storage area and the parameter value of the read voltage model.
In one possible implementation manner, when the controller is in a system idle time window or a preset updating period is met, the controller determines a first error parameter under any one of the storage areas corresponding to the read voltage, and when the first error parameter is greater than or equal to a first threshold value, the controller updates a parameter value of the read voltage model corresponding to the storage area in a corresponding relation between the storage area and the parameter value of the read voltage model.
In one possible implementation, the preset update period is related to a usage status of the storage area, or the preset update period is related to an average service life of a plurality of storage areas included in the nonvolatile storage medium.
In one possible embodiment, for any one storage area in the correspondence between the storage area and the parameter values of the read voltage models, when the storage area corresponds to the parameter values of the read voltage models, the parameter values of the read voltage models satisfying a set condition in the parameter values of the read voltage models are compressed into one read voltage model, and the set condition is that the parameter values of the read voltage models are the same or similar to be flat, which corresponds to compressing the correspondence between the storage area and the parameter values of the read voltage models, so that the storage space occupied by the parameter values of the read voltage models is reduced by the stored content in the correspondence between the storage area and the parameter values of the read voltage models, and the storage space of the controller can be saved.
In one possible implementation, after the controller performs the overwriting or erasing operation on the data in one storage area, the influence of factors such as the erasing times, the data retention time, the reading operation times and the like on the reading voltage is reset, so after the controller performs the overwriting or erasing operation on the data in one storage area, the parameter value of the reading voltage model corresponding to the storage area needs to be initialized. Specifically, the controller initializes a parameter value of a read voltage model corresponding to a storage area performing the overwrite operation or the erase operation to a set value after performing the overwrite operation or the erase operation on data in one storage area, wherein the set value is a default value (preconfigured in the controller) or a preconfigured preset value determined according to a read voltage characteristic of the storage area performing the overwrite operation or the erase operation.
In one possible implementation manner, the target storage unit may be a physical unit in the nonvolatile storage medium, and specifically may be any one of die, plane, block, string, layer, page, and the like. The target storage unit may be a logical unit formed by logically abstracting physical units in a nonvolatile storage medium, and the positions of the physical units in one logical unit may be continuous or discontinuous, specifically may be a storage unit formed by a plurality of die, a storage unit formed by a plurality of planes, a storage unit formed by a plurality of blocks, a storage unit formed by a plurality of strings, a storage unit formed by a plurality of layers, a storage unit formed by a plurality of pages, or the like.
In a second aspect, the present application provides a storage controller having a front end for interfacing with a host and a back end for interfacing with a non-volatile storage medium. The storage controller comprises a receiving unit, a processing unit and a sending unit. The host computer comprises a receiving unit, a processing unit, a storage unit and a reading unit, wherein the receiving unit is used for receiving a reading request sent by the host computer, the reading request comprises position indication information of request data, the processing unit is used for determining a target reading voltage model corresponding to a target storage area where the target physical position is located according to the target physical position indicated by the position indication information, the target physical position is the physical position of the request data in a nonvolatile storage medium, the nonvolatile storage medium comprises one or more storage areas, each storage area comprises a plurality of target storage units which are obtained by dividing the nonvolatile storage medium according to target division granularity, the reading voltage model is a function of an identifier of the target storage unit, the parameter value of the target reading voltage model corresponding to the target storage area is obtained from the corresponding relation between the storage areas and the parameter value of the reading voltage model according to the target storage area, one or more parameters of the reading voltage model are corresponding to one or more storage areas in the corresponding relation between the storage areas and the parameter value of the reading voltage model, the voltage corresponding to the target storage areas is determined according to the identifier of the target storage unit where the target physical position is located, the target reading voltage model and the parameter value of the target reading voltage model is corresponding to the target physical position, the reading voltage model is obtained according to the target physical position, the target reading voltage model is corresponding to the target reading voltage and the target reading voltage model is used for sending the request data to the host computer.
In one possible implementation manner, the processing unit is specifically configured to, when acquiring the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relationship between the storage area and the parameter value of the read voltage model according to the target storage area, select one or more parameter values of the plurality of read voltage models corresponding to the target storage area as the target read voltage model parameter according to the target physical location when the corresponding relationship between the storage area and the parameter value of the read voltage model corresponds to the parameter value of the plurality of read voltage models.
In one possible implementation manner, when determining the target read voltage model corresponding to the target storage area where the target physical location is located according to the target physical location indicated by the location indication information, the processing unit is specifically configured to determine, from the correspondence between the storage area and the read voltage model, the target read voltage model corresponding to the target storage area where the target physical location is located according to the target physical location indicated by the location indication information.
In one possible implementation, the read voltage model is used to characterize the correspondence between the identification of the target memory cell and the optimal read voltage.
In one possible embodiment, the parameter values of the target read voltage model include coefficients of the identity of the target storage unit in a function of the identity of the target storage unit and values of constant terms in the function of the identity of the target storage unit. The processing unit is specifically configured to determine, when determining the read voltage corresponding to the target physical location according to the identifier of the target storage unit where the target physical location is located, the target read voltage model, and the parameter value of the target read voltage model, determine, according to the target read voltage model and the parameter value of the target read voltage model, a function satisfied by the read voltage in the target storage area and the identifier of the target storage unit in the target storage area, and calculate, according to the identifier of the target storage unit where the target physical location is located and a function satisfied by the read voltage in the target storage area and the identifier of the target storage unit in the target storage area, the read voltage corresponding to the target physical location.
In a possible implementation manner, the processing unit is further configured to update the parameter value of the read voltage model corresponding to the storage area in the correspondence between the storage area and the parameter value of the read voltage model when any one of the storage areas satisfies a preset update condition.
In one possible implementation manner, the processing unit is specifically configured to determine a first error parameter under a read voltage corresponding to any one of the storage areas when the storage controller is in a system idle time window or a preset update period is satisfied, and update a parameter value of the read voltage model corresponding to the storage area in a corresponding relation between the storage area and the parameter value of the read voltage model when the first error parameter is greater than or equal to a first threshold.
In one possible implementation, the preset update period is related to a usage status of the storage area, or the preset update period is related to an average service life of a plurality of storage areas included in the nonvolatile storage medium.
In one possible embodiment, for any one storage area in the correspondence between the storage area and the parameter values of the read voltage models, when the storage area corresponds to the parameter values of the read voltage models, which satisfy a set condition, among the parameter values of the read voltage models, in the storage area are compressed into one read voltage model, where the set condition is that the parameter values of the read voltage models are the same or similar.
In one possible implementation manner, the processing unit is further configured to initialize a parameter value of a read voltage model corresponding to a storage area performing the overwriting or erasing operation to a set value after performing the overwriting or erasing operation on the data in one storage area, where the set value is a default value or a preset value that is preset and determined according to the read voltage characteristic of the storage area performing the overwriting or erasing operation.
In a possible embodiment the processing unit is arranged for, when performing a overwrite operation or an erase operation on data in one of the memory areas, in particular for performing a overwrite operation or an erase operation on all data in one of the memory areas.
In one possible implementation manner, the target storage unit may be a physical unit in the nonvolatile storage medium, and specifically may be any one of die, plane, block, string, layer, page, and the like. The target storage unit may be a logical unit formed by logically abstracting physical units in a nonvolatile storage medium, and the positions of the physical units in one logical unit may be continuous or discontinuous, specifically may be a storage unit formed by a plurality of die, a storage unit formed by a plurality of planes, a storage unit formed by a plurality of blocks, a storage unit formed by a plurality of strings, a storage unit formed by a plurality of layers, a storage unit formed by a plurality of pages, or the like.
In a third aspect, the present application provides an electronic device comprising a communication interface, a controller, and a memory. The communication interface is used for receiving a read request sent by a host, the read request comprises position indication information of request data, a memory is used for storing code instructions, the controller is used for calling the code instructions stored in the memory and executing the code instructions, the target read voltage model corresponding to a target storage area where the target physical position is located is determined according to the target physical position indicated by the position indication information, the target physical position is the physical position of the request data in a nonvolatile storage medium, the nonvolatile storage medium comprises one or more storage areas, each storage area comprises a plurality of target storage units which are obtained by dividing the nonvolatile storage medium according to target division granularity, the read voltage model is a function of identification of the target storage units, the parameter value of the target read voltage model corresponding to the target storage area is obtained from the corresponding relation between the storage area and the parameter value of the read voltage model according to the target storage area, one or more parameters of the read voltage model are corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model, the target storage area corresponds to one or more parameters of the read voltage model according to the identification of the target storage unit where the target physical position is located, the target voltage and the target physical position corresponds to the target voltage model, the target data is obtained according to the target physical position and the target voltage model, and the read voltage is applied to the host.
In one possible implementation manner, the controller is specifically configured to, when acquiring the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relation between the storage area and the parameter values of the read voltage models according to the target storage area, select one or more parameter values of the plurality of read voltage models corresponding to the target storage area as the target read voltage model parameter according to the target physical location when the corresponding relation between the storage area and the parameter values of the read voltage models corresponds to the parameter values of the plurality of read voltage models.
In one possible implementation manner, when determining the target read voltage model corresponding to the target storage area where the target physical location is located according to the target physical location indicated by the location indication information, the controller is specifically configured to determine, from the correspondence between the storage area and the read voltage model, the target read voltage model corresponding to the target storage area where the target physical location is located according to the target physical location indicated by the location indication information.
In one possible implementation, the read voltage model is used to characterize the correspondence between the identification of the target memory cell and the optimal read voltage.
In one possible embodiment, the parameter values of the target read voltage model include coefficients of the identity of the target storage unit in the function of the identity of the target storage unit and values of constant terms in the function of the identity of the target storage unit. The controller is specifically configured to determine, when determining the read voltage corresponding to the target physical location according to the identifier of the target storage unit where the target physical location is located, the target read voltage model, and the parameter value of the target read voltage model, determine, according to the parameter values of the target read voltage model and the target read voltage model, a function satisfied by the read voltage in the target storage area and the identifier of the target storage unit in the target storage area, and calculate, according to the identifier of the target storage unit where the target physical location is located and a function satisfied by the read voltage in the target storage area and the identifier of the target storage unit in the target storage area, the read voltage corresponding to the target physical location.
In one possible implementation manner, the controller is further configured to update the parameter value of the read voltage model corresponding to the storage area in the correspondence between the storage area and the parameter value of the read voltage model when any one of the storage areas satisfies a preset update condition.
In one possible implementation manner, the controller is specifically configured to determine a first error parameter at any one of the storage areas corresponding to the read voltage when the controller is in a system idle time window or a preset update period is satisfied, and update the parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model when the first error parameter is greater than or equal to a first threshold.
In one possible implementation, the preset update period is related to a usage status of the storage area, or the preset update period is related to an average service life of a plurality of storage areas included in the nonvolatile storage medium.
In one possible embodiment, for any one storage area in the correspondence between the storage area and the parameter values of the read voltage models, when the storage area corresponds to the parameter values of the read voltage models, which satisfy a set condition, among the parameter values of the read voltage models, in the storage area are compressed into one read voltage model, where the set condition is that the parameter values of the read voltage models are the same or similar.
In one possible implementation, the controller is further configured to initialize a parameter value of a read voltage model corresponding to a storage area performing the overwriting or erasing operation to a set value after performing the overwriting or erasing operation on the data in one of the storage areas, where the set value is a default value or a preset value that is preset and determined according to the read voltage characteristics of the storage area performing the overwriting or erasing operation.
In one possible embodiment, the controller is specifically configured to perform a rewrite operation or an erase operation on all data in one of the storage areas when performing the rewrite operation or the erase operation on the data in one of the storage areas.
In one possible implementation manner, the target storage unit may be a physical unit in the nonvolatile storage medium, and specifically may be any one of die, plane, block, string, layer, page, and the like. The target storage unit may be a logical unit formed by logically abstracting physical units in a nonvolatile storage medium, and the positions of the physical units in one logical unit may be continuous or discontinuous, specifically may be a storage unit formed by a plurality of die, a storage unit formed by a plurality of planes, a storage unit formed by a plurality of blocks, a storage unit formed by a plurality of strings, a storage unit formed by a plurality of layers, a storage unit formed by a plurality of pages, or the like.
In a fourth aspect, the present application provides a communication system comprising a host, a controller, and a nonvolatile storage medium, the nonvolatile storage medium comprising one or more storage areas, each storage area comprising a plurality of target storage units obtained by partitioning the nonvolatile storage medium according to a target partitioning granularity, a read voltage model being a function of an identification of the target storage units. The host is used for sending a read request to the controller and receiving request data returned by the controller, wherein the read request comprises position indication information of the request data. The system comprises a host, a controller, a target storage area, a target voltage reading model, a parameter value acquiring module, a read voltage reading model and a read voltage reading model, wherein the host is used for receiving a read request sent by the host, determining a target read voltage model corresponding to the target storage area where the target physical position is located according to the target physical position indicated by position indication information in the read request, the target physical position is the physical position of request data in a nonvolatile storage medium, acquiring the parameter value of the target voltage reading model corresponding to the target storage area from the corresponding relation between the storage area and the parameter value of the voltage reading model according to the target storage area, determining the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target voltage reading model and the parameter value of the target voltage reading model, and acquiring the request data according to the read voltage corresponding to the target physical position and sending the request data to the host.
In a fifth aspect, the present application also provides a computer-readable storage medium having stored thereon computer-executable instructions which, when run on a computer, cause the computer to perform the method provided by any one of the embodiments of the first aspect.
In a sixth aspect, the application also provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method provided by any of the embodiments of the first aspect described above.
It will be appreciated that any of the above-mentioned apparatuses, computer storage media or computer program products of the data reading method are used to perform the corresponding method provided above, and therefore, the advantages achieved by the apparatus, computer storage media or computer program products are referred to as the advantages of the corresponding method provided above, and are not repeated herein.
Drawings
FIG. 1 is a schematic diagram of a TLC memory particle according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a communication system according to an embodiment of the present application;
Fig. 3 is a schematic structural diagram of another communication system according to an embodiment of the present application;
fig. 4 is a schematic flow chart of a data reading method according to an embodiment of the present application;
FIG. 5 is a schematic diagram illustrating a relationship between a storage area and a target storage unit in a nonvolatile storage medium according to an embodiment of the present application;
FIG. 6a is a schematic diagram of a parameter value storage mode of a TLC NAND read voltage model according to an embodiment of the present application;
fig. 6b is a schematic diagram of a parameter value storage manner of a QLC NAND read voltage model according to an embodiment of the present application;
FIG. 7 is a schematic diagram of another parameter value storage mode of a TLC NAND read voltage model according to an embodiment of the present application;
FIG. 8 is a schematic flow chart of a method for creating a read voltage model corresponding to a nonvolatile storage medium according to an embodiment of the present application;
FIG. 9a is a flowchart of updating parameter values of a read voltage model according to an embodiment of the present application;
FIG. 9b is a flowchart of another method for updating the parameter values of the read voltage model according to an embodiment of the present application;
FIG. 10 is a flow chart of calculating parameter values of a read voltage model according to an embodiment of the present application;
FIG. 11 is a schematic diagram of a memory controller according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Currently, most storage devices use SSDs for data storage, such as hard disks or memory cards. The QoS of SSDs is the ability of a storage device to provide stable, consistent, and predictable request-response services to hosts, which is one of the key factors affecting the market competitiveness of storage devices. QoS may include a number of performance indicators, where read response time is a key performance indicator of QoS, depending mainly on the number of read operations that occur in the flash medium in response to host requests. The flash medium is used as a main storage medium of the SSD, the characteristics of the flash medium are affected by a plurality of factors such as erasing times, data retention time, reading operation times and the like, and voltage signals carrying data can send drift, so that a back end can successfully respond to a host request by multiple reading operations (trial and error), and therefore the read delay index of QoS is affected, and the read delay is long.
As higher density cells (cells) are increasingly being replaced by three-dimensional (3D) memories (x-LEVEL CELL, xLC) that store x bits per Cell (x is an integer greater than 2), such as 3 bits per Cell (triple-LEVEL CELL, TLC) and 4 bits per Cell (quad-LEVEL CELL, QLC), etc., as mainstream storage media, qoS read latency indicators are facing increasing challenges. As shown in fig. 1, a hierarchical structure diagram of the interior of a TLC particle according to an embodiment of the present application is provided. Among them, the minimum unit of the write operation is a page (page), which can be divided into three types, i.e., an upper page (upper page), a middle page (MIDDLE PAGE), and a lower page (lower page) (for QLC particles, the page can be divided into a top page (top page), an upper page (upper page), a middle page (MIDDLE PAGE), and a lower page (lower page)). An upper page, a middle page, and a lower page may constitute a Word Line (WL), and a plurality of WLs constitute a Layer or a string (string) in different directions, for example, a plurality of WLs in a horizontal direction constitute a Layer and a plurality of WLs in a vertical direction constitute a string in fig. 1. The minimum erase operation unit of page composition is called a block (block). A plurality of blocks may form planes (planes) and a plurality of planes may form a die (die). Multiple die make up an encapsulation package.
In addition, in many applications the controller will combine some blocks into super blocks. The super block is characterized in that the internal blocks are erased or programmed simultaneously, and the states of the using conditions of the internal blocks of the super block are consistent or close, such as the erasing times, the data retention time and the like.
Compared with a 2D MLC, the logic state in each Cell (Cell) is increased from 4 (2 bits) to 2 x (x bits), and the voltage signal window for distinguishing different logic states is smaller, so that the accuracy requirement of the read voltage is improved. In addition, the number of pages in the block and the number of blocks in die are gradually increased, the physical inconsistency of each level in the flash is increased, and it becomes more and more difficult to set uniform effective read voltages for all pages.
In order to solve the above problems, the present application provides a data reading method, a memory controller and an electronic device, so as to reduce the read delay.
The term "plurality" as used herein means two or more. In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings.
Fig. 2 is a hardware architecture diagram of a communication system according to an embodiment of the present application, where, as shown in fig. 2, the system includes a host, an SSD controller, and a flash array, and the host may access/fetch data in the flash array in the SSD through the SSD controller. The host may be connected to the front end of the SSD controller through a nonvolatile memory host controller interface (non-volatile memory express, NVMe)/serial connection small computer system interface (SERIAL ATTACHED SCSI (SCSI is short for small computer SYSTEM INTERFACE), SAS)/peripheral express interconnect standard (PERIPHERAL COMPONENT INTERCONNECT EXPRESS, PCIe) interface, etc., and the rear end of the SSD controller may be connected to the flash array through a flash memory interface (NAND FLASH INTERFACE, NFI), and the host may perform operations such as reading, writing, or erasing data in the flash array through the SSD controller.
In addition, the embodiment of the application can also be applied to the hardware architecture of another communication system as shown in fig. 3. The controller in this system is similar to the SSD controller in the system shown in FIG. 2. The difference is that the controller and flash array in the system are packaged into independent chips, and the host is connected with the controller through interfaces such as universal flash memory (universal flash storage, UFS)/embedded multimedia memory card (eMMC) and the like, and accesses data through the interfaces. The chip packaged by the controller and the flash array can be applied to mobile terminals such as mobile phones, tablet computers and wearable devices.
As shown in fig. 4, the data reading method provided in the embodiment of the present application is applied to a controller, where the front end of the controller is used to connect with a host, and the rear end of the controller is used to connect with a nonvolatile storage medium, where the nonvolatile storage medium may be a flash-based storage medium such as a 3D NAND flash, a 2D NAND flash, or a new nonvolatile storage medium such as a magnetic memory (magnetic random access memory, MRAM), a resistive random access memory (RESISTANCE RANDOM ACCESS MEMORY, RRAM), a phase change memory (PHASE CHANGE random access memory, PCRAM), a ferroelectric memory (ferroelectric random access memory, FRAM), and a nanotube memory (nanotube random access memory, NRAM). The method can be applied to the communication system shown in the above fig. 2 or 3, and mainly comprises the following steps:
S401, the controller receives a read request sent by a host, wherein the read request comprises position indication information of request data.
When the host needs to read certain data from the nonvolatile storage medium managed by the controller, the host may send a read request to the controller, where the data requested by the read request may be referred to as request data, and the read request may carry location indication information. The location indication information may be used to indicate a logical address, i.e. a logical address when the host is used to access the requested data, such as a Logical Page Address (LPA) PAGE ADDRESS, where the logical address has a mapping relationship with a physical address, from which the physical location of the requested data in the nonvolatile storage medium may be determined. In practical applications, the location indication information may also be other information having a corresponding relationship with the physical location, for example, the location indication information may be a key value, and the corresponding value is obtained through a corresponding relationship between a preset key value and a value, where the value may be a physical location of data.
For example, when the nonvolatile storage medium is a 3D NAND TLC memory, the read request received by the controller may include one or more LPAs, and the controller determines the PPN corresponding to each LPA through a mapping relationship between the LPA and a physical page number (PHYSICAL PAGE number, PPN), and further determines information, such as a page number, layer number, block number plane number, die number, channel number, and the like, used to characterize the physical location of the data requested by the host in the nonvolatile storage medium according to the PPN corresponding to each LPA.
Specifically, when the controller receives a read request sent by the host, the controller may acquire a physical address of the requested data stored in the nonvolatile storage medium according to the location indicating information, where the physical address of the requested data is referred to as a target physical location.
S402, the controller determines a target read voltage model corresponding to a target storage area where the target physical position is located according to the target physical position indicated by the position indication information. The target physical location is the physical location of the request data in the nonvolatile storage medium, the nonvolatile storage medium comprises one or more storage areas, each storage area comprises a plurality of target storage units obtained by dividing the nonvolatile storage medium according to target division granularity, and the read voltage model is a function of the identification (such as the number of the target storage units) of the target storage units.
The relationship among the nonvolatile storage medium, the storage areas and the target storage units is shown in fig. 5, the nonvolatile storage medium includes at least one storage area, each storage area includes a plurality of target storage units, each target storage unit may be represented by a corresponding physical location, and the plurality of physical locations included in one storage area may be the physical location corresponding to at least one target storage unit included in the storage area. It should be noted that the number of target memory cells included in each memory area is not limited in the present application, the number of target memory cells included in each memory area is mainly determined according to the read voltage characteristics of the target memory cells, and the characteristics of the read voltage in each memory area continuously change with respect to the identification of the target memory cells, so the number of target memory cells included in each memory area may be the same or may be different.
Further, the target storage unit may be a physical unit in the nonvolatile storage medium, and specifically may be any one of a die, a Plane, a block, a string, a layer, a page, and the like. The target storage unit may be a logical unit formed by logically abstracting physical units in a nonvolatile storage medium, and the positions of the physical units in one logical unit may be continuous or discontinuous, specifically may be a storage unit formed by a plurality of die, a storage unit formed by a plurality of planes, a storage unit formed by a plurality of blocks, a storage unit formed by a plurality of strings, a storage unit formed by a plurality of layers, a storage unit formed by a plurality of pages, or the like.
The read voltage refers to a conversion voltage corresponding to the conversion from an analog signal to a data signal, and the read voltage characteristic may refer to a change rule of an error parameter corresponding to the read voltage when different devices are used to read the read voltage under different conditions (for example, different temperatures, different times, different PEs, different data retention times, and different read counts). In a specific implementation, the read voltage model is used for representing the correspondence between the identification of the target memory cell and the optimal read voltage. The read voltage model is a function of the identity of the target memory cell, and is used for representing the law that the read voltage changes along with the change of the identity of the target memory cell, and is a qualitative description, rather than a quantitative description, of the read voltage. The read voltage model may be a linear model or a nonlinear model, and may be represented by a functional relationship between an optimal read voltage and an identifier of the target memory cell, for example, when the read voltage model is a linear model, the functional relationship between the optimal read voltage and the identifier of the target memory cell may be represented as y=ax+b, where y represents the optimal read voltage, x represents the identifier of the target memory cell, and a and b are parameter values of the read voltage model. The identification of the target storage unit is typically represented by a number of the target storage unit, which may be represented by a continuous number, or may be represented by a discontinuous number, for example, the number of the target storage unit may be 1,2,3, N (N is a positive integer), or the number of the target storage unit may be represented by a number that varies according to a specific rule (an arithmetic series or an arithmetic series, etc.) 1,3,5, 2N-1, etc.
S403, the controller obtains the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relation between the storage area and the parameter value of the read voltage model according to the target storage area.
In the corresponding relation between the storage areas and the parameter values of the read voltage models, one storage area corresponds to one or more parameters of the read voltage models. The corresponding relation between the storage area and the parameter value of the read voltage model can be stored in the controller in the form of a table, the table can comprise identifiers corresponding to the storage area, the identifiers of the storage area and the parameter value of the read voltage model are stored in the table in a one-to-one correspondence mode, the table can also not store the identifiers of the storage area, the parameter value of the read voltage model is arranged according to the index value of the storage area corresponding to the parameter value of the read voltage model, and the index value corresponding to the storage area is determined according to the physical position of the storage area, so that the table items in the table are reduced, and the storage space occupied by the table is further reduced.
For any one of the memory regions in the correspondence of the memory region and the parameter values of the read voltage model, the memory region may correspond to one or more read voltage model parameters. For example, for TLC NAND, one storage area corresponds to parameter values of 7 read voltage models, and when the read voltage models are linear models and the parameter values of the read voltage models are denoted by a and b, respectively, the parameter values of the 7 read voltage models are denoted by r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b, and r7a, r7b, respectively, and the storage format in the correspondence between the storage areas and the parameter values of the read voltage models may be as shown in fig. 6 a. As another example, for QLC NAND, one storage area corresponds to parameter values of 15 read voltage models, and when the read voltage models are linear models and the parameter values of the read voltage models are denoted by a and b, respectively, the parameters of the 15 read voltage models are denoted by r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b.
It should be noted that, in the embodiment of the present application, the storage manner of the parameter values of the read voltage model in the correspondence relationship between the storage area and the parameter values of the read voltage model is not limited, and the storage manner shown in fig. 6a and 6b is merely illustrative and not limiting the present application. The storage order of the parameter values of the read voltage models corresponding to any one of the storage areas in the correspondence relation between the storage areas and the parameter values of the read voltage models may be sequentially arranged in the order shown in fig. 6a and 6b, or may be arranged in other orders as needed, and the size of the storage space occupied by the parameter values of each read voltage model may be the same or different.
Further, for any one storage area in the corresponding relation between the storage area and the parameter values of the read voltage models, when the storage area corresponds to the parameter values of the read voltage models, which meet the set condition, in the parameter values of the read voltage models are compressed into one read voltage model, the set condition is that the parameter values of the read voltage models are the same or similar, and the compression of the corresponding relation between the storage area and the parameter values of the read voltage models is equivalent to the compression of the corresponding relation between the storage area and the parameter values of the read voltage models, so that the storage space occupied by the memory content in the corresponding relation between the storage area and the parameter values of the read voltage models is reduced, and the storage space of the controller is saved. In the embodiment of the present application, the parameter values of the two read voltage models are the same or similar, which means that the parameter values of the two read voltage models have smaller differences, for example, the difference between the corresponding parameter values in the parameter values of the two read voltage models is within a set range, and the set range is determined according to the accuracy of the read voltage.
For example, for TLCNAND, the read voltage model corresponding to the storage area is a linear read voltage model y=ax+b, y represents the read voltage, x represents the identification of the target storage unit, a and b are parameter values of the read voltage model, the parameter values of 7 read voltage models corresponding to one storage area are respectively recorded as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b and r7a, r7b, if r2a and r3a are similar, r2b and r3b are similar, r4a and r5a are similar, and r4b and r5b are similar, r6a and r7a are similar, then r2a, r2b, r3a, r3b can be compressed into a read voltage model parameter, r4a, r4b, r5a, r5b can be compressed into a read voltage model parameter, r6a, r6b and r7b can be compressed into a storage format as shown in the storage format of the storage area indicated by r6a and r7 b.
In a specific implementation, the read voltage model is generally represented by a functional relation of the read voltage and the identity of the target storage unit, i.e. the read voltage model is a function of the identity of the target storage unit, and thus the parameter value of the target read voltage model comprises the coefficient of the identity of the target storage unit in the function of the identity of the target storage unit and the value of the constant term in the function of the identity of the target storage unit, i.e. the parameter value of the target read voltage model comprises the coefficient of the argument target storage unit in the function of the identity of the target storage unit before the identity of the target storage unit and the value of the constant term in the function, and when the constant term is not included in the function, the value of the constant term in the function is 0. For example, when the read voltage model is a linear model, the functional relationship between the read voltage and the identity of the target memory cell is a linear function, and may be expressed as y=ax+b, where y represents the read voltage, x represents the identity of the target memory cell, and a and b are parameter values of the read voltage model.
S404, the controller determines the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model.
S405, the controller acquires the request data according to the read voltage corresponding to the target physical position and sends the request data to the host.
In step S402, the controller may determine a target read voltage model corresponding to the target storage area where the target physical location is located, specifically by determining, according to the target physical location indicated by the location indication information, a target read voltage model corresponding to the target storage area where the target physical location is located from a correspondence between the storage area and the read voltage model.
The read voltage model is a model determined according to the read voltage characteristics of a target storage unit in the nonvolatile storage medium, and the target division granularity is determined according to the structure of the nonvolatile storage medium and the read voltage characteristics of the storage unit in different division granularities in the nonvolatile storage medium. The structure of the nonvolatile storage medium determines an optional range of division granularity of the nonvolatile storage medium, for example, granularity such as die, plane, block, layer, string and pages can be used for 3D NAND, and the nonvolatile storage medium is divided by granularity such as multiple die, multiple planes, multiple blocks, multiple layers, multiple strings and multiple pages.
That is, as shown in fig. 8, the process of determining the read voltage model of different storage areas in the nonvolatile storage medium mainly includes the steps of:
S801, determining target division granularity according to the structure of the nonvolatile storage medium and the read voltage characteristics of the storage units under different division granularities in the nonvolatile storage medium. Under the target division granularity, the optimal read voltage of the target storage units in the nonvolatile storage medium changes according to a certain rule, namely the target storage units under the target division granularity can represent the read voltage, so that the determined read voltage model can accurately represent the read voltage, and the accuracy of the read voltage is improved.
S802, dividing the nonvolatile storage medium into one or more storage areas according to the read voltage characteristics of the storage units under the target division granularity in the nonvolatile storage medium. The characteristic of the read voltage is continuously changed according to a specific rule along with the change of the identification of the target memory cell included in any memory area.
S803, according to the change trend of the read voltage characteristic corresponding to each storage area, the read voltage model corresponding to each storage area is determined respectively. The method is equivalent to dividing the read voltage model corresponding to the nonvolatile storage medium into a plurality of parts, wherein each part is characterized by the read voltage model corresponding to each part and the parameter value of the read voltage model, so that the accuracy of the read voltage calculated according to the read voltage model corresponding to each storage area can be improved, and the delay of the read operation is reduced.
After the read voltage model corresponding to each storage area is determined, the read voltages at different physical positions in each storage area are sampled, and the parameter value of the read voltage model corresponding to each storage area is estimated, so that the corresponding relation between the storage area and the parameter value of the read voltage model is obtained. In general, determining the read voltage models of different storage areas and the corresponding relation between the storage areas and the parameter values of the read voltage models is accomplished by a technician on line, and the corresponding relation between the read voltage models of different storage areas and the parameter values of the storage areas and the read voltage models is preconfigured in the controller, so that the controller is not required to determine the corresponding relation between the read voltage models of different storage areas and the parameter values of the storage areas and the read voltage models when the controller reads data on line.
In step S403, when the correspondence between the storage area and the parameter value of the read voltage model includes the identifier corresponding to the storage area, the controller may directly obtain, according to the identifier of the target storage area, the parameter value of the target read voltage model corresponding to the target storage area from the correspondence between the storage area and the parameter value of the read voltage model. When the parameter value of the read voltage model is arranged according to the index value of the storage area corresponding to the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model and does not comprise the identification of the storage area, the controller obtains the model parameter of the target read voltage from the corresponding relation between the storage area and the parameter value of the read voltage model according to the target physical position and the target index value, wherein the target index value is used for indicating the storage position of the parameter value of the target read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model.
When the storage area corresponds to the parameter values of the plurality of read voltage models in the corresponding relation between the storage area and the parameter values of the read voltage models, the controller can acquire the parameter values of all the read voltage models corresponding to the storage area from the corresponding relation between the storage area and the parameter values of the read voltage models according to the target storage area, then select one or more of the parameter values of all the read voltage models corresponding to the target storage area as the target read voltage model parameter according to the target physical position, or select one or more of the parameter values of the plurality of read voltage models corresponding to the target storage area from the corresponding relation between the storage area and the parameter values of the read voltage models according to the target physical position.
In step S404, in the case where the parameter value of the target read voltage model includes the coefficient of the identity of the target storage unit in the function of the identity of the target storage unit and the value of the constant term in the function of the identity of the target storage unit, the controller may determine the read voltage corresponding to the target physical location by determining the function satisfied by the read voltage in the target storage area and the identity of the target storage unit in the target storage area from the parameter value of the target read voltage model and the target read voltage model, and calculating the read voltage corresponding to the target physical location from the identity of the target storage unit in which the target physical location is located and the function satisfied by the read voltage in the target storage area and the identity of the target storage unit in the target storage area. For example, the target read voltage model is a linear function of the target memory cell identifier, and may be expressed as y=ax+b, where y represents the read voltage, x represents the identifier of the target memory cell, a and b are parameter values (as constants) of the target read voltage model, and if the identifier of the target memory cell where the target physical location is located is 2, the read voltage y=2a+b corresponding to the target physical location.
It should be noted that, when the target storage unit is a logical unit formed after logical abstraction of a physical unit in the nonvolatile storage medium, before determining the read voltage corresponding to the target physical location according to the identifier of the target storage unit where the target physical location is located, the target read voltage model, and the parameter value of the target read voltage model, the controller maps the target physical location to a corresponding target storage unit according to the mapping relationship between the physical location in the nonvolatile storage medium and the target storage unit.
For example, in a case where the read voltage model corresponding to each storage area in the nonvolatile storage medium is a linear model, that is, the read voltage model is y=ax+b, where y represents an optimal read voltage, x represents a number of a target storage unit, one target storage unit is a layer, a and b are parameter values of the read voltage model, and parameter values of the read voltage model in a correspondence relationship between the storage areas and the parameter values of the read voltage model are arranged according to index values of the storage areas corresponding to the parameter values of the read voltage model, and the identifier of the storage area is not included, the controller may determine the read voltage corresponding to the target physical location indicated by the location indication information of the request data value in the read request sent by the host machine by:
1. the controller receives a read request of the host, wherein the read request comprises an LPA for requesting data;
2. the controller determines the PPN corresponding to the LPA in the read request through the LPA-PPN mapping table, determines the page number, the block number, the channel number, the CE number, the die number and the plane number corresponding to the LPA according to the PPN corresponding to the LPA, and determines the layer number corresponding to the LPA according to the page number corresponding to the LPA.
3. The controller determines the storage position of the parameter value of the target read voltage model corresponding to the storage area corresponding to the LPA in the corresponding relation between the storage area and the parameter value of the read voltage model according to the page number, the block number, the channel number, the CE number, the die number, the plane number and the layer corresponding to the LPA;
4. And the controller acquires the parameter value of the target read voltage model from the corresponding relation between the storage area and the parameter value of the read voltage model according to the determined storage position.
If the storage area of the page corresponding to the LPA corresponds to a plurality of read voltage models, the controller selects one or more parameters of the read voltage models from the parameter values of the corresponding plurality of read voltage models according to the physical position of the page corresponding to the LPA. For example, when performing a read operation on a lower page in TLC NAND, the read operation policy of the controller is configured to require two read voltages for performing the read operation, and the controller needs to acquire parameter values of the read voltage models corresponding to the two read voltages.
5. And the controller calculates the read voltage corresponding to the page corresponding to the LPA according to the layer number corresponding to the LPA, the read voltage model y=ax+b and the acquired read voltage model parameter values a and b.
Because the read voltage corresponding to the nonvolatile storage medium is subject to the influence of a plurality of factors such as erasing times, data retention time, read operation times, temperature and the like, the controller also updates the parameter value of the read voltage model corresponding to the storage area in the nonvolatile storage medium on line in order to further improve the accuracy of the read voltage determined by the controller, so that the parameter value of the read voltage model can accurately follow the change of the read voltage of the nonvolatile storage medium. Specifically, when any one of each storage area in the nonvolatile storage medium satisfies a preset update condition, the controller updates a parameter value of the read voltage model corresponding to the storage area in a correspondence relationship between the storage area and the parameter value of the read voltage model.
When the preset condition is met, the controller can determine the effective read voltage corresponding to the storage area through a specific optimization algorithm (such as online voltage search) of the online read voltage, determine the parameter value of the read voltage model corresponding to the storage area according to the effective read voltage, and update the parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model according to the calculated parameter value of the read voltage model. When the controller dynamically updates the parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model, the controller can actively update the parameter value of the read voltage model corresponding to the storage area, or can passively update the parameter value of the read voltage model corresponding to the storage area. The parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model is actively updated, or the parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model is passively updated, so that the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model can be dynamically updated. The two modes are respectively described in detail below.
First, when the controller is in a system idle time window or meets a preset updating period, the controller determines a first error parameter under any one of the corresponding read voltages in each storage area;
when the first error parameter is greater than or equal to a first threshold, the controller updates a parameter value of the read voltage model corresponding to the storage area in a corresponding relation between the storage area and the parameter value of the read voltage model.
Wherein, the controller is in a system idle time window may refer to that the controller is in an idle state, and the idle state may be understood as that the load of read-write IO of the controller is lower than a certain specific value, so that the controller is relatively idle. The preset update period may be set in advance, and the preset update period may include one period or may include a plurality of different periods. The setting of the preset update period corresponding to one storage area may be related to the use status of the storage area (e.g., the number of PEs and the number of read operations), or to the average service life of a plurality of storage areas included in the nonvolatile storage medium. For example, the average lifetime of the multiple storage areas may be represented by an average PE, with a larger preset update period being used when the average PE is smaller (e.g., early in life) and a smaller preset update period being used when the average PE is larger (e.g., end of life).
In addition, a first error parameter may be used to indicate the degree of error in the read data, and the first error parameter may be the number of error bits or the bit error rate RBER. The first threshold may be a fault tolerance threshold set in advance, and if the first error parameter is smaller than the first threshold, the first error parameter is indicated to be within the fault tolerance range, and if the first error parameter is greater than or equal to the first threshold, the first error parameter is indicated to be not within the fault tolerance range.
Specifically, when the controller is in a system idle time window or satisfies a preset updating period, the controller takes a read voltage value obtained by calculating a read voltage value of a read voltage model corresponding to a storage area currently stored in a corresponding relation between the storage area and the read voltage model, as a detected read voltage, samples a physical position included in the storage area according to the detected read voltage, and obtains an error parameter under the detected read voltage as a first error parameter. If the first error parameter is less than the first threshold, the controller may determine that the read voltage corresponding to the storage region is valid and thus not updated. If the first error parameter is greater than or equal to the first threshold, the controller may determine that the read voltage corresponding to the storage area is invalid and needs to be updated.
When the controller updates the parameter value of the read voltage model corresponding to the storage area, the controller can determine the current effective read voltage through an try method, for example, the controller can test error parameters under a plurality of voltages in a mode that the voltages gradually increase or decrease, and determine the read voltage with the minimum error parameter as the current effective read voltage, so that the parameter value of the effective read voltage model is calculated according to the effective voltage and the read voltage model corresponding to the storage area, and the read voltage corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model is replaced by the calculated parameter value of the effective read voltage model, so that the update of the parameter value of the read voltage model corresponding to the storage area is realized.
In the method for actively updating the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model, the controller can actively update the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model in each system idle time window or actively update the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model in each preset update period, so that the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is updated once at intervals. Therefore, the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is actively updated, so that the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is in a dynamically updated state, and the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is ensured to be effective in real time.
In addition, when the controller is triggered to actively update the parameter value of the read voltage model corresponding to the storage area through the preset update period, the controller may be triggered by a timer interrupt mode, or may be triggered to actively update the parameter value of the read voltage model corresponding to the storage area through other forcing signals, and specific forcing signals may be set in advance.
The second method includes that the controller passively updates the parameter value of the read voltage model corresponding to the storage area, and specifically includes that when the second error parameter of the first read request data is greater than or equal to a second threshold value under the read voltage determined by the parameter value of the read voltage model corresponding to the storage area, the controller updates the parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model.
The first read request data refers to the first read request data from the storage area according to the read voltage corresponding to the storage area in the read voltage management, where the first read request data is data acquired based on a read request sent by the host, and is not data acquired by actively sampling by the controller. The second threshold may be the same as the first threshold or may be different from the first threshold.
Specifically, the controller reads the request data from the storage area for the first time under the read voltage determined by the parameter value of the read voltage model corresponding to the storage area, and the error parameter of the read request data is the second error parameter. If the second error parameter is less than the first threshold, the controller may determine that the parameter value of the read voltage model corresponding to the storage area is valid, so that it is not updated. If the second error parameter is greater than or equal to the first threshold, the controller may determine that the parameter value of the read voltage model corresponding to the storage area is invalid and needs to be updated.
It should be noted that, when the controller updates the parameter value of the read voltage model corresponding to the storage area to obtain the current effective read voltage), the update may also be performed in a manner of gradually increasing or decreasing the voltage, and the specific implementation process is consistent with the description in the first manner, which is not repeated herein in the embodiment of the present application.
When the controller updates the read voltages corresponding to the plurality of storage areas in the corresponding relation between the storage areas and the parameter values of the read voltage model, the controller can determine the storage areas with invalid parameter values of the read voltage model first, and then the controller can update the parameter values of the read voltage model only for the storage areas with invalid parameter values of the read voltage model in the corresponding relation between the storage areas and the parameter values of the read voltage model. In the embodiment of the application, when the controller updates the parameter value of the read voltage model corresponding to the storage area in the corresponding relation between the storage area and the parameter value of the read voltage model, whether the parameter value of the read voltage model corresponding to the storage area stored in the corresponding relation between the storage area and the parameter value of the read voltage model is valid or not is determined, and the controller updates the parameter value when the parameter value of the read voltage model is invalid is determined, so that unnecessary operation can be avoided, and further, the system bandwidth and the load cost are saved.
In the method for passively updating the parameter values of the read voltage model in the corresponding relation between the storage area and the parameter values of the read voltage model, when the parameter values of the read voltage model in the corresponding relation between the storage area and the parameter values of the read voltage model are invalid, the controller updates the parameter values of the read voltage model into the parameter values of the current valid read voltage model, so that in each period of time, when one or more invalid parameter values of the read voltage model occur in the corresponding relation between the storage area and the parameter values of the read voltage model, the controller updates the parameter values of the one or more read voltage models. Therefore, the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is passively updated, so that the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is in a dynamically updated state, and the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model is guaranteed to be effective in real time.
For ease of understanding, the process of actively updating the correspondence between the storage area and the parameter value of the read voltage model and passively updating the correspondence between the storage area and the parameter value of the read voltage model by the controller are illustrated by the process flows shown in fig. 9a and 9b, respectively.
FIG. 9a is a flow chart of a controller actively updating the correspondence between the memory area and the parameter values of the read voltage model, taking the controller in a system idle window as an example. Specifically, if all the parameter values of the read voltage model in the corresponding relation between the storage area and the parameter values of the read voltage model need to be updated, when the controller is in a system idle time window, the controller can determine the corresponding error parameter under the parameter value of each read voltage model in the corresponding relation between the storage area and the parameter values of the read voltage model, determine the parameter value of the read voltage model which needs to be updated in the corresponding relation between the storage area and the parameter values of the read voltage model (for example, determine that the parameter value of the read voltage model does not need to be updated when the corresponding error parameter is smaller than a first threshold value, and determine that the parameter value of the read voltage model needs to be updated when the corresponding error parameter is greater than or equal to the first threshold value), so as to obtain the parameter value record information (namely, the invalid storage record of the read voltage in the read voltage management information) of the read voltage model to be updated by the parameter value update method of the read voltage model. And finishing the updating of the parameter value record information of all the read voltage models to be updated or finishing the idle time window of the system.
FIG. 9b is a flow chart of the controller passively updating the correspondence between the memory area and the parameter values of the read voltage model. Specifically, the controller receives a read request sent by the host, determines a corresponding read voltage model according to position indication information included in the read request, acquires a parameter value of the corresponding read voltage model from a corresponding relation between a storage area and the parameter value of the read voltage model, calculates the corresponding read voltage according to the determined read voltage model, the parameter value of the read voltage model and an identification of a target storage unit indicated by the position indication information in the read request, and marks the parameter value of the read voltage model as an invalid parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model when the request data acquired for the first time of the read voltage fails (namely, the first time of the read data fails), and updates the invalid parameter value of the read voltage model or ends.
The step of determining, by the controller, the parameter value of the invalid read voltage model in the correspondence between the storage area and the parameter value of the read voltage model, and the step of updating the parameter value of the invalid read voltage model in the correspondence between the storage area and the parameter value of the read voltage model may be performed synchronously or asynchronously. That is, the controller may determine the parameter values of all invalid read voltage models in the correspondence between the storage area and the parameter values of the read voltage models, and then update the parameter values of all invalid read voltage models one by one, or update the parameter values of one invalid read voltage model after determining the parameter values of the invalid read voltage models in the correspondence between the storage area and the parameter values of the read voltage models, and then determine the parameter values of the next invalid read voltage model, and so on, or update the parameter values of the determined invalid read voltage models while determining the parameter values of the invalid read voltage models in the correspondence between the storage area and the parameter values of the read voltage models.
In practical application, when the controller updates the parameter value of the read voltage model in the corresponding relation between the storage area and the parameter value of the read voltage model, if the corresponding relation between the storage area and the parameter value of the read voltage model resides in a fast storage medium such as a memory, the backup is needed in the nonvolatile storage medium, and when the system is initialized, the corresponding relation between the storage area and the parameter value of the read voltage model is imported from the nonvolatile storage medium to the fast storage medium to complete the initialization. Or the controller directly stores the corresponding relation between the storage area and the parameter value of the read voltage model in a storage medium with quick access and nonvolatile characteristics.
Specifically, in the case where the read voltage model is a linear model (y=ax+b), in the process of actively updating the parameter value of the read voltage model in the correspondence between the storage area and the parameter value of the read voltage model and passively updating the parameter value of the read voltage model in the correspondence between the storage area and the parameter value of the read voltage model, the controller may calculate the parameter value of the effective read voltage model in the following manner, as shown in fig. 10:
S1001, setting intermediate parameters sum_ N, sum _xx, sum_xy, sum_x and sum_y for calculating parameters of the valid read voltage model to record and process information required for updating the parameter values of the read voltage model, and initializing to 0 at the beginning of online updating.
S1002, performing online reading voltage search on physical positions of sampling samples in a nonvolatile storage medium, wherein the sampling samples can be configured offline in advance or generated online randomly.
S1003, judging whether the read voltage of the sampling sample is effective.
When the read voltage of the sample is determined to be valid, the read voltage of the current sample may be determined according to the magnitude relation between the read voltage of the current sample and the read voltages of other samples, for example, when the read voltage of the current sample is significantly greater than or significantly less than the read voltage of the other samples, the read voltage of the current sample is considered to be invalid.
And S1004, if the read voltage of the sampling sample is effective, updating the parameter value of the read voltage model. The number of the target memory cell of the i-th effective sampling sample is marked as Xi, the value of the j-th read voltage is marked as YIj, and the operation related to updating the parameter value of the read voltage model comprises the following steps:
Sum_N++;
Sum_XX+=Xi*Xi;
Sum_XY+=Xi*Yij;
Sum_X+=Xi;
Sum_Y+=Yij;
S1005, if the sampling sample is invalid, performing read voltage on-line searching of the next sampling sample;
S1006, after sampling all sampling samples corresponding to the parameters of the read voltage model, calculating the parameter values of the read voltage model according to the following formula, and finishing the parameter value update of the read voltage model corresponding to the j-th read voltage in the parameter values of the read voltage model:
Alpha=Sum_XX*Sum_N-Sum_X*Sum_X;
a=(Sum_XY*Sum_N-Sum_X*Sum_Y)/Alpha;
b=(Sum_XX*Sum_Y-Sum_XY*Sum_X)/Alpha;
where "×" denotes multiplication and "/" denotes division.
When the storage area to be updated corresponds to the parameter values of the plurality of read voltage models, the above steps S1001 to S1006 are performed for each parameter value of the read voltage models. The updating process of the parameter values of the plurality of read voltage models corresponding to the storage area to be updated may be sequentially performed according to a set order, or may be performed simultaneously in parallel.
When the controller performs the overwriting or erasing operation on the data in one storage area, the influence of factors such as the erasing times, the data retention time, the reading operation times and the like on the reading voltage is reset, so that the controller needs to initialize the parameter value of the reading voltage model corresponding to the storage area after performing the overwriting or erasing operation on the data in one storage area. Specifically, the controller initializes a parameter value of a read voltage model corresponding to a storage area performing the overwrite operation or the erase operation to a set value after performing the overwrite operation or the erase operation on data in one storage area, wherein the set value is a default value (preconfigured in the controller) or a preconfigured preset value determined according to a read voltage characteristic of the storage area performing the overwrite operation or the erase operation. In addition, the controller initializes a parameter value of a read voltage model corresponding to a storage area in which the overwrite operation or the erase operation is performed to a value before the overwrite operation or the erase operation is performed after the overwrite operation or the erase operation is performed on the data in one storage area.
Wherein the controller typically performs an overwrite operation or an erase operation on all data in one storage area. For different types of nonvolatile storage media, some nonvolatile storage media can write data directly into a storage unit storing data, and cover the original data, namely directly execute the rewriting operation, such as RRAM, PCRAM, FRAM, NRAM and the like, and some nonvolatile storage media need to erase the original data in the storage unit before writing new data, so that the erasing operation needs to be executed first, such as the nonvolatile storage media based on flash.
According to the scheme, the controller can determine the target read voltage model corresponding to the target storage area where the target physical position is located according to the target physical position indicated by the position indication information of the request data in the read request sent by the host, and acquire the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relation between the storage area and the parameter value of the read voltage model according to the target storage area, and further determine the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model, wherein the read voltage model is a function of the identification of the target storage unit. In the embodiment of the application, aiming at the parameter values of the read voltage models corresponding to different storage areas in the nonvolatile storage medium, the read voltage model corresponding to the nonvolatile storage medium is divided into a plurality of parts, and each part is characterized by the corresponding read voltage model and the parameter value of the read voltage model, so that the accuracy of the read voltage calculated according to the read voltage model corresponding to each storage area can be improved, and the delay of the read operation is reduced.
In addition, the controller determines the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model, and the controller only needs to store the parameter values of the read voltage models corresponding to different storage areas, so that the specific read voltage values are not needed to be stored, and the expenditure of the storage space can be reduced.
The scheme provided by the embodiment of the application is mainly introduced from the interaction point of the devices. It will be appreciated that the various devices, such as hosts and controllers, for implementing the above-described functions, include corresponding hardware structures and/or software modules that perform the various functions. Those of skill in the art will readily appreciate that the present application may be implemented in hardware or a combination of hardware and computer software, as example devices and algorithm steps described in connection with the embodiments disclosed herein. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The embodiment of the application can divide the functional modules of the controller according to the method example, for example, each functional module can be divided corresponding to each function, and two or more functions can be integrated in one processing module. The integrated modules may be implemented in hardware or in software functional modules. It should be noted that, in the embodiment of the present application, the division of the modules is schematic, which is merely a logic function division, and other division manners may be implemented in actual implementation.
In the case of dividing the respective functional modules by the respective functions, the embodiment of the present application provides a possible structural schematic diagram of the controller referred to in the above embodiment. As shown in fig. 11, the memory controller 1100 includes a receiving unit 1101, a processing unit 1102, and a transmitting unit 1103. Wherein the receiving unit 1101 is configured to support the controller to perform step S401 in the data reading method provided in fig. 4, the processing unit 1102 is configured to support the controller to perform the process of acquiring the request data in step S402, step S403, step S404, and step S405 in the data reading method provided in fig. 4, and/or other processes for the technology described herein, such as a parameter value update process of the read voltage model (steps S1001-S1006) as shown in fig. 10, and the transmitting unit 1103 is configured to support the controller to perform the process of transmitting the request data to the host in step S405 in the data reading method provided in fig. 4. The detailed description refers to the related descriptions in the above embodiments, and the embodiments of the present application are not described herein again.
In a hardware implementation, the processing unit 1102 may be a processor, the receiving unit 1101 may be a receiver, the sending unit 1103 may be a transmitter, and the receiver and the transmitter may form a communication interface.
The embodiment of the application also provides an electronic device which has the function of the storage controller shown in fig. 11, and can be specifically a storage device or a communication device. Referring to fig. 12, the electronic device 1200 includes a communication interface 1201, a memory 1202, and a controller 1203. The communication interface 1201, the memory 1202, and the controller 1203 are connected to each other through a bus 1204. In an embodiment of the present application, the controller 1203 is configured to control and manage the actions of the electronic device 1200, for example, the processes of acquiring the request data in step S402, step S403, step S404, and step S405, and/or other processes for the technology described herein, for example, the parameter value update process of the read voltage model as shown in fig. 10 (steps S1001 to S1006). The communication interface 1201 is used to support the electronic device 1200 for communication. Memory 1202 for storing program codes and data for electronic device 2100.
The controller 1203 may be, among other things, a central processor unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof, that may implement or perform the various exemplary logic blocks, modules and circuits described in connection with the present disclosure. The processor 1102 may also be a combination that performs computing functions, such as including one or more microprocessors, digital signal processors and microprocessors, and the like. Bus 1204 may be a peripheral component interconnect standard (PERIPHERAL COMPONENT INTERCONNECT, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus, or the like. Bus 1204 may be classified as an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in fig. 12, but not only one bus or one type of bus.
The embodiment of the application also provides a communication system, which comprises a host, a controller and a nonvolatile storage medium, wherein the nonvolatile storage medium comprises a plurality of storage areas, the nonvolatile storage medium comprises one or more storage areas, each storage area comprises a plurality of target storage units obtained by dividing the nonvolatile storage medium according to the target division granularity, and the read voltage model is a function of the identification (such as the number of the target storage units) of the target storage units. The communication system may be the system shown in fig. 2 or fig. 3. In the embodiment of the application, the host can be used for nonvolatile storage media, sending read requests to the controller and receiving request data sent by the controller, and the controller can be used for management and can be used for executing the steps executed by the controller in the data reading method provided by fig. 4. The controller is configured to perform steps S401-S405 in fig. 4, or to perform the parameter value update process (steps S1001-S1006) of the read voltage model shown in fig. 10, and/or other processes of the techniques described herein. Specific processes refer to the descriptions in the embodiments shown in fig. 4 or fig. 10, and the embodiments of the present application are not described herein.
In another embodiment of the present application, there is also provided a computer-readable storage medium having stored thereon computer-executable instructions that, when executed on a computer, cause the computer to perform the data reading method provided in fig. 4 above.
In another embodiment of the present application, there is also provided a computer program product having computer-executable instructions stored on a computer storage medium for causing a computer to perform the data reading method provided in fig. 4 above when invoked by the computer.
In the embodiment of the application, the controller can determine the target read voltage model corresponding to the target storage area where the target physical position is located according to the target physical position indicated by the position indication information of the request data in the read request sent by the host, and acquire the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relation between the storage area and the parameter value of the read voltage model according to the target storage area, so as to determine the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model, wherein the read voltage model is a function related to the identification of the target storage unit. In the embodiment of the application, aiming at the parameter values of the read voltage models corresponding to different storage areas in the nonvolatile storage medium, the read voltage model corresponding to the nonvolatile storage medium is divided into a plurality of parts, and each part is characterized by the corresponding read voltage model and the parameter value of the read voltage model, so that the accuracy of the read voltage calculated according to the read voltage model corresponding to each storage area can be improved, and the delay of the read operation is reduced.
In addition, the controller determines the read voltage corresponding to the target physical position according to the identification of the target storage unit where the target physical position is located, the target read voltage model and the parameter value of the target read voltage model, and the controller only needs to store the parameter values of the read voltage models corresponding to different storage areas, so that the specific read voltage values are not needed to be stored, and the expenditure of the storage space can be reduced.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present application without departing from the spirit or scope of the embodiments of the application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims and the equivalents thereof, the present application is also intended to include such modifications and variations.
Claims (36)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019088460 | 2019-05-26 | ||
CNPCT/CN2019/088460 | 2019-05-26 | ||
PCT/CN2019/089569 WO2020237637A1 (en) | 2019-05-26 | 2019-05-31 | Data reading method, storage controller, and electronic device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113874942A CN113874942A (en) | 2021-12-31 |
CN113874942B true CN113874942B (en) | 2025-01-17 |
Family
ID=73552469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096783.9A Active CN113874942B (en) | 2019-05-26 | 2019-05-31 | Data reading method, storage controller and electronic device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113874942B (en) |
WO (1) | WO2020237637A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113554274A (en) * | 2021-06-22 | 2021-10-26 | 未鲲(上海)科技服务有限公司 | Data processing method, system and storage medium |
CN114356218B (en) * | 2021-12-07 | 2024-01-16 | 广州致存科技有限责任公司 | Data error correction method, device and medium of Flash memory |
CN115132260A (en) * | 2022-07-07 | 2022-09-30 | 上海恩阶电子科技有限公司 | Data storage and reading method capable of prolonging service life of flash memory unit |
CN117111717B (en) * | 2023-10-24 | 2024-07-05 | 荣耀终端有限公司 | Flash memory control method, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101484947A (en) * | 2006-05-15 | 2009-07-15 | 苹果公司 | Maintenance operations for multi-level data storage cells |
CN103035294A (en) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | Method for reading data from non-volatile memory and device and system for implementing the method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101516577B1 (en) * | 2008-11-10 | 2015-05-06 | 삼성전자주식회사 | Nonvolatile semi-conductor memory device and method for calculating read voltage non-volatile semiconductor memory device |
KR101642465B1 (en) * | 2008-12-12 | 2016-07-25 | 삼성전자주식회사 | Access method of non-volatile memory device |
US20150205664A1 (en) * | 2014-01-17 | 2015-07-23 | Fusion-Io, Inc. | Determining a configuration parameter using a soft read command |
CN106569742B (en) * | 2016-10-20 | 2019-07-23 | 华为技术有限公司 | Memory management method and storage equipment |
CN106981302B (en) * | 2017-03-20 | 2019-05-21 | 记忆科技(深圳)有限公司 | A kind of method of the optimal read voltage of rapid evaluation |
CN107247636B (en) * | 2017-06-06 | 2020-05-26 | 苏州浪潮智能科技有限公司 | A method and device for data reconstruction and optimization in a solid-state hard disk |
TWI623878B (en) * | 2017-07-07 | 2018-05-11 | 大心電子(英屬維京群島)股份有限公司 | Data reading method and storage controller |
-
2019
- 2019-05-31 CN CN201980096783.9A patent/CN113874942B/en active Active
- 2019-05-31 WO PCT/CN2019/089569 patent/WO2020237637A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101484947A (en) * | 2006-05-15 | 2009-07-15 | 苹果公司 | Maintenance operations for multi-level data storage cells |
CN103035294A (en) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | Method for reading data from non-volatile memory and device and system for implementing the method |
Also Published As
Publication number | Publication date |
---|---|
WO2020237637A1 (en) | 2020-12-03 |
CN113874942A (en) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296224B2 (en) | Apparatus, system and method for increasing the capacity of a storage device available to store user data | |
CN113874942B (en) | Data reading method, storage controller and electronic device | |
US11249897B2 (en) | Data storage device and operating method thereof | |
US9778849B2 (en) | Method of operating data storage device using size and write speed information and method of operating system including the same | |
US10860231B2 (en) | Memory system for adjusting map segment based on pattern and operating method thereof | |
US20140281158A1 (en) | File differentiation based on data block identification | |
CN109840047B (en) | A method and device for reducing read delay | |
WO2018231741A1 (en) | Adaptive throttling | |
US12298902B2 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
US11921629B1 (en) | Method and device for data storage | |
US11922062B2 (en) | Controller and operating method thereof | |
KR20200076431A (en) | Operating method of memory controller and memory system, and memory system | |
KR20210144249A (en) | Storage device and operating method of the same | |
KR102750797B1 (en) | Apparatus and method for performing garbage collection to predicting required time | |
KR102596964B1 (en) | Data storage device capable of changing map cache buffer size | |
CN116974491A (en) | Storage optimization method and device for solid state disk, computer equipment and storage medium | |
US11675537B2 (en) | Controller for performing data input/output operation and memory management operation at the same time and operation method thereof | |
CN113574497A (en) | Data storage method and storage chip | |
US12287732B2 (en) | Method and device for storing data | |
EP4325367B1 (en) | Method and device for data caching | |
EP4174663A1 (en) | Storage device and operation method thereof | |
US20230244402A1 (en) | Storage device and operating method of storage device | |
KR20200015185A (en) | Data storage device and operating method thereof | |
EP4220374B1 (en) | Storage device and operating method of storage device | |
US20250190344A1 (en) | Storage device including nonvolatile memory device and operating method of storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |