IP Library Patent Application 12006269
Patent Application
App. No. 12/006,269

System and method for managing input/output requests in data processing systems

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 None
App. No.
12/006,269
Abstract

An apparatus and method for managing input/output transactions in data processing systems. I/O processors (IOPs) of the computing system are logically separated into multiple groups. Multiple global completion indicator groups are provided, one for each of the groups of IOPs. A state of the global completion indicator group is modified by its respective group of IOPs when any of the IOPs of the respective group completes an I/O request. Each of the global completion indicator groups is independently monitored for I/O requests completed by any of the IOPs in the respective IOP group.

Claims (29)

1 . A method for managing input/output requests in a computing system, comprising:

grouping input/output processors of the computing system into a plurality of groups;

providing a plurality of global completion indicator groups, one for each of the groups of input/output processors;

modifying a status of the global completion indicator group by its respective group of input/output processors when any of the input/output processors of the respective group completes an input/output request; and

independently monitoring each of the global completion indicator groups for input/output requests completed by any of the input/output processors in the respective input/output processor group.

2 . The method of claim 1 , further comprising providing a control table for each input/output processor in the computing system, each control table comprising at least a local completion indicator and an identification of an addressable location of a status queue for the respective input/output processor, wherein the local completion indicator provides the respective input/output processor with notification that the operating system is processing the completion of the input/output request.

3 . The method of claim 1 , wherein modifying a state of the global completion indicator group comprises writing at least one self-identifying characteristic of the input/output processor completing the input/output request to the global completion indicator group.

4 . The method of claim 3 , further comprising locating a control table unique to the input/output processor completing the input/output request using the at least one self-identifying characteristic.

5 . The method of claim 1 , wherein modifying a state of the global completion indicator group comprises writing a value unique to the input/output processor completing the input/output request to the global completion indicator group to notify an operating system of the identity of the input/output processor that completed the input/output request.

6 . The method of claim 1 , further comprising locking the global completion indicator group until completion status processing is completed by an operating system operating on behalf of a first device.

7 . The method of claim 6 , further comprising directing the operating system of a second device to a predetermined counterpart global completion indicator group when it is determined that the global completion indicator group is locked.

8 . The method of claim 1 , further comprising processing the most recent entry on the global completion indicator group first.

9 . The method of claim 1 , wherein modifying a state of the global completion indicator group comprises modifying the state by the input/output processor that completed its input/output request.

10 . The method of claim 1 , wherein independently monitoring each of the global completion indicator groups for input/output requests completed comprises independently monitoring each of the global completion indicator groups by one or more operating systems serving devices initiating the input/output requests.

11 . An apparatus for managing input/output transactions, comprising:

a plurality of input/output processors, each associated with one of a plurality of groups;

a memory configured to store a state of a plurality of global completion indicators, one for each of the plurality of groups, the state of each of the global completion indicators indicating whether an input/output processor in the respective group has completed processing of an input/output request; and

an instruction processing system having an operating system configured to monitor each of the global completion indicators in each of the groups for input/output requests completed by any of the input/output processors in the respective input/output processor group.

12 . The apparatus as in claim 11 , further comprising a plurality of cells, each comprising one or more instruction processors and a plurality of the input/output processors, and wherein each of the plurality of groups comprises the input/output processors of one of the plurality of cells.

13 . The apparatus as in claim 11 , wherein the memory further comprises a plurality of stored control tables, each control table comprising at least a local completion indicator and an identification of an addressable location of a status queue for the respective input/output processor, wherein the local completion indicator provides the respective input/output processor with notification that the operating system is processing the completion of the input/output request.

14 . The apparatus as in claim 11 , wherein the memory is configured to store a unique identifier corresponding to the input/output processor that completed processing of the input/output request, wherein the unique identifier serves as the state which indicates that the input/output processor has completed processing of the input/output request.

15 . An apparatus for managing input/output (I/O) transactions, comprising:

means for initiating input/output requests;

a plurality of input/output processors to process the input/output requests, each of the input/output processors associated with one of a plurality of groups;

means for storing a plurality of global completion indicators, one for each of a plurality of groups of the input/output processors;

means for modifying a state of the global completion indicators by its respective group of input/output processors when any of the input/output processors of the respective group completes an input/output request; and

means for independently monitoring each of the global completion indicator groups for the input/output requests completed by any of the input/output processors in the respective input/output processor group.

16 . The apparatus as in claim 15 , wherein the means for modifying the state of the global completion indicators comprises means for modifying the state by writing a unique identifier of the input/output processor that completed the input/output request.

17 . The apparatus as in claim 16 , further comprising means for locating a control table and associated input/output completion status queue using the unique identifier of the input/output processor that completed the input/output request.

Assignments (4)
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded Mar 6, 2008
From: UNISYS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 020612/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2008
From: STANTON, MICHAEL F.
To: UNISYS CORPORATION
Reel/Frame 020512/0764 →