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

Data reading method, storage controller, and electronic device Download PDF

Info

Publication number
WO2020237637A1
WO2020237637A1 PCT/CN2019/089569 CN2019089569W WO2020237637A1 WO 2020237637 A1 WO2020237637 A1 WO 2020237637A1 CN 2019089569 W CN2019089569 W CN 2019089569W WO 2020237637 A1 WO2020237637 A1 WO 2020237637A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
read voltage
storage area
voltage model
storage
Prior art date
Application number
PCT/CN2019/089569
Other languages
French (fr)
Chinese (zh)
Inventor
夏天
贾学超
陈一帆
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201980096783.9A priority Critical patent/CN113874942A/en
Publication of WO2020237637A1 publication Critical patent/WO2020237637A1/en

Links

Images

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

Definitions

  • This application relates to the field of data storage technology, and in particular to a data reading method, a storage controller and an electronic device.
  • SSD Solid state drive
  • QoS quality of service
  • flash is the main storage medium of SSD. Its characteristics are affected by many factors such as program/erase cycles (PE), data retention time (retention time), etc.
  • PE program/erase cycles
  • retention time retention time
  • the read voltage pre-metering technology can be used to reduce the read delay, that is, by analyzing the relationship between the factors that affect the read voltage and the voltage offset, making the influencing factors and the read voltage compensation table, or summarizing specific When using the formula, look up the table according to the influencing factor value or compensate the reading voltage after calculation, thereby improving the first reading success rate and reducing the reading delay.
  • the voltage pre-metering technology is related to the sampled samples. For different storage media, different voltage-reading pre-meters need to be made, which requires a lot of work. In addition, the storage medium will change during use, the reliability of using the read voltage pre-metering technology is low, and the first read success rate is limited, so the effect of reducing the read delay is not good.
  • This application provides a data reading method, a storage controller and an electronic device to solve the problem of long reading delay in the prior art.
  • this application provides a data reading method, which is applied to a controller, where the front end of the controller is used to connect to the host, and the back end of the controller is used to connect to a non-volatile storage medium.
  • the method includes: a controller receives a read request sent by a host, the read request includes location indication information of the requested data; the controller determines a target 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 Read the voltage model, where the target physical location is the physical location of the requested data in the non-volatile storage medium, the non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage media according to The target storage unit obtained by the granularity of target division, the read voltage model is a function of the identification of the target storage unit; the controller obtains the corresponding relationship of 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 The parameter value of the
  • the controller can determine 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 of the request data in the read request sent by the host, and according to the target storage area, Obtain the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relationship between the parameter value of the storage area and the read voltage model, and then can be based on the target physical location of the target storage cell identification, target read voltage model and target read voltage The parameter value of the model determines the read voltage corresponding to the target physical location, where the read power model is a function of the identification of the target storage unit.
  • different storage areas in the non-volatile storage medium correspond to different parameter values of the read voltage model, which is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, each part Using the respective corresponding read voltage models and the parameter values of the read voltage models to characterize, in turn, 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 can be reduced.
  • the controller determines the read voltage corresponding to the target physical location according to the identification 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 only needs to store the read voltages corresponding to different storage areas.
  • the parameter value of the model does not need to store the specific reading voltage value, which can reduce the storage space overhead.
  • the controller may obtain the parameter value of the target read voltage model corresponding to the target storage area in the following manner: when the corresponding relationship between the storage area and the parameter value of the read voltage model, the target storage area corresponds to multiple When reading the parameter values of the voltage model, the controller selects one or more of the parameter values of the multiple read voltage models corresponding to the target storage area according to the target physical location as the target read voltage model parameters.
  • the controller can specifically determine the target read voltage model corresponding to the target storage area where the target physical location is located: the controller reads the voltage model from the storage area according to the target physical location indicated by the location indication information. In the corresponding relationship, determine the target read voltage model corresponding to the target storage area where the target physical location is located.
  • the read voltage model is a model determined according to the read voltage characteristics of the target storage cell in the nonvolatile storage medium, and the target division granularity is based on the structure of the nonvolatile storage medium and different division granularity in the nonvolatile storage medium.
  • the read voltage characteristics of the lower memory cell are determined.
  • the read voltage model is used to characterize the correspondence between the identifier of the target memory cell and the optimal read voltage.
  • the controller can determine the read voltage corresponding to the target physical location by the following method: the controller determines the read voltage in the target storage area and the identification location of the target storage unit in the target storage area according to the target read voltage model and the parameter values of the target read voltage model.
  • the satisfied function calculates 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 and the 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 non-volatile storage medium may drift due to multiple factors such as the number of erasing and writing, the data retention time, the number of read operations, and the temperature. Therefore, in order to further improve the determination of the controller
  • the controller must also update the parameter values of the reading voltage model corresponding to the storage area in the non-volatile storage medium online, so that the parameter values of the reading voltage model can accurately follow the reading of the non-volatile storage medium.
  • the voltage changes. Specifically, when any one of each storage area in the non-volatile storage medium satisfies the preset update condition, the controller updates the 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. Parameter value.
  • the controller determines the first error parameter under the reading voltage corresponding to any one in each storage area; when the first error parameter When it is greater than or equal to the first threshold, 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.
  • the preset update period is related to the use state of the storage area; or, the preset update period is related to the average service life of the multiple storage areas included in the nonvolatile storage medium.
  • the storage area corresponds to multiple read voltage models.
  • the parameter values of multiple read voltage models that meet the set conditions are compressed into a read voltage model.
  • the set condition is that the parameter values of the read voltage model are the same or nearly flat, which is equivalent to the storage area and the read voltage model.
  • the corresponding relationship between the parameter values of the read voltage model is compressed, which can reduce the storage content in the corresponding relationship between the storage area and the parameter value of the read voltage model, and reduce the storage space occupied by the parameter value of the read voltage model, thereby saving the storage of the controller space.
  • the controller when the controller performs a rewriting or erasing operation on the data in a storage area, the influence of factors such as the number of erasing and writing, the data retention time, and the number of read operations on the read voltage will be reset, so After the controller performs a rewriting or erasing operation on the data in a storage area, it also needs to initialize the parameter value of the read voltage model corresponding to the storage area.
  • the controller After the controller performs a rewriting or erasing operation on the data in a storage area, it initializes the parameter values of the read voltage model corresponding to the storage area where the rewriting operation or the erasing operation is performed to the set value, where:
  • the set value is a default value (pre-configured in the controller) or a pre-configured preset value determined according to the read voltage characteristics of the storage area where the rewriting operation or the erasing operation is performed.
  • the target storage unit may be a physical unit in a non-volatile storage medium, specifically any of die, plane, block, string, layer, page, etc. .
  • the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium.
  • the location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies.
  • the storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
  • the present application provides a storage controller, 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.
  • the storage controller includes: a receiving unit, a processing unit, and a sending unit.
  • the receiving unit is used to receive a read request sent by the host, and the read request includes location indication information of the requested data;
  • the processing unit is used to determine the target storage where the target physical location is located according to the target physical location indicated by the location indication information
  • the target read voltage model corresponding to the area, where the target physical location is the physical location of the requested data in the non-volatile storage medium.
  • the non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage areas.
  • the target storage medium is divided into the target storage unit according to the target division granularity, the read voltage model is a function of the identification of the target storage unit; according to the target storage area, the target storage is obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model
  • the parameter value of the target read voltage model corresponding to the area where, in the corresponding relationship between the storage area and the parameter value of the read voltage model, a storage area corresponds to one or more parameters of the read voltage model; according to the target storage unit where the target physical location is located
  • the sending unit is used to send the request data to Host.
  • the processing unit 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, it is specifically used for: In the correspondence relationship between the storage area and the parameter values of the read voltage model, when the target storage area corresponds to the parameter values of multiple read voltage models, according to the target physical location, select one or the parameter values from the target storage area corresponding to the multiple read voltage models. Multiple, as the target read voltage model parameters.
  • the processing unit determines 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, it is specifically used to: according to the target indicated by the location indication information
  • the physical location determines the target read voltage model corresponding to the target storage area where the target physical location is located from the corresponding relationship between the storage area and the read voltage model.
  • the read voltage model is used to characterize the correspondence between the identification of the target memory cell and the optimal read voltage.
  • the parameter value of the target read voltage model includes the coefficient of the identifier of the target storage unit in the function of the identifier of the target storage unit and the value of the constant term in the function of the identifier of the target storage unit.
  • the processing unit 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 values of the target read voltage model, it is specifically used to: according to the target read voltage
  • the model and the parameter values of the target read voltage model determine the function satisfied by the read voltage in the target storage area and the identification of the target storage cell in the target storage area; according to the identification of the target storage cell where the target physical location is located and the target storage area Calculate the read voltage corresponding to the target physical location by reading the function satisfied by the read voltage and the identification of the target storage cell in the target storage area.
  • the processing unit is further configured to: when any one of each storage area meets the preset update condition, update the reading voltage corresponding to the storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model The parameter value of the model.
  • the processing unit is specifically configured to: when the storage controller is in a system idle time window or meets a preset update period, determine the first reading voltage corresponding to any one of the storage areas. An error parameter; when the first error parameter is greater than or equal to the first threshold, 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 is updated.
  • the preset update period is related to the use state of the storage area; or, the preset update period is related to the average service life of the multiple storage areas included in the nonvolatile storage medium.
  • the storage area corresponds to multiple read voltage models.
  • the parameter values of multiple read voltage models that meet the set conditions are compressed into one read voltage model, and the set conditions are that the parameter values of the read voltage models are the same or nearly flat.
  • the processing unit is further configured to: after performing a rewriting or erasing operation on the data in one of the storage areas, the parameters of the read voltage model corresponding to the storage area where the rewriting or erasing operation is performed The value 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 the erase operation is performed.
  • the processing unit when the processing unit performs a rewriting operation or an erasing operation on data in a storage area, it is specifically used to: perform a rewriting operation or an erasing operation on all data in a storage area.
  • the target storage unit may be a physical unit in a non-volatile storage medium, specifically any of die, plane, block, string, layer, page, etc. .
  • the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium.
  • the location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies.
  • the storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
  • this application provides an electronic device, which includes a communication interface, a controller, and a memory.
  • the communication interface is used to receive the read request sent by the host, and the read request includes the 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:
  • the target physical location indicated by the location indication information determines the target read voltage model corresponding to the target storage area where the target physical location is located, where the target physical location is the physical location of the requested data in the non-volatile storage medium.
  • the medium includes one or more storage areas, and each storage area includes multiple target storage units that are obtained by dividing the nonvolatile storage medium according to the target division granularity.
  • the read voltage model is a function of the identification of the target storage unit; according to the target storage area, From the corresponding relationship 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.
  • one storage area Correspond to the parameters of one or more read voltage models; determine the read voltage corresponding to the target physical location according to the identification of the target storage unit where the target physical location is located, the target read voltage model, and the parameter values of the target read voltage model; correspond to the target physical location Read the voltage of, to obtain the requested data; the communication interface is also used to: send the requested data to the host.
  • the controller when 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, it is specifically used to: In the correspondence relationship between the storage area and the parameter values of the read voltage model, when the target storage area corresponds to the parameter values of multiple read voltage models, according to the target physical location, select one or the parameter values from the target storage area corresponding to the multiple read voltage models. Multiple, as the target read voltage model parameters.
  • the controller determines 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, it is specifically used to: according to the target indicated by the location indication information
  • the physical location determines the target read voltage model corresponding to the target storage area where the target physical location is located from the corresponding relationship between the storage area and the read voltage model.
  • the read voltage model is used to characterize the correspondence between the identification of the target memory cell and the optimal read voltage.
  • 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 the value of a constant term in the function of the identification of the target storage unit.
  • the parameter value of the voltage model determines the function satisfied by the read voltage in the target storage area and the identification of the target storage cell in the target storage area; according to the identification of the target storage cell where the target physical location is located and the read voltage in the target storage area and the target storage area Calculate the read voltage corresponding to the target physical location based on the function satisfied by the identification of the target storage unit.
  • the controller is further configured to: when any one of the storage areas meets the preset update condition, update the corresponding storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model Read the parameter values of the voltage model.
  • the controller when 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, it is specifically used to: when the controller is in the system idle time When the window or meets the preset update period, determine the first error parameter under the read voltage corresponding to any one of each storage area; when the first error parameter is greater than or equal to the first threshold, update the storage area and the read voltage model The parameter value of the read voltage model corresponding to the storage area in the parameter value correspondence relationship.
  • the preset update period is related to the usage state of the storage area; or, the preset update period is related to the average service life of a plurality of storage areas included in the nonvolatile storage medium.
  • the storage area corresponds to multiple read voltage models.
  • the parameter values of multiple read voltage models that meet the set conditions are compressed into one read voltage model, and the set conditions are that the parameter values of the read voltage models are the same or nearly flat.
  • the controller is further configured to: after performing a rewriting or erasing operation on the data in one of the storage areas, the parameters of the read voltage model corresponding to the storage area where the rewriting or erasing operation is performed The value is initialized to a set value, where 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 the erase operation is performed.
  • the controller when the controller performs a rewriting operation or an erasing operation on the data in one storage area, it is specifically used for: performing a rewriting operation or an erasing operation on all data in a storage area.
  • the target storage unit may be a physical unit in a non-volatile storage medium, specifically any of die, plane, block, string, layer, page, etc. .
  • the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium.
  • the location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies.
  • the storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
  • the present application provides a communication system that includes a host, a controller, and a non-volatile storage medium.
  • the non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage areas.
  • the target storage medium is divided into target storage units according to the target division granularity, and the read voltage model is a function of the identification of the target storage unit.
  • the host is used to send a read request to the controller and receive request data returned by the controller, and the read request includes location indication information of the requested data.
  • the controller is configured to receive the read request sent by the host, and determine 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 the read request, where the target physical location is The physical location of the requested data in the non-volatile storage medium; according to the target storage area, the parameter value of the target read voltage model corresponding to the target storage area is obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model; according to the target physical The identification of the target storage unit where the location is located, the target read voltage model, and the parameter values of the target read voltage model to determine the read voltage corresponding to the target physical location; and, according to the read voltage corresponding to the target physical location, obtain the requested data, and request the data Send to the host.
  • the present application also provides a computer-readable storage medium having computer-executable instructions stored on the computer storage medium.
  • the instructions When the instructions are run on a computer, the computer executes the above-mentioned first aspect. Any one of the methods provided by the implementation.
  • the present application also provides a computer program product containing instructions, which when the instructions run on a computer, cause the computer to execute the method provided by any one of the implementation manners in the first aspect.
  • any device, computer storage medium, or computer program product of the data reading method provided above is used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can refer to the above The beneficial effects of the provided corresponding methods will not be repeated here.
  • FIG. 1 is a schematic structural diagram of a TLC storage particle provided by an embodiment of the application.
  • FIG. 2 is a schematic structural diagram of a communication system provided by an embodiment of this application.
  • FIG. 3 is a schematic structural diagram of another communication system provided by an embodiment of this application.
  • FIG. 5 is a schematic diagram of the relationship between a storage area and a target storage unit in a nonvolatile storage medium provided by an embodiment of the application;
  • FIG. 6a is a schematic diagram of a parameter value storage method of a TLC NAND read voltage model provided by an embodiment of the application;
  • FIG. 6b is a schematic diagram of a parameter value storage mode of a QLC NAND read voltage model provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of another method of storing parameter values of a TLC NAND read voltage model provided by an embodiment of the application.
  • FIG. 8 is a schematic flowchart of a method for establishing a read voltage model corresponding to a non-volatile storage medium according to an embodiment of the application;
  • FIG. 9a is a schematic diagram of a process for updating parameter values of a read voltage model according to an embodiment of the application.
  • FIG. 9b is a schematic diagram of another process for updating the parameter values of the read voltage model according to an embodiment of the application.
  • FIG. 10 is a schematic diagram of a process for calculating parameter values of a read voltage model provided by an embodiment of the application.
  • FIG. 11 is a schematic structural diagram of a storage controller provided by an embodiment of this application.
  • FIG. 12 is a schematic structural diagram of an electronic device provided by an embodiment of this application.
  • SSD QoS is the ability of storage devices to provide stable, consistent and predictable request response services to hosts, and it is one of the key factors affecting the market competitiveness of storage devices.
  • QoS can include multiple performance indicators.
  • the read response time is a key performance indicator of QoS, which mainly depends on the number of read operations that occur in the flash medium in response to the host request.
  • the main storage medium of SSD the characteristics of flash media are affected by many factors such as the number of erasing and writing, data retention time, and the number of read operations.
  • the voltage signal carrying the data will send drift, so that the backend requires multiple read operations ( Trial and error) can successfully respond to the host request, thus affecting the QoS read delay index, resulting in a longer read delay.
  • each cell stores x bit (x is an integer greater than 2) memory (x-level cell, xLC) (such as each cell storage 3bit memory (triple-level cell, TLC) and each cell storage 4bit memory (quad-level cell, QLC), etc.) gradually replace the two-dimensional (2-dimension, 2D) each cell storage 2bit memory MLC (multi -level cell) has become a mainstream storage medium, and the read delay index of QoS is facing more and more challenges.
  • Fig. 1 an internal hierarchical structure diagram of a TLC particle provided in an embodiment of this application.
  • the smallest unit of the write operation is page, which can be divided into three types, namely upper page, middle page and lower page (for QLC particles, page can be divided into These are top page, upper page, middle page and lower page).
  • a previous page, a middle page, and a next page can form a word line (WL), and several WLs form layers or strings in different directions.
  • WL word line
  • a WL forms a layer
  • multiple WLs in a vertical direction form a string.
  • the smallest erase operation unit composed of pages is called a block. Multiple blocks form a plane, and multiple planes can form a die. Multiple dies form a package.
  • the controller composes some blocks into super blocks.
  • the characteristic of a super block in an application is that the internal blocks will be erased or programmed at the same time.
  • the usage conditions of the blocks in the super block are consistent or close, such as the number of erasing and writing, and the data retention time.
  • 3D xLC increases the logic state in each cell from 4 (2bit) to 2 x (x bit), and the voltage signal window for distinguishing different logic states becomes smaller, so that the voltage reading is accurate Degree requirements are increased.
  • the number of pages in the block and the number of blocks in the die gradually increase, and the physical inconsistency of each level within the flash increases, and it becomes more and more difficult to set a uniform effective read voltage for all pages.
  • the present application provides a data reading method, a storage controller and an electronic device to reduce the reading delay.
  • FIG. 2 is a hardware architecture diagram of a communication system applied in an embodiment of this application.
  • the system includes a host, an SSD controller, and a flash array.
  • the host can store/fetch the flash in the SSD through the SSD controller.
  • the data in the array can use non-volatile memory host controller interface (non-volatile memory express, NVMe)/serial attached small computer system interface (serial attached SCSI (SCSI is the abbreviation of small computer system interface), SAS)/fast
  • NVMe non-volatile memory express
  • SCSI Serial attached SCSI
  • SAS Serial attached SCSI
  • PCIe peripheral component interconnect express
  • the back end of the SSD controller can be connected to the flash array through the NAND flash interface (NFI), and the host is connected through the SSD
  • the controller performs operations such as reading, writing or erasing the data in the flash array.
  • the embodiments of the present 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 Figure 2.
  • the difference is that the controller and flash array in the system are packaged into independent chips, and the host communicates with the controller through interfaces such as universal flash storage (UFS)/embedded multimedia card (eMMC), etc. Connect and access data through the interface.
  • UFS universal flash storage
  • eMMC embedded multimedia card
  • a chip packaged by a controller and a flash array can be applied to mobile terminals such as mobile phones, tablet computers, and wearable devices.
  • a data reading method provided by an embodiment of the present application is applied to a controller.
  • the front end of the controller is used to connect to the host, and the back end of the controller is used to connect to a non-volatile storage medium.
  • Volatile storage media can be 3D NAND flash, 2D NAND flash and other flash-based storage media, as well as magnetic random access memory (MRAM), resistance random access memory (RRAM), phase change memory ( Phase change random access memory (PCRAM), ferroelectric random access memory (FRAM), and nanotube random access memory (NRAM) and other new non-volatile storage media.
  • MRAM magnetic random access memory
  • RRAM resistance random access memory
  • PCRAM Phase change random access memory
  • FRAM ferroelectric random access memory
  • NRAM nanotube random access memory
  • S401 The controller receives a read request sent by the host, where the read request includes location indication information of requested data.
  • the host when the host needs to read certain data from the non-volatile storage medium managed by the controller, the host can send a read request to the controller.
  • the data requested by the read request can be called request data.
  • the read request Can carry location indication information.
  • the location indication information can be used to indicate the logical address, that is, the logical address used by the host to access the requested data, such as the logical page address (logical page address, LPA).
  • LPA logical page address
  • the logical address can determine the physical location of the requested data in the non-volatile storage medium.
  • the location indication information can also be other information that has a corresponding relationship with the physical location.
  • the location indication information can be a key value, and the corresponding relationship can be obtained through the preset corresponding relationship between the key value and the value value. This value can be the physical location of the data, which is not limited in the embodiment of the application.
  • the read request received by the controller may include one or more LPAs, and the controller uses the mapping relationship between LPA and physical page number (PPN) , Determine the PPN corresponding to each LPA, and then determine the page number, layer number, block number, plane number, die number, and channel number according to the PPN corresponding to each LPA to characterize the data requested by the host in the nonvolatile storage medium Physical location information.
  • LPA physical page number
  • the controller when the controller receives a read request sent by the host, the controller can obtain the physical address of the requested data stored in the non-volatile storage medium according to the location indication information, where the physical address of the requested data is referred to as the target physical address. position.
  • the controller determines 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 target physical location is the physical location of the requested data in the non-volatile storage medium.
  • the non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage media.
  • the read voltage model is a function of the identification of the target storage cell (such as the number of the target storage cell).
  • the non-volatile storage medium includes at least one storage area, each storage area includes multiple target storage units, and each target storage unit can Represented by corresponding physical locations, multiple physical locations included in a storage area may be physical locations corresponding to at least one target storage unit included in the storage area. It should be noted that this application does not limit the number of target storage cells included in each storage area.
  • the number of target storage cells included in each storage area is mainly determined according to the read voltage characteristics of the target storage cell. The characteristics of the read voltage in each storage area continuously change with respect to the identification of the target storage cell, so the number of target storage cells included in each storage area may be the same or different.
  • the target storage unit may be a physical unit in a non-volatile storage medium, and specifically may be any one of die, plane, block, string, layer, and page.
  • the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium.
  • the location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies.
  • the storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
  • the read voltage refers to the corresponding conversion voltage when converting from an analog signal to a data signal.
  • the read voltage characteristics can refer to different conditions (for example, different temperatures, different times, different PEs, different data retention times, and different read counts). Under )), when using different devices to read the voltage, the corresponding error parameter changes.
  • the read voltage model is used to characterize the corresponding relationship between the identification of the target memory cell and the optimal read voltage. Among them, the read voltage model is a function of the identification of the target memory cell, which is used to characterize the law that the read voltage changes with the identification of the target memory cell. It is a qualitative description of the read voltage, rather than a quantitative description.
  • the read voltage model when the read voltage model is a linear model, it means that the read voltage changes linearly with the change of the identifier of the target memory cell.
  • the read voltage model can be a linear model or a non-linear model. It can be expressed by the functional relationship between the optimal read voltage and the identification of the target memory cell.
  • the identification of the target storage unit is usually represented by the number of the target storage unit.
  • the number of the target storage unit can be represented by a continuous number or a discontinuous number.
  • the number of the target storage unit can be 1, 2, 3..., N (N is a positive integer), or the number of the target storage unit can be a number that changes according to a specific law (arithmetic sequence or geometric sequence, etc.), representing 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 relationship between the storage area and the parameter value of the read voltage model according to the target storage area.
  • one storage area corresponds to one or more parameters of the read voltage model.
  • the corresponding relationship 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 include the identification corresponding to the storage area.
  • the identification of the storage area and the parameter value of the read voltage model are stored in a one-to-one correspondence.
  • the table may not save the storage area identification, and the parameter values of the read voltage model are 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 based on the physical location of the storage area Determine to reduce the entries in the table, thereby reducing the storage space occupied by the table.
  • the storage area may correspond to one or more read voltage model parameters.
  • one storage area corresponds to the parameter values of seven read voltage models.
  • the read voltage model is a linear model
  • the parameter values of the read voltage model are represented by a and b respectively
  • the parameter values of these seven read voltage models They are respectively marked as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b and r7a, r7b.
  • the storage format in the corresponding relationship between the storage area and the parameter value of the read voltage model can be As shown in Figure 6a.
  • one storage area corresponds to the parameter values of 15 read voltage models.
  • the read voltage model is a linear model
  • the parameter values of the read voltage model are represented by a and b respectively
  • the parameters of these 15 read voltage models Respectively denoted as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b..., r15a, r15b
  • the storage format in the corresponding relationship between the storage area and the parameter value of the read voltage model It can be as shown in Figure 6b.
  • the embodiment of the present application does not limit the storage mode of the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model.
  • the storage modes shown in FIG. 6a and FIG. 6b are only examples for illustration. It does not limit this application.
  • the storage order of the parameter values of the read voltage model corresponding to the storage area can be arranged in sequence as shown in FIG. 6a and FIG. 6b. It can be arranged in other order as needed.
  • the size of the storage space occupied by the parameter value of each read voltage model can be the same or different.
  • any storage area in the corresponding relationship between the storage area and the parameter values of the read voltage model when the storage area corresponds to the parameter values of the multiple read voltage models, the storage area corresponds to the parameter values of the multiple read voltage models
  • the parameter values of multiple read voltage models that meet the set conditions are compressed into one read voltage model.
  • the set conditions are that the parameter values of the read voltage models are the same or similar, which is equivalent to the correspondence between the storage area and the parameter values of the read voltage model.
  • the relationship is compressed, and the stored content in the corresponding relationship between the storage area and the parameter value of the read voltage model can be reduced, and the storage space occupied by the parameter value of the read voltage model can be reduced, thereby saving the storage space of the controller.
  • the parameter values of the two reading voltage models are the same or similar, meaning that the parameter values of the two reading voltage models are relatively small.
  • the difference between the corresponding parameter values of the two reading voltage models is within the setting range, the setting range is determined according to the accuracy of the reading voltage.
  • y represents the read voltage
  • x represents the identification of the target memory cell
  • a and b are the parameter values of the read voltage model, one storage
  • the parameter values of the 7 reading voltage models corresponding to the area, the parameter values of these 7 reading voltage models are respectively marked as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b and r7a, r7b, if r2a and r3a are close, r2b and r3b are close, r4a and r5a are close, r4b and r5b are close, r6a and r7a are close, and r6b and r7b are close, then r2a, r2b, r
  • the read voltage model is usually expressed by the functional relationship between the read voltage and the identification of the target memory cell, that is, the read voltage model is a function of the identification of the target memory cell. Therefore, the parameter values of the target read voltage model include information about the target memory.
  • the coefficient of the identification of the target storage cell in the function of the identification of the cell and the value of the constant item in the function of the identification of the target storage cell, that is, the parameter value of the target read voltage model includes the independent variable target in the function of the identification of the target storage cell The coefficient before the identification of the storage unit and the value of the constant term in the function. When the constant term is not included in the function, the value of the constant term in the function is 0.
  • a and b are the parameter values of the read voltage model.
  • S404 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 values of the target read voltage model.
  • S405 The controller obtains the request data according to the read voltage corresponding to the target physical location, and sends the request data to the host.
  • the controller can specifically determine the target read voltage model corresponding to the target storage area where the target physical location is located in the following manner: the controller, according to the target physical location indicated by the location indication information, from the storage area and the read voltage model In the relationship, determine the target read voltage model corresponding to the target storage area where the target physical location is located.
  • the read voltage model is a model determined according to the read voltage characteristics of the target storage cell in the non-volatile storage medium.
  • the target division granularity is based on the structure of the non-volatile storage medium and the reading of storage cells under different division granularities in the non-volatile storage medium The voltage characteristics are determined.
  • the structure of the non-volatile storage medium determines the optional range of the granularity of the non-volatile storage medium. For example, for 3D NAND, the granularity of die, plane, block, layer, string and page, as well as multiple die, multiple plane, Multiple blocks, multiple layers, multiple strings, and multiple pages divide the non-volatile storage medium into granularities.
  • the process of determining the read voltage model of different storage areas in the non-volatile storage medium mainly includes the following steps:
  • S801 Determine the target division granularity according to the structure of the non-volatile storage medium and the read voltage characteristics of the storage cells under different division granularities in the non-volatile storage medium. Among them, under the target division granularity, the optimal read voltage of the target storage cell in the nonvolatile storage medium changes according to a certain rule, that is, the target storage cell under the target division granularity can characterize the read voltage so that the determined read voltage The model can accurately characterize the reading voltage and improve the accuracy of the reading voltage.
  • S802 Divide the non-volatile storage medium into one or more storage areas according to the read voltage characteristics of the storage unit under the target division granularity in the non-volatile storage medium. Wherein, for any storage area, the characteristic of the read voltage changes continuously according to a specific rule as the identifier of the target storage cell included in the storage area changes.
  • S803 Determine the read voltage model corresponding to each storage area according to the change trend of the read voltage characteristic corresponding to each storage area. It is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, and each part is characterized by its corresponding read voltage model and the parameter value of the read voltage model, which can increase the read voltage corresponding to each storage area. The accuracy of the read voltage calculated by the model reduces the delay of the read operation.
  • the parameter value of the read voltage model corresponding to each storage area is estimated, and the storage area and the read voltage model are obtained. Correspondence of parameter values.
  • the determination of the read voltage model of different storage areas and the corresponding relationship between the parameter values of the storage area and the read voltage model is done by a technician offline, and the read voltage models of different storage areas and the parameters of the storage area and the read voltage model The corresponding relationship of the values is pre-configured in the controller, and there is no need for the controller to determine the read voltage model of different storage areas and the corresponding relationship between the parameter values of the storage area and the read voltage model when reading data online.
  • step S403 when the corresponding relationship between the storage area and the parameter value of the read voltage model includes an identification corresponding to the storage area, the controller can directly compare the storage area with the storage area and the read voltage model based on the identification of the target storage area.
  • the parameter value of the target reading voltage model corresponding to the target storage area is obtained in the parameter value correspondence relationship.
  • the controller When the parameter values of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model are arranged according to the index value of the storage area corresponding to the parameter value of the reading voltage model, the storage area identification is not included, the controller according to the target physical location According to the target index value, the model parameters of the target read voltage are obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model, where the target index value is used to indicate the corresponding relationship between the storage area and the parameter value of the read voltage model , The storage location of the parameter value of the target read voltage model.
  • the controller may read the parameters of the voltage model from the storage area according to the target storage area. In the value correspondence relationship, obtain the parameter values of all read voltage models corresponding to the target storage area, and then select one or more of the parameter values of all read voltage models corresponding to the target storage area as the target read voltage model according to the target physical location Parameter, or the controller selects one or more of the parameter values of the multiple read voltage models 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 physical location, as the target read Voltage model parameters.
  • control The device can determine the read voltage corresponding to the target physical location by the following method: the controller determines the read voltage in the target storage area and the identification of the target storage cell in the target storage area according to the target read voltage model and the parameter values of the target read voltage model.
  • the function calculates 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 and the 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 uses the identification of the target storage unit where the target physical location is located, the target read voltage model, and the target read For the parameter values of the voltage model, before determining the read voltage corresponding to the target physical location, the target physical location must be mapped to the corresponding target storage unit according to the mapping relationship between the physical location in the non-volatile storage medium and the target storage unit.
  • a target storage unit is a layer
  • a and b are the parameter values of the read voltage model, and the corresponding relationship between the storage area and the parameter values of the read voltage model.
  • the parameter values of the read voltage model are stored according to the parameter values of the read voltage model.
  • the controller can determine the read voltage corresponding to the target physical location indicated by the location indication information of the requested data value in the read request sent by the host through the following steps:
  • the controller receives a read request from the host, and the read request includes the LPA of the requested data;
  • the controller determines the PPN corresponding to the LPA in the read request through the LPA-PPN mapping table, and determines the page number, block number, channel number, CE number, die number, and plane number corresponding to the LPA according to the PPN corresponding to the LPA.
  • the corresponding page number determines the layer number corresponding to the LPA.
  • the controller determines the correspondence between the storage area and the parameter value of the read voltage model, which corresponds to the LPA The storage location of the parameter value of the target read voltage model corresponding to the storage area of
  • the controller obtains the parameter value of the target read voltage model from the corresponding relationship between the storage area and the parameter value of the read voltage model according to the determined storage location.
  • the controller selects one or more read voltage models from the parameter values of the corresponding multiple read voltage models according to the physical location of the page corresponding to the LPA Parameters. For example, when reading the lower page in TLC NAND, the read operation strategy of the controller is configured to require two read voltages for the read operation. At this time, the controller needs to obtain the parameters of the read voltage model corresponding to the two read voltages. value.
  • the controller also needs to update the parameter values of the read voltage model corresponding to the storage area in the nonvolatile storage medium online, so that the parameter values 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 non-volatile storage medium satisfies the preset update condition, the controller updates the 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. Parameter value.
  • the controller can determine the effective reading voltage corresponding to the storage area through a specific online reading voltage optimization algorithm (such as online voltage search), and determine the corresponding storage area according to the effective reading voltage
  • the parameter value of the read voltage model is updated, and 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 is updated according to the calculated 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.
  • the parameter values of the read voltage model can ensure that the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model are dynamically updated. The two methods are described in detail below.
  • the controller determines the first error parameter under the read voltage corresponding to any one of the storage areas;
  • 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.
  • the controller being in the system idle time window may mean that the controller is in an idle state, and the idle state may be understood as the load of the read and write IO of the controller is lower than a certain 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 multiple different periods.
  • the setting of the preset update period corresponding to a storage area may be related to the use status of the storage area (for example, the number of PEs and the number of read operations), or the average service life of multiple storage areas included in the nonvolatile storage medium .
  • the average service life of multiple storage areas can be represented by the average PE.
  • the average PE is small (for example, early life)
  • a larger preset update period can be used, and when the average PE is large (for example, the end of life) You can use a smaller preset update cycle.
  • the 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 preset fault tolerance threshold. If the first error parameter is less than the first threshold, it means that it is within the fault tolerance range; if the first error parameter is greater than or equal to the first threshold, it means it is not within the fault tolerance range.
  • the controller calculates the parameter value of the read voltage model corresponding to the storage area currently stored in the corresponding relationship between the storage area and the parameter value of the read voltage model
  • the obtained read voltage value is used as the detected read voltage
  • the physical location included in the storage area is sampled according to the detected read voltage
  • the error parameter under the detected read voltage is acquired as the first error parameter. If the first error parameter is less than the first threshold, the controller can determine that the read voltage corresponding to the storage area is valid, so that it will not be updated. If the first error parameter is greater than or equal to the first threshold, the controller can determine that the read voltage corresponding to the storage area is invalid and needs to be updated.
  • the controller can determine the current effective reading voltage by trying methods. For example, the controller can test multiple voltages in a stepwise increase or decrease manner. Under the error parameters, determine the reading voltage with the smallest error parameter as the current effective reading voltage, and then calculate the parameter values of the effective reading voltage model according to the effective voltage and the reading voltage model corresponding to the storage area. In the corresponding relationship of the parameter values of the voltage model, the read voltage corresponding to the storage area is replaced with the calculated parameter value of the effective read voltage model, so as to update the parameter value of the read voltage model corresponding to the storage area.
  • the controller will actively update the parameters of the storage area and the reading voltage model in each system idle time window
  • the controller when the controller is triggered to actively update the parameter value of the read voltage model corresponding to the storage area through a preset update cycle, it can be triggered by a timer interruption, and it can also be triggered by other forced signals to trigger the controller to actively update the
  • the parameter value of the read voltage model corresponding to the storage area, and the specific forcing signal can be set in advance, which is not limited in the embodiment of the present application.
  • the controller passively updates the parameter value of the read voltage model corresponding to the storage area, which may specifically include: when the read voltage is determined by the parameter value of the read voltage model corresponding to the storage area, the first read request data
  • 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.
  • the request data read for the first time refers to the request data read from the storage area for the first time by the controller according to the read voltage corresponding to the storage area in the read voltage management.
  • the request data is based on the read request sent by the host.
  • the acquired data is not the data acquired by the controller actively sampling.
  • the second threshold may be the same as the first threshold or different from the first threshold.
  • 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 can determine that the parameter value of the read voltage model corresponding to the storage area is valid, so that it will not be updated. If the second error parameter is greater than or equal to the first threshold, the controller can determine that the parameter value of the read voltage model corresponding to the storage area is invalid and needs to be updated.
  • the controller when the controller obtains the current effective read voltage during the process of updating the parameter value of the read voltage model corresponding to the storage area, it can also update according to the voltage gradually increasing or decreasing.
  • the specific implementation process and the first The description in one method is consistent, and the details are not repeated here in the embodiment of the present application.
  • the controller can first determine the storage area where the parameter values of the read voltage model are invalid, and then the controller It is possible to update only the parameter value of the read voltage model of the storage area in which the parameter value of the read voltage model is invalid in the corresponding relationship between the storage area and the parameter value of the read voltage model.
  • the controller when 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, it first determines the parameter value of the storage area and the read voltage model. Whether the parameter value of the read voltage model corresponding to the storage area stored in the corresponding relationship is valid, and is updated when it is determined that it is invalid, so that unnecessary operations can be avoided, thereby saving system bandwidth and load overhead.
  • the controller will determine the value of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model.
  • the parameter value is invalid, update it to the parameter value of the current valid reading voltage model, so that in each period of time, when there are one or more invalid reading voltage models in the corresponding relationship between the storage area and the parameter value of the reading voltage model
  • the controller will update the parameter values of the one or more reading voltage models.
  • passively updating the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model can make the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model be dynamic
  • the updated state ensures that the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model is effective in real time.
  • the controller actively updates the corresponding relationship between the storage area and the parameter value of the read voltage model and passively updates the corresponding relationship between the storage area and the parameter value of the read voltage model.
  • the process is illustrated separately.
  • Fig. 9a is a flow chart in which the controller actively updates the corresponding relationship between the storage area and the parameter value of the read voltage model, taking the controller in the system idle time window as an example. Specifically, assuming that all the parameter values of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model need to be updated, when the controller is in the system idle time window, the controller can determine the storage area and the reading voltage model The corresponding error parameter under the parameter value of each read voltage model in the corresponding relationship of the parameter value of the read voltage model, determine the parameter value of the read voltage model that needs to be updated in the corresponding relationship between the storage area and the parameter value of the read voltage model (for example, when it corresponds When the error parameter is less than the first threshold, it is determined that it does not need to be updated, and when the corresponding error parameter is greater than or equal to the first threshold, it is determined that it needs to be updated), so as to obtain the parameter value record information of the read voltage model to be updated (ie, read voltage management In the information
  • Fig. 9b is a flow chart in which the controller passively updates the corresponding relationship between the storage area and the parameter value of the read voltage model. Specifically, the controller receives the read request sent by the host, determines the corresponding read voltage model according to the position indication information included in the read request, and obtains the corresponding read voltage model from the corresponding relationship between the storage area and the parameter values of the read voltage model The corresponding read voltage is calculated according to the determined read voltage model, the parameter values of the read voltage model, and the identification of the target storage unit indicated by the position indication information in the read request, and the request data obtained for the first time based on the read voltage fails ( That is, when reading data fails for the first time), mark the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model as the parameter value of the invalid read voltage model, and update the parameter value of the invalid read voltage model or End.
  • the controller determines the step of invalid read voltage model parameter values in the corresponding relationship between the storage area and the read voltage model parameter value, and updates the invalid read value in the corresponding relationship between the storage area and the read voltage model parameter value.
  • the steps of the parameter values of the voltage model can be executed synchronously or asynchronously.
  • the controller can first determine the parameter values of all invalid read voltage models in the corresponding relationship between the storage area and the parameter values of the read voltage model, and then update the parameter values of all invalid read voltage models one by one; or, control After the device determines the parameter value of an invalid read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model, it updates the parameter value of the invalid read voltage model, and then determines the next invalid read The parameter value of the voltage model is updated, and so on; or the controller determines the parameter value of the invalid read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model, and at the same time determines the invalid read voltage model The parameter value of is updated, which is not specifically limited in the embodiment of this application.
  • the controller updates the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model, if the corresponding relationship between the storage area and the parameter value of the read voltage model resides in the memory, etc.
  • the fast storage medium it is necessary to make a backup in the non-volatile storage medium.
  • the controller directly stores the corresponding relationship between the storage area and the parameter value of the read voltage model in a storage medium that has both fast access and non-volatile characteristics.
  • the controller actively updates the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model and passively updates the storage area
  • the effective parameter values of the reading voltage model can be calculated in the following way, as shown in Figure 10:
  • S1001 Set the intermediate parameters Sum_N, Sum_XX, Sum_XY, Sum_X, and Sum_Y used to calculate the parameters of the effective read voltage model to record and process the information required for the parameter value update of the read voltage model, and initialize to 0 at the beginning of the online update.
  • S1002 Perform an online voltage reading search on the physical location of the sampled sample in the non-volatile storage medium; the sampled sample may be pre-configured offline or randomly generated online.
  • S1003 Determine whether the read voltage of the sampled sample is valid.
  • the reading voltage of a sampled sample when judging whether the reading voltage of a sampled sample is valid, it can be determined according to the magnitude relationship between the reading voltage of the current sampled sample and the reading voltage of other sampled samples. For example, the reading voltage of the current sampled sample is significantly larger or significantly smaller than the reading voltage of other sampled samples. It is considered that the reading voltage of the current sample is invalid.
  • the above steps S1001 to S1006 are executed for each parameter value of the read voltage model.
  • the updating process of the parameter values of the multiple read voltage models corresponding to the storage area to be updated may be performed sequentially according to a set sequence, or may be performed concurrently at the same time.
  • the controller When the controller performs rewriting or erasing operations on the data in a storage area, the influence of the number of erasing and writing, data retention time, and the number of read operations on the read voltage will be reset. Therefore, the controller affects a storage area. After the data in the storage area is rewritten or erased, the parameter values of the read voltage model corresponding to the storage area need to be initialized.
  • the controller After the controller performs a rewriting or erasing operation on the data in a storage area, it initializes the parameter values of the read voltage model corresponding to the storage area where the rewriting operation or the erasing operation is performed to the set value, where:
  • the set value is a default value (pre-configured in the controller) or a pre-configured preset value determined according to the read voltage characteristics of the storage area where the rewriting operation or the erasing operation is performed.
  • the controller After the controller performs a rewriting or erasing operation on the data in a storage area, it initializes the parameter values of the read voltage model corresponding to the storage area where the rewriting operation or erasing operation is performed to perform the rewriting operation or erasing operation. The value before the operation.
  • the controller usually performs a rewriting operation or an erasing operation on all data in a storage area.
  • some non-volatile storage media can directly write data in the storage unit with data, overwrite the original data, that is, directly perform rewriting operations, such as RRAM, PCRAM, FRAM, and NRAM, etc.; some non-volatile storage media need to erase the original data in the storage unit before writing new data, so the erase operation must be performed first, such as flash-based non-volatile storage media.
  • the controller can determine 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 of the request data in the read request sent by the host, and according to the target storage area, Obtain the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relationship between the parameter value of the storage area and the read voltage model, and then can be based on the target physical location of the target storage cell identification, target read voltage model and target read voltage The parameter value of the model determines the read voltage corresponding to the target physical location, where the read power model is a function of the identification of the target storage unit.
  • different storage areas in the non-volatile storage medium correspond to different parameter values of the read voltage model, which is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, each part Using the respective corresponding read voltage models and the parameter values of the read voltage models to characterize, in turn, 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 can be reduced.
  • the controller determines the read voltage corresponding to the target physical location according to the identification 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 only needs to store the read voltages corresponding to different storage areas.
  • the parameter value of the model does not need to store the specific reading voltage value, which can reduce the storage space overhead.
  • each device such as a host and a controller, includes a hardware structure and/or software module corresponding to each function.
  • this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
  • the embodiment of the present application may divide the controller into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • the storage controller 1100 includes a receiving unit 1101, a processing unit 1102, and a sending unit 1103.
  • the receiving unit 1101 is used to support the controller to perform step S401 in the data reading method provided in FIG. 4;
  • the processing unit 1102 is used to support the controller to perform step S402 and steps in the data reading method provided in FIG.
  • the sending unit 1103 is used to support the controller to execute the process of sending the request data to the host in step S405 in the data reading method provided in FIG. 4.
  • the sending unit 1103 is used to support the controller to execute the process of sending the request data to the host in step S405 in the data reading method provided in FIG. 4.
  • the foregoing processing unit 1102 may be a processor; the receiving unit 1101 may be a receiver, and the sending unit 1103 may be a transmitter, and the receiver and the transmitter may form a communication interface.
  • the embodiment of the present application also provides an electronic device having the function of the storage controller shown in FIG. 11, which may be a storage device or a communication device.
  • 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.
  • the controller 1203 is used to control and manage the actions of the electronic device 1200, for example, the process of obtaining request data in step S402, step S403, step S404, and step S405, and/or used in the process described herein.
  • Other processes of the described technology for example, the parameter value update process of the read voltage model as shown in FIG. 10 (steps S1001-S1006).
  • the communication interface 1201 is used to support the electronic device 1200 to communicate.
  • the memory 1202 is used to store program codes and data of the electronic device 2100.
  • the controller 1203 may be a central processing unit, a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof, which may Implement or execute various exemplary logical blocks, modules and circuits described in conjunction with the disclosure of this application.
  • the processor 1102 may also be a combination that implements computing functions, for example, includes a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on.
  • the bus 1204 may be a peripheral component interconnect standard (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect standard
  • EISA extended industry standard architecture
  • the bus 1204 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent in FIG. 12, but it does not mean that there is only one bus or one type of bus.
  • An embodiment of the present application also provides a communication system, which includes a host, a controller, and a non-volatile storage medium, the non-volatile storage medium includes multiple storage areas, and the non-volatile storage medium includes one or more storage areas, Each storage area includes multiple 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 identification of the target storage unit (such as the number of the target storage unit).
  • the communication system may be the system shown in FIG. 2 or FIG. 3.
  • the host can be used for non-volatile storage media, and send read requests to the controller, and receive request data sent by the controller;
  • the controller can be used for management, and can be used to execute the data provided in Figure 4
  • the controller is used to perform steps S401 to 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 technology described herein.
  • steps S1001-S1006 steps S1001-S1006
  • a computer-readable storage medium stores computer-executable instructions. When the instructions run on a computer, the computer executes the steps provided in Figure 4 above. The data reading method.
  • a computer program product has computer-executable instructions stored on a computer storage medium.
  • the computer-executable instructions are used to make the computer execute when called by a computer.
  • the data reading method provided in Figure 4 above.
  • the controller can determine 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 of the request data in the read request sent by the host, and according to the target In the storage area, the parameter value of the target read voltage model corresponding to the target storage area is obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model, and the target read voltage model and the target read voltage model can be identified according to the target physical location.
  • the parameter value of the target read voltage model determines the read voltage corresponding to the target physical location, where the read power model is a function of the identification of the target storage unit.
  • different storage areas in the non-volatile storage medium correspond to different parameter values of the read voltage model, which is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, each part Using the respective corresponding read voltage models and the parameter values of the read voltage models to characterize, in turn, 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 can be reduced.
  • the controller determines the read voltage corresponding to the target physical location according to the identification 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 only needs to store the read voltages corresponding to different storage areas.
  • the parameter value of the model does not need to store the specific reading voltage value, which can reduce the storage space overhead.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

Abstract

Disclosed in the present application is a solid state drive data reading method, comprising: a controller receives a read request sent by a host and comprising location indication information of requested data; determine, according to a target physical location indicated by the location indication information, a target read voltage model corresponding to a target storage area where the target physical location is located, each storage area in a non-volatile storage medium comprising multiple target storage units divided according to target division granularity, and a read voltage model being a function related to the identifier of a target storage unit; obtain a parameter value of the target read voltage model from correspondences between storage areas and parameter values of read voltage models; determine a read voltage corresponding to the target physical location according to the identifier of a 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; obtain the requested data and send same to the host according to the read voltage corresponding to the target physical location.

Description

一种数据读取方法、存储控制器及电子设备Data reading method, storage controller and electronic equipment
本申请要求于2019年5月26日提交、申请号为PCT/CN2019/088460的专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the patent application filed on May 26, 2019 and the application number is PCT/CN2019/088460, the entire content of which is incorporated into this application by reference.
技术领域Technical field
本申请涉及数据存储技术领域,尤其涉及一种数据读取方法、存储控制器及电子设备。This application relates to the field of data storage technology, and in particular to a data reading method, a storage controller and an electronic device.
背景技术Background technique
固态硬盘(solid state drive,SSD)是指用固态电子存储芯片阵列制成的硬盘或者存储卡等存储介质,SSD的服务质量(quality of service,QoS)是SSD产品向主机提供稳定、一致和可预测性的请求应答服务的能力,它是塑造SSD产品竞争力的关键因素之一。SSD可应用于数据中心以及服务器等场景中,读响应时间(read latency)是QoS的关键性能指标,主要取决于响应主机请求的闪存(flash)介质中发生的读操作次数。flash作为SSD的主要存储介质,它的特性受擦写次数(program/erase cycles,PE)、数据保留时间(retention time)等多种因素的影响,承载数据的电压信号会发送漂移,从而需要多次读操作才能成功响应主机请求,因此造成QoS中读延时较长。Solid state drive (SSD) refers to storage media such as hard disks or memory cards made of solid-state electronic storage chip arrays. The quality of service (QoS) of SSDs is to provide stable, consistent and reliable SSD products to the host. The ability of predictive request response service is one of the key factors that shape the competitiveness of SSD products. SSDs can be used in scenarios such as data centers and servers. Read latency is a key performance indicator of QoS, which mainly depends on the number of read operations that occur in flash media in response to host requests. Flash is the main storage medium of SSD. Its characteristics are affected by many factors such as program/erase cycles (PE), data retention time (retention time), etc. The voltage signal carrying data will send drift, which requires more Only the second read operation can successfully respond to the host request, which results in a longer read delay in QoS.
目前,现有技术中可以通过读电压预制表技术降低读延时,即通过分析影响读电压的因素与电压偏移量的关系,制作影响因素与读电压补偿表或者通过拟合的方法归纳特定的公式,使用时按照影响因素值查表或计算后对读电压进行补偿,从而提高首次读成功率,进而减小读延时。但是,读电压预制表技术与采样的样本有关,对于不同的存储介质需要制作不同的读电压预制表,工作量较大。另外,存储介质在使用过程中会发生变化,使用读电压预制表技术的可靠性较低,首次读成功率的提升幅度有限,因此降低读延时的效果不佳。At present, in the prior art, the read voltage pre-metering technology can be used to reduce the read delay, that is, by analyzing the relationship between the factors that affect the read voltage and the voltage offset, making the influencing factors and the read voltage compensation table, or summarizing specific When using the formula, look up the table according to the influencing factor value or compensate the reading voltage after calculation, thereby improving the first reading success rate and reducing the reading delay. However, the voltage pre-metering technology is related to the sampled samples. For different storage media, different voltage-reading pre-meters need to be made, which requires a lot of work. In addition, the storage medium will change during use, the reliability of using the read voltage pre-metering technology is low, and the first read success rate is limited, so the effect of reducing the read delay is not good.
发明内容Summary of the invention
本申请提供了一种数据读取方法、存储控制器及电子设备,以解决现有技术中读延时较长的问题。This application provides a data reading method, a storage controller and an electronic device to solve the problem of long reading delay in the prior art.
第一方面,本申请提供了一种数据读取方法,应用于控制器中,控制器的前端用于连接主机,控制器的后端用于连接非易失存储介质。该方法包括:控制器接收主机发送的读请求,该读请求中包括请求数据的位置指示信息;控制器根据位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,其中,该目标物理位置为请求数据在非易失存储介质中的物理位置,非易失存储介质包括一个或多个存储区域,每个存储区域包括多个非易失存储介质按照目标划分粒度划分得到的目标存储单元,读电压模型为关于目标存储单元的标识的函数;控制器根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值,其中,存储区域与读电压模型的参数值的对应关系中,一个存储区域对应一个或多个读电压模型的参数;控制器根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压;控制器根据目 标物理位置对应的读电压,获取请求数据,并将请求数据发送给主机。In the first aspect, this application provides a data reading method, which is applied to a controller, where the front end of the controller is used to connect to the host, and the back end of the controller is used to connect to a non-volatile storage medium. The method includes: a controller receives a read request sent by a host, the read request includes location indication information of the requested data; the controller determines a target 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 Read the voltage model, where the target physical location is the physical location of the requested data in the non-volatile storage medium, the non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage media according to The target storage unit obtained by the granularity of target division, the read voltage model is a function of the identification of the target storage unit; the controller obtains the corresponding relationship of 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 The parameter value of the target read voltage model, where, in the corresponding 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 is based on the target storage unit where the target physical location is located The parameter values of the target reading voltage model, the target reading voltage model, and the target reading voltage model determine the reading voltage corresponding to the target physical position; the controller obtains the request data according to the reading voltage corresponding to the target physical position, and sends the request data to the host.
通过上述方案,控制器能够根据主机发送的读请求中的请求数据的位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,并根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中获取目标存储区域对应的目标读电压模型的参数值,进而可以根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压,其中,读电模型为关于目标存储单元的标识的函数。由于本申请实施例中,针对非易失存储介质中的不同存储区域对应不同的读电压模型的参数值,相当于将非易失存储介质对应的读电压模型划分为多个部分,每个部分用各自对应的读电压模型以及读电压模型的参数值表征,进而可以提高根据每个存储区域对应的读电压模型计算得到的读电压的准确性,降低读操作的延时。Through the above solution, the controller can determine 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 of the request data in the read request sent by the host, and according to the target storage area, Obtain the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relationship between the parameter value of the storage area and the read voltage model, and then can be based on the target physical location of the target storage cell identification, target read voltage model and target read voltage The parameter value of the model determines the read voltage corresponding to the target physical location, where the read power model is a function of the identification of the target storage unit. In the embodiment of the present application, different storage areas in the non-volatile storage medium correspond to different parameter values of the read voltage model, which is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, each part Using the respective corresponding read voltage models and the parameter values of the read voltage models to characterize, in turn, 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 can be reduced.
另外,控制器根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压,控制器只需要存储不同存储区域对应的读电压模型的参数值,不需要存储具体的读电压数值,能够减少存储空间的开销。In addition, the controller determines the read voltage corresponding to the target physical location according to the identification 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 only needs to store the read voltages corresponding to different storage areas. The parameter value of the model does not need to store the specific reading voltage value, which can reduce the storage space overhead.
一个可能的实施方式中,控制器可以通过以下方式获取所述目标存储区域对应的目标读电压模型的参数值:当存储区域与读电压模型的参数值的对应关系中,目标存储区域对应多个读电压模型的参数值时,控制器根据目标物理位置,从目标存储区域对应多个读电压模型的参数值中选择一个或多个,作为目标读电压模型参数。In a possible implementation manner, the controller may obtain the parameter value of the target read voltage model corresponding to the target storage area in the following manner: when the corresponding relationship between the storage area and the parameter value of the read voltage model, the target storage area corresponds to multiple When reading the parameter values of the voltage model, the controller selects one or more of the parameter values of the multiple read voltage models corresponding to the target storage area according to the target physical location as the target read voltage model parameters.
一个可能的实施方式中,控制器具体可以通过以下方式确定目标物理位置所在的目标存储区域对应的目标读电压模型:控制器根据位置指示信息所指示的目标物理位置,从存储区域与读电压模型的对应关系中,确定目标物理位置所在的目标存储区域对应的目标读电压模型。In a possible implementation manner, the controller can specifically determine the target read voltage model corresponding to the target storage area where the target physical location is located: the controller reads the voltage model from the storage area according to the target physical location indicated by the location indication information. In the corresponding relationship, determine the target read voltage model corresponding to the target storage area where the target physical location is located.
一个可能的实施方式中,读电压模型为根据非易失存储介质中目标存储单元的读电压特性确定的模型,目标划分粒度根据非易失存储介质的结构以及非易失存储介质中不同划分粒度下存储单元的读电压特性确定。In a possible implementation, the read voltage model is a model determined according to the read voltage characteristics of the target storage cell in the nonvolatile storage medium, and the target division granularity is based on the structure of the nonvolatile storage medium and different division granularity in the nonvolatile storage medium. The read voltage characteristics of the lower memory cell are determined.
一个可能的实施方式中,所述读电压模型用于表征所述目标存储单元的标识与最优读电压的对应关系。In a possible implementation manner, the read voltage model is used to characterize the correspondence between the identifier of the target memory cell and the optimal read voltage.
一个可能的实施方式中,在目标读电压模型的参数值包括关于目标存储单元的标识的函数中目标存储单元的标识的系数以及关于目标存储单元的标识的函数中的常数项的值的场景下,控制器可以通过以下方法确定目标物理位置对应的读电压:控制器根据目标读电压模型以及目标读电压模型的参数值,确定目标存储区域中读电压与目标存储区域中目标存储单元的标识所满足的函数,根据目标物理位置所在的目标存储单元的标识以及目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数,计算目标物理位置对应的读电压。In a possible implementation manner, in a scenario where the parameter value of the target read voltage model includes the coefficient of the target storage unit's identification in the function related to the target storage unit's identification and the value of the constant term in the function related to the target storage unit's identification , The controller can determine the read voltage corresponding to the target physical location by the following method: the controller determines the read voltage in the target storage area and the identification location of the target storage unit in the target storage area according to the target read voltage model and the parameter values of the target read voltage model. The satisfied function calculates 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 and the function satisfied by the read voltage in the target storage area and the identifier of the target storage unit in the target storage area.
一个可能的实施方式中,由于非易失存储介质对应的读电压在受擦写次数、数据保留时间、读操作次数以及温度等多种因素的影响会发送漂移,因此为了进一步提高控制器所确定的读电压的准确性,控制器还要在线对非易失存储介质中存储区域对应的读电压模型的参数值进行更新,使得读电压模型的参数值能够准确地跟随非易失存储介质的读电压的变化而变化。具体地,当非易失存储介质中每个存储区域中的任意一个满足预设更新条 件时,控制器更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。In a possible implementation, the read voltage corresponding to the non-volatile storage medium may drift due to multiple factors such as the number of erasing and writing, the data retention time, the number of read operations, and the temperature. Therefore, in order to further improve the determination of the controller The controller must also update the parameter values of the reading voltage model corresponding to the storage area in the non-volatile storage medium online, so that the parameter values of the reading voltage model can accurately follow the reading of the non-volatile storage medium. The voltage changes. Specifically, when any one of each storage area in the non-volatile storage medium satisfies the preset update condition, the controller updates the 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. Parameter value.
一个可能的实施方式中,当控制器处于系统空闲时间窗或者满足预设更新周期时,控制器确定每个存储区域中的任意一个对应的读电压下的第一出错参数;当第一出错参数大于或等于第一阈值时,控制器更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。In a possible implementation manner, when the controller is in the system idle time window or meets the preset update period, the controller determines the first error parameter under the reading voltage corresponding to any one in each storage area; when the first error parameter When it is greater than or equal to the first threshold, 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.
一个可能的实施方式中,预设更新周期与存储区域的使用状态相关;或者,预设更新周期与非易失存储介质包括的多个存储区域的平均使用寿命相关。In a possible implementation manner, the preset update period is related to the use state of the storage area; or, the preset update period is related to the average service life of the multiple storage areas included in the nonvolatile storage medium.
一个可能的实施方式中,针对存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,该设定条件为读电压模型的参数值相同或相近平,相当于对存储区域与读电压模型的参数值的对应关系进行了压缩,进而可以减少存储区域与读电压模型的参数值的对应关系中的存储的内容减少读电压模型的参数值多占用的存储空间,进而可以节省控制器的存储空间。In a possible implementation manner, for any storage area in the corresponding relationship 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 storage area corresponds to multiple read voltage models. Among the parameter values, the parameter values of multiple read voltage models that meet the set conditions are compressed into a read voltage model. The set condition is that the parameter values of the read voltage model are the same or nearly flat, which is equivalent to the storage area and the read voltage model. The corresponding relationship between the parameter values of the read voltage model is compressed, which can reduce the storage content in the corresponding relationship between the storage area and the parameter value of the read voltage model, and reduce the storage space occupied by the parameter value of the read voltage model, thereby saving the storage of the controller space.
一个可能的实施方式中,当控制器对一个存储区域中的数据执行重写或擦除操作后,擦写次数、数据保留时间、读操作次数等因素对读电压的影响会被重置,所以,控制器对一个存储区域中的数据执行重写或擦除操作后,还需要对该存储区域对应的读电压模型的参数值进行初始化。具体地,控制器在对一个存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值,其中,该设定值为默认值(控制器中预先配置的)或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。In a possible implementation, when the controller performs a rewriting or erasing operation on the data in a storage area, the influence of factors such as the number of erasing and writing, the data retention time, and the number of read operations on the read voltage will be reset, so After the controller performs a rewriting or erasing operation on the data in a storage area, it also needs to initialize the parameter value of the read voltage model corresponding to the storage area. Specifically, after the controller performs a rewriting or erasing operation on the data in a storage area, it initializes the parameter values of the read voltage model corresponding to the storage area where the rewriting operation or the erasing operation is performed to the set value, where: The set value is a default value (pre-configured in the controller) or a pre-configured preset value determined according to the read voltage characteristics of the storage area where the rewriting operation or the erasing operation is performed.
一个可能的实施方式中,目标存储单元可以为非易失存储介质中的物理单元,具体可以为晶粒die、面Plane、块block、字符串string、层layer和页面page等中的任意一种。或者,目标存储单元也可以为非易失存储介质中的物理单元逻辑抽象后形成的逻辑单元,一个逻辑单元内的物理单元的位置可以连续,也可以不连续,具体可以为多个die构成的存储单元,或者,为多个plane构成的存储单元,或者,为多个block构成的存储单元;为多个string构成的存储单元;为多个layer构成的存储单元,或者,为多个page构成的存储单元等。In a possible implementation, the target storage unit may be a physical unit in a non-volatile storage medium, specifically any of die, plane, block, string, layer, page, etc. . Alternatively, the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium. The location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies. The storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
第二方面,本申请提供了一种存储控制器,该控制器的前端用于连接主机,后端用于连接非易失存储介质。该存储控制器包括:接收单元、处理单元以及发送单元。其中,接收单元,用于接收主机发送的读请求,该读请求中包括请求数据的位置指示信息;处理单元,用于根据位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,其中,该目标物理位置为请求数据在非易失存储介质中的物理位置,非易失存储介质包括一个或多个存储区域,每个存储区域包括多个非易失存储介质按照目标划分粒度划分得到的目标存储单元,读电压模型为关于目标存储单元的标识的函数;根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值,其中,存储区域与读电压模型的参数值的对应关系中,一个存储区域对应一个或多个读电压模型的参数;根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位 置对应的读电压;以及,根据目标物理位置对应的读电压,获取请求数据;发送单元,用于将请求数据发送给主机。In the second aspect, the present application provides a storage controller, 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. The storage controller includes: a receiving unit, a processing unit, and a sending unit. The receiving unit is used to receive a read request sent by the host, and the read request includes location indication information of the requested data; the processing unit is used to determine the target storage where the target physical location is located according to the target physical location indicated by the location indication information The target read voltage model corresponding to the area, where the target physical location is the physical location of the requested data in the non-volatile storage medium. The non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage areas. The target storage medium is divided into the target storage unit according to the target division granularity, the read voltage model is a function of the identification of the target storage unit; according to the target storage area, the target storage is obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model The parameter value of the target read voltage model corresponding to the area, where, in the corresponding relationship between the storage area and the parameter value of the read voltage model, a storage area corresponds to one or more parameters of the read voltage model; according to the target storage unit where the target physical location is located To determine the reading voltage corresponding to the target physical position; and obtain the request data according to the reading voltage corresponding to the target physical position; the sending unit is used to send the request data to Host.
一个可能的实施方式中,处理单元在根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值时,具体用于:当存储区域与读电压模型的参数值的对应关系中,目标存储区域对应多个读电压模型的参数值时,根据目标物理位置,从目标存储区域对应多个读电压模型的参数值中选择一个或多个,作为目标读电压模型参数。In a possible implementation manner, when the processing unit 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, it is specifically used for: In the correspondence relationship between the storage area and the parameter values of the read voltage model, when the target storage area corresponds to the parameter values of multiple read voltage models, according to the target physical location, select one or the parameter values from the target storage area corresponding to the multiple read voltage models. Multiple, as the target read voltage model parameters.
一个可能的实施方式中,处理单元在根据位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型时,具体用于:根据位置指示信息所指示的目标物理位置,从存储区域与读电压模型的对应关系中,确定目标物理位置所在的目标存储区域对应的目标读电压模型。In a possible implementation manner, when the processing unit determines 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, it is specifically used to: according to the target indicated by the location indication information The physical location determines the target read voltage model corresponding to the target storage area where the target physical location is located from the corresponding relationship between the storage area and the read voltage model.
一个可能的实施方式中,读电压模型用于表征目标存储单元的标识与最优读电压的对应关系。In a possible implementation manner, the read voltage model is used to characterize the correspondence between the identification of the target memory cell and the optimal read voltage.
一个可能的实施方式中,目标读电压模型的参数值包括关于目标存储单元的标识的函数中所述目标存储单元的标识的系数以及关于所述目标存储单元的标识的函数中的常数项的值。处理单元在根据所述目标物理位置所在的目标存储单元的标识、所述目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压时,具体用于:根据目标读电压模型以及所述目标读电压模型的参数值,确定目标存储区域中读电压与目标存储区域中目标存储单元的标识所满足的函数;根据目标物理位置所在的目标存储单元的标识以及目标存储区域中读电压与目标存储区域中目标存储单元的标识所满足的函数,计算目标物理位置对应的读电压。In a possible implementation manner, the parameter value of the target read voltage model includes the coefficient of the identifier of the target storage unit in the function of the identifier of the target storage unit and the value of the constant term in the function of the identifier of the target storage unit. . When the processing unit 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 values of the target read voltage model, it is specifically used to: according to the target read voltage The model and the parameter values of the target read voltage model determine the function satisfied by the read voltage in the target storage area and the identification of the target storage cell in the target storage area; according to the identification of the target storage cell where the target physical location is located and the target storage area Calculate the read voltage corresponding to the target physical location by reading the function satisfied by the read voltage and the identification of the target storage cell in the target storage area.
一个可能的实施方式中,处理单元还用于:当每个存储区域中的任意一个满足预设更新条件时,更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。In a possible implementation manner, the processing unit is further configured to: when any one of each storage area meets the preset update condition, update the reading voltage corresponding to the storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model The parameter value of the model.
一个可能的实施方式中,处理单元具体用于:当所述存储控制器处于系统空闲时间窗或者满足预设更新周期时,确定所述每个存储区域中的任意一个对应的读电压下的第一出错参数;当所述第一出错参数大于或等于第一阈值时,更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。In a possible implementation manner, the processing unit is specifically configured to: when the storage controller is in a system idle time window or meets a preset update period, determine the first reading voltage corresponding to any one of the storage areas. An error parameter; when the first error parameter is greater than or equal to the first threshold, 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 is updated.
一个可能的实施方式中,预设更新周期与存储区域的使用状态相关;或者,预设更新周期与非易失存储介质包括的多个存储区域的平均使用寿命相关。In a possible implementation manner, the preset update period is related to the use state of the storage area; or, the preset update period is related to the average service life of the multiple storage areas included in the nonvolatile storage medium.
一个可能的实施方式中,针对存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,该设定条件为读电压模型的参数值相同或相近平。In a possible implementation manner, for any storage area in the corresponding relationship 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 storage area corresponds to multiple read voltage models. Among the parameter values, the parameter values of multiple read voltage models that meet the set conditions are compressed into one read voltage model, and the set conditions are that the parameter values of the read voltage models are the same or nearly flat.
一个可能的实施方式中,处理单元还用于:对一个所述存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值;其中,该设定值为默认值或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。In a possible implementation manner, the processing unit is further configured to: after performing a rewriting or erasing operation on the data in one of the storage areas, the parameters of the read voltage model corresponding to the storage area where the rewriting or erasing operation is performed The value 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 the erase operation is performed.
一个可能的实施方式中,处理单元在对一个存储区域中的数据执行重写操作或擦除操作时,具体用于:对一个存储区域中的所有数据执行重写操作或擦除操作。In a possible implementation manner, when the processing unit performs a rewriting operation or an erasing operation on data in a storage area, it is specifically used to: perform a rewriting operation or an erasing operation on all data in a storage area.
一个可能的实施方式中,目标存储单元可以为非易失存储介质中的物理单元,具体可以为晶粒die、面Plane、块block、字符串string、层layer和页面page等中的任意一种。或者,目标存储单元也可以为非易失存储介质中的物理单元逻辑抽象后形成的逻辑单元,一个逻辑单元内的物理单元的位置可以连续,也可以不连续,具体可以为多个die构成的存储单元,或者,为多个plane构成的存储单元,或者,为多个block构成的存储单元;为多个string构成的存储单元;为多个layer构成的存储单元,或者,为多个page构成的存储单元等。In a possible implementation, the target storage unit may be a physical unit in a non-volatile storage medium, specifically any of die, plane, block, string, layer, page, etc. . Alternatively, the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium. The location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies. The storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
第三方面,本申请提供了一种电子设备,该电子设备包括:通信接口、控制器和存储器。其中,通信接口,用于接收主机发送的读请求,该读请求中包括请求数据的位置指示信息;存储器,存储有代码指令;控制器,用于调用所述存储器存储的代码指令,执行:根据位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,其中,该目标物理位置为请求数据在非易失存储介质中的物理位置,非易失存储介质包括一个或多个存储区域,每个存储区域包括多个非易失存储介质按照目标划分粒度划分得到的目标存储单元,读电压模型为关于目标存储单元的标识的函数;根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值,其中,存储区域与所述读电压模型的参数值的对应关系中,一个存储区域对应一个或多个读电压模型的参数;根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压;根据目标物理位置对应的读电压,获取请求数据;通信接口还用于:将请求数据发送给所述主机。In a third aspect, this application provides an electronic device, which includes a communication interface, a controller, and a memory. Wherein, the communication interface is used to receive the read request sent by the host, and the read request includes the 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: The target physical location indicated by the location indication information determines the target read voltage model corresponding to the target storage area where the target physical location is located, where the target physical location is the physical location of the requested data in the non-volatile storage medium. The medium includes one or more storage areas, and each storage area includes multiple target storage units that are obtained by dividing the nonvolatile storage medium according to the target division granularity. The read voltage model is a function of the identification of the target storage unit; according to the target storage area, From the corresponding relationship 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. Among the corresponding relations between the storage area and the parameter value of the read voltage model, one storage area Correspond to the parameters of one or more read voltage models; determine the read voltage corresponding to the target physical location according to the identification of the target storage unit where the target physical location is located, the target read voltage model, and the parameter values of the target read voltage model; correspond to the target physical location Read the voltage of, to obtain the requested data; the communication interface is also used to: send the requested data to the host.
一个可能的实施方式中,控制器在根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值时,具体用于:当存储区域与读电压模型的参数值的对应关系中,目标存储区域对应多个读电压模型的参数值时,根据目标物理位置,从目标存储区域对应多个读电压模型的参数值中选择一个或多个,作为目标读电压模型参数。In a possible implementation manner, when 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, it is specifically used to: In the correspondence relationship between the storage area and the parameter values of the read voltage model, when the target storage area corresponds to the parameter values of multiple read voltage models, according to the target physical location, select one or the parameter values from the target storage area corresponding to the multiple read voltage models. Multiple, as the target read voltage model parameters.
一个可能的实施方式中,控制器在根据位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型时,具体用于:根据位置指示信息所指示的目标物理位置,从存储区域与读电压模型的对应关系中,确定目标物理位置所在的目标存储区域对应的目标读电压模型。In a possible implementation manner, when the controller determines 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, it is specifically used to: according to the target indicated by the location indication information The physical location determines the target read voltage model corresponding to the target storage area where the target physical location is located from the corresponding relationship between the storage area and the read voltage model.
一个可能的实施方式中,读电压模型用于表征目标存储单元的标识与最优读电压的对应关系。In a possible implementation manner, the read voltage model is used to characterize the correspondence between the identification of the target memory cell and the optimal read voltage.
一个可能的实施方式中,目标读电压模型的参数值包括关于所述目标存储单元的标识的函数中目标存储单元的标识的系数以及关于目标存储单元的标识的函数中的常数项的值。控制器在根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压时,具体用于:根据目标读电压模型以及目标读电压模型的参数值,确定目标存储区域中读电压与目标存储区域中目标存储单元的标识所满足的函数;根据目标物理位置所在的目标存储单元的标识以及目标存储区域中读电压与目标存储区域中目标存储单元的标识所满足的函数,计算目标物理位置对应的读电压。In a possible implementation manner, 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 the value of a constant term in the function of the identification of the target storage unit. When the controller determines the reading voltage corresponding to the target physical location according to the target storage unit identification, the target read voltage model, and the parameter values of the target read voltage model, it is specifically used to: according to the target read voltage model and the target read voltage model. The parameter value of the voltage model determines the function satisfied by the read voltage in the target storage area and the identification of the target storage cell in the target storage area; according to the identification of the target storage cell where the target physical location is located and the read voltage in the target storage area and the target storage area Calculate the read voltage corresponding to the target physical location based on the function satisfied by the identification of the target storage unit.
一个可能的实施方式中,控制器还用于:当所述每个存储区域中的任意一个满足 预设更新条件时,更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。In a possible implementation manner, the controller is further configured to: when any one of the storage areas meets the preset update condition, update the corresponding storage area in the corresponding relationship between the storage area and the parameter value of the read voltage model Read the parameter values of the voltage model.
一个可能的实施方式中,控制器在更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值时,具体用于:当控制器处于系统空闲时间窗或者满足预设更新周期时,确定每个存储区域中的任意一个对应的读电压下的第一出错参数;当第一出错参数大于或等于第一阈值时,更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。In a possible implementation manner, when 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, it is specifically used to: when the controller is in the system idle time When the window or meets the preset update period, determine the first error parameter under the read voltage corresponding to any one of each storage area; when the first error parameter is greater than or equal to the first threshold, update the storage area and the read voltage model The parameter value of the read voltage model corresponding to the storage area in the parameter value correspondence relationship.
一个可能的实施方式中,预设更新周期与存储区域的使用状态相关;或者,所述预设更新周期与非易失存储介质包括的多个存储区域的平均使用寿命相关。In a possible implementation manner, the preset update period is related to the usage state of the storage area; or, the preset update period is related to the average service life of a plurality of storage areas included in the nonvolatile storage medium.
一个可能的实施方式中,针对存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,该设定条件为读电压模型的参数值相同或相近平。In a possible implementation manner, for any storage area in the corresponding relationship 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 storage area corresponds to multiple read voltage models. Among the parameter values, the parameter values of multiple read voltage models that meet the set conditions are compressed into one read voltage model, and the set conditions are that the parameter values of the read voltage models are the same or nearly flat.
一个可能的实施方式中,控制器还用于:对一个所述存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值,其中,该设定值为默认值或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。In a possible implementation manner, the controller is further configured to: after performing a rewriting or erasing operation on the data in one of the storage areas, the parameters of the read voltage model corresponding to the storage area where the rewriting or erasing operation is performed The value is initialized to a set value, where 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 the erase operation is performed.
一个可能的实施方式中,控制器对一个所述存储区域中的数据执行重写操作或擦除操作时,具体用于:对一个存储区域中的所有数据执行重写操作或擦除操作。In a possible implementation manner, when the controller performs a rewriting operation or an erasing operation on the data in one storage area, it is specifically used for: performing a rewriting operation or an erasing operation on all data in a storage area.
一个可能的实施方式中,目标存储单元可以为非易失存储介质中的物理单元,具体可以为晶粒die、面Plane、块block、字符串string、层layer和页面page等中的任意一种。或者,目标存储单元也可以为非易失存储介质中的物理单元逻辑抽象后形成的逻辑单元,一个逻辑单元内的物理单元的位置可以连续,也可以不连续,具体可以为多个die构成的存储单元,或者,为多个plane构成的存储单元,或者,为多个block构成的存储单元;为多个string构成的存储单元;为多个layer构成的存储单元,或者,为多个page构成的存储单元等。In a possible implementation, the target storage unit may be a physical unit in a non-volatile storage medium, specifically any of die, plane, block, string, layer, page, etc. . Alternatively, the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium. The location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies. The storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
第四方面,本申请提供了一种通信系统,该通信系统包括主机、控制器以及非易失存储介质,非易失存储介质包括一个或多个存储区域,每个存储区域包括多个非易失存储介质按照目标划分粒度划分得到的目标存储单元,读电压模型为关于目标存储单元的标识的函数。其中,主机,用于向控制器发送读请求,以及接收控制器返回的请求数据,该读请求包括请求数据的位置指示信息。控制器,用于接收主机发送的读请求,根据该读请求中位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,其中,该目标物理位置为请求数据在非易失存储介质中的物理位置;根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值;根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压;以及,根据目标物理位置对应的读电压,获取请求数据,并将请求数据发送给主机。In a fourth aspect, the present application provides a communication system that includes a host, a controller, and a non-volatile storage medium. The non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage areas. The target storage medium is divided into target storage units according to the target division granularity, and the read voltage model is a function of the identification of the target storage unit. The host is used to send a read request to the controller and receive request data returned by the controller, and the read request includes location indication information of the requested data. The controller is configured to receive the read request sent by the host, and determine 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 the read request, where the target physical location is The physical location of the requested data in the non-volatile storage medium; according to the target storage area, the parameter value of the target read voltage model corresponding to the target storage area is obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model; according to the target physical The identification of the target storage unit where the location is located, the target read voltage model, and the parameter values of the target read voltage model to determine the read voltage corresponding to the target physical location; and, according to the read voltage corresponding to the target physical location, obtain the requested data, and request the data Send to the host.
第五方面,本申请还提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机可执行指令,当所述指令在计算机上运行时,使得所述计算机执行上述第一方面中任意一种实施方式提供的方法。In a fifth aspect, the present application also provides a computer-readable storage medium having computer-executable instructions stored on the computer storage medium. When the instructions are run on a computer, the computer executes the above-mentioned first aspect. Any one of the methods provided by the implementation.
第六方面,本申请还提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面中任意一种实施方式提供的方法。In a sixth aspect, the present application also provides a computer program product containing instructions, which when the instructions run on a computer, cause the computer to execute the method provided by any one of the implementation manners in the first aspect.
可以理解地,上述提供的任一种数据读取方法的装置、计算机存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。It is understandable that any device, computer storage medium, or computer program product of the data reading method provided above is used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can refer to the above The beneficial effects of the provided corresponding methods will not be repeated here.
附图说明Description of the drawings
图1为本申请实施例提供的一种TLC存储颗粒的结构示意图;FIG. 1 is a schematic structural diagram of a TLC storage particle provided by an embodiment of the application;
图2为本申请实施例提供的一种通信系统的结构示意图;FIG. 2 is a schematic structural diagram of a communication system provided by an embodiment of this application;
图3为本申请实施例提供的另一种通信系统的结构示意图;FIG. 3 is a schematic structural diagram of another communication system provided by an embodiment of this application;
图4为本申请实施例提供的一种数据读取方法的流程示意图;4 is a schematic flowchart of a data reading method provided by an embodiment of this application;
图5为本申请实施例提供的非易失存储介质中存储区域与目标存储单元的关系示意图;5 is a schematic diagram of the relationship between a storage area and a target storage unit in a nonvolatile storage medium provided by an embodiment of the application;
图6a为本申请实施例提供的一种TLC NAND读电压模型的参数值存储方式的示意图;FIG. 6a is a schematic diagram of a parameter value storage method of a TLC NAND read voltage model provided by an embodiment of the application;
图6b为本申请实施例提供的一种QLC NAND读电压模型的参数值存储方式的示意图;FIG. 6b is a schematic diagram of a parameter value storage mode of a QLC NAND read voltage model provided by an embodiment of the application;
图7为本申请实施例提供的另一种TLC NAND读电压模型的参数值存储方式的示意图;FIG. 7 is a schematic diagram of another method of storing parameter values of a TLC NAND read voltage model provided by an embodiment of the application;
图8为本申请实施例提供的一种建立非易失存储介质对应的读电压模型的方法流程示意图;8 is a schematic flowchart of a method for establishing a read voltage model corresponding to a non-volatile storage medium according to an embodiment of the application;
图9a为本申请实施例提供的一种更新读电压模型的参数值的流程示意图;FIG. 9a is a schematic diagram of a process for updating parameter values of a read voltage model according to an embodiment of the application;
图9b为本申请实施例提供的另一种更新读电压模型的参数值的流程示意图;FIG. 9b is a schematic diagram of another process for updating the parameter values of the read voltage model according to an embodiment of the application;
图10为本申请实施例提供的一种计算读电压模型的参数值的流程示意图;10 is a schematic diagram of a process for calculating parameter values of a read voltage model provided by an embodiment of the application;
图11为本申请实施例提供的一种存储控制器的结构示意图;FIG. 11 is a schematic structural diagram of a storage controller provided by an embodiment of this application;
图12为本申请实施例提供的一种电子设备的结构示意图。FIG. 12 is a schematic structural diagram of an electronic device provided by an embodiment of this application.
具体实施方式Detailed ways
目前,大多数存储设备均使用SSD进行数据存储,比如硬盘或存储卡等。SSD的QoS是存储设备向主机提供稳定、一致和可预测性的请求应答服务的能力,它是影响存储设备的市场竞争力的关键因素之一。QoS可以包括多个性能指标,其中读响应时间是QoS的关键性能指标,主要取决于响应主机请求的flash介质中发生的读操作次数。而flash介质作为SSD的主要存储介质,它的特性受擦写次数、数据保留时间、读操作次数等多种因素的影响,承载数据的电压信号会发送漂移,从而后端需要多次读操作(试错)才能成功响应主机请求,因此影响了QoS的读延时指标,造成读延时较长。Currently, most storage devices use SSDs for data storage, such as hard drives or memory cards. SSD QoS is the ability of storage devices to provide stable, consistent and predictable request response services to hosts, and it is one of the key factors affecting the market competitiveness of storage devices. QoS can include multiple performance indicators. The read response time is a key performance indicator of QoS, which mainly depends on the number of read operations that occur in the flash medium in response to the host request. As the main storage medium of SSD, the characteristics of flash media are affected by many factors such as the number of erasing and writing, data retention time, and the number of read operations. The voltage signal carrying the data will send drift, so that the backend requires multiple read operations ( Trial and error) can successfully respond to the host request, thus affecting the QoS read delay index, resulting in a longer read delay.
随着更高存储密度的单元(cell)由三维(3-dimension,3D)每个Cell存储x bit(x为大于2的整数)的存储器(x-level cell,xLC)(如每个Cell存储3bit的存储器(triple-level cell,TLC)以及每个Cell存储4bit的存储器(quad-level cell,QLC)等)逐渐替代二维(2-dimension,2D)每个Cell存储2bit的存储器MLC(multi-level cell)成为主流存储介质,QoS的读延时指标正面临着越来越多的挑战。如图1所示,为本申请实施例提供的一种TLC颗粒的内部的层次结构图。其中,写操作的最小单位为页面(page),页面可以划分为三种类型,即上页(upper page)、中页(middle page)和下页(lower page)(对于QLC 颗粒,page可以划分为顶层页(top page)、上页(upper page)、中页(middle page)和下页(lower page))。一个上页、一个中页和一个下页可以组成一个字线(word line,WL),若干个WL按不同的方向组成层(Layer)或字符串(string),比如,图1中横向的多个WL组成layer,纵向的多个WL组成string。page组成的最小擦除操作单元称为块(block)。多个block组成面(plane),多个plane可以组成晶粒(die)。多个die组成一个封装package。With the higher storage density of the cell (cell) is three-dimension (3-dimension, 3D) each cell stores x bit (x is an integer greater than 2) memory (x-level cell, xLC) (such as each cell storage 3bit memory (triple-level cell, TLC) and each cell storage 4bit memory (quad-level cell, QLC), etc.) gradually replace the two-dimensional (2-dimension, 2D) each cell storage 2bit memory MLC (multi -level cell) has become a mainstream storage medium, and the read delay index of QoS is facing more and more challenges. As shown in Fig. 1, an internal hierarchical structure diagram of a TLC particle provided in an embodiment of this application. Among them, the smallest unit of the write operation is page, which can be divided into three types, namely upper page, middle page and lower page (for QLC particles, page can be divided into These are top page, upper page, middle page and lower page). A previous page, a middle page, and a next page can form a word line (WL), and several WLs form layers or strings in different directions. For example, the horizontal multiple lines in Figure 1 A WL forms a layer, and multiple WLs in a vertical direction form a string. The smallest erase operation unit composed of pages is called a block. Multiple blocks form a plane, and multiple planes can form a die. Multiple dies form a package.
此外,在许多应用中控制器会将一些block组成super block。super block在应用中的特征是内部的block会被同时擦除、或同时被编程,super block内部的block的使用条件的状态是一致或接近的,比如,擦写次数、以及数据保留时间等。In addition, in many applications, the controller composes some blocks into super blocks. The characteristic of a super block in an application is that the internal blocks will be erased or programmed at the same time. The usage conditions of the blocks in the super block are consistent or close, such as the number of erasing and writing, and the data retention time.
3D xLC与2D MLC相比,每个单元(Cell)中的逻辑状态从4个(2bit)增加到2 x个(x bit),区分不同逻辑状态的电压信号窗口变小,从而读电压的准确度要求提升。另外,block中的page数、以及die中的block数逐步增加,flash内部各层次的物理不一致性增加,对所有page设置统一的有效读电压变得越来越困难。 Compared with 2D MLC, 3D xLC increases the logic state in each cell from 4 (2bit) to 2 x (x bit), and the voltage signal window for distinguishing different logic states becomes smaller, so that the voltage reading is accurate Degree requirements are increased. In addition, the number of pages in the block and the number of blocks in the die gradually increase, and the physical inconsistency of each level within the flash increases, and it becomes more and more difficult to set a uniform effective read voltage for all pages.
为了解决上述问题,本申请提供了一种数据读取方法、存储控制器以及电子设备,以降低读延时。In order to solve the above-mentioned problems, the present application provides a data reading method, a storage controller and an electronic device to reduce the reading delay.
需要说明的是,本申请中所涉及的多个,是指两个或两个以上。为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。It should be noted that the multiple involved in this application refers to two or more. In order to make the objectives, technical solutions, and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings.
图2为本申请实施例所应用的一种通信系统的硬件架构图,如图2所示,该系统包括主机、SSD控制器和flash阵列,主机可以通过SSD控制器存/取SSD中的flash阵列中的数据。其中,主机可以通过非易失性内存主机控制器接口(non-volatile memory express,NVMe)/串行连接小型计算机系统接口(serial attached SCSI(SCSI为small computer system interface的缩写),SAS)/快捷外设互联标准(peripheral component interconnect express,PCIe)接口等多种接口与SSD控制器的前端相连,SSD控制器的后端可以通过闪存接口(NAND flash interface,NFI)与flash阵列相连,主机通过SSD控制器对flash阵列中的数据进行读写或擦除等操作。Figure 2 is a hardware architecture diagram of a communication system applied in an embodiment of this application. As shown in Figure 2, the system includes a host, an SSD controller, and a flash array. The host can store/fetch the flash in the SSD through the SSD controller. The data in the array. Among them, the host can use non-volatile memory host controller interface (non-volatile memory express, NVMe)/serial attached small computer system interface (serial attached SCSI (SCSI is the abbreviation of small computer system interface), SAS)/fast The peripheral component interconnect express (PCIe) interface and other interfaces are connected to the front end of the SSD controller. The back end of the SSD controller can be connected to the flash array through the NAND flash interface (NFI), and the host is connected through the SSD The controller performs operations such as reading, writing or erasing the data in the flash array.
另外,本申请实施例还可以应用在如图3所示的另一种通信系统的硬件架构中。该系统中的控制器与图2所示的系统中的SSD控制器类似。不同的是,该系统中的控制器与flash阵列封装成独立的芯片,主机通过通用闪存存储(universal flash storage,UFS)/嵌入式多媒体存储卡(embedded multi media card,eMMC)等接口与控制器相连,并通过该接口存取数据。示例性的,控制器与flash阵列封装成的芯片可应用于诸如手机、平板电脑、可穿戴设备等移动终端中。In addition, the embodiments of the present 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 Figure 2. The difference is that the controller and flash array in the system are packaged into independent chips, and the host communicates with the controller through interfaces such as universal flash storage (UFS)/embedded multimedia card (eMMC), etc. Connect and access data through the interface. Exemplarily, a chip packaged by a controller and a flash array can be applied to mobile terminals such as mobile phones, tablet computers, and wearable devices.
如图4所示,本申请实施例提供的一种数据读取方法,应用于控制器中,控制器的前端用于连接主机,控制器的后端用于连接非易失存储介质,该非易失存储介质可以为3D NAND flash、2D NAND flash等基于flash的存储介质,也可以为磁存储器(magnetic random access memory,MRAM)、阻变存储器(resistance random access memory,RRAM)、相变存储器(phase change random access memory,PCRAM)、铁电存储器(ferroelectric random access memory,FRAM)以及纳米管存储器(nanotube random access memory,NRAM)等新型非易失存储介质。该方法可应用于上述图2或图3所示的通信系统中,主要包括以下几个步骤:As shown in Figure 4, a data reading method provided by an embodiment of the present application is applied to a controller. The front end of the controller is used to connect to the host, and the back end of the controller is used to connect to a non-volatile storage medium. Volatile storage media can be 3D NAND flash, 2D NAND flash and other flash-based storage media, as well as magnetic random access memory (MRAM), resistance random access memory (RRAM), phase change memory ( Phase change random access memory (PCRAM), ferroelectric random access memory (FRAM), and nanotube random access memory (NRAM) and other new non-volatile storage media. This method can be applied to the communication system shown in FIG. 2 or FIG. 3, and mainly includes the following steps:
S401:控制器接收主机发送的读请求,该读请求中包括请求数据的位置指示信息。S401: The controller receives a read request sent by the host, where the read request includes location indication information of requested data.
其中,当主机需要从控制器管理的非易失存储介质中读取某一数据时,主机可以向控 制器发送读请求,该读请求所请求的数据可以称为请求数据,在该读请求中可以携带位置指示信息。该位置指示信息可以用于指示逻辑地址,即主机用于访问该请求数据时的逻辑地址,例如逻辑页地址(logical page address,LPA),逻辑地址与物理地址存在映射关系,根据该请求数据的逻辑地址可以确定该请求数据在非易失存储介质中的物理位置。在实际应用中,该位置指示信息也可以是与物理位置存在对应关系的其他信息,比如,该位置指示信息可以是key值,通过预设的key值与value值之间的对应关系,获取对应的value值,该value值可以是数据的物理位置,本申请实施例对此不作限定。Among them, when the host needs to read certain data from the non-volatile storage medium managed by the controller, the host can send a read request to the controller. The data requested by the read request can be called request data. In the read request Can carry location indication information. The location indication information can be used to indicate the logical address, that is, the logical address used by the host to access the requested data, such as the logical page address (logical page address, LPA). There is a mapping relationship between the logical address and the physical address. The logical address can determine the physical location of the requested data in the non-volatile storage medium. In practical applications, the location indication information can also be other information that has a corresponding relationship with the physical location. For example, the location indication information can be a key value, and the corresponding relationship can be obtained through the preset corresponding relationship between the key value and the value value. This value can be the physical location of the data, which is not limited in the embodiment of the application.
例如,当非易失存储介质为3D NAND TLC存储器时,控制器接收到的该读请求中可以包括一个或多个LPA,控制器通过LPA与物理页号(physical page number,PPN)的映射关系,确定每个LPA对应的PPN,进而根据每个LPA对应的PPN确定page号、layer号、block号plane号、die号以及channel号等用于表征主机所请求数据在非易失存储介质中的物理位置的信息。For example, when the non-volatile storage medium is 3D NAND TLC memory, the read request received by the controller may include one or more LPAs, and the controller uses the mapping relationship between LPA and physical page number (PPN) , Determine the PPN corresponding to each LPA, and then determine the page number, layer number, block number, plane number, die number, and channel number according to the PPN corresponding to each LPA to characterize the data requested by the host in the nonvolatile storage medium Physical location information.
具体的,当控制器接收到主机发送的读请求时,控制器可以根据该位置指示信息获取请求数据在非易失存储介质中存储的物理地址,这里将该请求数据的物理地址称为目标物理位置。Specifically, when the controller receives a read request sent by the host, the controller can obtain the physical address of the requested data stored in the non-volatile storage medium according to the location indication information, where the physical address of the requested data is referred to as the target physical address. position.
S402:控制器根据位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型。其中,该目标物理位置为请求数据在非易失存储介质中的物理位置,非易失存储介质包括一个或多个存储区域,每个存储区域包括多个非易失存储介质按照目标划分粒度划分得到的目标存储单元,读电压模型为关于目标存储单元的标识(如目标存储单元的编号)的函数。S402: The controller determines 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. Among them, the target physical location is the physical location of the requested data in the non-volatile storage medium. The non-volatile storage medium includes one or more storage areas, and each storage area includes multiple non-volatile storage media. For the obtained target storage cell, the read voltage model is a function of the identification of the target storage cell (such as the number of the target storage cell).
非易失存储介质、存储区域以及目标存储单元之间的关系如图5所示,非易失存储介质包括至少一个存储区域,每个存储区域包括多个目标存储单元,每个目标存储单元可以通过对应的物理位置进行表示,一个存储区域包括的多个物理位置可以是其包括的至少一个目标存储单元对应的物理位置。需要说明的是,本申请并不对每个存储区域中包括的目标存储单元的个数进行限定,每个存储区域中包括的目标存储单元的个数主要根据目标存储单元的读电压特性确定,每个存储区域中读电压的特性关于目标存储单元的标识连续变化,因此每个存储区域中包括的目标存储单元的个数可能相同,也可能不同。The relationship between the non-volatile storage medium, the storage area and the target storage unit is shown in Figure 5. The non-volatile storage medium includes at least one storage area, each storage area includes multiple target storage units, and each target storage unit can Represented by corresponding physical locations, multiple physical locations included in a storage area may be physical locations corresponding to at least one target storage unit included in the storage area. It should be noted that this application does not limit the number of target storage cells included in each storage area. The number of target storage cells included in each storage area is mainly determined according to the read voltage characteristics of the target storage cell. The characteristics of the read voltage in each storage area continuously change with respect to the identification of the target storage cell, so the number of target storage cells included in each storage area may be the same or different.
进一步地,目标存储单元可以为非易失存储介质中的物理单元,具体可以为晶粒die、面Plane、块block、字符串string、层layer和页面page等中的任意一种。或者,目标存储单元也可以为非易失存储介质中的物理单元逻辑抽象后形成的逻辑单元,一个逻辑单元内的物理单元的位置可以连续,也可以不连续,具体可以为多个die构成的存储单元,或者,为多个plane构成的存储单元,或者,为多个block构成的存储单元;为多个string构成的存储单元;为多个layer构成的存储单元,或者,为多个page构成的存储单元等。Further, the target storage unit may be a physical unit in a non-volatile storage medium, and specifically may be any one of die, plane, block, string, layer, and page. Alternatively, the target storage unit may also be a logical unit formed after logical abstraction of the physical unit in the non-volatile storage medium. The location of the physical unit in a logical unit may be continuous or discontinuous. Specifically, it may be composed of multiple dies. The storage unit is a storage unit composed of multiple planes, or a storage unit composed of multiple blocks; a storage unit composed of multiple strings; a storage unit composed of multiple layers, or a storage unit composed of multiple pages Storage unit, etc.
读电压是指从模拟信号向数据信号转换时对应的转换电压,读电压特性可以是指在不同条件(比如,不同温度、不同时间、不同PE、不同数据保留时间、不同读操作次数(read counts))下,使用不同的设备读取读电压时,对应的出错参数的变化规律。在具体实施中,读电压模型用于表征目标存储单元的标识与最优读电压的对应关系。其中,读电压模型为关于目标存储单元的标识的函数,用于表征读电压随着目标存储单元的标识的变化而变化的规律,是一种对读电压的定性描述,而不是定量的描述,例如当读电压模型为线性模型 时,表示读电压随着目标存储单元的标识的变化呈线性变化。读电压模型可以为线性模型或者非线性模型,可以用最优读电压与目标存储单元的标识的函数关系表示,例如,当读电压模型为线性模型时,最优读电压与目标存储单元的标识的函数关系为线性函数,可以表示为y=ax+b,其中,y表示最优读电压,x表示目标存储单元的标识,a、b为读电压模型的参数值。目标存储单元的标识通常用目标存储单元的编号表示,目标存储单元的编号可以用连续的数字表示,也可以用不连续的数字表示,例如目标存储单元的编号可以为1,2,3…,N(N为正整数),或者目标存储单元的编号可以为按照特定规律(等差数列或等比数列等)变化的数字表示1,3,5…2N-1等。The read voltage refers to the corresponding conversion voltage when converting from an analog signal to a data signal. The read voltage characteristics can refer to different conditions (for example, different temperatures, different times, different PEs, different data retention times, and different read counts). Under )), when using different devices to read the voltage, the corresponding error parameter changes. In a specific implementation, the read voltage model is used to characterize the corresponding relationship between the identification of the target memory cell and the optimal read voltage. Among them, the read voltage model is a function of the identification of the target memory cell, which is used to characterize the law that the read voltage changes with the identification of the target memory cell. It is a qualitative description of the read voltage, rather than a quantitative description. For example, when the read voltage model is a linear model, it means that the read voltage changes linearly with the change of the identifier of the target memory cell. The read voltage model can be a linear model or a non-linear model. It can be expressed by the functional relationship between the optimal read voltage and the identification of the target memory cell. For example, when the read voltage model is a linear model, the optimal read voltage and the identification of the target memory cell The functional relationship of is a linear function, which can be expressed as y=ax+b, where y represents the optimal read voltage, x represents the identification of the target memory cell, and a and b are the parameter values of the read voltage model. The identification of the target storage unit is usually represented by the number of the target storage unit. The number of the target storage unit can be represented by a continuous number or a discontinuous number. For example, the number of the target storage unit can be 1, 2, 3..., N (N is a positive integer), or the number of the target storage unit can be a number that changes according to a specific law (arithmetic sequence or geometric sequence, etc.), representing 1, 3, 5...2N-1, etc.
S403:控制器根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的目标读电压模型的参数值。S403: 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.
其中,存储区域与所述读电压模型的参数值的对应关系中,一个存储区域对应一个或多个读电压模型的参数。存储区域与读电压模型的参数值的对应关系可以以表的形式存储在控制器中,该表中可以包括存储区域对应的标识,将存储区域的标识与读电压模型的参数值一一对应保存在表中;该表也可以不保存存储区域的标识,将读电压模型的参数值按照读电压模型的参数值对应的存储区域的索引值排列,存储区域对应的索引值根据存储区域的物理位置确定,以减少该表中的表项,进而减少该表所占的存储空间。Wherein, in the corresponding 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 corresponding relationship 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 include the identification corresponding to the storage area. The identification of the storage area and the parameter value of the read voltage model are stored in a one-to-one correspondence. In the table; the table may not save the storage area identification, and the parameter values of the read voltage model are 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 based on the physical location of the storage area Determine to reduce the entries in the table, thereby reducing the storage space occupied by the table.
针对存储区域与读电压模型的参数值的对应关系中的任意一个存储区域,该存储区域可以对应一个或多个读电压模型参数。例如,对于TLC NAND,一个存储区域对应7个读电压模型的参数值,当读电压模型为线性模型,读电压模型的参数值分别用a和b表示时,这7个读电压模型的参数值分别记为r1a,r1b,r2a,r2b,r3a,r3b,r4a,r4b,r5a,r5b,r6a,r6b以及r7a,r7b,其在存储区域与读电压模型的参数值的对应关系中的存储格式可以如图6a所示。又如,对于QLC NAND,一个存储区域对应15个读电压模型的参数值,当读电压模型为线性模型,读电压模型的参数值分别用a和b表示时,这15个读电压模型的参数分别记为r1a,r1b,r2a,r2b,r3a,r3b,r4a,r4b,r5a,r5b,r6a,r6b…,r15a,r15b,其在存储区域与读电压模型的参数值的对应关系中的存储格式可以如图6b所示。For any one of the storage areas in the corresponding relationship between the storage area and the parameter value of the read voltage model, the storage area may correspond to one or more read voltage model parameters. For example, for TLC NAND, one storage area corresponds to the parameter values of seven read voltage models. When the read voltage model is a linear model, and the parameter values of the read voltage model are represented by a and b respectively, the parameter values of these seven read voltage models They are respectively marked as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b and r7a, r7b. The storage format in the corresponding relationship between the storage area and the parameter value of the read voltage model can be As shown in Figure 6a. For another example, for QLC NAND, one storage area corresponds to the parameter values of 15 read voltage models. When the read voltage model is a linear model, and the parameter values of the read voltage model are represented by a and b respectively, the parameters of these 15 read voltage models Respectively denoted as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b..., r15a, r15b, the storage format in the corresponding relationship between the storage area and the parameter value of the read voltage model It can be as shown in Figure 6b.
需要说明的是,本申请实施例并不对存储区域与读电压模型的参数值的对应关系中读电压模型的参数值的存储方式进行限定,图6a以及图6b所示的存储方式仅为举例说明并不对本申请构成限定。针对存储区域与读电压模型的参数值的对应关系中的任意一个存储区域,该存储区域对应的读电压模型的参数值的存储顺序可以按照如图6a以及图6b所示的顺序依次排列,也可以根据需要按照其他的顺序排列,另外,每个读电压模型的参数值所占的存储空间的大小可以相同,也可以不同。It should be noted that the embodiment of the present application does not limit the storage mode of the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model. The storage modes shown in FIG. 6a and FIG. 6b are only examples for illustration. It does not limit this application. For any one of the storage areas in the corresponding relationship between the storage area and the parameter values of the read voltage model, the storage order of the parameter values of the read voltage model corresponding to the storage area can be arranged in sequence as shown in FIG. 6a and FIG. 6b. It can be arranged in other order as needed. In addition, the size of the storage space occupied by the parameter value of each read voltage model can be the same or different.
进一步地,针对存储区域与读电压模型的参数值的对应关系中任意一个存储区域,当该存储区域对应多个读电压模型的参数值时,该存储区域对应多个读电压模型的参数值中满足设定条件的多个读电压模型的参数值被压缩为一个读电压模型,该设定条件为读电压模型的参数值相同或相近,相当于对存储区域与读电压模型的参数值的对应关系进行了压缩,进而可以减少存储区域与读电压模型的参数值的对应关系中的存储的内容减少读电压模型的参数值多占用的存储空间,进而可以节省控制器的存储空间。在本申请实施例中,两个读电压模型的参数值相同或相近是指两个读电压模型的参数值相差较小,比如,两个读电压模型的参数值中相应参数值的差值在设定的范围内,该设定范围根据读电压的准确性确定。Further, for any storage area in the corresponding relationship between the storage area and the parameter values of the read voltage model, when the storage area corresponds to the parameter values of the multiple read voltage models, the storage area corresponds to the parameter values of the multiple read voltage models The parameter values of multiple read voltage models that meet the set conditions are compressed into one read voltage model. The set conditions are that the parameter values of the read voltage models are the same or similar, which is equivalent to the correspondence between the storage area and the parameter values of the read voltage model. The relationship is compressed, and the stored content in the corresponding relationship between the storage area and the parameter value of the read voltage model can be reduced, and the storage space occupied by the parameter value of the read voltage model can be reduced, thereby saving the storage space of the controller. In the embodiments of the present application, the parameter values of the two reading voltage models are the same or similar, meaning that the parameter values of the two reading voltage models are relatively small. For example, the difference between the corresponding parameter values of the two reading voltage models is Within the setting range, the setting range is determined according to the accuracy of the reading voltage.
例如,对于TLC NAND,存储区域对应的读电压模型为线性读电压模型y=ax+b,y表示读电压,x表示目标存储单元的标识,a、b为读电压模型的参数值,一个存储区域对应的7个读电压模型的参数值,这7个读电压模型的参数值分别记为r1a,r1b,r2a,r2b,r3a,r3b,r4a,r4b,r5a,r5b,r6a,r6b以及r7a,r7b,如果r2a和r3a相近,且r2b和r3b相近,r4a和r5a相近,且r4b和r5b相近,r6a和r7a相近,且r6b和r7b相近,那么r2a,r2b,r3a,r3b可以压缩为一个读电压模型参数,r4a,r4b,r5a,r5b可以压缩为一个读电压模型参数,r6a,r6b以及r7a,r7b可以压缩为一个读电压模型参数,此时其在存储区域与读电压模型的参数值的对应关系中的存储格式可以由如6a所示的存储格式变为如图7所示的存储格式。For example, for TLC NAND, 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 memory cell, a and b are the parameter values of the read voltage model, one storage The parameter values of the 7 reading voltage models corresponding to the area, the parameter values of these 7 reading voltage models are respectively marked as r1a, r1b, r2a, r2b, r3a, r3b, r4a, r4b, r5a, r5b, r6a, r6b and r7a, r7b, if r2a and r3a are close, r2b and r3b are close, r4a and r5a are close, r4b and r5b are close, r6a and r7a are close, and r6b and r7b are close, then r2a, r2b, r3a, and r3b can be compressed into a read voltage Model parameters, r4a, r4b, r5a, r5b can be compressed into a read voltage model parameter, r6a, r6b and r7a, r7b can be compressed into a read voltage model parameter, at this time it corresponds to the parameter value of the read voltage model in the storage area The storage format in the relationship can be changed from the storage format shown in 6a to the storage format shown in FIG.
在具体实施中,读电压模型通常用读电压与目标存储单元的标识的函数关系表示,即读电压模型为关于目标存储单元的标识的函数,因此,目标读电压模型的参数值包括关于目标存储单元的标识的函数中目标存储单元的标识的系数以及关于目标存储单元的标识的函数中的常数项的值,即目标读电压模型的参数值包括关于目标存储单元的标识的函数中自变量目标存储单元的标识前的系数以及该函数中的常数项的值,当该函数中不包括常数项时,该函数中的常数项的值为0。例如,当读电压模型为线性模型时,读电压与目标存储单元的标识的函数关系为线性函数,可以表示为y=ax+b,其中,y表示读电压,x表示目标存储单元的标识,a、b为读电压模型的参数值。In specific implementations, the read voltage model is usually expressed by the functional relationship between the read voltage and the identification of the target memory cell, that is, the read voltage model is a function of the identification of the target memory cell. Therefore, the parameter values of the target read voltage model include information about the target memory. The coefficient of the identification of the target storage cell in the function of the identification of the cell and the value of the constant item in the function of the identification of the target storage cell, that is, the parameter value of the target read voltage model includes the independent variable target in the function of the identification of the target storage cell The coefficient before the identification of the storage unit and the value of the constant term in the function. 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 identification of the target memory cell is a linear function, which can be expressed as y=ax+b, where y represents the read voltage and x represents the identification of the target memory cell. a and b are the parameter values of the read voltage model.
S404:控制器根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压。S404: 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 values of the target read voltage model.
S405:控制器根据目标物理位置对应的读电压,获取请求数据,并将请求数据发送给主机。S405: The controller obtains the request data according to the read voltage corresponding to the target physical location, and sends the request data to the host.
在步骤S402中,控制器具体可以通过以下方式确定目标物理位置所在的目标存储区域对应的目标读电压模型:控制器根据位置指示信息所指示的目标物理位置,从存储区域与读电压模型的对应关系中,确定目标物理位置所在的目标存储区域对应的目标读电压模型。In step S402, the controller can specifically determine the target read voltage model corresponding to the target storage area where the target physical location is located in the following manner: the controller, according to the target physical location indicated by the location indication information, from the storage area and the read voltage model In the relationship, determine the target read voltage model corresponding to the target storage area where the target physical location is located.
其中,读电压模型为根据非易失存储介质中目标存储单元的读电压特性确定的模型,目标划分粒度根据非易失存储介质的结构以及非易失存储介质中不同划分粒度下存储单元的读电压特性确定。非易失存储介质的结构决定了非易失存储介质的划分粒度的可选范围,例如对于3D NAND可以die、plane、block、layer、string以及page等粒度,以及多个die、多个plane、多个block、多个layer、多个string以及多个page为粒度对非易失存储介质进行划分。Among them, the read voltage model is a model determined according to the read voltage characteristics of the target storage cell in the non-volatile storage medium. The target division granularity is based on the structure of the non-volatile storage medium and the reading of storage cells under different division granularities in the non-volatile storage medium The voltage characteristics are determined. The structure of the non-volatile storage medium determines the optional range of the granularity of the non-volatile storage medium. For example, for 3D NAND, the granularity of die, plane, block, layer, string and page, as well as multiple die, multiple plane, Multiple blocks, multiple layers, multiple strings, and multiple pages divide the non-volatile storage medium into granularities.
也就是说,如图8所示,确定非易失存储介质中不同存储区域的读电压模型的过程主要包括以下步骤:That is to say, as shown in FIG. 8, the process of determining the read voltage model of different storage areas in the non-volatile storage medium mainly includes the following steps:
S801:根据非易失存储介质的结构以及非易失存储介质中不同划分粒度下存储单元的读电压特性确定目标划分粒度。其中,在目标划分粒度下,非易失存储介质中的目标存储单元的最优读电压按照一定的规律变化,即目标划分粒度下的目标存储单元能够表征读电压,以使所确定的读电压模型能够准确地表征读电压,提高读电压的准确性。S801: Determine the target division granularity according to the structure of the non-volatile storage medium and the read voltage characteristics of the storage cells under different division granularities in the non-volatile storage medium. Among them, under the target division granularity, the optimal read voltage of the target storage cell in the nonvolatile storage medium changes according to a certain rule, that is, the target storage cell under the target division granularity can characterize the read voltage so that the determined read voltage The model can accurately characterize the reading voltage and improve the accuracy of the reading voltage.
S802:根据非易失存储介质中目标划分粒度下存储单元的读电压特性,将非易失存储介质划分为一个或多个存储区域。其中,针对任意一个存储区域,读电压的特性随着该存储区域中包括的目标存储单元的标识的变化,按照特定的规律连续变化。S802: Divide the non-volatile storage medium into one or more storage areas according to the read voltage characteristics of the storage unit under the target division granularity in the non-volatile storage medium. Wherein, for any storage area, the characteristic of the read voltage changes continuously according to a specific rule as the identifier of the target storage cell included in the storage area changes.
S803:根据每个存储区域对应的读电压特性的变化趋势,分别确定每个存储区域对应的读电压模型。相当于将非易失存储介质对应的读电压模型划分为多个部分,每个部分用各自对应的读电压模型以及读电压模型的参数值表征,进而可以提高根据每个存储区域对应的读电压模型计算得到的读电压的准确性,降低读操作的延时。S803: Determine the read voltage model corresponding to each storage area according to the change trend of the read voltage characteristic corresponding to each storage area. It is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, and each part is characterized by its corresponding read voltage model and the parameter value of the read voltage model, which can increase the read voltage corresponding to each storage area. The accuracy of the read voltage calculated by the model reduces the delay of the read operation.
确定每个存储区域对应的读电压模型之后,通过对每个存储区域中不同物理位置的读电压进行采样,估算每个存储区域对应的读电压模型的参数值,得到存储区域与读电压模型的参数值的对应关系。通常情况下,确定不同存储区域的读电压模型以及存储区域与读电压模型的参数值的对应关系是在线下由技术人员完成,将不同存储区域的读电压模型以及存储区域与读电压模型的参数值的对应关系预先配置在控制器中,不需要控制器在在线读数据的时候确定不同存储区域的读电压模型以及存储区域与读电压模型的参数值的对应关系。After determining the read voltage model corresponding to each storage area, by sampling the read voltage at different physical locations in each storage area, the parameter value of the read voltage model corresponding to each storage area is estimated, and the storage area and the read voltage model are obtained. Correspondence of parameter values. Under normal circumstances, the determination of the read voltage model of different storage areas and the corresponding relationship between the parameter values of the storage area and the read voltage model is done by a technician offline, and the read voltage models of different storage areas and the parameters of the storage area and the read voltage model The corresponding relationship of the values is pre-configured in the controller, and there is no need for the controller to determine the read voltage model of different storage areas and the corresponding relationship between the parameter values of the storage area and the read voltage model when reading data online.
在步骤S403中,当存储区域与读电压模型的参数值的对应关系中包括存储区域对应的标识时,控制器可以直接根据目标存储区域的标识,从存储区域与将存储区域与读电压模型的参数值对应关系中获取目标存储区域对应的目标读电压模型的参数值。当存储区域与读电压模型的参数值的对应关系中读电压模型的参数值按照读电压模型的参数值对应的存储区域的索引值排列,不包括存储区域的标识时,控制器根据目标物理位置根据目标索引值,从存储区域与读电压模型的参数值的对应关系中,获取目标读电压的模型参数,其中,该目标索引值用于指示存储区域与读电压模型的参数值的对应关系中,目标读电压模型的参数值的存储位置。In step S403, when the corresponding relationship between the storage area and the parameter value of the read voltage model includes an identification corresponding to the storage area, the controller can directly compare the storage area with the storage area and the read voltage model based on the identification of the target storage area. The parameter value of the target reading voltage model corresponding to the target storage area is obtained in the parameter value correspondence relationship. When the parameter values of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model are arranged according to the index value of the storage area corresponding to the parameter value of the reading voltage model, the storage area identification is not included, the controller according to the target physical location According to the target index value, the model parameters of the target read voltage are obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model, where the target index value is used to indicate the corresponding relationship between the storage area and the parameter value of the read voltage model , The storage location of the parameter value of the target read voltage model.
当存储区域与读电压模型的参数值的对应关系中,目标存储区域对应多个读电压模型的参数值时,所述控制器可以根据所述目标存储区域,从存储区域与读电压模型的参数值的对应关系中,获取目标存储区域对应的所有读电压模型的参数值,再根据目标物理位置,从目标存储区域对应的所有读电压模型的参数值中选择一个或多个作为目标读电压模型参数,或者,所述控制器根据目标物理位置,从存储区域与读电压模型的参数值的对应关系中,目标存储区域对应多个读电压模型的参数值中选择一个或多个,作为目标读电压模型参数。When the corresponding relationship between the storage area and the parameter values of the read voltage model, the target storage area corresponds to the parameter values of multiple read voltage models, the controller may read the parameters of the voltage model from the storage area according to the target storage area. In the value correspondence relationship, obtain the parameter values of all read voltage models corresponding to the target storage area, and then select one or more of the parameter values of all read voltage models corresponding to the target storage area as the target read voltage model according to the target physical location Parameter, or the controller selects one or more of the parameter values of the multiple read voltage models 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 physical location, as the target read Voltage model parameters.
在步骤S404中,在目标读电压模型的参数值包括关于目标存储单元的标识的函数中目标存储单元的标识的系数以及关于目标存储单元的标识的函数中的常数项的值的场景下,控制器可以通过以下方法确定目标物理位置对应的读电压:控制器根据目标读电压模型以及目标读电压模型的参数值,确定目标存储区域中读电压与目标存储区域中目标存储单元的标识所满足的函数,根据目标物理位置所在的目标存储单元的标识以及目标存储区域中读电压与所述目标存储区域中目标存储单元的标识所满足的函数,计算目标物理位置对应的读电压。例如,目标读电压模型为关于目标存储单元标识的线性函数,可以表示为y=ax+b,其中,y表示读电压,x表示目标存储单元的标识,a、b为目标读电压模型的参数值(为常数),若目标物理位置所在的目标存储单元的标识为2,那么目标物理位置对应的读电压y=2a+b。In step S404, in a scenario where the parameter value of the target read voltage model includes the coefficient of the target storage unit's identity in the function related to the target storage unit's identity and the value of the constant term in the function relating to the target storage unit's identity, control The device can determine the read voltage corresponding to the target physical location by the following method: the controller determines the read voltage in the target storage area and the identification of the target storage cell in the target storage area according to the target read voltage model and the parameter values of the target read voltage model. The function calculates 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 and the function satisfied by the read voltage in the target storage area and the identifier of the target storage unit in the target storage area. For example, the target read voltage model is a linear function with respect to the target memory cell identifier, which can be expressed as y=ax+b, where y represents the read voltage, x represents the target memory cell identifier, and a and b are the parameters of the target read voltage model Value (constant). If the identifier of the target memory cell where the target physical location is located is 2, then 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 the logical abstraction of the physical unit in the non-volatile storage medium, the controller uses the identification of the target storage unit where the target physical location is located, the target read voltage model, and the target read For the parameter values of the voltage model, before determining the read voltage corresponding to the target physical location, the target physical location must be mapped to the corresponding target storage unit according to the mapping relationship between the physical location in the non-volatile storage medium and the target storage unit.
例如,在非易失存储介质中每个存储区域对应的读电压模型均为线性模型,即读电压模型为y=ax+b,其中,y表示最优读电压,x表示目标存储单元的编号,一个目标存储单元为一个layer,a、b为读电压模型的参数值,以及存储区域与读电压模型的参数值的对应关系中读电压模型的参数值按照读电压模型的参数值对应的存储区域的索引值排列,不包括存储区域的标识的场景下,控制器可以通过以下步骤确定主机发送的读请求中请求数据值的位置指示信息所指示的目标物理位置对应的读电压:For example, the read voltage model corresponding to each storage area in the non-volatile storage medium is a linear model, that is, the read voltage model is y=ax+b, where y represents the optimal read voltage, and x represents the number of the target memory cell A target storage unit is a layer, a and b are the parameter values of the read voltage model, and the corresponding relationship between the storage area and the parameter values of the read voltage model. The parameter values of the read voltage model are stored according to the parameter values of the read voltage model. In the scenario where the index value arrangement of the area does not include the identification of the storage area, the controller can determine the read voltage corresponding to the target physical location indicated by the location indication information of the requested data value in the read request sent by the host through the following steps:
1、控制器接收主机的读请求,该读请求中包括请求数据的LPA;1. The controller receives a read request from the host, and the read request includes the LPA of the requested data;
2、控制器通过LPA-PPN映射表,确定读请求中LPA对应的PPN,并根据LPA对应的PPN确定LPA对应的page号、block号,channel号,CE号,die号以及plane号,根据LPA对应的page号确定LPA对应的layer号。2. The controller determines the PPN corresponding to the LPA in the read request through the LPA-PPN mapping table, and determines the page number, block number, channel number, CE number, die number, and plane number corresponding to the LPA according to the PPN corresponding to the LPA. The corresponding page number determines the layer number corresponding to the LPA.
3、控制器根据LPA对应的page号、block号,channel号,CE号,die号,plane号以及LPA对应的layer这些信息,确定存储区域与读电压模型的参数值的对应关系中,LPA对应的存储区域对应的目标读电压模型的参数值的存储位置;3. According to the information of the page number, block number, channel number, CE number, die number, plane number, and layer corresponding to the LPA corresponding to the LPA, the controller determines the correspondence between the storage area and the parameter value of the read voltage model, which corresponds to the LPA The storage location of the parameter value of the target read voltage model corresponding to the storage area of
4、控制器根据所确定的存储位置,从存储区域与读电压模型的参数值的对应关系中获取目标读电压模型的参数值。4. The controller obtains the parameter value of the target read voltage model from the corresponding relationship between the storage area and the parameter value of the read voltage model according to the determined storage location.
其中,如果LPA对应的page所在的存储区域对应多个读电压模型,则控制器根据LPA对应的page的物理位置,从对应的多个读电压模型的参数值中选择一个或多个读电压模型的参数。例如,对TLC NAND中的lower page进行读操作时,控制器的读操作策略配置为需要两个读电压进行读操作,此时控制器需要获取这两个读电压各自对应的读电压模型的参数值。Among them, if the storage area of the page corresponding to the LPA corresponds to multiple read voltage models, the controller selects one or more read voltage models from the parameter values of the corresponding multiple read voltage models according to the physical location of the page corresponding to the LPA Parameters. For example, when reading the lower page in TLC NAND, the read operation strategy of the controller is configured to require two read voltages for the read operation. At this time, the controller needs to obtain the parameters of the read voltage model corresponding to the two read voltages. value.
5、控制器根据LPA对应的layer号、读电压模型y=ax+b以及获取到的读电压模型参数值a和b计算LPA对应的page对应的读电压。5. 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.
由于非易失存储介质对应的读电压在受擦写次数、数据保留时间、读操作次数以及温度等多种因素的影响会发送漂移,因此为了进一步提高控制器所确定的读电压的准确性,控制器还要在线对非易失存储介质中存储区域对应的读电压模型的参数值进行更新,使得读电压模型的参数值能够准确地跟随非易失存储介质的读电压的变化而变化。具体地,当非易失存储介质中每个存储区域中的任意一个满足预设更新条件时,控制器更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。Since the read voltage corresponding to the non-volatile storage medium will drift due to multiple factors such as the number of erasing and writing, data retention time, number of read operations, and temperature, in order to further improve the accuracy of the read voltage determined by the controller, The controller also needs to update the parameter values of the read voltage model corresponding to the storage area in the nonvolatile storage medium online, so that the parameter values 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 non-volatile storage medium satisfies the preset update condition, the controller updates the 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. Parameter value.
其中,当满足预设条件时,控制器可以通过特定的在线读电压的优化算法(如在线电压搜索),确定该存储区域对应的有效读电压,并根据该有效读电压确定该存储区域对应的读电压模型的参数值,根据计算得到的读电压模型的参数值更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。其中,控制器动态更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值时,控制器可以主动的更新该存储区域对应的读电压模型的参数值,也可以被动的更新该存储区域对应的读电压模型的参数值。主动的更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值,或者被动的更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值,都可以保证存储区域与读电压模型的参数值的对应关系中读电压模型的参数值是动态更新的。下面分别对这两种方式进行详细说明。Among them, when the preset condition is met, the controller can determine the effective reading voltage corresponding to the storage area through a specific online reading voltage optimization algorithm (such as online voltage search), and determine the corresponding storage area according to the effective reading voltage The parameter value of the read voltage model is updated, and 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 is updated according to the calculated parameter value of the read voltage model. Wherein, when the controller dynamically 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, the controller can actively update the parameter value of the read voltage model corresponding to the storage area. It is also possible to passively update the parameter value of the read voltage model corresponding to the storage area. Actively update the corresponding relationship between the storage area and the parameter value of the read voltage model, or passively update the corresponding relationship between the storage area and the parameter value of the read voltage model. The parameter values of the read voltage model can ensure that the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model are dynamically updated. The two methods are described in detail below.
第一种、当所述控制器处于系统空闲时间窗或者满足预设更新周期时,所述控制 器确定所述每个存储区域中的任意一个对应的读电压下的第一出错参数;First, when the controller is in the system idle time window or meets the preset update period, the controller determines the first error parameter under the read voltage corresponding to any one of the storage areas;
当所述第一出错参数大于或等于第一阈值时,所述控制器更新所述存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。When the first error parameter is greater than or equal to the first threshold, 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.
其中,控制器处于系统空闲时间窗可以是指控制器处于空闲状态,该空闲状态可以理解为控制器的读写IO的负载低于某一特定值,从而控制器相对比较空闲。预设更新周期可以事先进行设置,且预设更新周期可以包括一个周期,也可以包括多个不同的周期。一个存储区域对应的预设更新周期的设置可以与该存储区域的使用状态相关(比如,PE次数和读操作次数),或者与非易失存储介质中包括的多个存储区域的平均使用寿命相关。比如,多个存储区域的平均使用寿命可以通过平均PE来表示,当平均PE较小(比如,生命早期)时可以使用较大的预设更新周期,当平均PE较大(比如,生命末期)时可以使用较小的预设更新周期。Wherein, the controller being in the system idle time window may mean that the controller is in an idle state, and the idle state may be understood as the load of the read and write IO of the controller is lower than a certain 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 multiple different periods. The setting of the preset update period corresponding to a storage area may be related to the use status of the storage area (for example, the number of PEs and the number of read operations), or the average service life of multiple storage areas included in the nonvolatile storage medium . For example, the average service life of multiple storage areas can be represented by the average PE. When the average PE is small (for example, early life), a larger preset update period can be used, and when the average PE is large (for example, the end of life) You can use a smaller preset update cycle.
另外,第一出错参数可以用于指示读取数据中的出错程度,第一出错参数可以是出错比特数或者比特误码率RBER。第一阈值可以是事先设置的容错门限,若第一出错参数小于第一阈值,则表示在容错范围之内,若第一出错参数大于或等于第一阈值,则表示不在容错范围之内。In addition, the 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 preset fault tolerance threshold. If the first error parameter is less than the first threshold, it means that it is within the fault tolerance range; if the first error parameter is greater than or equal to the first threshold, it means it is not within the fault tolerance range.
具体的,当控制器处于系统空闲时间窗或者满足预设更新周期时,控制器将存储区域与读电压模型的参数值的对应关系中当前存储的该存储区域对应的读电压模型的参数值计算得到的读电压值作为被检测的读电压,根据被检测的读电压,对该存储区域中包括的物理位置进行采样,获取被检测的读电压下的出错参数为第一出错参数。如果第一出错参数小于第一阈值,则控制器可以确定该存储区域对应的读电压有效,从而不对其进行更新。如果第一出错参数大于或等于第一阈值,则控制器可以确定该存储区域对应的读电压无效,需要对其进行更新。Specifically, when the controller is in the system idle time window or meets the preset update period, the controller calculates the parameter value of the read voltage model corresponding to the storage area currently stored in the corresponding relationship between the storage area and the parameter value of the read voltage model The obtained read voltage value is used as the detected read voltage, the physical location included in the storage area is sampled according to the detected read voltage, and the error parameter under the detected read voltage is acquired as the first error parameter. If the first error parameter is less than the first threshold, the controller can determine that the read voltage corresponding to the storage area is valid, so that it will not be updated. If the first error parameter is greater than or equal to the first threshold, the controller can determine that the read voltage corresponding to the storage area is invalid and needs to be updated.
当控制器对该存储区域对应的读电压模型的参数值进行更新时,控制器可以通过尝试的方法确定当前的有效读电压,比如,控制器可以按照电压逐步递增或递减的方式测试多个电压下的出错参数,将出错参数最小的读电压确定为当前的有效读电压,从而根据有效电压以及该存储区域对应的读电压模型,计算得到有效的读电压模型的参数值,将存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压替换为计算得到的有效的读电压模型的参数值,以实现对该存储区域对应的读电压模型的参数值的更新。When the controller updates the parameter values of the reading voltage model corresponding to the storage area, the controller can determine the current effective reading voltage by trying methods. For example, the controller can test multiple voltages in a stepwise increase or decrease manner. Under the error parameters, determine the reading voltage with the smallest error parameter as the current effective reading voltage, and then calculate the parameter values of the effective reading voltage model according to the effective voltage and the reading voltage model corresponding to the storage area. In the corresponding relationship of the parameter values of the voltage model, the read voltage corresponding to the storage area is replaced with the calculated parameter value of the effective read voltage model, so as to update the parameter value of the read voltage model corresponding to the storage area.
上述主动的更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值的方法中,控制器会在每个系统空闲时间窗内主动的更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值,或者在每个预设更新周期内主动的更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值,从而实现了每隔一段时间即对存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值更新一次。因此,主动的更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值,可以使得存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值处于动态更新的状态,从而保证存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值是实时有效的。In the above method of actively updating the parameter values of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model, the controller will actively update the parameters of the storage area and the reading voltage model in each system idle time window The parameter value of the read voltage model in the corresponding relationship of the value, or the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model actively updated in each preset update period, thereby realizing each After a period of time, the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model is updated once. Therefore, actively updating the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model can make the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model dynamic The updated state ensures that the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model is 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 a preset update cycle, it can be triggered by a timer interruption, and it can also be triggered by other forced signals to trigger the controller to actively update the The parameter value of the read voltage model corresponding to the storage area, and the specific forcing signal can be set in advance, which is not limited in the embodiment of the present application.
第二种、控制器被动的更新该存储区域对应的读电压模型的参数值,具体可以包括:当在该存储区域对应的读电压模型的参数值确定的读电压下,首次读取的请求数据的第二出错参数大于或等于第二阈值时,控制器更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值。Second, the controller passively updates the parameter value of the read voltage model corresponding to the storage area, which may specifically include: when the read voltage is determined by the parameter value of the read voltage model corresponding to the storage area, the first read request data When the second error parameter of is greater than or equal to the second threshold, 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.
其中,首次读取的请求数据是指控制器根据读电压管理中该存储区域对应的读电压,第一次从该存储区域中读取的请求数据,该请求数据是基于主机发送的读请求所获取的数据,并不是控制器主动的进行采样获取的数据。第二阈值可以与第一阈值相同,也可以与第一阈值不同。Among them, the request data read for the first time refers to the request data read from the storage area for the first time by the controller according to the read voltage corresponding to the storage area in the read voltage management. The request data is based on the read request sent by the host. The acquired data is not the data acquired by the controller actively sampling. The second threshold may be the same as the first threshold or 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 can determine that the parameter value of the read voltage model corresponding to the storage area is valid, so that it will not be updated. If the second error parameter is greater than or equal to the first threshold, the controller can 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 obtains the current effective read voltage during the process of updating the parameter value of the read voltage model corresponding to the storage area, it can also update according to the voltage gradually increasing or decreasing. The specific implementation process and the first The description in one method is consistent, and the details are not repeated here in the embodiment of the present application.
当控制器对存储区域与读电压模型的参数值的对应关系中多个存储区域对应的读电压进行更新时,控制器可以先确定出读电压模型的参数值无效的存储区域,之后,控制器可以仅对存储区域与读电压模型的参数值的对应关系中读电压模型的参数值无效的存储区域的读电压模型的参数值进行更新。在本申请实施例中,控制器在更新存储区域与读电压模型的参数值的对应关系中该存储区域对应的读电压模型的参数值时,通过先确定存储区域与读电压模型的参数值的对应关系中存储的该存储区域对应的读电压模型的参数值是否有效,并在确定其无效时进行更新,从而可以避免不必要的操作,进而节省了系统带宽和负载开销。When the controller updates the read voltages corresponding to multiple storage areas in the corresponding relationship between the storage area and the parameter values of the read voltage model, the controller can first determine the storage area where the parameter values of the read voltage model are invalid, and then the controller It is possible to update only the parameter value of the read voltage model of the storage area in which the parameter value of the read voltage model is invalid in the corresponding relationship between the storage area and the parameter value of the read voltage model. In the embodiment of the present application, when 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, it first determines the parameter value of the storage area and the read voltage model. Whether the parameter value of the read voltage model corresponding to the storage area stored in the corresponding relationship is valid, and is updated when it is determined that it is invalid, so that unnecessary operations can be avoided, thereby saving system bandwidth and load overhead.
上述被动的更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值的方法中,控制器会在存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值无效时,将其更新为当前的有效读电压模型的参数值,从而在每段时间内,当存储区域与读电压模型的参数值的对应关系中出现一个或者多个无效的读电压模型的参数值时,控制器都会对该一个或者多个读电压模型的参数值进行更新。因此,被动的更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值,可以使得存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值处于动态更新的状态,从而保证存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值是实时有效的。In the above method of passively updating the parameter values of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model, the controller will determine the value of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model. When the parameter value is invalid, update it to the parameter value of the current valid reading voltage model, so that in each period of time, when there are one or more invalid reading voltage models in the corresponding relationship between the storage area and the parameter value of the reading voltage model The controller will update the parameter values of the one or more reading voltage models. Therefore, passively updating the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model can make the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model be dynamic The updated state ensures that the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model is effective in real time.
为便于理解,通过图9a和图9b所示的处理流程,对控制器主动地更新存储区域与读电压模型的参数值的对应关系和被动地更新存储区域与读电压模型的参数值的对应关系的过程分别进行举例说明。For ease of understanding, through the processing flow shown in Figure 9a and Figure 9b, the controller actively updates the corresponding relationship between the storage area and the parameter value of the read voltage model and passively updates the corresponding relationship between the storage area and the parameter value of the read voltage model. The process is illustrated separately.
图9a为一种控制器主动地更新存储区域与读电压模型的参数值的对应关系的流程图,以控制器处于系统空闲时间窗为例。具体的,假设存储区域与读电压模型的参数值的对应关系中所有的读电压模型的参数值都需要更新,则当控制器处于系统空闲时间窗时, 控制器可以确定存储区域与读电压模型的参数值的对应关系中每个读电压模型的参数值下对应的出错参数,确定存储区域与读电压模型的参数值的对应关系中需要更新的读电压模型的参数值(比如,当其对应的出错参数小于第一阈值时则确定不需要更新,当其对应的出错参数大于或等于第一阈值时则确定需要更新),从而得到待更新读电压模型的参数值记录信息(即读电压管理信息中读电压无效的存储记录);控制器通过读电压模型的参数值更新的方法对待更新读电压模型的参数值记录信息进行更新。当全部的待更新读电压模型的参数值记录信息更新完成后结束,或者系统空闲时间窗结束。Fig. 9a is a flow chart in which the controller actively updates the corresponding relationship between the storage area and the parameter value of the read voltage model, taking the controller in the system idle time window as an example. Specifically, assuming that all the parameter values of the reading voltage model in the corresponding relationship between the storage area and the parameter value of the reading voltage model need to be updated, when the controller is in the system idle time window, the controller can determine the storage area and the reading voltage model The corresponding error parameter under the parameter value of each read voltage model in the corresponding relationship of the parameter value of the read voltage model, determine the parameter value of the read voltage model that needs to be updated in the corresponding relationship between the storage area and the parameter value of the read voltage model (for example, when it corresponds When the error parameter is less than the first threshold, it is determined that it does not need to be updated, and when the corresponding error parameter is greater than or equal to the first threshold, it is determined that it needs to be updated), so as to obtain the parameter value record information of the read voltage model to be updated (ie, read voltage management In the information, the reading voltage is invalid storage record); the controller updates the parameter value record information of the reading voltage model to be updated by the method of updating the parameter value of the reading voltage model. It ends when all the parameter value record information of the read voltage model to be updated is updated, or the system idle time window ends.
图9b为一种控制器被动地更新存储区域与读电压模型的参数值的对应关系的流程图。具体的,控制器接收到主机发送的读请求,根据读请求包括的位置指示信息,确定对应的读电压模型,并从存储区域与读电压模型的参数值的对应关系中获取对应的读电压模型的参数值,根据确定的读电压模型、读电压模型的参数值以及读请求中位置指示信息所指示的目标存储单元的标识计算得到对应的读电压,基于该读电压首次获取的请求数据失败(即首次读数据失败)时,将存储区域与读电压模型的参数值的对应关系中该读电压模型的参数值标记为无效的读电压模型的参数值,更新无效的读电压模型的参数值或结束。Fig. 9b is a flow chart in which the controller passively updates the corresponding relationship between the storage area and the parameter value of the read voltage model. Specifically, the controller receives the read request sent by the host, determines the corresponding read voltage model according to the position indication information included in the read request, and obtains the corresponding read voltage model from the corresponding relationship between the storage area and the parameter values of the read voltage model The corresponding read voltage is calculated according to the determined read voltage model, the parameter values of the read voltage model, and the identification of the target storage unit indicated by the position indication information in the read request, and the request data obtained for the first time based on the read voltage fails ( That is, when reading data fails for the first time), mark the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model as the parameter value of the invalid read voltage model, and update the parameter value of the invalid read voltage model or End.
需要说明的是,控制器确定存储区域与读电压模型的参数值的对应关系中无效的读电压模型的参数值的步骤,以及更新存储区域与读电压模型的参数值的对应关系中无效的读电压模型的参数值的步骤可以同步执行,也可以异步执行。也即是,控制器可以先确定存储区域与读电压模型的参数值的对应关系中所有无效的读电压模型的参数值,然后对所有无效的读电压模型的参数值逐一进行更新;或者,控制器每确定存储区域与读电压模型的参数值的对应关系中的一个无效的读电压模型的参数值后,即对该无效的读电压模型的参数值进行更新,然后再确定下一个无效的读电压模型的参数值进行更新,以此类推;或者,控制器一边确定存储区域与读电压模型的参数值的对应关系中无效的读电压模型的参数值,一边对已确定的无效的读电压模型的参数值进行更新,本申请实施例对此不作具体限定。It should be noted that the controller determines the step of invalid read voltage model parameter values in the corresponding relationship between the storage area and the read voltage model parameter value, and updates the invalid read value in the corresponding relationship between the storage area and the read voltage model parameter value. The steps of the parameter values of the voltage model can be executed synchronously or asynchronously. That is, the controller can first determine the parameter values of all invalid read voltage models in the corresponding relationship between the storage area and the parameter values of the read voltage model, and then update the parameter values of all invalid read voltage models one by one; or, control After the device determines the parameter value of an invalid read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model, it updates the parameter value of the invalid read voltage model, and then determines the next invalid read The parameter value of the voltage model is updated, and so on; or the controller determines the parameter value of the invalid read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model, and at the same time determines the invalid read voltage model The parameter value of is updated, which is not specifically limited in the embodiment of this application.
在实际应用中,当控制器更新存储区域与读电压模型的参数值的对应关系中的读电压模型的参数值时,若该存储区域与读电压模型的参数值的对应关系驻留在内存等快速存储介质中,则需要在非易失性存储介质中作备份,当系统初始化时,将该存储区域与读电压模型的参数值的对应关系从非易失性存储介质导入快速存储介质已完成初始化。或者,控制器将存储区域与读电压模型的参数值的对应关系直接存储在同时具备快速存取和非易失特性的存储介质中。In practical applications, when the controller updates the parameter value of the read voltage model in the corresponding relationship between the storage area and the parameter value of the read voltage model, if the corresponding relationship between the storage area and the parameter value of the read voltage model resides in the memory, etc. In the fast storage medium, it is necessary to make a backup in the non-volatile storage medium. When the system is initialized, the corresponding relationship between the storage area and the parameter value of the read voltage model is imported from the non-volatile storage medium to the fast storage medium. initialization. Alternatively, the controller directly stores the corresponding relationship between the storage area and the parameter value of the read voltage model in a storage medium that has both fast access and non-volatile characteristics.
具体地,在读电压模型为线性模型(y=ax+b)的场景下,控制器主动地更新存储区域与读电压模型的参数值的对应关系中读电压模型的参数值和被动地更新存储区域与读电压模型的参数值的对应关系中读电压模型的参数值的过程中,可以通过以下方式计算得到有效的读电压模型的参数值,如图10所示:Specifically, in a scenario where the read voltage model is a linear model (y=ax+b), the controller actively updates the parameter values of the read voltage model in the corresponding relationship between the storage area and the parameter values of the read voltage model and passively updates the storage area In the process of reading the parameter values of the voltage model in the corresponding relationship with the parameter values of the reading voltage model, the effective parameter values of the reading voltage model can be calculated in the following way, as shown in Figure 10:
S1001:设置用于计算有效的读电压模型的参数的中间参量Sum_N、Sum_XX、Sum_XY、Sum_X以及Sum_Y,以记录和处理读电压模型的参数值更新所需要的信息,在线更新开始时初始化为0。S1001: Set the intermediate parameters Sum_N, Sum_XX, Sum_XY, Sum_X, and Sum_Y used to calculate the parameters of the effective read voltage model to record and process the information required for the parameter value update of the read voltage model, and initialize to 0 at the beginning of the online update.
S1002:对非易失存储介质中采样样本的物理位置进行在线读电压搜索;其中,采样样本可以是离线预先配置的,也可以是在线随机产生的。S1002: Perform an online voltage reading search on the physical location of the sampled sample in the non-volatile storage medium; the sampled sample may be pre-configured offline or randomly generated online.
S1003:判断采样样本的读电压是否有效。S1003: Determine whether the read voltage of the sampled sample is valid.
其中,判断采样样本的读电压是否有效时,可以根据当前采样样本的读电压与其他采样样本的读电压的大小关系确定,例如当前采样样本的读电压明显大于或者明显小于其他采样样本的读电压时,认为当前采样样本的读电压是无效的。Among them, when judging whether the reading voltage of a sampled sample is valid, it can be determined according to the magnitude relationship between the reading voltage of the current sampled sample and the reading voltage of other sampled samples. For example, the reading voltage of the current sampled sample is significantly larger or significantly smaller than the reading voltage of other sampled samples. It is considered that the reading voltage of the current sample is invalid.
S1004:若采样样本的读电压有效,则进行读电压模型的参数值更新。将第i个有效采样样本的目标存储单元的编号记为Xi,其第j个读电压的取值记为Yij,更新进行读电压模型的参数值更新涉及的运算包括:S1004: If the read voltage of the sampled sample is valid, update the parameter value of the read voltage model. The number of the target memory cell of the i-th valid sampling sample is denoted as Xi, and the value of the j-th read voltage is denoted as Yij. The operations involved in updating the parameter values of the read voltage model include:
Sum_N++;Sum_N++;
Sum_XX+=Xi*Xi;Sum_XX+=Xi*Xi;
Sum_XY+=Xi*Yij;Sum_XY+=Xi*Yij;
Sum_X+=Xi;Sum_X+=Xi;
Sum_Y+=Yij;Sum_Y+=Yij;
S1005:若采样样本无效,则进行下一个采样样本的读电压在线搜索;S1005: If the sampling sample is invalid, perform an online search for the reading voltage of the next sampling sample;
S1006:完成读电压模型的参数对应的所有采样样本采样后,通过以下公式计算读电压模型的参数值,完成该读电压模型的参数值中第j个读电压对应的读电压模型的参数值更新:S1006: After completing the sampling of all sample samples corresponding to the parameters of the reading voltage model, calculate the parameter values of the reading voltage model by the following formula, and complete the parameter value update of the reading voltage model corresponding to the jth reading voltage among the parameter values of the reading voltage model :
Alpha=Sum_XX*Sum_N-Sum_X*Sum_X;Alpha=Sum_XX*Sum_N-Sum_X*Sum_X;
a=(Sum_XY*Sum_N-Sum_X*Sum_Y)/Alpha;a=(Sum_XY*Sum_N-Sum_X*Sum_Y)/Alpha;
b=(Sum_XX*Sum_Y-Sum_XY*Sum_X)/Alpha;b=(Sum_XX*Sum_Y-Sum_XY*Sum_X)/Alpha;
其中,“*”表示相乘,“/”表示相除。Among them, "*" means multiply, and "/" means divide.
当待更新的存储区域对应多个读电压模型的参数值,则针对每个读电压模型的参数值均执行上述步骤S1001至步骤S1006。其中,待更新的存储区域对应的多个读电压模型的参数值的更新过程可以按照设定的顺序依次进行,也可以同时并行进行。When the storage area to be updated corresponds to the parameter values of multiple read voltage models, the above steps S1001 to S1006 are executed for each parameter value of the read voltage model. Wherein, the updating process of the parameter values of the multiple read voltage models corresponding to the storage area to be updated may be performed sequentially according to a set sequence, or may be performed concurrently at the same time.
当控制器对一个存储区域中的数据执行重写或擦除操作后,擦写次数、数据保留时间、读操作次数等因素对读电压的影响会被重置,所以,控制器对一个存储区域中的数据执行重写或擦除操作后,还需要对该存储区域对应的读电压模型的参数值进行初始化。具体地,控制器在对一个存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为设定值,其中,该设定值为默认值(控制器中预先配置的)或者为预先配置的根据执行重写操作或擦除操作的存储区域的读电压特性确定的预设值。另外,控制器在对一个存储区域中的数据执行重写或擦除操作后,将执行重写操作或擦除操作的存储区域对应的读电压模型的参数值初始化为执行重写操作或擦除操作之前的值。When the controller performs rewriting or erasing operations on the data in a storage area, the influence of the number of erasing and writing, data retention time, and the number of read operations on the read voltage will be reset. Therefore, the controller affects a storage area. After the data in the storage area is rewritten or erased, the parameter values of the read voltage model corresponding to the storage area need to be initialized. Specifically, after the controller performs a rewriting or erasing operation on the data in a storage area, it initializes the parameter values of the read voltage model corresponding to the storage area where the rewriting operation or the erasing operation is performed to the set value, where: The set value is a default value (pre-configured in the controller) or a pre-configured preset value determined according to the read voltage characteristics of the storage area where the rewriting operation or the erasing operation is performed. In addition, after the controller performs a rewriting or erasing operation on the data in a storage area, it initializes the parameter values of the read voltage model corresponding to the storage area where the rewriting operation or erasing operation is performed to perform the rewriting operation or erasing operation. The value before the operation.
其中,控制器通常对一个存储区域中的所有数据执行重写操作或擦除操作。对于不同类型的非易失存储介质,有的非易失存储介质可以直接在存有数据的存储单元中写入数据,覆盖原来的数据,即直接执行重写操作,如RRAM、PCRAM、FRAM以及NRAM等;有的非易失存储介质需要先擦除存储单元中原来的数据,才可以写入新的数据,所以要先执行擦除操作,例如基于flash的非易失存储介质。Among them, the controller usually performs a rewriting operation or an erasing operation on all data in a storage area. For different types of non-volatile storage media, some non-volatile storage media can directly write data in the storage unit with data, overwrite the original data, that is, directly perform rewriting operations, such as RRAM, PCRAM, FRAM, and NRAM, etc.; some non-volatile storage media need to erase the original data in the storage unit before writing new data, so the erase operation must be performed first, such as flash-based non-volatile storage media.
通过上述方案,控制器能够根据主机发送的读请求中的请求数据的位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,并根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中获取目标存储区域对应 的目标读电压模型的参数值,进而可以根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压,其中,读电模型为关于目标存储单元的标识的函数。由于本申请实施例中,针对非易失存储介质中的不同存储区域对应不同的读电压模型的参数值,相当于将非易失存储介质对应的读电压模型划分为多个部分,每个部分用各自对应的读电压模型以及读电压模型的参数值表征,进而可以提高根据每个存储区域对应的读电压模型计算得到的读电压的准确性,降低读操作的延时。Through the above solution, the controller can determine 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 of the request data in the read request sent by the host, and according to the target storage area, Obtain the parameter value of the target read voltage model corresponding to the target storage area from the corresponding relationship between the parameter value of the storage area and the read voltage model, and then can be based on the target physical location of the target storage cell identification, target read voltage model and target read voltage The parameter value of the model determines the read voltage corresponding to the target physical location, where the read power model is a function of the identification of the target storage unit. In the embodiment of the present application, different storage areas in the non-volatile storage medium correspond to different parameter values of the read voltage model, which is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, each part Using the respective corresponding read voltage models and the parameter values of the read voltage models to characterize, in turn, 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 can be reduced.
另外,控制器根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压,控制器只需要存储不同存储区域对应的读电压模型的参数值,不需要存储具体的读电压数值,能够减少存储空间的开销。In addition, the controller determines the read voltage corresponding to the target physical location according to the identification 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 only needs to store the read voltages corresponding to different storage areas. The parameter value of the model does not need to store the specific reading voltage value, which can reduce the storage space overhead.
上述主要从各个设备之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个设备,例如主机和控制器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的设备及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。The foregoing mainly introduces the solutions provided by the embodiments of the present application from the perspective of interaction between various devices. It can be understood that, in order to realize the above-mentioned functions, each device, such as a host and a controller, includes a hardware structure and/or software module corresponding to each function. Those skilled in the art should easily realize that in combination with the equipment and algorithm steps of the examples described in the embodiments disclosed in this document, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
本申请实施例可以根据上述方法示例对控制器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiment of the present application may divide the controller into functional modules according to the foregoing method examples. For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
在采用对应各个功能划分各个功能模块的情况下,本申请实施例提供了上述实施例中所涉及的控制器的一种可能的结构示意图。如图11所示,存储控制器1100包括接收单元1101、处理单元1102以及发送单元1103。其中,其中,接收单元1101用于支持控制器执行图4所提供的数据读取方法中的步骤S401;处理单元1102用于支持控制器执行图4提供的数据读取方法中的步骤S402、步骤S403、步骤S404以及步骤S405中获取请求数据的过程、和/或用于本文所描述的技术的其他过程,例如,如图10所示的读电压模型的参数值更新过程(步骤S1001-S1006);发送单元1103用于支持控制器执行图4所提供的数据读取方法中步骤S405中将请求数据发送给主机的过程。具体描述参见上述实施例中的相关阐述,本申请实施例在此不再赘述。In the case of dividing each functional module corresponding to each function, the embodiment of the present application provides a possible schematic structural diagram of the controller involved in the foregoing embodiment. As shown in FIG. 11, the storage controller 1100 includes a receiving unit 1101, a processing unit 1102, and a sending unit 1103. Among them, the receiving unit 1101 is used to support the controller to perform step S401 in the data reading method provided in FIG. 4; the processing unit 1102 is used to support the controller to perform step S402 and steps in the data reading method provided in FIG. The process of obtaining request data in S403, step S404, and step S405, and/or other processes used in the technology described herein, for example, the parameter value update process of the read voltage model as shown in FIG. 10 (steps S1001-S1006) The sending unit 1103 is used to support the controller to execute the process of sending the request data to the host in step S405 in the data reading method provided in FIG. 4. For specific descriptions, refer to the relevant descriptions in the foregoing embodiments, and the embodiments of the present application will not be repeated here.
在硬件实现上,上述处理单元1102可以为处理器;接收单元1101可以为接收器,发送单元1103可以为发送器,接收器和发送器可以构成通信接口。In terms of hardware implementation, the foregoing processing unit 1102 may be a processor; the receiving unit 1101 may be a receiver, and the sending unit 1103 may be a transmitter, and the receiver and the transmitter may form a communication interface.
本申请实施例还提供了一种电子设备,具有图11所示的存储控制器的功能,具体可以是存储设备或者是通信设备等。参见图12,电子设备1200包括:通信接口1201、存储器1202以及控制器1203。通信接口1201、存储器1202以及控制器1203通过总线1204相互连接。在本申请的实施例中,控制器1203用于对电子设备1200的动作进行控制管理,例如,步骤S402、步骤S403、步骤S404以及步骤S405中获取请求数据的过程、和/或用于本文所描述的技术的其他过程,例如,如图10所示的读电压模型的参数值更新过程(步 骤S1001-S1006)。通信接口1201用于支持电子设备1200进行通信。存储器1202,用于存储电子设备2100的程序代码和数据。The embodiment of the present application also provides an electronic device having the function of the storage controller shown in FIG. 11, which may be 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 the embodiment of the present application, the controller 1203 is used to control and manage the actions of the electronic device 1200, for example, the process of obtaining request data in step S402, step S403, step S404, and step S405, and/or used in the process described herein. Other processes of the described technology, for example, the parameter value update process of the read voltage model as shown in FIG. 10 (steps S1001-S1006). The communication interface 1201 is used to support the electronic device 1200 to communicate. The memory 1202 is used to store program codes and data of the electronic device 2100.
其中,控制器1203可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1102也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线1204可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线1204可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Among them, the controller 1203 may be a central processing unit, a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof, which may Implement or execute various exemplary logical blocks, modules and circuits described in conjunction with the disclosure of this application. The processor 1102 may also be a combination that implements computing functions, for example, includes a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on. The bus 1204 may be a peripheral component interconnect standard (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1204 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent in FIG. 12, but it does not mean that there is only one bus or one type of bus.
本申请实施例还提供一种通信系统,该系统包括主机、控制器和非易失存储介质,非易失存储介质中包括多个存储区域,非易失存储介质包括一个或多个存储区域,每个存储区域包括多个非易失存储介质按照目标划分粒度划分得到的目标存储单元,读电压模型为关于目标存储单元的标识(如目标存储单元的编号)的函数。该通信系统可以为图2或者图3所示的系统。在本申请实施例中,主机可以用于非易失存储介质,以及向控制器发送读请求,以及接收控制器发送的请求数据;控制器可以用于管理,可以用于执行图4所提供的数据读取方法中控制器执行的步骤。控制器用于执行图4中的步骤S401-步骤S405,或者用于执行图10所示的读电压模型的参数值更新过程(步骤S1001-S1006),和/或本文所描述的技术的其他过程。具体过程参见上述图4或图10所示的实施例中的描述,本申请实施例在此不再赘述。An embodiment of the present application also provides a communication system, which includes a host, a controller, and a non-volatile storage medium, the non-volatile storage medium includes multiple storage areas, and the non-volatile storage medium includes one or more storage areas, Each storage area includes multiple 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 identification of the target storage unit (such as the number of the target storage unit). The communication system may be the system shown in FIG. 2 or FIG. 3. In the embodiment of the present application, the host can be used for non-volatile storage media, and send read requests to the controller, and receive request data sent by the controller; the controller can be used for management, and can be used to execute the data provided in Figure 4 The steps performed by the controller in the data reading method. The controller is used to perform steps S401 to 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 technology described herein. For the specific process, refer to the description in the embodiment shown in FIG. 4 or FIG. 10, and details are not described in the embodiment of the present application.
在本申请的另一实施例中,还提供一种计算机可读存储介质,该计算机存储介质上存储有计算机可执行指令,当该指令在计算机上运行时,使得该计算机执行上述图4所提供的数据读取方法。In another embodiment of the present application, a computer-readable storage medium is also provided. The computer-readable storage medium stores computer-executable instructions. When the instructions run on a computer, the computer executes the steps provided in Figure 4 above. The data reading method.
在本申请发明的另一实施例中,还提供一种计算机程序产品,该计算机程序产品计算机存储介质上存储有计算机可执行指令,该计算机可执行指令在被计算机调用时用于使该计算机执行上述图4所提供的数据读取方法。In another embodiment of the invention of the present application, a computer program product is also provided. The computer program product has computer-executable instructions stored on a computer storage medium. The computer-executable instructions are used to make the computer execute when called by a computer. The data reading method provided in Figure 4 above.
在本申请实施例中,控制器能够根据主机发送的读请求中的请求数据的位置指示信息所指示的目标物理位置,确定目标物理位置所在的目标存储区域对应的目标读电压模型,并根据目标存储区域,从存储区域与读电压模型的参数值的对应关系中获取目标存储区域对应的目标读电压模型的参数值,进而可以根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压,其中,读电模型为关于目标存储单元的标识的函数。由于本申请实施例中,针对非易失存储介质中的不同存储区域对应不同的读电压模型的参数值,相当于将非易失存储介质对应的读电压模型划分为多个部分,每个部分用各自对应的读电压模型以及读电压模型的参数值表征,进而可以提高根据每个存储区域对应的读电压模型计算得到的读电压的准确性,降低读操作的延时。In the embodiment of the present application, the controller can determine 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 of the request data in the read request sent by the host, and according to the target In the storage area, the parameter value of the target read voltage model corresponding to the target storage area is obtained from the corresponding relationship between the storage area and the parameter value of the read voltage model, and the target read voltage model and the target read voltage model can be identified according to the target physical location. The parameter value of the target read voltage model determines the read voltage corresponding to the target physical location, where the read power model is a function of the identification of the target storage unit. In the embodiment of the present application, different storage areas in the non-volatile storage medium correspond to different parameter values of the read voltage model, which is equivalent to dividing the read voltage model corresponding to the non-volatile storage medium into multiple parts, each part Using the respective corresponding read voltage models and the parameter values of the read voltage models to characterize, in turn, 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 can be reduced.
另外,控制器根据目标物理位置所在的目标存储单元的标识、目标读电压模型以及目标读电压模型的参数值,确定目标物理位置对应的读电压,控制器只需要存储不同存储区域对应的读电压模型的参数值,不需要存储具体的读电压数值,能够减少存储空间的开销。In addition, the controller determines the read voltage corresponding to the target physical location according to the identification 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 only needs to store the read voltages corresponding to different storage areas. The parameter value of the model does not need to store the specific reading voltage value, which can reduce the storage space overhead.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。This application is described with reference to flowcharts and/or block diagrams of methods, equipment (systems), and computer program products according to the embodiments of this application. It should be understood that each process and/or block in the flowchart and/or block diagram, and the combination of processes and/or blocks in the flowchart and/or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing equipment to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing equipment are generated It is a device that realizes the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device. The device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment. The instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. In this way, if these modifications and variations of the embodiments of this application fall within the scope of the claims of this application and their equivalent technologies, this application is also intended to include these modifications and variations.

Claims (36)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201980096783.9A CN113874942A (en) 2019-05-26 2019-05-31 Data reading method, storage controller and electronic equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/088460 2019-05-26
CN2019088460 2019-05-26

Publications (1)

Publication Number Publication Date
WO2020237637A1 true WO2020237637A1 (en) 2020-12-03

Family

ID=73552469

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/089569 WO2020237637A1 (en) 2019-05-26 2019-05-31 Data reading method, storage controller, and electronic device

Country Status (2)

Country Link
CN (1) CN113874942A (en)
WO (1) WO2020237637A1 (en)

Cited By (2)

* 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
CN114356218A (en) * 2021-12-07 2022-04-15 广州致存科技有限责任公司 Data error correction method, device and medium for Flash memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101740128A (en) * 2008-11-10 2010-06-16 三星电子株式会社 Nonvolatile semi-conductor memory device and method for calculating read voltage non-volatile semiconductor memory device
CN101847439A (en) * 2008-12-12 2010-09-29 三星电子株式会社 Access method of non-volatile memory device
US20130080858A1 (en) * 2011-09-28 2013-03-28 Sang Hoon Lee Method of reading data from a non-volatile memory and devices and systems to implement same
CN106981302A (en) * 2017-03-20 2017-07-25 记忆科技(深圳)有限公司 A kind of method of the optimal read voltage of rapid evaluation
CN107247636A (en) * 2017-06-06 2017-10-13 郑州云海信息技术有限公司 The method and device that data reconstruction optimizes in a kind of solid state hard disc

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101740128A (en) * 2008-11-10 2010-06-16 三星电子株式会社 Nonvolatile semi-conductor memory device and method for calculating read voltage non-volatile semiconductor memory device
CN101847439A (en) * 2008-12-12 2010-09-29 三星电子株式会社 Access method of non-volatile memory device
US20130080858A1 (en) * 2011-09-28 2013-03-28 Sang Hoon Lee Method of reading data from a non-volatile memory and devices and systems to implement same
CN103035294A (en) * 2011-09-28 2013-04-10 三星电子株式会社 Method of reading data from a non-volatile memory and devices and systems to implement same
CN106981302A (en) * 2017-03-20 2017-07-25 记忆科技(深圳)有限公司 A kind of method of the optimal read voltage of rapid evaluation
CN107247636A (en) * 2017-06-06 2017-10-13 郑州云海信息技术有限公司 The method and device that data reconstruction optimizes in a kind of solid state hard disc

Cited By (3)

* 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
CN114356218A (en) * 2021-12-07 2022-04-15 广州致存科技有限责任公司 Data error correction method, device and medium for Flash memory
CN114356218B (en) * 2021-12-07 2024-01-16 广州致存科技有限责任公司 Data error correction method, device and medium of Flash memory

Also Published As

Publication number Publication date
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
TWI660346B (en) Memory management method and storage controller
US11210210B2 (en) Read latency reduction method and apparatus
US10628082B2 (en) Data reading method and storage controller
US11231883B1 (en) Detecting last page written in multi-plane non-volatile memory
US11055000B2 (en) Apparatuses and methods for counter update operations
KR20220069543A (en) Storage system
US20200041355A1 (en) Adaptive throttling
US11921629B1 (en) Method and device for data storage
KR20200076431A (en) Operating method of memory controller and memory system, and memory system
WO2020237637A1 (en) Data reading method, storage controller, and electronic device
KR20200035630A (en) Memory system and operating method thereof
US20100023677A1 (en) Solid state storage system that evenly allocates data writing/erasing operations among blocks and method of controlling the same
US20240037027A1 (en) Method and device for storing data
CN113867640A (en) Memory polling method, memory storage device and memory control circuit unit
US20240028261A1 (en) Stack management in memory systems
US20230036841A1 (en) Storage devices, storage controllers, and operating methods of storage controllers
US20220300205A1 (en) Controller and operating method thereof
CN115328402A (en) Data caching method and device
US10698621B2 (en) Block reuse for memory operations
TWI670599B (en) Memory management method and storage controller
EP4174663A1 (en) Storage device and operation method thereof
US20230153237A1 (en) Method and device for storing data
US20230393749A1 (en) Method and device of storage data
KR20230023477A (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19930589

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19930589

Country of ref document: EP

Kind code of ref document: A1