IP Library Granted Patent US 9,804,979
Granted Patent B2
US 9,804,979 · App. 14/584,358 · Granted Oct 31, 2017

Ring bus architecture for use in a memory module

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,804,979
App. No.
14/584,358
Granted
Oct 31, 2017
Kind
B2
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.

Claims (78)

1. 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.

2. The method of claim 1 , further comprising:

generating, with a ring bus controller, the configuration command; and

communicating, from the ring bus controller to the first bus bridge, the configuration command along the primary ring bus.

3. The method of claim 1 , further comprising:

monitoring, with a ring bus controller, data traffic on the primary ring bus and data traffic on the secondary ring bus extending from the first bus bridge.

4. The method of claim 1 , wherein the secondary ring bus extending from the first bus bridge comprises a first non-volatile memory unit in serial communication with a second 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 first non-volatile memory unit; and

while routing the first set of data to the first non-volatile memory unit, routing a second set of data from the first non-volatile memory unit to the second non-volatile memory unit.

5. The method of claim 4 , further comprising:

storing the first set of data in the first non-volatile memory unit; and

while storing the first set of data at the first non-volatile memory unit, storing the second set of data in the second non-volatile memory unit.

6. The method of claim 4 , further comprising:

storing the first set of data in the first non-volatile memory unit; and

while storing the first set of data at the first non-volatile memory unit, reading a third set of data from the second non-volatile memory unit.

7. The method of claim 1 , further comprising:

storing the first set of data at the non-volatile memory unit on the secondary ring bus extending from the first bus bridge; and

while storing the first set of data at the non-volatile memory unit, storing the second set of data at the non-volatile memory unit on the secondary ring bus extending from the second bus bridge.

8. The method of claim 1 , further comprising:

storing the first set of data at the non-volatile memory unit on the secondary ring bus extending from the first bus bridge; and

while storing the first set of data at the non-volatile memory unit, reading a third set of data from the die on the secondary ring extending from the second bus bridge.

9. The method of claim 1 , wherein at least one of the non-volatile memory unit on the secondary ring bus extending from the first bus bridge and the non-volatile memory unit on the secondary ring bus extending from the second bus bridge comprises a silicon substrate and a plurality of memory cells forming at least two memory layers vertically disposed with respect to each other to form a monolithic three-dimensional structure, wherein at least one layer is vertically disposed with respect to the silicon substrate.

10. 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.

11. The memory module of claim 10 , wherein the ring bus controller is configured to monitor data traffic on the first ring bus and the second ring bus.

12. The memory module of claim 10 , wherein the ring bus controller is further configured to:

route the first set of data on the second ring bus to a first memory unit of the plurality of non-volatile memory units; and

while routing the first set of data to the first non-volatile memory unit, route a second set of data from the first non-volatile memory unit to a second non-volatile memory unit of the plurality of non-volatile memory units on the second ring bus.

13. The memory module of claim 12 , wherein the ring bus controller is further configured to:

store the first set of data in a non-volatile memory die of the first non-volatile memory unit; and

while storing the first set of data in the non-volatile memory die of the first non-volatile memory unit, store the second set of data in a non-volatile memory die of the second non-volatile memory unit.

14. The memory module of claim 12 , wherein the ring bus controller is further configured to:

store the first set of data in a non-volatile memory die of the first non-volatile memory unit; and

while storing the first set of data in the non-volatile memory die of the first non-volatile memory unit, read a third set of data from a non-volatile memory die of the second non-volatile memory unit.

15. The method of claim 10 , wherein the ring bus controller is configured to:

store the first set of data in a non-volatile memory die of the non-volatile memory unit of the first plurality of non-volatile memory units; and

while storing the first set of data in the non-volatile memory die of the non-volatile memory unit of the first plurality of non-volatile memory units, store the second set of data in a non-volatile memory die of the non-volatile memory die of the second plurality of non-volatile memory units.

16. The method of claim 10 , wherein the ring bus controller is further configured to:

store the first set of data at the non-volatile memory unit of the first plurality of non-volatile units; and

while storing the first set of data at the non-volatile memory unit of the first plurality of non-volatile units, read a third set of data from the non-volatile memory unit of the second plurality of non-volatile memory units.

17. The memory module of claim 10 , wherein at least one of the non-volatile memory unit on the second ring bus and the non-volatile memory unit on the third ring bus comprises a silicon substrate and a plurality of memory cells forming at least two memory layers vertically disposed with respect to each other to form a monolithic three-dimensional structure, wherein at least one layer is vertically disposed with respect to the silicon substrate.

18. The memory module of claim 10 , wherein the ring bus controller is positioned on the first ring bus.

19. The memory module of claim 10 , wherein the ring bus controller is not positioned on the first ring bus or the second ring bus.

20. 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.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070778/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2014
From: SINCLAIR, ALAN WELSH
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 034598/0901 →