← Back to Patent Explorer
US5787304A Expired / Lapsed US ⏱️ 0.0 years remaining

Multipath I/O storage systems with multipath I/O request mechanisms

Assignee: International Business Machines Corp
•
Filing: 1996-02-05
•
Granted: 1998-07-28
•
Expires: 2016-02-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system having multiple independent paths for communication between a host and a plurality of storage devices where each path has its own queue for servicing requests generated by the host for accessing the storage devices. Each request is assigned a unique sequential ID before it is stored, along with its unique ID, in all the queues. Each storage device has a "mailbox" register where the ID and the status of the latest request being carried out is stored. Queues are serviced and their status updated based on the content of the mailbox in each storage device. The combination of assigning a unique task ID to each request and a "mailbox" register in each storage device allows the queue in each path to be completely out of sync with each of the queues in the other paths without causing data integrity problems, duplication of requests at the device level, or a need for complex locking schemes to keep the queues in sync with each other.

Inventors

  • 👤 Paul Hodges
  • 👤 Michael Garwood Hurley
  • 👤 Norman Kenneth Ouchi
  • 👤 Mien Shih

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 19:00
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/16; G06F13/1605; G06F13/1642

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 87 words
A data processing system, comprising: a central processing unit (CPU); a storage subsystem in communication with said CPU, said storage subsystem including: a storage controller having a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues concurrently storing requests received from said CPU, each of said requests having a unique identification label; and, a storage device for servicing requests received from said queues, said storage device comprising a mailbox for storing the status and the unique identification of each request being serviced.
Claim 2
Dependent Claim 87 words
A data processing system, comprising: a central processing unit (CPU); a storage subsystem in communication with said CPU, said storage subsystem including: a storage controller having a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues concurrently storing requests received from said CPU, each of said requests having a unique identification label; and, a storage device for servicing requests received from said queues, said storage device comprising a mailbox for storing the status and the unique identification of each request being serviced.
Claim 3
Dependent Claim 17 words
A data processing system as recited in claim 1, wherein each request comprises a plurality of sub-commands.
Claim 4
Dependent Claim 26 words
A data processing system as recited in claim 2, wherein said mailbox further comprises a status field for storing the status of each sub-command being executed.
Claim 5
Dependent Claim 33 words
A data processing system as recited in claim 3 further comprising means for reading said mailbox and updating the status of the requests in said queues based on the content of said mailbox.
Claim 6
Dependent Claim 118 words
In a data processing system, comprising a host and a storage subsystem where said storage subsystem includes a storage controller and a storage device for processing requests received from the host and where said storage controller includes a plurality of storage sub-controllers, each of said storage sub-controllers including a queue, a method of updating the status of each of said queues, comprising the steps of: assigning a unique identification label to each request concurrently stored in said queues; maintaining a mailbox in said storage device for storing the status of each request being serviced; reading said mailbox to determine the status of the last request being serviced; and, updating said queues based on the content of the mailbox.
Claim 7
Dependent Claim 118 words
In a data processing system, comprising a host and a storage subsystem where said storage subsystem includes a storage controller and a storage device for processing requests received from the host and where said storage controller includes a plurality of storage sub-controllers, each of said storage sub-controllers including a queue, a method of updating the status of each of said queues, comprising the steps of: assigning a unique identification label to each request concurrently stored in said queues; maintaining a mailbox in said storage device for storing the status of each request being serviced; reading said mailbox to determine the status of the last request being serviced; and, updating said queues based on the content of the mailbox.
Claim 8
Dependent Claim 21 words
A data processing system as recited in claim 5, wherein each request stored in said queues comprises a plurality of sub-commands.
Claim 9
Dependent Claim 25 words
A data processing system as recited in claim 6, wherein said mailbox comprises a status field for storing the status of each sub-command being executed.
Claim 10
Dependent Claim 97 words
A data processing system, comprising: a central processing unit (CPU); a storage subsystem in communication with said CPU, said storage subsystem including: a storage controller having a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues storing each request received from said CPU, each request having a unique identification label; and a storage device for servicing said each request, said storage device comprising a mailbox for storing the status and the unique identification of said each request being serviced, the information stored in said mail box being used to update said queues.
Claim 11
Dependent Claim 97 words
A data processing system, comprising: a central processing unit (CPU); a storage subsystem in communication with said CPU, said storage subsystem including: a storage controller having a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues storing each request received from said CPU, each request having a unique identification label; and a storage device for servicing said each request, said storage device comprising a mailbox for storing the status and the unique identification of said each request being serviced, the information stored in said mail box being used to update said queues.
Claim 12
Dependent Claim 108 words
A data processing system, comprising: a central processing unit (CPU); a storage device; a storage controller in communication with said CPU and said storage device, said storage controller including: a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues concurrently storing each request received from said CPU for accessing said storage device, said each request having a unique identification label; and, said storage device servicing requests received from said queues, said storage device comprising a mailbox for storing the status and the unique identification of only the request being serviced, the status of the request being serviced being used to update said queues.
Claim 13
Dependent Claim 108 words
A data processing system, comprising: a central processing unit (CPU); a storage device; a storage controller in communication with said CPU and said storage device, said storage controller including: a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues concurrently storing each request received from said CPU for accessing said storage device, said each request having a unique identification label; and, said storage device servicing requests received from said queues, said storage device comprising a mailbox for storing the status and the unique identification of only the request being serviced, the status of the request being serviced being used to update said queues.
Claim 14
Dependent Claim 157 words
In a data processing system, comprising a host and a storage subsystem where said storage subsystem includes a storage controller and a storage device for processing requests received from the host for accessing said storage device and where said storage controller includes a plurality of storage sub-controllers, each of said storage sub-controllers including a queue for storing each request issued by the host for access to said storage device, a method of updating the status of each of said queues, comprising the steps of: assigning a unique identification label to each request issued by the host for access to said storage device; storing said each request in said queues; maintaining a mailbox in said storage device for storing the status and unique identification label of only the request being serviced; reading said mailbox to determine the status of the request being serviced by said storage device; and, updating said queues based on the content of the mailbox.
Claim 15
Dependent Claim 157 words
In a data processing system, comprising a host and a storage subsystem where said storage subsystem includes a storage controller and a storage device for processing requests received from the host for accessing said storage device and where said storage controller includes a plurality of storage sub-controllers, each of said storage sub-controllers including a queue for storing each request issued by the host for access to said storage device, a method of updating the status of each of said queues, comprising the steps of: assigning a unique identification label to each request issued by the host for access to said storage device; storing said each request in said queues; maintaining a mailbox in said storage device for storing the status and unique identification label of only the request being serviced; reading said mailbox to determine the status of the request being serviced by said storage device; and, updating said queues based on the content of the mailbox.
Claim 16
Dependent Claim 101 words
A data processing system, comprising: a central processing unit (CPU); a storage device; a storage controller in communication with said CPU, said storage controller including: a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues storing each request received from said CPU for accessing said storage device, each request having a unique identification label; and said storage device servicing requests received from said queues, said storage device comprising a mailbox for storing the status and the unique identification of the request being serviced, the information stored in said mailbox being used to update said queues asynchronously.
Claim 17
Dependent Claim 101 words
A data processing system, comprising: a central processing unit (CPU); a storage device; a storage controller in communication with said CPU, said storage controller including: a plurality of storage sub-controllers, each of said storage sub-controllers comprising a queue, said queues storing each request received from said CPU for accessing said storage device, each request having a unique identification label; and said storage device servicing requests received from said queues, said storage device comprising a mailbox for storing the status and the unique identification of the request being serviced, the information stored in said mailbox being used to update said queues asynchronously.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-27 2002-01-26 2002-07-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-27 2006-01-26 2006-07-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-27 2010-01-26 2010-07-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag