Interface and process for handling out-of-order data transactions and synchronizing events in a split-bus system
DC CAFCFirst Claim
1. In a computer system, a method of processing memory access requests generated by a master device, said method comprising the steps of:
- a) receiving a first plurality of memory access requests generated by said master device;
b) upon receiving a first synchronizing request from said master device, presenting a first plurality of memory access requests to a memory access request arbiter in parallel for re-ordering thereof;
c) receiving a second plurality of memory access requests generated by said master device when said first plurality of memory access requests are serviced by said memory access request arbiter;
d) processing said first synchronizing request after said first plurality of memory access requests have been completed; and
e) upon receiving a second synchronizing request from said master device, presenting said second plurality of memory access requests to said memory access request arbiter in parallel for re-ordering thereof.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
An interface and process for re-ordering data transactions between a master device and a target device. The present invention applies to target devices that interface to master devices such that both masters and slaves are capable of handling the re-ordering of outstanding requests. In such an interface where data transactions can be in any order, certain events may occur that force the reordering to be limited to either before or after the event. These events, also referred to as synchronizing events herein, require that transactions sampled before the event must be completed before transactions sampled after the event are completed. The present invention is capable of handling such synchronizing events while maximizing reordering to gain maximum performance benefits.
10 Citations
23 Claims
-
1. In a computer system, a method of processing memory access requests generated by a master device, said method comprising the steps of:
-
a) receiving a first plurality of memory access requests generated by said master device;
b) upon receiving a first synchronizing request from said master device, presenting a first plurality of memory access requests to a memory access request arbiter in parallel for re-ordering thereof;
c) receiving a second plurality of memory access requests generated by said master device when said first plurality of memory access requests are serviced by said memory access request arbiter;
d) processing said first synchronizing request after said first plurality of memory access requests have been completed; and
e) upon receiving a second synchronizing request from said master device, presenting said second plurality of memory access requests to said memory access request arbiter in parallel for re-ordering thereof. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system comprising:
-
a processor;
a first bus coupled to said processor;
a memory controller coupled to said processor via said first bus;
a memory coupled to said memory controller via a second bus;
wherein said memory controller further comprises;
a memory access request arbiter for re-ordering memory access requests;
a buffer that has a plurality of storage locations for storing memory access requests and synchronizing requests; and
a request selection unit that causes said buffer to present a first plurality of memory access requests in parallel to said memory access request arbiter upon receiving a first synchronizing request without stalling said processor. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A memory controller comprising:
-
an input for coupling to a master device and for receiving memory access requests generated by said master device;
a memory access request arbiter for re-ordering memory access requests generated by said master device;
a buffer that has a plurality of storage locations for storing memory access requests and synchronizing requests generated by said master device; and
a request selection unit that causes said buffer to present a first plurality of memory access requests in parallel to said memory access request arbiter upon receiving a first synchronizing request without stalling said processor.
-
Specification