IP Library Granted Patent US 9,417,823
Granted Patent B2
US 9,417,823 · App. 13/911,607 · Granted Aug 16, 2016

Memory system management

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,417,823
App. No.
13/911,607
Granted
Aug 16, 2016
Kind
B2
Abstract

A memory system and a method for managing the system is described. The system is configured such a plurality of system controllers, which may be RAID controllers, receive requests from the external environment and distribute the requests to a plurality of memory modules such that data may be stored in the memory modules. A global sequence number is assigned to the data of a data stripe so that the operations related to the data stripe are performed in an ordered manner so that the data remains consistent. A plurality of system controllers may comprise a domain and access a plurality of memory controllers and a plurality of domains may include at least one common memory module. A plurality of groups of controllers may communicate with a switch or with a representative controller so as to coordinate the assignment of global sequence numbers.

Claims (29)

1. A memory system, comprising:

plurality of electronic chassis, each chassis further comprising:

a plurality of controllers;

a plurality of memory controllers communicating with at least some of the plurality of controllers; and

a plurality of memory modules, wherein a group of memory modules of the plurality of memory modules is associated with at least one memory controller of the plurality of memory controllers; and

wherein commands to write or to read strips of a stripe of a RAIDed data block, and a parity strip are routed to at least two of the memory controllers, and a same global sequence number (GSN) having a value is assigned to each of the strips by a controller of the plurality of controllers after the strips are received by the memory controllers.

2. The memory system of claim 1 , wherein a first memory channel controller to which the strip of the strips of the RAIDed data block is routed is in a first electronic chassis of a plurality of electronic enclosures, and a second memory controller to which a strip of the strips of the RAIDed data block is routed is in a second electronic chassis of the plurality of electronic enclosures.

3. The system of claim 1 , wherein the same global sequence number (GSN) is unique to the at least some of the plurality of controllers during a time period when the commands to which the GSN is assigned are unexecuted.

4. The system of claim 1 , wherein a first group of memory modules comprises a first RAID group and a second group of memory modules comprises a second RAID group.

5. The system of claim 4 , wherein a first controller of the plurality of controllers sends a stripe of data of a first RAIDed data block to a first group of memory modules and a stripe of data of a second RAIDed data block to a second group of memory modules.

6. The system of claim 5 , wherein at least some of the memory modules of the first RAID group are the same memory modules as memory modules of the second RAID group,

wherein read and write operations are performed by the memory modules in GSN order.

7. The system of claim 3 , wherein a first controller sends a stripe of data of a first RAIDed data block to a first group of memory modules and a second controller sends strips of data of a second RAIDed data block to a second group of memory modules,

wherein read and write operations requested by the first controller and the second controller are performed in GSN order.

8. The system of claim 1 , wherein the plurality of controllers is in communication with a client.

9. The system of claim 8 , wherein the client is a server.

10. The system of claim 9 , wherein the client is a plurality of servers and the servers.

11. The system of claim 8 , wherein the client is network interface.

12. The system of claim 1 , wherein the same global sequence number (GSN) is assigned in accordance with a protocol.

13. The system of claim 12 , wherein the protocol includes a first controller operable to transmit data of a block of data comprising the strips of the stripe to a group of memory controllers, and the group of memory controllers operable to acknowledge receipt of the block of data.

14. The system of claim 13 , wherein a GSN is assigned to the block of data that has been acknowledged and the GSN is sent to at least the group of memory controllers.

15. The system of claim 14 , wherein the protocol for assignment of the GSN is to periodically coordinate the GSN value assignable by each of the controllers.

16. The system of claim 15 , wherein the controllers are in communication with each other in a round-robin fashion.

17. The system of claim 15 , wherein the controllers communicate with each other on a periodic basis.

18. The system of claim 1 , wherein the controllers and the memory controllers communicate using a switch fabric.

19. The system of claim 18 , wherein the switch fabric is a PCIe network.

20. The system of claim 1 , wherein the controllers are in communication with a plurality of clients using a switch fabric.

21. The system of claim 20 , wherein the switch fabric is a PCIe bus.

22. The system of claim 1 , operable to respond to a read request for a block address of data having a lower GSN than an outstanding write request for the block address of data using data for the block address of data that is in a cache.

Assignments (6)
CORRECTIVE ASSIGNMENT TO REMOVE US PATENT NO. 9013874 PREVIOUSLY RECORDED UNDER REEL AND FRAME 064272/0249. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 17, 2024
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 068998/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 064272/0249 →
RELEASE OF SECURITY INTEREST Recorded Jun 16, 2021
From: SILICON VALLEY BANK
To: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC (F/K/A VIOLIN MEMORY, INC.))
Reel/Frame 056600/0186 →
CHANGE OF NAME Recorded May 25, 2021
From: VIOLIN SYSTEMS LLC
To: VSIP HOLDINGS LLC
Reel/Frame 056366/0849 →
RELEASE OF SECURITY INTEREST Recorded Feb 27, 2018
From: SILICON VALLEY BANK
To: VIOLIN SYSTEMS LLC
Reel/Frame 045044/0447 →
CHANGE OF NAME Recorded Dec 19, 2017
From: VIOLIN MEMORY, INC.
To: VIOLIN SYSTEMS LLC
Reel/Frame 044908/0680 →