MEMORY SYSTEM AND METHOD FOR OPERATION THEREOF, MEMORY CONTROLLER, AND MEMORY
The memory system addresses the challenge of achieving high write speed, reliability, capacity, and cost-effectiveness by using peripheral circuits to dynamically configure NAND memory cell modes, enabling efficient and flexible operation.
Patent Information
- Application Number
- JP2024549695
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-10-18
- Filing Date
- 2023-01-11
- Publication Date
- 2025-04-16
- Estimated Expiration
- 2043-01-11
AI Technical Summary
NAND memory systems face challenges in achieving high write speed and reliability while also requiring high storage capacity and low cost, as existing single-level cell (SLC) and multi-level cell (MLC) technologies have trade-offs in these areas.
A method and system for a memory system that includes a memory cell array and peripheral circuits, where the memory cells can store m-bits of information, with the peripheral circuit determining the (n+1)th group of page data based on a prefix command and n groups of page data, and writing these data groups into the memory cell array to generate different data states, allowing flexible configuration of NAND memory to support multiple modes of memory cells.
This approach enables the NAND memory system to achieve high write speed, high reliability, large storage capacity, and low cost by allowing flexible configuration of memory cell modes, improving operational efficiency and compatibility with existing protocols.
Smart Images

Figure 2025511449000001_ABST
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application is based on Chinese Patent Application No. 202211275605.2, entitled "Memory System and Operation Method Thereof, Memory Controller and Memory", filed on October 18, 2022, which claims priority to Chinese patent application No. 202211275605.2, entitled "Memory System and Operation Method Thereof, Memory Controller and Memory", which is incorporated herein by reference in its entirety.
[0002] TECHNICAL FIELD Embodiments of the present disclosure relate to, but are not limited to, the field of semiconductors, and in particular to memory systems, methods of operating the same, memory controllers, and memories. [Background technology]
[0003] The memory cells of NAND memory include single-level cells that store one bit of data and multi-level cells that store at least two bits of data. NAND memory with single-level cells can achieve faster write speed and higher reliability, but has a smaller memory capacity and higher cost. NAND memory with multi-level cells has a larger memory capacity and lower cost, but has a slower write speed and lower reliability.
[0004] However, in some applications, NAND memory needs to achieve not only the high write speed and high reliability of single-level cells, but also the large storage capacity and low cost of multi-level cells. Therefore, flexibly configuring NAND memory to realize multiple modes of memory cells has become an urgent technical problem to be solved. Summary of the Invention [Means for solving the problem]
[0005] According to a first aspect of an embodiment of the present disclosure, there is provided an operating method for a memory system, the memory system including a memory, the memory including a memory cell array and a peripheral circuit coupled to the memory cell array, the memory cell array including memory cells capable of storing m bits of information, m being a positive integer greater than 1, and the operating method includes: determining, by the peripheral circuit, a (n+1)th group of page data according to the received prefix command and the received n groups of page data, where n is a positive integer and n+1 is a positive integer less than or equal to m; 2 in the memory cell array n and writing the n groups of the page data and the (n+1)th group of the page data to the memory cell array to generate n different data states.
[0006] According to a second aspect of an embodiment of the present disclosure, there is provided a memory controller, the memory controller coupled to a memory, the memory including a memory cell array and a peripheral circuit coupled to the memory cell array, the memory cell array including memory cells capable of storing m bits of information, m being a positive integer greater than 1, and the memory controller: The peripheral circuit determines the (n+1)th group of page data according to the prefix command and the n groups of page data, and stores two groups of page data in the memory cell array. n The memory device is configured to send a prefix command and n groups of page data to the peripheral circuitry to enable generation of n different data states, where n is a positive integer and n+1 is a positive integer less than or equal to m.
[0007] According to a third aspect of an embodiment of the present disclosure, there is provided a memory, the memory comprising: a memory cell array including memory cells capable of storing m bits of information; a peripheral circuit coupled to the memory cell array; Including, The peripheral circuit is configured to determine an (n+1)th group of page data according to the received prefix command and the received n groups of page data, where n is a positive integer and n+1 is a positive integer less than or equal to m; The peripheral circuit is located in the memory cell array. n The method is further configured to write the n groups of the page data and the (n+1)th group of the page data to the memory cell array to generate the n different data states.
[0008] According to a fourth aspect of an embodiment of the present disclosure, there is provided a memory system, the memory system comprising: A memory according to a third aspect of an embodiment of the present disclosure; a memory controller according to a second aspect of an embodiment of the present disclosure, coupled to the memory and configured to control the memory; Includes.
[0009] In an embodiment of the present disclosure, the peripheral circuit determines a (n+1)th group of page data according to the received prefix command and the received n groups of page data, writes the n groups of page data together with the (n+1)th group of page data into the memory cell array, and writes two n A number of different data states can be generated, i.e., a portion of the memory storage space can be used as at least one of SLC, MLC, TLC, and QLC. In this way, NAND memory can be flexibly configured to realize multiple modes of memory cells, and can provide advantages such as fast write speed, high reliability, large storage capacity, and low cost.
[0010] In order to more clearly show the detailed description of the present disclosure or the technical solutions in the prior art, the drawings that need to be used in the detailed description or the prior art are briefly introduced below. The accompanying drawings in the following description are some implementation forms of the present disclosure, and it is obvious that other drawings can be obtained for those skilled in the art according to these drawings without creative work. [Brief description of the drawings]
[0011] [Figure 1] 2 is a schematic diagram of different data states of a memory shown in accordance with an example embodiment. [Diagram 2] 4 is a flow chart of a method for writing to a memory system according to an example embodiment. [Diagram 3] 1 is a schematic diagram of a memory system shown in accordance with an example embodiment. [Figure 4] FIG. 2 is a schematic diagram of a memory in a write state shown in accordance with an exemplary embodiment. [Diagram 5] 1 is a flow chart of a method of operating a memory system according to an embodiment of the present disclosure. [Figure 6] 4 is a schematic diagram of a write command executed by a memory shown in accordance with an embodiment of the present disclosure. [Figure 7] 4 is a timing diagram of a write operation performed by a memory shown in accordance with an embodiment of the present disclosure. [Figure 8] FIG. 2 is a schematic diagram illustrating a write state of a memory according to an embodiment of the present disclosure. [Figure 9] 2 is a partial schematic diagram of a peripheral circuit of a memory shown in accordance with an embodiment of the present disclosure. [Figure 10] 1 is a schematic diagram of a memory shown in accordance with an embodiment of the present disclosure. [Figure 11] FIG. 2 is a cross-sectional view of a NAND memory string shown in accordance with an embodiment of the present disclosure. [Figure 12] 1 is a block diagram of a memory including a memory cell array and peripheral circuits shown in accordance with an embodiment of the present disclosure. [Figure 13]1 is a schematic diagram of a memory system shown in accordance with an embodiment of the present disclosure. [Figure 14a] 1 is a schematic diagram of a memory card shown in accordance with an embodiment of the present disclosure. [Figure 14b] FIG. 1 is a schematic diagram of a solid-state drive (SSD) shown in accordance with an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] The following examples are provided for a better understanding of the present disclosure, and are not limited to the best implementation mode, and do not limit the contents and protection scope of the present disclosure. Any products identical or similar to the present disclosure obtained under the teaching of the present disclosure or by combining the present disclosure with other prior art features will fall within the protection scope of the present disclosure.
[0013] In describing the present disclosure, it should be noted that orientation or positional relationships indicated by terms such as "upper", "lower", "inner", "outer", etc., are based on orientation or positional relationships shown in the drawings, are for convenience in describing the present disclosure, and are merely for the purpose of simplifying the description, do not suggest or imply that the devices or elements referred to have a particular orientation, must be constructed or operate in a particular orientation, and thus should not be construed as limiting the present disclosure. In addition, terms such as "first" and "second" are used for descriptive purposes only, and should not be construed as suggesting or implying relative importance.
[0014] 1 is a schematic diagram showing different data states of a memory according to an exemplary embodiment. Referring to FIG. 1, with the development of NAND memory, the number of bits of a memory cell increases from 1 bit to 2 bits, 3 bits, and 4 bits, and thus the memory cell evolves from a single level cell (SLC: Single Level Cell) to a multi-level cell (MLC: Multiple Level Cell), a triple level cell (TLC: Triple Level Cell), and a quad-level cell (QLC: Quad-Level Cell). In response, the number of data states in the memory is increased from 2 to 4, 8, and 16, so that the capacity of the memory is increased and the cost is reduced.
[0015] Referring to Figure 1(a), a memory cell of an SLC memory stores one bit of data. The data states of an SLC memory include one erased state and one programmed state. The erased state is marked with E, and the programmed state is marked with P. The threshold voltage of the programmed state P is higher than that of the erased state E.
[0016] Referring to FIG. 1(b), a memory cell of an MLC memory stores two bits of data. The data states of an MLC memory include one erased state and three programmed states. The erased state is marked with E, and the programmed states are marked with P1, P2, and P3, in order from the first state to the third state. The threshold voltage gradually increases from the P1 state to the P3 state.
[0017] Referring to Figure 1(c), a memory cell of a TLC memory stores three bits of data. The data states of a TLC memory include one erased state and seven programmed states. The erased state is marked with E, and the programmed states are marked with P1, P2, P3, P4, P5, P6, and P7, in order from the first state to the seventh state. The threshold voltage gradually increases from the P1 state to the P7 state.
[0018] Referring to FIG. 1(d), a memory cell of the QLC memory stores 4 bits of data. The data states of the QLC memory include one erased state and 15 programmed states. The erased state is marked with E, and the programmed states are marked with P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, and P15, in order from the first state to the fifteenth state. The threshold voltage gradually increases from the P1 state to the P15 state.
[0019] With the development of 3D NAND technology, the number of stacked layers in memory continues to increase. When the number of stacked layers is 64 or more, there is no MLC memory. Currently, the main 3D NAND product is TLC memory, but when the number of stacked layers is 300 or more, the main 3D NAND product will be QLC memory.
[0020] New 3D NAND product technology nodes are costly to develop, especially when there are more and more stacked layers. From the perspective of customer demand, for example, in the automotive industry, low-bit memory is still needed to meet the requirements for better reliability. However, this market size is not large. From the perspective of cost, it is not worth developing a dedicated low-bit memory. For example, if the mainstream NAND is TLC memory, there will still be some application needs for MLC memory. If the mainstream NAND is QLC memory, there will still be some application needs for TLC memory and MLC memory. From the perspective of application programs, this is a mismatch.
[0021] One solution is to develop a generic NAND memory that supports all cell levels (SLC / MLC / TLC / QLC). However, such a solution would impose a heavy burden on all development teams, including design, verification, validation, and testing. Moreover, the cost of this work is three times that of SLC memory, especially for the test and certification teams.
[0022] 2 is a flowchart of a write method for a memory system according to an exemplary embodiment, and FIG. 3 is a schematic diagram of a memory system 10 according to an exemplary embodiment. As shown in FIG. 2 and FIG. 3, the write method includes at least the following steps: S101: receiving lower page (LP) data and upper page (UP) data by the controller 11; S102: Enabling the scrambler 13 to randomize the LP data and the UP data; S103: Enabling an Error Correction Code (ECC) 14 to perform a parity check on the randomized LP data and UP data; S104: After performing a parity check, send the LP data and the UP data to a memory, for example, a page buffer; S105: Disabling the descrambler 16 and the ECC decoder 15; S106: transmitting the LP data and the UP data from the memory to the controller 11; S107: executing firmware (FW) by a central processing unit (CPU) at the host side to perform an exclusive OR (NXOR) operation on the LP data and the UP data to generate intermediate page (MP) data, where the executing firmware may be stored in memory; S108: Disable the scrambler 13 and the ECC decoder 14, and send the LP / MP / UP data to a memory, for example, a page buffer; S109: Send a write command (e.g., 10h) to start the execution of a write operation, for example, writing LP / MP / UP data from the page buffer to the memory cell array 12; Includes.
[0023] FIG. 4 is a schematic diagram of a write state of a memory shown according to an exemplary embodiment. Referring to FIG. 4, LP / MP / UP data is written into the memory cell array 12 by a normal write method, and three bits of data can be written into the memory cell of the TLC memory to generate eight different data states, namely, erase state E and program states P1 to P7. The LP / MP / UP data is written into the memory cell array 12 by executing the method shown in FIG. 2. Three bits of data can be stored into the memory cell of the TLC memory to generate four different data states, namely, erase state E and program states P2, P4, and P6. That is, by executing the method shown in FIG. 2, at least a part of the storage space in the TLC memory can be used as MLC to meet the needs of applications that require MLC memory.
[0024] However, this method needs to be executed by the CPU on the host side, resulting in a complicated operation mode, and requires firmware to be executed to use the CPU to perform an NXOR operation on raw data (e.g., LP data and UP data) to generate MP data, resulting in low efficiency.
[0025] In this regard, embodiments of the present disclosure provide a memory system and method of operating the same.
[0026] 5 is a flow chart of a method of operation of a memory system according to an embodiment of the present disclosure. The memory system includes a memory including a memory cell array and a peripheral circuit coupled to the memory cell array. The memory cell array includes memory cells capable of storing m bits of information, where m is a positive integer greater than 1. Referring to FIG. 5, the method of operation includes at least the following steps: S201: determining, by a peripheral circuit, a (n+1)-th group of page data according to a received prefix command and the received n groups of page data, where n is a positive integer and n+1 is a positive integer less than or equal to m; S202: 2 in the memory cell array n writing the n groups of page data and the (n+1)th group of page data to the memory cell array to generate n different data states; Includes.
[0027] The memory includes a memory cell array and peripheral circuits coupled to the memory cell array. The memory cell array includes a plurality of memory cells, each of which can store m bits of information. For example, the memory is an MLC memory, i.e., m=2. As another example, the memory is a TLC memory, i.e., m=3. As yet another example, the memory is a QLC memory, i.e., m=4. The peripheral circuits include a logic control unit, a command register, a cache register, a data register, etc.
[0028] In step S201, the logic control unit in the peripheral circuit may read a prefix command stored in a command register, determine a (n+1)th group of page data according to the read prefix command and the n groups of page data, and store the (n+1)th group of page data in a cache register or a data register. The n groups of page data include at least one of LP data, MP data, UP data, and extra page (XP) data. In a particular embodiment, the peripheral circuit may perform a logic operation on the n groups of page data to generate the (n+1)th group of page data.
[0029] In step S202, when a write command is received, the n groups of page data and the (n+1)th group of page data are written sequentially into the memory cell array. n Different data states are created in the memory cell array.
[0030] In one example, the memory is an MLC memory. When a part of the storage space in the MLC memory needs to be used as an SLC, the peripheral circuit determines MP data according to the received prefix command and LP data, and writes the LP data and the MP data to the memory cell array to generate two different data states in the memory cell array.
[0031] In one example, the memory is a TLC memory. When a part of the storage space in the TLC memory needs to be used as MLC, the peripheral circuit determines UP data according to the received prefix command, LP data, and MP data, and writes the LP data, MP data, and UP data to the memory cell array to generate four different data states in the memory cell array.
[0032] In one example, the memory is a TLC memory. When a part of the storage space in the TLC memory needs to be used as SLC, the peripheral circuit determines MP data according to the received prefix command and LP data, and writes at least the LP data and the MP data to the memory cell array to generate two different data states in the memory cell array.
[0033] In one example, the memory is a QLC memory. When a part of the storage space in the QLC memory needs to be used as TLC, the peripheral circuit determines XP data according to the received prefix command, LP data, MP data, and UP data, and writes the LP data, MP data, UP data, and XP data to the memory cell array to generate eight different data states in the memory cell array.
[0034] In one example, the memory is a QLC memory. When a part of the storage space in the QLC memory needs to be used as MLC, the peripheral circuit determines UP data according to the received prefix command, LP data, and MP data, and writes at least the LP data, MP data, and UP data to the memory cell array to generate four different data states in the memory cell array.
[0035] In one example, the memory is a QLC memory. When a part of the storage space in the QLC memory needs to be used as SLC, the peripheral circuit determines MP data according to the received prefix command and the LP data, and writes at least the LP data and the MP data to the memory cell array to generate two different data states in the memory cell array.
[0036] In an embodiment of the present disclosure, the peripheral circuit determines a (n+1)th group of page data according to the received prefix command and the received n groups of page data, writes the n groups of page data and the (n+1)th group of page data to the memory cell array, and writes two memory cells into the memory cell array. n A NAND memory can generate 10 ...
[0037] In addition, the operational mode of determining the (n+1)th group of page data via peripheral circuits inside the memory in the embodiments of the present disclosure is simpler than the logical operations performed by the CPU on the host side, which is beneficial for improving the operational efficiency of the memory while implementing multiple modes of memory cells.
[0038] Furthermore, compared to the solution of developing a generic NAND memory, the use of prefix commands in the operation method provided by the embodiments of the present disclosure may be easier to use and compatible with existing NAND protocols, leading to savings in development costs.
[0039] In some embodiments, when n+1 is equal to m, the prefix command includes a first sub-prefix command A, where the first sub-prefix command A indicates to perform an XOR operation on n groups of page data.
[0040] The above step S201 includes performing, by the peripheral circuitry, an XOR operation on the n groups of page data according to the first sub-prefix command A to generate an m-th group of page data.
[0041] The above step S202 includes writing the n groups of page data and the mth group of page data to the memory cell array to store m bits of information in the memory cells.
[0042] Taking QLC memory as an example, the memory controller sends a first sub-prefix command A, LP data, MP data, and UP data to the peripheral circuit, and the peripheral circuit performs an XOR operation on the LP data, MP data, and UP data according to the first sub-prefix command A to generate XP data. The memory controller sends a write command (e.g., 80h) to the peripheral circuit, and the peripheral circuit starts to write the LP data, MP data, UP data, and XP data to the memory cell array to store 4 bits of information in the memory cell, generating 8 different data states, i.e., a part of the storage space in the QLC memory is used as TLC, as shown in (2) in FIG. 6.
[0043] It should be noted that the first sub-prefix command A is sent before the 80h command. Specifically, FIG. 7(b) shows a write timing diagram to show the use of a part of the storage space in the QLC memory as TLC, and the timing diagram includes a data type signal Cycle Type and a data signal DQx. When writing the TLC mode in the QLC memory, the first sub-prefix command A is sent first, and then the 80h command is sent after determining the XP data. Then, the address signals C1, C2, R1, R2, and R3 are sent during the address period. The address signal can determine the logical address of the memory cell to be written, and the LP data, MP data, UP data, and XP data are written to the memory cell. Here, the logical address includes a logical unit number (lun), a plane, a block, and a page address.
[0044] In a specific example, as shown in FIG. 8(a), the LP data is a (1111111100000000) sequence, the MP data is a (1111000000001111) sequence, and the UP data is a (1100001111000011) sequence. The peripheral circuit performs an XOR operation on the LP data, MP data, and UP data according to the first sub-prefix command A to generate XP data as a (1100110011001100) sequence, and writes the LP data, MP data, UP data, and XP data to the memory cell array, generating eight data states in the memory cell array, as shown in FIG. 8(b), which are erased state E (1111), programmed state P2 (1100), programmed state P4 (1001), programmed state P6 (1010), programmed state P8 (0011), programmed state P10 (0000), programmed state P12 (0101), and programmed state P14 (0110).
[0045] In this example, for the purpose of conveying the present disclosure to those skilled in the art, the LP data is, for example, a (1111111100000000) sequence, the MP data is a (1111000000001111) sequence, and the UP data is (1100001111000011), but it should be noted that the present disclosure is not limited thereto. The LP data, MP data, and UP data can also be other sequences composed of "1" and "0", as long as any eight different data states from the erased state E to the programmed state P15 can be generated in the QLC memory after the XP data is generated by executing the first prefix command A on the LP data, MP data, and UP data.
[0046] Preferably, the LP data is a (1111111100000000) sequence, the MP data is a (1111000000001111) sequence, and the UP data is a (1100001111000011) sequence. As shown in Fig. 8(b), when a part of the storage space in the QLC memory is used as TLC, the threshold voltage difference M2 between two adjacent data states is basically the same, that is, the read margin distribution is relatively uniform, which is beneficial to ensure the accuracy of the read operation when used as TLC.
[0047] In an embodiment of the present disclosure, when n+1 is equal to m, the peripheral circuit may perform an XOR operation on the n groups of page data according to the first sub-prefix command to generate an mth group of page data, and write the n groups of page data and the mth group of page data to the memory cell array. nFor example, if the memory is QLC, a part of the storage space in the QLC memory can be used as TLC, so that the memory has at least two modes of memory cells, which helps to increase the application scenarios of the memory and can better meet the needs of customers while being compatible with mainstream memories.
[0048] In other embodiments, when n+1 is equal to m, the peripheral circuit may also perform an NXOR operation or a copy operation on the n groups of page data according to the prefix command to generate the mth group of page data, where the selection can be made according to the actual situation, and the present disclosure has no special limitation in this regard.
[0049] In some embodiments, before performing step S202, the above operating method further includes the steps of storing the n groups of page data in a plurality of data registers respectively, each data register being used to store a group of page data, and storing the m-th group of page data in a cache register. The peripheral circuit may include a page buffer, and the data register or the cache register may be disposed in the page buffer to buffer the page data.
[0050] 9, the LP data (1111111100000000) is stored in the data register 1, the MP data (1111000000001111) is stored in the data register 2, and the UP data (1100001111000011) is stored in the data register 3. After the XP data (1100110011001100) is generated, the XP data is stored in the cache register, and after receiving the 80h command, the LP data stored in the data register 1, the MP data stored in the data register 2, the UP data stored in the data register 3, and the XP data stored in the cache register are written sequentially to the memory cell array.
[0051] In some embodiments, if the difference between m and n is 2, the prefix command includes a second sub-prefix command B, which indicates to perform a NXOR operation on n groups of page data.
[0052] The above step S201 includes performing, by the peripheral circuitry, a NXOR operation on the n groups of page data according to the second sub-prefix command B to generate the (n+1)th group of page data.
[0053] The above operating method further includes writing an mth group of page data to the memory cell array to store m bits of information in the memory cells, where the mth group of page data is a sequence of all 0s or a sequence of all 1s.
[0054] Still taking QLC memory as an example, the memory controller sends the second sub-prefix command B, the LP data, and the MP data to the peripheral circuit, and the peripheral circuit performs an NXOR operation on the LP data and the MP data according to the second sub-prefix command B to generate UP data. A write command (e.g., 80h) is sent to the peripheral circuit, and the peripheral circuit starts to write the LP data, the MP data, the UP data, and the XP data to the memory cell array to store 4 bits of information in the memory cell and generate four different data states, that is, a part of the storage space in the QLC memory is used as MLC, as shown in (3) in FIG. 6. Here, the XP data is a sequence of all 0s or a sequence of all 1s.
[0055] Please note that the second sub-prefix command B is sent before the 80h command. Specifically, FIG. 7(c) shows a timing diagram when a part of the storage space in the QLC memory is used as MLC. When writing MLC mode in the QLC memory, the second sub-prefix command B is sent first, and then the 80h command is sent after determining the UP data. Then, the address signals C1, C2, R1, R2, and R3 are sent during the address period. The address signals can determine the logical address of the memory cell to be written, and the LP data, MP data, UP data, and XP data are written to the memory cell.
[0056] In a specific example, the LP data is a (1111111100000000) sequence, and the MP data is a (1111000000001111) sequence, as shown in Fig. 8(a). The peripheral circuit performs an NXOR operation on the LP data and the MP data according to the second sub-prefix command B to generate the UP data as a (1111000011110000) sequence, and generate the XP data as a (1111111111111111) sequence, and writes the LP data, the MP data, the UP data, and the XP data into the memory cell array to generate four data states in the memory cell array, as shown in Fig. 8c, the four data states being an erased state E (1111), a programmed state P4 (1001), a programmed state P8 (0011), and a programmed state P12 (0101).
[0057] It should be noted that in this example, the LP data is a (1111111100000000) sequence, the MP data is a (1111000000001111) sequence, and the XP data is a (111111111111111) sequence, which are taken as illustrative examples to convey the present disclosure to those skilled in the art. However, the present disclosure is not limited thereto. The LP data and MP data can also be other sequences composed of "1" and "0", or the XP data can be a sequence of all 0, as long as any four different data states from erased state E to programmed state P15 can be generated in the QLC memory after the second prefix command B is executed on the LP data and MP data to generate UP data.
[0058] Preferably, the LP data is a (11111111000000000) sequence, the MP data is a (1111000000001111) sequence, and the XP data is a (111111111111111) sequence.As shown in Fig. 8(b), when a part of the storage space in the QLC memory is used as MLC, the threshold voltage difference M3 between two adjacent data states is basically the same, that is, the read margin distribution is relatively uniform, which is beneficial to ensure the accuracy of the read operation when used as MLC.
[0059] In an embodiment of the present disclosure, if the difference between m and n is 2, the peripheral circuit may perform an XOR operation on the n groups of page data according to the second sub-prefix command to generate a (n+1)th group of page data, and write the n groups of page data, the (n+1)th group of page data, and the mth group of page data to the memory cell array. nFor example, if the memory is QLC, part of the storage space in the QLC memory can be used as MLC, so that the memory has at least two modes of memory cells, which helps to increase the application scenarios of the memory and can better meet the needs of customers while being compatible with mainstream memories.
[0060] In other embodiments, when the difference between m and n is 2, the peripheral circuit may further perform an XOR operation or a copy operation on the n groups of page data according to the prefix command to generate the (n+1)th group of page data, where the selection can be made according to the actual situation, and the present disclosure has no special limitation in this regard.
[0061] In some embodiments, before performing step S202, the above operating method further includes a step of storing the n groups of page data and the (n+1)th group of page data in a plurality of data registers, respectively, each data register being used to store a group of page data, and before writing the mth group of page data to the memory cell array, the above operating method further includes a step of storing the mth group of page data in a cache register.
[0062] 9, the LP data (11111111000000000) is stored in the data register 1, the MP data (1111000000001111) is stored in the data register 2, and the XP data (11111111111111111) is stored in the cache register. After the UP data is generated, the UP data (1111000011110000) is stored in the data register 3. After receiving the 80h command, the LP data stored in the data register 1, the MP data stored in the data register 2, the UP data stored in the data register 3, and the XP data stored in the cache register are written sequentially to the memory cell array.
[0063] In some embodiments, when the difference between m and n is 3, the prefix command includes a third sub-prefix command C, which indicates that the (n+1)th group of page data is equal to the nth group of page data.
[0064] The above step S201 includes performing, by the peripheral circuitry, a copy operation on the n groups of page data according to the third sub-prefix command C to generate the (n+1)th group of page data.
[0065] The above operating method further includes writing the (n+2)th group of page data and the mth group of page data to the memory cell array to store m bits of information in the memory cells, where the (n+2)th group of page data and the mth group of page data are a sequence of all 0s or a sequence of all 1s.
[0066] Still taking QLC memory as an example, the memory controller sends the third sub-prefix command C and the LP data to the peripheral circuit, and the peripheral circuit performs a copy operation on the LP data according to the third sub-prefix command C to generate MP data. That is, the MP data is the same as the LP data. A write command (e.g., 80h) is sent to the peripheral circuit, and the peripheral circuit starts to write the LP data, the MP data, the UP data, and the XP data to the memory cell array to store 4 bits of information in the memory cell and generate two different data states, that is, a part of the storage space in the QLC memory is used as SLC, as shown in (4) in FIG. 6. Here, the UP data and the XP data are a sequence of all 0s or a sequence of all 1s.
[0067] Please note that the third sub-prefix command C is sent before the 80h command. Specifically, FIG. 7(d) shows a timing diagram when using a part of the storage space in the QLC memory as SLC. When writing SLC mode in the QLC memory, the third sub-prefix command C is sent first, and then the 80h command is sent after determining the UP data. Then, the address signals C1, C2, R1, R2, and R3 are sent during the address period. The address signals can determine the logical address of the memory cell to be written, and the LP data, MP data, UP data, and XP data are written to the memory cell.
[0068] In a specific example, as shown in FIG. 8(a), the LP data is in a (1111111100000000) sequence, and the peripheral circuit performs a copy operation on the LP data according to the third sub-prefix command C to generate MP data as a (1111111111111100000000) sequence, generate UP data as a (111111111111111) sequence, and generate XP data as a (111111111111111) sequence, and write the LP data, MP data, UP data, and XP data into the memory cell array to generate two data states in the memory cell array, which are an erased state E (1111) and a programmed state P8 (0011), respectively, as shown in FIG. 8d.
[0069] It should be noted that in this example, the LP data is a (1111111100000000) sequence, the UP data is a (1111111111111111) sequence, and the XP data is a (111111111111111) sequence, which are taken as illustrative examples to convey the present disclosure to those skilled in the art. However, the present disclosure is not limited thereto. The LP data can also be other sequences composed of "1" and "0", or the UP data and the XP data can also be sequences of all 0, as long as any two different data states from the erased state E to the programmed state P15 can be generated in the QLC memory after the third prefix command C is executed on the LP data to generate the MP data.
[0070] Preferably, the LP data is in a (1111111100000000) sequence, the UP data is in a (1111111111111111) sequence, and the XP data is in a (1111111111111111) sequence. As shown in FIG. 8(b), when a portion of the storage space in the QLC memory is used as SLC, the threshold voltage difference M4 between the erased state E and the programmed state P8 is relatively large, which means that It is useful to ensure the accuracy of the read operation when used as MLC.
[0071] In an embodiment of the present disclosure, when the difference between m and n is 3, the peripheral circuit may perform copy operations on the n groups of page data according to the third sub-prefix command to generate an (n+1)th group of page data, and write the n groups of page data, the (n+1)th group of page data, the (n+2)th group of page data, and the mth group of page data to the memory cell array. nFor example, if the memory is QLC, a part of the storage space in the QLC memory can be used as SLC, so that the memory has at least two modes of memory cells, which helps to increase the application scenarios of the memory and can better meet the needs of customers while being compatible with mainstream memories.
[0072] In some embodiments, before performing step S202, the above operating method further includes a step of storing the n groups of page data and the (n+1)th group of page data in a plurality of data registers, respectively, wherein each data register is used to store a group of page data.
[0073] Before writing the (n+2)th group of page data and the mth group of page data to the memory cell array, the above operating method further includes storing the (n+2)th group of page data in a data register and storing the mth group of page data in a cache register.
[0074] 9, the LP data (1111111100000000) is stored in the data register 1, the UP data (1111111111111111) is stored in the data register 3, and the XP data (1111111111111111) is stored in the cache register. After the MP data is generated, the MP data (11111111100000000) is stored in the data register 2. After receiving the 80h command, the LP data stored in the data register 1, the MP data stored in the data register 2, the UP data stored in the data register 3, and the XP data stored in the cache register are written sequentially to the memory cell array.
[0075] In some embodiments, before determining the (n+1)th group of page data, the above method of operation further comprises: determining whether the peripheral circuit receives a prefix command and generating a determination result; When the determining result indicates that the peripheral circuit has received a prefix command, determining an (n+1)th group of page data according to the received prefix command and the n groups of page data; If the determination result indicates that the peripheral circuit has not received the prefix command, m writing m groups of page data to the memory cell array to generate m different data states; Further includes:
[0076] Still taking QLC memory as an example, the logic control unit in the peripheral circuit can read the command register, and determine whether the command register stores a prefix command (e.g., a first sub-prefix command, a second sub-prefix command, or a third sub-prefix command) according to the read result. If the read result indicates that a prefix command is stored in the command register, the peripheral circuit determines a (n+1)th group of page data according to the prefix command and the n groups of page data, that is, a part of the storage space of the QLC memory is used as TLC, MLC, or SLC.
[0077] If the read result indicates that there is no prefix command stored in the command register, the 80h command is sent to the peripheral circuit, which stores m bits of information in the memory cell and 2 bits in the memory cell array. m To generate m different data states, m groups of page data are written to a memory cell array, where the storage space for writing the m groups of page data is used as a QLC, as shown in (1) in FIG.
[0078] In a specific example, as shown in FIG. 8(a), the LP data is a (11111111000000000) sequence, the MP data is a (1111000000001111) sequence, the UP data is a (1100001111000011) sequence, and the XP data is a (1001100110011001) sequence. The peripheral circuit writes LP data, MP data, UP data, and XP data to the memory cell array according to the 80h command, and generates 16 data states in the memory cell array as shown in FIG. 8(a), which are erased state E(1111), program state P1(1110), program state P2(1100), program state P3(1101), program state P4(1001), program state P5(1000), program state P6(1010), program state P7(1011), program state P8(0011), program state P9(0010), program state P10(0000), program state P11(0001), program state P12(0101), program state P13(0100), program state P14(0110), and program state P15(0111).
[0079] In an embodiment of the present disclosure, by determining whether the peripheral circuit receives a prefix command and generating a determination result, it is determined whether to use a portion of the storage space of the QLC memory as at least one of SLC, MLC, and TLC according to the determination result, which is helpful for accurately configuring the NAND memory.
[0080] In some embodiments, the method of operation further includes storing, by the peripheral circuitry, a group of the page data of the n groups of page data in a spare data register if the data register is corrupted. For example, referring to FIG. 9, if data register 1 is corrupted, the peripheral circuitry stores the LP data in spare data register 4, and / or if data register 2 is corrupted, the peripheral circuitry stores the MP data in spare data register 5, etc.
[0081] It should be noted that in this example, only two spare data registers are shown, and the number of spare data registers in the memory is not limited to two, but can be one, three, or more, which is not limited in this disclosure. In practical applications, the number of spare data registers can be reasonably set according to requirements.
[0082] An embodiment of the present disclosure also provides a memory controller. The memory controller is coupled to a memory. The memory includes a memory cell array and a peripheral circuit coupled to the memory cell array. The memory cell array includes memory cells capable of storing m bits of information, where m is a positive integer greater than 1. The memory controller controls the peripheral circuit to determine an (n+1)th group of page data according to a prefix command and the n groups of page data, and to store the (n+1)th group of page data in the memory cell array. n The memory device is configured to send a prefix command and n groups of page data to the peripheral circuitry to generate n different data states, where n is a positive integer and n+1 is a positive integer less than or equal to n.
[0083] In some embodiments, the prefix command includes a first sub-prefix command that is used to indicate that an XOR operation is to be performed on n groups of page data.
[0084] The memory controller is specifically configured to send the first sub-prefix command and the n groups of page data to the peripheral circuitry to cause the peripheral circuitry to perform an XOR operation on the n groups of page data in accordance with the first sub-prefix command to generate an mth group of page data, where n+1 is equal to m.
[0085] In some embodiments, the prefix command includes a second sub-prefix command that is used to indicate that a NXOR operation is to be performed on n groups of page data.
[0086] The memory controller is specifically configured to send the second sub-prefix command and the n groups of page data to the peripheral circuitry to cause the peripheral circuitry to perform an XOR operation on the n groups of page data in accordance with the second sub-prefix command to generate an (n+1)th group of the page data.
[0087] The memory controller is further configured to send the mth group of the page data to the peripheral circuitry, where the mth group of the page data is a sequence of all 0s or a sequence of all 1s, and the difference between m and n is 2.
[0088] In some embodiments, the prefix command includes a third sub-prefix command that is used to indicate that the (n+1)th group of page data is equal to the nth group of page data.
[0089] The memory controller is specifically configured to send a third sub-prefix command and the n groups of page data to the peripheral circuitry to cause the peripheral circuitry to perform a copy operation on the n groups of page data in accordance with the third sub-prefix command to generate an (n+1)th group of the page data.
[0090] The memory controller is further configured to send the (n+2)th group of page data and the mth group of page data to the peripheral circuitry, where the (n+2)th group of page data and the mth group of page data are a sequence of all 0s or a sequence of all 1s, and a difference between m and n is 3.
[0091] In some embodiments, after sending the prefix command, the memory controller is further configured to send a write command to the peripheral circuitry to cause the peripheral circuitry to write at least the n groups of the page data and the (n+1)th group of the page data to the memory cell array in accordance with the write command.
[0092] FIG. 10 is a schematic diagram of a memory 100 shown in accordance with an embodiment of the present disclosure. Referring to FIG. 10, the memory 100 includes: a memory cell array 101 including memory cells 106 capable of storing m bits of information; A peripheral circuit 102 coupled to the memory cell array 101; Including, The peripheral circuit 102 is configured to determine an (n+1)th group of page data according to the received prefix command and the received n groups of page data, where n is a positive integer and n+1 is a positive integer less than or equal to m; The peripheral circuit 102 is provided in the memory cell array 101. n The memory cell array 101 is further configured to write the n groups of page data and the (n+1)th group of page data to generate the n different data states.
[0093] The memory cell array 101 may be an array of NAND flash memory cells. The memory cell array 101 is provided in the form of an array of NAND memory strings 108, with each NAND memory string 108 extending vertically. In some implementations, each NAND memory string 108 includes multiple memory cells 106 coupled in series and stacked vertically. Each memory cell 106 may hold a continuous analog value, such as a voltage or charge, depending on the number of electrons trapped within the area of the memory cell 106. Each memory cell 106 may be a floating gate type memory cell including a floating gate transistor, or a charge trap type memory cell including a charge trap transistor.
[0094] In some implementations, each memory cell 106 is a single-level cell that has two possible data states and can therefore store one bit of data. For example, a first data state "0" may correspond to a first voltage range and a second data state "1" may correspond to a second voltage range.
[0095] In some embodiments, each memory cell 106 is a cell that can store two or more bits of data in five or more data states. For example, two bits per cell can be stored (also called multi-level cells), three bits per cell can be stored (also called triple-level cells), or four bits per cell can be stored (also called quad-level cells). Each multi-level cell can be programmed to assume a range of possible nominal storage values. In one example, if each multi-level cell stores two bits of data, the multi-level cell can be written to assume one of three possible data states from an erased state by writing one of three possible nominal storage values to the cell. A fourth nominal storage value can be used for the erased state.
[0096] 10, each NAND memory string 108 may include a source select transistor (SST) 110 at its source terminal and a drain select transistor (DST) 112 at its drain terminal. The source select transistor 110 and the drain select transistor 112 may be configured to activate a selected NAND memory string 108 (a column of the array) during read and write operations.
[0097] In some implementations, the sources of the NAND memory strings 108 in the same memory block 104 are coupled via the same source line (SL) 114. In other words, according to some implementations, all the NAND memory strings 108 in the same memory block 104 have an array common source (ACS).
[0098] According to some implementations, the drain select transistor 112 of each NAND memory string 108 is coupled to a corresponding bit line 116 from which data can be read or written via an output bus (not shown).
[0099] In some implementations, each NAND memory string 108 is configured to apply a select voltage (e.g., higher than the threshold voltage of the drain select transistor 112) or a non-select voltage (e.g., 0V) to a corresponding drain select gate via one or more drain select gate lines 111, where the select voltage is used to turn on the drain select transistor 112 and the non-select voltage is used to turn off the drain select transistor 112. And / or, in some implementations, each NAND memory string 108 is configured to apply a select voltage (e.g., higher than the threshold voltage of the source select transistor 110) or a non-select voltage (e.g., 0V) to a corresponding source select gate via one or more source select gate lines 115, where the select voltage is used to turn on the source select transistor 110 and the non-select voltage is used to turn off the source select transistor 110.
[0100] 10, the NAND memory strings 108 may be organized into multiple memory blocks 104, each of which may have a common source line 114 (e.g., coupled to ground). In some implementations, each memory block 104 is the basic data unit for an erase operation, i.e., all memory cells on the same memory block 104 are erased at the same time.
[0101] In some examples, erase operations may be performed at a half-block level, a quarter-block level, or any suitable number of blocks or percentages of blocks. Memory cells 106 of adjacent NAND memory strings 108 may be coupled by word lines 118 that select which rows of memory cells 106 are affected by read and write operations.
[0102] In some implementations, each word line 118 is referred to as a memory page 120. The size of the memory page 120 in bits may be related to the number of NAND memory strings 108 coupled by the word line 118 in the memory block 104. Each word line 118 may include multiple control gates (gate electrodes) at each memory cell 106 in the corresponding memory page 120 and gate lines coupling the control gates. A row of memory cells may be understood to be multiple memory cells 106 arranged in the same memory page 120.
[0103] 11 is a cross-sectional view of a NAND memory string 108 shown in accordance with an embodiment of the present disclosure. As shown in FIG. 11, the NAND memory string 108 may extend vertically through the memory stack layers 204 and onto a substrate 202. The substrate 202 may include silicon (e.g., single crystal silicon), silicon germanium (SiGe), gallium arsenide (GaAs), germanium (Ge), silicon-on-insulator (SOI), germanium-on-insulator (GOI), or any other suitable material.
[0104] The memory stack layers 204 may include alternating gate conductive layers 206 and gate dielectric layers 208. The number of pairs of gate conductive layers 206 and gate dielectric layers 208 in the memory stack layers 204 may determine the number of memory cells 106 in the memory cell array 101.
[0105] The gate conductive layer 206 may include a conductive material including, but not limited to, tungsten (W), cobalt (Co), copper (Cu), aluminum (Al), polysilicon, doped silicon, silicide, or any combination thereof. In some implementations, each gate conductive layer 206 may include a metal layer, such as a tungsten layer. In some implementations, each gate conductive layer 206 may include a doped polysilicon layer. Each gate conductive layer 206 may include a control gate surrounding the memory cell 106, and may extend laterally at the top of the memory stack layer 204 as a drain select gate line 111, extend laterally at the bottom of the memory stack layer 204 as a source select gate line 115, or extend laterally between the drain select gate line 111 and the source select gate line 115 as a word line 118.
[0106] As shown in FIG. 11 , the NAND memory string 108 includes a channel structure 212 that extends vertically through the memory stack layers 204. In some embodiments, the channel structure 212 includes a channel hole filled with a semiconductor material (e.g., as the semiconductor channel 220) and a dielectric material (e.g., as the storage film 218). In some embodiments, the semiconductor channel 220 includes silicon, e.g., polysilicon. In some embodiments, the storage film 218 is a composite dielectric layer including a tunnel layer 226, a storage layer 224 (also referred to as a “charge trap / storage layer”), and a barrier layer 222. The channel structure 212 may have a cylindrical shape (e.g., a pillar shape). According to some embodiments, the semiconductor channel 220, the tunnel layer 226, the storage layer 224, and the barrier layer 222 are radially arranged in this order from the center of the cylinder toward the outer surface of the cylinder. The tunnel layer 226 may include silicon oxide, silicon oxynitride, or any combination thereof. The storage layer 224 may include silicon nitride, silicon oxynitride, or any combination thereof. The barrier layer 222 may include silicon oxide, silicon oxynitride, a high dielectric constant (high-k) dielectric, or any combination thereof. In one example, the storage film 218 may include a composite layer of silicon oxide / silicon oxynitride / silicon oxide (ONO).
[0107] According to some embodiments, as shown in Figure 11, a well 214 (e.g., a P-well and / or an N-well) is formed in the substrate 202, and the source terminal of the NAND memory string 108 is in contact with the well 214. In some implementations, the NAND memory string 108 further includes a channel plug 216 at the drain terminal of the NAND memory string 108. Although not shown in Figure 11, it should be understood that additional components of the memory cell array 101 may be formed, including, but not limited to, gate line gap / source contacts, local contacts, interconnect layers, etc.
[0108] 10 , the peripheral circuitry 102 may be coupled to the memory cell array 101 via bit lines 116, word lines 118, source lines 114, source select gate lines 115, and drain select gate lines 111. The peripheral circuitry 102 may include any suitable analog, digital, and mixed-signal circuitry for applying voltage and / or current signals to each memory cell 106 via the bit lines 116, word lines 118, source lines 114, source select gate lines 115, and drain select gate lines 111, and sensing voltage and / or current signals from each memory cell 106 to facilitate operation of the memory cell array 101.
[0109] In some embodiments, when n+1 is equal to m, the prefix command includes a first sub-prefix command, where the first sub-prefix command indicates to perform an XOR operation on n groups of page data.
[0110] The peripheral circuit 102 is specifically configured to perform an XOR operation on the n groups of the page data according to the first sub-prefix command to generate an mth group of the page data.
[0111] The peripheral circuit 102 is also specifically configured to write the n groups of page data and the mth group of page data to the memory cell array to store m bits of information in the memory cells.
[0112] In some embodiments, the peripheral circuitry 102 includes: a plurality of data registers used to store n groups of page data, each data register used to store a group of page data; a cache register used to store the mth group of page data; Includes.
[0113] In some embodiments, the peripheral circuitry 102 includes: A spare data register is included which is used to store a group of page data within the n groups of page data when a data register is corrupted.
[0114] In some embodiments, if the difference between m and n is 2, the prefix command includes a second sub-prefix command, where the second sub-prefix command indicates to perform a NXOR operation on n groups of page data.
[0115] The peripheral circuit 102 is specifically configured to perform a NXOR operation on the n groups of the page data according to the second sub-prefix command to generate an (n+1)th group of the page data.
[0116] The peripheral circuit 102 is further configured to write an mth group of page data to the memory cell array to store m bits of information in the memory cells, where the mth group of page data is a sequence of all 0s or a sequence of all 1s.
[0117] In some embodiments, the peripheral circuitry 102 includes: a plurality of data registers used to store n groups of page data and an (n+1)th group of page data, each data register used to store a group of page data; a cache register used to store the mth group of page data; Includes.
[0118] In some embodiments, if the difference between m and n is 3, the prefix command includes a third sub-prefix command, where the third sub-prefix command indicates that the (n+1)th group of page data is equal to the nth group of page data.
[0119] The peripheral circuit 102 is specifically configured to perform copy operations on the n groups of the page data according to the third sub-prefix command to generate an (n+1)th group of the page data.
[0120] The peripheral circuit 102 is further configured to write the (n+2)th group of page data and the mth group of page data to the memory cell array to store m bits of information in the memory cells, where the (n+2)th group of page data and the mth group of page data are a sequence of all 0s or a sequence of all 1s.
[0121] In some embodiments, the peripheral circuitry 102 includes: a plurality of data registers used to store n groups of page data, an (n+1)th group of page data, and an (n+2)th group of page data, each data register used to store a group of page data; a cache register used to store the mth group of page data; Includes.
[0122] In some embodiments, the peripheral circuitry 102 includes: determining whether a prefix command has been received prior to determining the (n+1)th group of page data, and generating a determination result; If the determining result indicates that a prefix command is received, determining a (n+1)th group of page data according to the received prefix command and the n groups of page data; If the determination result indicates that the prefix command has not been received, then 2 m Writing m groups of page data to the memory cell array to generate m different data states. The method is further configured as follows.
[0123] The peripheral circuits 102 may include various types of peripheral circuits formed using metal oxide semiconductor (MOS) technology. For example, FIG. 12 illustrates some exemplary peripheral circuits 102 including a page buffer / sense amplifier 304, a column decoder / bitline (BL) driver 306, a row decoder / wordline (WL) driver 308, a voltage generator 310, a control logic unit 312, a register 314, an interface 316, and a data bus 318. It should be understood that in some examples, additional peripheral circuits not illustrated in FIG. 12 may also be included.
[0124] The page buffer / sense amplifier 304 may be configured to read data from and write (program) data to the memory cell array 101 according to control signals from the control logic unit 312. In one example, the page buffer / sense amplifier 304 may store a page of write data (programmed data) to be programmed into one memory page 120 of the memory cell array 101. In another example, the page buffer / sense amplifier 304 may perform a program verify operation to ensure that data has been properly programmed into the memory cells 106 coupled to the selected word line 118. In yet another example, the page buffer / sense amplifier 304 may further sense low-power signals from the bit lines 116 representing data bits stored in the memory cells 106 and amplify small voltage swings to recognizable logic levels during a read operation. The column decoder / bit line driver 306 may be configured to select one or more NAND memory strings 108 by applying bit line voltages generated from the voltage generator 310 under the control of the control logic unit 312.
[0125] The row decoder / word line driver 30 may be controlled by a control logic unit 312 and configured to select / deselect memory blocks 104 of the memory cell array 101 and to select / deselect word lines of the memory blocks 104. The row decoder / word line driver 308 receives a word line voltage (V WL) to drive the word lines 118. In some implementations, the row decoder / word line driver 308 may also select / deselect and drive the source select gate lines 115 and the drain select gate lines 111. As described in more detail below, the row decoder / word line driver 308 is configured to perform an erase operation on the memory cells 106 coupled to the selected word lines 118. The voltage generator 310 is controlled by the control logic unit 312 and may be configured to generate word line voltages (e.g., read voltages, write voltages, pass voltages, local voltages, verify voltages, etc.), bit line voltages, and source line voltages to be supplied to the memory cell array 101.
[0126] The control logic unit 312 may be coupled to each of the peripheral circuits described above and configured to control the operation of each of the peripheral circuits. The register 314 may be coupled to the control logic unit 312 and may include a status register, a command register, and an address register for storing status information, a command operation code (OP code), and a command address for controlling the operation of each peripheral circuit. The interface 316 may be coupled to the control logic unit 312 and may function as a control buffer to buffer and relay control commands received from a host (not shown) to the control logic unit 312 and to buffer and relay status information received from the control logic unit 312 to the host. The interface 316 may also be coupled to the column decoder / bit line driver 306 via a data bus 318 and may function as a data I / O interface and a data buffer to buffer and relay data to and from the memory cell array 101.
[0127] It should be emphasized that the peripheral circuitry 102 is configured to perform write operations provided by embodiments of the present disclosure on selected rows of memory cells among a plurality of rows of memory cells.
[0128] 13 is a schematic diagram of a memory system 400 shown in accordance with an embodiment of the present disclosure. Referring to FIG. 13, the memory system 400 includes: One or more memories 100 as described in the above embodiments; a memory controller 406 as described in the above embodiments, coupled to the memory 100 and configured to control the memory 100; Includes.
[0129] System 400 may be a mobile phone, a desktop computer, a laptop computer, a tablet computer, an in-vehicle computer, a game console, a printer, a pointing device, a wearable electronic device, a smart sensor, a virtual reality (VR) device, an augmented reality (AR) device, or any other suitable electronic device having storage therein.
[0130] As shown in Fig. 13, the system 400 may include a host 408 and a storage subsystem 402 having one or more memories 100. The storage subsystem further includes a memory controller 406. The host 408 may be a processor (e.g., a central processing unit (CPU)) or a system on a chip (SoC) (e.g., an application processor (AP)) of an electronic device. The host 408 may be configured to transmit data to the memory 100. Or, the host 408 may be configured to receive data from the memory 100.
[0131] Memory 100 can be any memory device disclosed in this disclosure. Memory 100 (e.g., a NAND flash memory device (e.g., a three-dimensional (3D) NAND flash memory device)) can reduce leakage current from drive transistors (e.g., string drivers) coupled to unselected word lines during erase operations, which allows for further size reduction of the drive transistors.
[0132] According to some implementations, the memory controller 406 is further coupled to a host 408. The memory controller 406 may manage the data stored in the memory 100 and communicate with the host 408.
[0133] In some implementations, the memory controller 406 is designed to operate in low duty cycle environments, such as Secure Digital (SD) cards, Compact Flash (CF) cards, Universal Serial Bus (USB) flash drives, or other media for use in electronic devices such as personal computers, digital cameras, mobile phones, etc.
[0134] In some implementations, the memory controller 406 is designed for operation in a high duty cycle environment in a solid state drive (SSD) or embedded multimedia card (eMMC). SSDs or eMMCs are used as data storage for mobile devices such as smartphones, tablet computers, laptop computers, and enterprise memory arrays.
[0135] The memory controller 406 may be configured to control operations of the memory 100, such as read, erase, and program operations. The memory controller 406 may be further configured to manage various functions related to data stored or to be stored in the memory 100, including, but not limited to, bad block management, garbage collection, logical-to-physical address translation, wear leveling, etc. In some implementations, the memory controller 406 is further configured to process error correcting codes (ECC) on data read from or written to the memory 100.
[0136] The memory controller 406 may further perform any other suitable functions, such as formatting the memory 100. The memory controller 406 may communicate with an external device (e.g., the host 408) according to a particular communication protocol. For example, the memory controller 406 may communicate with the external device via at least one of a variety of interface protocols, such as a USB protocol, an MMC protocol, a Peripheral Component Interconnect (PCI) protocol, a PCI Express (PCI-E) protocol, an Advanced Technology Attachment (ATA) protocol, a Serial ATA protocol, a Parallel ATA protocol, a Small Computer Small Interface (SCSI) protocol, an Enhanced Small Disk Interface (ESDI) protocol, an Integrated Device Electronics (IDE) protocol, a Firewire protocol, and the like.
[0137] The memory controller 406 and one or more memories 100 may be integrated into various types of storage devices, for example, contained within the same package (e.g., a Universal Flash Storage (UFS) package or an eMMC package), i.e., the memory system 400 may be implemented and packaged in various types of end electronic products.
[0138] 14, the memory controller 406 and the single memory 100 may be integrated into a memory card 502. The memory card 502 may include a PC card (PCMCIA, Personal Computer Memory Card International Association), a CF card, a SmartMedia (SM) card, a memory stick, a MultiMedia Card (MMC, ES-MMC, MMCmicro), an SD card (SD, miniSD, microSD, SDHC), UFS, etc. The memory card 502 may further include a memory card connector 504 that couples the memory card 502 with a host (e.g., host 408 in FIG. 13).
[0139] 14b, the memory controller 406 and the multiple memories 100 may be integrated into a solid-state drive (SSD) 506. The solid-state drive 506 may further include a solid-state drive connector 508 that couples the solid-state drive 506 to a host (e.g., the host 408 in FIG. 13). In some implementations, the storage capacity and / or operating speed of the solid-state drive 506 is greater than the storage capacity and / or operating speed of the memory card 502.
[0140] It can be understood that the memory controller 406 can perform the operational methods provided by any embodiment of the present disclosure.
[0141] Obviously, the above-mentioned embodiment is not limited to the implementation, but is merely an example for clear description. Those skilled in the art can make other changes or modifications in various forms based on the above description. It is not necessary and impossible to exhaustively list all the implementation forms in this specification. Any obvious changes or modifications derived therefrom fall within the scope of protection created by the present disclosure. [Explanation of symbols]
[0142] 1 Data Register 2 Data Register 3 Data Register 4 Reserved Data Registers 5 Reserved Data Registers 10 Memory System 11 Controller 12 Memory Cell Array 13 Scrambler 14 ECC Encoder 15 ECC Decoder 16 Descrambler 100 Memory 101 Memory cell array 102 Peripheral Circuit 104 Memory Blocks 106 memory cells 108 NAND memory strings 110 Source select transistor (SST), source select transistor 111 Drain select gate line 112 Drain select transistor (DST), drain select transistor 114 Source Line (SL), Source Line 115 Source Select Gate Line 116 bit lines 118 Word Line 120 memory pages 202 Substrate 204 Memory Stack Layers 206 Gate Conductive Layer 208 Gate dielectric layer 212 Channel Structure 214 well 216 Channel Plug 218 Memory Membrane 220 Semiconductor Channels 222 Barrier Layer 224 Memory layer 226 Tunnel Layer 304 Page Buffer / Sense Amplifier 306 Column Decoder / Bit Line (BL) Driver 308 Row Decoder / Word Line (WL) Driver 310 Voltage Generator 312 Control Logic Unit 314 Registers 316 Interface 318 Data Bus 400 Memory System 402 Memory Subsystem 406 Memory Controller 408 Host 502 Memory Card 504 memory card connector 506 Solid State Drive (SSD), Solid State Drive 508 Solid State Drive Connector
Claims
1. 1. A method of operation for a memory system, the memory system comprising a memory, the memory comprising a memory cell array and peripheral circuitry coupled to the memory cell array, the memory cell array comprising memory cells capable of storing m bits of information, m being a positive integer greater than 1, the method of operation comprising: determining, by the peripheral circuit, a (n+1)th group of page data according to the received prefix command and the received n groups of page data, where n is a positive integer and n+1 is a positive integer less than or equal to m; The memory cell array includes n writing the n groups of the page data and the (n+1)th group of the page data to the memory cell array to generate n different data states; 4. A method of operation comprising:
2. when n+1 is equal to m, the prefix command includes a first sub-prefix command, the first sub-prefix command indicating to perform an XOR operation on n groups of the page data; determining, by the peripheral circuitry, the (n+1)th group of page data according to the received prefix command and the n groups of page data; performing, by the peripheral circuitry, the XOR operation on the n groups of the page data in accordance with the first sub-prefix command to generate an mth group of page data; writing the n groups of page data and the (n+1)th group of page data to the memory cell array; 2. The method of claim 1, comprising writing the n groups of the page data and the mth group of the page data to the memory cell array to store m bits of information in the memory cells.
3. Before writing the n groups of page data and the mth group of page data to the memory cell array, the method further comprises: storing the n groups of page data in a plurality of data registers, each of the data registers being used to store a group of page data; storing the mth group of page data in a cache register; The method of claim 2 further comprising:
4. if the difference between m and n is 2, the prefix command includes a second sub-prefix command, the second sub-prefix command indicating to perform a NXOR operation on n groups of the page data; determining, by the peripheral circuitry, the (n+1)th group of page data according to the received prefix command and the n groups of page data; performing, by the peripheral circuitry, the NXOR operation on the n groups of the page data in accordance with the second sub-prefix command to generate an (n+1)th group of the page data; The method of operation comprises:
2. The method of claim 1, further comprising writing an mth group of page data to the memory cell array to store m bits of information in the memory cells, the mth group of page data being a sequence of all 0's or a sequence of all 1's.
5. if the difference between m and n is 3, the prefix command includes a third sub-prefix command, the third sub-prefix command indicating that the (n+1)th group of the page data is equal to the nth group of the page data; determining, by the peripheral circuitry, the (n+1)th group of page data according to the received prefix command and the n groups of page data; performing, by the peripheral circuitry, a copy operation on the n groups of the page data in accordance with the third sub-prefix command to generate an (n+1)th group of the page data; The method of operation comprises:
2. The method of claim 1, further comprising: writing the (n+2)th group of page data and the mth group of page data to the memory cell array to store m bits of information in the memory cells, wherein the (n+2)th group of page data and the mth group of page data are a sequence of all 0's or a sequence of all 1's.
6. Prior to determining the (n+1)th group of page data, the method further comprises: determining whether the prefix command has been received and generating a determination result; if the determining result indicates that the prefix command is received, determining the (n+1)th group of the page data according to the received prefix command and the n groups of the page data; The method of claim 1 further comprising:
7. If the determination result indicates that the prefix command has not been received, m The method of claim 6 , wherein m groups of page data are written to the memory cell array to generate m different data states.
8. A memory controller, the memory controller coupled to a memory, the memory comprising a memory cell array and a peripheral circuit coupled to the memory cell array, the memory cell array including memory cells capable of storing m bits of information, m being a positive integer greater than 1, the memory controller comprising: a (n+1)th group of page data according to a prefix command and the n groups of page data; n and configured to send the prefix command and n groups of the page data to the peripheral circuitry to generate n different data states, where n is a positive integer and n+1 is a positive integer less than or equal to m.
9. the prefix command includes a first sub-prefix command, the first sub-prefix command is used to indicate that an XOR operation is to be performed on n groups of the page data; 9. The memory controller of claim 8, wherein the memory controller is specifically configured to send the first sub-prefix command and the n groups of page data to the peripheral circuitry to cause the peripheral circuitry to perform the XOR operation on the n groups of page data in accordance with the first sub-prefix command to generate an mth group of page data.
10. the prefix command includes a second sub-prefix command, the second sub-prefix command is used to indicate that a NXOR operation is to be performed on n groups of the page data; the memory controller is specifically configured to send the second sub-prefix command and the n groups of page data to the peripheral circuitry to cause the peripheral circuitry to perform the XOR operation on the n groups of page data in accordance with the second sub-prefix command to generate an (n+1)th group of the page data; 9. The memory controller of claim 8, wherein the memory controller is further configured to send an mth group of page data to the peripheral circuitry, the mth group of page data being a sequence of all 0s or a sequence of all 1s, and a difference between m and n is 2.
11. the prefix command includes a third sub-prefix command, the third sub-prefix command being used to indicate that the (n+1)th group of page data is equal to the nth group of page data; the memory controller is specifically configured to send the third sub-prefix command and the n groups of page data to the peripheral circuitry to cause the peripheral circuitry to perform a copy operation on the n groups of page data in accordance with the third sub-prefix command to generate an (n+1)th group of the page data; 9. The memory controller of claim 8, wherein the memory controller is further configured to send an (n+2)th group of page data and an mth group of page data to the peripheral circuitry, wherein the (n+2)th group of page data and the mth group of page data are a sequence of all zeros or a sequence of all ones, and a difference between m and n is 3.
12. The memory controller, 9. The memory controller of claim 8, further configured to: after sending the prefix command, send the write command to the peripheral circuitry to cause the peripheral circuitry to write at least the n groups of the page data and the (n+1)th group of the page data to the memory cell array according to the write command.
13. a memory cell array including memory cells capable of storing m bits of information; peripheral circuitry coupled to the memory cell array; A memory comprising: The peripheral circuit is configured to determine an (n+1)th group of page data according to a received prefix command and the received n groups of page data, where n is a positive integer and n+1 is a positive integer less than or equal to m; The peripheral circuit includes two n the nth group of page data and the (n+1)th group of page data to the memory cell array to generate n different data states.
14. when n+1 is equal to m, the prefix command includes a first sub-prefix command, the first sub-prefix command indicating to perform an XOR operation on n groups of the page data; the peripheral circuitry is specifically configured to perform the XOR operation on the n groups of the page data according to the first sub-prefix command to generate an m group of page data; 14. The memory of claim 13, wherein the peripheral circuitry is further configured to: write the n groups of the page data and the mth group of the page data to the memory cell array, specifically to store m bits of information in the memory cells.
15. The peripheral circuit is a plurality of data registers used to store n groups of the page data, each of the data registers being used to store a group of page data; a cache register used to store the mth group of page data; The memory of claim 14 comprising:
16. The peripheral circuit is a spare data register used to store the n groups of page data when the data register is corrupted; The memory of claim 15 comprising:
17. if the difference between m and n is 2, the prefix command includes a second sub-prefix command, the second sub-prefix command indicating to perform a NXOR operation on n groups of the page data; the peripheral circuitry is specifically configured to perform the NXOR operation on the n groups of the page data in accordance with the second sub-prefix command to generate an (n+1)th group of the page data; 14. The memory of claim 13, wherein the peripheral circuitry is further configured to write an mth group of page data to the memory cell array to store m bits of information in the memory cells, the mth group of page data being a sequence of all 0's or a sequence of all 1's.
18. if the difference between m and n is 3, the prefix command includes a third sub-prefix command, the third sub-prefix command indicating that the (n+1)th group of page data is equal to the nth group of page data; the peripheral circuitry is specifically configured to perform copy operations on the n groups of the page data in accordance with the third sub-prefix command to generate an (n+1)th group of the page data; 14. The memory of claim 13, wherein the peripheral circuitry is further configured to write an (n+2)th group of page data and an mth group of page data to the memory cell array to store m bits of information in the memory cells, the (n+2)th group of page data and the mth group of page data being a sequence of all zeros or a sequence of all ones.
19. The peripheral circuit is determining whether the prefix command has been received prior to determining the (n+1)th group of page data, and generating a determination result; If the determining result indicates that the prefix command is received, determining the (n+1)th group of page data according to the received prefix command and the n groups of page data. The memory of claim 13 further configured to:
20. When the determination result indicates that the prefix command has not been received, the peripheral circuit m 20. The memory of claim 19, further configured to write m groups of page data to the memory cell array to generate m different data states.
21. One or more memories according to any one of claims 13 to 20; A memory controller according to any one of claims 8 to 12, coupled to the memory and configured to control the memory; A memory system comprising:
Citation Information
Patent Citations
Memory device with different bits per cell on different word lines in a block
US10748619B1
Prefix opcode method for SLC entry with auto-exit option
US20190042130A1
Storage system with reconfigurable number of bits per cell
US20190227751A1