US7707335B2 - Device and method for managing a retransmit operation - Google Patents
Device and method for managing a retransmit operation Download PDFInfo
- Publication number
- US7707335B2 US7707335B2 US12/090,116 US9011606A US7707335B2 US 7707335 B2 US7707335 B2 US 7707335B2 US 9011606 A US9011606 A US 9011606A US 7707335 B2 US7707335 B2 US 7707335B2
- Authority
- US
- United States
- Prior art keywords
- read
- logic
- pointer
- emulated
- write
- 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.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims abstract description 3
- 238000012545 processing Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013479 data entry Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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
- G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
Definitions
- the invention relates to methods for managing a retransmit operation and a device having retransmission capabilities.
- Telecommunication integrated circuits are typically required to exchange information with one or more data sources and data targets.
- a telecommunication integrated circuit may have a processor that can process data and then send it to the one or more data targets.
- FIFO FIFO memory unit
- U.S. Pat. Nos. 5,712,992 of and 5,365,485, both being incorporated herein by reference, provide examples of prior art FIFO management methods and devices.
- the FIFO has to be managed in order to prevent overwriting of valid information.
- the complexity of a FIFO management circuit increases when there are timing differences between the FIFO read and write operations and especially when the data target can request to retransmit data from the FIFO.
- FIG. 1 illustrates a device, according to an embodiment of the invention
- FIG. 2 illustrates a FIFO, read logic and write logic, according to an embodiment of the invention
- FIG. 3 is a state diagram of a state machine that belongs to the access logic, according to an embodiment of the invention.
- FIG. 4 is a timing diagram according to an embodiment of the invention.
- FIG. 5 is a flow chart of a method for managing a retry FIFO, according to an embodiment of the invention.
- FIG. 1 illustrates a device 10 , according to an embodiment of the invention.
- a Gray code is an encoding of numbers so that adjacent numbers have a single digit differing by one.
- Device 10 can include one or more integrated circuits, can be a part of an integrated circuit and can include at least one integrated circuits as well as additional components.
- Device 10 conveniently includes a processor 20 , access logic 30 , FIFO memory unit (FIFO) 40 , MAC layer multiplexer 50 , multiple MAC units 60 , PHY layer units 70 and an output bus 80 .
- the output bus 80 is connected to multiple data targets collectively denoted 90 .
- the data targets 90 can belong to device 10 although this is not necessarily so.
- At least one of the data targets 90 can request to retransmit previously retrieved data. It is noted that the transmission of data to the data target as well as any re-transmission operations are controlled by a transmission controller 62 and that the transmission controller can actually send various signals (including signals representing a re-transmission request) to the access logic 100 , either instead of data targets 90 or in addition to data targets.
- the inventors used a device in which the retransmission requests were generated by the transmission controller 62 .
- the multiple MAC units 60 can support different protocols such as but not limited to Ethernet, ATM, UART, HDLC and the like.
- the MAC layer multiplexer 50 selected between the different MAC units 60 in response to the used protocol.
- Each MAC layer unit includes a transmission controller, such as transmission controller 62 , that controls the read operations.
- device 10 can include other MAC layer components and that the MAC multiplexer 50 is optional.
- the access logic 30 includes read logic 100 and write logic 200 .
- the processor 20 and the write logic 200 receive a clock signal (referred to as write clock) that is faster than the clock signal (referred to as read clock) provided to the multiple MAC units 60 , the PHY layer units 70 , output bus 80 and to the read logic 100 .
- the data targets 90 also receive a slower clock.
- Processor 20 usually writes data to FIFO 40 while the transmission controller 62 reads data from FIFO 40 .
- the read operations are not synchronized or coordinated with the write operations.
- the processor 20 is notified when FIFO 40 is full.
- the read clock and the write clock can differ from each other but this is not necessarily so.
- the write logic 200 emulates the state of the read logic 100 that is based on a robust representation of the state of the read logic. More specifically a sequence of the read logic operations is represented in transitions of the gray code state machine 150 .
- the state (in the form of a gray code word) of the gray code state machine 150 is provided to the write logic 200 .
- the write logic 200 compares between a currently provide gray code word and a previously provided gray code word and in response determines the state of the read logic 100 .
- the states of the gray code state machine are encoded (by gray code words) in such a way so that each possible state transition of the gray code state machine 150 causes only one bit of a current output signal (gray code word) to be changed in relation to a previous gray code word representing the state before the transition.
- the gray code state machine 150 sends a gray code word representative of the state of the read logic 100 to the write logic 200 .
- the write logic 200 receives the gray code word and determines the state of the read logic according to the difference between a previous code word and a current code word.
- the write logic 200 can compare the state of the read logic 100 to the state of the write logic 200 and determine that FIFO 40 is full.
- the data is arranges as data frames.
- the size of a data frame can differ from the size of the FIFO entries, but this is not necessarily so.
- At least one data target can have an input port that is smaller than the entry size of the FIFO an/or the size of the data frame.
- the inventors used a FIFO 40 that had 8-byte long entries, a data target that has a input port of one byte long and a frame size that can be at least one byte.
- the integrated circuit 10 is adapted to monitor the transmission of data bytes to the data target and determine when a transmission of a data frame ends.
- FIG. 2 illustrates FIFO 40 , read logic 100 and write logic 200 , according to an embodiment of the invention.
- FIFO 40 includes multiple 8-byte entries. Each entry is read into a 8-byte buffer 45 .
- the content of buffer 45 is read, part by part (for example byte after byte), by controller 62 . This operation is controlled by transmission controller 62 . It is noted that such a buffer 45 is optional, especially when the size of the FIFO entry equals the size of an input port of the data target 90 .
- the read logic 100 can interact with the data target while according to other embodiments of the invention the read logic interacts with the transmission controller 62 that in turn interacts with the data targets.
- the read logic interacts with the transmission controller 62 that in turn interacts with the data targets.
- various control signals, acknowledgement signals and the like can be sent to the read logic 100 by transmission controller 62 and/or by the data target 90 . It is assumed, for convenience of explanation that the transmission controller 62 sends control and acknowledgement signals to the read logic 100 .
- the read logic 100 includes a read pointer 140 , retry pointer 130 , read pointer logic 120 , read control logic 110 and gray coded state machine 150 .
- the read control logic 110 is connected to the read pointer logic 120 and to the gray coded state machine 150 .
- the read pointer logic 120 is connected to the read pointer 140 and to the retry pointer 130 .
- the write logic 200 includes emulated read pointer logic 210 , write control logic 250 and write pointer 260 .
- the emulated read pointer logic 210 includes emulated read pointer load logic 220 , shadow counter 240 , emulated read pointer 230 .
- the emulated read pointer load logic 220 is connected to the shadow counter 240 and to the emulated read pointer 230 .
- the write control logic 250 is connected to the write pointer 260 and to the emulated read pointer 230 .
- the read control logic 110 receives the following read related signals: read signal 111 , Tx_last signal 112 , Tx_last_issued signal 113 , Accept signal 114 , Accept_issued signal 115 , Accept_on signal 116 and Retry signal 117 .
- Read signal 111 indicates that a FIFO entry should be read.
- Tx_last signal 112 indicates a completion of a transfer of last part of a data frame.
- the size of the data frame can vary according to various constraints imposed by a currently used communication protocol, by processor characteristics, by data target characteristics and the like.
- the data target bus width can vary so that the data target an unpack data entries read from FIFO into a different interface size.
- Tx_last_issued signal 113 indicates that a last part of a current data frame is or has been transferred to a data target and that a transmission of a next data frame did not start.
- Accept signal 114 indicates that the data target accepted the data frame.
- Accept_issued signal 115 indicates that the data target issued an accept indication for a current data frame and that the transmission of the next frame did not start.
- Accept_on signal 116 indicates that the data target does not support retransmission.
- Retry signal 117 indicates that a retransmission request was issued by the data target.
- Accept_on signal 116 represents the data target and is not expected to change during the operation of FIFO 40 .
- These signals can be generated by the data target 90 , by the read control logic 110 , and/or by the transmission controller 62 of FIG. 2 .
- Accept signal 114 , Accept_on signal 116 , retry signal 117 are generated by the transmission controller 62 while Tx_last_issued signal 113 , Accept_issued signal 115 are generated by the read control logic 110 .
- the retry pointer 130 points to the FIFO entry that follows the last FIFO entry that stored data that was successfully transmitted (the transmission was accepted).
- the difference between the retry pointer 130 and the read pointer 140 indicate the retry size—the number of entries that their data was transmitted without receiving an accept signal.
- Retransmission of data from FIFO 40 is facilitated by retrieving a retry address from the retry pointer 130 . If a retransmission is required the retry address is retrieved from the retry pointer 130 and sent to the read pointer 140 via the read pointer logic 120 .
- the retry pointer 130 is conveniently updated in response to transmissions that occur after the reception of an accept signal 116 (e.g. at the start of the next frame).
- the accept signal 116 indicates that data that was retrieved from FIFO 40 can be deleted, as it will be not retransmitted.
- the read pointer logic 120 increments the read pointer 140 after a read operation or sends it the retry address when a retransmission starts.
- the read control logic 110 controls the read pointer logic 120 and sends read status information to the gray coded state machine 150 .
- the read status information includes eleven signals referred to as condition 1 —contition 11 161 - 171 .
- Condition 1 signal 161 is sent if read signal 111 is asserted and accept_issued signal 115 is negated.
- Condition 2 signal 162 is sent if both tx_last_issued signal 113 and accept_issued signal 115 are asserted.
- Condition 3 signal 163 is sent if accept_issued signal 115 and read signal 111 are asserted and tx_last signal 112 is negated.
- Condition 4 signal 164 is sent if tx_last signal 112 is asserted and accept_on signal 116 is negated.
- Condition 5 signal 165 is sent if read signal 111 , tx_last signal 112 and accept_on signal 116 are asserted or if read signal 111 is asserted and tx_last signal 112 is negated.
- Condition 6 signal 166 is sent if read signal 111 , tx_last signal 112 and accept_on signal 116 are asserted.
- Condition 7 signal 167 is asserted if read signal 111 and accept_issued signal 115 are asserted.
- Condition 8 signal 168 is sent if tx_last signal 112 is asserted and accept_on signal 116 is negated or if read signal 111 , tx_last signal 112 and accept_on signal 116 are asserted.
- Condition 9 signal 169 is sent if retry signal 117 is asserted.
- Condition 10 signal 170 is sent if read signal 111 is asserted and accept signal 114 is negated.
- Condition 11 signal 171 is sent if read signal 111 and accept_issued signal 115 are asserted.
- the shadow counter 240 counts the number of entries that were read from FIFO 40 without receiving an accept signal.
- an indication of an accept signal is received (the indication is learnt from the change in the state of the finite state machine) the value of the emulated read pointer 230 is updated by the number of accepted entries. If an indication of a retry request is received (the indication is learnt from the change in the state of the finite state machine) the shadow counter 240 is reset.
- FIG. 3 is a state diagram of the gray coded state machine 150 , according to an embodiment of the invention.
- Each state is represented by a box.
- Each box illustrates the gray code word that is sent to the emulated read pointer load logic 220 .
- TABLE 1 illustrates the following states and the conditions that cause the gray coded state machine to skip from one state to another.
- the emulated read pointer logic 220 compares the current gray code word to the previous gray code word and sends the appropriate control signals to the emulated read pointer 230 and to the shadow counter 240 .
- TABLE 2 illustrates the signals sent by the emulated read pointer logic 220 .
- the Reset_shadow_cnt signal resets shadow counter 240 .
- the inc_rd_ptr_by_one signal increments the emulated read pointer 230 by one.
- the Inc_rd_ptr_by_shadow_plus_one signal increases the emulated read pointer 230 by the value of the shadow counter plus one.
- the Inc_rd_ptr_by_shadow signal increases the emulated read pointer 230 by the value of shadow counter 240 .
- the write control logic 250 receives the emulated read pointer 230 , compares it to the write pointer 260 and generates a FIFO full signal when the emulated read pointer 230 and the write pointer 260 point to the same FIFO entry.
- the write control logic 250 can also output signals representative of the empty space of FIFO 40 by comparing between the emulated read pointer 230 and the write pointer 260 .
- the emulated read pointer 230 is updated such as to reflect the size of the data frame.
- a single emulated read pointer update causes a group of data entries to be flushed.
- Device 10 and especially processor 20 that supports Direct Memory Access or burst transfers to FIFO 40 can take advantage of the knowledge of how many empty entries there are in the FIFO once read entries flushed due to accept.
- the read pointer 140 points to the next entry to be read from FIFO 40
- write pointer 260 points to the next entry of FIFO 40 to be written to. It is noted that each of these pointers can point to the last read entry or the last written entry without departing from the spirit of the invention.
- FIG. 4 is a timing diagram 400 according to an embodiment of the invention.
- Timing diagram 400 illustrates a write clock 91 , a value of the shadow counter 240 , an accept signal 114 , a value of the emulated read pointer 230 and a FIFO full signal 217 .
- CK 1 At a first clock cycle (CK 1 ) an indication about a first read operation is received by the write logic 200 and the value of the shadow counter 240 is incremented to one.
- a further read indication occurs and the value of the shadow counter 240 is incremented to three.
- CK 4 At the fourth clock cycle (CK 4 ) an accept indication is received.
- the value of the emulated read pointer 230 is updated from two to five, the shadow counter is reset and the FIFO full signal is negated.
- FIG. 5 is a flow chart of method 300 for managing a FIFO, according to an embodiment of the invention.
- Method 300 starts by stage 310 of providing to a read logic a read clock and providing to a write logic a write clock that differs from the read clock. Conveniently the read clock is much slower than the write clock.
- Stage 310 is followed by stage 320 of receiving by a read logic, read status information.
- the read status information reflects various read related operations such as read, acceptance of read data, request to perform a retransmission. Referring to the example set forth in FIG. 2 this read status information can include signals 111 - 117 or signals 161 - 171 .
- Stage 320 is followed by stage 340 of generating, by the read logic, a gray code word representative of the read status information by a read logic.
- Stage 340 is followed by stage 350 of processing, by the write logic, at least one gray code word to provide an emulated read pointer that tracks a FIFO entry that stores data that was not accepted.
- stage 350 of processing includes comparing between a current gray code word and a previous gray code word.
- An exemplary comparison and its results are illustrated by TABLE 2.
- stage 350 of processing includes providing an emulated read pointer that points to a first FIFO entry that stores data that was not accepted.
- stage 350 includes updating a shadow counter.
- Stage 350 is followed by stage 360 of controlling write operations to the FIFO in response to a comparison between the emulated read pointer and a write pointer.
- stage 360 of controlling includes providing a FIFO full indication. Additionally or alternatively, stage 360 includes providing an indication of a number of empty FIFO entries.
- Stages 320 - 360 represent various FIFO control stages. These stages are repeated when read related operations occur. It is noted that in parallel to stages 320 - 360 additional stages can occur, including stages of writing data to the FIFO and stages of updating the read pointer to reflect the read stat information. For example if a retry occurs the read pointer within the read logic is updated. This is illustrated by stage 390 that follows stage 320 .
- Stage 390 illustrates an exemplary read operation.
- Stage 390 includes reading a multiple byte data word from a FIFO entry to an intermediate buffer and sequentially sending portions of the multiple byte data word to the data target 90 . The reading as well as the sequential sending are reflected in the read status information.
- Stage 390 can include re-transmission of information from the FIFO. It is noted that the re-transmission can occur even if an intermediate buffer is not used.
- retry pointer can be replaced by a retry counter and that the shadow counter can be replaced by a shadow pointer without departing from the spirit of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
Description
TABLE 1 | |||||
Gray code | Gray code | ||||
Current | of current | Received | of next | ||
state | state | signal | Next | state | |
IDLE | |||||
302 | 0000 | Condition1 | A 304 | 0001 | |
|
0000 | | D | 310 | 0010 |
|
0001 | | IDLE | 302 | 0000 |
|
0001 | Condition5 | A′ 314 | 1001 | |
|
0001 | | C | 308 | 0101 |
|
0001 | | B | 306 | 0011 |
|
0011 | | D | 310 | 0010 |
|
0101 | Condition10 | A 304 | 0001 | |
|
0010 | | IDLE | 302 | 0000 |
|
0010 | | B | 306 | 0011 |
|
0010 | Condition11 | D′ 320 | 1010 | |
IDLE′ 302 | 1000 | Condition1 | A′ 314 | 1001 | |
IDLE′ 302 | 1000 | Condition7 | D′ 320 | 1010 | |
A′ 314 | 1001 | Condition2 | IDLE′ 312 | 1000 | |
A′ 314 | 1001 | Condition5 | A 304 | 1001 | |
A′ 314 | 1001 | Condition9 | C′ 318 | 1101 | |
A′ 314 | 1001 | Condition3 | B′ 316 | 1011 | |
B′ 316 | 1011 | Condition5 | D′ 320 | 1010 | |
C′ 318 | 1101 | Condition10 | A′ 314 | 1001 | |
D′ 320 | 1010 | Condition8 | IDLE′ 312 | 1000 | |
D′ 320 | 1010 | Condition6 | B′ 316 | 1011 | |
D′ 320 | 1010 | | D | 320 | 0010 |
TABLE 2 | ||
Current | ||
gray | ||
Previous gray | code | Signal send by emulated read |
code word | word | pointer logic |
D | D′ | Inc_rd_ptr_by_one |
D′ | D | Inc_rd_ptr_by_one |
B | D | Inc_rd_ptr_by_one |
B′ | D′ | Inc_rd_ptr_by_one |
IDLE | D | Inc_rd_ptr_by_one |
IDLE′ | D′ | Inc_rd_ptr_by_one |
D | B | Inc_rd_ptr_by_one |
D′ | B′ | Inc_rd_ptr_by_one |
IDLE | D | Inc_rd_ptr_by_shadow |
IDLE′ | D′ | Inc_rd_ptr_by_shadow |
A | IDLE | Inc_rd_ptr_by_shadow |
A′ | IDLE′ | Inc_rd_ptr_by_shadow |
A | B | Inc_rd_ptr_by_shadow_plus_one |
A′ | B′ | Inc_rd_ptr_by_shadow_plus_one |
IDLE′ | D′ | Inc_rd_ptr_by_shadow_plus_one |
IDLE | D | Inc_rd_ptr_by_shadow_plus_one |
IDLE | A | Inc_shadow_cnt |
A | A′ | Inc_shadow_cnt |
C | A | Inc_shadow_cnt |
IDLE′ | A′ | Inc_shadow_cnt |
A′ | A | Inc_shadow_cnt |
C′ | A′ | Inc_shadow_cnt |
A | B | Reset_shadow_cnt |
A | C | Reset_shadow_cnt |
B | D | Reset_shadow_cnt |
IDLE | D | Reset_shadow_cnt |
D | D′ | Reset_shadow_cnt |
IDLE | IDLE′ | Reset_shadow_cnt |
A | IDLE | Reset_shadow_cnt |
A′ | B′ | Reset_shadow_cnt |
A′ | C′ | Reset_shadow_cnt |
B | D′ | Reset_shadow_cnt |
IDLE′ | D′ | Reset_shadow_cnt |
D′ | D | Reset_shadow_cnt |
IDLE′ | IDLE | Reset_shadow_cnt |
A′ | IDLE′ | Reset_shadow_cnt |
Claims (20)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/IB2005/053381 | 2005-10-14 | ||
IB2005-053381 | 2005-10-14 | ||
PCT/IB2005/053381 WO2007042864A1 (en) | 2005-10-14 | 2005-10-14 | Device and method for managing a retransmit operation |
PCT/IB2006/050355 WO2007042948A1 (en) | 2005-10-14 | 2006-02-02 | Device and method for managing a retransmit operation |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080215306A1 US20080215306A1 (en) | 2008-09-04 |
US7707335B2 true US7707335B2 (en) | 2010-04-27 |
Family
ID=35462550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/090,116 Active 2026-08-05 US7707335B2 (en) | 2005-10-14 | 2006-02-02 | Device and method for managing a retransmit operation |
Country Status (2)
Country | Link |
---|---|
US (1) | US7707335B2 (en) |
WO (2) | WO2007042864A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228630A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Serial Buffer To Support Rapid I/O Logic Layer Out Of order Response With Data Retransmission |
US20090225775A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols |
US20090225770A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Method To Support Lossless Real Time Data Sampling And Processing On Rapid I/O End-Point |
US20090228621A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Protocol Translation In A Serial Buffer |
US20090225769A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Method To Support Flexible Data Transport On Serial Protocols |
US20090228733A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Power Management On sRIO Endpoint |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925894B2 (en) * | 2001-07-25 | 2011-04-12 | Seagate Technology Llc | System and method for delivering versatile security, digital rights management, and privacy services |
US8028166B2 (en) | 2006-04-25 | 2011-09-27 | Seagate Technology Llc | Versatile secure and non-secure messaging |
US7539890B2 (en) | 2006-04-25 | 2009-05-26 | Seagate Technology Llc | Hybrid computer security clock |
US8429724B2 (en) * | 2006-04-25 | 2013-04-23 | Seagate Technology Llc | Versatile access control system |
GB2482303A (en) * | 2010-07-28 | 2012-02-01 | Gnodal Ltd | Modifying read patterns for a FIFO between clock domains |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365485A (en) | 1993-11-22 | 1994-11-15 | Texas Instruments Incorporated | Fifo with fast retransmit mode |
US5712992A (en) | 1995-12-06 | 1998-01-27 | Cypress Semiconductor Corporation | State machine design for generating empty and full flags in an asynchronous FIFO |
US5933435A (en) * | 1990-12-04 | 1999-08-03 | International Business Machines Corporation | Optimized method of data communication and system employing same |
US6745265B1 (en) | 2000-03-21 | 2004-06-01 | Agere Systems Inc. | Method and apparatus for generating status flags in a memory device |
US20050015650A1 (en) * | 2003-07-01 | 2005-01-20 | Jun Jin-Wan | Method and system for error correction in disk drive |
US20050152350A1 (en) * | 2003-12-22 | 2005-07-14 | Nak-Woon Sung | System and method for transmitting/receiving automatic repeat request |
US6934198B1 (en) | 2004-05-04 | 2005-08-23 | Xilinx, Inc. | First-in, first-out buffer system in an integrated circuit |
US7162545B2 (en) * | 2002-03-28 | 2007-01-09 | Nec Corporation | Duplexed processor system |
US7200790B2 (en) * | 2003-07-08 | 2007-04-03 | Sun Microsystems, Inc. | Switch level reliable transmission |
-
2005
- 2005-10-14 WO PCT/IB2005/053381 patent/WO2007042864A1/en active Application Filing
-
2006
- 2006-02-02 WO PCT/IB2006/050355 patent/WO2007042948A1/en active Application Filing
- 2006-02-02 US US12/090,116 patent/US7707335B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933435A (en) * | 1990-12-04 | 1999-08-03 | International Business Machines Corporation | Optimized method of data communication and system employing same |
US5365485A (en) | 1993-11-22 | 1994-11-15 | Texas Instruments Incorporated | Fifo with fast retransmit mode |
US5712992A (en) | 1995-12-06 | 1998-01-27 | Cypress Semiconductor Corporation | State machine design for generating empty and full flags in an asynchronous FIFO |
US6745265B1 (en) | 2000-03-21 | 2004-06-01 | Agere Systems Inc. | Method and apparatus for generating status flags in a memory device |
US7162545B2 (en) * | 2002-03-28 | 2007-01-09 | Nec Corporation | Duplexed processor system |
US20050015650A1 (en) * | 2003-07-01 | 2005-01-20 | Jun Jin-Wan | Method and system for error correction in disk drive |
US7500153B2 (en) * | 2003-07-01 | 2009-03-03 | Samsung Electronics Co., Ltd. | Method and system for error correction in disk drive using plural retry tables |
US7200790B2 (en) * | 2003-07-08 | 2007-04-03 | Sun Microsystems, Inc. | Switch level reliable transmission |
US20050152350A1 (en) * | 2003-12-22 | 2005-07-14 | Nak-Woon Sung | System and method for transmitting/receiving automatic repeat request |
US6934198B1 (en) | 2004-05-04 | 2005-08-23 | Xilinx, Inc. | First-in, first-out buffer system in an integrated circuit |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228630A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Serial Buffer To Support Rapid I/O Logic Layer Out Of order Response With Data Retransmission |
US20090225775A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols |
US20090225770A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Method To Support Lossless Real Time Data Sampling And Processing On Rapid I/O End-Point |
US20090228621A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Protocol Translation In A Serial Buffer |
US20090225769A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Method To Support Flexible Data Transport On Serial Protocols |
US20090228733A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Power Management On sRIO Endpoint |
US8213448B2 (en) | 2008-03-06 | 2012-07-03 | Integrated Device Technology, Inc. | Method to support lossless real time data sampling and processing on rapid I/O end-point |
US8312190B2 (en) | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Protocol translation in a serial buffer |
US8312241B2 (en) * | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Serial buffer to support request packets with out of order response packets |
US8625621B2 (en) | 2008-03-06 | 2014-01-07 | Integrated Device Technology, Inc. | Method to support flexible data transport on serial protocols |
Also Published As
Publication number | Publication date |
---|---|
WO2007042864A1 (en) | 2007-04-19 |
US20080215306A1 (en) | 2008-09-04 |
WO2007042948A1 (en) | 2007-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7707335B2 (en) | Device and method for managing a retransmit operation | |
US7082481B2 (en) | Serial peripheral interface (SPI) apparatus with write buffer for improving data throughput | |
EP1899830B1 (en) | Automated serial protocol target port transport layer retry mechanism | |
US20070011333A1 (en) | Automated serial protocol initiator port transport layer retry mechanism | |
US8320251B2 (en) | Method and device for transmitting data packets | |
US8131967B2 (en) | Asynchronous data interface | |
CN108600041B (en) | RFC 6349-based data block out-of-order testing method and device | |
US20070206598A1 (en) | Communications apparatus and communication method | |
KR20230025858A (en) | Communication device and communication system | |
CN115378556A (en) | Data retransmission method and equipment based on timeout | |
JP7107277B2 (en) | repeater | |
JP2011524038A (en) | Method for controlling access to memory area from a plurality of processes, and communication module including message memory for realizing the method | |
JP2002084316A (en) | Variable length packet write and read circuit | |
JP4400432B2 (en) | Asynchronous FIFO packet communication device | |
JP2002208912A (en) | Data communication equipment and firmware rewriting device for data sink equipment | |
US6920577B2 (en) | Clock selection circuit for selecting between an external clock and a clock generated by comparing a count value with a setting value | |
US6865654B2 (en) | Device for interfacing asynchronous data using first-in-first-out | |
CN118869844A (en) | Physical layer and method for managing packet header fields | |
JP3338791B2 (en) | Transmit buffer circuit | |
US20180336132A1 (en) | Information processing device, processor, and transmission information storage method | |
JP2001028607A (en) | Communication buffer circuit | |
JP4239482B2 (en) | Data transfer system, LSI and data transfer method | |
JPH11205409A (en) | Communication controller | |
JP2577834B2 (en) | Buffer memory device | |
CN117370233A (en) | HDMI controller UPI storage circuit and UPI data storage method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIDJI, GIL;ILAN, DAN;REEL/FRAME:020796/0705;SIGNING DATES FROM 20060205 TO 20060208 Owner name: FREESCALE SEMICONDUCTOR, INC.,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIDJI, GIL;ILAN, DAN;SIGNING DATES FROM 20060205 TO 20060208;REEL/FRAME:020796/0705 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIDJI, GIL;ILAN, DAN;SIGNING DATES FROM 20060205 TO 20060208;REEL/FRAME:020796/0705 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:021570/0449 Effective date: 20080728 Owner name: CITIBANK, N.A.,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:021570/0449 Effective date: 20080728 |
|
AS | Assignment |
Owner name: CITIBANK, N.A.,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024085/0001 Effective date: 20100219 Owner name: CITIBANK, N.A., NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024085/0001 Effective date: 20100219 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001 Effective date: 20100413 Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001 Effective date: 20100413 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030633/0424 Effective date: 20130521 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:031591/0266 Effective date: 20131101 |
|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037354/0719 Effective date: 20151207 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0143 Effective date: 20151207 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0553 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037486/0517 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037518/0292 Effective date: 20151207 |
|
AS | Assignment |
Owner name: NORTH STAR INNOVATIONS INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:037694/0264 Effective date: 20151002 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:038017/0058 Effective date: 20160218 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:039361/0212 Effective date: 20160218 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: PATENT RELEASE;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:039707/0471 Effective date: 20160805 |
|
AS | Assignment |
Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040928/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:041703/0536 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042762/0145 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042985/0001 Effective date: 20160218 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
AS | Assignment |
Owner name: SHENZHEN XINGUODU TECHNOLOGY CO., LTD., CHINA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS.;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:048734/0001 Effective date: 20190217 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050745/0001 Effective date: 20190903 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051145/0184 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0387 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0387 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051030/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051145/0184 Effective date: 20160218 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:053547/0421 Effective date: 20151207 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052915/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052917/0001 Effective date: 20160912 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |