WO2021102962A1 - 一种译码的方法、装置及控制设备 - Google Patents

一种译码的方法、装置及控制设备 Download PDF

Info

Publication number
WO2021102962A1
WO2021102962A1 PCT/CN2019/122113 CN2019122113W WO2021102962A1 WO 2021102962 A1 WO2021102962 A1 WO 2021102962A1 CN 2019122113 W CN2019122113 W CN 2019122113W WO 2021102962 A1 WO2021102962 A1 WO 2021102962A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
groups
read
page
error information
Prior art date
Application number
PCT/CN2019/122113
Other languages
English (en)
French (fr)
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 CN201980102172.0A priority Critical patent/CN114667570A/zh
Priority to PCT/CN2019/122113 priority patent/WO2021102962A1/zh
Publication of WO2021102962A1 publication Critical patent/WO2021102962A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Definitions

  • the embodiments of the present application relate to the field of solid-state hard disk control technology, and in particular, to a decoding method, device, and control device.
  • Solid State Drive also known as solid state drive, is a hard drive made of an array of solid-state electronic storage chips.
  • the storage media of solid-state hard disks include multiple types.
  • One of the storage media is flash memory.
  • the optimal read voltage of flash memory will vary with data storage time (Data Retention), read interference (Read Disturb), and the number of programs/erases (Program/Erase). , PE) and other factors such as temperature drift, so when reading data from the flash memory based on the original read voltage, read errors may occur. When a read error occurs, it is necessary to read data from the flash memory again after adjusting the read voltage.
  • the embodiments of the present application provide a decoding method, device, and control device, which can reduce the number of second read voltages that need to be decoded, thereby shortening the time for determining the optimal read voltage.
  • the first aspect of the embodiments of the present application provides a decoding method, which is applied to a controller of a solid-state hard disk, and includes:
  • the controller obtains the error information corresponding to each of the N groups of first data.
  • the N groups of first data are the data corresponding to the first page under the N groups of first read voltages.
  • the first page belongs to a data block in the solid state drive, where N is Positive integer.
  • the controller determines the decoding voltage range of the second page according to the error information corresponding to each of the N groups of first data and the N groups of first read voltages.
  • the second page belongs to the data block, and the second page can be the same page as the first page.
  • the second page and the second page may also be different pages.
  • the controller reads the second data from the second page according to the decoding voltage range, and decodes the second data.
  • the decoding voltage range is determined by the error information of the first data corresponding to the N groups of first read voltages and the N groups of first read voltages, and then the known second read voltages are filtered through the decoding voltage range to reduce The number of second reading voltages that need to be decoded is reduced, thereby shortening the time for determining the optimal reading voltage.
  • the embodiments of the present application also provide the first implementation manner of the first aspect.
  • N is an integer greater than 1
  • the controller acquiring the error information corresponding to each of the N sets of first data includes:
  • the controller acquires M groups of first data corresponding to the first page under the M groups of first read voltages
  • the controller determines the error information corresponding to each of the M groups of first data
  • the controller determines the error information corresponding to the first data in the NM group according to the error information corresponding to the first data in the M groups and the first read voltage in the M group.
  • the first data in the NM group is the first page under the first read voltage in the NM group Corresponding data.
  • This embodiment provides a feasible solution, which is to determine the error corresponding to each of the first data in the NM group according to the error information corresponding to each of the first data in the M group. information.
  • the embodiments of the present application also provide the second implementation manner of the first aspect.
  • the controller performs the error information and M groups corresponding to each of the M groups of first data.
  • the first reading voltage determines that the error information corresponding to the first data of the NM group includes:
  • the controller determines the first read voltage of the N-M group according to the error information corresponding to each of the first data of the M group and the first read voltage of the M group;
  • the controller reads N-M sets of first data from the first page according to the N-M sets of first read voltages, that is, a set of first read voltages corresponds to a set of first data;
  • the controller determines the error information corresponding to each of the N-M groups of first data.
  • This embodiment provides a feasible solution, that is, the first reading voltage of the NM group is determined according to the error information corresponding to the first data in the M group, so that NM The first reading voltage is closer to the optimal reading voltage, and then the error information corresponding to the first data of the NM group is determined according to the NM first reading voltage.
  • the embodiments of the present application also provide a third implementation manner of the first aspect.
  • the controller uses the error information corresponding to each of the M sets of first data and the M sets of The first reading voltage determines that the error information corresponding to the first data of the NM group includes:
  • the controller determines the first reading voltages of K groups according to the error information corresponding to the first data of the M groups and the first reading voltages of the M groups, and K is less than N-M;
  • the controller reads K groups of first data from the first page according to the K groups of first read voltages
  • the controller determines the error information corresponding to each of the K groups of first data
  • the controller determines the first reading voltage of the L group according to the error information corresponding to each of the K groups of first data, the error information corresponding to each of the M groups of first data, the K groups of first reading voltages, and the M groups of first reading voltages, where L is less than or Equal to NMK;
  • the controller reads L groups of first data from the first page according to the L groups of first read voltages
  • the controller determines the error information corresponding to each of the L groups of first data.
  • This embodiment provides another feasible solution, that is, first determine the first read voltage of the K groups according to the error information corresponding to the first data of the M groups. Make the K groups of first reading voltages closer to the optimal reading voltage, and then determine the error information corresponding to each of the K groups of first data, and then according to the error information corresponding to each of the K groups of first data and the error information of each of the M groups of first data. The first reading voltage of the L group is determined, so that the first reading voltage of the L group is further connected to the optimal reading voltage, and finally the error information corresponding to the first data of the L group is determined according to the first reading voltage of the L group.
  • the controller acquiring the M groups of first data corresponding to the first page under the M groups of first read voltages includes:
  • the controller reads M groups of first data from the first page according to the M groups of first read voltages.
  • the M groups of first data are directly read according to the M groups of first read voltages.
  • each group of first read voltages in the M groups of first read voltages includes multiple paired read voltages, that is, multiple paired read voltages are required to read the data in the first page;
  • the controller also needs to read the third data in at least one paired page according to the preset third read voltage, where the paired page and the first page belong to the same data block;
  • the acquisition by the controller of the first page of M groups of first data corresponding to the M groups of first read voltages includes:
  • the controller first reads H groups of first data from the first page according to the H groups of first read voltages, where H is less than M;
  • the controller determines the first reading voltage of the MH group according to the first reading voltage of the H group.
  • Each group of the first reading voltage of the MH group includes a plurality of paired reading voltages, and each pair of the MH group of first reading voltages
  • the read voltage includes a plurality of paired read voltages among the first read voltages of the M groups;
  • the controller finally determines the M-H group first data of the first page under the M-H group first read voltage according to the third data and the H group first data.
  • H data reads are performed according to the H groups of first read voltages, and finally M groups of first read voltages can be obtained, which reduces the number of times to read the first data, thereby further shortening the time for determining the optimal read voltage.
  • the controller determines that the error information corresponding to each of the M groups of first data includes:
  • the controller first decodes the M groups of first data, and then determines the error information corresponding to each of the M groups of first data according to the decoding result.
  • This embodiment provides a feasible solution for determining the error information corresponding to each of the M groups of first data.
  • the corresponding error information is determined according to the decoding result of the M groups of first data.
  • the controller determining the error information corresponding to each of the M groups of first data includes: the controller determining the error information corresponding to each of the M groups of first data according to the preset information in the first page.
  • This embodiment provides another feasible solution for determining the error information corresponding to each of the M groups of first data.
  • the information in the first page is known to the controller, it is only based on the M groups of information.
  • the first data can determine the corresponding error information, and there is no need to decode the M groups of first data, so the time for determining the optimal read voltage can be shortened.
  • the embodiments of the present application also provide an eighth implementation manner of the first aspect.
  • the controller acquiring the error information corresponding to each of the N sets of first data includes:
  • the controller first reads N sets of first data from the first page according to the N sets of first read voltages, and then the controller determines the error information corresponding to each of the N sets of first data.
  • This embodiment provides another feasible solution, which is to directly read the N groups of first data according to the N groups of first read voltages, and then determine the N groups of first data. Error information corresponding to each of the first data.
  • the examples of this application also provide in a ninth implementation manner of the first aspect, in this implementation manner, the controller reading the second data from the second page according to the decoding voltage range, and decoding the second data includes:
  • the controller reads the second data from the second page according to the decoding voltage range and the preset voltage set, and decodes the second data.
  • the voltage set includes multiple sets of second read voltages.
  • the voltage set includes multiple sets of second read voltages, and the multiple sets of second read voltages in the voltage set are filtered by the decoding voltage range, which can reduce the number of second read voltages that need to be decoded, thereby shortening Determine the time to read the optimal voltage.
  • the embodiment of the present application also provides a tenth implementation manner of the first aspect.
  • the decoding method further includes:
  • the controller determines the read recovery time according to the decoding voltage range
  • the controller reads the second data from the second page according to the decoding voltage range, and decodes the second data, including:
  • the controller reads the second data from the second page according to the read recovery time and the decoding voltage range, and decodes the second data.
  • the time of the entire decoding process is controlled by the read recovery time, thereby preventing the time for determining the optimal read voltage from being too long.
  • the second aspect of the embodiments of the present application provides a decoding device, which is applied to a controller of a solid-state hard disk, and includes:
  • the obtaining unit is used to obtain the error information corresponding to each of the N groups of first data.
  • the N groups of first data are the data corresponding to the first page under the N groups of first read voltages, and the first page belongs to a data block in the solid state hard disk. Where N is a positive integer;
  • the determining unit is configured to determine the decoding voltage range of the second page according to the error information corresponding to each of the N groups of first data and the N groups of first read voltages, and the second page belongs to the data block;
  • the decoding unit is used for reading the second data from the second page according to the decoding voltage range, and decoding the second data.
  • the embodiments of the present application also provide the first implementation manner of the second aspect, and the acquiring unit is configured to:
  • the error information corresponding to the first data of the NM group is determined.
  • the first data of the NM group corresponds to the first page under the first reading voltage of the NM group data.
  • the embodiments of the present application also provide the second implementation manner of the second aspect, and the acquiring unit is configured to:
  • an embodiment of the present application also provides a third implementation manner of the second aspect, and the acquiring unit is configured to:
  • the acquiring unit is configured to read M groups of first data from the first page according to the M groups of first read voltages.
  • Each group of first read voltages in the M groups of first read voltages includes a plurality of paired read voltages
  • Obtaining unit further configured to read third data in at least one paired page according to a preset third read voltage, and the paired page belongs to the same data block as the first page;
  • the acquisition unit is used to:
  • Each group of the first reading voltage of the MH group of first reading voltages includes a plurality of paired reading voltages, and each paired reading voltage of the MH group of first reading voltages includes A plurality of paired reading voltages in the first reading voltages of the M groups;
  • the first data of the M-H group of the first page under the first read voltage of the M-H group is determined.
  • the embodiment of the present application also provides the sixth implementation manner of the second aspect, and the acquiring unit is used for:
  • the error information corresponding to each of the M groups of first data is determined according to the decoding result.
  • the embodiment of the present application also provides the seventh implementation manner of the second aspect, and the second page and the first page are different pages;
  • the acquiring unit is configured to determine the error information corresponding to each of the M groups of first data according to the preset information in the first page.
  • the embodiments of the present application also provide an eighth implementation manner of the second aspect, and the acquiring unit is configured to:
  • the examples of this application also provide A ninth implementation manner of the second aspect.
  • the decoding unit is configured to read the second data from the second page according to the decoding voltage range and the preset voltage set, and perform processing on the second data.
  • the voltage set includes multiple sets of second read voltages.
  • the embodiment of the present application also provides a tenth implementation manner of the second aspect.
  • the determining unit is further configured to determine the read recovery time according to the decoding voltage range;
  • the decoding unit is used to read the second data from the second page according to the read recovery time and the decoding voltage range, and decode the second data.
  • a third aspect of the embodiments of the present application provides a control device, including: at least one processor and a memory, the memory stores computer-executable instructions that can run on the processor, and when the computer-executable instructions are executed by the processor, The control device executes the decoding method described in the foregoing first aspect or any one of the possible implementation manners of the first aspect.
  • the fourth aspect of the embodiments of the present application provides a chip or chip system.
  • the chip or chip system includes at least one processor and a communication interface.
  • the communication interface and the at least one processor are interconnected by wires, and the at least one processor is used to run computer programs or instructions. , To execute the decoding method described in the first aspect or any one of the possible implementation manners of the first aspect.
  • the communication interface in the chip can be an input/output interface, a pin, or a circuit.
  • the embodiments of the present application further provide the first implementation manner of the fourth aspect.
  • the chip or chip system described above in the embodiments of the present application further includes at least one memory, and the at least one memory stores instructions.
  • the memory may be a storage unit inside the chip, for example, a register, a cache, etc., or a storage unit of the chip (for example, a read-only memory, a random access memory, etc.).
  • the fifth aspect of the embodiments of the present application provides a computer storage medium, which is used to store computer software instructions used for the above-mentioned control device, and includes a program used to execute the control device.
  • the control device may be the decoding device described in the foregoing second aspect.
  • the sixth aspect of the embodiments of the present application provides a computer program product.
  • the computer program product includes computer software instructions that can be loaded by a processor to implement the first aspect or any possible implementation of the first aspect.
  • the method of decoding described in the method is described in the method.
  • the controller first obtains the error information corresponding to each of the N groups of first data.
  • the N groups of first data are the data corresponding to the first page under the N groups of first read voltages;
  • the error information corresponding to each of the N groups of first data and the N groups of first read voltages determine the decoding voltage range of the second page; finally, the controller reads the second data from the second page according to the decoding voltage range, and compares the second data to the second page.
  • the data is decoded; it can be seen that the embodiment of the present application first determines the decoding voltage range through the N groups of first read voltages and the error information of the N groups of first read voltages corresponding to the first data, and then determines the decoding voltage range through the decoding voltage range
  • the known second read voltages can be screened, which reduces the number of second read voltages that need to be decoded, thereby shortening the time for determining the optimal read voltage.
  • FIG. 1 is a schematic diagram of the architecture of a storage system in an embodiment of the application
  • FIG. 2 is a schematic diagram of voltage distribution when data writing is completed in an embodiment of the application
  • FIG. 3 is a schematic diagram of voltage distribution after a period of time after data writing is completed in an embodiment of the application
  • FIG. 4 is a schematic diagram of a flow of reading data from a flash memory array according to an embodiment of the application.
  • FIG. 5 is a schematic diagram of an embodiment of a decoding method in an embodiment of this application.
  • FIG. 6 is a schematic diagram of an embodiment of obtaining error information corresponding to each of N groups of first data in an embodiment of the application;
  • FIG. 7 is a schematic diagram of an embodiment of determining the error information corresponding to each of the N-M groups of first data in an embodiment of the application;
  • FIG. 8 is a schematic diagram of another embodiment of determining the error information corresponding to each of the N-M groups of first data according to an embodiment of the application;
  • FIG. 9 is a schematic diagram of an embodiment of acquiring M sets of first data in an embodiment of the application.
  • FIG. 10 is a schematic diagram of an embodiment of a decoding device in an embodiment of the application.
  • Fig. 11 is a schematic diagram of an embodiment of a control device in an embodiment of the application.
  • the embodiment of the present application may be applied to a storage system where a solid state drive is located.
  • FIG. 1 is a schematic diagram of the architecture of the storage system in the embodiment of the present application.
  • the storage system includes a host, an SSD controller, and a flash memory array.
  • the host can be connected to the front end of the SSD controller through various interfaces such as NVMe, SAS and PCIe, and the back end of the SSD controller can be connected to the flash memory array through the NFI interface.
  • the host can read or erase data in the flash memory array through the SSD controller, and can also write data to the flash memory array through the SSD controller.
  • the SSD controller After the SSD controller receives the data output request from the host, it reads the data in the flash memory array. In order to ensure the accuracy of the data reading, the optimal read voltage needs to be used for reading. However, the optimal read voltage will shift with data storage time, read interference, programming/erase times (and temperature and other factors). For example, please refer to Figures 2 and 3, where Figure 2 is an embodiment of the application. Fig. 3 is a schematic diagram of voltage distribution after data writing is completed for a period of time in the embodiment of the application. Comparing Fig. 2 and Fig. 3, it can be seen that the voltage distribution of some data has shifted Take data A, B, and C as examples.
  • an embodiment of the present application is a schematic diagram of a flow of reading data from a flash memory array.
  • the SSD controller When the SSD controller receives the data output request, it will first read the data according to the set read voltage. When the data read fails, it will enter the read recovery process, that is, continuously adjust the read voltage to read the data again.
  • an embodiment of the present application provides a decoding method, which filters the read voltages in the voltage set to reduce The number of read voltages used for decoding.
  • FIG. 5 is a schematic diagram of an embodiment of the decoding method in the embodiment of the present application.
  • an embodiment of the present application provides an embodiment of a decoding method, which is applied to a controller of a solid-state hard disk, and includes:
  • the controller obtains error information corresponding to each of the N groups of first data.
  • the N groups of first data are the data corresponding to the first page under the N groups of first read voltages.
  • a page belongs to a data block in a solid-state hard disk, and N is a positive integer; among them, a fixed hard disk can have multiple data blocks, and a data block can have multiple pages.
  • a set of first read voltages can include one read voltage, for example, the first read voltage can be expressed as 5V, can be expressed as 5.2V;
  • a reading voltage may also include multiple paired reading voltages.
  • a group of first reading voltages may be expressed as (5V, 5.2V), and a group of first reading voltages may also be expressed as (4.8V, 5V, 5.2V).
  • the embodiment of the present application does not limit the content of the error information.
  • the error information may include the range of the error data in the first data, and the error information may also include the number of bits of the error data in the first data.
  • the controller determines the decoding voltage range of the second page according to the error information corresponding to each of the N groups of first data and the N groups of first read voltages.
  • the second page belongs to the data block where the first page is located, and the second page can be the same page as the first page, that is, the controller can determine the first page according to the error information corresponding to each of the N groups of first data corresponding to the first page
  • the decoding voltage range because the read voltage of all pages in the same data block will be distributed regularly, for example, it can be linearly distributed, it can be piecewise linearly distributed, or it can be gradiently distributed, so the second page and the first page are also It can be different pages.
  • the controller can also determine the decoding voltage range of the first page according to the error information corresponding to the N groups of first data corresponding to the first page, and then determine the same according to the distribution law of all pages in the same data block.
  • the decoding voltage range of other pages in the data block because the read voltage of all pages in the same data block will be distributed regularly, for example, it can be linearly distributed, it can be piecewise linearly distributed, or it can be gradiently distributed, so the second page and the first page are also It can
  • the error information is the number of bits of the error data in the first data.
  • the 5 sets of first reading voltages are 4.8V respectively.
  • the number of bits of the error data in the corresponding first data is 300, 260, 180, 240, and 350. It can be seen that 5V The bit number of the error data in the corresponding first data is the smallest.
  • the bit number of the error data in the first data increases, so it can be considered that the number of bits in the first page
  • the optimal reading voltage is close to 5V, and the decoding voltage range can be determined to be 4.9V to 5.1V.
  • the process of determining the decoding voltage range of the second page is described above with only an example. As the specific conditions of the error information corresponding to each group of first data are different, the process of determining the decoding voltage range of the second page is also different. Different, the embodiments of this application will not be described in detail here.
  • the decoding voltage range can be an effective voltage range, and the effective voltage range can be understood as including the optimal read voltage.
  • the decoding voltage range can be an invalid voltage range, and the invalid voltage range can be understood as It is less likely to include the optimal read voltage.
  • the controller reads the second data from the second page according to the decoding voltage range, and decodes the second data.
  • the controller can read the second data according to the decoding voltage range, which is not limited in the embodiment of the present application.
  • the known second reading voltage can be filtered according to the decoding voltage range, and then the second data can be read according to the filtered second reading voltage, or the value can be obtained within the decoding voltage range to obtain The decoded second read voltage.
  • the decoding voltage range is determined by the error information of the N groups of first read voltages and the N groups of first read voltages corresponding to the first data, and then the known second read voltages can be filtered through the decoding voltage range. The number of second read voltages that need to be decoded is reduced, thereby shortening the time for determining the optimal read voltage.
  • FIG. 6 is a schematic diagram of an embodiment of obtaining error information corresponding to each of N groups of first data in an embodiment of the present application.
  • N is an integer greater than 1
  • the controller acquiring the error information corresponding to each of the N groups of first data includes:
  • the controller acquires M groups of first data corresponding to the first page under M groups of first read voltages.
  • the controller determines error information corresponding to each of the M groups of first data.
  • the controller determines the error information corresponding to the first data in the NM group according to the error information corresponding to the first data in the M groups and the first reading voltage in the M group.
  • the first data in the NM group is the first page in the first reading in the NM group. Corresponding data under voltage.
  • the purpose is to obtain the error information corresponding to each of the N groups of first data
  • the purpose of obtaining the N error information is to more accurately determine the decoding voltage range of the second page, so that the decoding voltage range is
  • the optimal read voltage is included as small as possible, so that the number of second read voltages that ultimately need to be read and decoded is less; therefore, the embodiment of the application combines the error information and M corresponding to each of the M groups of first data.
  • the first reading voltage of the group can determine the error information corresponding to the first reading voltage of the NM group closer to the optimal reading voltage and the first data of the NM group, thereby ensuring that the decoding voltage range is small and accurate.
  • FIG. 7 is a schematic diagram of an embodiment of determining the error information corresponding to each of the N-M groups of first data in an embodiment of the present application.
  • the controller determines that the error information corresponding to each of the N-M groups of first data according to the error information corresponding to each of the M groups of first data and the M groups of first read voltages includes:
  • the controller determines the first read voltage of the N-M group according to the error information corresponding to each of the first data of the M group and the first read voltage of the M group.
  • the error information corresponding to each of the first data of the M group and the first read voltage of the M group can be The change rule of the error information with the change of the first reading voltage is determined, and the first reading voltage of the NM group that is closer to the optimal reading voltage can be determined according to the change rule.
  • the error information is the number of bits of the error data in the first data
  • N is 8
  • M is 5
  • the first reading voltage of the M group includes 4.8V, 4.9V, 5.0V, 5.1V, and 5.2V, each corresponding to
  • the number of bits of the error data in the first data is 300, 260, 180, 240, and 350. It can be seen that the number of bits of the error data in the first data corresponding to 5V is the least. Starting from 5V, as the first reading voltage increases or decreases, the number of bits of the error data in the first data increases.
  • the optimal reading voltage of the first page is close to 5V, and the optimal reading voltage is more likely It exists between 4.9V and 5.1V, so the first reading voltage of the NM group can be determined between 4.9V and 5.1V.
  • the first reading voltage of the NM group can be determined as 4.95V, 5.05V, and 5.02V.
  • a set of first read voltages includes one read voltage, and a set of first read voltages can include multiple read voltages.
  • multiple read voltages are included, multiple sets of first read voltages with only one read voltage can be changed.
  • the first reading voltage is compared to determine the change law of the error information with the change of the first reading voltage, so that the first reading voltage of the NM group that is closer to the optimal reading voltage can be determined according to the change law.
  • the process of determining the first reading voltage of the N-M group will be introduced below by taking an example of a set of reading voltages including two reading voltages.
  • the error information is the number of bits of the error data in the first data
  • N is 8
  • M is 5
  • the first reading voltages of the M groups are (4.8V, 3V), (4.9V, 3V), respectively , (5.0V, 3V), (5.0V, 3.1V) and (4.9V, 3.1V)
  • the number of bits of the error data in the corresponding first data is 300, 260, 180, 240, respectively
  • one of the paired reading voltages is 3V
  • the other paired reading voltage is different, and the other paired reading voltage rises, the corresponding first
  • the number of bits of the error data in the data is reduced.
  • (x, y) is used to represent the first read voltage of the NM group, then the value of x is in the range of 4.9V or more.
  • a paired read voltage changes from 3V to 3.1V, the number of bits of the error data in the corresponding first data increases.
  • (x, y) is used to represent the first read voltage of the NM group, then y can be in The value is within the range below 3.1V.
  • (4.9V, 3.05V) or (5.0V, 3.05V) can be used as a group of first read voltages in the NM group of first read voltages.
  • the controller reads the first data of the N-M group from the first page according to the first read voltage of the N-M group.
  • Reading the first data from the first page according to the first read voltage is a relatively mature technology, which is not described in detail in the embodiment of the present application.
  • the controller determines the error information corresponding to each of the N-M groups of first data.
  • the controller determines that there are multiple error information corresponding to each of the N-M groups of first data, which is not limited in the embodiment of the present application.
  • the first reading voltages of the N-M groups are determined at one time according to the error information corresponding to the first data of the M groups and the first reading voltages of the M groups, so that the finally determined decoding voltage range is small and accurate.
  • the first reading voltage and the error information corresponding to the first data in the M groups can be determined first.
  • the error information corresponding to one data is combined with the error information corresponding to the newly determined group of first data, and then the error information corresponding to another group of first reading voltage and another group of first data is determined, until the NM group of first data is determined.
  • FIG. 8 is a schematic diagram of another embodiment of determining the error information corresponding to each of the N-M groups of first data in an embodiment of the present application.
  • the controller determines that the error information corresponding to each of the N-M groups of first data according to the error information corresponding to each of the M groups of first data and the M groups of first read voltages includes:
  • the controller determines K groups of first read voltages according to the respective error information corresponding to the M groups of first data and the M groups of first read voltages, where K is less than N-M.
  • the process of determining the first read voltages of the K group in operation 401 is the same as the process of determining the first read voltages of the NM group in operation 301.
  • the process of determining the first read voltages of the NM group in operation 301 is the same as the process of determining the first read voltages of the NM group in operation 301.
  • the controller reads K groups of first data from the first page according to the K groups of first read voltages.
  • the controller determines error information corresponding to each of the K groups of first data.
  • the process of determining the error information corresponding to each of the K groups of first data in operation 403 is the same as the process of determining the error information corresponding to each of the first data in the NM group in operation 303.
  • the process of determining the error information corresponding to each of the first data in the NM group in operation 303 refers to the determination of the first data in the NM group in operation 303. To understand the relevant description of the error message corresponding to each data.
  • the controller determines the first reading voltages of the L group according to the error information corresponding to each of the K groups of first data, the error information corresponding to each of the first data of the M groups, the first reading voltages of the K groups, and the first reading voltages of the M groups, where L Less than or equal to NMK.
  • the error information corresponding to each of the K groups of first data is combined with the error information corresponding to each of the M groups of first data to determine the first read voltage of the L group, because the determination of the first read voltage of the L group refers to K
  • the first reading voltage of the L group may be closer to the optimal reading voltage than the first reading voltage of the K group.
  • the process of determining the first read voltages of the L group is the same as the process of determining the first read voltages of the K group in operation 401, which can be understood with reference to the relevant description of operation 401.
  • the controller reads the first data of the L group from the first page according to the first read voltage of the L group.
  • the process of reading L groups of first data is the same as the process of reading K groups of first data in operation 402.
  • the controller determines the error information corresponding to each of the first data in the L groups.
  • the process of determining the error information corresponding to each of the L groups of first data is the same as the process of determining the error information corresponding to each of the K groups of first data in operation 403. For details, refer to the relevant description of operation 403 for understanding.
  • the error information corresponding to each of the K groups of first data, and the error information corresponding to each of the M groups of first data are combined to determine the first reading voltage of the T group, where T is a positive integer and less than or equal to NMKL, and then according to the T group
  • the first reading voltage determines the error information corresponding to the first data of the T group; since the determination of the first reading voltage of the T group refers to the error information corresponding to the first data of the L group, the first reading voltage of the T group is compared with that of the L group.
  • the first reading voltage may be closer to the optimal reading voltage, so that the finally determined decoding voltage range is smaller and accurate.
  • K, L, and T can all be set to 1, that is, only one set of first reading voltages is determined each time, and the final reading voltage will be determined according to N
  • the error information corresponding to each of the -1 group of first data determines the Nth group of first data, so that the finally determined decoding voltage range is small and accurate.
  • the controller obtains the first page corresponding to the M groups of first read voltages.
  • the first data of M groups include:
  • the controller reads M groups of first data from the first page according to the M groups of first read voltages.
  • controller directly issues M groups of first reading voltages, and then reads M groups of first data according to the M groups of first reading voltages.
  • the controller can issue the first reading voltage of the H group, and then read the first data of the H group according to the first reading voltage of the H group, and then determine the first reading voltage of the MH group and the first data of the MH group, and finally Determine the error information corresponding to each of the first data in the MH group.
  • the process will be described in detail below.
  • Each group of first read voltages in the M groups of first read voltages includes a plurality of paired read voltages.
  • the M groups of first read voltages can be expressed as (a , B), (c, d) or (q, w, e).
  • the decoding method also includes: the controller reads the third data in at least one paired page according to a preset third read voltage.
  • the paired page refers to other pages that belong to the same data block as the first page.
  • FIG. 9 is a schematic diagram of an embodiment of obtaining M groups of first data in an embodiment of the present application; as shown in FIG. 9, the controller obtains the M corresponding to the first page under the M groups of first reading voltages.
  • the first set of data includes:
  • the controller reads H groups of first data from the first page according to the H group of first read voltages, where H is less than M.
  • the process of reading H groups of first data is the same as the process of reading K groups of first data in operation 402, which can be understood with reference to related descriptions in operation 402.
  • the controller determines the first read voltage of the M-H group according to the first read voltage of the H group.
  • each group of first reading voltages in the MH group of first reading voltages includes a plurality of paired reading voltages
  • each paired reading voltage of the MH group of first reading voltages includes a plurality of paired reading voltages in the M group of first reading voltages. Read the voltage. Therefore, the first read voltages of the H group are related to the number of paired read voltages contained in the first read voltages of the M group.
  • M groups of first read voltages include (a, b), (c, d) two groups of first read voltages, then (a, c), (b, (b, d) The other two sets of first reading voltages; if the M sets of first reading voltages include (a, a), (c, c) two sets of first reading voltages, then the M sets of first reading voltages can only be determined ( a, c) A set of first reading voltages.
  • M groups of first read voltages include (a, b, c) and (q, w, e)
  • another 6 groups of first read voltages can be determined by combining them.
  • the 6 groups are represented by (x, y, z) Read the voltage, the value of x can be a or q, the value of y can be b or w, and the value of z can be c or e.
  • the controller determines, according to the third data and the first data of the H group, the first data of the M-H group of the first page under the first read voltage of the M-H group.
  • the first data and the third data of the MH group can be converted into the H group of data through a certain logical operation.
  • the number of groups of the third data is related to the number of paired read voltages contained in a group of first read voltages. Specifically, the number of groups of third data can be determined by rounding log 2 p up, where p represents a group of first read voltages. The voltage includes the number of paired reading voltages.
  • the combination in the embodiment of the present application can also be used.
  • the method determines at least one set of first data, and uses the first set of data as a part of L sets of first data.
  • at least one set of data can be obtained according to the combination of K sets of first data, M sets of first data, and third data.
  • the L group of first read voltages can also be obtained by combining the K groups of first read voltages and the M groups of first read voltages At least one set of first read voltages in the at least one set of first read voltages corresponds to at least one set of first data.
  • the error information corresponding to each of the M groups of first data is first obtained, and then the error information corresponding to the first data of the NM group is determined according to the error information corresponding to each of the M groups of first data.
  • the error information corresponding to each of the N groups of first data can also be directly obtained.
  • the controller acquiring the error information corresponding to each of the N groups of first data includes:
  • the controller reads N sets of first data from the first page according to the N sets of first read voltages
  • the controller determines the error information corresponding to each of the N groups of first data.
  • the controller directly issues N groups of first reading voltages, and then reads N groups of first data according to the N groups of first read voltages, and finally determines the error information corresponding to each of the N groups of first data.
  • the process of reading the first data of the N groups of the first read voltages of the N groups is the same as the process of reading the first data of the NM groups in operation 302.
  • the controller determining that the error information corresponding to each of the M groups of first data includes:
  • the controller decodes the M groups of first data
  • the controller determines the error information corresponding to each of the M groups of first data according to the decoding result.
  • the error information corresponding to each of the M groups of first data can be determined, where the error information can be represented by syndrome weight information.
  • the decoding method with error correction function will first charge and read data from the second page by using multiple sets of read voltages, thereby The read data is decoded to determine the error information, and then the error information is used for error correction in the subsequent decoding process. Based on this, the embodiment of the application determines the error information corresponding to each of the M groups of first data by decoding the M groups of first data.
  • the error information can be used as a reference for error correction in the decoding process, so no additional acquisition is required.
  • the error information is used for error correction, so decoding the first data of M groups does not increase the time for determining the optimal read voltage.
  • One method for determining the error information corresponding to each of the M groups of first data is introduced above, and another method for determining the error information corresponding to each of the M groups of first data is introduced below.
  • the second page and the first page are different pages, and the controller determines that the error information corresponding to each of the M groups of first data includes:
  • the controller determines the error information corresponding to each of the M groups of first data according to the preset information in the first page.
  • the controller can write known information in the first page in advance.
  • the first data of the M group is the data corresponding to the first page under the first read voltage of the M group, so there is no need to write the first data of the M group.
  • the data is decoded, and the error information corresponding to each of the M groups of first data can be determined according to the known information, and the error information can be represented by error bits information.
  • the time for determining the optimal read voltage can be further shortened.
  • the controller reads the second data from the second page according to the decoding voltage range and decodes the second data in many ways. Two methods will be introduced below.
  • the controller reading the second data from the second page according to the decoding voltage range, and decoding the second data includes:
  • the controller reads the second data from the second page according to the decoding voltage range and the preset voltage set, and decodes the second data.
  • the voltage set includes multiple sets of second read voltages.
  • the controller can read the second data according to the decoding voltage range and the voltage set in many ways. For example, it can select a set of second reading voltages from the voltage set each time, and then judge whether it needs to be based on the set of voltages according to the decoding voltage range.
  • the second reading voltage reads the second data and decodes it. Taking the decoding voltage range as the effective voltage range as an example, if the group of second reading voltages are within the effective voltage range, it needs to be read according to the group of second reading voltages.
  • the second data is decoded; then a group of second read voltages is selected for judgment, and the above operation is repeated until the decoding is successful or all groups of second read voltages in the voltage set are traversed.
  • the second reading voltages in the voltage set can be filtered according to the decoding voltage range, and all the second reading voltages used for decoding are determined, and then the second reading voltages used for decoding are sequentially selected from the second page according to the second reading voltages used for decoding.
  • the second data is read in and decoded.
  • the voltage set contains 16 sets of second reading voltages, and the number of second reading voltages determined for decoding may only be 10 sets, and finally will be based on these 10 sets of second reading voltages.
  • the voltage sequentially reads the second data from the second page and decodes it until the decoding is successful or the 10 sets of second read voltages.
  • the decoding method further includes:
  • the controller determines the read recovery time according to the decoding voltage range.
  • the read recovery time may be determined according to the decoding time of the historical decoding process.
  • the controller reads the second data from the second page according to the decoding voltage range, and decodes the second data, including:
  • the controller reads the second data from the second page according to the read recovery time and the decoding voltage range, and decodes the second data.
  • the controller can first determine the read recovery time according to the decoding voltage range When the time for reading and decoding the second data from the second page exceeds the read recovery time, the reading and decoding of the data for the second page is stopped, thereby preventing the time for determining the optimal read voltage from being too long.
  • the second data can also be read from the second page according to the read recovery time, the decoding voltage range and the preset voltage set at the same time, and the second data can be decoded, that is, according to the decoding voltage range first.
  • the read recovery time is determined, and the second read voltage is selected from the voltage set according to the decoding voltage range, and then data is read and decoded according to the second read voltage.
  • the optimal read voltage time is determined through the read recovery time control.
  • FIG. 10 is a schematic diagram of an embodiment of a decoding device in an embodiment of the present application.
  • an embodiment of the present application provides an embodiment of a decoding device, which is applied to a controller of a solid state hard disk, and includes:
  • the obtaining unit 601 is configured to obtain the error information corresponding to each of the N groups of first data.
  • the N groups of first data are data corresponding to the first page under the N groups of first read voltages, and the first page belongs to a data block in the solid state hard disk. , Where N is a positive integer;
  • the determining unit 602 is configured to determine the decoding voltage range of the second page according to the error information corresponding to each of the N groups of first data and the N groups of first read voltages, and the second page belongs to the data block;
  • the decoding unit 603 is configured to read the second data from the second page according to the decoding voltage range, and decode the second data.
  • the embodiment of the present application provides another embodiment of a decoding device, and the obtaining unit 601 is configured to:
  • the error information corresponding to the first data of the NM group is determined.
  • the first data of the NM group corresponds to the first page under the first reading voltage of the NM group data.
  • the embodiment of the present application provides another embodiment of a decoding device, and the obtaining unit 601 is configured to:
  • the embodiment of the present application provides another embodiment of a decoding device, and the obtaining unit 601 is configured to:
  • the embodiment of the present application provides another embodiment of a decoding device.
  • the acquiring unit 601 is configured to read M groups of first data from the first page according to the M groups of first read voltages.
  • Each group of first read voltages in the M groups of first read voltages includes a plurality of paired read voltages
  • Obtaining unit 601 further configured to read third data in at least one paired page according to a preset third read voltage, and the paired page belongs to the same data block as the first page;
  • the acquisition unit is used in 601:
  • Each group of the first reading voltage of the MH group of first reading voltages includes a plurality of paired reading voltages, and each paired reading voltage of the MH group of first reading voltages includes A plurality of paired reading voltages in the first reading voltages of the M groups;
  • the first data of the M-H group of the first page under the first read voltage of the M-H group is determined.
  • the embodiment of the present application provides another embodiment of a decoding device, and the obtaining unit 601 is configured to:
  • the embodiment of the present application provides another embodiment of a decoding device, and the obtaining unit 601 is configured to:
  • the embodiment of the present application provides another embodiment of a decoding device, and the second page and the first page are different pages;
  • the acquiring unit 601 is configured to determine the error information corresponding to each of the M groups of first data according to the information in the preset first page.
  • the embodiment of the present application provides another embodiment of a decoding device.
  • the decoding unit 603 is configured to read the second data from the second page according to the decoding voltage range and a preset voltage set, and to perform the The second data is decoded, and the voltage set includes multiple sets of second read voltages.
  • the embodiment of the present application provides another embodiment of a decoding device.
  • the determining unit 602 is further configured to determine the read recovery time according to the decoding voltage range;
  • the decoding unit 603 is configured to read the second data from the second page according to the read recovery time and the decoding voltage range, and decode the second data.
  • an embodiment of the control device in the embodiment of the present application may include one or more processors 701, a memory 702, and a communication interface 703.
  • the memory 702 may be short-term storage or persistent storage. Furthermore, the processor 701 may be configured to communicate with the memory 702 and execute a series of instruction operations in the memory 702 on the control device.
  • the processor 701 may perform operations performed by the decoding device in the embodiment shown in FIG. 10, and details are not described herein again.
  • the specific functional module division in the processor 701 may be similar to the functional module division of the acquisition unit, determination unit, decoding unit and other units described in FIG. 10, and will not be repeated here.
  • the embodiments of the present application also provide a chip or chip system.
  • the chip or chip system includes at least one processor and a communication interface.
  • the communication interface and the at least one processor are interconnected by wires, and the at least one processor is used to run computer programs or instructions to The operations performed by the controller in the embodiments shown in FIGS. 5 to 9 are executed, and the details are not repeated here.
  • the communication interface in the chip can be an input/output interface, a pin, or a circuit.
  • the embodiment of the present application also provides a first implementation of the chip or the chip system.
  • the chip or the chip system described above in the present application further includes at least one memory, and the at least one memory stores instructions.
  • the memory may be a storage unit inside the chip, for example, a register, a cache, etc., or a storage unit of the chip (for example, a read-only memory, a random access memory, etc.).
  • the embodiment of the present application also provides a computer storage medium, which is used to store computer software instructions used for the above-mentioned control device, and includes a program for executing a decoding device.
  • the control device may be the decoding device described in FIG. 10 above.
  • the embodiment of the present application also provides a computer program product.
  • the computer program product includes computer software instructions, and the computer software instructions can be loaded by a processor to implement the processes of the methods in FIGS. 5 to 9 described above.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
  • wired such as coaxial cable, optical fiber, Digital Subscriber Line (DSL)
  • wireless such as infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, 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 the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供了一种译码的方法、装置及控制设备,用于从固态硬盘中读取并译码得到数据。该方法包括:首先,控制器获取N组第一数据各自对应的错误信息;然后,控制器根据N组第一数据各自对应的错误信息以及N组第一读电压确定第二页的译码电压范围;最后,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码。由于通过译码电压范围可以对已知的第二读电压进行筛选,减少了需要译码的第二读电压数量,从而缩短了确定最优读电压的时间。

Description

一种译码的方法、装置及控制设备 技术领域
本申请实施例涉及固态硬盘控制技术领域,尤其涉及一种译码的方法、装置及控制设备。
背景技术
固态驱动器(Solid State Drive,SSD),又称固态硬盘,是用固态电子存储芯片阵列而制成的硬盘。固态硬盘的存储介质包括多种,其中一种存储介质为闪存,闪存的最优读电压会随着数据存储时间(Data Retention)、读干扰(Read Disturb)、编程/擦写次数(Program/Erase,PE)以及温度等其他因素发生偏移,因此根据原始的读电压从闪存中读取数据时,可能会发生读取错误。当发生读取错误时,需要在调整读电压后从闪存中重新读取数据。
通常情况下,闪存厂商会提供用于重新读取数据的电压,然而,该电压往往有多个,在译码前无法判断哪一个电压是最优读电压。所以目前,在从闪存中重新读取数据时,会遍历闪存厂商提供的所有电压,从闪存中读取数据并译码,一旦译码成功,则结束遍历。这种方法虽然可行,但遍历的过程耗时较长。
发明内容
本申请实施例提供了一种译码的方法、装置及控制设备,能够减少需要译码的第二读电压数量,从而缩短了确定最优读电压的时间。
本申请实施例第一方面提供一种译码的方法,应用于固态硬盘的控制器,包括:
控制器获取N组第一数据各自对应的错误信息,N组第一数据是第一页在N组第一读电压下对应的数据,第一页属于固态硬盘中的一个数据块,其中N为正整数。
控制器根据N组第一数据各自对应的错误信息以及N组第一读电压确定第二页的译码电压范围,第二页属于数据块,第二页可以与第一页为同一页,第二页与第二页也可以为不同的页。
控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
本申请实施例通过N组第一读电压及N组第一读电压对应第一数据的错误信息确定了译码电压范围,然后通过译码电压范围对已知的第二读电压进行筛选,减少了需要译码的第二读电压数量,从而缩短了确定最优读电压的时间。
基于第一方面,本申请实施例还提供了第一方面的第一种实施方式,在该实施方式中,N为大于1的整数,控制器获取N组第一数据各自对应的错误信息包括:
控制器获取第一页在M组第一读电压下对应的M组第一数据;
控制器确定M组第一数据各自对应的错误信息;
控制器根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息,N-M组第一数据为第一页在N-M组第一读电压下对应的数据。
获取N组第一数据各自对应的错误信息的方法有多种,该实施方式提供了一种可行的方案,即根据M组第一数据各自对应的错误信息确定N-M组第一数据各自对应的错误信息。
基于第一方面的第一种实施方式,本申请实施例还提供了第一方面的第二种实施方式,在该实施方式中,控制器根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息包括:
控制器根据M组第一数据各自对应的错误信息及M组第一读电压确定N-M组第一读电压;
控制器根据N-M组第一读电压从第一页中读取N-M组第一数据,即一组第一读电压对应一组第一数据;
控制器确定N-M组第一数据各自对应的错误信息。
确定N-M组第一数据各自对应的错误信息的方法有多种,该实施方式提供了一种可行的方案,即根据M组第一数据各自对应的错误信息确定N-M组第一读电压,使得N-M第一读电压更接近最优读电压,再根据N-M第一读电压确定N-M组第一数据各自对应的错误信息。
基于第一方面的第一种实施方式,本申请实施例还提供了第一方面的第三种实施方式,在该实施方式中,控制器根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息包括:
控制器根据M组第一数据各自对应的错误信息及M组第一读电压确定K组第一读电压,K小于N-M;
控制器根据K组第一读电压从第一页中读取K组第一数据;
控制器确定K组第一数据各自对应的错误信息;
控制器根据K组第一数据各自对应的错误信息、M组第一数据各自对应的错误信息、K组第一读电压及M组第一读电压确定L组第一读电压,其中L小于或等于N-M-K;
控制器根据L组第一读电压从第一页中读取L组第一数据;
控制器确定L组第一数据各自对应的错误信息。
确定N-M组第一数据各自对应的错误信息的方法有多种,该实施方式提供了另一种可行的方案,即先根据M组第一数据各自对应的错误信息确定K组第一读电压,使得K组第一读电压更接近最优读电压,然后确定K组第一数据各自对应的错误信息,再根据K组第一数据各自对应的错误信息以及M组第一数据各自对应的错误信息确定L组第一读电压,使得L组第一读电压进一步接进最优读电压,最终根据L组第一读电压确定L组第一数据各自对应的错误信息。
基于第一方面的第一种实施方式,或第一方面的第二种实施方式,或第一方面的第三种实施方式,本申请实施例还提供了第一方面的第四种实施方式,在该实施方式中,控制器获取第一页在M组第一读电压下对应的M组第一数据包括:
控制器根据M组第一读电压从第一页中读取M组第一数据。
获取M组第一数据的方法有多种,在该实施方式中,直接根据M组第一读电压读取M组第一数据。
基于第一方面的第一种实施方式,或第一方面的第二种实施方式,或第一方面的第三种实施方式,本申请实施例还提供了第一方面的第五种实施方式,在该实施方式中,M组第一读电压中的各组第一读电压包含多个配对的读电压,即需要多个配对的读电压才能读取第一页中的数据;
控制器还需要根据预置的第三读电压读取至少一个配对页中的第三数据,其中配对页与第一页属于同一数据块;
控制器获取第一页在M组第一读电压下对应的M组第一数据包括:
控制器先根据H组第一读电压从第一页中读取H组第一数据,其中H小于M;
控制器然后根据H组第一读电压确定M-H组第一读电压,M-H组第一读电压中的各组第一读电压包含多个配对的读电压,M-H组第一读电压中各个配对的读电压包含于M组第一读电压中的多个配对的读电压;
控制器最后根据第三数据和H组第一数据确定第一页在M-H组第一读电压下的M-H组第一数据。
这样,根据H组第一读电压进行了H次数据读取,最终可以得到M组第一读电压,减少了读取第一数据的次数,从而可以进一步缩短确定最优读电压的时间。
基于第一方面的第一种实施方式,或第一方面的第二种实施方式,或第一方面的第三种实施方式,或第一方面的第四种实施方式,或第一方面的第五种实施方式,本申请实施例还提供了第一方面的第六种实施方式,在该实施方式中,控制器确定M组第一数据各自对应的错误信息包括:
控制器先对M组第一数据进行译码,然后根据译码结果确定M组第一数据各自对应的错误信息。
该实施方式提供了一种确定M组第一数据各自对应的错误信息的可行方案,在该方案中,根据M组第一数据的译码结果确定各自对应的错误信息。
基于第一方面的第一种实施方式,或第一方面的第二种实施方式,或第一方面的第三种实施方式,或第一方面的第四种实施方式,或第一方面的第五种实施方式,本申请实施例还提供了第一方面的第七种实施方式,在该实施方式中,第二页和第一页为不同的页。
控制器确定M组第一数据各自对应的错误信息包括:控制器根据预置的第一页中的信息确定M组第一数据各自对应的错误信息。
该实施方式提供了另一种确定M组第一数据各自对应的错误信息的可行方案,在该方案中,由于第一页中的信息对于控制器来说是已知的,所以仅仅根据M组第一数据就可以确定各自对应的错误信息,不需要对M组第一数据进行译码,因此能够缩短缩短确定最优读电压的时间。
基于第一方面,本申请实施例还提供了第一方面的第八种实施方式,在该实施方式中,控制器获取N组第一数据各自对应的错误信息包括:
控制器先根据N组第一读电压从第一页中读取N组第一数据,控制器然后确定N组第一数据各自对应的错误信息。
获取N组第一数据各自对应的错误信息的方法有多种,该实施方式提供了另一种可行 的方案,即直接根据N组第一读电压读取N组第一数据,再确定N组第一数据各自对应的错误信息。
基于第一方面,或第一方面的第一种实施方式,或第一方面的第二种实施方式,或第一方面的第三种实施方式,或第一方面的第四种实施方式,或第一方面的第五种实施方式,或第一方面的第六种实施方式,或第一方面的第七种实施方式,或第一方面的第八种实施方式,本申请实施例还提供了第一方面的第九种实施方式,在该实施方式中,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码包括:
控制器根据译码电压范围和预置的电压集合从第二页中读取第二数据,并对第二数据进行译码,电压集合中包含多组第二读电压。
在该实施方式中,电压集合中包含多组第二读电压,通过译码电压范围对电压集合中多组第二读电压进行筛选,能够减少需要译码的第二读电压数量,从而缩短了确定最优读电压的时间。
基于第一方面,或第一方面的第一种实施方式,或第一方面的第二种实施方式,或第一方面的第三种实施方式,或第一方面的第四种实施方式,或第一方面的第五种实施方式,或第一方面的第六种实施方式,或第一方面的第七种实施方式,或第一方面的第八种实施方式,或第一方面的第九种实施方式,本申请实施例还提供了第一方面的第十种实施方式,在该实施方式中,译码的方法还包括:
控制器根据译码电压范围确定读恢复时间;
当确定了读恢复时间后,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码包括:
控制器根据读恢复时间和译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
在该实施方式中,通过读恢复时间控制整个译码过程的时间,从而防止确定最优读电压的时间过长。
本申请实施例第二方面提供了一种译码的装置,应用于固态硬盘的控制器,包括:
获取单元,用于获取N组第一数据各自对应的错误信息,N组第一数据是第一页在N组第一读电压下对应的数据,第一页属于固态硬盘中的一个数据块,其中N为正整数;
确定单元,用于根据N组第一数据各自对应的错误信息以及N组第一读电压确定第二页的译码电压范围,第二页属于数据块;
译码单元,用于根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
基于第二方面,本申请实施例还提供了第二方面的第一种实施方式,获取单元用于:
获取第一页在M组第一读电压下对应的M组第一数据;
确定M组第一数据各自对应的错误信息;
根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息,N-M组第一数据为第一页在N-M组第一读电压下对应的数据。
基于第二方面的第一种实施方式,本申请实施例还提供了第二方面的第二种实施方式,获取单元用于:
根据M组第一数据各自对应的错误信息及M组第一读电压确定N-M组第一读电压;
根据N-M组第一读电压从第一页中读取N-M组第一数据;
确定N-M组第一数据各自对应的错误信息。
基于第二方面的第一种实施方式,本申请实施例还提供了第二方面的第三种实施方式,获取单元用于:
根据M组第一数据各自对应的错误信息及M组第一读电压确定K组第一读电压,K小于N-M;
根据K组第一读电压从第一页中读取K组第一数据;
确定K组第一数据各自对应的错误信息;
根据K组第一数据各自对应的错误信息、M组第一数据各自对应的错误信息、K组第一读电压及M组第一读电压确定L组第一读电压,其中L小于或等于N-M-K;
根据L组第一读电压从第一页中读取L组第一数据;
确定L组第一数据各自对应的错误信息。
基于第二方面的第一种实施方式,或第二方面的第二种实施方式,或第二方面的第三种实施方式,本申请实施例还提供了第二方面的第四种实施方式,获取单元用于:根据M组第一读电压从第一页中读取M组第一数据。
基于第二面的第一种实施方式,或第二方面的第二种实施方式,或第二方面的第三种实施方式,本申请实施例还提供了第二方面的第五种实施方式,M组第一读电压中的各组第一读电压包含多个配对的读电压;
获取单元:还用于根据预置的第三读电压读取至少一个配对页中的第三数据,配对页与第一页属于同一数据块;
获取单元用于:
根据H组第一读电压从第一页中读取H组第一数据,其中H小于M;
根据H组第一读电压确定M-H组第一读电压,M-H组第一读电压中的各组第一读电压包含多个配对的读电压,M-H组第一读电压中各个配对的读电压包含于M组第一读电压中的多个配对的读电压;
根据第三数据和H组第一数据确定第一页在M-H组第一读电压下的M-H组第一数据。
基于第二方面的第一种实施方式,或第二方面的第二种实施方式,或第二方面的第三种实施方式,或第二方面的第四种实施方式,或第二方面的第五种实施方式,本申请实施例还提供了第二方面的第六种实施方式,获取单元用于:
对M组第一数据进行译码;
根据译码结果确定M组第一数据各自对应的错误信息。
基于第二方面的第一种实施方式,或第二方面的第二种实施方式,或第二方面的第三种实施方式,或第二方面的第四种实施方式,或第二方面的第五种实施方式,本申请实施例还提供了第二方面的第七种实施方式,第二页和第一页为不同的页;
获取单元用于:根据预置的第一页中的信息确定M组第一数据各自对应的错误信息。
基于第二方面,本申请实施例还提供了第二方面的第八种实施方式,获取单元用于:
根据N组第一读电压从第一页中读取N组第一数据;
确定N组第一数据各自对应的错误信息。
基于第二方面,或第二方面的第一种实施方式,或第二方面的第二种实施方式,或第二方面的第三种实施方式,或第二方面的第四种实施方式,或第二方面的第五种实施方式,或第二方面的第六种实施方式,或第二方面的第七种实施方式,或第二方面的第八种实施方式,本申请实施例还提供了第二方面的第九种实施方式,在该实施方式中,译码单元,用于根据译码电压范围和预置的电压集合从第二页中读取第二数据,并对第二数据进行译码,电压集合中包含多组第二读电压。
基于第二方面,或第二方面的第一种实施方式,或第二方面的第二种实施方式,或第二方面的第三种实施方式,或第二方面的第四种实施方式,或第二方面的第五种实施方式,或第二方面的第六种实施方式,或第二方面的第七种实施方式,或第二方面的第八种实施方式,或第二方面的第九种实施方式,本申请实施例还提供了第二方面的第十种实施方式,在该实施方式中,确定单元,还用于根据译码电压范围确定读恢复时间;
译码单元,用于根据读恢复时间和译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
本申请实施例第三方面提供一种控制设备,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述控制设备执行如上述第一方面或第一方面任意一种可能的实现方式所述的译码的方法。
本申请实施例第四方面提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行如上述第一方面或第一方面任意一种可能的实现方式所述的译码的方法。
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
基于第四方面,本申请实施例还提供了第四方面的第一种实施方式,本申请实施例中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
本申请实施例第五方面提供了一种计算机存储介质,该计算机存储介质用于储存为上述控制设备所用的计算机软件指令,其包括用于执行为所述控制设备所设计的程序。
该控制设备可以如前述第二方面所描述的译码的装置。
本申请实施例第六方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面或第一方面任意一种可能的实现方式所述的译码的方法。
本申请实施例提供的技术方案中,首先控制器获取N组第一数据各自对应的错误信息,N组第一数据是第一页在N组第一读电压下对应的数据;然后控制器根据N组第一数据各自对应的错误信息以及N组第一读电压确定第二页的译码电压范围;最后控制器根据译码 电压范围从第二页中读取第二数据,并对第二数据进行译码;由此可以看出,本申请实施例先通过N组第一读电压及N组第一读电压对应第一数据的错误信息确定了译码电压范围,然后通过译码电压范围可以对已知的第二读电压进行筛选,减少了需要译码的第二读电压数量,从而缩短了确定最优读电压的时间。
附图说明
图1为本申请实施例中存储系统的架构示意图;
图2为本申请实施例中数据写入完成时的电压分布示意图;
图3为本申请实施例中数据写入完成一段时间后的电压分布示意图;
图4为本申请实施例从闪存阵列中读取数据的流程示意图;
图5为本申请实施例中译码的方法的一个实施例示意图;
图6为本申请实施例中获取N组第一数据各自对应的错误信息的一个实施例示意图;
图7为本申请实施例确定N-M组第一数据各自对应的错误信息的一个实施例示意图;
图8为本申请实施例确定N-M组第一数据各自对应的错误信息的另一个实施例示意图;
图9为本申请实施例中获取M组第一数据的实施例示意图;
图10为本申请实施例中译码的装置的实施例示意图;
图11为本申请实施例中控制设备的实施例示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
本申请实施例可以应用于固态硬盘所在的存储系统中,请参阅图1,本申请施例中存储系统的架构示意图。该存储系统包括主机、SSD控制器和闪存阵列。其中,主机可以通过NVMe、SAS和PCIe等多种接口与SSD控制器的前端连接,SSD控制器的后端可以通过NFI接口与闪存阵列连接。主机可以通过SSD控制器对闪存阵列中的数据进行读取或擦除等操作,通过SSD控制器还可以向对闪存阵列中写入数据。
SSD控制器在接收到主机的数据输出请求后,会对闪存阵列中的数据进行读取,为了保证数据读取准确,需要采用最优读电压进行读取。然而,该最优读电压会随着数据存储时间、读干扰、编程/擦写次数(以及温度等其他因素发生偏移。例如,请参阅图2和图3,其中图2为本申请实施例中数据写入完成时的电压分布示意图,图3为本申请实施例中数据写入完成一段时间后的电压分布示意图。对比图2和图3可以看出,部分数据的电压分布发生了偏移,以数据A、B、C为例,假设数据A的电压分布图未发生偏移,即数据A的最优读电压未发生变化,可以看出,图3与图2相比,数据A的电压分布图与数据B的电压分布图之间的间距变小,表示数据B的最优读电压与数据A的最优读电压之间的电压差变小,即数据B的最优读电压向数据A的最优读电压的方向偏移;同理,图3和图2相比,数据B的电压分布图与电压C的电压分布图发生了重叠,所以数据C的最优读电压也向数据A的最优读电压的方向偏移。
当闪存阵列的最优读电压发生偏移时,若仍按照预先设定的读电压进行数据读取,势 必会造成数据读取错误。为此,需要调整读电压对闪存阵列中的数据进行重新读取。如图4所示,本申请实施例从闪存阵列中读取数据的流程示意图。当SSD控制器接收到数据输出请求后,会先按照设定的读电压进行首次数据读取,当数据读取失败后,会进入读恢复流程,即不断调整读电压重新进行数据读取。在读恢复过程中,一般会根据闪存厂商提供的电压集合中的读电压依次重新进行数据读取和译码,直到译码成功,译码成功的读电压即为最优读电压。由于电压集合中的读电压数量较多,所以为了节省确定最优读电压的时间,本申请实施例提供了一种译码的方法,该方法会对电压集合中的读电压进行筛选,以减少用于译码的读电压数量。
下面对译码的方法进行具体介绍。请参阅图5,本申请实施例中译码的方法的一个实施例示意图。如图5所示,本申请实施例提供了一种译码的方法的一个实施例,应用于固态硬盘的控制器,包括:
101,控制器获取N组第一数据各自对应的错误信息。
可以理解的是,采用不同的读电压对同一页中的数据进行读取,读取到的结果不同,N组第一数据是第一页在N组第一读电压下对应的数据,第一页属于固态硬盘中的一个数据块,N为正整数;其中,固定硬盘可以有多个数据块,一个数据块中可以有多个页。
闪存的类型不同,对应的一组读电压中的个数也不同;一组第一读电压中可以包含一个读电压,例如第一读电压可以表示为5V,可以表示为5.2V;一组第一读电压也可以包含多个配对的读电压,例如一组第一读电压可以表示为(5V,5.2V),一组第一读电压还可以表示为(4.8V,5V,5.2V)。
本申请实施例对错误信息的内容不做限定,例如错误信息可以包括第一数据中出错数据的范围,错误信息还可以包括第一数据中出错数据的比特位数。
获取N组第一数据各自对应的错误信息的方法有多种,本申请实施例对此不做限定。
102,控制器根据N组第一数据各自对应的错误信息以及N组第一读电压确定第二页的译码电压范围。
其中,第二页属于第一页所在的数据块,第二页可以与第一页为同一页,即控制器可以根据第一页对应的N组第一数据各自对应的错误信息确定第一页的译码电压范围;由于同一数据块中所有页的读电压会呈一定规律分布,例如可以呈线性分布,可以呈分段线性分布,也可以呈梯度分布,所以第二页与第一页也可以为不同的页,控制器也可以根据第一页对应的N组第一数据各自对应的错误信息确定第一页的译码电压范围后,再根据同一数据块中所有页的分布规律确定同一数据块中其他页的译码电压范围。
需要说明的是,确定第二页的译码电压范围的方法有多种,本申请实施例对此不做限定。以第一页与第二页为同一页的情况为例,假设错误信息为第一数据中出错数据的比特位数,存在5组第一读电压,该5组第一读电压分别为4.8V、4.9V、5.0V、5.1V和5.2V,各自对应的第一数据中出错数据的比特位数依次为300位、260位、180位、240位和350位,由此可以看出,5V对应的第一数据中出错数据的比特位数最少,从5V开始,随着第一读电压的增大或减少,第一数据中出错数据的比特位数都增加,因此可以认为第一页的最优读电压靠近5V,可以将译码电压范围确定为4.9V至5.1V。
上面仅以一示例对确定第二页的译码电压范围的过程进行了介绍,随着各组第一数据对应的错误信息的具体情况的不同,确定第二页的译码电压范围的过程也不同,本申请实施例在此不做详述。
另外需要说明的是,该译码电压范围可以为有效电压范围,有效电压范围可以理解为包含最优读电压可能性较大;该译码电压范围可以为无效电压范围,无效电压范围可以理解为包含最优读电压可能性较小。
103,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
控制器根据译码电压范围读取第二数据的方法有多种,本申请实施例对此不做限定。例如,可以根据译码电压范围对已知的第二读电压进行筛选,然后根据筛选后的第二读电压读取第二数据,也可以在该译码电压范围内进行取值,得到用于译码的第二读电压。本申请实施例通过N组第一读电压及N组第一读电压对应第一数据的错误信息确定了译码电压范围,然后通过译码电压范围可以对已知的第二读电压进行筛选,减少了需要译码的第二读电压数量,从而缩短了确定最优读电压的时间。
根据上述实施例可知,获取N组第一数据各自对应的错误信息有多种,下面对获取N组第一数据各自对应的错误信息进行具体介绍。
请参阅图6,本申请实施例中获取N组第一数据各自对应的错误信息的一个实施例示意图。在该实施例中,N为大于1的整数,控制器获取N组第一数据各自对应的错误信息包括:
201,控制器获取第一页在M组第一读电压下对应的M组第一数据。
获取M组第一数据的方法有多种,本申请实施例对此不做限定。
202,控制器确定M组第一数据各自对应的错误信息。
确定M组第一数据各自对应的错误信息的方法也有多种,本申请实施例对此不做限定。
203,控制器根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息,N-M组第一数据为第一页在N-M组第一读电压下对应的数据。
在本申请实施例中,目的是要获取N组第一数据各自对应的错误信息,而获取N错误信息的目的在于更准确地确定出第二页的译码电压范围,使得译码电压范围在包含最优读电压的前提下尽可能的小,从而最终需要读取数据并译码的第二读电压数量就少;因此,本申请实施例结合M组第一数据各自对应的错误信息及M组第一读电压,可以确定出更接近最优读电压的N-M组第一读电压以及N-M组第一数据各自对应的错误信息,从而可以保证译码电压范围较小且准确。
其中,根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一读电压以及N-M组第一数据各自对应的错误信息的方法有多种,本申请实施例对此不做限定。下面对该过程进行具体描述。
请参阅图7,本申请实施例确定N-M组第一数据各自对应的错误信息的一个实施例示意图。如图7所示,在该实施例中,控制器根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息包括:
301,控制器根据M组第一数据各自对应的错误信息及M组第一读电压确定N-M组第一 读电压。
需要说明的是,确定N-M组第一读电压的方法有多种,本申请实施例对此不做限定;具体地,根据M组第一数据各自对应的错误信息及M组第一读电压可以确定错误信息随第一读电压变化的变化规律,根据该变化规律可以确定出更接近最优读电压的N-M组第一读电压。
例如,仍假设错误信息为第一数据中出错数据的比特位数,N为8,M为5,M组第一读电压包含4.8V、4.9V、5.0V、5.1V和5.2V,各自对应的第一数据中出错数据的比特位数依次为300位、260位、180位、240位和350位,由此可以看出,5V对应的第一数据中出错数据的比特位数最少,从5V开始,随着第一读电压的增大或减少,第一数据中出错数据的比特位数都增加,因此可以认为第一页的最优读电压靠近5V,最优读电压有较大可能存在于4.9V至5.1V之间,所以可以在4.9V至5.1V之间再确定N-M组第一读电压,例如可以将N-M组第一读电压确定为4.95V、5.05V和5.02V。
在上述示例中,一组第一读电压包含一个读电压,而一组第一读电压可以包含多个读电压,当包含多个读电压时,可以将仅有一个读电压改变的多组第一读电压进行对比,以确定错误信息随第一读电压变化的变化规律,从而可以根据该变化规律确定出更接近最优读电压的N-M组第一读电压。下面以一组读电压包含两个读电压为例对确定N-M组第一读电压的过程进行介绍。
在该示例中,仍假设错误信息为第一数据中出错数据的比特位数,N为8,M为5,M组第一读电压分别为(4.8V,3V)、(4.9V,3V)、(5.0V,3V)、(5.0V,3.1V)和(4.9V,3.1V),各自对应的第一数据中出错数据的比特位数依次为300位、260位、180位、240位和350位,由此可以看出,前三组第一读电压相比,其中一个配对读电压均为3V,另一个配对读电压不同,并且另一个配对读电压升高时,对应的第一数据中出错数据的比特位数减少,因此若用(x,y)表示N-M组第一读电压,则x在4.9V以上的范围内取值,例如可以将(4.95V,3V)或(5.05V,3V)作为N-M组第一读电压中的一组第一读电压;对比(4.9V,3V)与(4.9V,3.1V),以及(5.0V,3V)与(5.0V,3.1V)可知,当一个配对读电压从3V变为3.1V时,对应的第一数据中出错数据的比特位数增多,因此若用(x,y)表示N-M组第一读电压,则y可以在3.1V一下的范围内取值,例如可以将(4.9V,3.05V)或(5.0V,3.05V)作为N-M组第一读电压中的一组第一读电压。
302,控制器根据N-M组第一读电压从第一页中读取N-M组第一数据。
根据第一读电压从第一页中读取第一数据为较成熟的技术,本申请实施例在此不做详述。
303,控制器确定N-M组第一数据各自对应的错误信息。
与确定M组第一数据各自对应的错误信息相同,控制器确定N-M组第一数据各自对应的错误信息有多种,本申请实施例对此不做限定。
在本申请实施例中,根据M组第一数据各自对应的错误信息和M组第一读电压一次性确定N-M组第一读电压,使得最终确定出的译码电压范围较小且准确。除此之外,还可以根据M组第一数据各自对应的错误信息和M组第一读电压,先确定一组第一读电压及一组 第一数据对应的错误信息,然后将M组第一数据各自对应的错误信息与新确定的一组第一数据对应的错误信息结合,再确定另一组第一读电压及另一组第一数据对应的错误信息,直到确定N-M组第一数据各自对应的错误信息,下面对该过程进行具体描述。
请参阅图8,本申请实施例确定N-M组第一数据各自对应的错误信息的另一个实施例示意图。如图8所示,在该实施例中,控制器根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息包括:
401,控制器根据M组第一数据各自对应的错误信息及M组第一读电压确定K组第一读电压,K小于N-M。
需要说明的是,操作401中确定K组第一读电压的过程与操作301中确定N-M组第一读电压的过程相同,具体可参照操作301中确定N-M组第一读电压的相关说明进行理解。
402,控制器根据K组第一读电压从第一页中读取K组第一数据。
需要说明的是,操作402中读取K组第一数据的过程与操作302中读取N-M组第一数据的过程相同,具体可参照操作302中确定N-M组第一数据的相关说明进行理解。
403,控制器确定K组第一数据各自对应的错误信息。
需要说明的是,操作403中确定K组第一数据各自对应的错误信息的过程与操作303中确定N-M组第一数据各自对应的错误信息的过程相同,具体可参照操作303中确定N-M组第一数据各自对应的错误信息的相关说明进行理解。
404,控制器根据K组第一数据各自对应的错误信息、M组第一数据各自对应的错误信息、K组第一读电压及M组第一读电压确定L组第一读电压,其中L小于或等于N-M-K。
本申请实施例中,将K组第一数据各自对应的错误信息与M组第一数据各自对应的错误信息结合,确定L组第一读电压,由于L组第一读电压的确定参考了K组第一数据各自对应的错误信息,所以L组第一读电压相比于K组第一读电压,可能更接近最优读电压。其中,确定L组第一读电压的过程与操作401中确定K组第一读电压的过程相同,具体可以参照操作401的相关说明进行理解。
405,控制器根据L组第一读电压从第一页中读取L组第一数据。
读取L组第一数据的过程与操作402中读取K组第一数据的过程相同,具体可以参照操作402的相关说明进行理解。
406,控制器确定L组第一数据各自对应的错误信息。
确定L组第一数据各自对应的错误信息的过程与操作403中确定K组第一数据各自对应的错误信息的过程相同,具体可参照操作403的相关说明进行理解。
当L等于N-M-K时,执行完操作406已经完成了N组第一数据各自对应的错误信息的确定;当L小于N-M-K时,在执行完操作406后,可以将L组第一数据各自对应的错误信息、K组第一数据各自对应的错误信息、M组第一数据各自对应的错误信息结合再确定出T组第一读电压,其中T为正整数且小于或等于N-M-K-L,然后再根据T组第一读电压确定T组第一数据各自对应的错误信息;由于T组第一读电压的确定参照了L组第一数据各自对应的错误信息,所以T组第一读电压相比于L组第一读电压,可能更接近最优读电压,使得最终确定出的译码电压范围较小且准确。
另外,需要说明的是,为了保证N组第一读电压更加接近最优读电压,可以将K、L和T均设置为1,即每次只确定一组第一读电压,最终会根据N-1组第一数据各自对应的错误信息确定第N组第一数据,使得最终确定出的译码电压范围较小且准确。
根据前述实施例可知,获取M组第一数据的方法包括多种,在本申请实施例提供的译码的方法另一个实施例中,控制器获取第一页在M组第一读电压下对应的M组第一数据包括:
控制器根据M组第一读电压从第一页中读取M组第一数据。
可以理解的是,控制器直接下发M组第一读电压,然后根据M组第一读电压读取M组第一数据。
除此之外,控制器可以下发H组第一读电压,然后根据H组第一读电压读取H组第一数据,然后再确定M-H组第一读电压和M-H组第一数据,最终确定M-H组第一数据各自对应的错误信息。下面对该过程进行具体介绍。
本申请实施例提供了译码的方法另一个实施例,M组第一读电压中的各组第一读电压包含多个配对的读电压,例如,M组第一读电压可以表示为(a,b)、(c,d)或(q,w,e)。
译码的方法除了包括前述几个实施例中的操作外,还包括:控制器根据预置的第三读电压读取至少一个配对页中的第三数据。
其中,配对页是指与第一页属于同一数据块的其他页。
在该实施例中,请参阅图9,本申请实施例中获取M组第一数据的实施例示意图;如图9所示,控制器获取第一页在M组第一读电压下对应的M组第一数据包括:
501,控制器根据H组第一读电压从第一页中读取H组第一数据,其中H小于M。
读取H组第一数据的过程与操作402中读取K组第一数据的过程相同,具体可参照操作402中的相关说明进行理解。
502,控制器根据H组第一读电压确定M-H组第一读电压。
其中,M-H组第一读电压中的各组第一读电压包含多个配对的读电压,M-H组第一读电压中各个配对的读电压包含于M组第一读电压中的多个配对的读电压。因此,H组第一读电压与M组第一读电压包含的多个配对的读电压的数量相关。
具体地,假设M组第一读电压包括(a,b)、(c,d)两组第一读电压,则根据这M组第一读电压可以确定出(a,c)、(b,d)另外两组第一读电压;若M组第一读电压包括(a,a)、(c,c)两组第一读电压,则根据这M组第一读电压仅可以确定出(a,c)一组第一读电压。
假设M组第一读电压包括(a,b,c)和(q,w,e),则可以组合确定出另外6组第一读电压,假设用(x,y,z)表示该6组读电压,x的取值可以为a或q,y的取值可以为b或w,z的取值可以为c或e。
503,控制器根据第三数据和H组第一数据确定第一页在M-H组第一读电压下的M-H组第一数据。
需要说明的是,M-H组第一数据与H组数据、第三数据之间存在一定的对应关系,通过一定的逻辑运算即可将M-H组第一数据和第三数据转换为H组数据,其中第三数据的组 数与一组第一读电压中包含的配对读电压的数量相关,具体地可以通过对log 2 p向上取整确定第三数据的组数,其中p表示一组第一读电压中包含配对读电压的数量。
在本申请实施例中,仅对第一页进行了H次数据读取,即可得M组第一数据,减少了数据读取次数,缩短了确定最优读电压的时间。
另外需要说明的是,在前一实施例的确定L组第一数据的过程中,除了前一实施例中提及的确定L组第一数据的方法,也可以采用本申请实施例中的组合方法确定至少一组第一数据,并将该第一组数据作为L组第一数据中的一部分,具体地,可以根据K组第一数据、M组第一数据和第三数据组合得到至少一组第一数据,并将该至少一组第一数据作为L组第一数据的一部分;相应地,也可以通过K组第一读电压和M组第一读电压组合得到L组第一读电压中的至少一组第一读电压,该至少一组第一读电压与至少一组第一数据相对应。
在上述几个实施例中,是先获取M组第一数据各自对应的错误信息,然后根据M组第一数据各自对应的错误信息确定N-M组第一数据各自对应的错误信息,除此之外,还可以直接获取到N组第一数据各自对应的错误信息。
在本申请实施例提供的译码的方法的另一个实施例中,控制器获取N组第一数据各自对应的错误信息包括:
控制器根据N组第一读电压从第一页中读取N组第一数据;
控制器确定N组第一数据各自对应的错误信息。
可以理解的是,控制器直接下发N组第一读电压,然后根据该N组第一读电压读取N组第一数据,最后确定这N组第一数据各自对应的错误信息,其中根据N组第一读电压读取N组第一数据的过程与操作302中读取N-M组第一数据的过程相同,具体可参照操作302中读取N-M组第一数据的相关说明进行理解。
根据前述实施例可知,确定M组第一数据各自对应的错误信息有多种方法,下面对介绍其中的两种方法。
在本申请实施例提供的译码的方法的另一个实施例中,控制器确定M组第一数据各自对应的错误信息包括:
控制器对M组第一数据进行译码;
控制器根据译码结果确定M组第一数据各自对应的错误信息。
在本申请实施例中,通过对M组第一数据进行译码,从而可以确定M组第一数据各自对应的错误信息,其中该错误信息可以用syndrome weight信息表示。
需要说明的是,由于目前通过采用软判决译码等具备纠错功能的译码方法,该具备纠错功能的译码方法通过会先采用多组读电压从第二页充读取数据,从而对读取的数据进行译码以确定错误信息,然后利用该错误信息在后续的译码过程中进行纠错。基于此,本申请实施例通过对M组第一数据进行译码来确定M组第一数据各自对应的错误信息,该错误信息可以作为译码过程中纠错的参照,这样就不需要额外获取用于纠错的错误信息,因此对M组第一数据进行译码并不会增加确定最优读电压的时间。
上面对确定M组第一数据各自对应的错误信息的一种方法进行了介绍,下面对确定M 组第一数据各自对应的错误信息的另一种方法进行介绍。
在本申请实施例提供的译码的方法的另一个实施例中,第二页和第一页为不同的页,控制器确定M组第一数据各自对应的错误信息包括:
控制器根据预置的第一页中的信息确定M组第一数据各自对应的错误信息。
需要说明的是,控制器可以预先在第一页中写入已知的信息,M组第一数据是第一页在M组第一读电压下对应的数据,所以不需要对M组第一数据进行译码,可根据该已知的信息便可以确定M组第一数据各自对应的错误信息,该错误信息可以用error bits信息表示。
在本申请实施例中,由于不需要对M组第一数据进行译码,所以可以进一步缩短确定最优读电压的时间。
根据前述实施例可知,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码的方法有多种,下面将介绍其中两种方法。
在本申请实施例提供的译码的方法的另一个实施例中,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码包括:
控制器根据译码电压范围和预置的电压集合从第二页中读取第二数据,并对第二数据进行译码,电压集合中包含多组第二读电压。
控制器可以根据译码电压范围和电压集合读取第二数据的方法有多种,例如可以每次从电压集合中选取一组第二读电压,然后根据译码电压范围判断是否需要根据该组第二读电压读取第二数据并进行译码,以译码电压范围为有效电压范围为例,若该组第二读电压位于有效电压范围内,则需要根据该组第二读电压读取第二数据并进行译码;然后再选择一组第二读电压进行判断,重复上述操作直到译码成功或遍历电压集合中的所有组第二读电压。
再例如,还可以根据译码电压范围对电压集合中的第二读电压进行筛选,确定所有用于译码的第二读电压,然后根据用于译码的第二读电压依次从第二页中读取第二数据并进行译码。以译码电压范围为有效电压范围为例,电压集合中包含16组第二读电压,确定的用于译码的第二读电压的数量可能只有10组,最终将根据这10组第二读电压依次从第二页中读取第二数据并进行译码,直到译码成功或这10组第二读电压。
在本申请实施例提供的译码的方法的另一个实施例中,译码的方法还包括:
控制器根据译码电压范围确定读恢复时间,其中确定读恢复时间的方法有多种,本申请实施例对此不做限定,例如可以根据历史译码过程的译码时间确定该读恢复时间。
当确定读恢复时间后,控制器根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码包括:
控制器根据读恢复时间和译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
需要说明的是,当根据译码电压范围从第二页中读取第二数据并进行译码时,为了防止整个译码过程时间过长,控制器可以先根据译码电压范围确定读恢复时间,当从第二页中读取第二数据并进行译码的时间超过读恢复时间时,停止对第二页的数据读取及译码, 从而可以防止确定最优读电压的时间过长。
可以理解的是,也可以同时根据读恢复时间、译码电压范围以及预置的电压集合从第二页中读取第二数据,并对第二数据进行译码,即先根据译码电压范围确定读恢复时间,并根据译码电压范围从电压集合中筛选出第二读电压,然后根据第二读电压进行数据读取和译码,同时通过读恢复时间控制确定最优读电压的时间。
下面对本申请实施例中的译码的装置进行介绍。请参阅图10,本申请实施例中译码的装置的实施例示意图。如图10所示,本申请实施例提供了一种译码的装置的一个实施例,应用于固态硬盘的控制器,包括:
获取单元601,用于获取N组第一数据各自对应的错误信息,N组第一数据是第一页在N组第一读电压下对应的数据,第一页属于固态硬盘中的一个数据块,其中N为正整数;
确定单元602,用于根据N组第一数据各自对应的错误信息以及N组第一读电压确定第二页的译码电压范围,第二页属于数据块;
译码单元603,用于根据译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
本申请实施例提供了一种译码的装置的另一个实施例,获取单元601用于:
获取第一页在M组第一读电压下对应的M组第一数据;
确定M组第一数据各自对应的错误信息;
根据M组第一数据各自对应的错误信息及M组第一读电压,确定N-M组第一数据各自对应的错误信息,N-M组第一数据为第一页在N-M组第一读电压下对应的数据。
本申请实施例提供了一种译码的装置的另一个实施例,获取单元601用于:
根据M组第一数据各自对应的错误信息及M组第一读电压确定N-M组第一读电压;
根据N-M组第一读电压从第一页中读取N-M组第一数据;
确定N-M组第一数据各自对应的错误信息。
本申请实施例提供了一种译码的装置的另一个实施例,获取单元601用于:
根据M组第一数据各自对应的错误信息及M组第一读电压确定K组第一读电压,K小于N-M;
根据K组第一读电压从第一页中读取K组第一数据;
确定K组第一数据各自对应的错误信息;
根据K组第一数据各自对应的错误信息、M组第一数据各自对应的错误信息、K组第一读电压及M组第一读电压确定L组第一读电压,其中L小于或等于N-M-K;
根据L组第一读电压从第一页中读取L组第一数据;
确定L组第一数据各自对应的错误信息。
本申请实施例提供了一种译码的装置的另一个实施例,获取单元601用于:根据M组第一读电压从第一页中读取M组第一数据。
本申请实施例提供了一种译码的装置的另一个实施例,M组第一读电压中的各组第一读电压包含多个配对的读电压;
获取单元601:还用于根据预置的第三读电压读取至少一个配对页中的第三数据,配 对页与第一页属于同一数据块;
获取单元用于601:
根据H组第一读电压从第一页中读取H组第一数据,其中H小于M;
根据H组第一读电压确定M-H组第一读电压,M-H组第一读电压中的各组第一读电压包含多个配对的读电压,M-H组第一读电压中各个配对的读电压包含于M组第一读电压中的多个配对的读电压;
根据第三数据和H组第一数据确定第一页在M-H组第一读电压下的M-H组第一数据。
本申请实施例提供了一种译码的装置的另一个实施例,获取单元601用于:
根据N组第一读电压从第一页中读取N组第一数据;
确定N组第一数据各自对应的错误信息。
本申请实施例提供了一种译码的装置的另一个实施例,获取单元601用于:
对M组第一数据进行译码;
根据译码结果确定M组第一数据各自对应的错误信息;
本申请实施例提供了一种译码的装置的另一个实施例,第二页和第一页为不同的页;
获取单元601用于:根据预置的第一页中的信息确定M组第一数据各自对应的错误信息。
本申请实施例提供了一种译码的装置的另一个实施例,译码单元603,用于根据译码电压范围和预置的电压集合从第二页中读取第二数据,并对第二数据进行译码,电压集合中包含多组第二读电压。
本申请实施例提供了一种译码的装置的另一个实施例,确定单元602,还用于根据译码电压范围确定读恢复时间;
译码单元603,用于根据读恢复时间和译码电压范围从第二页中读取第二数据,并对第二数据进行译码。
请参阅图11,本申请实施例中控制设备一个实施例可以包括一个或一个以上处理器701,存储器702,通信接口703。
存储器702可以是短暂存储或持久存储。更进一步地,处理器701可以配置为与存储器702通信,在控制设备上执行存储器702中的一系列指令操作。
本实施例中,处理器701可以执行前述图10所示实施例中译码的装置所执行的操作,具体此处不再赘述。
本实施例中,处理器701中的具体功能模块划分可以与前述图10中所描述的获取单元、确定单元、译码单元等单元的功能模块划分方式类似,此处不再赘述。
本申请实施例还提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行前述图5至图9所示实施例中控制器所执行的操作,具体此处不再赘述。
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
本申请实施例还提供了芯片或者芯片系统的第一种实施方式,本申请中上述描述的芯 片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述控制设备所用的计算机软件指令,其包括用于执行为译码的装置所设计的程序。
该控制设备可以如前述图10所描述的译码的装置。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述图5至图9中方法的流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出 来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (26)

  1. 一种译码的方法,其特征在于,包括:
    控制器获取N组第一数据各自对应的错误信息,所述N组第一数据是第一页在N组第一读电压下对应的数据,所述第一页属于固态硬盘中的一个数据块,其中N为正整数;
    所述控制器根据N组第一数据各自对应的错误信息以及所述N组第一读电压确定第二页的译码电压范围,所述第二页属于所述数据块;
    所述控制器根据所述译码电压范围从所述第二页中读取第二数据,并对所述第二数据进行译码。
  2. 根据权利要求1所述的方法,其特征在于,N为大于1的整数,所述控制器获取N组第一数据各自对应的错误信息包括:
    所述控制器获取第一页在M组第一读电压下对应的M组第一数据;
    所述控制器确定所述M组第一数据各自对应的错误信息;
    所述控制器根据所述M组第一数据各自对应的错误信息及所述M组第一读电压,确定所述N-M组第一数据各自对应的错误信息,所述N-M组第一数据为所述第一页在N-M组第一读电压下对应的数据。
  3. 根据权利要求2所述的方法,其特征在于,所述控制器根据所述M组第一数据各自对应的错误信息及所述M组第一读电压,确定所述N-M组第一数据各自对应的错误信息包括:
    所述控制器根据所述M组第一数据各自对应的错误信息及所述M组第一读电压确定N-M组第一读电压;
    所述控制器根据所述N-M组第一读电压从所述第一页中读取N-M组第一数据;
    所述控制器确定所述N-M组第一数据各自对应的错误信息。
  4. 根据权利要求2所述的方法,其特征在于,所述控制器根据所述M组第一数据各自对应的错误信息及所述M组第一读电压,确定所述N-M组第一数据各自对应的错误信息包括:
    所述控制器根据所述M组第一数据各自对应的错误信息及所述M组第一读电压确定K组第一读电压,K小于N-M;
    所述控制器根据所述K组第一读电压从所述第一页中读取K组第一数据;
    所述控制器确定所述K组第一数据各自对应的错误信息;
    所述控制器根据所述K组第一数据各自对应的错误信息、所述M组第一数据各自对应的错误信息、所述K组第一读电压及所述M组第一读电压确定L组第一读电压,其中L小于或等于N-M-K;
    所述控制器根据所述L组第一读电压从所述第一页中读取L组第一数据;
    所述控制器确定所述L组第一数据各自对应的错误信息。
  5. 根据权利要求2至4中任意一项所述的方法,其特征在于,所述控制器获取第一页在M组第一读电压下对应的M组第一数据包括:
    所述控制器根据M组第一读电压从第一页中读取M组第一数据。
  6. 根据权利要求2至4中任意一项所述的方法,其特征在于,所述M组第一读电压中的各组第一读电压包含多个配对的读电压;
    所述方法还包括:所述控制器根据预置的第三读电压读取至少一个配对页中的第三数据,所述配对页与所述第一页属于同一数据块;
    所述控制器获取第一页在M组第一读电压下对应的M组第一数据包括:
    所述控制器根据H组第一读电压从第一页中读取H组第一数据,其中H小于M;
    所述控制器根据H组第一读电压确定M-H组第一读电压,所述M-H组第一读电压中的各组第一读电压包含多个配对的读电压,所述M-H组第一读电压中各个配对的读电压包含于所述M组第一读电压中的多个配对的读电压;
    所述控制器根据所述第三数据和所述H组第一数据确定所述第一页在所述M-H组第一读电压下的M-H组第一数据。
  7. 根据权利要求2至6中任意一项所述的方法,其特征在于,所述控制器确定所述M组第一数据各自对应的错误信息包括:
    所述控制器对所述M组第一数据进行译码;
    所述控制器根据译码结果确定所述M组第一数据各自对应的错误信息。
  8. 根据权利要求2至6中任意一项所述的方法,其特征在于,所述第二页和所述第一页为不同的页;
    所述控制器确定所述M组第一数据各自对应的错误信息包括:
    所述控制器根据预置的所述第一页中的信息确定所述M组第一数据各自对应的错误信息。
  9. 根据权利要求1所述的方法,其特征在于,所述控制器获取N组第一数据各自对应的错误信息包括:
    所述控制器根据N组第一读电压从第一页中读取N组第一数据;
    所述控制器确定所述N组第一数据各自对应的错误信息。
  10. 根据权利要求1至9中任意一项所述的方法,其特征在于,所述控制器根据所述译码电压范围从所述第二页中读取第二数据,并对所述第二数据进行译码包括:
    所述控制器根据所述译码电压范围和预置的电压集合从所述第二页中读取第二数据,并对所述第二数据进行译码,所述电压集合中包含多组第二读电压。
  11. 根据权利要求1-9中任意一项所述的方法,其特征在于,所述方法还包括:
    所述控制器根据所述译码电压范围确定读恢复时间;
    所述控制器根据所述译码电压范围从所述第二页中读取第二数据,并对所述第二数据进行译码包括:
    所述控制器根据所述读恢复时间和所述译码电压范围从所述第二页中读取第二数据,并对所述第二数据进行译码。
  12. 一种译码的装置,其特征在于,包括:
    获取单元,用于获取N组第一数据各自对应的错误信息,所述N组第一数据是第一页在N组第一读电压下对应的数据,所述第一页属于固态硬盘中的一个数据块,其中N为正 整数;
    确定单元,用于根据N组第一数据各自对应的错误信息以及所述N组第一读电压确定第二页的译码电压范围,所述第二页属于所述数据块;
    译码单元,用于根据所述译码电压范围从所述第二页中读取第二数据,并对所述第二数据进行译码。
  13. 根据权利要求12所述的装置,其特征在于,N为大于1的整数,所述获取单元用于:
    获取第一页在M组第一读电压下对应的M组第一数据;
    确定所述M组第一数据各自对应的错误信息;
    根据所述M组第一数据各自对应的错误信息及所述M组第一读电压,确定所述N-M组第一数据各自对应的错误信息,所述N-M组第一数据为所述第一页在N-M组第一读电压下对应的数据。
  14. 根据权利要求13所述的装置,其特征在于,所述获取单元用于:
    根据所述M组第一数据各自对应的错误信息及所述M组第一读电压确定N-M组第一读电压;
    根据所述N-M组第一读电压从所述第一页中读取N-M组第一数据;
    确定所述N-M组第一数据各自对应的错误信息。
  15. 根据权利要求13所述的装置,其特征在于,所述获取单元用于:
    根据所述M组第一数据各自对应的错误信息及所述M组第一读电压确定K组第一读电压,K小于N-M;
    根据所述K组第一读电压从所述第一页中读取K组第一数据;
    确定所述K组第一数据各自对应的错误信息;
    根据所述K组第一数据各自对应的错误信息、所述M组第一数据各自对应的错误信息、所述K组第一读电压及所述M组第一读电压确定L组第一读电压,其中L小于或等于N-M-K;
    根据所述L组第一读电压从所述第一页中读取L组第一数据;
    确定所述L组第一数据各自对应的错误信息。
  16. 根据权利要求13至15中任意一项所述的装置,其特征在于,所述获取单元用于:根据M组第一读电压从第一页中读取M组第一数据。
  17. 根据权利要求13至15中任意一项所述的装置,其特征在于,所述M组第一读电压中的各组第一读电压包含多个配对的读电压;
    所述获取单元:还用于根据预置的第三读电压读取至少一个配对页中的第三数据,所述配对页与所述第一页属于同一数据块;
    所述获取单元用于:
    根据H组第一读电压从第一页中读取H组第一数据,其中H小于M;
    根据H组第一读电压确定M-H组第一读电压,所述M-H组第一读电压中的各组第一读电压包含多个配对的读电压,所述M-H组第一读电压中各个配对的读电压包含于所述M组第一读电压中的多个配对的读电压;
    根据所述第三数据和所述H组第一数据确定所述第一页在所述M-H组第一读电压下的M-H组第一数据。
  18. 根据权利要求13至17中任意一项所述的装置,其特征在于,所述获取单元用于:
    对所述M组第一数据进行译码;
    根据译码结果确定所述M组第一数据各自对应的错误信息。
  19. 根据权利要求13至17中任意一项所述的装置,其特征在于,所述第二页和所述第一页为不同的页;
    所述获取单元用于:根据预置的所述第一页中的信息确定所述M组第一数据各自对应的错误信息。
  20. 根据权利要求12所述的装置,其特征在于,所述获取单元用于:
    根据N组第一读电压从第一页中读取N组第一数据;
    确定所述N组第一数据各自对应的错误信息。
  21. 根据权利要求12至20中任意一项所述的装置,其特征在于,所述译码单元,用于根据所述译码电压范围和预置的电压集合从所述第二页中读取第二数据,并对所述第二数据进行译码,所述电压集合中包含多组第二读电压。
  22. 根据权利要求12至21中任意一项所述的装置,其特征在于,所述确定单元,还用于根据所述译码电压范围确定读恢复时间;
    所述译码单元,用于根据所述读恢复时间和所述译码电压范围从所述第二页中读取第二数据,并对所述第二数据进行译码。
  23. 一种控制设备,其特征在于,至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述控制设备执行如上述权利要求1-11中任意一项所述的方法。
  24. 一种芯片或者芯片系统,其特征在于,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行如上述权利要求1-11任意一项所述的方法。
  25. 一种存储一个或多个计算机执行指令的计算机可读存储介质,其特征在于,当所述计算机执行指令被处理器执行时,所述处理器执行如上述权利要求1-11任意一项所述的方法。
  26. 一种存储一个或多个计算机执行指令的计算机程序产品,其特征在于,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述权利要求1-11任意一项所述的方法。
PCT/CN2019/122113 2019-11-29 2019-11-29 一种译码的方法、装置及控制设备 WO2021102962A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980102172.0A CN114667570A (zh) 2019-11-29 2019-11-29 一种译码的方法、装置及控制设备
PCT/CN2019/122113 WO2021102962A1 (zh) 2019-11-29 2019-11-29 一种译码的方法、装置及控制设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/122113 WO2021102962A1 (zh) 2019-11-29 2019-11-29 一种译码的方法、装置及控制设备

Publications (1)

Publication Number Publication Date
WO2021102962A1 true WO2021102962A1 (zh) 2021-06-03

Family

ID=76129877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/122113 WO2021102962A1 (zh) 2019-11-29 2019-11-29 一种译码的方法、装置及控制设备

Country Status (2)

Country Link
CN (1) CN114667570A (zh)
WO (1) WO2021102962A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287447A1 (en) * 2009-05-07 2010-11-11 Samsung Electronics Co., Ltd. Memory system identifying and correcting erasure using repeated application of read operation
US20160148702A1 (en) * 2014-11-20 2016-05-26 HGST Netherlands B.V. Calibrating optimal read levels
CN106981314A (zh) * 2017-03-10 2017-07-25 记忆科技(深圳)有限公司 一种固态硬盘快速纠错的方法
CN108154902A (zh) * 2017-12-22 2018-06-12 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置
CN108777156A (zh) * 2018-05-31 2018-11-09 郑州云海信息技术有限公司 一种闪存数据处理方法及装置
CN109509490A (zh) * 2016-01-12 2019-03-22 三星电子株式会社 使用非线性滤波方案的存储器系统及其读取方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287447A1 (en) * 2009-05-07 2010-11-11 Samsung Electronics Co., Ltd. Memory system identifying and correcting erasure using repeated application of read operation
US20160148702A1 (en) * 2014-11-20 2016-05-26 HGST Netherlands B.V. Calibrating optimal read levels
CN109509490A (zh) * 2016-01-12 2019-03-22 三星电子株式会社 使用非线性滤波方案的存储器系统及其读取方法
CN106981314A (zh) * 2017-03-10 2017-07-25 记忆科技(深圳)有限公司 一种固态硬盘快速纠错的方法
CN108154902A (zh) * 2017-12-22 2018-06-12 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置
CN108777156A (zh) * 2018-05-31 2018-11-09 郑州云海信息技术有限公司 一种闪存数据处理方法及装置

Also Published As

Publication number Publication date
CN114667570A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
US11775178B2 (en) Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery
TWI479495B (zh) 資料讀取方法、記憶體控制器及記憶體儲存裝置
US9891991B2 (en) Decoding method, memory storage device and memory control circuit unit
TWI447733B (zh) 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8289771B2 (en) Data reading method and control circuit and memory controller using the same
TWI615852B (zh) 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元
US11557352B2 (en) Adjustable read retry order based on decoding success trend
TWI447731B (zh) 資料讀取方法、記憶體儲存裝置及其控制器
TW201508759A (zh) 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
US10564862B2 (en) Wear leveling method, memory control circuit unit and memory storage apparatus
CN112562766A (zh) 一种重读管理方法、固态硬盘控制器及固态硬盘
US10153052B2 (en) Flash command that reports a count of cell program failures
US10832784B2 (en) Pre-program read to counter wordline failures
US20190304547A1 (en) Decoding method and storage controller
US20190278480A1 (en) Block management method, memory control circuit unit and memory storage apparatus
CN111488120B (zh) 用于自适应芯片启用设置时间的数据存储系统和方法
WO2021102962A1 (zh) 一种译码的方法、装置及控制设备
US8276033B2 (en) Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same
KR20170031311A (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI467578B (zh) 錯誤處理方法、記憶體儲存裝置與記憶體控制電路單元
CN112988449A (zh) 写入页面群组的数据到闪存模块的装置及方法
US11742053B2 (en) Managing execution of a scrub operation in view of an operating characteristic of a memory subsystem
KR101982381B1 (ko) 소프트 정보에 대한 데이터 전송의 수행 최적화
US20240152347A1 (en) Firmware updating method and data storage device utilizing the same
CN116959531A (zh) 读取电压调整方法、存储装置及存储器控制电路单元

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

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

Country of ref document: EP

Kind code of ref document: A1