Method and apparatus for implementing high-performance, scaleable data processing and storage systems
First Claim
1. A disk-based storage system for providing high-performance, scaleable storage services to a client from a plurality of disks, comprisinga disk interface module connected to the plurality of disks for controlling data stored on the plurality of disks;
- a host interface module which receives requests for storage service from the client, each storage service request including a data object to be stored and a data object identifier that identifies that data object and, in response to each storage service request and based on a workload and on relative demands placed on subsets of the plurality of disks instead of a physical location in the plurality of disks, selects a subset of the plurality of disks to provide the requested storage so that data corresponding to the same data object identifier can be transferred to different physical disk locations from request to request in order to distribute the workload across the plurality of disks; and
a switch fabric for temporarily connecting the host interface module to the resource module for providing the storage service to the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A data system architecture is described that allows multiple processing and storage resources to be connected to multiple clients so as 1) to distribute the clients'"'"' workload efficiently across the available resources; and 2) to enable scaleable expansion, both in terms of the number of clients and in the number of resources. The major features of the architecture are separate, modular, client and resource elements that can be added independently, a high-performance cross-bar data switch interconnecting these various elements, separate serial communication paths for controlling the cross-bar switch settings, separate communication paths for passing control information among the various elements and a resource utilization methodology that enables clients to distribute processing or storage tasks across all available resources, thereby eliminating “hot spots” resulting from uneven utilization of those resources.
22 Citations
48 Claims
-
1. A disk-based storage system for providing high-performance, scaleable storage services to a client from a plurality of disks, comprising
a disk interface module connected to the plurality of disks for controlling data stored on the plurality of disks; -
a host interface module which receives requests for storage service from the client, each storage service request including a data object to be stored and a data object identifier that identifies that data object and, in response to each storage service request and based on a workload and on relative demands placed on subsets of the plurality of disks instead of a physical location in the plurality of disks, selects a subset of the plurality of disks to provide the requested storage so that data corresponding to the same data object identifier can be transferred to different physical disk locations from request to request in order to distribute the workload across the plurality of disks; and a switch fabric for temporarily connecting the host interface module to the resource module for providing the storage service to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for providing high-performance, scaleable storage services to a client from a plurality of disks, comprising
(a) providing a disk interface module connected to the plurality of disks for controlling data stored on the plurality of disks; -
(b) providing a host interface module which receives requests for storage service from the client, each storage service request including a data object to be stored and a data object identifier that identifies that data object and, in response to each storage service request and based on a workload and on relative demands placed on subsets of the plurality of disks instead of a physical location in the plurality of disks, selects a subset of the plurality of disks to provide the requested storage so that data corresponding to the same data object identifier can be transferred to different physical disk locations from request to request in order to distribute the workload across the plurality of disks; and (c) using a switch fabric to temporarily connect the host interface module to the resource module for providing the storage service to the client. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification