Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
First Claim
1. A method of operating a non-volatile memory system including a controller circuit and a memory circuit connected to the controller circuit over a bus structure, the memory circuit having a first section of non-volatile memory storing data in binary format and a second section of non-volatile memory storing data in an N-bit per cell multi-state format, where N is an integer two or greater, the method comprising:
- receiving from a host a plurality of at least N pages of data at the controller circuit;
transferring the plurality of pages from the controller circuit to the memory circuit over the bus structure;
writing the plurality of pages on a corresponding plurality of word lines in the first section of the memory circuit;
writing N pages of data from the corresponding N word lines of the first section of memory on to a single word line of the second section of the memory circuit;
reading a first of the pages of data as written from the second section of the memory and as written from the first section of the memory;
performing on the memory circuit a comparison of first page of data as read from the second section of the memory with the first page of data as read from the first section;
based on the comparison, determining whether the first page of data as written into the second section is potentially corrupted.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for a post-write read are presented. In an exemplary embodiment, host data is initially written into the non-volatile memory in binary form, such as a non-volatile binary cache. It is then subsequently written from the binary section into a multi-state non-volatile section of the memory. After being written in multi-state format, pages of data from a multi-state block can then be checked against there source pages in the binary section to verify the quality of the multi-state write. This process can be performed on the memory device itself, without transferring the pages out to the controller.
-
Citations
21 Claims
-
1. A method of operating a non-volatile memory system including a controller circuit and a memory circuit connected to the controller circuit over a bus structure, the memory circuit having a first section of non-volatile memory storing data in binary format and a second section of non-volatile memory storing data in an N-bit per cell multi-state format, where N is an integer two or greater, the method comprising:
-
receiving from a host a plurality of at least N pages of data at the controller circuit; transferring the plurality of pages from the controller circuit to the memory circuit over the bus structure; writing the plurality of pages on a corresponding plurality of word lines in the first section of the memory circuit; writing N pages of data from the corresponding N word lines of the first section of memory on to a single word line of the second section of the memory circuit; reading a first of the pages of data as written from the second section of the memory and as written from the first section of the memory; performing on the memory circuit a comparison of first page of data as read from the second section of the memory with the first page of data as read from the first section; based on the comparison, determining whether the first page of data as written into the second section is potentially corrupted. - View Dependent Claims (5, 6, 8)
-
-
2. The method of 1, wherein said determining is performed on the memory circuit.
-
3. The method of 2, further comprising:
in response to determining that the first page of data as written into the second section is potentially corrupted, sending an indication thereof from the memory circuit to the controller circuit.
-
4. The method of 3, further comprising:
-
performing a further determination on the controller circuit of whether the first page of data as written into the second section is potentially corrupted; and in response to further determining that the first page of data as written into the second section is potentially corrupted, rewriting the first page of data in to the second section of memory.
-
-
7. The method of 1, further comprising:
transferring the comparison from the memory circuit to the controller circuit over the bus structure, wherein said determining is performed on the controller circuit.
-
9. A method of operating a non-volatile memory system including a controller circuit and a memory circuit connected to the controller circuit over a bus structure, the memory circuit having a first section of non-volatile memory storing data in binary format and a second section of non-volatile memory storing data in an N-bit per cell multi-state format, where N is an integer two or greater, the method comprising:
-
receiving from a host a plurality of at least N pages of data at the controller circuit; transferring the plurality of pages from the controller circuit to the memory circuit over the bus structure; writing the plurality of pages on a corresponding plurality of word lines in the first section of the memory circuit; writing the pages of data from the first section of memory in to the second section of memory, where, for each word line written in the second section, N pages of data from N corresponding word lines of the first section of memory are written on to a single word line of the second section; reading a first plurality of pages of data as written from the second section of the memory and as written from the first section of the memory and reading said first plurality of pages as written from the first section of the memory; performing on the memory circuit a combined comparison of the first plurality of pages of data as read from the second section of the memory with the first plurality of pages of data as read from the first section; based on the combined comparison, determining whether the first plurality of pages as written into the second section includes a potentially corrupted page of data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. The method of 16, further comprising:
in response to determining that t the first plurality of pages as written into the second section includes a potentially corrupted page of data, sending an indication thereof from the memory circuit to the controller circuit.
-
18. The method of 17, wherein the second section is formed of a plurality of erase blocks and the method further comprises:
-
performing a further determination on the controller circuit of whether the first plurality of pages as written into the second section includes a potentially corrupted page of data; in response to further determining that the first plurality of pages as written into the second section includes a potentially corrupted page of data, rewriting the data of the block to which the first plurality of pages was written into another block of the second section of memory. - View Dependent Claims (19, 20)
-
-
21. The method of 9, further comprising:
transferring the combined comparison from the memory circuit to the controller circuit over the bus structure, wherein said determining is performed on the controller circuit.
Specification