← Back to Patent Explorer
EP0790564A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Computer system data I/O by reference among I/O devices and multiple memory units

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-12-19
•
Granted: —
•
Expires: 2016-12-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method for getting descriptors to data and passing the descriptors among data sources and sinks, thereby avoiding copying the data among the data sources and sinks. The data source/sink which consumes the data actual initiates the copying of the actual data itself, using global pointers to the data in the descriptors.

Inventors

  • 👤 Leonard R. Fishler
  • 👤 Bahman Zargham

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-09 00:42
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 231 words
In a data processing system having a distributed memory architecture that includes a plurality of data source/sinks in the form of memory units or I/O controllers having associated memories, coupled as nodes to a network and with data locations accessible by memory address over the network, a method for transforming a data stream utilizing multiple data source/sinks without copying the data stream to each of the multiple data source/sinks during transformation processing, said method comprising the steps of: generating a first pointer, at a first data source/sink, including a first global network address specifying a first storage location where a first data stream is stored; transferring only said first pointer from said first data source/sink to a second data source/sink; generating, at said second data source/sink, a second pointer including a second global network address specifying a second storage location where a second data steam is stored, and chaining said first and second pointers to form a first chained pointer; transferring only said first chained pointer to a third data source/sink, with said third node storing a third data fragment of said message and for transferring said message to a destination; processing, at said third data source/sink, said first pointer to transform said first pointer into a plurality of secondary pointers to split said first data stream into parts and chaining protocol headers onto each part of said first data steam.
Claim 2
Dependent Claim 98 words
The method of claim 1 further comprising the step of: creating global IO queues at said first, second, third, and fourth data source/sinks: and wherein said step of transferring said first pointer from said first data source/sink to said second data source/sink comprises the steps of: storing said first pointer in the global IO queue at said first data source/sink; and queuing said first pointer from the global IO queue at said first data source/sink to the global IO queue at said second data source/sink which results in only the first pointer being copied to the second node.
Claim 3
Dependent Claim 131 words
In a data processing system having a distributed memory architecture that includes a plurality of data source/sinks in the form of memory units or I/O controllers having associated memories, coupled as nodes to a network and with data accessible by memory address over the network, a method comprising the steps of: getting a descriptor to a data buffer on a first of said plurality of data source/sinks; putting said descriptor onto a second of said plurality of data source/sinks without transferring the data in said data buffer; putting said descriptor from said second data source/sink onto a third of said plurality of data source/sinks; and retrieving a portion of the data in said data buffer from said first data source/sink to said third data source/sink for performing data input or output.
Claim 4
Dependent Claim 149 words
In a data processing system having a distributed memory architecture that includes a plurality of data source/sinks in the form of memory units or I/O controllers having associated memories, coupled as nodes to a network and with data accessible by memory address over the network, a method comprising the steps of: getting a descriptor to a data buffer on a first of said plurality of data source/sinks; putting said descriptor onto a second of said plurality of data source/sinks without transferring the data in said data buffer; dividing said descriptor into a plurality of descriptors; putting a one of said plurality of descriptors from said second data source/sink onto a third of said plurality of data source/sinks; and retrieving the portion of the data in said data buffer described by said one descriptor from said first data source/sink to said third data source/sink for performing data input or output.
Claim 5
Dependent Claim 29 words
The method of claim 3 further comprising the steps of: returning said descriptor to its data source/sink of origin; and deallocating said descriptor and the memory area it describes.
Claim 6
Dependent Claim 31 words
The method of claim 4 further comprising the steps of: returning said one descriptor to its data source/sink of origin; and deallocating said one descriptor and the memory area it describes.
Claim 7
Independent Claim 111 words
A medium for data storage wherein is located a computer program for performing data I/O among a plurality of data source/sinks in the form of memory units or I/O controllers by getting a descriptor to a data buffer on a first of said plurality of data source/sinks; putting said descriptor onto a second of said plurality of data source/sinks without transferring the data in said data buffer; putting said descriptor from said second data source/sink onto a third of said plurality of data source/sinks; and retrieving a portion of the data in said data buffer from said first data source/sink to said third data source/sink for performing data input or output.
Claim 8
Independent Claim 129 words
A medium for data storage wherein is located a computer program for performing data I/O among a plurality of data source/sinks in the form of memory units or I/O controllers by getting a descriptor to a data buffer on a first of said plurality of data source/sinks; putting said descriptor onto a second of said plurality of data source/sinks without transferring the data in said data buffer; dividing said descriptor into a plurality of descriptors; putting a one of said plurality of descriptors from said second data source/sink onto a third of said plurality of data source/sinks; and retrieving the portion of the data in said data buffer described by said one descriptors from said first data source/sink to said third data source/sink for performing data input or output.

References Cited (Backward Citations)

US4817091A Cited

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag