System and method for controlling access to memory configured within an I/O module in a distributed I/O system
First Claim
1. A method for controlling read/write access to a register space of an I/O module in a distributed I/O system, the distributed I/O system including a computer system coupled to a module bank, the module bank including a communication module and one or more I/O modules, wherein the I/O module includes a register space, wherein the I/O module is coupled to the communication module, the method comprising:
- a first process executing in the communication module requesting access to the register space of the I/O module, wherein said requesting access includes initiating a first read operation on a semaphore register;
the I/O module determining if a process executing in the communication module already controls access to the register space of the I/O module;
the I/O module granting register space access to the first process executing in communication module;
wherein the granting includes providing information to the first process indicating whether a process executing in the communication module already controls access to the register space of the I/O module;
wherein the information is useable by the first process to affect register accesses by the first process.
1 Assignment
0 Petitions
Accused Products
Abstract
A modular distributed I/O system includes a computer coupled to module banks through a network bus. A module bank includes a communication module, terminal bases, and I/O modules. The adjoined terminal bases form a local bus mastered by the communication module. The I/O modules connect to the local bus through terminal bases. I/O modules are pluriform and programmable. The communication module maintains a memory image of the configuration state of each I/O module resident in the module bank. A memory image persists when an I/O module is removed from its terminal base. The memory image is used to configure a new I/O module which is inserted into the same terminal base. The communication module monitors for communication failure on the network bus, and is configured to capture the state of the module bank and automatically restore this captured state after a power-loss event. The terminal bases realize a local bus which includes a parallel bus, a serial bus, and an address assignment bus. Each terminal base receives a value from a preceding terminal base, increments this value, and asserts the increment value to a succeeding terminal base. Each terminal base is automatically assigned an physical proximity address. An I/O module controls read/write access to its register space by a semaphore mechanism which supports multi-threaded processing. The I/O module latches an ungranted semaphore request and assumes a self-exclusion state upon releasing the semaphore wherein the semaphore is reserved for the communication module.
-
Citations
18 Claims
-
1. A method for controlling read/write access to a register space of an I/O module in a distributed I/O system, the distributed I/O system including a computer system coupled to a module bank, the module bank including a communication module and one or more I/O modules, wherein the I/O module includes a register space, wherein the I/O module is coupled to the communication module, the method comprising:
-
a first process executing in the communication module requesting access to the register space of the I/O module, wherein said requesting access includes initiating a first read operation on a semaphore register; the I/O module determining if a process executing in the communication module already controls access to the register space of the I/O module; the I/O module granting register space access to the first process executing in communication module; wherein the granting includes providing information to the first process indicating whether a process executing in the communication module already controls access to the register space of the I/O module; wherein the information is useable by the first process to affect register accesses by the first process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for controlling read/write access to a register space of an I/O module in a distributed I/O system, the distributed I/O system including a computer system coupled to a module bank, the module bank including a communication module and one or more I/O modules, wherein the I/O module includes a register space, wherein the I/O module is coupled to the communication module, the method comprising:
-
initializing the I/O module in an available state which indicates availability of the register space of the I/O module; said communication module performing a first request for access to the register space of the I/O module, wherein said performing a first request comprises performing a first read operation of a semaphore register; said I/O module non-trivially granting register space access to the communication module in response to said first request, wherein said non-trivially granting indicates that the communication module did not possess said register space access prior to said first request; said communication module performing a second request for access to the register space of the I/O module, wherein said performing a second request comprises performing a second read operation of said semaphore register; said I/O module trivially granting register space access to the communication module in response to said second request, wherein said trivially granting register space access indicates that the communication module already possessed said register space access prior to said second request.
-
-
13. An access control system comprising:
-
an I/O module which includes a register space and a semaphore register; a communication module coupled to the I/O module; wherein the communication module is configured to read the semaphore register, wherein the initiation of a read operation on the semaphore register asserted by the communication module comprises a request for access to the register space of the I/O module, wherein the I/O module is configured to update the contents of the semaphore register in response to the initiation of the read operation, wherein the contents of the semaphore register returned by the read operation indicates; whether the request for access has been granted or denied; and in the case where the request is granted, whether the communication module already had access to the register space prior to the initiation of the read request. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification