US7930472B2ActiveUtilityA1

Method for accessing a first-in-first-out (FIFO) buffer and a FIFO controller therefor

Assignee: HIMAX TECH LTDPriority: Feb 27, 2008Filed: Feb 27, 2008Granted: Apr 19, 2011
Est. expiryFeb 27, 2028(~1.6 yrs left)· nominal 20-yr term from priority
G06F 2205/126G06F 5/12
54
PatentIndex Score
1
Cited by
1
References
20
Claims

Abstract

A method of for accessing a first-in-first-out (FIFO) buffer is provided. The method comprises the following two steps. Firstly, issue a request to access a memory when the amount of the data buffered in the FIFO buffer is more than a threshold. Second, pop the data buffered in the FIFO buffer out to access the memory when the request is granted. If the FIFO buffer is a single-port FIFO buffer, the threshold is set based on the burst length of one burst of data. If the FIFO buffer is a dual-port FIFO buffer, the threshold is set based on the speed at which the data is pushed into the FIFO buffer and the speed at which the data is popped out of the FIFO buffer.

Claims

exact text as granted — not AI-modified
1. A method for accessing a first-in-first-out (FIFO) buffer, comprising:
 issuing a request to access a memory when an amount of data buffered in the FIFO buffer is more than a threshold; and 
 popping the data buffered in the FIFO buffer out to access the memory when the request is granted; 
 wherein if the FIFO buffer is a single-port FIFO buffer, the threshold is set based on a burst length of one burst of data; 
 wherein if the FIFO buffer is a dual-port FIFO buffer, the threshold is set based on a speed that the data is pushed into the FIFO buffer and a speed that the data is popped out of the FIFO buffer. 
 
     
     
       2. The method according to  claim 1 , wherein if the FIFO buffer is the single-port buffer, the threshold is equal to the burst length of the burst of data. 
     
     
       3. The method according to  claim 1 , wherein if the FIFO buffer is the dual-port buffer and the data is pushed into the FIFO buffer faster than the buffered data being popped out of the FIFO buffer, the threshold is equal to zero. 
     
     
       4. The method according to  claim 1 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, then the threshold is set based on a ratio of the speed that the buffered data is popped out of the FIFO buffer to the speed that the data is pushed into the FIFO buffer. 
     
     
       5. The method according to  claim 4 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, and the burst length of one burst of data is fixed, then the threshold is set based on a length of the FIFO buffer and the ratio. 
     
     
       6. The method according to  claim 5 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, and the burst length of the burst of data is fixed, then the threshold is equal to 
       
         
           
             
               
                 ⌈ 
                 
                   
                     
                       ( 
                       
                         N 
                         - 
                         1 
                       
                       ) 
                     
                     N 
                   
                   × 
                   Lm 
                 
                 ⌉ 
               
               , 
             
           
         
       
       wherein Lm is equal to the length of the FIFO buffer, N is equal to the ratio. 
     
     
       7. The method according to  claim 4 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, and the burst length of one burst of data is unfixed, then the threshold is set based on the burst length, which occurs most frequently, of the burst of data, the ratio, and a waiting time, which occurs most frequently, from a moment that the request is issued to a moment that the request is granted. 
     
     
       8. The method according to  claim 7 , wherein when the burst length of the burst of data is small than a reference value, then the threshold is set to be equal to the burst length of the burst of data, wherein the reference value is set based on the burst length, which occurs most frequently, the ratio, and the waiting time, which occurs most frequently. 
     
     
       9. The method according to  claim 8 , wherein if the burst length of the burst of data is greater than the reference value, then the threshold is set to be equal to the reference value. 
     
     
       10. The method according to  claim 7 , wherein the reference value is set to be equal 
       
         
           
             
               
                 ⌈ 
                 
                   
                     
                       
                         ( 
                         
                           N 
                           - 
                           1 
                         
                         ) 
                       
                       N 
                     
                     × 
                     La 
                   
                   - 
                   
                     ( 
                     
                       Ta 
                       × 
                       St 
                     
                     ) 
                   
                 
                 ⌉ 
               
               , 
             
           
         
       
       to wherein N is equal to the ratio, La is equal to the burst length, which occurs most frequently, Ta is equal to the waiting time, which occurs most frequently, St is equal to the speed that the burst of data is pushed into the FIFO buffer. 
     
     
       11. A FIFO controller for accessing a FIFO buffer, the controller comprising:
 means for issuing a request to access a memory when an amount of data buffered in the FIFO buffer is more than a threshold; and 
 means for popping the data buffered in the FIFO buffer out to access the memory when the request is granted; 
 wherein if the FIFO buffer is a single-port FIFO buffer, the threshold is set based on a burst length of one burst of data; 
 wherein if the FIFO buffer is a dual-port FIFO buffer, the threshold is set based on a speed that the data is pushed into the FIFO buffer and a speed that the data is popped out of the FIFO buffer. 
 
     
     
       12. The FIFO controller according to  claim 11 , wherein if the FIFO buffer is the single-port buffer, the threshold is equal to the burst length of the burst of data. 
     
     
       13. The FIFO controller according to  claim 11 , wherein if the FIFO buffer is the dual-port buffer and the data is pushed into the FIFO buffer faster than the buffered data being popped out of the FIFO buffer, the threshold is equal to zero. 
     
     
       14. The FIFO controller according to  claim 11 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, then the threshold is set based on a ratio of the speed that the buffered data is popped out of the FIFO buffer to the speed that the data is pushed into the FIFO buffer. 
     
     
       15. The FIFO controller according to  claim 14 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, and the burst length of the burst of data is fixed, then the threshold is set based on a length of the FIFO buffer and the ratio. 
     
     
       16. The FIFO controller according to  claim 15 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, and the burst length of the burst of data is fixed, then the threshold is equal to 
       
         
           
             
               
                 ⌈ 
                 
                   
                     
                       ( 
                       
                         N 
                         - 
                         1 
                       
                       ) 
                     
                     N 
                   
                   × 
                   Lm 
                 
                 ⌉ 
               
               , 
             
           
         
       
       wherein Lm is equal to the length of the FIFO buffer, N is equal to the ratio. 
     
     
       17. The FIFO controller according to  claim 14 , wherein if the FIFO buffer is the dual-port buffer, the buffered data is popped out of the FIFO buffer faster than the data being pushed into the FIFO buffer, and the burst length of the burst of data is unfixed, then the threshold is set based on the burst length, which occurs most frequently, of the burst of data, the ratio, and a waiting time, which occurs most frequently, from a moment that the request is issued to a moment that the request is granted. 
     
     
       18. The FIFO controller according to  claim 17 , wherein if the burst length of the burst of data is small than a reference value, then the threshold is set to be equal to the burst length of the first burst of data, wherein the reference value is set based on the burst length, which occurs most frequently, the ratio, and the waiting time, which occurs most frequently. 
     
     
       19. The FIFO controller according to  claim 18 , wherein if the burst length of the burst of data is not smaller than the reference value, then the threshold is set to be equal to the reference value. 
     
     
       20. The FIFO controller according to  claim 18 , wherein the reference value is set to be equal to 
       
         
           
             
               
                 ⌈ 
                 
                   
                     
                       
                         ( 
                         
                           N 
                           - 
                           1 
                         
                         ) 
                       
                       N 
                     
                     × 
                     La 
                   
                   - 
                   
                     ( 
                     
                       Ta 
                       × 
                       St 
                     
                     ) 
                   
                 
                 ⌉ 
               
               , 
             
           
         
       
       wherein N is equal to the ratio, La is equal to the burst length, which occurs most frequently, Ta is equal to the waiting time, which occurs most frequently, St is equal to the speed that the burst of data is pushed into the FIFO buffer.

Join the waitlist — get patent alerts

Track US7930472B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.