US2008065799A1PendingUtilityA1

Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect

Individually held — no corporate assignee on recordPriority: Dec 24, 2001Filed: Nov 9, 2007Published: Mar 13, 2008
Est. expiryDec 24, 2021(expired)· nominal 20-yr term from priority
G06F 13/364G06F 13/4059G06F 13/423
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of enforcing the ordering of read and write transactions for an adapter unit connected to a strongly-ordered bus. The adapter unit has a set of read buffers and write buffers. Initiator write transactions and target read completion transactions are performed on the bus in the original order in which the transactions are received. An initiator read transaction request is enqueued in the read buffer but selectively awaits the performance of one or more pending initiator write transactions in the write buffer before the read transaction request is presented to the bus. In this way, initiator write transactions on which the read transaction request depends and pending in the write buffer are retired to the bus before the initiator read transaction request is performed, thus assuring that the initiator read transaction request is not performed ahead of the initiator write transaction on which the read transaction request depends.

Claims

exact text as granted — not AI-modified
1 . A method of ordering transactions that occur on a peripheral bus, the method comprising: 
 receiving a first write transaction associated with a first interface;    receiving a second write transaction associated with the first interface;    receiving a read transaction associated with the first interface; and    adjusting write contingency flags to allow split read completion transactions and multi-threaded transactions to a second interface.    
   
   
       2 . The method of  claim 1  further comprising sharing read and write transaction information between multiple buffers to allow performance of the read and write transactions to occur in a predetermined order.  
   
   
       3 . The method of  claim 2  further comprising: 
 determining, if performance of the first and second write transactions has not started before receiving the read transaction, whether the read transaction is dependent on completion of at least one of the first and second write transactions; and    performing, if the read transaction is not dependent on completion of the second write transaction, the first write transaction and the read transaction via the second interface before performing the second write transaction.    
   
   
       4 . The method of  claim 3  further comprising performing, if the read transaction is not dependent on completion of the second write transaction, the second write transaction before the read transaction only if the second write transaction is stored in a buffer before the read transaction.  
   
   
       5 . A method, comprising: 
 tracking contents of a write buffer;    tracking write contingency flags for a read buffer;    selectively permitting a read transaction request in the read buffer to be dependent on a write transaction in the write buffer based on the write contingency flags.    
   
   
       6 . The method of  claim 5  further comprising selectively setting a write contingency flag to create an ordering between a write transaction and a read transaction request based on properties of the read and write transactions involved.  
   
   
       7 . The method of  claim 6  wherein the said properties are selected from a group consisting of an address, an address range, a requester function in a transaction and a device number in a transaction.  
   
   
       8 . The method of  claim 5  further comprising selectively providing read buffer data to a read master.  
   
   
       9 . The method of  claim 5  further comprising selecting a write master to provide data to the write buffer.  
   
   
       10 . The method of  claim 5  further comprising selecting a read slave to provide data to the write buffer.  
   
   
       11 . The method of  claim 5  further comprising selecting whether a read master or a write master has access to the write buffer.  
   
   
       12 . The method of  claim 5  further comprising selectively enabling write buffer data to either an initiator interface or a target interface.  
   
   
       13 . The method of  claim 5  further comprising clearing write contingency flags when a read transaction request appears on an internal interface.  
   
   
       14 . The method of  claim 13  further comprising, if ordering is enforced, determining whether any pending initiator write transactions are in the write buffer and setting a write contingency flag for each pending write transaction on which the read transaction request must depend.  
   
   
       15 . The method of  claim 13  further comprising, if order is enforced, waiting for any write contingency flags associated with the read transaction request to be cleared before presenting the read transaction request to an initiator interface.  
   
   
       16 . The method of  claim 13  further comprising, if ordering is not enforced, proceeding with the read transaction request without delay.  
   
   
       17 . The method of  claim 5  further comprising ordering a read transaction request with respect to some pending write transactions and not others.  
   
   
       18 . The method of  claim 5  further comprising tracking whether entries in the write buffer are write transactions or delayed/split completion transactions.  
   
   
       19 . The method of  claim 5  further comprising performing initiator write transactions and target read completions in the order in which they are enqueued in the write buffer.  
   
   
       20 . The method of  claim 5  further comprising determining that a write transaction in the write buffer has been performed and clearing any corresponding write contingency flags.

Join the waitlist — get patent alerts

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

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