NVMM: An Extremely Large, Logically Unified, Sequentially Consistent Main-Memory System
OwnerBruce Ledley Jacobinventor
Life of this patent
Estimating the term…
Loading patent…
OwnerBruce Ledley Jacobinventor
Estimating the term…
Embodiments of both a non-volatile main memory (NVMM) single node and a multi-node computing system are disclosed. One embodiment of the NVMM single node system has a cache subsystem composed of all DRAM, a large main memory subsystem of all NAND flash, and provides different address-mapping policies for each software application. The NVMM memory controller provides high, sustained bandwidths for client processor requests, by managing the DRAM cache as a large, highly banked system with multiple ranks and multiple DRAM channels, and large cache blocks to accommodate large NAND flash pages. Multi-node systems organize the NVMM single nodes in a large inter-connected cache/flash main memory low-latency network. The entire interconnected flash system exports a single address space to the client processors and, like a unified cache, the flash system is shared in a way that can be divided unevenly among its client processors: client processors that need more memory resources receive it at the expense of processors that need less storage. Multi-node systems have numerous configurations, from board-area networks, to multi-board networks, and all nodes are connected in various Moore graph topologies. Overall, the disclosed memory architecture dissipates less power per GB than traditional DRAM architectures, uses an extremely large solid-state capacity of a terabyte or more of main memory per CPU socket, with a cost-per-bit approaching that of NAND flash memory, and performance approaching that of an all DRAM system.
A single node non-volatile main memory (NVMM) system, comprising:
A computer system wherein, prior to the use of a specific application software, an address-mapping policy is selected for the specific application software according to the way the specific application software uses the memory system, and during operation, the computer system uses a plurality of address-mapping policies.
A computer system wherein one or more application software memory requests are accompanied by a policy identifier, the policy identifier selects between a plurality of address-mapping policies implemented by the memory controller.
A multi-node computer system comprised of multiple, interconnected, printed circuit boards (PCBs), each PCB having a board-area network of nodes, and each node connected in a Petersen graph topology, all nodes of the Petersen graph reachable by two node hops, and each node in the Petersen graph having three network ports.
A multi-node computer system comprising multiple, interconnected, clusters of nodes, the nodes of the computer system connected in a Moore graph topology and each cluster of nodes having a local network of connections connected in a smaller Moore-graph topology.
A multi-node computer system comprised of multiple interconnected PCBs, each PCB having a board-area network of inter-connected nodes, and all the nodes of the PCBs connected in a Hoffman-Singleton graph topology.
A multi-node PCB computer system comprised of multiple interconnected PCBs, the nodes of each PCB connected in a Moore-graph topology of n nodes.
Dependencies are inferred from the claim text.