IP Library Granted Patent US 7,831,746
Granted Patent B2
US 7,831,746 · App. 11/685,750 · Granted Nov 9, 2010

Direct memory access engine for data transfers

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,831,746
App. No.
11/685,750
Granted
Nov 9, 2010
Kind
B2
Abstract

A system and method of transferring data of unknown length in a computer system includes providing an embedded device having a processing apparatus and a DMA engine, the processing apparatus processing the data and the DMA engine transferring the data from the embedded device to a component in the computer system, determining whether information from the embedded device is an address value or a data value, programming the DMA engine with the address value if the information is the address value, and transferring the data value to the address value in the component if the information is the data value.

Claims (47)

1. A method of transferring data of unknown length in a computer system, the method comprising:

providing an embedded device having a processing apparatus and a Direct Memory Access (DMA) engine, the processing apparatus configured to process the data and configured to program parameters to the DMA engine, the programming parameters including an address of a component in the computer system, and the DMA engine configured to transfer the data from the embedded device to the component;

determining whether information from the embedded device is an address value or a data value;

based on the determination, programming the address of the component in the DMA engine with the address value if the information is the address value; and

based on the determination, transferring the data value to the address of the component if the information is the data value.

2. The method of claim 1 , wherein the embedded device is a field programmable gate array.

3. The method of claim 1 , wherein the embedded device programs the DMA engine.

4. The method of claim 1 , wherein the data from the embedded device is stored in local memory of the embedded device.

5. The method of claim 1 , wherein the data from the embedded device is stored in a buffer of the embedded device.

6. The method of claim 1 , wherein the component is memory or a field programmable gate array in the computer system.

7. The method of claim 1 further comprising:

incrementing the address in the DMA engine to provide a next address location if the information is the data value, wherein incrementing the address in the DMA engine occurs after transferring the data value to the address of the component.

8. The method of claim 1 further comprising:

determining whether the data value is a last data value.

9. The method of claim 8 further comprising:

signaling that the DMA engine is complete, if the data value is the last data value.

10. A system for transferring data of unknown length in a computer system, the system comprising:

a component having an address;

an I/O interface in communication with the component;

an embedded device in communication with the I/O interface, the embedded device including a processing apparatus and a DMA engine, the processing apparatus having program code for processing the data and program code for programming the DMA engine with the address of the component, the DMA engine configured to transfer the data from the embedded device to the address in the component; and

a microprocessor configured to receive a signal from the DMA engine when transferring the data is complete, the microprocessor in communication with the embedded device over the I/O interface.

11. The system of claim 10 , wherein the embedded device is a field programmable gate array.

12. The system of claim 10 , wherein the embedded device further comprises local memory for storing the data.

13. The system of claim 10 , wherein the embedded device further comprises a buffer for buffering the data.

14. The system of claim 10 , wherein the component is memory or a field programmable gate array.

15. The system of claim 10 , wherein the processing apparatus further comprises program code for incrementing the address in the DMA engine.

16. A method of transferring data in a computer system, the method comprising:

providing an embedded device having a processing apparatus and a DMA engine, the processing apparatus configured to process the data and configured to provide programming parameters to the DMA engine, and the DMA engine configured to transfer the data from the embedded device to a component in the computer system;

providing a microprocessor configured to receive a signal from the DMA engine when transferring the data is complete, the microprocessor in communication with the embedded device over an I/O interface;

programming the DMA engine with a start address and a transfer length, the start address and the transfer length provided by the embedded device; and

transferring the data to the start address in the component.

17. A computer program product for transferring data of an unknown length in a computer system, the computer system including an embedded device having a processing apparatus and a DMA engine, the processing apparatus configured to process data and configured to provide programming parameters to the DMA engine, the programming parameters including an address of a component in the computer system and the DMA engine configured to transfer the data from the embedded device to the component, the computer program product comprising a computer readable medium having computer readable program code stored thereon, the computer readable program code comprising:

program code for determining whether information from the embedded device is an address value or a data value;

program code for programming the address of the component in the DMA engine with the address value if the information is the address value; and

program code for transferring the data value to the address of the component if the information is the data value.

18. The computer program product of claim 17 , wherein the embedded device is a field programmable gate array.

19. The computer program product of claim 17 further comprising:

program code for signaling that the DMA engine is complete.

20. The computer program product of claim 17 , wherein the component is memory or a field programmable gate array.

21. The method of claim 1 , further comprising:

providing a microprocessor configured to receive a signal from the DMA engine when transferring the data is complete, the microprocessor in communication with the embedded device over an I/O interface.

22. A method of transferring data of unknown length in a computer system, the method comprising:

providing an embedded device having a processing apparatus and a Direct Memory Access (DMA) engine, the processing apparatus configured to process the data and configured to provide programming parameters to the DMA engine, the programming parameters including an address of a component in the computer system, and the DMA engine configured to transfer the data from the embedded device to the component;

providing a microprocessor configured to receive a signal from the DMA engine when transferring the data is complete, the microprocessor in communication with the embedded device over an I/O interface;

determining whether information from the embedded device is an address value or a data value;

based on the determination, programming the address of the component in the DMA engine with the address value if the information is the address value; and

based on the determination, transferring the data value to the address of the component if the information is the data value.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 28, 2016
From: MORGAN STANLEY & CO., INCORPORATED
To: SILICON GRAPHICS, INC.
Reel/Frame 039503/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2016
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 039465/0001 →
CHANGE OF NAME Recorded Jul 26, 2016
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 039465/0390 →
MERGER Recorded Jul 26, 2016
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 039257/0994 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027904/0315 →
SECURITY AGREEMENT Recorded Dec 16, 2008
From: SILICON GRAPHICS, INC.
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 021985/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2007
From: LINDAHL, CHRISTOPHER D.; UTSUMI, TERUO
To: SILICON GRAPHICS, INC.
Reel/Frame 019197/0349 →