On-device data analytics using NAND flash based intelligent memory
First Claim
1. A method of operating a non-volatile array of a NAND architecture, the array having NAND strings formed along bit lines and spanned by word lines, where the bit lines span a plurality of the blocks and are each connected to a corresponding set of latches, the method comprising:
- reading a first page of data from a first word line of the array;
storing the first page of data in a first of the latches for each of the bit lines of the array;
reading a second page of data from a second word line of the array, the first and second of the word lines being different;
storing the second page of data in a second of the latches for each of the bit lines of the array, wherein the first and second latches for each of the bit lines are different;
performing within said sets of latches one or more arithmetical/logical operations upon the contents of the first and second latches;
subsequently to performing said one or more arithmetical/logical operations, writing the result thereof from the sets of latches along a third word line of the array.
2 Assignments
0 Petitions
Accused Products
Abstract
A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host. The system can be applied to perform a wide range of analytics on data sets loaded into the NAND array.
-
Citations
18 Claims
-
1. A method of operating a non-volatile array of a NAND architecture, the array having NAND strings formed along bit lines and spanned by word lines, where the bit lines span a plurality of the blocks and are each connected to a corresponding set of latches, the method comprising:
-
reading a first page of data from a first word line of the array; storing the first page of data in a first of the latches for each of the bit lines of the array; reading a second page of data from a second word line of the array, the first and second of the word lines being different; storing the second page of data in a second of the latches for each of the bit lines of the array, wherein the first and second latches for each of the bit lines are different; performing within said sets of latches one or more arithmetical/logical operations upon the contents of the first and second latches; subsequently to performing said one or more arithmetical/logical operations, writing the result thereof from the sets of latches along a third word line of the array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification