US6088744A - Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto - Google Patents
Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto Download PDFInfo
- Publication number
- US6088744A US6088744A US09/023,837 US2383798A US6088744A US 6088744 A US6088744 A US 6088744A US 2383798 A US2383798 A US 2383798A US 6088744 A US6088744 A US 6088744A
- Authority
- US
- United States
- Prior art keywords
- data
- ram
- buffer
- fifo
- port
- 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
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 178
- 238000012163 sequencing technique Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000003068 static effect Effects 0.000 abstract description 4
- 230000009977 dual effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40123—Interconnection of computers and peripherals
Definitions
- the invention relates to the transfer of information in an electronic network between system elements having different data transfer rates. More particularly, the invention relates to a three port FIFO data buffer having multi-level caching.
- Firewire IEEE 1394
- Proposed actual data rates (i.e. independent of any encoding scheme) for Firewire are in multiples of ⁇ 100 Mbit/s.
- Firewire provides a synchronous serial bus having a data transfer rate of ⁇ 43 Mbit/s
- other protocols that may be provided in a common system with Firewire have different data transfer characteristics.
- VME/VXI provides an asynchronous parallel bus having a data transfer rate of 0-80 Mbit/s.
- the packet oriented protocol of Firewire includes CRC verification for each packet which may be inconsistent with other protocols.
- the interface device must incorporate at least some buffering capability.
- the invention provides a three port FIFO buffer circuit that uses off the shelf static RAM and dedicated shallow, e.g. 16 word, FIFOs in a multi-level caching scheme.
- the circuit results in multiple, reconfigurable, deep (e.g. up to 32k word) FIFO buffers.
- the preferred embodiment of the invention provides a buffer that comprises a bank of 32k word RAM, six dual port 16-word FIFOs, and associated sequencing logic.
- the sequencing logic includes RAM address registers/counter associated with each of the six FIFOs, and manages the movement of data into and out of the RAM.
- a processor To move data into a RAM buffer from one of the three ports, a processor first instructs the control logic to clear, i.e. make empty, the port's input FIFO and disable the associated sequencing logic. The processor then writes an address to that FIFO's address counter, establishing the starting RAM address for the buffer. Next, the processor enables the sequencer logic for the input FIFO. The sequencer logic attempts to keep the FIFO empty by moving data to the RAM. When data are written to the input FIFO by the associated external device, the sequencer detects that the FIFO is not empty. A synchronous arbiter resolves simultaneous RAM accesses. After each RAM write, the sequencer increments the FIFO's RAM address counter.
- the processor To move data from a RAM buffer to one of the three ports, the processor first instructs the control logic to clear (i.e. make empty) the port's output FIFO and disable the associated sequencing logic. The processor then writes the buffer's start address to the FIFO's address counter. Next, the processor enables the sequencer logic for the output FIFO. The sequencer then fills the output FIFO with data from successive RAM buffer addresses. Next, the sequencer logic attempts to keep the FIFO full by moving data from the RAM. When the data are read from the output FIFO by the associated external device, the sequencer detects that the FIFO is not full. When the FIFO is not full, the sequencer moves data from the rAM to the output FIFO until the FIFO is again full. A synchronous arbiter resolves simultaneous RAM accesses. After each RAM read, the sequencer increments the FIFO's RAM address counter.
- FIG. 1 is a block schematic diagram of a three port FIFO buffer having multi-level caching according to the invention
- FIG. 2 is a detailed block schematic diagram of a three port FIFO buffer having multi-level caching of FIG. 1;
- FIG. 3 is a block schematic diagram showing the sequencing logic for the three port FIFO buffer having multi-level caching of FIGS. 1 and 2.
- Firewire provides a protocol for a multi-master serial data bus that transfers packets of data between devices. These packets have various formats.
- the invention facilitates the handling of certain packets that have both headers and data block payloads, e.g. Write Request for Data Block and Read Response for Data Block.
- the invention works together with a Link Layer Controller (LLC) that is capable of storing and analyzing Firewire data headers internally, and moving the data blocks through a dedicated interface.
- LLC Link Layer Controller
- the invention provides a three port FIFO buffer circuit that uses off the shelf static RAM and dedicated shallow, e.g. 16 word, FIFOs in a multi-level caching scheme. The circuit results in multiple, reconfigurable, deep (e.g. up to 32k word) FIFO buffers.
- FIG. 1 is a block schematic diagram of a three port FIFO buffer having multi-level caching according to the invention.
- a Firewire to VME/VXI interface device can be constructed using an LLC 12, VME/VXI interfacing hardware (VXI-IF) 10, a processor such as a state machine or preferably a programmed microprocessor (MPU) 18, RAM 14, and buffer management logic (BML) 16, as shown in FIG. 1.
- VXI-IF VME/VXI interfacing hardware
- MPU programmed microprocessor
- BML buffer management logic
- the LLC When receiving one of the data block payload packets, the LLC stores the incoming packet header internally, sends the data packet to the BML, and notifies the MPU.
- the BML stores the data packet in the RAM.
- the MPU reads the Firewire header from the LLC. Depending on the higher-level protocol in operation, the MPU may then read the first few words of data from the RAM to determine the disposition of the data block. The MPU then either reads the remainder of the data block, or instructs the BML and VXI-IF to transfer the data block to a VXI device. In some cases, the MPU may initiate such a transfer to a VXI bus device without having to read any of the data blocks first.
- the MPU When sending a data block payload packet, the MPU writes Firewire header information to the LLC, then writes data to the RAM and/or instructs the VXI-IF and BML to read data from a VXI device into the RAM. The MPU then instructs the LLC to send the Firewire packet.
- the invention moves blocks of data between any two of the Firewire, VME/VXI, and microprocessor interfaces. This is accomplished by moving data first from the source interface to RAM, then from RAM to the destination interface. It is assumed that the transfer to RAM is completed before the transfer from RAM is begun. Accordingly no provision is made to interlock these transfers to prevent overrun or starvation scenarios.
- the overall process is managed by a local microprocessor.
- the MPU first enables the BML to move data words received from the LLC into RAM at some starting address A. This is accomplished through manipulation of the Mode Control lines.
- the Mode Control signals are derived from MPU controlled write registers (well understood by skilled designers).
- the MPU then enables the LLC to begin the data transfer. When a packet is received, the LLC sends data over the FW -- data signal lines, clocking each word into the BML with the FW -- Write -- Clock signal. At the end of the transfer, the LLC notifies the MPU, which then enables the BML for VXI reads of the data beginning at RAM address A.
- the MPU then configures the VXI-IF to read data words from the BML and write them to a VXI device.
- data can be moved from the LLC to the MPU, the VXI-IF to the LLC, the VXI-IF to the MPU, the MPU to the LLC, and the MPU to the VXI-IF.
- MPU can specify the starting address of any data movement affords several advantages. For example, failed transactions can be retried, data blocks can be appended and split, and multiple data blocks can be maintained in the RAM, allowing simultaneous and overlapping transactions. For example, while the VXI-IF is reading one block from RAM, the MPU can be reading from a second RAM area, and the LLC can be writing another block to a third RAM area.
- FIG. 2 is a detailed block schematic diagram of a three port FIFO buffer having multi-level caching of FIG. 1.
- the preferred embodiment of the invention provides a buffer that comprises a bank of 32k word RAM 14 (FIG. 1), six dual port 16-word FIFOs 23-28, and associated sequencing logic 20, 22.
- the BML 16 has six dedicated FIFOs (See FIG. 2), each caching either input or output data at one of the interface ports (LLC, VXI-IF, or MPU). Data flow between these FIFOs and RAM is regulated by the RAM Control Logic (RCL) 22, which simply attempts to keep the input FIFOs empty and the output FIFOs full.
- RCL RAM Control Logic
- the Firewire Input FIFO 23 receives data from the LLC for transfer to RAM.
- the Mode Control signal FW -- In -- FIFO -- Enable is false, the FIFO 23 is held in a reset state and indicates that to the RCL that it is empty by driving the FW -- In -- FIFO -- Empty signal true.
- the Mode Control signal FW -- In -- FIFO -- Enable is true, the FIFO 23 is active. In the active state, positive edges of FW -- Write -- Clock clock data into the FIFO. Whenever the FIFO contains at least one word of data, it drives the FW -- In -- FIFO -- Empty signal false. This eventually causes the RCL to remove data from the FIFO until the FIFO is again empty, and drives the FW -- In -- FIFO -- Empty signal true.
- the RCL When the RCL removes data from the FIFO, it enables the Output Multiplexer 20 to drive the FW -- RAM -- Data onto the RAM -- Data bus, drives the appropriate address onto the RAM -- Address bus, pulses the RAM -- Write signal true, and pulses the Read -- FW -- In -- FIFO signal true.
- the trailing edge of the Read -- FW -- In -- FIFO pulse advances the FIFO to its next output value, removing the data.
- the VXI and Microprocessor input FIFOs 25, 27 operate in a similar fashion.
- the VXI input FIFO 25 is enhanced to allow writes of 8 and 16 bits at a time to different positions within a word, thus enabling the FIFO to be filled 8 or 16 bits at a time. This is accomplished using the four Byte -- Write -- Enable signals which each enable data to be written to one of the four bytes in a 32 bit word on the positive edges of the VXI -- Write -- Clock signal.
- the VXI-IF also asserts the VXI -- Write -- Advance signal to indicate that the word is filled and the FIFO should advance to its next input location.
- the Firewire Output FIFO 24 holds data from the RAM to be read by the LLC.
- the Mode Control signal FW -- Out -- FIFO -- Enable is false, the FIFO is held in a reset state and indicates that to the RCL that it is full by driving the FW -- Out -- FIFO -- Full signal true.
- the Mode Control signal FW -- Out -- FIFO -- Enable is true, the FIFO is active. Upon transition into the active state, the FIFO, being empty, immediately indicates that it is not full and drives the FW -- Out -- FIFO -- Full false. This eventually causes the RCL to write data from the RAM into the FIFO until it is full, and drives the FW -- Out -- FIFO -- Full signal true.
- VXI and Microprocessor output FIFOs 26, 28 operate in a similar fashion.
- FIG. 3 is a block schematic diagram showing the sequencing logic for the three port FIFO buffer having multi-level caching of FIGS. 1 and 2.
- the sequencing logic 30 includes RAM address registers/counters 33-38 associated with each of the six FIFOs, and manages the movement of data into and out of the RAM.
- the RCL includes six address counters--corresponding to the six FIFOS in the BML, a RAM Address Multiplexer 32, and the Sequencing Logic 30.
- Each counter is a loadable 14 bit up counter.
- the least significant bit of each counter may be inverted to facilitate efficient byte swapping for different host computer architectures (big-endian, little endian). This allows 32 bit halves of 64 bit words to be swapped on the fly.
- the Firewire Write Address Counter 36 generates the RAM addresses for data written by the LLC to the RAM.
- a positive edge of the FW -- Write -- Load -- Addr signal clocks the Start -- Addr data into the counter, and the Invert -- MSB signal into a register. If the clocked Invert -- MSB is true, then the least significant bit of the address counter (FW -- Write -- Address(0)) is inverted from its normal state. Negative edges of the FW -- Write -- Adv -- Addr signal cause the counter to increment.
- the other address counters operate similarly.
- the Sequencing Logic 30 is a clocked state machine that senses the various FIFO full and empty signals, schedules RAM accesses, and coordinates the RAM read and write cycles. This machine executes one RAM access per clock cycle and schedules accesses according to the following rules:
- no type of access may be performed in consecutive cycles.
- Top priority is assigned to writes from the LLC, followed by reads to the LLC, then writes from the VXI-IF, then reads to the VXI-IF, then writes from the MPU, and finally reads to the MPU.
- a write from an interface is requested by a false indication on the corresponding In -- Fifo -- Empty signal.
- a read to an interface is requested by a false indication on the corresponding Out -- FIFO -- Full signal.
- the RAM address and control signals indicate a read of address 0.
- a write from the LLC's input FIFO to the RAM is executed as follows:
- a read to the LLC's output FIFO from the RAM is executed as follows:
- the processor To move data into a RAM buffer from one of the three ports, the processor first instructs the control logic to clear, i.e. make empty, the port's input FIFO and disable the associated sequencing logic. The processor then writes an address to that FIFO's address counter, establishing the starting RAM address for the buffer. Next, the processor enables the sequencer logic for the input FIFO. The sequencer logic attempts to keep the FIFO empty by moving data to the RAM. When data are written to the input FIFO by the associated external device, the sequencer detects that the FIFO is not empty. A synchronous arbiter resolves simultaneous RAM accesses. After each RAM write, the sequencer increments the fifo's RAM address counter.
- the processor To move data from a RAM buffer to one of the three ports, the processor first instructs the control logic to clear (i.e. make empty) the port's output FIFO and disable the associated sequencing logic. The processor then writes the buffer's start address to the FIFO's address counter. Next, the processor enables the sequencer logic for the output FIFO. The sequencer then fills the output FIFO with data from successive RAM buffer addresses. Next, the sequencer logic attempts to keep the FIFO full by moving data from the RAM. When the data are read from the output FIFO by the associated external device, the sequencer detects that the FIFO is not full. When the FIFO is not full, the sequencer moves data from the RAM to the output FIFO until the FIFO is again full. A synchronous arbiter resolves simultaneous RAM accesses. After each RAM read, the sequencer increments the FIFO's RAM address counter.
- the RAM requires a bandwidth that is slightly higher than the sum of the maximum data rates of the three ports. For example, with a VME/VXI backplane that is capable of 20 Mwords/s, a Firewire interface that is capable of 12.5 Mwords/s, and a processor that requires 5 Mwords/s, the RAM bandwidth must exceed 37.5 Mwords/s.
- the invention is readily implemented with an FPGA and common single port static RAM.
- the invention requires 30-50% less RAM bandwidth than buffer implementations that do not incorporate dedicated shallow FIFOs.
- the invention allows for pipelined and overlapped operations.
- the invention allows for easy retries of failed transmissions.
- This presently preferred embodiment of the invention has a 32 bit data path. However, other data path widths may also be used.
- the preferred embodiment of the invention is clocked at 40 MHz for a 160 MBIT/s bandwidth, which is sufficient for VME rates of 80 MBIT/s, Firewire rates of 50 MBIT/s, and MPU accesses at >20 MBIT/s; and is clocked at 32 Mhz for a 128 MBIT/s bandwidth, which provides VXI rates of 64 MBIT/s, Firewire rates of 50 MBIT/s, and MPU accesses at ⁇ >10 MBIT/s.
- the 40 MHz embodiment of the invention uses 10 ns RAM, while the 32 MHz embodiment of the invention uses 15 ns RAM.
- the BML has been implemented in a Lucent OR2C12A-2 FPGA. Other technologies are also possible. In a custom silicon embodiment of the invention, the RAM could be included on-chip.
- a 400 Mbit Firewire has 2k byte maximum packet size.
- the 32K ⁇ 32 RAM has room for 64 packets.
- a reasonable minimum RAM size is four packets, or 2K ⁇ 32 for 400 Mbit/s Firewire.
- RAM Address(O) for byte swapping can be extended to the n least significant bits for more flexible swapping. This requires n inversion control bits.
- Performance can be enhanced, e.g. by registering many of the data and control signals and pipelining the operations.
- these enhancements have been omitted from the description, although they may be readily implemented in the invention by those skilled in the art.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
Claims (14)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/023,837 US6088744A (en) | 1998-02-13 | 1998-02-13 | Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto |
JP11030763A JP2000029826A (en) | 1998-02-13 | 1999-02-09 | Three-port fifo data buffer having multilevel caching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/023,837 US6088744A (en) | 1998-02-13 | 1998-02-13 | Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto |
Publications (1)
Publication Number | Publication Date |
---|---|
US6088744A true US6088744A (en) | 2000-07-11 |
Family
ID=21817499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/023,837 Expired - Fee Related US6088744A (en) | 1998-02-13 | 1998-02-13 | Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto |
Country Status (2)
Country | Link |
---|---|
US (1) | US6088744A (en) |
JP (1) | JP2000029826A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256687B1 (en) * | 1998-08-04 | 2001-07-03 | Intel Corporation | Managing data flow between a serial bus device and a parallel port |
US20020116561A1 (en) * | 2000-09-08 | 2002-08-22 | Henry Trenton B. | System and method for data transmission |
WO2003028321A1 (en) * | 2001-09-26 | 2003-04-03 | Siemens Aktiengesellschaft | Method for processing consistent data sets |
US6546461B1 (en) | 2000-11-22 | 2003-04-08 | Integrated Device Technology, Inc. | Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein |
US6581147B1 (en) * | 1999-01-11 | 2003-06-17 | Stmicroelectronics Limited | Data flow control circuitry including buffer circuitry that stores data access requests and data |
US6681270B1 (en) * | 1999-12-07 | 2004-01-20 | Texas Instruments Incorporated | Effective channel priority processing for transfer controller with hub and ports |
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 |
US20060271694A1 (en) * | 2005-04-28 | 2006-11-30 | Fujitsu Ten Limited | Gateway apparatus and routing method |
CN112491496A (en) * | 2019-09-12 | 2021-03-12 | 北京华航无线电测量研究所 | Synchronous serial port multi-level cache receiving and forwarding method based on FPGA |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230173231A (en) | 2013-03-11 | 2023-12-26 | 매직 립, 인코포레이티드 | System and method for augmented and virtual reality |
KR102560629B1 (en) | 2013-03-15 | 2023-07-26 | 매직 립, 인코포레이티드 | Display system and method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214760A (en) * | 1988-08-26 | 1993-05-25 | Tektronix, Inc. | Adaptable multiple port data buffer |
US5699530A (en) * | 1995-10-03 | 1997-12-16 | Intel Corporation | Circular RAM-based first-in/first-out buffer employing interleaved storage locations and cross pointers |
US5805930A (en) * | 1995-05-15 | 1998-09-08 | Nvidia Corporation | System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs |
US5822308A (en) * | 1995-07-17 | 1998-10-13 | National Semiconductor Corporation | Multi-tasking sequencer for a TDMA burst mode controller |
US5841722A (en) * | 1996-02-14 | 1998-11-24 | Galileo Technologies Ltd. | First-in, first-out (FIFO) buffer |
US5991299A (en) * | 1997-09-11 | 1999-11-23 | 3Com Corporation | High speed header translation processing |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
-
1998
- 1998-02-13 US US09/023,837 patent/US6088744A/en not_active Expired - Fee Related
-
1999
- 1999-02-09 JP JP11030763A patent/JP2000029826A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214760A (en) * | 1988-08-26 | 1993-05-25 | Tektronix, Inc. | Adaptable multiple port data buffer |
US5805930A (en) * | 1995-05-15 | 1998-09-08 | Nvidia Corporation | System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs |
US5822308A (en) * | 1995-07-17 | 1998-10-13 | National Semiconductor Corporation | Multi-tasking sequencer for a TDMA burst mode controller |
US5699530A (en) * | 1995-10-03 | 1997-12-16 | Intel Corporation | Circular RAM-based first-in/first-out buffer employing interleaved storage locations and cross pointers |
US5841722A (en) * | 1996-02-14 | 1998-11-24 | Galileo Technologies Ltd. | First-in, first-out (FIFO) buffer |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
US5991299A (en) * | 1997-09-11 | 1999-11-23 | 3Com Corporation | High speed header translation processing |
Non-Patent Citations (2)
Title |
---|
High Performance Serial Bus, IEEE Std. 1394 1995, pp. 145 153. * |
High Performance Serial Bus, IEEE Std. 1394-1995, pp. 145-153. |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256687B1 (en) * | 1998-08-04 | 2001-07-03 | Intel Corporation | Managing data flow between a serial bus device and a parallel port |
US6581147B1 (en) * | 1999-01-11 | 2003-06-17 | Stmicroelectronics Limited | Data flow control circuitry including buffer circuitry that stores data access requests and data |
US6681270B1 (en) * | 1999-12-07 | 2004-01-20 | Texas Instruments Incorporated | Effective channel priority processing for transfer controller with hub and ports |
US20020116561A1 (en) * | 2000-09-08 | 2002-08-22 | Henry Trenton B. | System and method for data transmission |
US7114019B2 (en) * | 2000-09-08 | 2006-09-26 | Standard Microsystems Corporation | System and method for data transmission |
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 |
US6546461B1 (en) | 2000-11-22 | 2003-04-08 | Integrated Device Technology, Inc. | Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein |
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 |
CN1298150C (en) * | 2001-09-26 | 2007-01-31 | 西门子公司 | Method for processing consistent data sets |
US20040236881A1 (en) * | 2001-09-26 | 2004-11-25 | Dieter Bruckner | Method for processing consistent data sets |
WO2003028321A1 (en) * | 2001-09-26 | 2003-04-03 | Siemens Aktiengesellschaft | Method for processing consistent data sets |
US7320039B2 (en) * | 2001-09-26 | 2008-01-15 | Siemens Aktiengesellschaft | Method for processing consistent data sets |
US7818463B2 (en) | 2001-09-26 | 2010-10-19 | Siemens Aktiengesellschaft | Method for processing consistent data sets by an asynchronous application of a subscriber in an isochronous, cyclical communications system |
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 |
US20060271694A1 (en) * | 2005-04-28 | 2006-11-30 | Fujitsu Ten Limited | Gateway apparatus and routing method |
EP1718008A3 (en) * | 2005-04-28 | 2006-12-20 | Fujitsu Ten Limited | Gateway apparatus and routing method |
US7787479B2 (en) | 2005-04-28 | 2010-08-31 | Fujitsu Ten Limited | Gateway apparatus and routing method |
CN112491496A (en) * | 2019-09-12 | 2021-03-12 | 北京华航无线电测量研究所 | Synchronous serial port multi-level cache receiving and forwarding method based on FPGA |
CN112491496B (en) * | 2019-09-12 | 2022-08-23 | 北京华航无线电测量研究所 | Synchronous serial port multi-level cache receiving and forwarding method based on FPGA |
Also Published As
Publication number | Publication date |
---|---|
JP2000029826A (en) | 2000-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7363396B2 (en) | Supercharge message exchanger | |
US6393548B1 (en) | Variable 16 or 32 bit PCI interface which supports steering and swapping of data | |
EP1026596B1 (en) | Direct memory access control | |
US7352763B2 (en) | Device to receive, buffer, and transmit packets of data in a packet switching network | |
US6041397A (en) | Efficient transmission buffer management system | |
JP3598321B2 (en) | Buffering data exchanged between buses operating at different frequencies | |
US7246191B2 (en) | Method and apparatus for memory interface | |
US5594702A (en) | Multi-first-in-first-out memory circuit | |
US5043938A (en) | Node controller for a local area network | |
US6970921B1 (en) | Network interface supporting virtual paths for quality of service | |
US5812774A (en) | System for transmitting data packet from buffer by reading buffer descriptor from descriptor memory of network adapter without accessing buffer descriptor in shared memory | |
US5594927A (en) | Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
US6823403B2 (en) | DMA mechanism for high-speed packet bus | |
US6088744A (en) | Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto | |
US6401142B1 (en) | Apparatus and method for selective bus transfer using master and slave modes | |
US7162564B2 (en) | Configurable multi-port multi-protocol network interface to support packet processing | |
EP0290172A2 (en) | Bidirectional fifo with variable byte boundary and data path width change | |
US6487617B1 (en) | Source-destination re-timed cooperative communication bus | |
US5896384A (en) | Method and apparatus for transferring deterministic latency packets in a ringlet | |
US11811897B2 (en) | Method for data processing of frame receiving of an interconnection protocol and storage device | |
JP5497743B2 (en) | Method for controlling access to memory area from a plurality of processes, and communication module including message memory for realizing the method | |
JP2005235216A (en) | Direct memory access control | |
GB2226739A (en) | Node controller for local area network | |
US7187685B2 (en) | Multi-module switching system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HILL, GREGORY A.;REEL/FRAME:009323/0537 Effective date: 19980409 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, COLORADO Free format text: MERGER;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:010759/0049 Effective date: 19980520 |
|
AS | Assignment |
Owner name: AGILENT TECHNOLOGIES INC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:010977/0540 Effective date: 19991101 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
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 | Lapsed due to failure to pay maintenance fee |
Effective date: 20120711 |