A decoding method and apparatus for a memory
By reading data in pages in memory and transmitting the XOR data of multiple sensing data during sensing data transmission, the problem of needing to read the voltage multiple times after decoding failure in multi-level cell memory devices is solved, thus improving decoding efficiency and performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD
- Filing Date
- 2022-07-06
- Publication Date
- 2026-06-02
AI Technical Summary
In existing multi-level cell memory devices, after a decoding failure, multiple additional read operations are required to calculate the new read voltage, resulting in excessively long decoding times and reduced performance of the flash memory device.
Data is read from multiple memory cells in the memory in units of pages, and XOR data of multiple sensing data are transmitted simultaneously or before sensing data transmission to assist subsequent decoding and reduce the need to recalculate the read voltage after decoding failure.
This significantly reduces the time required to decode again after a decoding failure, improving decoding performance and the overall performance of flash memory devices.
Smart Images

Figure CN115035935B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of semiconductor devices, and in particular to a decoding method and apparatus for a memory. Background Technology
[0002] Semiconductor memory devices can be volatile or non-volatile. While volatile semiconductor memory devices can perform read and write operations at high speeds, the data stored in them is lost when power is off. Conversely, non-volatile semiconductor memory devices retain their stored data regardless of whether power is applied. Flash memory is a typical example of a non-volatile semiconductor memory device, and it is widely used as a data storage medium.
[0003] With the increasing demand for high-capacity storage devices, multi-level cell (MLC) memory devices or multi-bit memory devices that store multiple bits per cell are being widely used. In multi-level cell memory devices, different threshold voltages can be obtained by injecting different numbers of electrons into the floating gate or charge trapping layer, thereby representing different logic states. Taking multi-level cell (MLC) NAND Flash as an example, when reading data, three different read voltages are applied to the gate to distinguish four logic states.
[0004] However, as the number of logical states increases, the probability of decoding failure after reading data also gradually increases. After a current decoding failure, several additional read operations can be performed to calculate a new read voltage, and then the data can be read again using the new read voltage to reduce the probability of decoding failure and obtain better decoding performance.
[0005] However, calculating the new read voltage using several additional read operations and then reading data multiple times using the new read voltage takes a long time, which reduces the performance of the flash memory device. Summary of the Invention
[0006] In view of this, the purpose of this application is to provide a decoding method and apparatus for memory, which can reduce the time required to decode again after a decoding failure, improve decoding performance, and improve the performance of flash memory devices.
[0007] To achieve the above objectives, this application provides the following technical solution:
[0008] This application provides a memory decoding method, including:
[0009] Data is read from multiple memory cells in the memory in units of pages.
[0010] Transmit at least one set of sensing data from each of multiple pages and an XOR data of multiple sets of sensing data from each page, wherein the sensing data in the same page is transmitted before or simultaneously with the XOR data;
[0011] The storage unit of each page is decoded based on the sensed data and the XOR data.
[0012] Optionally, the plurality of pages include low-level pages, middle-level pages, and high-level pages, and the sensing data includes first sensing data, second sensing data, third sensing data, fourth sensing data, fifth sensing data, sixth sensing data, and seventh sensing data;
[0013] The data reading operation on multiple storage units in the memory in units of pages includes:
[0014] Data reading operations are performed on the memory cells in the lower-level page using the first read voltage and the fifth read voltage, respectively, to obtain the first sensing data and the second sensing data.
[0015] Data reading operations are performed on the memory cells in the middle layer page using the second read voltage, the fourth read voltage, and the sixth read voltage, respectively, to obtain the third sensing data, the fourth sensing data, and the fifth sensing data.
[0016] Data reading operations are performed on the storage cells in the higher-level page using the third read voltage and the seventh read voltage, respectively, to obtain the sixth sensing data and the seventh sensing data.
[0017] Optionally, the XOR data includes a first XOR data corresponding to the lower-level page, a second XOR data corresponding to the middle-level page, and a third XOR data corresponding to the higher-level page;
[0018] The transmission of at least one set of sensing data from each of the multiple pages and an XOR data of multiple sets of sensing data from each page, wherein the sensing data within the same page is transmitted before or simultaneously with the XOR data, includes:
[0019] When performing a low-level page data read operation using the fifth read voltage, the first sensing data corresponding to the low-level page is transmitted;
[0020] When performing a data read operation on a middle-level page using the second read voltage, the first XOR data corresponding to the lower-level page is transmitted.
[0021] When performing a data reading operation on the middle layer page using the fourth read voltage, the third sensing data corresponding to the middle layer page is transmitted.
[0022] When performing data read operations on higher-level pages using the third read voltage, the second XOR data corresponding to the middle-level page is transmitted.
[0023] The decoding of the storage unit of each page based on the sensed data and the XOR data includes:
[0024] The storage unit of the lower-level page is decoded based on the first sensing data, the third sensing data, and the first XOR data;
[0025] The storage unit of the middle-layer page is decoded based on the first sensing data, the third sensing data, and the second XOR data.
[0026] Optionally, the sensing data further includes eighth sensing data, and the XOR data includes the first XOR data corresponding to the lower-level page;
[0027] Before performing data read operations on the memory cells in the lower-level pages using the first read voltage and the fifth read voltage respectively, the method further includes:
[0028] The eighth sensing data is obtained by performing a data reading operation on the memory cell in the lower-level page using the eighth read voltage.
[0029] The transmission of at least one set of sensing data from each of the multiple pages and an XOR data of multiple sets of sensing data from each page, wherein the sensing data within the same page is transmitted before or simultaneously with the XOR data, includes:
[0030] The eighth sensing data is transmitted during a low-level page data read operation using the first read voltage;
[0031] After performing a low-level page data read operation using the fifth read voltage, the first XOR data corresponding to the low-level page is transmitted;
[0032] The decoding of the storage unit of each page based on the sensed data and the XOR data includes:
[0033] The storage unit of the lower-level page is decoded based on the eighth sensing data and the first XOR data.
[0034] Optionally, the method further includes:
[0035] Predict the channel information of the memory channel, wherein the channel information includes at least the number of reads and the read voltage;
[0036] Based on the channel information, determine whether to perform the step of transmitting at least one sensing data for each of the multiple pages.
[0037] This application provides a memory decoding device, comprising:
[0038] The data reading unit is used to perform data reading operations on multiple storage units in the memory in units of pages.
[0039] A transmission unit is used to transmit at least one sensing data of each page in a plurality of pages and XOR data of multiple sensing data of each page, wherein the sensing data in the same page is transmitted before or simultaneously with the XOR data;
[0040] A decoding unit is used to decode the storage unit of each page based on the sensed data and the XOR data.
[0041] Optionally, the plurality of pages include low-level pages, middle-level pages, and high-level pages, and the sensing data includes first sensing data, second sensing data, third sensing data, fourth sensing data, fifth sensing data, sixth sensing data, and seventh sensing data;
[0042] The data reading unit is specifically used for:
[0043] Data reading operations are performed on the memory cells in the lower-level page using the first read voltage and the fifth read voltage, respectively, to obtain the first sensing data and the second sensing data.
[0044] Data reading operations are performed on the memory cells in the middle layer page using the second read voltage, the fourth read voltage, and the sixth read voltage, respectively, to obtain the third sensing data, the fourth sensing data, and the fifth sensing data.
[0045] Data reading operations are performed on the storage cells in the higher-level page using the third read voltage and the seventh read voltage, respectively, to obtain the sixth sensing data and the seventh sensing data.
[0046] Optionally, the XOR data includes a first XOR data corresponding to the lower-level page, a second XOR data corresponding to the middle-level page, and a third XOR data corresponding to the higher-level page;
[0047] The transmission unit is specifically used for:
[0048] When performing a low-level page data read operation using the fifth read voltage, the first sensing data corresponding to the low-level page is transmitted;
[0049] When performing a data read operation on a middle-level page using the second read voltage, the first XOR data corresponding to the lower-level page is transmitted.
[0050] When performing a data reading operation on the middle layer page using the fourth read voltage, the third sensing data corresponding to the middle layer page is transmitted.
[0051] When performing data read operations on higher-level pages using the third read voltage, the second XOR data corresponding to the middle-level page is transmitted.
[0052] The decoding unit is specifically used for:
[0053] The storage unit of the lower-level page is decoded based on the first sensing data, the third sensing data, and the first XOR data;
[0054] The storage unit of the middle-layer page is decoded based on the first sensing data, the third sensing data, and the second XOR data.
[0055] Optionally, the sensing data further includes eighth sensing data, and the XOR data includes the first XOR data corresponding to the lower-level page;
[0056] The device further includes:
[0057] A multiple data read unit is used to perform data read operations on the storage units in the lower-level page using an eighth read voltage to obtain the eighth sensing data;
[0058] The transmission unit is specifically used for:
[0059] The eighth sensing data is transmitted during a low-level page data read operation using the first read voltage;
[0060] After performing a low-level page data read operation using the fifth read voltage, the first XOR data corresponding to the low-level page is transmitted;
[0061] The decoding unit is specifically used for:
[0062] The storage unit of the lower-level page is decoded based on the eighth sensing data and the first XOR data.
[0063] Optionally, the device further includes:
[0064] A prediction unit is used to predict channel information of the memory channel, wherein the channel information includes at least the number of reads and the read voltage;
[0065] A determining unit is configured to determine, based on the channel information, whether to perform the step of transmitting at least one sensing data for each of the multiple pages.
[0066] This application provides a decoding method and apparatus for a memory. It performs data reading operations on multiple memory cells in the memory in units of pages. Specifically, it reads data from the memory cells of each page, transmitting at least one set of sensed data and XOR data from multiple sets of sensed data for each page. The sensed data within the same page is transmitted before or simultaneously with the XOR data. In other words, during the data reading of each page, not only is the XOR data from multiple sets of sensed data transmitted, but also the sensed data itself (at least one set) is transmitted. This allows subsequent decoding of each page's memory cells based on the sensed data and the XOR data. The sensed data is transmitted during the read operation, eliminating the need to reread the data using a new read voltage after a decoding failure to obtain the XOR data and continue decoding. This significantly reduces the decoding time after a failure. Transmitting the sensed data simultaneously with or before the XOR data transmission of each page improves decoding performance and enhances the performance of the flash memory device. Attached Figure Description
[0067] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0068] Figure 1 A schematic diagram of data storage is shown;
[0069] Figure 2 A schematic diagram of a sequential data reading operation is shown;
[0070] Figure 3 A schematic diagram of a random data read operation is shown;
[0071] Figure 4 A flowchart illustrating a memory decoding method provided in an embodiment of this application is shown.
[0072] Figure 5 A schematic diagram of a sequential data reading operation provided in an embodiment of this application is shown;
[0073] Figure 6 A schematic diagram of a random data reading operation provided in an embodiment of this application is shown;
[0074] Figure 7 A schematic diagram of the structure of a memory decoding device provided in an embodiment of this application is shown. Detailed Implementation
[0075] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the specific embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0076] Many specific details are set forth in the following description in order to provide a full understanding of this application. However, this application may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.
[0077] Secondly, this application provides a detailed description in conjunction with schematic diagrams. When detailing the embodiments of this application, for ease of explanation, the cross-sectional views illustrating the device structure may be partially enlarged, not adhering to the usual scale. Furthermore, the schematic diagrams are merely examples and should not limit the scope of protection of this application. In addition, actual fabrication should include three-dimensional spatial dimensions of length, width, and depth.
[0078] Semiconductor memory devices can be volatile or non-volatile. While volatile semiconductor memory devices can perform read and write operations at high speeds, the data stored in them is lost when power is off. Conversely, non-volatile semiconductor memory devices retain their stored data regardless of whether power is applied. Flash memory is a typical example of a non-volatile semiconductor memory device, and it is widely used as a data storage medium.
[0079] To facilitate understanding of the decoding method provided in the embodiments of this application, the specific application scenarios of the embodiments of this application are first introduced. Non-volatile memory includes multiple storage cells arranged in an array for storing data. Each storage cell is divided into several blocks, and each block is further divided into several pages. Operations such as reading, writing, verifying, and clearing of the non-volatile memory can all be performed on a page-by-page basis.
[0080] Non-volatile memory includes a cell array, control logic, a page buffer (PB), a word line voltage generator, and a word line decoder. Each column of cells in the cell array is connected to the page buffer via a bit line (BL), and the gate of each row of cells is connected to the word line decoder via a word line (WL). The control logic controls the word line voltage generator and the page buffer. During a read operation, the control logic controls the word line voltage generator to apply a read voltage to the selected word line. After applying a read pass voltage to the unselected word lines, the control logic controls the page buffer to sense the data stored in the corresponding bit line cell according to different read operation methods, thereby reading the data stored in the non-volatile memory.
[0081] Non-volatile memory is mainly divided into several types, including SLC (Single-Level Cell), MLC (Mini-Level Cell), TLC (Trinary-Level Cell), and QLC (Quad-Level Cell). SLC stands for 1 bit / cell, where each memory cell stores 1 bit of data and has only two storage states: "0" and "1". MLC stands for 2 bits / cell, where each memory cell stores 2 bits of data and has four storage states: "00", "01", "10", and "11". TLC stands for 3 bits / cell, where each memory cell stores 3 bits of data and has eight storage states: "000", "001", "010", "011", "100", "101", "110", and "111". It can be understood that non-volatile memory cells can also store more than 3 bits of data. QLC, or 4 bits / cell, means that each storage unit stores 4 bits of data and there are 16 storage states for each storage unit: "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111".
[0082] To determine the storage state of a memory cell and thus read its stored data, for SLC-type non-volatile memory, a read operation is performed on the selected word line, applying a read voltage to the word line and sensing the data to retrieve the data stored in the corresponding memory cell. However, for MLC and TLC non-volatile memory, which store multiple bits of data per cell, since each memory cell has more than two storage states, multiple consecutive read operations are required on the same memory cell. Multiple read voltages of different magnitudes are applied to the word line and sensing the stored data are then necessary to determine the actual storage state of the memory cell and read the data stored in the non-volatile memory.
[0083] With the increasing demand for high-capacity storage devices, multi-level cell (MLC) memory devices or multi-bit memory devices that store multiple bits per cell are being widely used. In multi-level cell memory devices, different threshold voltages can be obtained by injecting different numbers of electrons into the floating gate or charge trapping layer, thereby representing different logic states. Taking multi-level cell (MLC) NAND Flash as an example, when reading data, three different read voltages are applied to the gate to distinguish four logic states.
[0084] However, as the number of logical states increases, the probability of decoding failure after reading data also gradually increases.
[0085] refer to Figure 1 The diagram shows a data storage schematic. The horizontal axis represents the threshold voltage, and the vertical axis represents the number of storage cells. Taking a TLC flash memory device as an example, the diagram includes eight threshold voltage distribution states: E, P1, P2, ..., P7. The solid lines in the diagram represent the threshold voltage distribution states formed by the threshold voltage of data written to the storage cells of the flash memory. Vread1, Vread2, ..., Vread7 correspond to the data read voltages between different distribution states.
[0086] TLC flash memory devices include at least lower pages, middle pages, and upper pages. When performing data read operations on a page-by-page basis, sequential data read operations can be performed, meaning data is read in the order of lower, middle, and upper pages, or random data read operations can be performed, meaning data is read randomly from the lower, middle, and upper pages. Lower pages can be sensed twice to obtain data D1 and D2; middle pages can be sensed three times to obtain data D3, D4, and D5; and upper pages can be sensed twice to obtain data D6 and D7.
[0087] refer to Figure 2 The diagram illustrates a sequential data read operation. First, data is read from the lower-level pages: the first sensing is performed using voltage V1 (1...). st (sensing) and voltage V5 are used for a second sensing (2) nd (sensing), namely LP read V1 and LP read V5, and then sequentially read the data of the middle layer page: the first sensing is performed using voltage V2 (1 st (sensing), using voltage V4 for a second sensing (2) nd The third sensing (3) is performed on the voltage V6. rd (sensing), namely MP read V2, MP read V4 and MP read V6, which are used for the first sensing using voltage V2 (1 stDuring sensing, the XOR data of the first sensing data D1 and the second sensing data D2 of the lower-level page is transmitted, i.e., Trans LP. After the data reading operation of the middle-level page is completed, the XOR data of the first sensing data D3, the second sensing data D4 and the third sensing data D5 of the middle-level page is transmitted.
[0088] After the XOR transmission of the first sensing data D1 and the second sensing data D2 of the lower-level page is completed, the read data of the lower-level page can be decoded. If the decoding operation of the lower-level page fails, as a possible implementation, it can only wait for the XOR transmission of the first sensing data D3, the second sensing data D4, and the third sensing data D5 of the middle-level page before the XOR data of the middle-level page can be used to assist the lower-level page in performing the decoding operation again, i.e., LPdecode failed wait MP data. Currently, the XOR data of the middle-level page can be used to assist the lower-level page in performing the decoding operation again, and the decoding is successful, i.e., LP decode success start MP decode, obtaining the decoded data of the lower-level page, i.e., get LP data.
[0089] When the decoding operation of the lower-level page fails, as an alternative implementation, the soft decoding process of the lower-level page can be started after the XOR data transmission of the middle-level page (LP decode failed start LP softdecode). The read voltage Vt of multiple threshold voltage distribution states of the lower-level page is recalculated (cal read Vt). Then, the data of the memory cell of the lower-level page is read again using the recalculated read voltage V8 (LP ad read V8), and the sense data D8 is transmitted (Trans D8). The sense data D8 read again is used to assist the lower-level page in performing the decoding operation again. If the decoding is successful (LP decode success), the decoded data of the lower-level page is obtained (get LP data).
[0090] Therefore, during the decoding process of sequential data read operation, if the decoding of the data of the lower-level page fails, it is necessary to wait for the XOR data of the middle-level page to perform auxiliary decoding or wait for the XOR data of the middle-level page to be transmitted before recalculating the read voltage and rereading the data for auxiliary decoding. Waiting for the data of the middle-level page to be read and the XOR data to be transmitted undoubtedly increases the data decoding time.
[0091] refer to Figure 3 The diagram illustrates a random data read operation. It allows for random data read operations on lower-level pages: the first sensing is performed using voltage V1 (1...). st (sensing) and voltage V5 are used for a second sensing (2)nd (sensing), namely LP read V1 and LP read V5, and then transmit the XOR data of the first sensing data D1 and the second sensing data D2 of the lower page, namely Trans LP.
[0092] After the XOR operation of the first sensing data D1 and the second sensing data D2 of the lower-level page is completed, the read data of the lower-level page can be decoded. If the decoding operation of the lower-level page fails, the soft decoding process of the lower-level page can be started, i.e., LP decode failed start LP soft decode. The read voltage Vt of multiple threshold voltage distribution states of the lower-level page is recalculated, i.e. cal read Vt. Then, the recalculated read voltage V8 is used to reread the data of the memory cell of the lower-level page, i.e. LP ad read V8, and the sensing data D8 is transmitted, i.e. Trans D8. The reread sensing data D8 is used to assist the lower-level page to perform the decoding operation again, and the decoding is successful, i.e. LP decode success, and the decoded data of the lower-level page is obtained, i.e. get LP data.
[0093] Therefore, it can be seen that during the decoding process of random data read operation, after the data decoding of the lower page fails, it is necessary to recalculate the read voltage and reread the data for auxiliary decoding. This undoubtedly increases the data decoding time.
[0094] Therefore, after a current memory decoding failure, several additional read operations can be performed to calculate a new read voltage, and then the data can be read again using the new read voltage, or the XOR data from other pages can be used to assist in decoding, thereby reducing the probability of decoding failure and obtaining better decoding performance.
[0095] However, calculating the new read voltage using several additional read operations, and then using the new read voltage to read data multiple times or wait for XOR data transfer from other pages, takes a long time and reduces the performance of the flash memory device.
[0096] Based on this, embodiments of this application provide a decoding method and apparatus for a memory, which performs data reading operations on multiple memory cells in the memory in units of pages. That is, data reading operations are performed on the memory cells of each page in the multiple pages, transmitting at least one sensing data and XOR data of multiple sensing data of each page in the multiple pages. The sensing data in the same page is transmitted before or simultaneously with the XOR data. In other words, when reading data for each page, not only is the XOR data of multiple sensing data transmitted, but also at least one sensing data itself is transmitted, so that the memory cells of each page can be decoded according to the sensing data and XOR data. That is, the sensing data of each page is used to assist in decoding, and the sensing data is transmitted during the read operation, eliminating the need to reread the data with a new read voltage after decoding failure to obtain XOR data and continue decoding. This greatly reduces the decoding time after decoding failure. Transmitting sensing data at the same time as or before the XOR data transmission of each page can improve decoding performance and improve the performance of flash memory devices.
[0097] To better understand the technical solution and effects of this application, the specific embodiments will be described in detail below with reference to the accompanying drawings.
[0098] It should be noted that the decoding method and apparatus for memory provided in this application are not only applicable to NAND flash memory, but also to other non-volatile memories such as magnetoresistive random access memory (MRAM), phase-change random access memory (PCRAM), phase-change random access memory and aswitch (PCMS), resistive memory, ferroelectric RAM (FRAM), spin torque transfer (STT), thermally assisted switching memory (TAS), millipede memory, floating junction gate RAM (FJG RAM), and battery backup RAM. Each memory cell in this memory can store 2 bits or more of data.
[0099] refer to Figure 4 The diagram shown is a flowchart of a memory decoding method provided in an embodiment of this application. The method includes the following steps:
[0100] S101 performs data read operations on multiple storage units in the memory in units of pages.
[0101] In memory, especially in three-dimensional memory, multiple layers of memory cells can be included, stacked vertically. Each layer can include multiple memory cells, thus forming a three-dimensional structure. This allows for a larger storage capacity and improved storage efficiency within a limited device area. Typically, in a block, the gate of each layer's memory cell is connected to a word line decoder via a word line, forming a page. In the embodiments of this application, the three-dimensional memory can be one of MLC, TLC, or QLC, and its memory cells have multiple threshold voltage distribution states.
[0102] A memory cell typically has multiple threshold voltage distribution states, each with a different threshold voltage and a different read voltage. Taking a TLC flash memory device as an example, it includes eight threshold voltage distribution states: E, P1, P2, ..., P7. Vread1(V1), Vread2(V2), ..., Vread7(V7) correspond to the data read voltages between different distribution states.
[0103] In the embodiments of this application, data reading operations can be performed on multiple storage units in the memory in units of pages. Specifically, the multiple pages in the memory include lower pages, middle pages, and upper pages. When performing data reading operations on a page-by-page basis, sequential data reading operations can be performed, that is, data reading operations are performed in the order of lower pages, middle pages, and upper pages, or random data reading operations can be performed, that is, data in lower pages, middle pages, and upper pages is read randomly.
[0104] After performing data reading operations on each page, the sensor data of each page and the XOR data of multiple sensor data of each page can be obtained. The sensor data of each page can be used for subsequent auxiliary data decoding.
[0105] Specifically, the lower page can perform two sensing operations to obtain the first sensing data D1 and the second sensing data D2; the middle page can perform three sensing operations to obtain the third sensing data D3, the fourth sensing data D4 and the fifth sensing data D5; and the upper page can perform two sensing operations to obtain the sixth sensing data D6 and the seventh sensing data D7.
[0106] As one possible implementation, data reading operations on multiple memory cells in memory, performed in units of pages, can be sequential data reading operations, as shown in the reference. Figure 5 The diagram shown is a schematic representation of a sequential data reading operation provided in an embodiment of this application.
[0107] First, data reading operations are performed on the lower-level pages: data is read from the memory cells in the lower-level pages using the first read voltage V1 and the fifth read voltage V5, respectively, to obtain the first sensing data D1 and the second sensing data D2, i.e., LP read V1 and LP read V5. Then, data reading operations are performed on the middle-level pages in sequence: data is read from the memory cells in the middle-level pages using the second read voltage V2, the fourth read voltage V4, and the sixth read voltage V6, respectively, to obtain the third sensing data D3, the fourth sensing data D4, and the fifth sensing data D5, i.e., MP read V2, MP read V4, and MP read V6. Finally, data reading operations are performed on the higher-level pages in sequence: data is read from the memory cells in the higher-level pages using the third read voltage V3 and the seventh read voltage V7, respectively, to obtain the sixth sensing data D6 and the seventh sensing data D7, i.e., UP read V3 and UP read V7.
[0108] As another possible implementation, data reading operations on multiple storage units in the memory in units of pages can be random data reading operations, and data reading operations on lower-level pages can be performed randomly.
[0109] As an example, data reading operations can be performed on the memory cells in the lower-level pages using the first read voltage V1 and the fifth read voltage V5 respectively, to obtain the first sensing data D1 and the second sensing data D2, namely LP read V1 and LP read V5.
[0110] As another example, data reading operations can be performed on the memory cells in the middle layer page using the second read voltage V2, the fourth read voltage V4, and the sixth read voltage V6 respectively, to obtain the third sensing data D3, the fourth sensing data D4, and the fifth sensing data D5, namely MP read V2, MP read V4, and MP read V6.
[0111] As another example, data reading operations can be performed on the memory cells in the higher-level page using the third read voltage V3 and the seventh read voltage V7 respectively, to obtain the sixth sensing data D6 and the seventh sensing data D7, namely UP read V3 and UP read V7.
[0112] S102, transmit at least one sensing data of each of the multiple pages and XOR data of multiple sensing data of each page.
[0113] In the embodiments of this application, after performing data reading operations on the memory cells of multiple pages using the read voltage, multiple sensing data of each page can be obtained. Typically, the XOR data of the multiple sensing data of each page is transmitted to perform the data decoding operation of that page. However, if the data decoding fails, decoding needs to be performed again. In order to save the time of decoding again, when transmitting the XOR data of the multiple sensing data of each page, at least one sensing data of each of the multiple pages can also be transmitted in addition, so as to assist in the subsequent decoding operation.
[0114] In other words, when reading sensing data using the read voltage, the sensing data can be transmitted, and the sensing data in the same page can be transmitted before or simultaneously with the XOR data. This allows the transmitted sensing data to be used directly for data decoding after the decoding of that page fails, without waiting for the XOR data transmission of other pages or for re-reading and decoding operations. This greatly shortens the waiting time for re-decoding operations, improving data decoding performance and reducing the time for re-decoding operations, thus enhancing the decoding performance of the memory.
[0115] As one possible implementation, data reading operations on multiple memory cells in memory, performed in units of pages, can be sequential data reading operations, as shown in the reference. Figure 5 The diagram illustrates a sequential data reading operation according to an embodiment of this application. The sensing data transmission time for each page can be performed simultaneously with the data reading operation to further reduce decoding time.
[0116] Data read operations are performed sequentially on the memory cells in the lower-level page using the first read voltage V1 and the fifth read voltage V5, respectively, to obtain the first sensing data D1 and the second sensing data D2, i.e., LP read V1 and LP read V5. During the lower-level page data read operation using the fifth read voltage V5, the corresponding first sensing data D1 of the lower-level page is transmitted; that is, Trans D1 and LP read V5 are performed simultaneously. After obtaining the second sensing data D2 through the lower-level page data read operation using the fifth read voltage V5, the first sensing data D1 and the second sensing data D2 can be XORed to obtain the first XOR data of the lower-level page. Specifically, while the first XOR data Trans LP is transmitted, the middle-level page data read operation can be performed using the second read voltage V2.
[0117] In practical applications, the second sensing data D2 can be transmitted simultaneously with the first XOR data transmission. Typically, either the first sensing data D1 or the second sensing data D2, combined with the first XOR data, is sufficient to acquire all the sensing data of the lower-level page. Therefore, only one of the first sensing data D1 or the second sensing data D2 needs to be transmitted to conserve memory channel resources. For example, transmitting only the first sensing data D1 can further shorten the time required to acquire the lower-level page sensing data.
[0118] Data read operations are performed on the memory cells in the middle layer page using the second read voltage V2, the fourth read voltage V4, and the sixth read voltage V6, respectively, to obtain the third sensing data D3, the fourth sensing data D4, and the fifth sensing data D5, namely MP read V2, MP read V4, and MP read V6. When performing data read operations on the middle layer page using the fourth read voltage V4, the corresponding third sensing data D3 of the middle layer page is transmitted, that is, Trans D3 and MP read V4 are performed simultaneously. When performing data read operations on the middle layer page using the sixth read voltage V6, the corresponding fourth sensing data D4 of the middle layer page is transmitted, that is, Trans D4 and MP read V6 are performed simultaneously.
[0119] After obtaining the third sensing data D3, the fourth sensing data D4, and the fifth sensing data D5 by performing data reading operations on the middle layer page using the second reading voltage V2, the fourth reading voltage V4, and the sixth reading voltage V6, the third sensing data D3, the fourth sensing data D4, and the fifth sensing data D5 can be XORed to obtain the second XOR data of the middle layer page. Specifically, while transmitting the second XOR data Trans MP, data reading operations on the higher layer page can be performed using the third reading voltage V3.
[0120] In practical applications, the fifth sensing data D5 can be transmitted simultaneously with the second XOR data transmission. Typically, any two of the third, fourth, and fifth sensing data D3, and the second XOR data are sufficient to acquire all the sensing data of the middle-layer page. Therefore, only any two of the third, fourth, and fifth sensing data D3 can be transmitted to conserve memory channel resources. For example, transmitting only the third and fourth sensing data D4 can further shorten the time required to acquire the middle-layer page sensing data.
[0121] Data reading operations are performed on the memory cells in the higher-level page using the third read voltage V3 and the seventh read voltage V7 respectively, to obtain the sixth sensing data D6 and the seventh sensing data D7, namely UP read V3 and UP read V7.
[0122] In practical applications, the sensing data from lower and middle level pages can be used to assist higher level pages in performing decoding operations again. Therefore, the sixth sensing data D6 and the seventh sensing data D7 do not need to be transmitted in order to save memory channel resources.
[0123] As another possible implementation, data reading operations on multiple storage units in the memory in units of pages can be random data reading operations, and data reading operations on lower-level pages can be performed randomly.
[0124] As an example, data can be read from memory cells in lower-level pages sequentially using a first read voltage V1 and a fifth read voltage V5 to obtain first sensing data D1 and second sensing data D2, i.e., LP read V1 and LP read V5, respectively. The first sensing data D1 can be transmitted during the data reading operation using the fifth read voltage V5, so that it can be used for subsequent auxiliary decoding operations.
[0125] As another example, to further increase the probability of successful decoding, an additional data read operation can be added before the normal data read operation on each page, and the data transmission and normal voltage reading can be performed simultaneously. (Reference) Figure 6 The diagram illustrates a random data read operation according to an embodiment of this application. To further increase the probability of successful decoding, an additional data read operation (LP add read V8) can be performed on the memory cell in the lower-level page using an eighth read voltage V8 before data reading using the first read voltage V1, resulting in the eighth sensing data D8. The transmission of the eighth sensing data D8 can be performed simultaneously with the data read operation on the lower-level page using the first read voltage V1, i.e., LP read V1 and Trans D8 are performed concurrently. Then, after the data read operation on the lower-level page using the fifth read voltage V5, the corresponding first XOR data of the lower-level page is transmitted. Compared to the current method of re-reading the memory cell in the lower-level page using the eighth read voltage V8 after a decoding failure before transmitting the eighth sensing data D8, this saves the time for transmitting the eighth sensing data D8, shortens the waiting time for re-decoding, and improves the decoding performance of the memory by reducing the time required for re-decoding.
[0126] S103, decode the storage unit of each page according to the sensing data and the XOR data.
[0127] In the embodiments of this application, when performing data reading operations on each page, the acquired sensing data can be transmitted simultaneously, so that if the XOR data decoding of each page fails, the sensing data and XOR data can be used to decode the storage unit of each page again.
[0128] As one possible implementation, data reading operations on multiple memory cells in memory, performed in units of pages, can be sequential data reading operations, as shown in the reference. Figure 5 The diagram shown is a schematic representation of a sequential data reading operation provided in an embodiment of this application.
[0129] After obtaining the second sensing data D2 by performing a data read operation on the memory cell in the lower-level page using the fifth read voltage V5, the first sensing data D1 and the second sensing data D2 can be XORed to obtain the first XOR data of the lower-level page. Decoding the first XOR data is then performed. If decoding fails, sensing data from the same page or other pages can be used to assist in decoding. That is, LP decoding failed, but can succeed with location information, for example... Figure 6 In the middle layer page, after the third sensing data D3 corresponding to the middle layer page is transmitted, the third sensing data D3 can be used to assist the first XOR data in the decoding operation again, or the first sensing data D1 and the third sensing data D3 can be used to assist the first XOR data in the decoding operation again and the decoding is successful, that is, LP decode success, and the decoded data of the lower layer page is obtained, that is, get LPdata.
[0130] After reading data from the memory cells in the middle-layer page using the second read voltage V2, the fourth read voltage V4, and the sixth read voltage V6 respectively to obtain the third sense data D3, the fourth sense data D4, and the fifth sense data D5, these data can be XORed to obtain the second XOR data of the middle-layer page. Decoding this second XOR data is then performed. If decoding fails, sense data from the same page or other pages can be used to assist in decoding. This indicates an MP decoding failure, but success with location information. Figure 6 In the process, after the decoding of the middle-level page fails, the first sensing data D1 of the lower-level page can be used to assist the second XOR data for decoding again, or the first sensing data D1 of the lower-level page and the third sensing data D3 of the middle-level page can be used to assist the second XOR data for decoding again. If the decoding is successful, i.e., MP decode success, the decoded data of the middle-level page is obtained, i.e., get MPdata.
[0131] Correspondingly, if the third XOR data of the higher-level page fails to be decoded, any one of the sensing data from the lower-level page, middle-level page, or higher-level page can be used to assist in decoding again, thereby improving the decoding success rate.
[0132] As another possible implementation, data read operations on multiple memory cells within the memory, performed in page units, can be random data read operations, randomly performing data read operations on lower-level pages. To further increase the probability of successful decoding, an additional data read operation can be added before the normal read voltage operation for each page, and data transmission and normal read voltage sensing can be performed simultaneously.
[0133] refer to Figure 6 The diagram illustrates a random data read operation provided in an embodiment of this application. To further increase the probability of successful decoding, before using the first read voltage V1 to read data, an eighth read voltage V8 can be used to perform a data read operation on the memory cell in the lower-level page, i.e., LP add read V8, to obtain the eighth sensing data D8. Then, after using the fifth read voltage V5 to read data from the lower-level page, the first XOR data corresponding to the lower-level page is transmitted. The first XOR data is decoded, and the eighth sensing data D8 is directly used to assist the first XOR data in the decoding operation, and the decoding is successful, i.e., LP decode success, to obtain the decoded data of the lower-level page, i.e., get LP data. In other words, it is not necessary to wait for the decoding to fail and then repeat the decoding operation; the already obtained eighth sensing data can be used directly to increase the success probability of the first decoding operation.
[0134] In the embodiments of this application, the channel information of the memory channel can be predicted in advance. The channel information includes at least the number of reads and the read voltage. That is, the quality of the memory channel can be preset. The worse the memory signal, the more decoding information is required to increase the probability of successful decoding. Specifically, the quality of the memory channel can be determined using the number of reads and the read voltage. Subsequently, it can be determined whether to perform the step of transmitting at least one sensing data of each of the multiple pages based on the channel information. In other words, when a poor memory channel is predicted, the method provided in the embodiments of this application can be used to increase the transmission of sensing data for each page to assist in decoding, or to increase the additional read voltage in advance to increase the probability of successful decoding and reduce the waiting time for subsequent decoding.
[0135] Specifically, transition probability models and mutual information can be used to predict memory channels, so that memory read operations can be modified in advance based on the quality of the memory channels.
[0136] refer to Figure 6As shown, it can be predicted in advance that the channel of the lower-level page is poor, i.e., LP channel bad. Therefore, the step of transmitting at least one sensing data of each of the multiple pages in the embodiment of this application can be directly executed, i.e., Start LADmethod.
[0137] This application provides a decoding method and apparatus for a memory. It performs data reading operations on multiple memory cells in the memory in units of pages. Specifically, it reads data from the memory cells of each page, transmitting at least one set of sensed data and XOR data from multiple sets of sensed data for each page. The sensed data within the same page is transmitted before or simultaneously with the XOR data. In other words, during the data reading of each page, not only is the XOR data from multiple sets of sensed data transmitted, but also the sensed data itself (at least one set) is transmitted. This allows subsequent decoding of each page's memory cells based on the sensed data and the XOR data. The sensed data is transmitted during the read operation, eliminating the need to reread the data using a new read voltage after a decoding failure to obtain the XOR data and continue decoding. This significantly reduces the decoding time after a failure. Transmitting the sensed data simultaneously with or before the XOR data transmission of each page improves decoding performance and enhances the performance of the flash memory device.
[0138] Based on the memory decoding method provided in the above embodiments, this application also provides a memory decoding apparatus, referencing... Figure 7 The diagram shown is a structural schematic of a memory decoding device provided in an embodiment of this application. The memory decoding device 700 provided in this embodiment includes:
[0139] The data reading unit 710 is used to perform data reading operations on multiple storage units in the memory in units of pages.
[0140] The transmission unit 720 is used to transmit at least one sensing data of each page in a plurality of pages and XOR data of multiple sensing data of each page, wherein the sensing data in the same page is transmitted before or simultaneously with the XOR data;
[0141] The decoding unit 730 is used to decode the storage unit of each page according to the sensing data and the XOR data.
[0142] Optionally, the plurality of pages include low-level pages, middle-level pages, and high-level pages, and the sensing data includes first sensing data, second sensing data, third sensing data, fourth sensing data, fifth sensing data, sixth sensing data, and seventh sensing data;
[0143] The data reading unit is specifically used for:
[0144] Data reading operations are performed on the memory cells in the lower-level page using the first read voltage and the fifth read voltage, respectively, to obtain the first sensing data and the second sensing data.
[0145] Data reading operations are performed on the memory cells in the middle layer page using the second read voltage, the fourth read voltage, and the sixth read voltage, respectively, to obtain the third sensing data, the fourth sensing data, and the fifth sensing data.
[0146] Data reading operations are performed on the storage cells in the higher-level page using the third read voltage and the seventh read voltage, respectively, to obtain the sixth sensing data and the seventh sensing data.
[0147] Optionally, the XOR data includes a first XOR data corresponding to the lower-level page, a second XOR data corresponding to the middle-level page, and a third XOR data corresponding to the higher-level page;
[0148] The transmission unit is specifically used for:
[0149] When performing a low-level page data read operation using the fifth read voltage, the first sensing data corresponding to the low-level page is transmitted;
[0150] When performing a data read operation on a middle-level page using the second read voltage, the first XOR data corresponding to the lower-level page is transmitted.
[0151] When performing a data reading operation on the middle layer page using the fourth read voltage, the third sensing data corresponding to the middle layer page is transmitted.
[0152] When performing data read operations on higher-level pages using the third read voltage, the second XOR data corresponding to the middle-level page is transmitted.
[0153] The decoding unit is specifically used for:
[0154] The storage unit of the lower-level page is decoded based on the first sensing data, the third sensing data, and the first XOR data;
[0155] The storage unit of the middle-layer page is decoded based on the first sensing data, the third sensing data, and the second XOR data.
[0156] Optionally, the sensing data further includes eighth sensing data, and the XOR data includes the first XOR data corresponding to the lower-level page;
[0157] The device further includes:
[0158] A multiple data read unit is used to perform data read operations on the storage units in the lower-level page using an eighth read voltage to obtain the eighth sensing data;
[0159] The transmission unit is specifically used for:
[0160] The eighth sensing data is transmitted during a low-level page data read operation using the first read voltage;
[0161] After performing a low-level page data read operation using the fifth read voltage, the first XOR data corresponding to the low-level page is transmitted;
[0162] The decoding unit is specifically used for:
[0163] The storage unit of the lower-level page is decoded based on the eighth sensing data and the first XOR data.
[0164] Optionally, the device further includes:
[0165] A prediction unit is used to predict channel information of the memory channel, wherein the channel information includes at least the number of reads and the read voltage;
[0166] A determining unit is configured to determine, based on the channel information, whether to perform the step of transmitting at least one sensing data for each of the multiple pages.
[0167] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0168] The above description is merely a preferred embodiment of this application. Although this application has disclosed preferred embodiments above, it is not intended to limit this application. Any person skilled in the art can make many possible variations and modifications to the technical solutions of this application using the methods and techniques disclosed above, or modify them into equivalent embodiments with equivalent changes, without departing from the scope of the technical solutions of this application. Therefore, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of this application without departing from the content of the technical solutions of this application shall still fall within the protection scope of the technical solutions of this application.
Claims
1. A decoding method for a memory, characterized in that, include: Data read operations are performed on multiple storage units in the memory in units of pages, and each storage unit stores multiple bits of data; Transmit at least one set of sensing data from each of multiple pages and XOR data of multiple sets of sensing data from each page, wherein the sensing data in the same page is transmitted before or simultaneously with the XOR data; the multiple pages include low-level pages, middle-level pages and high-level pages, and the XOR data includes a first XOR data corresponding to the low-level page, a second XOR data corresponding to the middle-level page and a third XOR data corresponding to the high-level page; The storage unit of each page is decoded based on the sensed data and the XOR data.
2. The method according to claim 1, characterized in that, The sensing data includes first sensing data, second sensing data, third sensing data, fourth sensing data, fifth sensing data, sixth sensing data, and seventh sensing data; The data reading operation on multiple storage units in the memory in units of pages includes: Data reading operations are performed on the memory cells in the lower-level page using the first read voltage and the fifth read voltage, respectively, to obtain the first sensing data and the second sensing data. Data reading operations are performed on the memory cells in the middle layer page using the second read voltage, the fourth read voltage, and the sixth read voltage, respectively, to obtain the third sensing data, the fourth sensing data, and the fifth sensing data. Data reading operations are performed on the storage cells in the higher-level page using the third read voltage and the seventh read voltage, respectively, to obtain the sixth sensing data and the seventh sensing data.
3. The method according to claim 2, characterized in that, The transmission of at least one set of sensing data from each of the multiple pages and an XOR data of multiple sets of sensing data from each page, wherein the sensing data within the same page is transmitted before or simultaneously with the XOR data, includes: When performing a low-level page data read operation using the fifth read voltage, the first sensing data corresponding to the low-level page is transmitted; When performing a data read operation on a middle-level page using the second read voltage, the first XOR data corresponding to the lower-level page is transmitted. When performing a data reading operation on the middle layer page using the fourth read voltage, the third sensing data corresponding to the middle layer page is transmitted. When performing data read operations on higher-level pages using the third read voltage, the second XOR data corresponding to the middle-level page is transmitted. The decoding of the storage unit of each page based on the sensed data and the XOR data includes: The storage unit of the lower-level page is decoded based on the first sensing data, the third sensing data, and the first XOR data; The storage unit of the middle-layer page is decoded based on the first sensing data, the third sensing data, and the second XOR data.
4. The method according to claim 2, characterized in that, The sensing data also includes eighth sensing data, and the XOR data includes the first XOR data corresponding to the lower-level page; Before performing data read operations on the memory cells in the lower-level pages using the first read voltage and the fifth read voltage respectively, the method further includes: The eighth sensing data is obtained by performing a data reading operation on the memory cell in the lower-level page using the eighth read voltage. The transmission of at least one set of sensing data from each of the multiple pages and an XOR data of multiple sets of sensing data from each page, wherein the sensing data within the same page is transmitted before or simultaneously with the XOR data, includes: The eighth sensing data is transmitted during a low-level page data read operation using the first read voltage; After performing a low-level page data read operation using the fifth read voltage, the first XOR data corresponding to the low-level page is transmitted; The decoding of the storage unit of each page based on the sensed data and the XOR data includes: The storage unit of the lower-level page is decoded based on the eighth sensing data and the first XOR data.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: Predict the channel information of the memory channel, wherein the channel information includes at least the number of reads and the read voltage; Based on the channel information, determine whether to perform the step of transmitting at least one sensing data for each of the multiple pages.
6. A decoding device for a memory, characterized in that, include: The data reading unit is used to perform data reading operations on multiple storage units in the memory in units of pages, and each storage unit stores multiple bits of data; A transmission unit is used to transmit at least one sensing data of each page in a plurality of pages and XOR data of multiple sensing data of each page, wherein the sensing data in the same page is transmitted before or simultaneously with the XOR data; the plurality of pages include low-level pages, middle-level pages and high-level pages, and the XOR data includes first XOR data corresponding to the low-level pages, second XOR data corresponding to the middle-level pages and third XOR data corresponding to the high-level pages; A decoding unit is used to decode the storage unit of each page based on the sensed data and the XOR data.
7. The apparatus according to claim 6, characterized in that, The sensing data includes first sensing data, second sensing data, third sensing data, fourth sensing data, fifth sensing data, sixth sensing data, and seventh sensing data; The data reading unit is specifically used for: Data reading operations are performed on the memory cells in the lower-level page using the first read voltage and the fifth read voltage, respectively, to obtain the first sensing data and the second sensing data. Data reading operations are performed on the memory cells in the middle layer page using the second read voltage, the fourth read voltage, and the sixth read voltage, respectively, to obtain the third sensing data, the fourth sensing data, and the fifth sensing data. Data reading operations are performed on the storage cells in the higher-level page using the third read voltage and the seventh read voltage, respectively, to obtain the sixth sensing data and the seventh sensing data.
8. The apparatus according to claim 7, characterized in that, The transmission unit is specifically used for: When performing a low-level page data read operation using the fifth read voltage, the first sensing data corresponding to the low-level page is transmitted; When performing a data read operation on a middle-level page using the second read voltage, the first XOR data corresponding to the lower-level page is transmitted. When performing a data reading operation on the middle layer page using the fourth read voltage, the third sensing data corresponding to the middle layer page is transmitted. When performing data read operations on higher-level pages using the third read voltage, the second XOR data corresponding to the middle-level page is transmitted. The decoding unit is specifically used for: The storage unit of the lower-level page is decoded based on the first sensing data, the third sensing data, and the first XOR data; The storage unit of the middle-layer page is decoded based on the first sensing data, the third sensing data, and the second XOR data.
9. The apparatus according to claim 7, characterized in that, The sensing data also includes eighth sensing data, and the XOR data includes the first XOR data corresponding to the lower-level page; The device further includes: A multiple data read unit is used to perform data read operations on the storage units in the lower-level page using an eighth read voltage to obtain the eighth sensing data; The transmission unit is specifically used for: The eighth sensing data is transmitted during a low-level page data read operation using the first read voltage; After performing a low-level page data read operation using the fifth read voltage, the first XOR data corresponding to the low-level page is transmitted; The decoding unit is specifically used for: The storage unit of the lower-level page is decoded based on the eighth sensing data and the first XOR data.
10. The apparatus according to any one of claims 6-9, characterized in that, The device further includes: A prediction unit is used to predict channel information of the memory channel, wherein the channel information includes at least the number of reads and the read voltage; A determining unit is configured to determine, based on the channel information, whether to perform the step of transmitting at least one sensing data for each of the multiple pages.