System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
First Claim
1. An apparatus for interfacing between a bus-based input/output device and a distributed memory processing system, wherein said system contains memory distributed over a plurality of nodes, wherein said bus-based I/O device issues access requests for data directed to a single memory location within a logical address space, and wherein said location may be spread over a plurality of said nodes, said apparatus comprising:
- means for accepting said access requests from said I/O device to produce accepted access requests;
means for accessing said distributed memory in response to said accepted access requests;
a read/write buffer memory for storing said data and for storing one or more sets of parameters used to access said logical address space, wherein each said set of parameters is defined as a logical channel context, each set comprises a channel configuration parameter for enabling and activating a particular logical channel context and a buffer configuration parameter for specifying a segment of said read/write buffer assigned for use by said particular logical channel context; and
circuitry controlled by said logical channel context for breaking each accepted access request into a series of instructions for accessing said memory spread over a plurality of said nodes.
4 Assignments
0 Petitions
Accused Products
Abstract
A distributed memory I/O interface 10 is provided which allows a plurality of standard peripheral bus I/O controllers 101 to perform multiple transfer operations simultaneously and independently within a networked, distributed memory system 102. The interface 10 includes a peripheral interface 11 to the I/O controllers 101, a memory interface 12 to the distributed memory system 102, a system interface 13 to the processors of the distributed memory system 102, a caching circular buffer RAM 12, and an internal bus 105. The operations of the interface 10 are controlled by logical channels. Each logical channel comprises a channel context, which includes a set of parameters stored in buffer RAM 12 that specify among other things logical address space, a physical memory map, a RAM buffer segment, and a set of allowed transactions for use during channel operations. Data is staged through RAM segments which act as circular buffer caches within the channel'"'"'s logical address space for sequential transfers, and as doubly-mapped shared memory for random access. The use of an intermediate logically contiguous address space and a caching circular buffer, and the methods by which the parameters in the logical channel context are referenced and modified by the components of the interface 10 allows for multiple I/O transfer operations to be active simultaneously and executed independently.
142 Citations
9 Claims
-
1. An apparatus for interfacing between a bus-based input/output device and a distributed memory processing system, wherein said system contains memory distributed over a plurality of nodes, wherein said bus-based I/O device issues access requests for data directed to a single memory location within a logical address space, and wherein said location may be spread over a plurality of said nodes, said apparatus comprising:
-
means for accepting said access requests from said I/O device to produce accepted access requests; means for accessing said distributed memory in response to said accepted access requests; a read/write buffer memory for storing said data and for storing one or more sets of parameters used to access said logical address space, wherein each said set of parameters is defined as a logical channel context, each set comprises a channel configuration parameter for enabling and activating a particular logical channel context and a buffer configuration parameter for specifying a segment of said read/write buffer assigned for use by said particular logical channel context; and circuitry controlled by said logical channel context for breaking each accepted access request into a series of instructions for accessing said memory spread over a plurality of said nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
Specification