Transparently gathering a chips multiple internal states via scan path and a trigger |
| According to the present invention, a scan path is used to capture data of miscellaneous logic ... |
|
Method and apparatus for dynamically testing electrical interconnect |
| A new type of hardware emulation system is disclosed and claimed which reduces hardware cost by ... |
|
System and method for saving the state for advanced microprocessor operating modes |
| Accordingly, it is an object of the present invention to provide a resume processing function for ... |
|
Hydraulic reservoir for tandem master cylinder |
| An object of this invention is to provide a novel hydraulic reservoir for master cylinder which ... |
|
Semiconductor device |
| We have investigated the aforementioned semiconductor devices of the prior art and have found the ... |
|
Tape ball lead integrated circuit package |
| As will be described in more detail hereinafter, an integrated circuit package assembly utilizing ... |
|
Transmission unit receiving and storing means |
| OF EMBODIMENTS] In the following, the present invention shall be described by way of preferred ... |
|
Computer enclosure with embedded PCMCIA modem card |
| The present invention solves the shortcomings and deficiencies of the prior art by constructing an ... |
|
IC card and IC card system |
| The present invention is directed to overcome the foregoing problems, and therefore an object of ... |
|
|
Method for managing concurrent processes using dual locking
| Details |
Inventors: Freitas, Richard Francis; Jadav, Divyesh; Kenchammana-Hosekote, Deepak; Menon, Jaishankar Moothedath; Strong, Jr., Hovey Raymond;
Assignee: International Business Machines Corporation (Armonk, NY)
Primary Examiner: Burgess; Glenton B.
Assistant Examiner: Edelman; Bradley
Attorney, Agent or Firm: Dan Hubert & Associates
Multiple competing processors cooperatively manage access to a shared resource. Each processor separately stores a lock table, listing shared resource subparts, such as memory addresses of a data storage device, for example. The lock tables are stored in nonvolatile storage. In each lock table, each subpart is associated with a "state," such as; LOCAL or REMOTE. In response to access requests from the hosts, the processors exchange various messages to cooperatively elect a single processor to have exclusive access to the subparts involved in the access requests. After one processor is elected, the lock-holding processor configures its lock table to show the identified subpart in the LOCAL state, and all non-lock-holding processors configure their lock tables to show the identified subpart in the REMOTE state. Thus, rather than replicating one lock table for all processors, the processors separately maintain lock tables that are coordinated with each other. Importantly, each processor honors its lock table by refraining from accessing a subpart of the shared resource unless the processor's lock table indicates a LOCAL state for that subpart. In one embodiment, optimized for the two processor environment, the messages exchanged by the processors include lock request, lock release, and lock grant messages. |
|
DETAILED DESCRIPTION Broadly, the present invention concerns a method and apparatus for managing access to a shared resource among competing processors. The invention includes features that are particularly optimized for environments with two "processors," also referred to as processing units, processing elements, nodes, servers, computers, adapters, etc. The invention is applied in a system with multiple processors that commonly access a shared resource, such as a digital data storage. The processors receive and process access requests originating at one or more hosts. Each processor separately stores a lock table, listing subparts of the shared resource, such as memory addresses, extents, logical devices, or an entire physical data storage device. The lock tables are stored in nonvolatile storage. In each lock table, each subpart of the shared resource is associated with a "state" such as LOCAL or REMOTE. In response to access requests from the hosts, the processors exchange various messages to cooperatively elect a single processor to have exclusive access to the subparts involved in the access requests. After one processor is elected, the lock-holding processor configures its lock table to show the identified subpart in the LOCAL state, and all non-lock-holding processors configure their lock tables to show the identified subpart in the REMOTE state. Thus, rather than replicating one lock table for all processors, the processors separately maintain lock tables that are coordinated with each other. Importantly, each processor refrains from accessing a subpart of the shared resource unless the processor's lock table indicates a LOCAL state for that subpart. In one embodiment, optimized for the two processor environment, the messages exchanged by the processors include lock request, lock release, and lock grant messages. When a processor seeks access to a subpart, but its lock table indicates a REMOTE state for the lock, the other processor owns the lock. In this case, the first processor transmits a lock request to the other processor
|
|