WO2022099441A1 - Procédé de lecture de support de stockage, et dispositif associé - Google Patents

Procédé de lecture de support de stockage, et dispositif associé Download PDF

Info

Publication number
WO2022099441A1
WO2022099441A1 PCT/CN2020/127729 CN2020127729W WO2022099441A1 WO 2022099441 A1 WO2022099441 A1 WO 2022099441A1 CN 2020127729 W CN2020127729 W CN 2020127729W WO 2022099441 A1 WO2022099441 A1 WO 2022099441A1
Authority
WO
WIPO (PCT)
Prior art keywords
read
read voltage
voltage
page type
controller
Prior art date
Application number
PCT/CN2020/127729
Other languages
English (en)
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 CN202080102871.8A priority Critical patent/CN115803814A/zh
Priority to PCT/CN2020/127729 priority patent/WO2022099441A1/fr
Publication of WO2022099441A1 publication Critical patent/WO2022099441A1/fr

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention

Definitions

  • the present application relates to the field of data processing, and in particular, to a method for reading a storage medium and related devices.
  • a storage medium is a carrier for storing data, can record data information, and can save data information for a period of time.
  • commonly used storage media include memory sticks, smart media (smart media, SM) cards, floppy disks, hard disks, optical disks, and the like.
  • SM smart media
  • the storage medium needs to be read according to an appropriate read voltage, so as to obtain the data to be used.
  • a method of reading a storage medium is to store the optimal read voltage of each physical address in the read voltage management table (RVMT) of the controller.
  • RVMT read voltage management table
  • the controller needs to Select read voltages corresponding to different physical addresses to perform read operations.
  • the read voltage management table in the method stores the read voltage of each physical address, which requires a large storage space and occupies a high memory resource.
  • Embodiments of the present application provide a method for reading a storage medium and related equipment. By storing the correspondence between multiple management regions and multiple page types and read voltage indexes in a read voltage management table, as well as the relationship between the read voltage index and multiple Corresponding relationship between read voltages under page types, wherein at least one page type among multiple page types corresponds to multiple read voltages, thereby reducing memory resources used by the read voltage management table.
  • a first aspect of the embodiments of the present application provides a method for reading a storage medium, including:
  • one management area represents a physical space corresponding to at least one physical address in the storage medium.
  • the controller After receiving the read command sent by the host through the host-side interface, the controller can parse the read command and obtain the target physical address corresponding to the read command. After that, the controller can determine the management area and the target page type corresponding to the target physical address, respectively.
  • the physical address of the storage medium can be determined according to the codes corresponding to the physical addresses. These codes include die, plane, block and page.
  • a physical address can be represented as (die0, plane1) , block1, page20), which means that the physical address is the physical address of the 20th page in the 1st block under the 1st plane of the 0th particle.
  • a particle has two planes, each plane has 1000 to 2000 blocks, and there are multiple particles in the storage system, which will be determined according to the storage capacity of the storage system, which is not limited here.
  • the main basis for the controller to determine the target page type is the page code, and the mapping relationship between the page code and the page type is determined according to the performance of the storage medium.
  • the manner in which the controller determines the management area corresponding to the target address is related to the management granularity of the management area. Different management granularity, the code based on which the management area is determined is also different. If the management area is divided according to the unit of a single block, then the physical address corresponding to the same block code is the same management area.
  • the controller can determine the first read voltage index and the first read voltage corresponding to the first read voltage index in the read voltage management table stored locally by the controller according to the management area corresponding to the target physical address and the target page type. Finally, the controller executes the read command issued by the host according to the first read voltage to read data from the storage medium.
  • the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the corresponding relationship between the read voltage index and the read voltage under different page types. There are multiple read voltages corresponding to at least one page type among the multiple page types. Therefore, the first read voltage index may correspond to one read voltage or multiple read voltages.
  • the number of read voltage indexes corresponding to the read voltages stored in the read voltage management table is not unique, and at least one read voltage corresponding to the same page type in the second-level table may correspond to one read voltage index, or may correspond to A plurality of read voltage indexes, so that the read voltages stored in the read voltage management table can perform read operations on all physical addresses of the storage medium.
  • the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the corresponding relationship between the read voltage index and the read voltage under different page types.
  • the read voltage corresponding to at least one read voltage index is multiple read voltages corresponding to the same page type, so that the read voltages stored in the read voltage management table can perform read operations on all physical addresses of the storage medium, thereby reducing the read voltage.
  • the read voltage management table uses a two-level table structure, and the read voltage index is stored in the first-level table of the read voltage management table with a plurality of management
  • the correspondence between the area and a plurality of page types is stored in the second-level table of the read voltage management table, and the correspondence between the read voltage index and the read voltage under different page types is stored.
  • the multiple page types in the read voltage management table at least one page type corresponds to multiple read voltages.
  • the controller in combination with the first aspect or the first implementation manner of the first aspect, in the second implementation manner of the first aspect of the embodiments of the present application, if the controller fails to read data from the storage medium according to the first read voltage, it means that an error has occurred. In the case of read recovery, the existing read voltage in the read voltage management table is no longer applicable to the current situation, and the controller needs to update the read voltage management table.
  • the controller can update the read voltage management table in the following ways:
  • the controller can obtain the first read recovery voltage, which is the read voltage used when the read recovery is successful.
  • the manner in which the controller obtains the first-read recovery voltage is not the focus of the technical solution of the present application, and will not be introduced in detail here.
  • the controller may determine the second read recovery voltage according to the distance relationship between the first read recovery voltage and the read voltage stored in the second level table.
  • the read voltage management table is updated according to the determined second read recovery voltage.
  • the controller may update the read voltage management table.
  • the read voltage recorded in the read voltage management table is updated, so that the second level table of the read voltage management table stores less read voltages. The actual situation improves the flexibility of the technical solution.
  • the controller may, according to the distance relationship between the first read recovery voltage and the read voltage stored in the second level table, , and determine the second read recovery voltage for performing the read operation on the physical address where the read recovery occurs afterward.
  • the controller can determine that the second read voltage is the second read recovery voltage, where the second read voltage is the second read recovery voltage.
  • the page type corresponding to the voltage is the same as the page type corresponding to the first read recovery voltage.
  • the controller may determine the second read recovery voltage as the first read recovery voltage.
  • the distance between the first read recovery voltage and the read voltage stored in the second-level table satisfies a preset condition, which may be that the distance between the first read recovery voltage and the read voltage stored in the second-level table is less than or equal to the preset condition.
  • the threshold value is set, and the size of the preset threshold value is determined according to the allowable error range of the actual application. In practical applications, multiple second read voltages that meet the preset conditions may appear in the second-level table, and any one of them may be selected.
  • the selection method can be the first read voltage determined by the controller that satisfies the preset conditions, or the read voltage that is closest to the first read recovery voltage when the preset conditions are met, and can be based on the needs of practical applications.
  • the operation time can be reduced. If the read voltage closest to the first read recovery voltage is used, the error range can be reduced.
  • the controller may determine that the read voltage of a row in the second-level table is the second read voltage when the relationship between the first read recovery voltage and the read voltage stored in the second-level table satisfies a preset condition Read recovery voltage, the second read recovery voltage is used to perform the read operation on the physical address where the read recovery occurs. Within the allowable error range, use the read voltage stored in the second-level table to perform the read operation, which can avoid frequent read operations. Updating the second-level table simplifies the processing process and saves computing resources.
  • the second-level table of the read voltage management table further includes a page type count, and the page type count is used to indicate that a certain target is hit. The number of times of reading the voltage of the page type corresponding to a physical address.
  • the controller may update the read voltage management table in different ways according to different values of the second read recovery voltage.
  • the controller may determine the page type count corresponding to the second read voltage and the first row label corresponding to the second read voltage in the second level table. Then, the controller may update the page type count corresponding to the second read voltage, and the update method may be to increase the value of the page type count, thereby completing the update of the second-level table.
  • the controller can also update the first-level table in the read voltage management table. Since the physical address of the read operation has read recovery, the read voltage used for the read operation of the physical address in the future is actually the second read voltage. , so if the value of the first read voltage index still uses the previous value, it may correspond to an unsuitable read voltage. Therefore, the controller needs to update the first read voltage index, and update the value of the first read voltage index to the first row label.
  • the controller may update the value of the first read voltage index, so that the value of the first-level table in the first-level table is updated.
  • the read voltage index can always correspond to the appropriate read voltage in the second-level table, and the controller can use the optimal read voltage to perform the read operation, which improves the reliability of the technical solution of the present application.
  • the controller will trigger the swap-in and swap-out strategy to update the read voltage management table.
  • the second-level table of the read voltage management table also includes the page type count, and the controller can determine the target page type corresponding to the physical address where the read recovery occurs.
  • the first page type count with the smallest value of the page type count. Since read recovery occurs, and the read voltages stored in the second-level table before the update do not meet the preset conditions, it is necessary to replace the read voltage with the least hits in the second-level table with the second read recovery voltage, that is, replace The third read voltage corresponding to the first page type count is replaced with the second read recovery voltage.
  • the first page type count can no longer use the previous value, it needs to start accumulating again, and the controller also needs to update the value of the first page type count.
  • the updated value of the first page type count indicates that the storage medium is read by using the second read recovery voltage once.
  • the controller when the swap-in and swap-out strategy is triggered, can update the read voltage with the least hits in the second-level table to the second read recovery voltage, so that the read voltage stored in the read voltage management table It can be flexibly applied to a variety of practical situations, which improves the flexibility of the scheme.
  • the controller also needs to update the first-level table.
  • the update process is as follows:
  • the controller can determine the row number in the second-level table where the read voltage to be replaced is located, that is, the second row number. Since in the second-level table, the read voltage corresponding to the label in the second row has changed, the corresponding relationship between the read voltage index and the read voltage needs to be updated in the first-level table to be updated.
  • the update method is to first determine the read voltage index value of the second read voltage index of the second row number, and then update the second read voltage index value to a preset value.
  • the page type corresponding to the second read voltage index is the target page type. Since the read voltage value corresponding to the first read voltage index is changed due to read recovery, the controller also needs to update the first read voltage index value to the second row label.
  • the controller may update the first-level table, so that the read voltage in the first-level table
  • the index can always correspond to the appropriate read voltage in the second-level table, and the controller can use the optimal read voltage to perform the read operation, which improves the reliability of the technical solution of the present application.
  • the storage medium may be managed in advance according to the management granularity.
  • the management granularity can be a page of the storage medium or a block of the storage medium, which is selected according to the amount of memory resources, which is not specifically limited here.
  • a relatively rough management granularity can be used to divide the management area, for example, according to the unit of two blocks or three blocks, so as to further reduce the memory resources occupied by the reading voltage management table.
  • a finer management granularity can be used to divide the management area, such as a single block or half-block as a unit, so as to make the operation result more accurate.
  • the eighth implementation manner of the first aspect of the embodiments of the present application since in each storage unit of the storage medium, The data of each bit (bit) corresponds to the same page type.
  • the storage medium involved in the embodiments of the present application requires at least two page types, and at least one page type corresponds to at least two read voltages.
  • each storage unit in the storage medium provided by the embodiments of the present application stores at least two bits of data, and common storage media with this feature include NAND flash memory or NOR flash memory.
  • the NAND flash memory includes a multi-level cell (MLC), a triple-level cell (TLC), or a quadratic level cell (QLC), which is not specifically limited here.
  • MLC multi-level cell
  • TLC triple-level cell
  • QLC quadratic level cell
  • the storage medium includes NAND flash memory or NOR flash memory, which can be applied to different scenarios, which improves the practicability of the technical solution.
  • the first level table for reading the voltage management table includes the most Best voltage index storage (BVIT).
  • the second-level table for reading the voltage management table includes the voltage Lookup table (voltage look up table, VLUT).
  • the first-level table and the second-level table of the reading voltage management table may be specific optimal voltage subscript tables and voltage look-up tables, which improves the implementability of the solution.
  • the controller includes a universal flash storage (universal flash storage).
  • UFS universal flash storage
  • UFS devices often use NAND flash memory as a storage medium.
  • a second aspect of the embodiments of the present application provides a storage controller, including:
  • Processor memory, host side interface and storage medium side interface.
  • the memory is used to store the read voltage management table, wherein the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the read voltage index and the read voltage under different page types.
  • the corresponding relationship between the voltages, at least one page type in the multiple page types corresponds to multiple read voltages, and each management area in the multiple management areas is a physical space in the storage medium corresponding to at least one physical address.
  • the processor is used to:
  • the read voltage management table has a two-level table structure, wherein the first-level table of the read voltage management table stores the read voltage index with a plurality of management regions and a plurality of Corresponding relationship between page types, the second level table of the read voltage management table stores the corresponding relationship between read voltage indexes and read voltages under different page types, and at least one page type among multiple page types corresponds to multiple read voltages .
  • the processor is further configured to:
  • the first read recovery voltage is obtained. Then, according to the relationship between the first read recovery voltage and the read voltage stored in the second level table, the second read recovery voltage is determined. Finally, according to the second read recovery voltage, the read voltage management table to be updated is updated to obtain the read voltage management table.
  • the processor is used for:
  • the second read recovery voltage is determined to be the second read voltage, wherein the page type corresponding to the first read recovery voltage
  • the page type corresponding to the second read voltage is the same.
  • the second read recovery voltage is determined to be the first recovery read voltage.
  • the second-level table further includes a page type count, and the page type count is used to indicate a read voltage that hits a page type corresponding to a certain physical address number of times.
  • the processor is configured to update the page type count corresponding to the second read voltage in the to-be-updated second-level table when it is determined that the second read recovery voltage is the second read voltage, to obtain the second-level table.
  • the processor may also be configured to determine the first row label corresponding to the second read voltage, where the first row label is the row label of the second read voltage in the second-level table. Then, in the table of the first level to be updated, the index value of the first read voltage is updated to the label of the first row to obtain the table of the first level.
  • the second-level table further includes a page type count
  • the processor is used to:
  • the first page type count is determined in the second level table to be updated, where the first page type count is taken from the page type count corresponding to the target page type minimum value.
  • the third read voltage is then updated to the second read recovery voltage, wherein the third read voltage corresponds to the first page type count.
  • the processor is also used to update the value of the first page type count.
  • the processor is further configured to:
  • the second row label corresponding to the first page type count is determined, wherein the second row label is the row label of the first page type count in the second-level table.
  • a second read voltage index is determined, wherein the value of the second read voltage index is the second row label, and the page type corresponding to the second read voltage index is the target page type.
  • the value of the second read voltage index is updated to a preset value, and the first read voltage index value is updated to the second row label.
  • the multiple management areas are based on the management granularity of the storage medium. pre-divided.
  • the management granularity includes pages of the storage medium or blocks of the storage medium.
  • the eighth implementation manner of the second aspect of the embodiments of the present application since in each storage unit of the storage medium, The data of each bit corresponds to the same page type.
  • the storage medium involved in the embodiments of the present application requires at least two page types, and at least one page type corresponds to at least two read voltages.
  • each storage unit of the storage medium provided by the embodiments of the present application stores at least two bits of data, and common storage media with this feature include NOR flash memory or NAND flash memory.
  • the NAND flash memory includes MLC, TLC or QLC, which is not specifically limited here.
  • the first level table of the read voltage management table includes the most Optimal voltage subscript table.
  • the second-level table for reading the voltage management table includes the voltage Inquiry form.
  • the storage controller includes the controller in the UFS device .
  • UFS devices often use NAND flash memory as a storage medium.
  • a third aspect of the embodiments of the present application provides a device for reading a storage medium, including:
  • the processing unit is used to parse the read command and obtain the target physical address corresponding to the read command.
  • the determining unit is configured to determine, based on the target physical address, the management area and the target page type respectively corresponding to the target physical address.
  • the management area represents a physical space corresponding to at least one physical address in the storage medium.
  • the obtaining unit is configured to obtain the first read voltage index from the read voltage management table stored locally by the controller based on the management area and the target page type. Then, according to the first read voltage index, the first read voltage corresponding to the first read voltage index is obtained from the read voltage management table, wherein the read voltage management table stores the read voltage index and a plurality of management areas and a plurality of page types respectively. and the corresponding relationship between the read voltage index and the read voltages under multiple page types, and at least one page type in the multiple page types corresponds to multiple read voltages.
  • the processing unit is further configured to execute a read command according to the first read voltage to read data from the storage medium.
  • the read voltage management table has a two-level table structure, wherein the first-level table of the read voltage management table stores the read voltage index and a plurality of management Correspondence between regions and a plurality of page types, the second level table of the read voltage management table stores the correspondence between read voltage indexes and read voltages under different page types.
  • the device for reading a storage medium further includes an update unit.
  • the obtaining unit is further configured to obtain the first read recovery voltage if reading data from the storage medium fails according to the first read voltage.
  • the determining unit is further configured to determine the second read recovery voltage according to the relationship between the first read recovery voltage and the read voltage stored in the second level table.
  • the updating unit is further configured to update the read voltage management table to be updated according to the second read recovery voltage to obtain the read voltage management table.
  • the determining unit is specifically used for:
  • the second read recovery voltage is determined to be the second read voltage, wherein the page type corresponding to the first read recovery voltage
  • the page type corresponding to the second read voltage is the same.
  • the second read recovery voltage is determined to be the first recovery read voltage.
  • the second-level table further includes a page type count, and the page type count is used to indicate that a page corresponding to a certain physical address is hit. Type of read voltage times.
  • the updating unit is configured to update the page type count corresponding to the second read voltage in the second level table to be updated to obtain the second level table if it is determined that the second read recovery voltage is the second read voltage.
  • the updating unit can also be used to determine the first row label corresponding to the second read voltage, where the first row label is the row label of the second read voltage in the second level table. Then, in the table of the first level to be updated, the index value of the first read voltage is updated to the label of the first row to obtain the table of the first level.
  • the second-level table further includes a page type count.
  • the updating unit is configured to determine the first page type count in the second level table to be updated if it is determined that the second read recovery voltage is the first recovery read voltage, wherein the first page type count is in the corresponding target page type. The smallest value in the page type count. The third read voltage is then updated to the second read recovery voltage, where the third read voltage corresponds to the first page type count.
  • the update unit is also used to update the value of the first page type count.
  • the determining unit is further used for:
  • a second row label corresponding to the first page type count is determined, wherein the second row label is the row label of the first page type count in the second-level table. Then, in the first level table to be updated, the second read voltage index corresponding to the page type is determined, wherein the second read voltage index value is the second row label.
  • the updating unit is further configured to update the value of the second read voltage index to a preset value, and update the first read voltage index value to the second row label.
  • the multiple management areas are based on the management granularity of the storage medium.
  • the management granularity includes pages of the storage medium, or blocks of the storage medium.
  • the eighth implementation manner of the third aspect of the embodiments of the present application since in each storage unit of the storage medium, The data of each bit corresponds to the same page type.
  • the storage medium involved in the embodiments of the present application requires at least two page types, and at least one page type corresponds to at least two read voltages.
  • each storage unit in the storage medium provided by the embodiments of the present application stores data of at least two bits.
  • Common storage media with this feature include NAND flash memory or NOR flash memory, and NAND flash memory includes MLC, TLC, or QLC. Specifically, this There are no restrictions.
  • the storage medium includes NAND flash memory or NOR flash memory, which improves the practicability of the technical solution.
  • the first level table of the reading voltage management table includes the most Optimal voltage subscript table.
  • the second-level table for reading the voltage management table includes the voltage Inquiry form.
  • the device for reading the storage medium includes a UFS device. 's controller.
  • UFS devices often use NAND flash memory as a storage medium.
  • a fourth aspect of the present application provides a storage system, including:
  • controller includes the storage controller of the second aspect.
  • Each storage unit in the storage medium stores at least two bits of data.
  • the storage medium may be a NAND flash memory or a NOR flash memory, and the NAND flash memory includes MLC, TLC or QLC, which is not specifically limited here.
  • the storage system may be a storage system using the UFS storage specification.
  • a fifth aspect of the embodiments of the present application provides a chip system, the chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instruction to perform method of the first aspect.
  • the communication interface in the chip system may be an input/output interface, a pin or a circuit, or the like.
  • the chip system described above in the present application further includes at least one memory, and instructions are stored in the at least one memory.
  • the memory may be a storage unit inside the chip system, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
  • a sixth aspect of the embodiments of the present application provides a computer-readable storage medium, where a program is stored in the computer-readable storage medium, and when the computer executes the program, the method of the foregoing first aspect is performed.
  • a seventh aspect of the embodiments of the present application provides a computer program product.
  • the computer program product When the computer program product is executed on a computer, the computer executes the method of the foregoing first aspect.
  • FIG. 1 is a schematic diagram of an application scenario of a method for reading a storage medium in an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a method for reading a storage medium in an embodiment of the present application
  • FIG. 3 is another schematic flowchart of a method for reading a storage medium in an embodiment of the present application.
  • FIG. 4 is another schematic flowchart of a storage medium reading method in an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a storage medium reading device in an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a controller for reading data in an embodiment of the application.
  • FIG. 7 is a schematic structural diagram of a storage system in an embodiment of the present application.
  • Embodiments of the present application provide a method for reading a storage medium and related equipment.
  • the read voltage management table stores the correspondence between the read voltage index and multiple management regions and multiple page types, respectively, and the read voltage index and the corresponding relationship between the multiple page types. Correspondence between read voltages under different page types, wherein at least one page type in the multiple page types corresponds to multiple read voltages, so that the read voltages stored in the read voltage management table can perform all physical addresses of the storage medium. read operation, thereby reducing the memory resources occupied by the read voltage management table.
  • the storage medium involved in the embodiments of this application requires at least two page types, and at least one page type corresponds to at least two read Voltage. Therefore, the storage medium provided in this embodiment of the present application refers to a storage medium in which each storage unit stores at least two bits of data, including NAND flash memory, NOR flash memory, etc., which is not specifically limited here.
  • UFS device refers to a storage device that uses the universal flash storage specification, which includes a controller and NAND flash memory.
  • the universal flash storage specification increases the transmission frequency and achieves higher transmission bandwidth through more advanced serial signals. Therefore, UFS devices wide range of application.
  • the embodiments of the present application take a UFS device using a NAND flash memory as an example to introduce the technical solutions of the present application in detail.
  • the controller In response to the read command issued by the host, the controller will select an appropriate read voltage to read the NAND flash memory.
  • NAND flash memory often makes the optimal read voltage recorded in the controller can no longer successfully read data due to various reasons.
  • the controller will determine a read voltage that can successfully read data.
  • This process is the process of read recovery.
  • the process of read recovery is the process from the failure of reading to the successful reading of data by the controller in some ways.
  • the read voltage used in the read recovery may be called a read recovery voltage, a correctable voltage or an offset voltage, and the embodiment of the present application uses the term read recovery voltage.
  • the way to determine the read recovery voltage is related to the specific design of the controller.
  • the current mainstream products often use the method of dynamically estimating the read recovery voltage.
  • the read recovery voltage is often a value that cannot be accurately known in advance.
  • the specific method of determining the read recovery voltage is not the focus of the technical solution of the present application, and therefore, the embodiment of the present application will not be described in detail.
  • Data retention time is also one of the common causes of read recovery in NAND flash memory.
  • the data stored in the flash memory gradually disappears over time, the reason for the disappearance of the data is the escape of electrons in the floating gate.
  • the speed of electrons escaping the floating gate is proportional to the number of erasing, that is to say, the more the number of erasing, the faster the speed of electrons escaping, that is, the faster the data disappears.
  • Read disturb means that as the number of flash memory reads increases, the contents of similar memory cells in the same block will change, and electrons will continue to enter the floating gate, causing the data state of the memory cell to change. In this case, if the read operation of the NAND flash memory is still performed using the originally recorded read voltage, the result of read failure will occur.
  • the read operation and the write operation may be carried out separately and continuously under the condition of large temperature difference, for example, the read operation at 55°C is followed by the write operation at 25°C, and the same operation is repeated. read and write operations. It is also possible to repeat the read operation under gradually changing temperature, which is not specifically limited here.
  • FIG. 1 is a schematic diagram of an application scenario of the storage medium reading method provided by the embodiments of the present application.
  • a communication connection is established between the host 101 , the controller 102 and the NAND flash memory 103 for data transmission.
  • the host 101 may issue a read command to the controller 102, and after receiving the read command, the controller 102 parses the read command and obtains the target physical address for which the read operation is determined to be performed. Then, the management area and target page type corresponding to the target physical address are determined from the read voltage management table stored locally by the controller, so as to obtain the first read voltage index, and then the target physical address is determined from the read voltage management table. The first read voltage of the read operation, and finally a read command is issued to the NAND flash memory 103 .
  • the NAND flash memory 103 can perform a read operation according to the first read voltage, and then send the operation result to the controller 102 .
  • the controller 102 may send the operation result to the host 101 .
  • the controller 102 may receive the read command sent by the host through the host-side interface.
  • the interface type of the host-side interface is an input/output (in/out, I/O) interface.
  • the controller 102 issues a read command to the storage medium through the storage medium side interface.
  • the storage medium side interface is a NAND flash interface (NAND flash interface, NFI), and the NAND flash memory can pass the I/O
  • the interface receives a read command.
  • controller 102 and the NAND flash memory 103 can also be coupled in the same storage system.
  • NAND flash memory can be divided into different types, including single-level cell (SLC), multi-level cell (MLC), triple-level cell (tripe level cell, TLC) or quadratic level cell (quadratic level cell, QLC), etc.
  • SLC single-level cell
  • MLC multi-level cell
  • TLC tripe level cell
  • QLC quadratic level cell
  • each storage unit of the used storage medium stores at least two bits of data
  • the NAND flash memory is TLC as an example.
  • Each storage unit in the TLC stores 3-bit data.
  • the least significant bit (LSB), the central significant bit (CSB) and the most significant bit ( Most significant bit, MSB) three page types (page types) often need to use multiple read voltages, the number of read voltages is related to the configuration of the NAND flash memory, in a possible implementation, seven read voltages can be used voltage to complete the reading process. Among them, the read voltage corresponding to each page type is different, which is related to the configuration of the NAND flash memory.
  • the LSB can correspond to 1 or 2 read voltages
  • the CSB can correspond to 2 or 3 read voltages
  • the MSB can correspond to 2, 3
  • TLCs include "1-2-4" type TLC, "1-3-3” type TLC or "2-3-3” type TLC, these three numbers indicate the read voltage required to read LSB, CSB and MSB respectively Take “1-2-4" type TLC as an example, the meaning of "1-2-4" type is that LSB corresponds to 1 read voltage, CSB corresponds to 2 read voltages, and MSB corresponds to 4 read voltages.
  • the read voltage of each physical address needs to be stored in the read voltage management table, and the read voltage in the read voltage management table can only correspond to one physical address.
  • the process of reading data in the NAND flash memory by this method is described below by taking the "1-2-4" type TLC as an example.
  • each page type of a storage medium is the same, because in the same management area, each page type corresponds to the bit information of the same storage unit. If there are 1536 physical addresses in the "1-2-4" type TLC, among them, the page type corresponding to 512 physical addresses is LSB, the page type corresponding to 512 physical addresses is CSB, and the page corresponding to 512 physical addresses is The type is MSB. To perform a read operation on all physical addresses whose page type is CSB, 1024 read voltages need to be stored in the read voltage management table.
  • the "1-2-4" type TLC can be divided into several management areas according to the management granularity.
  • the size of the management granularity is selected according to the usage of memory resources.
  • the management granularity can be several blocks or several pages, which can be divided in units of single block or half block (sub-block), or can be It is divided according to the unit of single page or double page, and the selection is made according to the actual application needs, which is not limited here.
  • the management area can be divided in units of two blocks or three blocks, so that the number of divided management areas is small, and the memory resources occupied by the first-level table are further reduced. In the case of sufficient memory resources, the management area can be divided according to the unit of single block or half block, so as to reduce the error of reading data.
  • the embodiment of the present application takes the division of the management area in units of two blocks as an example for simple description.
  • each block can include 64 pages, which can be regarded as 64 physical addresses. If the "1-2-4" type TLC is divided into 4 management regions (regions), the obtained first-level table The contents shown in Table 1 can be included.
  • the horizontal headers of Table 1 indicate categories of page types, and the vertical headers indicate different management areas. According to Table 1, there are three page types in the same management area of the TLC, and the read voltage index can be determined according to the management area and the page type. Since Table 1 is the result obtained after the management area is divided in units of double blocks, if the 512 physical addresses corresponding to the CSB in the "1-2-4" type TLC are divided into 4 management areas, respectively Corresponding to index 0,1 , index 1,1 , index 2,1 and index 3,1 , then each read voltage index corresponds to 128 physical addresses. Next, the appropriate read voltage needs to be determined according to the read voltage stored in the second-level table.
  • the second level table may include the content shown in Table 2.
  • the corresponding row label of Table 2 is 0. , 1, 2 or 3 read voltages where the page type is CSB. If rB and rF are read voltages corresponding to CSB, then it can be determined that R n,3 and R n,5 are read voltages to be selected, where n is an integer from 0 to 3. Taking the read operation of the physical address corresponding to index 0,1 as an example, the read voltage determined by the controller in combination with Table 1 and Table 2 is the read voltage value corresponding to R 0,1 and R 0,5 .
  • the physical addresses are also divided, but 7 read voltages are stored in each management area, instead of the read voltage index determined according to the page type in the technical solution of the present application.
  • the memory resources occupied by the first-level table in the application embodiment are still relatively high.
  • the memory resources occupied by each read voltage and each read voltage index are the same.
  • Using the first-level table provided by this embodiment of the present application can save 57 % of memory resources.
  • QLC because the read voltage used for reading QLC is 15 and there are 4 page types, more memory resources can be saved, about 73%.
  • the read voltage stored in the second-level table of the read-voltage management table provided by the embodiment of the present application is determined according to experiments and has a wide range of applications.
  • the technical solution of the present application can also update the read voltage in the second-level table. , so that the read voltage stored in the second-level table can perform read operations on all physical addresses of the storage medium.
  • the specific update method will be described below.
  • the first-level table in this embodiment of the present application often has hundreds or thousands of rows, or even more, and the second-level table is usually within 32 or 64 rows, so that the second-level table The overall resource occupied is much smaller than that of the first-level table. Therefore, the second-level table structure adopted by the read voltage management table in the embodiment of the present application can save memory resources.
  • the following describes the method for reading the storage medium provided by the embodiment of the present application.
  • the method for reading the storage medium provided by the embodiment of the present application can be applied to the scenario shown in FIG. 1 .
  • use the read voltage in the read voltage management table to perform A read operation may fail to read data successfully.
  • the following describes the success and failure of reading.
  • FIG. 2 is an embodiment of a method for reading a storage medium in an embodiment of the present application, including:
  • the controller receives a read command.
  • the controller can establish a connection with the host, and receive the read command sent by the host through the host-side interface.
  • the connection established between the controller and the host may be a wireless connection or a wired connection, which is selected according to actual application needs, which is not specifically limited here.
  • the controller determines the target physical address corresponding to the read command.
  • the controller When the controller reads the NAND flash memory, it does not blindly read all the physical addresses, but determines the target physical address that needs to be read according to the read command issued by the host. After the controller receives the read command sent by the host, it can parse the read command to determine the target physical address corresponding to the read command, that is, in the NAND flash memory, the target corresponding to the data to be read this time. physical address.
  • the controller determines the first read voltage index.
  • the controller After the controller determines the first physical address corresponding to the read command, it can determine the first read voltage from the read voltage management table stored locally by the controller according to the management area corresponding to the target physical address and the target page type corresponding to the target physical address. index.
  • the physical address of the storage medium can be determined according to the codes corresponding to the physical addresses, and the codes include the codes of particles, planes, blocks and pages of the storage medium.
  • a physical address may be represented as (die0, plane2, block3, page10), which means that the physical address is the physical address of page 10 in block 3 under plane 2 of particle 0.
  • a particle has two planes, and each plane has 1000 to 2000 blocks.
  • There are multiple particles in the storage system which will be determined according to the storage capacity of the storage system. The larger the storage capacity, the more particles. , which is not specifically limited here.
  • the main basis for the controller to determine the target page type is the page code, and the mapping relationship between the page code and the page type is determined according to the performance of the storage medium.
  • mapping relationship between page code and page type can be as shown in Table 3:
  • an appropriate management granularity can be selected to divide the NAND flash memory into several management areas.
  • Each management area contains multiple physical addresses, and a management area can be regarded as a physical space that stores several physical addresses.
  • the management granularity can be a single block or a half block, or a double block or three blocks, which is determined according to the needs of practical applications, and is not specifically limited here.
  • the management area can be divided in units of two blocks or three blocks, so that the number of divided management areas is small, and the memory resources occupied by the first-level table are further reduced.
  • the management area can be divided according to the unit of single block or half block, so as to reduce the error of reading data.
  • the correspondence between the management area and the physical address is related to the management granularity. Different management granularities have different code names for determining the management area. For example, if the management area is divided according to a single block, the mapping relationship between the management area and the physical address can be shown in Table 4. For example, if the management area is divided according to the unit of two blocks, the mapping relationship between the management area and the physical address may be as shown in Table 5.
  • code management area block0 region0 block1 region1 block2 region2 block3 region3 block4 region4
  • the block code is block3
  • the page code is the physical address of page2
  • the corresponding management area is region3
  • the corresponding target page type is LSB.
  • code management area block0 block1 region0 block2, block3 region1 block4, block5 region2 block6, block7 region3 block8, block9 region4
  • the number of blocks in a storage medium is related to the performance and configuration of the storage medium.
  • a common storage medium has 1,000 to 2,000 blocks.
  • the technical solution of the present application does not affect the number of blocks in the storage medium. limit.
  • the block code is block3
  • the page code is the physical address of page2
  • the corresponding management region is region1
  • the corresponding target page type is LSB.
  • the first read voltage index is stored in the first level table of the read voltage management table.
  • the first level table of the read voltage management table a plurality of management areas and the correspondence between a plurality of page types and read voltage indexes are stored, and each read voltage index has a corresponding page type and a corresponding management area.
  • There will be multiple physical addresses in a management area and a page type will also correspond to multiple physical addresses.
  • the same management area and the same page type correspond to multiple physical addresses. , pointing to the same read voltage index.
  • the embodiment of the present application takes the first level table as the optimal voltage subscript table as an example.
  • the number of management areas stored in the optimal voltage subscript table is related to the management granularity of the NAND flash memory, and the management granularity may be based on several blocks Or several pages are divided, which can be divided according to single block or half block, or divided according to single page or double page, which is selected according to actual application needs, which is not limited here.
  • the determination of the management granularity is also related to the utilization rate of memory resources.
  • a relatively rough management granularity can be used to divide the management area, for example, it is divided in units of two blocks or three blocks. Further reduce the memory resources occupied by reading the voltage management table.
  • a finer management granularity can be used to divide the management area, such as a single block or half-block as a unit, so as to make the operation result more accurate.
  • the degree of fineness of the division of the management area can be determined according to the usage of memory resources, which improves the flexibility of the technical solution.
  • the optimal voltage subscript table may include the contents shown in Table 6:
  • the page type corresponding to the read voltage index 0,0 is LSB, and the corresponding management region is region0.
  • the controller determines whether the value of the first read voltage index is a preset value, and if so, executes step 205, and if not, executes step 206.
  • the controller may determine the value of the first read voltage index, and determine an appropriate read voltage according to the relationship between the value of the first read voltage index and the preset value.
  • the value of the read voltage index can be as shown in Table 7:
  • the controller uses the buffered read voltage to perform a read operation.
  • the controller may determine to use the buffered read voltage to perform the read operation.
  • the preset value can also be called the sentinel value, which can be preset manually.
  • the specific value of the preset value It can be larger than the largest row number in the second-level table of the reading voltage management table, or it can be The row number smaller than the smallest row number in the second-level table of the read voltage management table, as long as the value is different from any row number in the second-level table, which is not specifically limited here.
  • the preset values corresponding to different read voltage indexes may be the same or different, which are not specifically limited here.
  • the read voltage cached in the embodiment of the present application is the read voltage cached on the particle die, and each page type of each management area has its own cached read voltage, and these read voltages may be the same or different. , which indicates the read voltage used in the last read operation on the physical address corresponding to a certain page type in a certain management area. Due to the performance characteristics of the NAND flash memory, the voltage value can be cached on the die, and even when the read operation is performed for the first time, the voltage value will be cached on the die.
  • the controller determines the first read voltage corresponding to the first read voltage index.
  • the controller may determine the value of the first read voltage index, and determine the first read voltage corresponding to the first read voltage index from the second-level table.
  • the second-level table is a voltage look-up table as an example.
  • the voltage look-up table may include the contents shown in Table 8:
  • rA to rG represent physical addresses.
  • the physical addresses corresponding to each page type are different, so the read voltage corresponding to each page type is also different, which is related to the configuration of the NAND flash memory.
  • LSB can correspond to 1 or 2 read voltages
  • CSB can correspond to 2 or 3 read voltages
  • MSB can correspond to 2, 3 or 4 read voltages, there is no specific limitation here, according to the actual use of NAND flash memory
  • the configuration is determined, as long as a maximum of seven read voltages can be used to distinguish different page types.
  • R 0,0 to R 0,6 represent the read voltage with row number 1, and the initial value of the read voltage can be determined according to the performance of the NAND flash memory and the test results of multiple experiments. Due to the complex usage scenarios of UFS devices, NAND flash memory often has a coupling phenomenon due to data retention time, read interference or temperature changes, which makes the optimal read voltage change. Therefore, multiple groups of read voltages can be stored in the read voltage look-up table and updated according to actual application conditions.
  • the read voltage lookup table can store 32 rows of read voltages or 64 rows of read voltages, as long as the memory resources occupied by the second-level table are much smaller than those of the first-level table, which is not limited here.
  • the page type count includes LSB count, CSB count and MSB count, which represent the number of times of using the read voltage corresponding to a certain page type.
  • N 0,1 represents the number of read operations performed on the NAND flash memory using the read voltage corresponding to R 0,0 .
  • the initial value of the page type count is 0. If the controller uses the corresponding read voltage of a certain page type, the value of the page type count will be updated.
  • the update method can be used once, and the value is incremented by 1, or it can be used once, and the value is incremented by 10. The selection is made according to the needs of the actual application, as long as the value of the page type count increases every time it is used. It is sufficient that the values are the same, and there is no specific limitation here.
  • the read voltage is used once, and the page type count value corresponding to the read voltage is incremented by 1 as an example.
  • the controller may determine the read voltage index corresponding to the physical address of the read command according to Table 6. Then, according to Table 7, the value of the read voltage index is determined. Then, according to Table 8 and Table 9, the read voltage corresponding to the read voltage index is determined.
  • the first read voltage index is index 0,0 as an example, and with reference to Tables 6 to 9, the controller can determine that index 0,0 corresponds to R 0,0 and R 0,4 in the voltage lookup table the indicated read voltage.
  • the controller sets the first read voltage on the die.
  • the controller may set the first read voltage on the die.
  • the controller updates the read voltage management table.
  • the voltage management table needs to be read, and the update method may be to increase the page type count corresponding to the first read voltage.
  • the first read voltage index is index 0,0 as an example, and it can be known from Tables 3 to 6 that the page type count corresponding to index 0,0 is N 0,1 . If the controller uses the read voltage corresponding to index 0 , 0, the value corresponding to N 0 , 1 in the VLUT is incremented by 1, thereby completing the update of the read voltage management table.
  • the controller reads the NAND flash memory to perform a read operation according to the first read voltage.
  • the controller may use the first read voltage to perform a read operation on the NAND flash memory.
  • step 207, step 208 and step 209 do not have a necessary order.
  • step 207 can be executed first
  • step 208 can also be executed first
  • step 209 can also be executed first, which is not limited here. .
  • the controller receives the operation result, and sends the operation result to the host.
  • an operation result can be generated, and the operation result can be sent to the controller.
  • the controller After receiving the operation result, the controller can send the operation result to the host.
  • the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the corresponding relationship between the read voltage index and the read voltage under different page types.
  • the read voltage corresponding to at least one read voltage index is a plurality of read voltages corresponding to the same page type, so that the read voltage stored in the read voltage management table can perform read operations on all physical addresses of the storage medium, thereby reducing the read voltage. Manage the memory resources occupied by the table.
  • the value of the read voltage index can be a preset value.
  • the controller does not need to query the read voltage management table, and can directly obtain the read voltage from the die, which saves the steps of setting the read voltage and reduces the need for setting the read voltage. time cost incurred.
  • the controller uses a read voltage to perform a read operation, it will update the page type count corresponding to the read voltage once, which provides a basis for the update of the read voltage management table, making the update of the read voltage management table more in line with the needs of practical applications. Improve the flexibility of the program.
  • the controller can update the read voltage management table, so that it can adapt to various usage environments, which improves the flexibility of the technical solution.
  • FIG. 3 is an embodiment of a method for reading a storage medium in an embodiment of the present application, including:
  • the controller receives a read command
  • the controller determines the target physical address corresponding to the read command.
  • the controller determines a first read voltage index.
  • the controller determines whether the value of the first read voltage index is a preset value, and if so, executes step 305, and if not, executes step 307.
  • the controller uses the buffered read voltage to perform a read operation.
  • steps 301 to 305 are similar to steps 201 to 205 in the embodiment shown in FIG. 2 , and details are not repeated here.
  • the controller receives the operation result, and sends the operation result to the host.
  • the operation results received by the controller have various situations, which are described below:
  • the controller after the controller performs a read operation on the NAND flash memory according to the read voltage buffered on the die after step 305, the NAND flash memory generates an operation result, and sends the operation result to the controller. After receiving the operation result, the controller can send the operation result to the host.
  • the controller After the controller performs a read operation on the NAND flash memory using the first read voltage stored in the second-level table of the read voltage management table, if the read recovery does not occur at the physical address where the read operation is performed, the controller If the data is successfully read, the controller will also send the received operation result to the host.
  • the controller determines the first read voltage corresponding to the first read voltage index.
  • step 307 is similar to step 206 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • the controller reads the NAND flash memory to perform a read operation according to the first read voltage.
  • the controller may use the first read voltage to perform a read operation on the NAND flash memory.
  • the controller can also set the first read voltage on the die, and can also update the read voltage management table.
  • the setting and updating methods are the same as those in steps 207 and 208 in the embodiment shown in FIG. 2 . Similar, details are not repeated here.
  • the controller determines whether read recovery occurs at the target physical address, and if so, executes step 310, and if not, executes step 306.
  • the controller After the controller performs a read operation on the NAND flash memory according to the first read voltage, it can determine whether the target physical address corresponding to the read command has read recovery. If the read is successful, it means that the target physical address does not have read recovery. If the read fails, it means that the target physical address has read recovery.
  • the first read voltage is not the optimal read operation for the target physical address corresponding to the read command. Voltage.
  • the controller determines the first read recovery voltage.
  • the controller can determine the first read recovery voltage, which is the optimal read voltage of the target physical address.
  • the manner in which the controller determines the recovery voltage of the first reading is not the focus of the technical solution of the present application, so the embodiment of the present application does not introduce the process of obtaining the recovery voltage of the first reading in detail.
  • the controller determines whether the distance between the first read recovery voltage and the read voltage in the Xth row of the second-level table satisfies a preset condition, if yes, executes step 312, if not, executes step 315.
  • the controller can compare the distance between the first read recovery voltage and the read voltage of any row in the second-level table, so as to determine the second read recovery voltage for performing the read operation on the NAND flash memory, and According to the second read recovery voltage, the read voltage management table is updated using different update methods.
  • This embodiment takes the voltage look-up table VLUT as an example for detailed description.
  • the Xth row is used to represent any row in the VLUT, where X represents the row label of the VLUT, that is, the first row label corresponding to the second read voltage in the claim, and X is greater than or equal to 0 the integer.
  • 2 )/n), where U (u 1 , u 2 , .
  • the distance between the two groups of voltages may be less than the threshold value, or the distance between the two groups of voltages may be less than or equal to the threshold value.
  • the selection is made according to the needs of the actual application. There is no limitation here.
  • the first read recovery voltage with the read voltage stored in the VLUT can be compared in sequence from the 0th row to the last row in the VLUT table, or random but not repeated.
  • the comparison is performed in the order of comparison, or a read voltage that satisfies the condition is obtained in the VLUT, and the comparison is no longer performed, and the selection is made according to the needs of the actual application, which is not specifically limited here.
  • the read voltage of the Xth row which can be the first read voltage compared, or it can be the read voltage with the smallest distance from the first read recovery voltage among all the read voltages that meet the conditions. , and select it according to the actual application needs, which is not limited here.
  • the controller can determine that the second read recovery voltage is read voltage 1.
  • the controller determines the read voltage of the Xth row, and each way has different beneficial effects. If it is determined that the read voltage obtained from the first comparison is the second read recovery voltage, the number of comparisons can be reduced and computing resources can be saved. If it is determined that the second read recovery voltage is the read voltage with the smallest distance from the first read recovery voltage among all the read voltages that meet the conditions, the read voltage used for the read operation on the physical address corresponding to the read command is closer to the optimum. Reading the voltage can reduce the error and improve the accuracy of the technical solution.
  • the controller determines that the second read recovery voltage is the read voltage of the Xth row.
  • the controller may determine that the second read recovery voltage is the read voltage of the Xth row.
  • the controller may determine that the read voltage of a row in the second-level table is the second read voltage when the relationship between the first read recovery voltage and the read voltage stored in the second-level table satisfies a preset condition Read recovery voltage, the second read recovery voltage is used to perform the read operation on the physical address where the read recovery occurs. Within the allowable error range, use the read voltage stored in the second-level table to perform the read operation, which can avoid frequent read operations. Updating the second-level table simplifies the processing process and saves computing resources.
  • the controller updates the first-level table.
  • the controller may update the first level table.
  • the first-level table is an optimal voltage subscript table BVIT as an example for detailed description.
  • the update manner may be to update the value of the first read voltage index to X.
  • the management region for performing the read operation is region0
  • the page type corresponding to the management region is LSB
  • the value of the first read voltage index 0,0 is 0 as an example. If the second read recovery voltage is the read voltage of the first row, the value of index 0 , 0 needs to be updated to 1.
  • the controller may update the value of the first read voltage index, so that the value of the first-level table in the first-level table is updated.
  • the read voltage index can always correspond to the appropriate read voltage in the second-level table, and the controller can use the optimal read voltage to perform the read operation, which improves the reliability of the technical solution of the present application.
  • the controller updates the second-level table.
  • the controller may also update the VLUT by increasing the page type count corresponding to the Xth row.
  • the value of the page type count is increased by 10 as long as the read voltage of a certain page type in the Xth row is used, the value of the page type count value increases by the same value, according to the needs of the actual application. Make a selection, which is not limited here.
  • the page type corresponding to the management area is LSB
  • the Xth row is the 1st row
  • the page type count N 1 the value of 1 is 10
  • the update method is to use a certain page type in the Xth row every time.
  • the value of the page type count is increased by 1 as an example. If the read voltage of the Xth row is determined as the second read recovery voltage, the value of N 1,1 is updated to 11.
  • step 313 and step 314 do not have a necessary sequence. In practical applications, step 313 or step 314 may be performed first, as long as it is performed after step 312, which is not limited here.
  • the controller determines that the second read recovery voltage is the first read recovery voltage.
  • the controller can determine the first read voltage.
  • the second read recovery voltage is the first read recovery voltage.
  • the controller updates the read voltage management table.
  • the controller can trigger the swap-in and swap-out strategy to update the read voltage management table.
  • the controller receives the operation result of read recovery, and sends the operation result of read recovery to the host.
  • the controller may perform a read operation on the NAND according to the first read recovery voltage to obtain an operation result.
  • the controller can send the operation result to the host.
  • step 317 is not necessarily after step 314 or step 316, it can also be before step 314 or step 316, or before step 311, as long as it is after step 310, and the selection is made according to the needs of the actual application , which is not specifically limited here.
  • the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the corresponding relationship between the read voltage index and the read voltage under different page types.
  • the read voltage corresponding to at least one read voltage index is a plurality of read voltages corresponding to the same page type, so that the read voltage stored in the read voltage management table can perform read operations on all physical addresses of the storage medium, thereby reducing the read voltage. Manage the memory resources occupied by the table.
  • the controller can update the read voltage management table to make it applicable to various situations, improving flexibility of the program.
  • FIG. 4 is an embodiment of a method for reading a storage medium in an embodiment of the present application, including:
  • the controller determines the count of the first page type whose value is Y.
  • the controller can determine the page type corresponding to the physical address at which read recovery occurs, and then can determine the first page type count with a value of Y, where Y is counted in at least one page type corresponding to the page type The value in is the smallest, that is, the value of the first page type count in the claim.
  • the controller updates the type count of the first page.
  • the controller After the controller determines the first page type count, it can update the first page type count, and the update method can be to update the value of the first page type count to 1, or it can be to update the value of the first page type count. It is updated to 10, as long as the value can indicate that the first read recovery voltage is hit once.
  • step 3162 may be performed before step 3163, or may be performed after step 3163, as long as it is performed after step 3161, which is not specifically limited here.
  • the controller determines the row label Z where the first page type count is located.
  • the controller may determine the row number Z where the first page type count is located in the voltage look-up table, that is, the first row number in the claims.
  • the controller when the swap-in and swap-out strategy is triggered, can update the read voltage with the least hits in the second-level table to the second read recovery voltage, so that the read voltage stored in the read voltage management table It can be flexibly applied to a variety of practical situations, which improves the flexibility of the scheme.
  • the controller updates the read voltage of the Zth row.
  • the controller may update the read voltage of the Zth row after determining the row number Z where the first page type count is located.
  • the update manner may be to update the read voltage corresponding to the page type in the Zth row to the second read recovery voltage.
  • the controller updates the value of the first read voltage index.
  • the controller can determine the first read voltage index corresponding to the physical address where read recovery occurs in the optimal voltage subscript table. Due to the read recovery, the value of the first read voltage has changed, and the corresponding value in the voltage lookup table is The row number may also be changed, so the value of the first read voltage index needs to be updated.
  • the update manner may be to update the value of the first read voltage index to Z.
  • step 3164 can be executed first, or step 3165 can be executed first, or step 3164 and step 3165 can be executed at the same time, as long as it is executed after step 3163, There is no specific limitation here.
  • the controller determines the second read voltage index.
  • the controller can determine the second read voltage index, wherein the value of the second read voltage index is Z, and the second read voltage index corresponds to the page type in which read recovery occurs.
  • the controller updates the value of the second read voltage index.
  • the update manner may be to update the value of the index of the second read voltage to a preset value.
  • the above update process is briefly described by taking the read recovery of the LSB of region 0 as an example. Assuming that the row number corresponding to the page type count with the smallest value is 2, the value of index 2, 0 is 2, and the maximum row number of the VLUT is 64. Then, the controller can update the value of the first read voltage index index 0,0 to 2, and update the value of index 2,0 to the preset value 66, and can also in the second row of the VLUT, the LSB corresponds to The read voltage is updated to the read recovery voltage.
  • the controller may update the first-level table, so that the read voltage in the first-level table
  • the index can always correspond to the appropriate read voltage in the second-level table, and the controller can use the optimal read voltage to perform the read operation, which improves the reliability of the technical solution of the present application.
  • the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the corresponding relationship between the read voltage index and the read voltage under different page types.
  • the read voltage corresponding to at least one read voltage index is multiple read voltages corresponding to the same page type, so that the read voltages stored in the read voltage management table can perform read operations on all physical addresses of the storage medium, thereby reducing the read voltage.
  • the controller may update the read voltage with the least hits in the second-level table to the second read recovery voltage, so that The read voltage stored in the read voltage management table can be flexibly applied to various practical situations, which improves the flexibility of the scheme.
  • FIG. 5 is a schematic diagram of an apparatus for reading a storage medium 500 in an embodiment of the present application.
  • An embodiment of the apparatus for reading a storage medium 500 in the present application includes:
  • the processing unit 501 is configured to parse the read command and obtain the target physical address corresponding to the read command.
  • the determining unit 502 is configured to determine, based on the physical address, a management area and a target page type respectively corresponding to the target physical address, where the management area is a physical space in the storage medium corresponding to at least one physical address.
  • the obtaining unit 503 is configured to obtain the first read voltage index from the read voltage management table stored locally by the controller based on the management area and the target page type. Then, according to the first read voltage index, the first read voltage corresponding to the first read voltage index is obtained from the read voltage management table, wherein the read voltage management table stores the read voltage index and a plurality of management areas and a plurality of page types respectively. and the corresponding relationship between the read voltage index and the read voltage under different page types, at least one page type in the multiple page types corresponds to multiple read voltages.
  • the processing unit 501 is further configured to execute a read command according to the first read voltage to read data from the storage medium.
  • the read voltage management table has a two-level table structure, wherein the first level table of the read voltage management table stores the read voltage index and the relationship between the multiple management areas and the multiple page types, respectively. Corresponding relationship, the second level table of the read voltage management table stores the corresponding relationship between the read voltage index and the read voltage under different page types.
  • the storage medium reading apparatus 500 further includes an updating unit 504 .
  • the obtaining unit 503 is further configured to obtain the first read recovery voltage if the data read from the storage medium fails according to the first read voltage.
  • the determining unit 502 is further configured to determine the second read recovery voltage according to the relationship between the first read recovery voltage and the read voltage stored in the second level table.
  • the updating unit 504 is further configured to update the read voltage management table to be updated according to the second read recovery voltage to obtain the read voltage management table.
  • the determining unit 502 is specifically configured to:
  • the second read recovery voltage is determined to be the second read voltage, wherein the page type corresponding to the first read recovery voltage
  • the page type corresponding to the second read voltage is the same.
  • the second read recovery voltage is determined to be the first recovery read voltage.
  • the second-level table further includes a page type count, where the page type count is used to indicate the number of times the read voltage of the page type corresponding to a certain physical address is hit.
  • the updating unit 504 is configured to update the page type count corresponding to the second read voltage in the second level table to be updated to obtain the second level table if it is determined that the second read recovery voltage is the second read voltage.
  • the updating unit 504 can also use the first row label corresponding to the second read voltage, where the first row label is the row label of the second read voltage in the second level table. Then, in the table of the first level to be updated, the index value of the first read voltage is updated to the label of the first row to obtain the table of the first level.
  • the updating unit 504 is configured to, if it is determined that the second read recovery voltage is the first recovery read voltage, determine the first page type count in the second level table to be updated, wherein , the first page type count is the smallest among the page type counts corresponding to the target page type. The third read voltage is then updated to the second read recovery voltage, wherein the third read voltage corresponds to the first page type count. The updating unit 504 is further configured to update the value of the first page type count.
  • the determining unit 502 is further configured to:
  • a second row label corresponding to the first page type count is determined, wherein the second row label is the row label of the first page type count in the second-level table. Then, in the first-level table to be updated, a second read voltage index is determined, wherein the second read voltage index value is the second row label, and the page type corresponding to the second read voltage index is the target page type.
  • the updating unit 504 is further configured to update the value of the second read voltage index to a preset value, and update the value of the first read voltage index to the second row label.
  • the multiple management areas are pre-divided according to the management granularity of the storage medium, and the management granularity includes a page of the storage medium or a block of the storage medium.
  • each storage unit in the storage medium stores data of at least two bits, which may be NAND flash memory or NOR flash memory. Selection, which is not specifically limited here.
  • the first-level table of the read voltage management table includes an optimal voltage subscript table
  • the second-level table of the read voltage management table includes a voltage look-up table
  • the device for reading the storage medium includes a controller in the UFS device.
  • UFS devices often use NAND flash memory as a storage medium.
  • the device 500 for reading a storage medium can perform the operations performed by the controller in the foregoing embodiments shown in FIG. 1 to FIG. 4 , and details are not repeated here.
  • the controller 600 may include one or more processors (central processing units, CPU) 601 and a memory 602, and the memory 602 stores There is one or more applications or data.
  • processors central processing units, CPU
  • memory 602 stores There is one or more applications or data.
  • the memory 602 may be volatile storage or persistent storage.
  • the program stored in memory 602 may include one or more modules, each module may include a series of instructions to operate on the server.
  • the processor 601 may be arranged to communicate with the memory 602 to execute a series of instruction operations in the memory 602 on the controller 600 .
  • the controller 600 may also include one or more power supplies 605, one or more host-side interfaces 603, one or more storage medium-side interfaces 604, and/or, one or more operating systems, such as Windows ServerTM, Mac OS XTM , UnixTM, LinuxTM, FreeBSDTM, etc.
  • one or more operating systems such as Windows ServerTM, Mac OS XTM , UnixTM, LinuxTM, FreeBSDTM, etc.
  • the memory 602 is used to store a read voltage management table, where the read voltage management table stores the corresponding relationship between the read voltage index and multiple management areas and multiple page types, and the read voltage index and the read voltage under different page types. At least one page type in the multiple page types corresponds to multiple read voltages, and each management area in the multiple management areas is a physical space in the storage medium corresponding to at least one physical address.
  • Processor 601 for:
  • the read command received through the host-side interface 603 is parsed to obtain the target physical address corresponding to the read command. Then, based on the target physical address, the management area and target page type respectively corresponding to the target physical address are determined. After that, based on the management area and the target page type, the first read voltage index is obtained from the read voltage management table. Then, according to the first read voltage index, the first read voltage corresponding to the first read voltage index is obtained from the read voltage management table. Finally, according to the first read voltage, a read command is issued to the storage medium through the storage medium side interface 604 to read data from the storage medium.
  • the read voltage management table has a two-level table structure, wherein the first level table of the read voltage management table stores the correspondence between a plurality of management regions and a plurality of page types and the read voltage index
  • the second level table of the read voltage management table stores the corresponding relationship between the read voltage index and the read voltages under multiple page types, and at least one page type in the multiple page types corresponds to multiple read voltages.
  • the processor 601 is further configured to:
  • the first read recovery voltage is obtained. Then, according to the relationship between the first read recovery voltage and the read voltage stored in the second level table, the second read recovery voltage is determined. Finally, according to the second read recovery voltage, the read voltage management table to be updated is updated to obtain the read voltage management table.
  • the processor 601 is configured to:
  • the second read recovery voltage is determined to be the second read voltage, wherein the page type corresponding to the first read recovery voltage
  • the page type corresponding to the second read voltage is the same.
  • the second read recovery voltage is determined to be the first recovery read voltage.
  • the second-level table further includes a page type count, where the page type count is used to indicate the number of times the read voltage of the page type corresponding to a certain physical address is hit.
  • the processor 601 is configured to update the page type count corresponding to the second read voltage in the to-be-updated second-level table to obtain the second-level table when it is determined that the second read recovery voltage is the second read voltage.
  • the processor 601 may also be configured to determine the first row label corresponding to the second read voltage, where the first row label is the row label of the second read voltage in the second level table. Then, in the table of the first level to be updated, the index value of the first read voltage is updated to the label of the first row to obtain the table of the first level.
  • the second level table further includes a page type count
  • the processor 601 is configured to, if it is determined that the second read recovery voltage is the first recovery read voltage, determine the first page type count in the second level table to be updated, where the first page type count corresponds to the target page type. The smallest value in the count of page types. The third read voltage is then updated to the second read recovery voltage, wherein the third read voltage corresponds to the first page type count. The processor is also used to update the value of the first page type count.
  • the processor 601 is further configured to:
  • the second row label corresponding to the first page type count is determined, wherein the second row label is the row label of the first page type count in the second-level table.
  • a second read voltage index is determined, wherein the value of the second read voltage index is the second row label, and the page type corresponding to the second read voltage index is the target page type.
  • the value of the second read voltage index is updated to a preset value, and the first read voltage index value is updated to the second row label.
  • the multiple management areas are pre-divided according to the management granularity of the storage medium.
  • the management granularity includes pages of the storage medium or blocks of the storage medium.
  • each storage unit in the storage medium stores data of at least two bits, which may be NAND flash memory or NOR flash memory. Selection, which is not specifically limited here.
  • the first-level table of the read voltage management table includes an optimal voltage subscript table
  • the second-level table of the read voltage management table includes a voltage look-up table
  • the device for reading the storage medium includes a controller in the UFS device.
  • UFS devices often use NAND flash memory as a storage medium.
  • FIG. 7 is a schematic structural diagram of the storage system 700 in an embodiment of the present application.
  • Storage system 700 including:
  • the controller 701 can perform the operations performed by the controller in the embodiments shown in FIG. 1 to FIG. 4, the operations performed by the device for reading the storage medium in the embodiment shown in FIG. 5, or the implementation shown in FIG. 6. The operations performed by the processor in the example will not be repeated here.
  • Each storage unit in the storage medium 702 stores at least two bits of data.
  • the storage medium 702 includes NOR flash memory or NAND flash memory, and the NAND flash memory includes MLC, TLC or QLC.
  • the storage system may be a storage system using the UFS storage specification.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Read Only Memory (AREA)

Abstract

Procédé de lecture d'un support de stockage, et dispositif associé. Une pluralité d'adresses physiques dans la même région de gestion et du même type de page dans une table de gestion de tension de lecture présentent le même indice de tension de lecture, et des tensions de lecture correspondant à au moins un indice de tension de lecture sont une pluralité de tensions de lecture correspondant au même type de page, de sorte que des ressources de mémoire peuvent être économisées. Le procédé des modes de réalisation de la présente demande comprend les étapes suivantes : un dispositif de commande détermine, en fonction d'un premier indice de tension de lecture correspondant à une adresse physique, une première tension de lecture correspondant au premier indice de tension de lecture, et réalise une opération de lecture sur un support de stockage en fonction de la première tension de lecture. La table de gestion de tension de lecture stocke des corrélations entre des indices de tension de lecture et une pluralité de régions de gestion et entre les indices de tension de lecture et une pluralité de types de page, et des corrélations entre les indices de tension de lecture et les tensions de lecture dans différents types de pages.
PCT/CN2020/127729 2020-11-10 2020-11-10 Procédé de lecture de support de stockage, et dispositif associé WO2022099441A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080102871.8A CN115803814A (zh) 2020-11-10 2020-11-10 一种存储介质的读取方法以及相关设备
PCT/CN2020/127729 WO2022099441A1 (fr) 2020-11-10 2020-11-10 Procédé de lecture de support de stockage, et dispositif associé

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/127729 WO2022099441A1 (fr) 2020-11-10 2020-11-10 Procédé de lecture de support de stockage, et dispositif associé

Publications (1)

Publication Number Publication Date
WO2022099441A1 true WO2022099441A1 (fr) 2022-05-19

Family

ID=81600709

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/127729 WO2022099441A1 (fr) 2020-11-10 2020-11-10 Procédé de lecture de support de stockage, et dispositif associé

Country Status (2)

Country Link
CN (1) CN115803814A (fr)
WO (1) WO2022099441A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115793991A (zh) * 2023-01-20 2023-03-14 苏州浪潮智能科技有限公司 一种数据的读取方法、装置、电子设备及可读存储介质
CN116564391A (zh) * 2023-03-17 2023-08-08 平头哥(上海)半导体技术有限公司 存储控制芯片、固态硬盘和闪存读电压确定方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130185612A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Flash memory system and read method of flash memory system
CN106057243A (zh) * 2016-05-27 2016-10-26 华为技术有限公司 应用读参考电压确定方法及装置
CN106448737A (zh) * 2016-09-30 2017-02-22 北京忆芯科技有限公司 读取闪存数据的方法、装置以及固态驱动器
CN108735253A (zh) * 2017-04-20 2018-11-02 三星电子株式会社 非易失性存储器存储系统
CN110007861A (zh) * 2019-03-29 2019-07-12 新华三技术有限公司 一种数据读取方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130185612A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Flash memory system and read method of flash memory system
CN106057243A (zh) * 2016-05-27 2016-10-26 华为技术有限公司 应用读参考电压确定方法及装置
CN106448737A (zh) * 2016-09-30 2017-02-22 北京忆芯科技有限公司 读取闪存数据的方法、装置以及固态驱动器
CN108735253A (zh) * 2017-04-20 2018-11-02 三星电子株式会社 非易失性存储器存储系统
CN110007861A (zh) * 2019-03-29 2019-07-12 新华三技术有限公司 一种数据读取方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115793991A (zh) * 2023-01-20 2023-03-14 苏州浪潮智能科技有限公司 一种数据的读取方法、装置、电子设备及可读存储介质
CN115793991B (zh) * 2023-01-20 2023-04-14 苏州浪潮智能科技有限公司 一种数据的读取方法、装置、电子设备及可读存储介质
CN116564391A (zh) * 2023-03-17 2023-08-08 平头哥(上海)半导体技术有限公司 存储控制芯片、固态硬盘和闪存读电压确定方法
CN116564391B (zh) * 2023-03-17 2024-03-01 平头哥(成都)半导体有限公司 存储控制芯片、固态硬盘和闪存读电压确定方法

Also Published As

Publication number Publication date
CN115803814A (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US11789860B2 (en) Logical to physical mapping management using low-latency non-volatile memory
KR101283289B1 (ko) 고체 상태 드라이브에서의 웨어 레벨링을 위한 방법 및 시스템
TWI437439B (zh) 用來以動態門檻進行區塊管理之方法及記憶裝置及控制器
US10698762B2 (en) Data reading method and storage controller
US9563498B2 (en) Method for preventing read-disturb errors, memory control circuit unit and memory storage apparatus
US11003587B2 (en) Memory system with configurable NAND to DRAM ratio and method of configuring and using such memory system
CN113015965A (zh) 基于小计写入计数器执行混合损耗均衡操作
US11763899B2 (en) Balanced three-level read disturb management in a memory device
WO2022099441A1 (fr) Procédé de lecture de support de stockage, et dispositif associé
US20200225882A1 (en) System and method for compaction-less key-value store for improving storage capacity, write amplification, and i/o performance
US9418731B1 (en) Memory management method, memory storage device and memory control circuit unit
CN110377233B (zh) Ssd读性能优化方法、装置、计算机设备及存储介质
US10740020B2 (en) Method, device and computer program product for managing disk array
CN113076218B (zh) Nvm芯片读数据错误快速处理方法及其控制器
US20190155726A1 (en) Garbage collection methods and memory systems for hybrid address mapping
JP2018163707A (ja) 半導体記憶装置及びそのリード制御方法
US11199991B2 (en) Method and apparatus for controlling different types of storage units
US9880930B2 (en) Method for operating controller and method for operating device including the same
CN114360612A (zh) 读取电压电平校正方法、存储器存储装置及控制电路单元
CN112764662B (zh) 用于存储管理的方法、设备和计算机程序产品
US11409599B2 (en) Managing probabilistic data integrity scans in workloads with localized read patterns
US11307766B2 (en) Apparatus and method and computer program product for programming flash administration tables
TWI749490B (zh) 寫入閃存管理表的電腦程式產品及方法及裝置
US10261715B2 (en) Storage space management method and apparatus
US20230409203A1 (en) Memory system and read method

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: 20961000

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: 20961000

Country of ref document: EP

Kind code of ref document: A1