IP Library Granted Patent US 7,958,388
Granted Patent B2
US 7,958,388 · App. 12/476,212 · Granted Jun 7, 2011

Methods and systems for a storage system

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 7,958,388
App. No.
12/476,212
Granted
Jun 7, 2011
Kind
B2
Abstract

A storage system that may include one or more memory sections, one or more switches, and a management system. The memory sections include memory devices and a section controller capable of detecting faults with the memory section and transmitting messages to the management system regarding detected faults. The storage system may include a management system capable of receiving fault messages from the section controllers and removing from service the faulty memory sections. Additionally, the management system may determine routing algorithms for the one or more switches.

Claims (84)

1. A storage system, comprising:

one or more memory sections, including:

one or more memory devices having storage locations for storing data, and

a memory section controller capable of detecting faults in the memory section and transmitting a fault message in response to the detected faults;

one or more switches, including

one or more interfaces for connecting to one or more external devices;

a switch controller that executes software, including a routing algorithm; and

a selectively configurable switch fabric connected to one or more memory sections and the one or more interfaces and interconnecting the memory sections and the one or more interfaces based on the routing algorithm; and

a management system capable of receiving fault messages from the memory section controllers and inactivating the memory section corresponding to the fault message received by changing the routing algorithm, and wherein the management system is further capable of determining the routing algorithm for use by the selectively configurable switch fabric in interconnecting the memory sections and the one or more interfaces, and providing the routing algorithm to the switch controller.

2. A method for use in a storage system, comprising:

storing data in storage locations in a memory device, the memory device included in a memory section;

determining, by a management system, a routing algorithm for use by a switch controller that executes software, including the routing algorithm;

providing, by the management system, the routing algorithm to the switch controller;

executing, by the switch controller, the routing algorithm, to configure a configurable switch connecting the memory section to an interface;

detecting a fault associated with the data in the storage locations in the memory device;

determining, by the management system in response to the detecting, a new routing algorithm that redirects data for the memory device to a replacement memory device; and

providing the new routing algorithm to the switch controller.

3. The method of claim 2 further comprising:

transmitting, by the management system, information regarding the fault and the new routing algorithm to an external management system.

4. The method of claim 2 further comprising:

storing a copy of the data in the memory device in a non-volatile storage device;

instructing, by the management system, the non-volatile storage device to load the copy of the data into the replacement memory device via the configurable switch; and

storing the copy of the data from the non-volatile storage device into the replacement memory device.

5. The method of claim 2 further comprising:

receiving, by a memory interface device in the memory section, data read from the memory device;

receiving, by the memory interface device in the memory section, an identifier for use by the switch controller in directing the data;

combining, by the memory interface device, the data read from the memory device and the identifier to produce combined data, and

forwarding, by the memory interface device, the combined data to the configurable switch.

6. The method of claim 2 further comprising:

receiving, by the memory section, the data to be stored in the storage locations in the memory device;

forwarding the data to a temporary storage interface device;

storing, by the temporary storage interface device, the data in a temporary storage device if the memory device to which the data is to be stored is busy;

retrieving, by the temporary storage interface device, the data from the temporary storage device when the memory device to which the data is to be stored is no longer busy; and

storing the data in the memory device.

7. A storage system comprising:

means for storing, including:

means for storing data in storage locations; and

means for detecting a fault, in regard to the data stored by the means for storing, and transmitting a fault message, in response to the fault;

programmable means for forming connections between the means for storing and one or more interfaces according to a routing algorithm executed by the programmable means for forming connections;

means for receiving the fault message;

means for removing from service the means for storing associated with the fault message by changing the routing algorithm executed by the programmable means for forming connections.

8. A storage system comprising:

one or more memory sections, including:

one or more memory devices having storage locations for storing data, and

a memory section controller capable of detecting a fault in the memory section and transmitting a fault message corresponding to the detected fault;

one or more switches, including:

one or more interfaces for connecting to one or more external devices;

a switch controller that executes a routing algorithm; and

a selectively configurable switch fabric connected to the one or more memory sections and the one or more interfaces that provides a transmission path between the one or more memory sections and the one or more interfaces according to the routing algorithm executed by the switch controller; and

a management system that receives the fault message from the memory section controller and inactivating the memory section corresponding to the fault message by changing the routing algorithm executed by the switch controller.

9. The storage system of claim 8 wherein the switch is connected to a non-volatile storage device and wherein the management system instructs the non-volatile storage device to load data into the one or more of the memory sections via the switch.

10. The storage system of claim 8 further including an interface that connects the management system to an external management system such that configuration management may be performed through the external management system.

11. The storage system of claim 8 wherein the one or more memory sections includes a memory interface device that receives data from a memory device and receives an identifier from the memory section controller, the memory interface device comprising circuitry that combines the data from the memory device with the identifier.

12. The storage system of claim 8 wherein the management system includes:

one or more control processors for determining and providing the routing algorithm to the switch controller; and

one or more administration processors for collecting statistical data from the one or more switches and the one or more memory sections.

13. The storage system of claim 8 wherein at least one of the one or more memory sections further includes:

a temporary storage device that stores data to be written to a memory device; and

a temporary storage interface device that stores data into and retrieves data from the temporary storage device;

wherein at least one of the one or more switches forwards data to be stored in a memory section to the temporary storage interface device,

wherein the temporary storage interface device stores the data in the temporary storage device if a memory device to which the data is to be written is busy, and

wherein the temporary storage interface device retrieves the data from the temporary storage device when the memory device is no longer busy and forwards the data to the memory device.

14. A method for use in a storage system comprising:

storing data in storage locations in a memory device, the memory device included in a memory section;

determining, by a management system, a routing algorithm used by a switch controller that executes the routing algorithm to configure a configurable switch that connects the memory section to an interface;

connecting, by the configurable switch, the memory section to the interface according to the routing algorithm executed by the switch controller;

detecting, by a memory section controller, an error associated with the memory device and transmitting a fault message indicating the error and the memory device to the management system;

receiving, by the management system, the memory device indicated by the fault message; and

removing from service the memory device indicated by the fault message by changing the routing algorithm.

15. The method of claim 14 further comprising:

storing a copy of the data in the memory device in a non-volatile storage device;

instructing, by the management system, the non-volatile storage device to load the copy of the data via the configurable switch into a replacement memory device corresponding to the memory device indicated by the fault message; and

storing the copy of the data from the non-volatile storage device in the replacement memory device.

16. The method of claim 14 further comprising:

receiving, by a memory interface device in the memory section, data read from the memory device;

receiving, by the memory interface device in the memory section, an identifier for use by the switch controller in directing the data;

combining, by the memory interface device, the data read from the memory device and the identifier to produce combined data, and

forwarding, by the memory interface device, the combined data to the configurable switch.

17. The method of claim 14 further comprising:

receiving, by the memory section, the data to be stored in the storage locations in the memory device;

forwarding the data to a temporary storage interface device;

storing, by the temporary storage interface device, the data in a temporary storage device if the memory device to which the data is to be stored is busy;

retrieving, by the temporary storage interface device, the data from the temporary storage device when the memory device to which the data is to be stored is no longer busy; and

storing the data in the memory device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2017
From: PARALLEL IRON, LLC
To: MOBILE NETWORKING SOLUTIONS, LLC
Reel/Frame 041446/0006 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2012
From: PARALLEL IRON, LLC
To: PARALLEL IRON, LLC
Reel/Frame 028392/0931 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE SPELLING OF THE ASSIGNEE NAME IS INCORRECT. PREVIOUSLY RECORDED ON REEL 025660 FRAME 0089. ASSIGNOR(S) HEREBY CONFIRMS THE IT IS CURRENTLY SPELLED PARRALLEL IRON LLC SHOULD BE PARALLEL IRON LLC.. Recorded Feb 4, 2011
From: RING TECHNOLOGY ENTERPRISES OF TEXAS, LLC
To: PARALLEL IRON LLC
Reel/Frame 025746/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2011
From: RING TECHNOLOGY ENTERPRISES OF TEXAS, LLC
To: PARRALLEL IRON LLC
Reel/Frame 025660/0089 →
CHANGE OF NAME Recorded Dec 11, 2009
From: RING TECHNOLOGY ENTERPRISES, LLC
To: RING TECHNOLOGY ENTERPRISES, INC.
Reel/Frame 023639/0460 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2009
From: RING TECHNOLOGY ENTERPRISES, INC.
To: RING TECHNOLOGY ENTERPRISES OF TEXAS, LLC
Reel/Frame 023639/0572 →