Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1999-05-21
2002-06-04
Iqbal, Nadeem (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C711S112000
Reexamination Certificate
active
06401223
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to system for invalidating requests pending to one or more system resources within a data processing system; and, more specifically, relates to a system for programmably invalidating requests stored within a queue of a data processing system using a selectable one of the requests fields to perform the invalidation.
2. Discussion of the Prior Art
In data processing systems, multiple requesting units such as instruction processors are often requesting access to one or more shared resources such as memories. To handle these requests in an orderly fashion, the requests may be temporarily stored in a storage structure and processed based on a predetermined priority scheme. By using a priority scheme that is tuned to select requests based both on the availability of the requested resources and the demand of the requesting units, system throughput may be optimized.
The use of centralized request-handling mechanism often improves system efficiency. However, this scheme may result in system bottlenecks when faults occur within one of the requesting units or shared resources. For example, a faulty requesting unit such as an instruction processor may cause a flood of spurious requests to the shared request storage logic that will fill the available storage and prevent other requesting units from entering requests. Similarly, a failing one of the shared resources such as a shared memory may become unavailable because of a fault. Because this resource is no longer processing requests, a backlog of requests to this unit may accumulate in the request storage logic such that requests to other ones of the shared resources may not be entered into the request storage logic. Thus, in a system employing a centralized request-handling scheme, a failing resource may seriously impact the ability to efficiently handle requests.
One way to handle the occurrence of faults in either the requesting or receiving units is to process any pending requests associated with the faulty units even though the processing of these requests may result in errors. This request processing is performed to clear the requests associated with the failing units from the request storage logic. Generally, this type of request processing must continue until all such requests are purged from the request storage logic, and no more additional requests are being issued. For example, requests from a failing requesting unit that have been already been entered into a centralized request storage unit may be selected for processing in the normal manner even though these requests are associated with a requesting unit that is known to be failing. These requests may be presented to, and processed by, a shared resource, with any request results being returned to the requesting unit. Since the requesting unit has failed, any returned results will be discarded. Such processing may continue until the failing unit is disabled and request initiation is discontinued.
The above-described method of request fault handling is not complex to implement since it does not involve special-case handling of erroneous requests. However, this method has several disadvantages. First, the shared resources waste processing time handling requests from the failing unit. This time could instead be spent processing legitimate requests. Moreover, system overhead is imposed in returning any associated response to the failing unit. System overhead is also imposed by any error handling that occurs because the failing unit is not able to properly receive the response. Additionally, requests from failing units may be formatted improperly, may cause errors during processing by the shared resources, or worse yet, may corrupt data associated with a shared resource. Finally, if the failing unit can not be quickly disabled, a period of time may elapse during which the other non-failing units are denied access to the shared resource because of a flood of spurious requests from the failing unit.
Similar problems exist when stored requests to a known failing resource are processed in a normal manner. For example, one way to discard the requests to failing units is to force these requests to be handled like any other request, with resulting errors being processing by the error-handling circuitry of the system. For instance, after a request is presented to a failing unit, timer circuits may be used to generate an error response if the failing unit does not respond in a predetermined amount of time. While this method of processing known erroneous requests requires a minimal amount of special-case logic to implement, it results in increased system overhead because of the error and response handling that is involved. Moreover, the handling of requests by a failing unit may result in corruption of data associated with the shared resource.
Because of the importance of maintaining data integrity, ensuring continued access to resources, and providing a resilient error-handling mechanism in data processing systems using centralized request handling mechanisms, an improved error-handling system is needed for invalidating pending requests that are associated with a known fault.
OBJECTS
The primary object of the invention is to provide an improved system for invalidating pending requests within a data processing system;
A further object of the invention is to provide a system for invalidating pending requests to access system resources based on the contents of a programmably selectable one of multiple fields included in the request;
A further object of the invention is to provide a system for invalidating pending requests to access system resources based on a requester identifier stored within a programmably selectable one of multiple fields included in the request;
Yet another object of the invention is to provide a system for invalidating pending requests to access system resources based on a resource identifier stored within a programmably selectable one of multiple fields included in the request;
A still further object of the invention is to provide a system for invalidating pending requests to access system resources based on the contents of a programmably selectable one of multiple fields included in the request, wherein the selectable one of the multiple fields is selectable using a dynamic scan-set interface;
Another object of the invention is to provide a system for invalidating pending requests to access system resources based on a job number identifier uniquely identifying one of the pending requests;
A yet further object of the invention is to provide a Content Addressable Memory (CAM) having a programmably-selectable compare field;
Another object of the invention is to provide a system for processing invalidation requests, wherein each invalidation request specifies a selectable request field and a compare value for use in invalidating pending requests;
A still further object of the invention is to provide a system for invalidating pending requests using a selectable one of multiple request fields that is selected upon the occurrence of a fault; and
An additional object of the invention is to prevent further requests to be received from any requester or issued to any resource if that requester or resource has previously been associated with a reported fault.
These and other more detailed and specific objectives of the invention will become apparent from the following description of the invention.
SUMMARY OF THE INVENTION
The objectives of the present invention are achieved in a system for invalidating pending requests within a data processing system. According to the preferred embodiment, one or more requesting units make requests to gain access to one or more shared resources. These requests are stored in a central request storage unit and are processed according to a predetermined priority scheme and according to resource availability.
Each request as stored in the request storage unit includes several request fields, including fields storing the identity of the requesting unit and the identi
Iqbal Nadeem
Johnson Charles A.
McMahon Beth L.
Starr Mark T.
Unisys Corporation
LandOfFree
Programmable system for invalidating pending requests within... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Programmable system for invalidating pending requests within..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Programmable system for invalidating pending requests within... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2893455