IP Library › Granted Patent US 7,243,194
Granted Patent B2
US 7,243,194 · App. 11/054,403 · Granted Jul 10, 2007

Method to preserve ordering of read and write operations in a DMA system by delaying read access

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,243,194
App. No.
11/054,403
Granted
Jul 10, 2007
Kind
B2
Abstract

A method, system and computer program product for handling write requests in a data processing system is disclosed. The method comprises receiving on an interconnect bus a first write request targeted to a first address and receiving on the interconnect bus a subsequent second write request targeted to a subsequent second address. The subsequent second write request is completed prior to completing the first write request, and, responsive to receiving a read request targeting the second address before the first write request has completed, data associated with the second address of the second write request is supplied only after the first write request completes.

Claims (31)

1. A method of handling write requests in a data processing system, said method comprising:

receiving on an interconnect a first write request targeting a first address;

receiving on said interconnect a subsequent second write request targeting a subsequent second address;

completing said subsequent second write request prior to completing said first write request; and

responsive to receiving a read request targeting said second address before said first write request has completed, supplying data associated with said second address of said second write request only after said first write request completes.

2. The method of claim 1 , further comprising issuing a partial fulfillment response with respect to said read request.

3. The method of claim 1 , further comprising issuing a retry response with respect to said read request.

4. The method of claim 1 , further comprising queuing read requests for delayed fulfillment.

5. The method of claim 3 , wherein said step of issuing a retry response with respect to said read request further comprises issuing said retry response from a memory controller.

6. The method of claim 1 , wherein said step of receiving on said interconnect a subsequent second write request targeting a subsequent second address further comprises receiving on said interconnect a subsequent second write request from a same source that has sent said first write request.

7. The method of claim 5 , wherein said step of issuing said retry response from a memory controller further comprises restricting read access.

8. A memory controller for handling read requests and write requests in a data processing system, said memory controller comprising:

write logic, responsive to receiving from an interconnect a first write request targeting a first address and a subsequent second write request targeting a subsequent second address that completes said subsequent second write request prior to completing said first write request; and

read logic, responsive to receiving a read request targeting said second address before said first write request has completed, that supplies data associated with said second address of said second write request only after said first write request completes.

9. The memory controller of claim 8 , further comprising signaling logic for issuing a partial fulfillment response with respect to said read request.

10. The memory controller of claim 8 , wherein said read logic provides a retry response with respect to said read request.

11. The memory controller of claim 8 , wherein said read logic queues read requests for delayed fulfillment.

12. The memory controller of claim 8 , wherein said write logic further comprises write logic, responsive to receiving from an interconnect a first write request from a source targeting a first address and a subsequent second write request from said source targeting a subsequent second address that completes said subsequent second write request prior to completing said first write request.

13. The memory controller of claim 8 , wherein said read logic further comprises read logic within a read queue controller.

14. A processing unit comprising, a memory unit, one or more processor cores and the memory controller of claim 8 .

15. A data processing system, said system comprising:

one or more processing cores;

one or more units of memory; and

a memory controller for handling read requests and write requests in a data processing system, said memory controller comprising:

write logic, responsive to receiving from an interconnect a first write request targeting a first address and a subsequent second write request targeting a subsequent second address that completes said subsequent second write request prior to completing said first write request; and

read logic, responsive to receiving a read request targeting said second address before said first write request has completed, that supplies data associated with said second address of said second write request only after said first write request completes.

16. The data processing system of claim 15 , wherein said memory controller further comprises signaling logic for issuing a partial fulfillment response with respect to said read request.

17. The data processing system of claim 15 , wherein said read logic provides a retry response with respect to said read request.

18. The data processing system of claim 15 , wherein said read logic queues read requests for delayed fulfillment.

19. The data processing system of claim 15 , wherein said write logic further comprises write logic, responsive to receiving from an interconnect a first write request from a source targeting a first address and a subsequent second write request from said source targeting a subsequent second address that completes said subsequent second write request prior to completing said first write request.

20. The data processing system of claim 15 , wherein said read logic further comprises read logic within a read queue controller.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044127/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 026664/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2005
From: DALY, SR., GEORGE WILLIAM; FIELDS, JR., JAMES STEPHEN; UMBARGER, PAUL K.; WRIGHT, KENNETH LEE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016002/0412 →
Continuity (1)
Related Publication 20060179185A1 · Aug 10, 2006