[go: up one dir, main page]

CN113874942B - Data reading method, storage controller and electronic device - Google Patents

Data reading method, storage controller and electronic device Download PDF

Info

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
Application number
CN201980096783.9A
Other languages
Chinese (zh)
Other versions
CN113874942A (en
Inventor
夏天
贾学超
陈一帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113874942A publication Critical patent/CN113874942A/en
Application granted granted Critical
Publication of CN113874942B publication Critical patent/CN113874942B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing 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

Data reading method, storage controller and electronic equipment
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)

1.一种数据读取方法,其特征在于,应用于控制器中,所述控制器的前端用于连接主机,后端用于连接非易失存储介质,所述方法包括:1. A data reading method, characterized in that it is applied to a controller, wherein the front end of the controller is used to connect to a host, and the back end of the controller is used to connect to a non-volatile storage medium, and the method comprises: 所述控制器接收主机发送的读请求,所述读请求中包括请求数据的位置指示信息;The controller receives a read request sent by the host, wherein the read request includes location indication information of the requested data; 所述控制器根据所述位置指示信息所指示的目标物理位置,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型;其中,所述目标物理位置为所述请求数据在所述非易失存储介质中的物理位置,所述非易失存储介质包括一个或多个存储区域,每个存储区域包括多个所述非易失存储介质按照目标划分粒度划分得到的目标存储单元,所述读电压模型为关于所述目标存储单元的标识的函数;The controller determines, according to the target physical position indicated by the position indication information, a target read voltage model corresponding to the target storage area where the target physical position is located; wherein the target physical position is a physical position of the request data in the non-volatile storage medium, the non-volatile storage medium includes one or more storage areas, each storage area includes a plurality of target storage units obtained by dividing the non-volatile storage medium according to a target division granularity, and the read voltage model is a function of an identifier of the target storage unit; 所述控制器根据所述目标存储区域,从所述存储区域与所述读电压模型的参数值的对应关系中,获取所述目标存储区域对应的所述目标读电压模型的参数值;其中,所述存储区域与所述读电压模型的参数值的对应关系中,一个所述存储区域对应一个或多个所述读电压模型的参数;The controller acquires, according to the target storage area, a parameter value of the target read voltage model corresponding to the target storage area from a correspondence relationship between the storage area and the parameter value of the read voltage model; wherein, in the correspondence relationship between the storage area and the parameter value of the read voltage model, one storage area corresponds to one or more parameters of the read voltage model; 所述控制器根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标物理位置对应的读电压;The controller determines 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 obtains the request data according to the read voltage corresponding to the target physical position, and sends the request data to the host. 2.如权利要求1所述的方法,其特征在于,所述控制器根据所述目标存储区域,从所述存储区域与所述读电压模型的参数值的对应关系中,获取所述目标存储区域对应的所述目标读电压模型的参数值,包括:2. The method according to claim 1, wherein the controller obtains 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, comprising: 当所述存储区域与所述读电压模型的参数值的对应关系中,所述目标存储区域对应多个所述读电压模型的参数值时,所述控制器根据所述目标物理位置,从所述目标存储区域对应多个所述读电压模型的参数值中选择一个或多个,作为所述目标读电压模型参数。When, in the correspondence between the storage area and the parameter values of the read voltage model, the target storage area corresponds to multiple parameter values of the read voltage model, the controller selects one or more from the multiple parameter values of the read voltage model corresponding to the target storage area according to the target physical position as the target read voltage model parameters. 3.如权利要求1或2所述的方法,其特征在于,所述控制器根据所述位置指示信息所指示的目标物理位置,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型,包括:3. The method according to claim 1 or 2, wherein the controller determines 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, comprising: 所述控制器根据所述位置指示信息所指示的目标物理位置,从所述存储区域与所述读电压模型的对应关系中,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型。The controller determines, according to the target physical position indicated by the position indication information, a target read voltage model corresponding to the target storage area where the target physical position is located from the correspondence between the storage area and the read voltage model. 4.如权利要求1-3中任意一项所述的方法,其特征在于,所述读电压模型用于表征所述目标存储单元的标识与最优读电压的对应关系。4 . The method according to claim 1 , wherein the read voltage model is used to characterize the corresponding relationship between the identifier of the target storage unit and the optimal read voltage. 5 . 5.如权利要求1-4中任意一项所述的方法,其特征在于,所述目标读电压模型的参数值包括所述关于所述目标存储单元的标识的函数中所述目标存储单元的标识的系数以及所述关于所述目标存储单元的标识的函数中的常数项的值;5. The method according to any one of claims 1 to 4, characterized in that the parameter value of the target read voltage model includes a coefficient of the identification of the target storage unit in the function of the identification of the target storage unit and a value of a constant term in the function of the identification of the target storage unit; 所述控制器根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标物理位置对应的读电压,包括:The controller determines 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, including: 所述控制器根据所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数;The controller determines, 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; 所述控制器根据所述目标物理位置所在的目标存储单元的标识以及所述目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数,计算所述目标物理位置对应的读电压。The controller calculates a read voltage corresponding to the target physical location according to an identifier of a target storage unit where the target physical location is located and a function satisfied by a read voltage in the target storage area and an identifier of a target storage unit in the target storage area. 6.如权利要求1-5中任意一项所述的方法,其特征在于,还包括:6. The method according to any one of claims 1 to 5, further comprising: 当所述每个存储区域中的任意一个满足预设更新条件时,所述控制器更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。When any one of the storage areas meets a preset update condition, the controller updates the parameter value of the read voltage model corresponding to the storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model. 7.如权利要求6所述的方法,其特征在于,当所述每个存储区域中的任意一个满足预设更新条件时,所述控制器更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值,包括:7. The method according to claim 6, wherein when any one of the storage areas meets a preset update condition, the controller updates the parameter value of the read voltage model corresponding to the storage area in the correspondence relationship between the storage area and the parameter value of the read voltage model, comprising: 当所述控制器处于系统空闲时间窗或者满足预设更新周期时,所述控制器确定所述每个存储区域中的任意一个对应的读电压下的第一出错参数;When the controller is in a system idle time window or meets a preset update period, the controller determines a first error parameter under any corresponding read voltage in each storage area; 当所述第一出错参数大于或等于第一阈值时,所述控制器更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。When the first error parameter is greater than or equal to a first threshold, the controller updates the parameter value of the read voltage model corresponding to the storage area in the correspondence relationship between the storage area and the parameter value of the read voltage model. 8.如权利要求7所述的方法,其特征在于,所述预设更新周期与所述存储区域的使用状态相关;或者,所述预设更新周期与所述非易失存储介质包括的多个存储区域的平均使用寿命相关。8. The method according to claim 7, characterized in that the preset update period is related to the usage status of the storage area; or, the preset update period is related to the average service life of multiple storage areas included in the non-volatile storage medium. 9.如权利要求1-8中任意一项所述的方法,其特征在于,针对所述存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,所述设定条件为读电压模型的参数值相同或相近平。9. The method according to any one of claims 1-8 is characterized in that, for any storage area in the correspondence between the storage area and the parameter values of the read voltage model, when the storage area corresponds to the parameter values of multiple read voltage models, the parameter values of multiple read voltage models that meet the set conditions among the parameter values of the multiple read voltage models corresponding to the storage area 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 approximately the same. 10.如权利要求1-9中任意一项所述的方法,其特征在于,还包括:10. The method according to any one of claims 1 to 9, further comprising: 所述控制器对一个所述存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值,其中,所述设定值为默认值或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。After the controller performs a rewrite or erase operation on the data in one of the storage areas, the controller initializes the parameter value of the read voltage model corresponding to the storage area where the rewrite operation or erase operation is performed to a set value, wherein the set value is a default value or a pre-configured preset value determined according to the read voltage characteristics of the storage area where the rewrite operation or erase operation is performed. 11.如权利要求10所述的方法,其特征在于,所述控制器对一个所述存储区域中的数据执行重写操作或擦除操作,包括:11. The method according to claim 10, wherein the controller performs a rewrite operation or an erase operation on data in one of the storage areas, comprising: 所述控制器对一个所述存储区域中的所有数据执行重写操作或擦除操作。The controller performs a rewrite operation or an erase operation on all data in one of the storage areas. 12.如权利要求1-11中任意一项所述的方法,其特征在于,所述目标存储单元为晶粒die、面Plane、块block、字符串string、层layer和页面page中的任意一种;12. The method according to any one of claims 1 to 11, characterized in that the target storage unit is any one of a die, a plane, a block, a string, a layer, and a page; 或者,所述目标存储单元为多个die构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple dies; 或者,所述目标存储单元为多个plane构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple planes; 或者,所述目标存储单元为多个block构成的存储单元;Alternatively, the target storage unit is a storage unit consisting of multiple blocks; 或者,所述目标存储单元为多个string构成的存储单元;Alternatively, the target storage unit is a storage unit consisting of multiple strings; 或者,所述目标存储单元为多个layer构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple layers; 或者,所述目标存储单元为多个page构成的存储单元。Alternatively, the target storage unit is a storage unit composed of multiple pages. 13.一种存储控制器,其特征在于,包括:接收单元、处理单元以及发送单元;13. A storage controller, comprising: a receiving unit, a processing unit and a sending unit; 所述接收单元,用于接收主机发送的读请求,所述读请求中包括请求数据的位置指示信息;The receiving unit is used to receive a read request sent by a host, wherein the read request includes location indication information of the requested data; 所述处理单元,用于根据所述位置指示信息所指示的目标物理位置,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型;其中,所述目标物理位置为所述请求数据在非易失存储介质中的物理位置,所述非易失存储介质包括一个或多个存储区域,每个存储区域包括多个所述非易失存储介质按照目标划分粒度划分得到的目标存储单元,所述读电压模型为关于所述目标存储单元的标识的函数;根据所述目标存储区域,从所述存储区域与所述读电压模型的参数值的对应关系中,获取所述目标存储区域对应的所述目标读电压模型的参数值,其中,所述存储区域与所述读电压模型的参数值的对应关系中,一个所述存储区域对应一个或多个所述读电压模型的参数;根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标物理位置对应的读电压;以及,根据所述目标物理位置对应的读电压,获取所述请求数据;The processing unit is configured to determine, according to the target physical position indicated by the position indication information, a target read voltage model corresponding to the target storage area where the target physical position is located; wherein the target physical position is the physical position of the requested data in a non-volatile storage medium, the non-volatile storage medium includes one or more storage areas, each storage area includes a plurality of target storage units obtained by dividing the non-volatile storage medium according to the target division granularity, and the read voltage model is a function of the identifier of the target storage unit; according to the target storage area, from the correspondence between the storage area and the parameter value of the read voltage model, obtain the parameter value of the target read voltage model corresponding to the target storage area, wherein, in the correspondence between the storage area and the parameter value of the read voltage model, one storage area corresponds to one or more parameters of the read voltage model; according to the identifier 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, determine the read voltage corresponding to the target physical position; and, according to the read voltage corresponding to the target physical position, obtain the requested data; 所述发送单元,用于将所述请求数据发送给所述主机。The sending unit is used to send the request data to the host. 14.如权利要求13所述的存储控制器,其特征在于,所述处理单元在根据所述目标存储区域,从所述存储区域与所述读电压模型的参数值的对应关系中,获取所述目标存储区域对应的所述目标读电压模型的参数值时,具体用于:14. The storage controller according to claim 13, wherein when the processing unit obtains 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 according to the target storage area, it is specifically used to: 当所述存储区域与所述读电压模型的参数值的对应关系中,所述目标存储区域对应多个所述读电压模型的参数值时,根据所述目标物理位置,从所述目标存储区域对应多个所述读电压模型的参数值中选择一个或多个,作为所述目标读电压模型参数。When, in the correspondence between the storage area and the parameter values of the read voltage model, the target storage area corresponds to multiple parameter values of the read voltage model, one or more are selected from the multiple parameter values of the read voltage model corresponding to the target storage area according to the target physical position as the target read voltage model parameters. 15.如权利要求13或14所述的存储控制器,其特征在于,所述处理单元在根据所述位置指示信息所指示的目标物理位置,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型时,具体用于:15. The storage controller according to claim 13 or 14, wherein the processing unit, when determining 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, is specifically configured to: 根据所述位置指示信息所指示的目标物理位置,从所述存储区域与所述读电压模型的对应关系中,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型。According to the target physical position indicated by the position indication information, a target read voltage model corresponding to the target storage area where the target physical position is located is determined from the correspondence between the storage area and the read voltage model. 16.如权利要求13-15中任意一项所述的存储控制器,其特征在于,所述读电压模型用于表征所述目标存储单元的标识与最优读电压的对应关系。16 . The storage controller according to claim 13 , wherein the read voltage model is used to characterize the corresponding relationship between the identifier of the target storage unit and the optimal read voltage. 17.如权利要求13-16中任意一项所述的存储控制器,其特征在于,所述目标读电压模型的参数值包括所述关于所述目标存储单元的标识的函数中所述目标存储单元的标识的系数以及所述关于所述目标存储单元的标识的函数中的常数项的值;17. The storage controller according to any one of claims 13 to 16, characterized in that the parameter value of the target read voltage model includes a coefficient of the identification of the target storage unit in the function regarding the identification of the target storage unit and a value of a constant term in the function regarding the identification of the target storage unit; 所述处理单元在根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标物理位置对应的读电压时,具体用于:When the processing unit determines the read voltage corresponding to the target physical position according to the identifier 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, it is specifically used to: 根据所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数;Determining, according to the target read voltage model and parameter values of the target read voltage model, a function satisfied by a read voltage in the target storage area and an identifier of a target storage unit in the target storage area; 根据所述目标物理位置所在的目标存储单元的标识以及所述目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数,计算所述目标物理位置对应的读电压。The read voltage corresponding to the target physical location is calculated 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. 18.如权利要求13-17中任意一项所述的存储控制器,其特征在于,所述处理单元还用于:当所述每个存储区域中的任意一个满足预设更新条件时,更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。18. A storage controller as described in any one of claims 13-17, characterized in that the processing unit is also used to: when any one of the storage areas meets a preset update condition, update the parameter value of the read voltage model corresponding to the storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model. 19.如权利要求18所述的存储控制器,其特征在于,所述处理单元在更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数时,具体用于:19. The storage controller according to claim 18, wherein when the processing unit updates the parameter 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, it is specifically used to: 当所述存储控制器处于系统空闲时间窗或者满足预设更新周期时,确定所述每个存储区域中的任意一个对应的读电压下的第一出错参数;When the storage controller is in a system idle time window or meets a preset update period, determining a first error parameter under any corresponding read voltage in each storage area; 当所述第一出错参数大于或等于第一阈值时,更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。When the first error parameter is greater than or equal to a first threshold, the parameter value of the read voltage model corresponding to the storage area in the correspondence relationship between the storage area and the parameter value of the read voltage model is updated. 20.如权利要求19所述的存储控制器,其特征在于,所述预设更新周期与所述存储区域的使用状态相关;或者,所述预设更新周期与所述非易失存储介质包括的多个存储区域的平均使用寿命相关。20. The storage controller according to claim 19, characterized in that the preset update period is related to the usage status of the storage area; or, the preset update period is related to the average service life of multiple storage areas included in the non-volatile storage medium. 21.如权利要求13-20中任意一项所述的存储控制器,其特征在于,针对所述存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,所述设定条件为读电压模型的参数值相同或相近平。21. A storage controller as described in any one of claims 13-20, characterized in that, for any storage area in the correspondence between the storage area and the parameter values of the read voltage model, when the storage area corresponds to parameter values of multiple read voltage models, the parameter values of multiple read voltage models that meet set conditions among the parameter values of the multiple read voltage models corresponding to the storage area 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 approximately the same. 22.如权利要求13-21中任意一项所述的存储控制器,其特征在于,所述处理单元还用于:对一个所述存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值;22. The storage controller according to any one of claims 13 to 21, wherein the processing unit is further configured to: after performing a rewrite or erase operation on data in one of the storage areas, initialize a parameter value of a read voltage model corresponding to the storage area where the rewrite or erase operation is performed to a set value; 其中,所述设定值为默认值或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。The set value is a default value or a pre-configured preset value determined according to a read voltage characteristic of a storage area where a rewrite operation or an erase operation is performed. 23.如权利要求22所述的存储控制器,其特征在于,所述处理单元在对一个所述存储区域中的数据执行重写操作或擦除操作时,具体用于:23. The storage controller according to claim 22, wherein when the processing unit performs a rewrite operation or an erase operation on data in one of the storage areas, the processing unit is specifically configured to: 对一个所述存储区域中的所有数据执行重写操作或擦除操作。A rewrite operation or an erase operation is performed on all data in one of the storage areas. 24.如权利要求13-23中任意一项所述的存储控制器,其特征在于,所述目标存储单元为晶粒die、面Plane、块block、字符串string、层layer和页面page中的任意一种;24. The storage controller according to any one of claims 13 to 23, wherein the target storage unit is any one of a die, a plane, a block, a string, a layer, and a page; 或者,所述目标存储单元为多个die构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple dies; 或者,所述目标存储单元为多个plane构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple planes; 或者,所述目标存储单元为多个block构成的存储单元;Alternatively, the target storage unit is a storage unit consisting of multiple blocks; 或者,所述目标存储单元为多个string构成的存储单元;Alternatively, the target storage unit is a storage unit consisting of multiple strings; 或者,所述目标存储单元为多个layer构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple layers; 或者,所述目标存储单元为多个page构成的存储单元。Alternatively, the target storage unit is a storage unit composed of multiple pages. 25.一种电子设备,其特征在于,包括通信接口、控制器和存储器;25. An electronic device, characterized in that it comprises a communication interface, a controller and a memory; 所述通信接口,用于接收主机发送的读请求,所述读请求中包括请求数据的位置指示信息;The communication interface is used to receive a read request sent by a host, wherein the read request includes location indication information of the requested data; 所述存储器,存储有代码指令;The memory stores code instructions; 所述控制器,用于调用所述存储器存储的代码指令,执行:根据所述位置指示信息所指示的目标物理位置,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型;其中,所述目标物理位置为所述请求数据在非易失存储介质中的物理位置,所述非易失存储介质包括一个或多个存储区域,每个存储区域包括多个所述非易失存储介质按照目标划分粒度划分得到的目标存储单元,所述读电压模型为关于所述目标存储单元的标识的函数;根据所述目标存储区域,从所述存储区域与所述读电压模型的参数值的对应关系中,获取所述目标存储区域对应的所述目标读电压模型的参数值,其中,所述存储区域与所述读电压模型的参数值的对应关系中,一个所述存储区域对应一个或多个所述读电压模型的参数;根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标物理位置对应的读电压;根据所述目标物理位置对应的读电压,获取所述请求数据;The controller is used to call the code instructions stored in the memory to execute: determining, according to the target physical position indicated by the position indication information, a target read voltage model corresponding to the target storage area where the target physical position is located; wherein the target physical position is the physical position of the requested data in the non-volatile storage medium, the non-volatile storage medium includes one or more storage areas, each storage area includes a plurality of target storage units obtained by dividing the non-volatile storage medium according to the target division granularity, and the read voltage model is a function of the identifier of the target storage unit; according to the target storage area, obtaining 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, wherein, in the correspondence between the storage area and the parameter value of the read voltage model, one storage area corresponds to one or more parameters of the read voltage model; determining the read voltage corresponding to the target physical position according to the identifier 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; obtaining the requested data according to the read voltage corresponding to the target physical position; 所述通信接口还用于:将所述请求数据发送给所述主机。The communication interface is also used to send the request data to the host. 26.如权利要求25所述的设备,其特征在于,所述控制器在根据所述目标存储区域,从所述存储区域与所述读电压模型的参数值的对应关系中,获取所述目标存储区域对应的所述目标读电压模型的参数值时,具体用于:26. The device according to claim 25, wherein the controller, when acquiring 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 according to the target storage area, is specifically configured to: 当所述存储区域与所述读电压模型的参数值的对应关系中,所述目标存储区域对应多个所述读电压模型的参数值时,根据所述目标物理位置,从所述目标存储区域对应多个所述读电压模型的参数值中选择一个或多个,作为所述目标读电压模型参数。When, in the correspondence between the storage area and the parameter values of the read voltage model, the target storage area corresponds to multiple parameter values of the read voltage model, one or more are selected from the multiple parameter values of the read voltage model corresponding to the target storage area according to the target physical position as the target read voltage model parameters. 27.如权利要求25或26所述的设备,其特征在于,所述控制器在根据所述位置指示信息所指示的目标物理位置,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型时,具体用于:27. The device according to claim 25 or 26, characterized in that the controller, when determining 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, is specifically configured to: 根据所述位置指示信息所指示的目标物理位置,从所述存储区域与所述读电压模型的对应关系中,确定所述目标物理位置所在的目标存储区域对应的目标读电压模型。According to the target physical position indicated by the position indication information, a target read voltage model corresponding to the target storage area where the target physical position is located is determined from the correspondence between the storage area and the read voltage model. 28.如权利要求25-27中任意一项所述的设备,其特征在于,所述读电压模型用于表征所述目标存储单元的标识与最优读电压的对应关系。28. The device according to any one of claims 25 to 27, characterized in that the read voltage model is used to characterize the corresponding relationship between the identifier of the target storage unit and the optimal read voltage. 29.如权利要求25-28中任意一项所述的设备,其特征在于,所述目标读电压模型的参数值包括所述关于所述目标存储单元的标识的函数中所述目标存储单元的标识的系数以及所述关于所述目标存储单元的标识的函数中的常数项的值;29. The device according to any one of claims 25 to 28, characterized in that the parameter value of the target read voltage model includes a coefficient of the identification of the target storage unit in the function related to the identification of the target storage unit and a value of a constant term in the function related to the identification of the target storage unit; 所述控制器在根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标物理位置对应的读电压时,具体用于:When the controller determines the read voltage corresponding to the target physical position according to the identifier 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, it is specifically used to: 根据所述目标读电压模型以及所述目标读电压模型的参数值,确定所述目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数;Determining, according to the target read voltage model and parameter values of the target read voltage model, a function satisfied by a read voltage in the target storage area and an identifier of a target storage unit in the target storage area; 根据所述目标物理位置所在的目标存储单元的标识以及所述目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数,计算所述目标物理位置对应的读电压。The read voltage corresponding to the target physical location is calculated 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. 30.如权利要求25-29中任意一项所述的设备,其特征在于,所述控制器还用于:当所述每个存储区域中的任意一个满足预设更新条件时,更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。30. The device as described in any one of claims 25-29 is characterized in that the controller is also used to: when any one of the storage areas meets a preset update condition, update the parameter value of the read voltage model corresponding to the storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model. 31.如权利要求30所述的设备,其特征在于,所述控制器在更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值时,具体用于:31. The device according to claim 30, wherein when the controller updates the parameter value of the read voltage model corresponding to the storage area in the correspondence relationship between the storage area and the parameter value of the read voltage model, it is specifically used to: 当所述控制器处于系统空闲时间窗或者满足预设更新周期时,确定所述每个存储区域中的任意一个对应的读电压下的第一出错参数;When the controller is in a system idle time window or meets a preset update period, determining a first error parameter under any corresponding read voltage in each storage area; 当所述第一出错参数大于或等于第一阈值时,更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。When the first error parameter is greater than or equal to a first threshold, the parameter value of the read voltage model corresponding to the storage area in the correspondence relationship between the storage area and the parameter value of the read voltage model is updated. 32.如权利要求31所述的设备,其特征在于,所述预设更新周期与所述存储区域的使用状态相关;或者,所述预设更新周期与所述非易失存储介质包括的多个存储区域的平均使用寿命相关。32. The device of claim 31, wherein 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 non-volatile storage medium. 33.如权利要求25-32中任意一项所述的设备,其特征在于,针对所述存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,所述设定条件为读电压模型的参数值相同或相近平。33. The device as described in any one of claims 25-32 is characterized in that, for any storage area in the correspondence between the storage area and the parameter values of the read voltage model, when the storage area corresponds to the parameter values of multiple read voltage models, the parameter values of multiple read voltage models that meet the set conditions among the parameter values of the multiple read voltage models corresponding to the storage area 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 approximately the same. 34.如权利要求25-33中任意一项所述的设备,其特征在于,所述控制器还用于:34. The device according to any one of claims 25 to 33, wherein the controller is further configured to: 对一个所述存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值,其中,所述设定值为默认值或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。After performing a rewrite or erase operation on the data in one of the storage areas, the parameter value of the read voltage model corresponding to the storage area where the rewrite operation or erase operation is performed is initialized to a set value, wherein the set value is a default value or a pre-configured preset value determined according to the read voltage characteristics of the storage area where the rewrite operation or erase operation is performed. 35.如权利要求34所述的设备,其特征在于,所述控制器对一个所述存储区域中的数据执行重写操作或擦除操作时,具体用于:35. The device according to claim 34, wherein when the controller performs a rewrite operation or an erase operation on data in one of the storage areas, it is specifically configured to: 对一个所述存储区域中的所有数据执行重写操作或擦除操作。A rewrite operation or an erase operation is performed on all data in one of the storage areas. 36.如权利要求25-35中任意一项所述的设备,其特征在于,所述目标存储单元为晶粒die、面Plane、块block、字符串string、层layer和页面page中的任意一种;36. The device according to any one of claims 25 to 35, characterized in that the target storage unit is any one of a die, a plane, a block, a string, a layer, and a page; 或者,所述目标存储单元为多个die构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple dies; 或者,所述目标存储单元为多个plane构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple planes; 或者,所述目标存储单元为多个block构成的存储单元;Alternatively, the target storage unit is a storage unit consisting of multiple blocks; 或者,所述目标存储单元为多个string构成的存储单元;Alternatively, the target storage unit is a storage unit consisting of multiple strings; 或者,所述目标存储单元为多个layer构成的存储单元;Alternatively, the target storage unit is a storage unit composed of multiple layers; 或者,所述目标存储单元为多个page构成的存储单元。Alternatively, the target storage unit is a storage unit composed of multiple pages.
CN201980096783.9A 2019-05-26 2019-05-31 Data reading method, storage controller and electronic device Active CN113874942B (en)

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)

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

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

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

Patent Citations (2)

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