IP Library Granted Patent US 7,200,688
Granted Patent B2
US 7,200,688 · App. 10/448,237 · Granted Apr 3, 2007

System and method asynchronous DMA command completion notification by accessing register via attached processing unit to determine progress of DMA command

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,200,688
App. No.
10/448,237
Granted
Apr 3, 2007
Kind
B2
Abstract

The present invention provides for asynchronous DMA command completion notification in a computer system. A command tag, associated with a plurality DMA command is generated. A DMA data movement command having the command tag is grouped with another DMA data movement command having the command tag. DMA commands belonging to the same tag group are monitored to see whether all DMA commands of the same tag group are completed.

Claims (32)

1. A method for providing asynchronous DMA command completion notification in a heterogeneous computer system, wherein the computer system at least comprises a system memory and at least one attached processing unit (“APU”), comprising:

determining APU DMA commands which require access to system memory;

generating at least one command tag for each APU DMA command, wherein each command tag is associated with at least one DMA command and one command tag identifies one or more sequential DMA commands;

grouping the DMA with the same command tag together;

tracking progress of each DMA command group, wherein the progress of each DMA command group is stored in a register; and

accessing the register by the at least one APU to determine the progress of a least one DMA command group.

2. The method of claim 1 , wherein the register further comprises:

at least one mask register, wherein the at least one mask register keeps track of the DMA command group that is currently executing and the DMA command groups that are not currently executing; and

at least one tag status register, wherein the at least one tag status register reads the mask register and transmits the status of at least one DMA command group to the APU.

3. The method of claim 1 , further comprising detecting DMA command group completion.

4. The method of claim 1 , further comprising incrementing a tag group count, wherein the step of incrementing a tag group count comprises incrementing the number of DMA commands in the same group when incoming DMA commands from the APU are identified.

5. The method of claim 1 , further comprising decrementing a tag group count, wherein the step of decrementing the tag group count comprises decrementing the number of DMA commands in the same group when a DMA command in that group has been executed.

6. The method of claim 1 , further comprising employing a mask value on a tag group count, wherein the mask value indicates the DMA command group that is currently executing.

7. The method of claim 1 , further comprising generating a tag status value, wherein the tag status value indicates the status of at least one DMA command group to the APU.

8. A computer program product for providing asynchronous DMA command completion notification in a heterogeneous computer system, wherein the computer system at least comprises a system memory and at least one attached processing unit(“APU”), the computer program product having a computer-readable medium with a computer program embodied thereon, the computer program product comprising:

computer code for determining APU DMA commands which require access to system memory;

computer code for generating at least one command tag for each APU DMA command, wherein each command tag is associated with at least one DMA command and one command tag identifies one or more sequential DMA commands;

computer code for grouping the DMA commands with the same command tag together;

computer code for tracking progress of each DMA command group, wherein the progress of each DMA command group is stored in a register; and

computer code for determining the progress of the at least one DMA command group by accessing the register by the at least one APU.

9. The computer program product of claim 8 , further comprising computer code for detecting DMA command group completion.

10. The computer program product of claim 8 , further comprising computer code for employing a mask value on a tag group count, wherein the mask value indicates the DMA command group that is currently executing.

11. The computer program product of claim 8 , further comprising generating a tag status value, wherein the tag status value indicates the status of at least one DMA command group to the APU.

12. A processor for providing asynchronous DMA command completion notification in a heterogeneous computer system, wherein the computer system at least comprises a system memory and at least one attached processing unit (“APU”), the processor including a computer program product comprising:

computer code for determining APU DMA commands which require access to system memory;

computer code for generating at least one command tag for each APU DMA command, wherein each command tag is associated with at least one DMA command and one command tag identifies one or more sequential DMA commands;

computer code for grouping the DMA commands with the same command tag together;

computer code for tracking progress of each DMA command group, wherein the progress of each DMA command group is stored in a register; and

computer code for determining the progress of at least one DMA command group by accessing the register by the at least one APU.

13. The processor of claim 12 , further comprising computer code for detecting DMA command group completion.

14. The processor of claim 12 , further comprising computer code for employing a mask value on a tag group count, wherein the mask value indicates the DMA command group that is currently executing.

15. The processor of claim 12 , further comprising generating a tag status value, wherein the tag status value indicates the status of at least one DMA command group to the APU.

Assignments (4)
CHANGE OF NAME Recorded Oct 13, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 040350/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027449/0640 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027449/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2008
From: YAMAZAKI, TAKESHI
To: SONY COMPUTER ENTERTAINMENT, INC.
Reel/Frame 021907/0304 →