US6557053B1 - Queue manager for a buffer - Google Patents

Queue manager for a buffer Download PDF

Info

Publication number
US6557053B1
US6557053B1 US09/477,179 US47717900A US6557053B1 US 6557053 B1 US6557053 B1 US 6557053B1 US 47717900 A US47717900 A US 47717900A US 6557053 B1 US6557053 B1 US 6557053B1
Authority
US
United States
Prior art keywords
fifo buffer
data
output
input
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US09/477,179
Inventor
Brian Mitchell Bass
Jean Louis Calvignac
Marco C. Heddes
Michael Steven Siegel
Michael Raymond Trombley
Fabrice Jean Verplanken
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/477,179 priority Critical patent/US6557053B1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEDDES, MARCO C., CALVIGNAC, JEAN LOUIS, MICHAEL RAYMOND TROMBLEY, BASS, BRIAN MITCHELL, SIEGEL, MICHAEL STEVEN
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERPLANKEN, FABRICE JEAN
Application granted granted Critical
Publication of US6557053B1 publication Critical patent/US6557053B1/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Abstract

A bandwidth conserving queue manager for a FIFO buffer is provided, preferably on an ASIC chip and preferably including separate DRAM storage that maintains a FIFO queue which can extend beyond the data storage space of the FIFO buffer to provide additional data storage space as needed. FIFO buffers are used on the ASIC chip to store and retrieve multiple queue entries. As long as the total size of the queue does not exceed the storage available in the buffers, no additional data storage is needed. However, when some predetermined amount of the buffer storage space in the FIFO buffers is exceeded, data are written to and read from the additional data storage, and preferably in packets which are of optimum size for maintaining peak performance of the data storage device and which are written to the data storage device in such a way that they are queued in a first-in, first-out (FIFO) sequence of addresses. Preferably, the data are written to and are read from the DRAM in burst mode.

Description

FIELD OF THE INVENTION

This invention relates generally to management of queues of data being received from an outside source and inputted into a device for further processing. In more particular aspects, this invention relates to an improved DRAM used in conjunction with a FIFO buffer for controlling the queue of received data.

BACKGROUND OF THE INVENTION

There are many applications in which data is received at a higher rate than it can be utilized by a particular device for short periods of time, thus necessitating queuing data for orderly input into the device on which it is to be used. A common type of queue is first-in, first-out (FIFO) buffers which temporarily store the data being received from some outside source for input into the receiving device at a rate the receiving device can accommodate. One of the problems encountered is that the FIFO buffers may exceed their capacity to store data inputted faster than it can be outputted. Thus, there is a need for a technique for managing data in an orderly way with minimum overhead for periods of time when such data being inputted is greater than the storage capacity of the FIFO buffer or buffers.

SUMMARY OF THE INVENTION

According to the present invention, a bandwidth conserving queue manager for a FIFO buffer is provided, preferably on an ASIC chip and preferably including a separate DRAM that maintains a FIFO queue which can extend beyond the data storage space of the FIFO buffer to provide additional data storage space as needed. FIFO buffers are used on the ASIC chip to store and retrieve multiple queue entries. As long as the total size of the queue does not exceed the storage available in the buffers, no additional data storage is needed. However, when the buffer storage space in the FIFO buffers is exceeded, data are written to and read from the additional data storage preferably a DRAM and preferably in packets which are of optimum size for maintaining peak performance of the data storage device and which are written to the data storage device in such a way that they are queued in a first-in, first-out (FIFO) sequence of addresses. The DRAM can be a separate chip, or it can be formed on the ASIC. In either case, its memory is separate from the FIFO buffer or buffers.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high level diagrammatic view of the structure of the managed DRAM queue manager of the present invention;

FIG. 2 is a detailed view, somewhat diagrammatic, of the input FIFO buffer; and

FIG. 3 is a detailed view, somewhat diagrammatic, of the output FIFO buffer.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the drawings and, for the present, to FIG. 1, an overview of the structure and operation of the bandwidth conserving DRAM queue manager according to the present invention is shown. The queue manager is formed on an ASIC chip 10. The queue manager receives data input 12 from an outside source which is inputted to an input FIFO (first-in, first-out) buffer 14 in which the data is arranged in a queue. Data 16 is outputted from the input FIFO buffer 14 to a memory interface 18 and to a multiplexor (Mux) 20. The memory interface 18 connects to a DRAM chip 22 which is a separate chip. (However, the DRAM could be formed on the ASIC 10.) The multiplexor 20 is controlled by multiplexor control logic 24 to output data 16 from FIFO buffer 14 selectively to the DRAM chip 22 or to an output FIFO buffer 32. The FIFO buffer 32 outputs data 34 to the device (not shown) to which data is being supplied.

In general, the queue manager shown in FIG. 1 operates in the following manner: Data 12 to be written into the queue is inputted to the input FIFO buffer 14. Data 16 leaving the FIFO may go either to the output FIFO 32 or to the external memory interface 18 and then to the DRAM chip 22 as controlled by the mux 20 and by mux control logic 24 depending on whether or not there is enough room in the input FIFO buffer 14 and the output FIFO buffer 32 for the data being read from an external source. The mux 20 is controlled based on this condition, i.e., whether the input FIFO buffer 14 and output FIFO buffer 32 are full or at least have a predetermined percentage of capacity filled. When there is more data to be stored in the input FIFO buffer 14 and output FIFO buffer 32 than the maximum permitted, the mux 20 selects data to be written to the external memory interface 18 and the data is then stored in the DRAM chip 22. As the output FIFO buffer 32 is read out, the data is read from the DRAM chip 22 through the memory interface, to the output FIFO buffer 32 under the control of the mux control logic 24. Thus, as long as the amount of input data 12 being read from an external source does not exceed a preselected capacity of the input FIFO buffer 14 and output FIFO buffer 32, the data is passed from the input FIFO buffer 14 directly to the output FIFO buffer 32.

However, when the amount of data 12 being inputted exceeds the capacity or predetermined percentage of capacity of the input FIFO buffer 14 and the output FIFO buffer 32, then the data is written by the input FIFO buffer 14 to the DRAM chip 22 through the memory interface 18. The DRAM chip 22 is structured to be written and read on a first-in, first-out basis at contiguous addresses so that address mapping is not required as in a conventional cache memory. The data is written to the input FIFO buffer 14 from the external source and to the output FIFO buffer 32 from the input FIFO buffer 14 one data item at a time. However, preferably the data is written to the memory interface 18 and thence to the DRAM chip 22, and read from the DRAM chip 22 by output FIFO 32 in bursts of multiple data items to utilize the optimum transfer rate of the DRAM chip 22. Moreover, because the DRAM is arranged so that it is ordered on a first-in, first-out basis, the burst capabilities can be used and no address tags need be applied to the data written thereto. Thus, for example, the data can be written to and read from the DRAM chip 22 in data packets of three items, rather than have to read each data item individually by address. It is also preferred that the DRAM be a DDR (double data rate) DRAM. Double data rate DRAM allows twice the data bandwidth for a given number of I/O pins on the ASIC package as does standard synchronous DRAM This is accomplished by launching and capturing data on both the rising and falling edge of the clock signal. RAMBUS is another scheme of increasing the bandwidth per in which may be beneficial in some applications.

Referring now to FIG. 2, a more detailed depiction of the input FIFO buffer 14 is shown. The input FIFO buffer 14 includes latches at storage locations 40 a, 40 b, 40 c, 40 d, 40 e and 40 f for six different data items. The data items are read one data item at a time from an external source and are written in the FIFO buffer 14, one data item at a time, under control selectors 42 a, 42 b and 42 c. A write pointer 44 and read pointer 46 are both provided which provide outputs to a comparator 48. The output of the comparator 48 goes to the mux control logic 24. As indicated above, the data is written in bursts, e.g. three data items from the FIFO buffer 14 to the DRAM 20 or one data item at a time to the output FIFO buffer 32 responsive to the control of the mux 20. A detailed view of the output FIFO buffer 32 is shown in FIG. 3.

Shown in FIG. 3 are data item latches at storage locations 50 a, 50 b, 50 c, 50 d, 50 e and 50 f and selectors 52 a, 52 b, 52 c, 52 d, 52 e and 52 f which control the inputs 54 a, 54 b, 54 c, 54 d, 54 e and 54 f to storage locations 50 a-50 f. Data outputs 56 a, 56 b, 56 c, 56 d, 56 e and 56 f from the data item storage 50 a-50 f are provided which go to a selector 58 to provide the data output 34, the data being outputted one data item at a time. A write pointer 62 and a read pointer 64 are provided which output signals to a comparator 66. Comparator 66 outputs its difference to the mux control logic 24.

Also, the DRAM 20 has a write pointer, a read pointer and a comparator (all not shown), the output of which DRAM comparator is also provided to the mux control logic 24 As indicated above, the data is written to the output FIFO 32 from the DRAM in multiple data items to utilize the optimum data rate transfer of the DRAM. The memory interface is responsible for maintaining pointers to the head and tail portions of the queue which is stored in the DRAM chip 22. By having contiguous addresses and head and tail pointers, the need for individual addresses is eliminated, and the DRAM chip 22 acts in a FIFO mode.

The multiplexor 20 is controlled by the multiplexor control logic 24 in the following way: Initially, data 12 is inputted to the input FIFO queue in the FIFO buffer 14 one data item at a time, and, assuming the output FIFO buffer 32 is empty, the data is passed from the input FIFO buffer 14 directly to the output FIFO buffer 32 by the action of the mux 20. When the output FIFO buffer 32 is completely full and the input FIFO buffer 14 is half full, the mux 20 is switched by the control logic 24 responsive to the comparators 48 and 66 to pass data through the memory interface 18 to the DRAM chip 22 on the write cycle in multiple data items and for the output FIFO 32 to read data from the DRAM chip 22 through the memory interface 18 on the read cycle in multiple data items. When the comparator in the DRAM indicates that there are no more data items stored in the DRAM chip 22, the mux 20 is switched back to pass the data from the input FIFO buffer 14 to the output FIFO buffer 32.

The control of the memory interface, as indicated above, is accomplished by a write pointer to keep track of where the next group of data items will be written and a read pointer to keep track of from where the next group of data items will be read. The comparator determines if these two pointers are the same, which indicates the buffer is either full or empty. The read and write pointers work in the following way: When the read and write pointers are at the same data location on a read cycle, it means the storage locations are empty, and when the read and write pointers are at the same location on a write cycle, it means that the storage locations are full.

Thus, the read and write pointers and comparators 44, 46 and 48 and read and write pointers and comparators 62, 64 and 66, operate to indicate whether the data storage in the input FIFO buffer 14 is full or empty and the data storage in output FIFO buffer 32 is full or empty and to control the operation of the mux 20 accordingly. The read and write and comparator in the DRAM operate in the same way. (It should be noted that in some applications a linked list of data items can be used rather than read and write pointers).

The bus width of the interfaces to the input data 12 and output data 34 can be the same as the bus width at the memory bus interface. However, different bus widths may be desirable, especially if a DDR DRAM is used. The trade-off which must be made based on the particular application is the amount of on-chip buffering which will be provided (silicon area) versus the efficiency of the data transfer (bandwidth). In most cases, the bandwidth is more important. The maximum bandwidth is determined by the width of the DRAM interface and the rate at which it can accept commands and data. These rates are a property of the DRAM and the width is selectable, although the number of I/Os on an ASIC is usually a limiting factor. When these issues are weighed, there will be a particular minimum packet size required to maintain this maximum bandwidth. The input data 12 and output data 34 widths will usually be dictated by the particular application so the variable is on the on-chip buffer size which would be the minimum DRAM packet size divided by the data item size times four. (The input and output FIFOs each need to be able to store two memory packets worth of data.)

To summarize the operation of the device of this invention, data is read into the input FIFO buffer 14 from an outside source and is written from the input FIFO buffer 14 to the output FIFO buffer 32 as long as the output FIFO buffer 32 is not full. When the output FIFO buffer 32 becomes full and the input FIFO buffer 14 becomes half full, the mux 20 shifts and allows the input FIFO buffer 14 to write data to the DRAM chip 22 and allows the output FIFO buffer 32 to read data from the DRAM chip 22. The output from the output FIFO buffer 32 is outputted as output 34. When the output FIFO buffer 32 and the DRAM chip 22 are empty, the mux 20 then allows the input FIFO buffer 14 to write directly to the output FIFO buffer 32. Thus, the DRAM chip 22 acts as an additional buffer space when the data input 12 is greater than input FIFO buffer 14 and output FIFO buffer 32 can handle.

Claims (12)

What is claimed is:
1. A queue manager for managing data input to a system from an outside source, comprising:
an input FIFO buffer for receiving and storing data items from said outside source;
an output FIFO buffer for receiving, storing and outputting data items to said system;
a memory storage device interfacing with said input FIFO buffer, and said output FIFO buffer, and a control mechanism to selectively write data from said input FIFO buffer to said memory storage device, and read data from said memory storage device to said output FIFO buffer;
wherein said control mechanism includes logic to connect said input FIFO buffer to said output FIFO buffer until said output FIFO buffer is filled to a first predetermined amount and said input FIFO buffer is filled to a second predetermined amount, and thereafter connect said input FIFO buffer to said memory storage device until said memory storage device is empty and said output FIFO buffer is empty, and then connect said input FIFO buffer to said output FIFO buffer.
2. The invention as defined in claim 1 wherein said data is stored in said input FIFO buffer and said output FIFO buffer as data items, and said control circuit includes circuit logic to write data to said output data buffer and read data from said input FIFO buffer in multiple packets of data items.
3. The invention as defined in claim 2 wherein said memory storage device is configured to read and write data in burst mode.
4. The invention as defined in claim 1 wherein said memory storage device includes at least one DRAM chip.
5. The invention as defined in claim 1 wherein first predetermined amount is completely fill and second predetermined amount is one-half full.
6. The inventions defined in claim 1 wherein said control mechanism includes a multiplexor.
7. The invention as defined in claim 4 wherein said DRAM chip is a double density DRAM chip.
8. A method for managing data input to a system from an outside source, comprising the steps of:
providing an input FIFO buffer for receiving and storing data items from said outside source;
providing an output FIFO buffer for receiving, storing and outputting data items to said system;
providing a memory storage device interfacing with said input FIFO buffer, and said output FIFO buffer;
providing input data to said input FIFO buffer and output data from said output FIFO buffer, and
controlling the data flow so as to connect said input FIFO buffer to said output FIFO buffer until said output FIFO buffer is filled to a first predetermined amount and said input FIFO buffer is filled to a second predetermined amount, and thereafter connecting said input FIFO buffer to said memory storage device and said output FIFO buffer to said memory storage device until said memory storage device is empty and said output FIFO buffer is empty, and then connecting said input FIFO buffer to said output FIFO buffer.
9. The invention as defined in claim 8 wherein said data is written to said input FIFO buffer and said output FIFO buffer as data items, and data is written to said output data buffer and read data from said input FIFO buffer in multiple packets of data items.
10. The invention as defined in claim 8 wherein data is written to and read from said memory storage device in burst mode.
11. The invention as defined in claim 8 wherein said memory storage device includes at least one DRAM chip.
12. The invention as defined in claim 8 wherein said first predetermined amount is completely full and said second predetermined amount is one-half full.
US09/477,179 2000-01-04 2000-01-04 Queue manager for a buffer Expired - Fee Related US6557053B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/477,179 US6557053B1 (en) 2000-01-04 2000-01-04 Queue manager for a buffer

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/477,179 US6557053B1 (en) 2000-01-04 2000-01-04 Queue manager for a buffer
TW89121153A TW563018B (en) 2000-01-04 2000-10-11 Queue manager for a buffer
CA 2328268 CA2328268A1 (en) 2000-01-04 2000-12-12 Queue manager for a buffer
JP2000384352A JP3560056B2 (en) 2000-01-04 2000-12-18 Queue manager for the buffer
KR20000077615A KR100420422B1 (en) 2000-01-04 2000-12-18 Queue manager for a buffer
CN 00137006 CN1128410C (en) 2000-01-04 2000-12-27 Team manager and method for controlling inputting data into system from external source

Publications (1)

Publication Number Publication Date
US6557053B1 true US6557053B1 (en) 2003-04-29

Family

ID=23894844

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/477,179 Expired - Fee Related US6557053B1 (en) 2000-01-04 2000-01-04 Queue manager for a buffer

Country Status (6)

Country Link
US (1) US6557053B1 (en)
JP (1) JP3560056B2 (en)
KR (1) KR100420422B1 (en)
CN (1) CN1128410C (en)
CA (1) CA2328268A1 (en)
TW (1) TW563018B (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037210A1 (en) * 2001-08-15 2003-02-20 Chris Haywood System for head and tail caching
US20040019743A1 (en) * 2000-11-22 2004-01-29 Mario Au FIFO memory devices having multi-port cache memory arrays therein that support hidden EDC latency and bus matching and methods of operating same
US20040028164A1 (en) * 2002-08-07 2004-02-12 Hongtao Jiang System and method for data transition control in a multirate communication system
US20040047209A1 (en) * 2000-11-22 2004-03-11 Chuen-Der Lien FIFO memory devices having multi-port cache memory arrays therein that support hidden EDC latency and bus matching and methods of operating same
US6754777B1 (en) * 2000-11-22 2004-06-22 Integrated Device Technology, Inc. FIFO memory devices and methods of operating FIFO memory devices having multi-port cache memory devices therein
US20050005069A1 (en) * 2003-07-03 2005-01-06 Mario Au Integrated circuit memory devices having clock signal arbitration circuits therein and methods of performing clock signal arbitration
US20050063376A1 (en) * 2003-09-19 2005-03-24 Subramanian Ramakrishnan Venkata Switching data packets in an Ethernet switch
US20050105516A1 (en) * 2003-11-18 2005-05-19 Heath Stewart Switch with transparent and non-transparent ports
US20050117578A1 (en) * 2003-11-18 2005-06-02 Heath Stewart Switching with transparent and non-transparent ports
US20050147114A1 (en) * 2004-01-05 2005-07-07 Heath Stewart Multicasting in a shared address space
US20050152204A1 (en) * 2004-01-14 2005-07-14 Shih-Ked Lee Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
US20050154804A1 (en) * 2004-01-08 2005-07-14 Heath Stewart Switch for bus optimization
US20050177657A1 (en) * 2004-02-03 2005-08-11 Level 5 Networks, Inc. Queue depth management for communication between host and peripheral device
US20050188125A1 (en) * 2004-02-20 2005-08-25 Lim Ricardo T. Method and apparatus for burst mode data transfers between a CPU and a FIFO
US20060031565A1 (en) * 2004-07-16 2006-02-09 Sundar Iyer High speed packet-buffering system
US20060150000A1 (en) * 2004-12-21 2006-07-06 Nec Corporation Fault-tolerant computer and method of controlling data transmission
US20070033306A1 (en) * 2005-07-26 2007-02-08 Atmel Nantes Sa FIFO-type one-way interfacing device between a master unit and a slave unit, and corresponding master unit and slave unit
WO2006131900A3 (en) * 2005-06-09 2007-04-26 Koninkl Philips Electronics Nv Memory controller and method for coupling a network and a memory
US7246300B1 (en) 2004-08-06 2007-07-17 Integrated Device Technology Inc. Sequential flow-control and FIFO memory devices having error detection and correction capability with diagnostic bit generation
US20070216696A1 (en) * 2006-03-16 2007-09-20 Toshiba (Australia) Pty. Limited System and method for document rendering employing bit-band instructions
US20070294393A1 (en) * 2006-05-18 2007-12-20 Harris Corporation Method and system for functional redundancy based quality of service
WO2007149768A2 (en) * 2006-06-19 2007-12-27 Harris Corporation Method and system for fault-tolerant quality of service
US7406554B1 (en) * 2000-07-20 2008-07-29 Silicon Graphics, Inc. Queue circuit and method for memory arbitration employing same
US20090019193A1 (en) * 2007-07-09 2009-01-15 Luk King W Buffer circuit
US20090144500A1 (en) * 2004-03-30 2009-06-04 Vladimir Pentkovksi Store performance in strongly ordered microprocessor architecture
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20100189123A1 (en) * 2002-01-11 2010-07-29 Vic Alfano Reordering Packets
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US20110314190A1 (en) * 2009-04-24 2011-12-22 Panasonic Corporation Fifo buffer system
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892285B1 (en) 2002-04-30 2005-05-10 Cisco Technology, Inc. System and method for operating a packet buffer
EP1505506A1 (en) 2003-08-05 2005-02-09 SAP Aktiengesellschaft A method of data caching
CN100499770C (en) 2005-08-23 2009-06-10 乐金电子(昆山)电脑有限公司 Storage interfacing device and method
JP2008165485A (en) * 2006-12-28 2008-07-17 Fujitsu Ltd Semiconductor device and buffer control circuit
CN101232434B (en) 2007-01-22 2011-08-24 中兴通讯股份有限公司 Apparatus for performing asynchronous data transmission with double port RAM
CN101552702B (en) 2008-12-31 2011-12-21 成都市华为赛门铁克科技有限公司 Detection system and method for a data processing system
CN102609235B (en) * 2011-01-25 2014-08-20 中兴通讯股份有限公司 Method and system for updating data after data reading of double-port RAM (random-access memory)
US9417935B2 (en) 2012-05-01 2016-08-16 Microsoft Technology Licensing, Llc Many-core process scheduling to maximize cache usage
US8650538B2 (en) 2012-05-01 2014-02-11 Concurix Corporation Meta garbage collection for functional code
US8793669B2 (en) 2012-07-17 2014-07-29 Concurix Corporation Pattern extraction from executable code in message passing environments
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
KR20140078912A (en) * 2012-12-18 2014-06-26 삼성전자주식회사 Memory system and SoC comprising thereof

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884237A (en) * 1984-03-28 1989-11-28 International Business Machines Corporation Stacked double density memory module using industry standard memory chips
US5043981A (en) 1990-05-29 1991-08-27 Advanced Micro Devices, Inc. Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO
US5519701A (en) 1995-03-29 1996-05-21 International Business Machines Corporation Architecture for high performance management of multiple circular FIFO storage means
US5524265A (en) 1994-03-08 1996-06-04 Texas Instruments Incorporated Architecture of transfer processor
US5604742A (en) 1995-05-31 1997-02-18 International Business Machines Corporation Communications system and method for efficient management of bandwidth in a FDDI station
US5781182A (en) 1996-11-19 1998-07-14 Winbond Electronics Corp. Line buffer apparatus with an extendible command
US5892979A (en) * 1994-07-20 1999-04-06 Fujitsu Limited Queue control apparatus including memory to save data received when capacity of queue is less than a predetermined threshold
US5946000A (en) 1994-07-07 1999-08-31 Adobe Systems Incorporated Memory construct using a LIFO stack and a FIFO queue
US6031785A (en) * 1997-03-15 2000-02-29 Samsung Electronics, Co., Ltd. Random access memory having burst mode capability and method for operating the same
US6044419A (en) * 1997-09-30 2000-03-28 Intel Corporation Memory handling system that backfills dual-port buffer from overflow buffer when dual-port buffer is no longer full
US6058439A (en) * 1997-03-31 2000-05-02 Arm Limited Asynchronous first-in-first-out buffer circuit burst mode control
US6295563B1 (en) * 1998-01-30 2001-09-25 Unisys Corporation Control system for recreating of data output clock frequency which matches data input clock frequency during data transferring
US6314478B1 (en) * 1998-12-29 2001-11-06 Nec America, Inc. System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884237A (en) * 1984-03-28 1989-11-28 International Business Machines Corporation Stacked double density memory module using industry standard memory chips
US5043981A (en) 1990-05-29 1991-08-27 Advanced Micro Devices, Inc. Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO
US5524265A (en) 1994-03-08 1996-06-04 Texas Instruments Incorporated Architecture of transfer processor
US5946000A (en) 1994-07-07 1999-08-31 Adobe Systems Incorporated Memory construct using a LIFO stack and a FIFO queue
US5892979A (en) * 1994-07-20 1999-04-06 Fujitsu Limited Queue control apparatus including memory to save data received when capacity of queue is less than a predetermined threshold
US5519701A (en) 1995-03-29 1996-05-21 International Business Machines Corporation Architecture for high performance management of multiple circular FIFO storage means
US5604742A (en) 1995-05-31 1997-02-18 International Business Machines Corporation Communications system and method for efficient management of bandwidth in a FDDI station
US5781182A (en) 1996-11-19 1998-07-14 Winbond Electronics Corp. Line buffer apparatus with an extendible command
US6031785A (en) * 1997-03-15 2000-02-29 Samsung Electronics, Co., Ltd. Random access memory having burst mode capability and method for operating the same
US6058439A (en) * 1997-03-31 2000-05-02 Arm Limited Asynchronous first-in-first-out buffer circuit burst mode control
US6044419A (en) * 1997-09-30 2000-03-28 Intel Corporation Memory handling system that backfills dual-port buffer from overflow buffer when dual-port buffer is no longer full
US6295563B1 (en) * 1998-01-30 2001-09-25 Unisys Corporation Control system for recreating of data output clock frequency which matches data input clock frequency during data transferring
US6314478B1 (en) * 1998-12-29 2001-11-06 Nec America, Inc. System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"The SP2 High-Performance Switch" by Stunkel et al, IBM Systems Journal, vol. 34, No. 2, 1995, pp. 185-204.

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406554B1 (en) * 2000-07-20 2008-07-29 Silicon Graphics, Inc. Queue circuit and method for memory arbitration employing same
US20040019743A1 (en) * 2000-11-22 2004-01-29 Mario Au FIFO memory devices having multi-port cache memory arrays therein that support hidden EDC latency and bus matching and methods of operating same
US6874064B2 (en) 2000-11-22 2005-03-29 Integrated Device Technology, Inc. FIFO memory devices having multi-port cache and extended capacity memory devices therein with retransmit capability
US20040047209A1 (en) * 2000-11-22 2004-03-11 Chuen-Der Lien FIFO memory devices having multi-port cache memory arrays therein that support hidden EDC latency and bus matching and methods of operating same
US6754777B1 (en) * 2000-11-22 2004-06-22 Integrated Device Technology, Inc. FIFO memory devices and methods of operating FIFO memory devices having multi-port cache memory devices therein
US20040193805A1 (en) * 2000-11-22 2004-09-30 Mario Au Fifo memory devices having multi-port cache and extended capacity memory devices therein with retransmit capability
US7076610B2 (en) 2000-11-22 2006-07-11 Integrated Device Technology, Inc. FIFO memory devices having multi-port cache memory arrays therein that support hidden EDC latency and bus matching and methods of operating same
US7639707B2 (en) 2001-08-15 2009-12-29 Chris Haywood Variable size FIFO memory
US6941426B2 (en) * 2001-08-15 2005-09-06 Internet Machines Corp. System for head and tail caching
US20060072598A1 (en) * 2001-08-15 2006-04-06 Chris Haywood Variable size FIFO memory
US20030037210A1 (en) * 2001-08-15 2003-02-20 Chris Haywood System for head and tail caching
US6987775B1 (en) * 2001-08-15 2006-01-17 Internet Machines Corp. Variable size First In First Out (FIFO) memory with head and tail caching
US20050265357A1 (en) * 2001-08-15 2005-12-01 Chris Haywood Memory caching
US8913618B2 (en) 2002-01-11 2014-12-16 Bunson Bell, Limited Liability Company Reordering packets
US8107377B2 (en) 2002-01-11 2012-01-31 Bunson Bell, Llc Reordering packets
US20100189123A1 (en) * 2002-01-11 2010-07-29 Vic Alfano Reordering Packets
US20040028164A1 (en) * 2002-08-07 2004-02-12 Hongtao Jiang System and method for data transition control in a multirate communication system
US7093047B2 (en) 2003-07-03 2006-08-15 Integrated Device Technology, Inc. Integrated circuit memory devices having clock signal arbitration circuits therein and methods of performing clock signal arbitration
US20050005069A1 (en) * 2003-07-03 2005-01-06 Mario Au Integrated circuit memory devices having clock signal arbitration circuits therein and methods of performing clock signal arbitration
US20050063376A1 (en) * 2003-09-19 2005-03-24 Subramanian Ramakrishnan Venkata Switching data packets in an Ethernet switch
US7515584B2 (en) * 2003-09-19 2009-04-07 Infineon Technologies Ag Switching data packets in an ethernet switch
US20080304504A1 (en) * 2003-11-18 2008-12-11 Heath Stewart PCI Express Switch with Backwards Compatibility
US20050117578A1 (en) * 2003-11-18 2005-06-02 Heath Stewart Switching with transparent and non-transparent ports
US20050105516A1 (en) * 2003-11-18 2005-05-19 Heath Stewart Switch with transparent and non-transparent ports
US20110016258A1 (en) * 2003-11-18 2011-01-20 Heath Stewart Routing Data Units Between Different Address Domains
US7814259B2 (en) 2003-11-18 2010-10-12 Internet Machines, Llc PCI express switch with backwards compatibility
US7421532B2 (en) 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports
US7945722B2 (en) 2003-11-18 2011-05-17 Internet Machines, Llc Routing data units between different address domains
US7454552B2 (en) 2003-11-18 2008-11-18 Topside Research, Llc Switch with transparent and non-transparent ports
US20090228568A1 (en) * 2004-01-05 2009-09-10 Heath Stewart Multicasting Computer Bus Switch
US20050147114A1 (en) * 2004-01-05 2005-07-07 Heath Stewart Multicasting in a shared address space
US7539190B2 (en) 2004-01-05 2009-05-26 Topside Research, Llc Multicasting in a shared address space
US20080307150A1 (en) * 2004-01-08 2008-12-11 Heath Stewart Optimized Switching Method
US7590791B2 (en) 2004-01-08 2009-09-15 Topside Research, Llc Optimized switching method
US7426602B2 (en) 2004-01-08 2008-09-16 Topside Research, Llc Switch for bus optimization
US20050154804A1 (en) * 2004-01-08 2005-07-14 Heath Stewart Switch for bus optimization
US20050152204A1 (en) * 2004-01-14 2005-07-14 Shih-Ked Lee Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
US7042792B2 (en) 2004-01-14 2006-05-09 Integrated Device Technology, Inc. Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
US20050177657A1 (en) * 2004-02-03 2005-08-11 Level 5 Networks, Inc. Queue depth management for communication between host and peripheral device
US20050188125A1 (en) * 2004-02-20 2005-08-25 Lim Ricardo T. Method and apparatus for burst mode data transfers between a CPU and a FIFO
US7610413B2 (en) * 2004-03-02 2009-10-27 Solarflare Communications, Inc. Queue depth management for communication between host and peripheral device
US8244985B2 (en) 2004-03-30 2012-08-14 Intel Corporation Store performance in strongly ordered microprocessor architecture
US20090144500A1 (en) * 2004-03-30 2009-06-04 Vladimir Pentkovksi Store performance in strongly ordered microprocessor architecture
US20060031565A1 (en) * 2004-07-16 2006-02-09 Sundar Iyer High speed packet-buffering system
US7246300B1 (en) 2004-08-06 2007-07-17 Integrated Device Technology Inc. Sequential flow-control and FIFO memory devices having error detection and correction capability with diagnostic bit generation
US20060150000A1 (en) * 2004-12-21 2006-07-06 Nec Corporation Fault-tolerant computer and method of controlling data transmission
US7653764B2 (en) 2004-12-21 2010-01-26 Nec Corporation Fault-tolerant computer and method of controlling data transmission
WO2006131900A3 (en) * 2005-06-09 2007-04-26 Koninkl Philips Electronics Nv Memory controller and method for coupling a network and a memory
US20090083500A1 (en) * 2005-06-09 2009-03-26 Nxp B.V. Memory controller and method for coupling a network and a memory
US8065493B2 (en) 2005-06-09 2011-11-22 Nxp B.V. Memory controller and method for coupling a network and a memory
US20070033306A1 (en) * 2005-07-26 2007-02-08 Atmel Nantes Sa FIFO-type one-way interfacing device between a master unit and a slave unit, and corresponding master unit and slave unit
US20070216696A1 (en) * 2006-03-16 2007-09-20 Toshiba (Australia) Pty. Limited System and method for document rendering employing bit-band instructions
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20070294393A1 (en) * 2006-05-18 2007-12-20 Harris Corporation Method and system for functional redundancy based quality of service
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
WO2007149768A3 (en) * 2006-06-19 2008-02-21 Harris Corp Method and system for fault-tolerant quality of service
WO2007149768A2 (en) * 2006-06-19 2007-12-27 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20090019193A1 (en) * 2007-07-09 2009-01-15 Luk King W Buffer circuit
US7594047B2 (en) * 2007-07-09 2009-09-22 Hewlett-Packard Development Company, L.P. Buffer circuit
US20110314190A1 (en) * 2009-04-24 2011-12-22 Panasonic Corporation Fifo buffer system

Also Published As

Publication number Publication date
JP3560056B2 (en) 2004-09-02
KR100420422B1 (en) 2004-03-04
CA2328268A1 (en) 2001-07-04
TW563018B (en) 2003-11-21
KR20010070306A (en) 2001-07-25
CN1303053A (en) 2001-07-11
JP2001222505A (en) 2001-08-17
CN1128410C (en) 2003-11-19

Similar Documents

Publication Publication Date Title
US7158440B2 (en) FIFO memory devices having write and read control circuits that support x4N, x2N and xN data widths during DDR and SDR modes of operation
US5987507A (en) Multi-port communication network device including common buffer memory with threshold control of port packet counters
US7873775B2 (en) Multiple processor system and method including multiple memory hub modules
US5406554A (en) Synchronous FIFO having an alterable buffer store
US8954687B2 (en) Memory hub and access method having a sequencer and internal row caching
US7370134B2 (en) System and method for memory hub-based expansion bus
US5732041A (en) Memory interface unit, shared memory switch system and associated method
US7913034B2 (en) DRAM access command queuing
US20030112818A1 (en) Deferred queuing in a buffered switch
US5630096A (en) Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
US6535963B1 (en) Memory apparatus and method for multicast devices
US5546347A (en) Interleaving architecture and method for a high density FIFO
EP0778686A2 (en) ATM switch with input and output ports
US5802580A (en) High performance digital electronic system architecture and memory circuit thereof
US5502833A (en) System and method for management of a predictive split cache for supporting FIFO queues
US6094695A (en) Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register
US6604179B2 (en) Reading a FIFO in dual clock domains
US5559969A (en) Method and apparatus for efficiently interfacing variable width data streams to a fixed width memory
US6853382B1 (en) Controller for a memory system having multiple partitions
US7308526B2 (en) Memory controller module having independent memory controllers for different memory types
US7149874B2 (en) Memory hub bypass circuit and method
US6115761A (en) First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US5867731A (en) System for data transfer across asynchronous interface
US6715023B1 (en) PCI bus switch architecture
US5313587A (en) Device for simultaneous data input/output and execution support in digital processors

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HEDDES, MARCO C.;BASS, BRIAN MITCHELL;MICHAEL RAYMOND TROMBLEY;AND OTHERS;REEL/FRAME:010578/0721;SIGNING DATES FROM 19991213 TO 20000105

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERPLANKEN, FABRICE JEAN;REEL/FRAME:011134/0702

Effective date: 20000327

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20110429