Transferring data using direct memory access
First Claim
Patent Images
1. A method for processing data, comprising:
- providing at least a first controller communicable with a remote memory, said first controller including a direct memory access (DMA) engine;
providing at least a processor communicating with a processor memory;
storing information using said processor with said processor memory related to data for processing, said information comprising a number of elements including at least a first element and a second element;
starting a process related to said information;
accessing firstly said processor memory using said DMA engine to obtain said first element, wherein said accessing firstly comprises said DMA engine retrieving the first element from the processor memory in a CPU table data format that is the same data format of said first element that was used when said first element was stored in said processor memory;
processing first data related to said first element;
accessing secondly said second element from said processor memory using said DMA engine after said step of processing said first data; and
processing second data related to said second element.
2 Assignments
0 Petitions
Accused Products
Abstract
A direct memory access (DMA) engine has virtually all control in connection with data transfers that can involve one or both of primary and secondary controllers. The DMA engine receives a command related to a data transfer from a processor associated with the primary controller. This command causes the DMA engine to access processor memory to obtain metadata therefrom. In performing a DMA operation, the metadata enables the DMA engine to conduct data transfers between local memory and remote memory. In performing exclusive OR operations, the DMA engine is involved with conducting data transfers using local memory.
70 Citations
20 Claims
-
1. A method for processing data, comprising:
-
providing at least a first controller communicable with a remote memory, said first controller including a direct memory access (DMA) engine; providing at least a processor communicating with a processor memory; storing information using said processor with said processor memory related to data for processing, said information comprising a number of elements including at least a first element and a second element; starting a process related to said information; accessing firstly said processor memory using said DMA engine to obtain said first element, wherein said accessing firstly comprises said DMA engine retrieving the first element from the processor memory in a CPU table data format that is the same data format of said first element that was used when said first element was stored in said processor memory; processing first data related to said first element; accessing secondly said second element from said processor memory using said DMA engine after said step of processing said first data; and processing second data related to said second element. - View Dependent Claims (2, 3, 4, 6, 7, 20)
-
-
5. A method for processing data, comprising:
-
providing at least a first controller communicable with a remote memory, said first controller including a direct memory access (DMA) engine; providing at least a processor communicating with a processor memory; storing information using said processor with said processor memory related to data for processing, said information comprising a number of elements including at least a first element and a second element; starting a process related to said information; accessing firstly said processor memory using said DMA engine to obtain said first element in a first data format; processing first data related to said first element without changing the first element from the first data format; accessing secondly said second element from said processor memory using said DMA engine after said step of processing said first data; and processing second data related to said second element, wherein for each of said number of elements, said DMA engine accesses said processor memory without interrupting said processor and, for each of said accessing, a processing of data is conducted before another accessing is conducted of said processor memory using said DMA engine.
-
-
8. A method for mirroring data from a local memory to a remote memory, comprising:
-
receiving a command at a direct memory access (DMA) engine; retrieving by said DMA engine information from a memory location external to said direct memory access engine, wherein information retrieved from said memory location comprises a data format that is the same data format that was used when said information was stored in said memory location as CPU data; and copying, based on said information contained in said memory location as CPU data, user data from a local memory location to a remote memory location. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for mirroring data in a storage system, comprising:
-
a local memory operable to store user data; a remote memory operable to store user data; a processor including a processor memory; and a direct memory access (DMA) engine operable to retrieve description data from said processor memory and to copy said user data from said local memory to said remote memory based on said description data, wherein said description data is used by said DMA engine in the same format as said description data is stored on said processor memory. - View Dependent Claims (16, 19)
-
-
17. An apparatus for mirroring data in a storage system, comprising:
-
a local memory operable to store user data; a remote memory operable to store user data; a processor including a processor memory; and a direct memory access (DMA) engine operable to retrieve description data from said processor memory and to copy said user data from said local memory to said remote memory based on said description data, wherein said description data is in a CPU table format, wherein said DMA engine includes at least one command register that has a plurality of fields including a command field related to at least one of an exclusive OR operation and a DMA operation and a source count field related to a number of scatter-gather lists. - View Dependent Claims (18)
-
Specification