HIGH BANDWIDTH NON-VOLATILE MEMORY
A non-volatile memory apparatus includes a stack of memory dies with multiple layers. Each layer has multiple memory die, and the stack includes separate parallel through silicon vias (TSVs) for each memory die. The non-volatile memory apparatus also includes a memory controller in electrical communication with the separate parallel TSVs for each memory die and configured to perform a high bandwidth read process for data stored in the stack across all or multiple of the memory dies.
1 . A non-volatile memory apparatus, comprising:
a stack of memory dies comprising multiple layers, each layer comprising multiple memory die, the stack includes separate parallel through silicon vias (TSVs) for each memory die; and
a memory controller in electrical communication with the separate parallel TSVs for each memory die and configured to perform a high bandwidth read process for data stored in the stack across all or multiple of the memory dies.
2 . The non-volatile memory apparatus of claim 1 , further including an interposer that is connected to the separate parallel TSVs for each memory die and to the memory controller.
3 . The non-volatile memory apparatus of claim 1 , wherein:
each memory die comprises multiple planes,
groups of planes form banks,
each memory die has multiple input/output (I/O) circuits such that there is one I/O circuit per bank,
the stack includes separate parallel TSVs for each I/O circuit of each memory die, and
the memory controller includes separate input paths for each memory die in communication with respective TSVs and one or more static random access memory (SRAM) buffers connected to the separate input paths.
4 . The non-volatile memory apparatus of claim 1 , wherein:
the memory controller includes separate input paths for each memory die in communication with respective TSVs, separate and parallel error correction code (ECC) processing paths for each memory die connected to the separate input paths to perform ECC decoding concurrently for each memory die and one or more static random access memory (SRAM) buffers connected to the and parallel ECC processing paths.
5 . The non-volatile memory apparatus of claim 1 , wherein:
each of the memory dies include an extra bank; and
the memory controller is configured to perform a refresh of data to the extra bank during idle time or concurrently with the high bandwidth read process.
6 . The non-volatile memory apparatus of claim 1 , wherein:
the stack includes an extra layer; and
the memory controller is configured to perform a refresh of data to the extra layer during idle time or concurrently with the high bandwidth read process.
7 . The non-volatile memory apparatus of claim 1 , wherein each memory die comprises at least sixteen planes that are grouped into at least four banks, and wherein each bank includes an input/output (I/O) circuit for communicating data between the planes and the memory controller.
8 . A method of operating a non-volatile memory apparatus, comprising the steps of:
preparing a stack of memory dies comprising multiple layers, each layer comprising multiple memory die, the stack includes separate parallel through silicon vias (TSVs) for each memory die, an interposer connected to the separate parallel TSVs for each memory die, and a memory controller connected to the interposer; and
performing a high bandwidth read process for data stored in the stack across all or multiple of the memory dies.
9 . The method of claim 8 , wherein:
each memory die comprises multiple planes,
groups of planes form banks,
each memory die has multiple input/output (I/O) circuits such that there is one I/O circuit per bank, and
the stack includes separate parallel TSVs for each I/O circuit of each memory die.
10 . The method of claim 8 , wherein:
the memory controller includes separate input paths for each memory die in communication with respective TSVs and one or more static random access memory (SRAM) buffers connected to the separate input paths.
11 . The method of claim 8 , wherein:
the memory controller includes separate input paths for each memory die in communication with respective TSVs, separate and parallel error correction code (ECC) processing paths for each memory die connected to the separate input paths to perform ECC decoding concurrently for each memory die and one or more static random access memory (SRAM) buffers connected to the and parallel ECC processing paths.
12 . The method of claim 8 , wherein:
each of the memory dies include an extra bank; and
the memory controller is configured to perform a refresh of data to the extra bank during idle time or concurrently with the high bandwidth read process.
13 . The method of claim 8 , wherein:
the stack includes an extra layer; and
the memory controller is configured to perform a refresh of data to the extra layer during idle time or concurrently with the high bandwidth read process.
14 . The method of claim 8 , wherein each memory die comprises at least sixteen planes that are grouped into at least four banks, and wherein each bank includes an input/output (I/O) circuit for communicating data between the planes and the memory controller.
15 . A computing system, comprising:
a processor unit;
a plurality of high bandwidth flash packages in electrical communication with the processor unit; and
each of the high bandwidth flash packages including;
a stack of memory dies comprising multiple layers, each layer comprising multiple memory die, the stack includes separate parallel through silicon vias (TSVs) for each memory die,
an interposer connected to the separate parallel TSVs for each memory die, and
a memory controller connected to the interposer and configured to perform a high bandwidth read process for data stored in the stack across all or multiple of the memory dies.
16 . The computing system as set forth in claim 15 , wherein the high bandwidth flash packages include data related to large language model weight matrices.
17 . The computing system of claim 15 , wherein:
each memory die comprises multiple planes,
groups of planes form banks,
each memory die has multiple input/output (I/O) circuits such that there is one I/O circuit per bank, and
the stack includes separate parallel TSVs for each I/O circuit of each memory die.
18 . The computing system of claim 15 , wherein:
the memory controller includes separate input paths for each memory die in communication with respective TSVs and one or more static random access memory (SRAM) buffers connected to the separate input paths.
19 . The computing system of claim 15 , wherein:
the memory controller includes separate input paths for each memory die in communication with respective TSVs, separate and parallel error correction code (ECC) processing paths for each memory die connected to the separate input paths to perform ECC decoding concurrently for each memory die and one or more static random access memory (SRAM) buffers connected to the and parallel ECC processing paths.
20 . The computing system of claim 15 , wherein:
each of the memory dies include an extra bank; and
the memory controller is configured to perform a refresh of data to the extra bank during idle time or concurrently with the high bandwidth read process.