USE OF BLOOM FILTER AND IMPROVED PROGRAM ALGORITHM FOR INCREASED DATA PROTECTION IN CAM NAND MEMORY
First Claim
1. A method of operating a memory system including a memory circuit having an array of non-volatile formed according to a NAND type of architecture, the method comprising:
- storing each of a first plurality of data patterns along one of a corresponding first plurality of NAND strings of the memory array;
storing a first bloom filter corresponding to first plurality of data patterns on the memory circuit;
storing an ECC protected copy of each of the first plurality of data patterns on the memory circuit; and
subsequently performing a search operation, the search operation including;
receiving a search pattern;
performing a comparison of the search pattern against the first bloom filter;
in response to a positive result from the comparison of the search pattern against the first bloom filter, performing a determination of which of the first plurality of NAND strings conduct in response to the memory cells thereof being biased according to the search pattern; and
in response to a negative result from the determination, searching the copies of the first plurality of data patterns for a match with the search pattern.
2 Assignments
0 Petitions
Accused Products
Abstract
Various techniques for extending the capabilities of CAM NAND type memories are discussed. Multi-block or even full chip search operations can be performed. In addition to the inherent AND property of NAND strings, the memory array has an inherent OR property between NAND string from different blocks along the same bit line that can be exploited through multi-block CAM-type operations. To reduce data-dependent word line to word line effects, in multiple data dependent sensing operations, the sensing can be broken up into sub-operations that avoid data dependent values on adjacent word lines. To improve data protection, subsequent to writing a memory block with indices, the word lines are read back and compared bit-by-bit with their intended values and the results are accumulated to determine whether any of indices include error. A bloom filter can also be used as an initial check during data search operations in order to provide increased data protection.
-
Citations
27 Claims
-
1. A method of operating a memory system including a memory circuit having an array of non-volatile formed according to a NAND type of architecture, the method comprising:
-
storing each of a first plurality of data patterns along one of a corresponding first plurality of NAND strings of the memory array; storing a first bloom filter corresponding to first plurality of data patterns on the memory circuit; storing an ECC protected copy of each of the first plurality of data patterns on the memory circuit; and subsequently performing a search operation, the search operation including; receiving a search pattern; performing a comparison of the search pattern against the first bloom filter; in response to a positive result from the comparison of the search pattern against the first bloom filter, performing a determination of which of the first plurality of NAND strings conduct in response to the memory cells thereof being biased according to the search pattern; and in response to a negative result from the determination, searching the copies of the first plurality of data patterns for a match with the search pattern. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. The memory system of claim 13, further comprising:
updating the first bloom filter to reflect the writing of a copy of the matched data pattern.
-
14. A method of operating a memory circuit including an array of non-volatile memory cells having a NAND type of architecture, comprising:
-
receiving one or more indices; writing the one or more indices along a corresponding one or more NAND strings of a first block of the memory array; subsequently individually reading back a plurality of word lines of the array to determine the value of the corresponding bit stored therealong for each of the indices; for each of the word lines read back, performing a comparison of the value of the corresponding bit stored therealong with the value of the corresponding bit as received for each of the indices and, based upon the comparisons, determining whether any of the bits as read back contain error; and for each NAND string, individually accumulating the error determined based upon the comparisons for the plurality of word lines to determine whether the bits of the index stored along the corresponding NAND string contain one or more errors. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification