IP Library Granted Patent US 9,164,689
Granted Patent B2
US 9,164,689 · App. 12/414,084 · Granted Oct 20, 2015

Data storage system and method of processing a data access request

Inventors: John Timothy O'Brien (Louisville, CO); Michael Steven Milillo (Louisville, CO); George Franklin DeTar, Jr. (Longmont, CO); Carl Thomas Madison, Jr. (Windsor, CO)
Assignee: Oracle America, Inc.
G06F3/0643G06F3/067G06F3/0611G06F3/0635G06F3/0688
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,164,689
App. No.
12/414,084
Granted
Oct 20, 2015
Kind
B2
Abstract

A data storage system includes a plurality of servers, a plurality of external interface providers each deployed on one of the servers, and a plurality of data storage controllers each deployed on one of the servers. Each of the providers is configured to receive a data access request, to identify one of the controllers that can satisfy the request, and to forward the request to the identified controller. The system further includes a plurality of data storage modules independent of the servers. The providers, controllers and modules are in communication with each other. Each of the controllers exclusively manages a portion of data content in at least one of the modules, and satisfies data access requests received from the providers by accessing the portion of data content in the at least one module.

Claims (33)

1. A data storage system comprising:

a plurality of server devices;

a plurality of external interface providers each deployed on one of the server devices;

a plurality of data storage controllers each deployed on one of the server devices, wherein each of the providers is configured to (i) receive a data access request, (ii) identify one of the controllers that can satisfy the request and (iii) forward the request to the identified controller; and

a plurality of data storage units independent of the server devices, wherein the providers, controllers and units are in communication with each other as peers via a peer-to-peer interconnect fabric, and wherein each of the controllers (i) exclusively manages a portion of data content in at least one of the units and (ii) satisfies data access requests received from the providers by accessing the portion of data content in the at least one unit.

2. The system of claim 1 wherein at least one of the units is configured to buffer data contained in write data access requests to provide non-volatile storage of the data.

3. The system of claim 2 wherein at least another one of the units has a capacity greater than the at least one unit.

4. The system of claim 1 wherein the providers, controllers and units are in communication with each other via a remote direct memory access protocol.

5. The system of claim 1 wherein exclusively managing a portion of data content in at least one of the units includes performing copy-on-write.

6. The system of claim 1 wherein each of the controllers provides data redundancy for fault tolerance.

7. The system of claim 1 wherein accessing the portion of data content in the at least one unit includes retrieving the data content requested in the data access requests.

8. The system of claim 1 wherein accessing the portion of data content in the at least one unit includes storing data contained in the data access requests.

9. The system of claim 1 wherein all of the units provide non-volatile data storage.

10. A method of processing a data access request comprising:

at an external interface provider deployed on a server device,

receiving a data access request,

identifying a data storage controller deployed on another server device that can satisfy the request, the identified controller exclusively managing a portion of data content in at least one data storage unit independent of the server devices, and

forwarding the request to the identified controller via a peer-to-peer interconnect fabric; and

at the identified controller,

receiving the forwarded request, and

accessing, in response to the received request, the portion of data content in the at least one unit to satisfy the request via the peer-to-peer interconnect fabric.

11. The method of claim 10 further comprising buffering data contained in write data access requests in the at least one unit to provide non-volatile storage of the data.

12. The method of claim 10 wherein exclusively managing a portion of data content in at least one data storage unit independent of the server devices includes performing copy-on-write.

13. A data storage system comprising:

a plurality of server devices;

a plurality of external interface providers each deployed on one of the server devices;

a plurality of data storage controllers each deployed on one of the server devices, wherein each of the providers is configured to (i) receive a data access request, (ii) identify one of the controllers that can service the request and (iii) route the request to the identified controller; and

a plurality of data storage units independent of the server devices, wherein at least one of the units is configured to buffer data contained in write data access requests to provide non-volatile storage of the data, wherein at least another one of the units has a capacity greater than the at least one unit, wherein the providers, controllers and units are in communication with each other as peers via a peer-to-peer interconnect fabric, and wherein each of the controllers is configured to (i) exclusively manage a portion of data content in at least one of the units, (ii) receive data access requests from the providers and (iii) access the portion of data content in the at least one unit in response to receiving the requests to service the requests.

14. The system of claim 13 wherein exclusively managing a portion of data content in at least one of the units includes performing copy-on-write.

15. The system of claim 13 wherein each of the controllers provides data redundancy for fault tolerance.

16. The system of claim 13 wherein accessing the portion of data content in the at least one unit includes retrieving the data content requested in the data access requests.

17. The system of claim 13 wherein accessing the portion of data content in the at least one unit includes storing data contained in the data access requests.

18. The system of claim 13 wherein all of the units provide non-volatile data storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2009
From: O'BRIEN, JOHN TIMOTHY; MILILLO, MICHAEL STEVEN; DETAR, GEORGE FRANKLIN, JR.; MADISON, CARL THOMAS, JR.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 022477/0465 →
Continuity (1)
Related Publication 20100250700A1 · Sep 30, 2010