IP Library › Granted Patent US 10,552,050
Granted Patent B1
US 10,552,050 · App. 15/482,684 · Granted Feb 4, 2020

Multi-dimensional computer storage system

Inventors: Marlon B. Verdan (Fremont, CA); Ricardo H. Bruce (Fremont, CA)
Assignee: BiTMICRO LLC
G06F3/0611G06F3/065G06F3/0619G06F3/0659G06F3/0688G06F12/1081G06F2212/656
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 10,552,050
App. No.
15/482,684
Granted
Feb 4, 2020
Kind
B1
Abstract

In an embodiment of the invention, an apparatus comprises: a multi-dimensional memory that is expandable in a first direction; wherein the multi-dimensional memory comprises a serial chain; wherein the serial chain comprises a first serial chain that is expandable in a first direction; and wherein the first serial chain comprises a first memory controller, a first memory module coupled to the first memory controller, a second memory controller coupled to the first memory controller, and a second memory module coupled to the second memory controller. In another embodiment of the invention, a method comprises: providing a multi-dimensional memory that is expandable in a first direction; wherein the multi-dimensional memory comprises a serial chain; wherein the serial chain comprises a first serial chain that is expandable in a first direction; and wherein the first serial chain comprises a first memory controller, a first memory module coupled to the first memory controller, a second memory controller coupled to the first memory controller, and a second memory module coupled to the second memory controller. Data can be stored into the serial chain, wherein the data is written by a memory transaction from a host.

Claims (47)

1. A storage system, comprising:

a storage system processor connected to a central node of an expandable system bus;

a host interface connected to the central node; and

an expandable memory interface, wherein the expandable memory interface includes:

a plurality of direct memory access (DMA) controllers residing on the expandable system bus, wherein the DMA controllers include a first DMA controller;

a plurality of expandable serial chains, wherein each expandable serial chain includes:

a plurality of nonvolatile memory controllers, including:

a first nonvolatile memory controller directly connected to one of the DMA controllers via a point-to-point link; and

one or more additional nonvolatile memory controllers;

a plurality of nonvolatile memory modules, wherein each nonvolatile memory module is coupled to one of the plurality of nonvolatile memory controllers via a memory bus; and

a serial channel, wherein the serial channel includes a point-to-point connector for each of the one or more additional nonvolatile memory controllers, wherein each point-to-point connector connects a unique pair of the nonvolatile memory controllers; and

a prefetch buffer, wherein the prefetch buffer comprises a buffer set and wherein the buffer set includes one or more buffers, wherein the one or more buffers include at least one of: a data register of the first nonvolatile memory module, a buffer of the first DMA controller; and a buffer of the first nonvolatile memory controller;

wherein:

the expandable system bus is configured to accommodate one or more additional DMA controllers residing on the expandable system bus; and

each serial chain is configured to accommodate one or more additional nonvolatile memory controllers.

2. The storage system of claim 1 , wherein one or more of the nonvolatile memory modules comprises a flash memory device.

3. The storage system of claim 1 , wherein:

each DMA controller is connected to one and only one serial chain.

4. The storage system of claim 1 , wherein

two or more expandable serial chains are directly connected to the first DMA controller.

5. The storage system of claim 4 , wherein the first DMA controller is configured to select, from the two or more expandable serial chains, an expandable serial chain for performing a memory transaction.

6. The storage system of claim 5 , wherein the DMA controller includes a DMA descriptor stored in a memory of the first DMA controller, wherein the DMA descriptor comprises control information to control performance of the memory transaction.

7. The storage system of claim 6 , wherein the DMA controller is configured to select the expandable serial chain based at least in part on the DMA descriptor.

8. The storage system of claim 7 , wherein the control information includes a point-to-point link identifier that identifies the point-to-point link for the memory transaction.

9. The storage system of claim 7 , wherein the control information includes a point-to-point connector identifier indicative of a point-to-point connector for the memory transaction.

10. The storage system of claim 1 , wherein the host interface is coupled to a plurality of hosts.

11. The storage system of claim 1 , wherein the host interface comprise a first host interface coupled to a first host and wherein the storage system includes a second host interface coupled to a second host.

12. A method, comprising:

receiving, by a storage system, a memory transaction from a host, wherein the storage system comprises:

a storage system processor connected to a central node of an expandable system bus;

a host interface connected to the central node; and

an expandable memory interface, wherein the expandable memory interface includes:

a plurality of direct memory access (DMA) controllers residing on the expandable system bus, wherein the DMA controllers include a first DMA controller;

a plurality of expandable serial chains, wherein each expandable serial chain includes:

a plurality of nonvolatile memory controllers, including:

 a first nonvolatile memory controller directly connected to one of the DMA controllers via a point-to-point link; and

 one or more additional nonvolatile memory controllers;

a plurality of nonvolatile memory modules, including a first nonvolatile memory module, wherein each nonvolatile memory module is coupled to one of the plurality of nonvolatile memory controllers via a memory bus; and

a serial channel, wherein the serial channel includes a point-to-point connector for each of the one or more additional nonvolatile memory controllers, wherein each point-to-point connector connects a unique pair of the nonvolatile memory controllers; and

a prefetch buffer, wherein the prefetch buffer comprises a buffer set and wherein the buffer set includes one or more buffers, wherein the one or more buffers include at least one of: a data register of the first nonvolatile memory module, a buffer of the first DMA controller; and a buffer of the first nonvolatile memory controller;

wherein:

the expandable system bus is configured to accommodate one or more additional DMA controllers residing on the expandable system bus; and

each serial chain is configured to accommodate one or more additional nonvolatile memory controllers; and

performing, by the storage system, the memory transaction.

13. The method of claim 12 , wherein the memory transaction comprises a memory read transaction and wherein performing the memory transaction includes:

performing an internal read operation responsive to determining that data associated with the memory read transaction satisfies a criteria, wherein performing the internal read operation comprises retrieving prefetch data from DB the prefetch buffer; and

sending, to the host, the prefetch data as read data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: BITMICRO NETWORKS, INC
To: BITMICRO LLC
Reel/Frame 044910/0152 →
Cited By (3)
US 12,271,623 US 12,373,334 US 12,481,458