US2005086420A1PendingUtilityA1

Low latency buffer control system and method

Priority: Apr 25, 2002Filed: Nov 19, 2004Published: Apr 21, 2005
Est. expiryApr 25, 2022(expired)· nominal 20-yr term from priority
G06F 13/1615Y02D10/00
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A memory controller (MC) includes a buffer control circuit (BCC) to enable/disable buffers coupled to a terminated bus. The BCC can detect transactions and speculatively enable the buffers before the transaction is completely decoded. If the transaction is targeted for the terminated bus, the buffers will be ready to drive signals onto the terminated bus by the time the transaction is ready to be performed, thereby eliminating the “enable buffer” delay incurred in some conventional MCs. If the transaction is not targeted for the terminated bus, the BCC disables the buffers to save power. In MCs that queue transactions, the BCC can snoop the queue to find transactions targeted for the terminated bus and begin enabling the buffers before these particular transactions are fully decoded.

Claims

exact text as granted — not AI-modified
1 . A method, comprising: 
 monitoring a first bus for transactions;    enabling at least one buffer when a transaction is detected, the at least one buffer to drive a signal on a second bus;    determining whether the detected transaction is a memory transaction; and    disabling the at least one buffer if the transaction is not a memory transaction.    
   
   
       2 . The method of  claim 1 , further comprising decoding the detected transaction.  
   
   
       3 . The method of  claim 1 , further comprising storing the detected transaction in a storage element.  
   
   
       4 . The method of  claim 1 , terminating the second bus to a mid-range voltage.  
   
   
       5 . An apparatus, comprising: 
 means for monitoring a first bus for transactions;    a buffer to drive a signal on a targeted memory bus;    means for enabling the buffer when a transaction is detected;    means for determining whether the detected transaction is a transaction for a device coupled to the targeted memory bus; and    means for disabling the buffer if the detected transaction is determined not to be a transaction for a device coupled to the targeted memory bus.    
   
   
       6 . The apparatus of  claim 5 , further comprising means for receiving the transaction.  
   
   
       7 . The apparatus of  claim 6 , wherein the means for receiving includes a storage device.  
   
   
       8 . The apparatus of  claim 5 , wherein the second bus is terminated to a mid-range voltage.  
   
   
       9 . A method, comprising: 
 monitoring a transaction queue;    decoding a transaction in the transaction queue;    determining whether the decoded transaction is a memory transaction; and    disabling at least one buffer coupled to a memory bus if the transaction is not a memory transaction.    
   
   
       10 . The method of  claim 9 , further comprising presenting a high impedance to the memory bus when the buffer is disabled.  
   
   
       11 . The method of  claim 9 , further comprising terminating the memory bus to a mid-range voltage.  
   
   
       12 . A method, comprising: 
 monitoring a first bus to detect transactions;    storing detected transactions in a queue;    decoding a transaction being output by the queue;    determining whether the decoded transaction is targeted for a memory bus;    enabling at least one buffer if not already enabled if the decoded transaction is targeted for the memory bus, the at least one buffer being coupled to the memory bus; and    disabling the at least one buffer if the decoded transaction is not targeted for the memory bus.    
   
   
       13 . The method of  claim 12 , further comprising delaying performance of the decoded transaction until after enabling the at least one buffer.  
   
   
       14 . The method of  claim 13 , further comprising: 
 performing the decoded transaction; and    disabling the at least one buffer after performing the decoded transaction.    
   
   
       15 . A method, comprising: 
 monitoring a first bus to detect transactions;    storing detected transactions in a queue;    decoding a transaction being output by the queue;    determining whether the transaction is a memory transaction;    determining whether a plurality of buffers are enabled, wherein the plurality of buffers are coupled to a second bus;    enabling the plurality of buffers if the transaction is a memory transaction;    determining whether the transactions stored in queue are memory transactions; and    disabling the plurality of buffers if the transaction is not a memory transaction.    
   
   
       16 . The method of  claim 15 , further comprising disabling the plurality of buffers after performing the memory transaction.  
   
   
       17 . The method of  claim 16 , further comprising the plurality of buffers presenting a high impedance to the memory bus.  
   
   
       18 . The method of  claim 17 , further comprising terminating the memory bus to a mid-range voltage.  
   
   
       19 . The method of  claim 16 , further comprising decoding the memory transaction.  
   
   
       20 . The method of  claim 19 , further comprising enabling the plurality of buffers while the memory transaction is being decoded.  
   
   
       21 . A system comprising: 
 a processor;    a synchronous dynamic random access memory (SDRAM);    a memory controller coupled to the processor and to the SDRAM, wherein the memory controller includes: 
 a plurality of buffers coupled to a terminated memory bus;  
 a decoder to decode a transaction sent by the processor; and  
 a buffer control circuit, coupled to the decoder and the plurality of buffers, to detect the transaction and, in response thereto, to enable the plurality of buffers before the decoder completes decoding the transaction, wherein the buffer control circuit is configurable to determine whether the transaction is a memory transaction and to disable the plurality of buffers if the transaction is not a memory transaction.  
   
   
   
       22 . The system of  claim 21 , wherein the memory controller further comprises a transaction store coupled to the decoder.  
   
   
       23 . The system of  claim 22 , wherein the transaction store comprises a queue.  
   
   
       24 . A system comprising: 
 a processor;    a synchronous dynamic random access memory (SDRAM);    a memory controller coupled to the processor and the SDRAM, wherein the memory controller includes: 
 a plurality of buffers coupled to a memory bus, the memory bus being terminated to a mid-range voltage;  
 a transaction store to store transactions sent by the processor;  
 a decoder coupled to the transaction store to decode a transaction being output by the transaction store; and  
 a buffer control circuit coupled to the transaction store and the plurality of buffers, wherein the buffer control circuit is configurable to disable the plurality of buffers after the transaction is performed if the transaction store does not contain other transactions targeted for the terminated memory bus,  
 wherein the buffer control circuit is further configurable to determine whether a decoded transaction from the transaction store is targeted for the memory bus and in response thereto enable the plurality of buffers if they are not already enabled.  
   
   
   
       25 . The system of  claim 24 , wherein the buffer control circuit is further configurable to allow the plurality of buffers to remain enabled after the transaction is performed if the transaction store does contain a transaction targeted for the memory bus.  
   
   
       26 . The system of  claim 24 , wherein the transaction store comprises a queue.  
   
   
       27 . The system of  claim 24 , wherein the buffer control circuit is further configurable to delay performance of the decoded transaction after enabling the plurality of buffers.

Join the waitlist — get patent alerts

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

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