Ring bus architecture for use in a memory module
AssigneeSanDisk Technologies LLC
InventorAlan Welsh Sinclair
Life of this patent
Estimating the term…
Abstract
Ring bus architectures for use in a memory module are disclosed. A memory module may include a ring bus controller and a bus bridge positioned on a primary ring bus. The memory module also includes a secondary ring bus in communication with the bus bridge and a plurality of non-volatile memory units. The ring bus controller is configured to send a configuration command to the bus bridge via the primary bus ring, where the configuration command includes an indication to route future commands and/or data to the secondary ring bus extending from the bus bridge. The bus bridge is configuration to, in response to the configuration command, configure the bus bridge to route future commands and/or data from the primary ring bus to the secondary ring bus.
Claims20
A method for managing data within a memory module, the method comprising:
- receiving, at a first bus bridge via a primary ring bus, a configuration command, the configuration command comprising an indication for the first bus bridge to route a future command to a secondary ring bus extending from the first bus bridge, the first bus bridge positioned on both the primary ring bus and the secondary ring bus;
- configuring, based on the configuration command, the first bus bridge to route a command on a command line of the primary ring bus to a command line of the secondary ring bus extending from the first bus bridge and to route a first set of data on a data line of the primary ring bus to a data line of the secondary ring bus extending from the first bus bridge;
- after configuring the first bus bridge based on the configuration command:
- receiving the command on the command line of the primary ring bus and routing the command to the command line of the secondary ring bus extending from the first bus bridge;
- and
- receiving the first set of data on the data line of the primary ring bus and routing the first set of data to the secondary ring bus extending from the first bus bridge;
- wherein the secondary ring bus extending from the first bus bridge comprises a non-volatile memory unit, wherein the first bus bridge is in communication with a second bus bridge along the primary ring bus, and wherein a secondary ring bus extending from the second bus bridge comprises a non-volatile memory unit, the method further comprising:
- routing the first set of data on the secondary ring bus extending from the first bus bridge to the non-volatile memory on the secondary ring bus extending from the first bus bridge;
- and
- while routing the first set of data on the secondary ring bus extending from the first bus bridge, routing a second set of data on the secondary ring bus extending from the second bus bridge to the non-volatile memory unit on the secondary ring bus extending from the second bus bridge.
A memory module comprising:
- a ring bus controller;
- first routing circuitry;
- a first ring bus connected to the first routing circuitry;
- a first plurality of non-volatile memory units, each non-volatile memory unit comprising a memory die;
- a second ring bus connecting the first routing circuitry and each non-volatile memory unit of the first plurality of non-volatile memory units;
- a second plurality of non-volatile memory units, each non-volatile memory unit comprising a non-volatile memory die;
- second routing circuitry, wherein the first ring bus is further connected to the second routing circuitry;
- and
- a third ring bus extending from the second routing circuitry that connects the second routing circuitry and each non-volatile memory unit of the second plurality of non-volatile memory units;
- wherein the first routing circuitry is configured to:
- configure, based on a configuration command from the ring bus controller, the first routing circuitry to route a command and a first set of data on the first ring bus to the second ring bus;
- and
- receive, after configuring the first routing circuitry based on the configuration command, the command and the first set of data on the first ring bus and route the command and the first set of data to the second ring bus extending from the first routing circuitry;
- and
- wherein the ring bus controller is further configured to:
- route the first data set on the second ring bus to a non-volatile memory unit of the first plurality of non-volatile memory units;
- and
- while routing the first set of data on the second ring bus, route a second set of data on the third ring bus to a non-volatile memory unit of the second plurality of non-volatile memory units.
A memory module comprising:
- a primary ring bus;
- a ring bus controller positioned on the primary ring bus;
- a first plurality of non-volatile memory units, each non-volatile memory unit comprising a memory die;
- a secondary ring bus in communication with the primary ring bus via a first bus bridge, the secondary ring bus connecting each non-volatile memory unit of the first plurality of memory units;
- a second plurality of non-volatile memory units, each non-volatile memory unit comprising a memory die;
- and
- a tertiary ring bus in communication with the secondary ring bus via a second bus bridge, the tertiary ring bus connecting each non-volatile memory unit of the second plurality of memory units;
- wherein the ring bus controller is configured to direct the first bus bridge to route data between the primary ring bus and the secondary ring bus and is configured to direct the second bus bridge to route data between the secondary ring bus and the tertiary ring bus;
- and
- wherein the first bus bridge is configured to:
- configure, based on a configuration command from the ring bus controller, the first bus bridge to route a command and a first set of data on the primary ring bus to the secondary ring bus;
- and
- receive, after configuring the first bud bridge based on the configuration command, the command and the first set of data on the primary ring bus and route the command and the first set of data to the secondary ring bus;
- and
- wherein the ring bus controller is further configured to:
- route the first data set on the secondary ring bus to a non-volatile memory unit of the first plurality of non-volatile memory units;
- and
- while routing the first set of data on the secondary ring bus, route a second set of data on the tertiary ring bus to a non-volatile memory unit of the second plurality of non-volatile memory units.
Dependencies are inferred from the claim text.