ARCHITECTURES FOR DATA ANALYTICS USING COMPUTATIONAL NAND MEMORY
First Claim
1. A method of performing data analytics using a server and a memory system connected thereto, where the memory system comprises control circuitry and a plurality of sets of memory arrays having a NAND type of architecture, the control circuitry including a plurality of memory controllers each associated with a corresponding set of memory arrays, the method comprising:
- running software on the server that issues commands to the memory system to perform one or more data analytic operations;
receiving the issued commands on the memory system;
translating of the received commands into a plurality of analytic tasks by firmware operating on the control circuitry;
distributing by the firmware of the analytic tasks across the memory controllers to be executed by the memory controllers and corresponding sets memory of memory arrays;
executing the analytic tasks on the memory controllers and corresponding sets memory of memory arrays, wherein each of the analytic tasks are executed on the memory controller, the associated sets of memory arrays, or a combination thereof as specified by the firmware;
merging results from the analytic tasks by the firmware; and
transferring out the merged results to the server.
2 Assignments
0 Petitions
Accused Products
Abstract
A data analytic system allows for analytic operations be moved from a server on to a solid state drive (SSD) type analytic system, where a CAM NAND structure can be used in the analytic operations. The server can run a software using database language can issue command to the analytic system. On the data analytic system (that can interface with common, existing database language), the software commands are translated into firmware language and broken down into multiple small tasks. The small tasks are executed on the SSD flash controllers or on NAND flash according to the task specifications. The mid-product from the NAND flash or the SSD controllers can be merged within each SSD blade and also further merged on the top server level.
-
Citations
36 Claims
-
1. A method of performing data analytics using a server and a memory system connected thereto, where the memory system comprises control circuitry and a plurality of sets of memory arrays having a NAND type of architecture, the control circuitry including a plurality of memory controllers each associated with a corresponding set of memory arrays, the method comprising:
-
running software on the server that issues commands to the memory system to perform one or more data analytic operations; receiving the issued commands on the memory system; translating of the received commands into a plurality of analytic tasks by firmware operating on the control circuitry; distributing by the firmware of the analytic tasks across the memory controllers to be executed by the memory controllers and corresponding sets memory of memory arrays; executing the analytic tasks on the memory controllers and corresponding sets memory of memory arrays, wherein each of the analytic tasks are executed on the memory controller, the associated sets of memory arrays, or a combination thereof as specified by the firmware; merging results from the analytic tasks by the firmware; and transferring out the merged results to the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 35)
-
-
11. A method of performing analytic operations on a plurality of sets of data, comprising:
-
receiving on a memory system from a server a plurality of data sets and instructions for analytics to perform upon the data sets, wherein the memory system includes control circuitry having one or more memory controllers and one or more memory circuits each having one or more memory arrays of non-volatile memory cells having a NAND type of architecture; breaking down by the control circuitry of the received instructions into a plurality of sub-operations and assigning one or more of the sub-operations to be performed on the control circuitry and one or more of the sub-operations to be performed within the memory circuits; deriving from the received data sets by the control circuitry of a plurality of corresponding first derived data sets for use in the sub-operations to be performed within the memory circuits; writing the first derived datasets into one or more of the memory arrays, wherein the first derived data sets are written into the memory arrays oriented along bit lines; subsequently performing the sub-operations; and providing the result of the analytics performed on the data sets to the server. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36)
-
Specification