US5287482A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Input/output cache
Assignee: International Business Machines Corp
•
Filing: 1992-07-09
•
Granted: 1994-02-15
•
Expires: 2012-07-09
Abstract
Abstract A cache for use with input/output devices attached to an input/output bus. Requests for access to system memory by an input/output device pass through the cache. Virtual memory addresses used by the input/output devices are translated into real addresses in the system memory. Virtual memory can be partitioned, with some virtual addresses being mapped to a second memory attached to the input/output bus.
Inventors
- 👤 Ravi K. Arimilli
- 👤 Sudhir Dhawan
- 👤 James O. Nicholson
- 👤 David W. Siegel
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 04:42
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/084
Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
223 words
An input/output cache for use in a digital computer system having a plurality of input/output devices connected to an input/output bus, the cache comprising: a cache buffer connected to an input/output bus and to a main system memory, wherein the cache buffer is organized as a plurality of lines; a cache control register file having a plurality of registers, each cache control register corresponding to one of the cache buffer lines and containing a main memory address corresponding to the corresponding cache buffer line; a channel status register file having a plurality of channel status registers, each corresponding to a single input/output device attached to the input/output bus, and each channel status register containing a control field for selecting one of the cache control registers and its corresponding cache buffer line; means for selecting one of the channel status registers when the corresponding input/output bus; a comparator for comparing an address placed on the input/output bus, by an input/output device performing a data access, with the address contained in the cache control register selected by the selected channel status register control field, and for generating a cache hit signal if they match, else generating a cache hit signal; and means for, if a cache hit signal is generated, causing the input/output device to perform a data access of the corresponding cache buffer line.
Claim 2
Dependent Claim
223 words
An input/output cache for use in a digital computer system having a plurality of input/output devices connected to an input/output bus, the cache comprising: a cache buffer connected to an input/output bus and to a main system memory, wherein the cache buffer is organized as a plurality of lines; a cache control register file having a plurality of registers, each cache control register corresponding to one of the cache buffer lines and containing a main memory address corresponding to the corresponding cache buffer line; a channel status register file having a plurality of channel status registers, each corresponding to a single input/output device attached to the input/output bus, and each channel status register containing a control field for selecting one of the cache control registers and its corresponding cache buffer line; means for selecting one of the channel status registers when the corresponding input/output bus; a comparator for comparing an address placed on the input/output bus, by an input/output device performing a data access, with the address contained in the cache control register selected by the selected channel status register control field, and for generating a cache hit signal if they match, else generating a cache hit signal; and means for, if a cache hit signal is generated, causing the input/output device to perform a data access of the corresponding cache buffer line.
Claim 3
Dependent Claim
71 words
The cache of claim 1, further comprising means for, if a cache miss is generated by the comparator, loading a new value into the channel status register control field for the channel status register corresponding to the input/output device performing a data access, wherein a different cache control register is selected by such channel status register, wherein one input/output device can select a second cache control register after a cache miss.
Claim 4
Dependent Claim
60 words
The cache of claim 1, further comprising a Translation Control Work (TCW) cache register file having a plurality of TCW cache registers, each corresponding to a cache control register, each TCW cache register containing a field which holds a main memory real page number corresponding to a virtual page number for the buffer line corresponding to that cache control register.
Claim 5
Dependent Claim
289 words
An input/output cache for use in a digital computer system, such system including a central processor, a main system memory, an input/output bus, and a plurality of input/output devices connected to the input/output bus, the cache comprising: a buffer memory containing data organized as a plurality of lines, wherein the buffer memory is connected to the main system memory for exchanging data therewith; a cache control memory for containing an identifying address indicating a location in main system memory corresponding to each of the buffer memory lines; means for assigning at least one of the buffer memory lines to a selected input/output device, wherein a line assigned to an input/output device is used for buffering data only for that input/output device, and wherein the selected input/output device accesses main system memory only through an assigned buffer memory line; means for assigning at least one of the buffer memory lines to the central processor, wherein the central processor accesses locations in the main system memory through an assigned buffer memory line; a comparator connected to the input/output bus and to the buffer memory, wherein the comparator compares identifying addresses from the cache control memory to addresses present on the input/output bus, and generates a cache hit signal if there is a match; control means for determining which input/output or central processor device has placed an address on the input/output bus, and for causing the comparator to compare an identifying address, corresponding to a buffer memory line assigned to the determined device, with an address on the input/output bus; and means for allowing an input/output device which has placed an address on the input/output bus to access a buffer line assigned to it when the comparator generates a cache hit signal.
Claim 6
Dependent Claim
289 words
An input/output cache for use in a digital computer system, such system including a central processor, a main system memory, an input/output bus, and a plurality of input/output devices connected to the input/output bus, the cache comprising: a buffer memory containing data organized as a plurality of lines, wherein the buffer memory is connected to the main system memory for exchanging data therewith; a cache control memory for containing an identifying address indicating a location in main system memory corresponding to each of the buffer memory lines; means for assigning at least one of the buffer memory lines to a selected input/output device, wherein a line assigned to an input/output device is used for buffering data only for that input/output device, and wherein the selected input/output device accesses main system memory only through an assigned buffer memory line; means for assigning at least one of the buffer memory lines to the central processor, wherein the central processor accesses locations in the main system memory through an assigned buffer memory line; a comparator connected to the input/output bus and to the buffer memory, wherein the comparator compares identifying addresses from the cache control memory to addresses present on the input/output bus, and generates a cache hit signal if there is a match; control means for determining which input/output or central processor device has placed an address on the input/output bus, and for causing the comparator to compare an identifying address, corresponding to a buffer memory line assigned to the determined device, with an address on the input/output bus; and means for allowing an input/output device which has placed an address on the input/output bus to access a buffer line assigned to it when the comparator generates a cache hit signal.
Claim 7
Dependent Claim
29 words
The cache of claim 4, wherein the control means further restricts the identifying addresses to a portion, less than all, of the addresses contained in the main system memory.
Claim 8
Dependent Claim
52 words
The cache of claim 4, wherein the main system memory corresponds to a first portion of a main memory address space, and wherein a bus memory is attached to and accessible over the input/output bus, and further wherein the bus memory corresponds to a second portion of the main memory address space.
Claim 9
Dependent Claim
29 words
The cache of claim 6, wherein addresses in the bus memory are accessed directly by the central processor and input/output devices, without transfer of data through the buffer memory.
References Cited (Backward Citations)
US3713107A
Cited
US4071890A
Cited
US4075686A
Cited
US4395758A
Cited
US4513369A
Cited
US4453216A
Cited
US4564900A
Cited
US4493051A
Cited
US4476526A
Cited
US4700292A
Cited
US4451884A
Cited
US4509116A
Cited
US4729094A
Cited
US4669043A
Cited
US4695948A
Cited
US4821185A
Cited
US5003463A
Cited
US5161219A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-02-14 | 1997-08-16 | 1998-02-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-02-14 | 2001-08-16 | 2002-02-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-02-14 | 2005-08-16 | 2006-02-15 | $7700.00 | Window Closed / Lapsed |