← Back to Patent Explorer
US5267191A Expired / Lapsed US ⏱️ 0.0 years remaining

FIFO memory system

Assignee: NCR Voyix Corp
•
Filing: 1989-04-03
•
Granted: 1993-11-30
•
Expires: 2009-04-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The subject invention is a FIFO memory system and method for buffering data between two data busses. The system comprises a RAM memory, write and read pointer registers, an offset generator, a programmable offset register, and a comparator. The write pointer register stores the address of the next data element to be written into the RAM memory, and the read pointer register stores the address of the next data element to be read from the RAM memory. The offset generator compares the contents of the registers, and generates at an output thereof an offset signal representing the amount of memory space occupied. The programmable offset register provides a programmed offset signal. The comparator compares the offset signal and the programmed offset signal, and provides a ready signal when the offset signal is greater than or equal to the programmed offset signal.

Inventors

  • 👤 David L. Simpson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 14:19
CPC Classifications
G; G06; G06F; G06F5/00; G06F5/06; G06F5/10; G06F5/12; G06F5/14; G06F2205/00; G06F2205/10; G06F2205/102; G06F2205/12; G06F2205/126

Claims Analysis

Total Claims: 42
Claim 1
Independent Claim 122 words
A FIFO memory system comprising: a RAM memory; a write pointer register for storing a minimum change coded address of the next data element to be written into said RAM memory; a read pointer register for storing a minimum change coded address of the next data element to be read from said RAM memory; an offset generator for comparing the contents of said registers, and generating at an output thereof an offset signal representing the amount of memory space occupied; a programmable offset register for providing a programmed offset signal; and a comparator for comparing said offset signal and said programmed offset signal, and providing a ready signal when said offset signal is greater than or equal to said programmed offset signal.
Claim 2
Dependent Claim 122 words
A FIFO memory system comprising: a RAM memory; a write pointer register for storing a minimum change coded address of the next data element to be written into said RAM memory; a read pointer register for storing a minimum change coded address of the next data element to be read from said RAM memory; an offset generator for comparing the contents of said registers, and generating at an output thereof an offset signal representing the amount of memory space occupied; a programmable offset register for providing a programmed offset signal; and a comparator for comparing said offset signal and said programmed offset signal, and providing a ready signal when said offset signal is greater than or equal to said programmed offset signal.
Claim 3
Dependent Claim 47 words
The FIFO memory system of claim 1 wherein said write pointer register includes first means for incrementing said register in response to a write signal received thereby, and said read pointer register includes second means for incrementing said register in response to a read signal received thereby.
Claim 4
Dependent Claim 29 words
The FIFO memory system of claim 3 wherein said write signal has a leading and trailing edge and wherein said first means includes means responsive to said trailing edge.
Claim 5
Dependent Claim 30 words
The FIFO memory system of claim 3 wherein said RAM memory has means for writing data into said RAM memory in response to the reading edge of said write signal.
Claim 6
Dependent Claim 28 words
The FIFO memory system of 2 wherein said read signal has a leading and trailing edge and wherein said second means includes means responsive to said trailing edge.
Claim 7
Dependent Claim 28 words
The FIFO memory system of 2 wherein said read signal has a leading and trailing edge and wherein said second means includes means responsive to said trailing edge.
Claim 8
Dependent Claim 30 words
The FIFO memory system of claim 5 wherein said RAM memory has means for reading data from said RAM memory in response to the loading edge of said read signal.
Claim 9
Dependent Claim 47 words
The FIFO memory system of claim 1 wherein said programmable offset register means for receiving a binary coded programmed offset signal, said system further comprising: a binary to minimum change converter connecting said offset register to said comparator for providing said programmed offset signal to said comparator.
Claim 10
Dependent Claim 23 words
The FIFO memory system of claim 1 wherein said programmable offset register includes means for loading said register with said programmed offset signal.
Claim 11
Dependent Claim 37 words
The FIFO memory system of claim 8 wherein said RAM memory has an input data bus for writing data to said memory, and wherein said loading means includes a connection between said bus and said offset register.
Claim 12
Dependent Claim 25 words
The FIFO memory system of claim 9 wherein said loading means further includes a control line for enabling the loading of said programmable offset register.
Claim 13
Dependent Claim 56 words
The FIFO memory system of claim 10 wherein said programmable offset register includes a plurality of D type flip-flops, each flipflop having D and CK input ports and a Q output, wherein said D input ports are connected to respective lines in said input data bus, and said CK ports are connected to said control line.
Claim 14
Dependent Claim 34 words
The FIFO memory system of claim 1 wherein said RAM memory is a dual ported RAM having input and output data busses for writing data to and reading data from, respectively, said RAM memory.
Claim 15
Dependent Claim 23 words
The FIFO memory system of claim 1 wherein said offset generator includes means for performing in minimum change code an equivalent binary subtraction.
Claim 16
Dependent Claim 116 words
The FIFO memory system of claim 1 wherein said comparator includes: a wrap around detector for receiving said offset signal, monitoring changes in said offset signal, determining if the RAM memory is full or empty when said offset is zero, and generating at an output thereof a wrap signal indicating full or empty; a circuit for receiving said offset signal and programmed offset signal, determining when said offset signal is greater than or equal to said programmed offset signal, and generating at an output thereof a greater than or equal to signal; and a flag generator connected to the outputs of said wrap around detector, said circuit, and said offset generator for providing said ready signal.
Claim 17
Dependent Claim 28 words
The FIFO memory system of 14 wherein said flag generator includes mean for providing a full or empty signal indicating said RAM memory is full or empty, respectively.
Claim 18
Dependent Claim 28 words
The FIFO memory system of 14 wherein said flag generator includes mean for providing a full or empty signal indicating said RAM memory is full or empty, respectively.
Claim 19
Dependent Claim 95 words
The FIFO memory system of claim 14 wherein said wrap around detector includes a NAND gate and a D-type flip-flop having D and CK ports and a Q output port; wherein said D input port is connected to a single data bit line from the output of said offset generator, the inputs to said NAND gate are connected to a plurality of other data bit lines from the output of said offset generator, the output of said NAND gate is connected to said CK input port, and said Q output port provides said wrap signal.
Claim 20
Dependent Claim 56 words
The FIFO memory system of claim 14 wherein said flag generator includes an AND gate and a NOR gate, said AND gate receiving as inputs the inverse of said wrap and offset signals, said NOR gate receives as inputs the output of said AND gate and the inverse of said greater than or equal to signal.
Claim 21
Dependent Claim 282 words
A FIFO memory system comprising: a RAM memory; a write pointer register for storing a minimum change coded address of the next data element to be written into said RAM memory, said write pointer register including first means for incrementing said register in response to a write signal received thereby; a read pointer register for storing a minimum change coded address of the next data element to be read from said RAM memory, said read pointer register including second means for incrementing said register in response to a read signal received thereby; an offset generator for comparing the contents of said registers, and generating at an output thereof an offset signal representing the amount of memory space occupied; a programmable offset register for providing a programmed offset signal, said register including means for loading said register with said programmed offset signal; and a comparator for comparing said offset signal and said programmed offset signal, and providing a ready signal when said offset signal is greater than or equal to said programmed offset signal; wherein said comparator includes: a wrap around detector for receiving said offset signal, monitoring changes in said offset signal, determining if the RAM memory is full or empty when said offset is zero, and generating at an output thereof a wrap signal indicating full or empty; a circuit for receiving said offset signal and programmed offset signal, determining when said offset signal is greater than or equal to said programmed offset signal, and generating at an output thereof a greater than or equal to signal; and a flag generator connected to the outputs of said wrap around detector, said circuit, and said offset generator for providing said ready signal.
Claim 22
Dependent Claim 282 words
A FIFO memory system comprising: a RAM memory; a write pointer register for storing a minimum change coded address of the next data element to be written into said RAM memory, said write pointer register including first means for incrementing said register in response to a write signal received thereby; a read pointer register for storing a minimum change coded address of the next data element to be read from said RAM memory, said read pointer register including second means for incrementing said register in response to a read signal received thereby; an offset generator for comparing the contents of said registers, and generating at an output thereof an offset signal representing the amount of memory space occupied; a programmable offset register for providing a programmed offset signal, said register including means for loading said register with said programmed offset signal; and a comparator for comparing said offset signal and said programmed offset signal, and providing a ready signal when said offset signal is greater than or equal to said programmed offset signal; wherein said comparator includes: a wrap around detector for receiving said offset signal, monitoring changes in said offset signal, determining if the RAM memory is full or empty when said offset is zero, and generating at an output thereof a wrap signal indicating full or empty; a circuit for receiving said offset signal and programmed offset signal, determining when said offset signal is greater than or equal to said programmed offset signal, and generating at an output thereof a greater than or equal to signal; and a flag generator connected to the outputs of said wrap around detector, said circuit, and said offset generator for providing said ready signal.
Claim 23
Dependent Claim 49 words
The FIFO memory system of claim 18 wherein said programmable offset register includes means for receiving a binary coded programmed offset signal, said system further comprising: a binary to minimum change code converter connecting said offset register to said comparator for providing said programmed offset signal to said comparator.
Claim 24
Dependent Claim 92 words
The FIFO memory system of claim 19 wherein: said write and read signals each has a leading and trailing edge; said first means includes means responsive to the trailing edge of said write signal; said RAM memory has means for writing data into said RAM memory in response to the leading edge of said write signal; said second means includes means responsive to the trailing edge of said read signal; said RAM memory has means for reading data from said RAM memory in response to the leading edge of said read signal.
Claim 25
Dependent Claim 23 words
The FIFO memory system of claim 20 wherein said offset generator includes means for performing in minimum change code an equivalent binary subtraction.
Claim 26
Dependent Claim 114 words
A FIFO memory system comprising: a RAM memory; a write pointer register for storing the address of the next data element to be written into said RAM memory; a read pointer register for storing the address of the next data element to be read from said RAM memory; an offset generator for comparing the contents of said registers, and generation output thereof an offset signal representing the amount of memory space occupied; a programmable offset register for providing a programmed offset signal; and a comparator for comparing said offset signal and said programmed offset signal, and providing a ready signal when said offset signal is greater than or equal to said programmed offset signal.
Claim 27
Dependent Claim 114 words
A FIFO memory system comprising: a RAM memory; a write pointer register for storing the address of the next data element to be written into said RAM memory; a read pointer register for storing the address of the next data element to be read from said RAM memory; an offset generator for comparing the contents of said registers, and generation output thereof an offset signal representing the amount of memory space occupied; a programmable offset register for providing a programmed offset signal; and a comparator for comparing said offset signal and said programmed offset signal, and providing a ready signal when said offset signal is greater than or equal to said programmed offset signal.
Claim 28
Dependent Claim 116 words
The FIFO memory system of claim 22 wherein said comparator includes: a wrap around detector for receiving said offset signal, monitoring changes in said offset signal, determining if the RAM memory is full or empty when said offset is zero, and generating at an output thereof a wrap signal indicating full or empty; a circuit for receiving said offset signal and programmed offset signal, determining when said offset signal is greater than or equal to said programmed offset signal, and generating at an output thereof a greater than or equal to signal; and a flag generator connected to the outputs of said wrap around detector, said circuit, and said offset generator for providing said ready signal.
Claim 29
Independent Claim 130 words
A method for buffering data between two data busses comprising: loading a programmable offset register with a programmed offset value; writing a data element into a RAM memory; incrementing a write pointer in a minimum change code to identify the address of the next data element to be written into said RAM memory; providing a read pointer for identifying in a minimum change code the address of the next data element to be read from said RAM memory; comparing the contents of said write and read pointers and generating an offset value therefrom; comparing said offset value with said programmed offset value; and generating a ready signal indicating said RAM memory is ready to be read when said offset value is greater than or equal to said programmed offset value.
Claim 30
Independent Claim 130 words
A method for buffering data between two data busses comprising: loading a programmable offset register with a programmed offset value; writing a data element into a RAM memory; incrementing a write pointer in a minimum change code to identify the address of the next data element to be written into said RAM memory; providing a read pointer for identifying in a minimum change code the address of the next data element to be read from said RAM memory; comparing the contents of said write and read pointers and generating an offset value therefrom; comparing said offset value with said programmed offset value; and generating a ready signal indicating said RAM memory is ready to be read when said offset value is greater than or equal to said programmed offset value.
Claim 31
Dependent Claim 28 words
The method of claim 24 further comprising: reading the contents of said RAM memory; and incrementing said read pointer in response to the reading of said RAM memory.
Claim 32
Dependent Claim 42 words
The method of claim 24 wherein said step of comparing the contents of said write and read pointers comprises: performing in minimum change code an equivalent binary subtraction of the contents of said pointers thereby generating a minimum change coded offset value.
Claim 33
Dependent Claim 62 words
The method of claim 24 wherein said step of comparing said offset value with said programmed offset value comprises: monitoring changes in said offset value; determining if the RAM memory is full or empty when the offset value is zero; and generating a full or empty signal indicating the RAM memory is full or empty, respectively, when the offset value is zero.
Claim 34
Dependent Claim 52 words
The method of claim 24 wherein said step of comparing said offset value with said programmed offset value comprises: determining when said offset value is greater than or equal to said programmed offset value; generating a signal indicating when said offset value is greater than or equal to said programmed offset value.
Claim 35
Independent Claim 245 words
A method for buffering data between two data busses comprising: loading a programmable offset register with a programmed offset value; writing a data element into a RAM memory; incrementing a write pointer in a minimum change code to identify the address of the next data element to be written into said RAM memory; providing a read pointer for identifying in a minimum change code the address of the next data element to be read from said RAM memory; comparing the contents of said write and read pointers by performing in minimum change code an equivalent binary subtraction of the contents of said pointers thereby generating a minimum change coded offset value therefrom; comparing said offset value with said programmed offset value by: monitoring changes in said offset value; determining if the RAM memory is full or empty when the offset value is zero; generating a full or empty signal indicating the RAM memory is full or empty, respectively, when the offset value is zero; determining when said offset value is greater than or equal to said programmed offset value; and generating a signal indicating when said offset value is greater than or equal to said programmed offset value; generating a ready signal indicating said RAM memory is ready to be read when said offset value is greater than or equal to said programmed offset value; reading the contents of said RAM memory; incrementing said read pointer in response to the reading of said RAM memory.
Claim 36
Independent Claim 245 words
A method for buffering data between two data busses comprising: loading a programmable offset register with a programmed offset value; writing a data element into a RAM memory; incrementing a write pointer in a minimum change code to identify the address of the next data element to be written into said RAM memory; providing a read pointer for identifying in a minimum change code the address of the next data element to be read from said RAM memory; comparing the contents of said write and read pointers by performing in minimum change code an equivalent binary subtraction of the contents of said pointers thereby generating a minimum change coded offset value therefrom; comparing said offset value with said programmed offset value by: monitoring changes in said offset value; determining if the RAM memory is full or empty when the offset value is zero; generating a full or empty signal indicating the RAM memory is full or empty, respectively, when the offset value is zero; determining when said offset value is greater than or equal to said programmed offset value; and generating a signal indicating when said offset value is greater than or equal to said programmed offset value; generating a ready signal indicating said RAM memory is ready to be read when said offset value is greater than or equal to said programmed offset value; reading the contents of said RAM memory; incrementing said read pointer in response to the reading of said RAM memory.
Claim 37
Independent Claim 119 words
A method for buffering data between two data busses comprising: loading a programmable offset register with a programmed offset value; writing a data element into a RAM incrementing a write pointer to identify the address of the next data element to be written into said RAM memory; providing a read pointer for identifying the address of the next data element to be read from said RAM memory; comparing the contents of said write and read pointers and generating an offset value therefrom; comparing said offset value with said programmed offset value; and generating a ready signal indicating said RAM memory is ready to be read when said offset value is greater than or equal to said programmed offset value.
Claim 38
Independent Claim 119 words
A method for buffering data between two data busses comprising: loading a programmable offset register with a programmed offset value; writing a data element into a RAM incrementing a write pointer to identify the address of the next data element to be written into said RAM memory; providing a read pointer for identifying the address of the next data element to be read from said RAM memory; comparing the contents of said write and read pointers and generating an offset value therefrom; comparing said offset value with said programmed offset value; and generating a ready signal indicating said RAM memory is ready to be read when said offset value is greater than or equal to said programmed offset value.
Claim 39
Dependent Claim 28 words
The method of claim 30 further comprising: reading the contents of said RAM memory; and incrementing said read pointer in response to the reading of said RAM memory.
Claim 40
Dependent Claim 30 words
The method of claim 30 wherein said step of comparing the contents of said write and read pointers comprises: subtracting the contents of said pointers thereby generating an offset value.
Claim 41
Dependent Claim 62 words
The method of claim 30 wherein said step of comparing said offset value with said programmed offset value comprises: monitoring changes in said offset value; determining if the RAM memory is full or empty when the offset value is zero; and generating a full or empty signal indicating the RAM memory is full or empty, respectively, when the offset value is zero.
Claim 42
Dependent Claim 52 words
The method of claim 30 wherein said step of comparing said offset value with said programmed offset value comprises: determining when said offset value is greater than or equal to said programmed offset value; generating a signal indicating when said offset value is greater than or equal to said programmed offset value.

References Cited (Backward Citations)

US4062059A Cited
US4369336A Cited
US4459681A Cited
US4535427A Cited
US4751671A Cited
US4507776A Cited
US4829475A Cited
US4694426A Cited
US4864543A Cited
US4891788A Cited
US4888739A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-11-29 1997-05-31 1997-11-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-11-29 2001-05-31 2001-11-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-11-29 2005-05-31 2005-11-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag