Switch based scalable performance storage architecture

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus access regulation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S038000

Reexamination Certificate

active

06370605

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to data storage systems, and more particularly to data storage systems having a storage device controller interposed between a host computer and one or more data storage devices wherein the controller manages the storage of data within the one or more storage devices.
2. Description of the Related Art
Auxiliary storage devices such as magnetic or optical disk arrays are usually preferred for high-volume data storage. Many modem computer applications, such as high resolution video or graphic displays involving on-demand video servers, may heavily depend on the capacity of the host computer to perform in a data-intensive environment. In other words, necessity for external storage of data in relatively slower auxiliary data storage devices demands that the host computer system accomplish requisite data transfers at a rate that does not severely restrict the utility of the application that necessitated high-volume data transfers. Due to the speed differential between a host processor and an external storage device, a storage controller is almost invariably employed to manage data transfers to/from the host and from/to the storage device.
The purpose of a storage controller is to manage the storage for the host processor, leaving the higher speed host processor to perform other tasks during the time the storage controller accomplishes the requested data transfer to/from the external storage. The host generally performs simple data operations such as data reads and data writes. It is the duty of the storage controller to manage storage redundancy, hardware failure recovery, and volume organization for the data in the auxiliary storage. RAID (Redundant Array of Independent Disks) algorithms are often used to manage data storage among a number of disk drives.
FIG. 1
is a diagram of a conventional computer system
10
including a host computer
12
coupled to a storage controller
14
by a link
16
and two storage devices
18
a-b
coupled to storage controller
14
by respective links
20
a-b.
Each storage device
18
may be, for example, a disk drive array or a tape drive. Links
16
and
20
a-b
may include suitable interfaces for I/O data transfers (e.g., Fibre Channel, small computer system interface or SCSI, etc.) As is evident from
FIG. 1
, all of the information involved in data transfers between host computer
12
and storage devices
16
a-b
passes through storage controller
14
. Storage controller
14
receives command, status, and data packets during the data transfer.
FIG. 2
is a diagram illustrating an exemplary flow of packets during a data read operation initiated by host computer
12
of FIG.
1
. Links
16
and
20
a-b
in
FIG. 1
may be Fibre Channel links, and the data transfer protocol evident in
FIG. 2
may be the Fibre Channel protocol. Referring now to
FIGS. 1 and 2
together, host computer
12
issues a read command packet identifying storage controller
14
as its destination (XID=H,A) via link
16
. Storage controller
14
receives the read command and determines that two separate read operations are required to obtain the requested data; one from storage device
18
a
and the other from storage device
18
b.
Storage controller
14
translates the read command from host computer
12
into two separate read commands, one read command for storage device
18
a
and the other read command for storage device
18
b.
Storage controller
14
transmits a first read command packet identifying storage device
18
a
as its destination (XID=A,B) via link
20
a,
and a second read command packet identifying storage device
18
b
as its destination (XID=A,C) via link
20
b.
Each read command packet instructs respective storage devices
18
a-b
to access and provide data identified by the read command. Storage device
18
a
(ID=B) accesses the requested data and transmits a data packet followed by a status packet (XID=B,A) to storage controller
14
via link
20
a.
Storage device
18
b
(ID=C) accesses the requested data and transmits a data packet followed by a status packet (XID=C,A) to storage controller
14
via link
20
b.
Each status packet may indicate whether the corresponding read operation was successful, i.e. whether the data read was valid.
As indicated in
FIG. 2
, storage controller
14
temporarily stores the data and status packets in a memory unit within storage controller
14
. Storage controller
14
then consolidates the data received from storage devices
18
a-b
and processes the status packets received from storage devices
18
a-b
to form a composite status. Storage controller
14
transmits the consolidated data followed by the composite status (XID=A,H) to host computer
12
via link
16
, completing the read operation. In the event that the composite status indicates a read operation error, host computer
12
may ignore the consolidated data and initiate a new read operation. In general, the flow of packets depicted in
FIG. 2
is typical of a two-party point-to-point interface protocol (e.g., the Fibre Channel protocol).
A typical storage controller includes multiple ports and one or more CPUs coupled to a communication bus, and a memory bus coupling the one or more CPUs to a memory unit. Two parameters are commonly used to measure the performance of a storage system: (1) the number of input/output (I/O) operations per second (iops), and (2) the data transfer rate of the storage system. Generally, the rate of execution of iops by a storage controller is governed by the type, speed and number of CPUs within the storage controller. The data transfer rate depends on the data transfer bandwidth of the storage controller. In computer system
10
described above, all of the data transferred between host computer
12
and storage devices
18
a-b
is temporarily stored within the memory unit of storage controller
14
, and thus travels through the memory bus of storage controller
14
. As a result, the data transfer bandwidth of storage controller
14
is largely dependent upon the bandwidth of the memory bus of storage controller
14
.
Current storage systems have restricted scalability because of the storage controllers having a relatively inflexible ratio of CPU to bandwidth capability. In other words, as evident in
FIGS. 1 and 2
, the data transfer rate between host computer
12
and storage devices
18
a-b
is dependent upon control functions (i.e., command translation and status processing) performed by storage controller
14
. This interdependence between iops and data transfer rate results in less efficient scalability of performance parameters. For example, in conventional storage controller architectures, an increase in data transfer rate may require both an increase in data transfer bandwidth and an increase in the number of CPUs residing within the controller.
It would thus be desirable to have a storage controller where control functionality (as measured by the iops parameter) is scalable independently of the data transfer bandwidth (which determines the data transfer rate), and vice versa. It may be further desirable to achieve independence in scalability without necessitating a change in the existing interface protocol managing the host-controller-storage interface.
SUMMARY OF THE INVENTION
Several embodiments of a computer system are described which achieve separation of control and data paths during data transfer operations, thus allowing independent scalability of storage system performance factors (e.g., storage system iops and data transfer rate). In one embodiment, the computer system includes a data switch coupled between a host computer and one or more storage devices. A storage controller for managing the storage of data within the one or more storage devices is coupled to the switch. The switch includes a memory for storing data routing information generated by the controller, and uses the data routing information to route data directly between the host computer and the one or more sto

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Switch based scalable performance storage architecture does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Switch based scalable performance storage architecture, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Switch based scalable performance storage architecture will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2912617

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.