Managing a codec engine for memory compression/decompression operations using a data movement engine
First Claim
1. A method for managing memory in a system including a CPU, a data movement engine (DME), and one or more memory modules comprising system memory, wherein at least one memory module includes a compression engine, the method comprising:
- the data movement engine reading first data from the system memory;
the data movement engine writing the first data to the compression engine;
the compression engine included on the at least one memory module compressing the first data to form a first compressed data;
the data movement engine reading the first compressed data from the at least one memory module; and
the data movement engine writing the first compressed data to the system memory.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing a functional unit in a system using a data movement engine. An exemplary system may comprise a CPU coupled to a memory controller. The memory controller may include or couple to a data movement engine (DME). The memory controller may in turn couple to a system memory or other device which includes at least one functional unit. The DME may operate to transfer data to/from the system memory and/or the functional unit, as described herein. In one embodiment, the DME may also include multiple DME channels or multiple DME contexts. The DME may operate to direct the functional unit to perform operations on data in the system memory. For example, the DME may read source data from the system memory, the DME may then write the source data to the functional unit, the functional unit may operate on the data to produce modified data, the DME may then read the modified data from the functional unit, and the DME may then write the modified data to a destination in the system memory. Thus the DME may direct the functional unit to perform an operation on data in system memory using four data movement operations. The DME may also perform various other data movement operations in the computer system, e.g., data movement operations that are not involved with operation of the functional unit.
206 Citations
63 Claims
-
1. A method for managing memory in a system including a CPU, a data movement engine (DME), and one or more memory modules comprising system memory, wherein at least one memory module includes a compression engine, the method comprising:
-
the data movement engine reading first data from the system memory;
the data movement engine writing the first data to the compression engine;
the compression engine included on the at least one memory module compressing the first data to form a first compressed data;
the data movement engine reading the first compressed data from the at least one memory module; and
the data movement engine writing the first compressed data to the system memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A method for managing memory in a system including a CPU, a data movement engine (DME), and one or more memory modules comprising system memory, wherein at least one memory module includes a compression engine, the method comprising:
-
creating one or more commands which specify compression of first data;
the data movement engine executing the one or more commands, wherein said executing comprises;
the data movement engine reading the first data from the system memory;
the data movement engine writing the first data to the at least one memory module;
the compression engine included on the at least one memory module compressing the first data to form a first compressed data;
the data movement engine reading the first compressed data from the at least one memory module; and
the data movement engine writing the first compressed data to a first compressed portion of the system memory. - View Dependent Claims (56)
-
-
57. A method for managing memory in a system including a CPU, a data movement engine (DME), and one or more memory modules comprising system memory, wherein at least one memory module includes a compression engine, the method comprising:
-
the data movement engine generating a request for first data from the system memory;
the compression engine included on the at least one memory module compressing the first data to form a first compressed data;
the data movement engine receiving the first compressed data;
the data movement engine writing the first compressed data to a first compressed portion of the system memory.
-
-
58. A method for managing memory in a system including a CPU, a data movement engine (DME), and one or more memory modules comprising system memory, wherein at least one memory module includes a compression engine, the method comprising:
-
the data movement engine reading first data from the system memory;
the data movement engine writing the first data to the at least one memory module;
the compression engine included on the at least one memory module compressing the first data to form a first compressed data; and
storing the first compressed data in a first compressed portion of the system memory.
-
-
59. A method for managing memory in a system including a CPU, a data movement engine (DME), and system memory, wherein system also includes a compression engine, the method comprising:
-
the data movement engine reading first data from the system memory;
the data movement engine writing the first data to the compression engine;
the compression engine compressing the first data to form a first compressed data;
the data movement engine reading the first compressed data from the compression engine; and
the data movement engine writing the first compressed data to the system memory. - View Dependent Claims (60, 61)
-
-
62. A method for managing memory in a system including a CPU, a data movement engine (DME), and one or more memory modules comprising system memory, wherein at least one memory module includes a decompression engine, the method comprising:
-
the data movement engine reading the first compressed data from the first compressed portion of the system memory;
the data movement engine writing the first compressed data to the at least one memory module;
the decompression engine included on the at least one memory module decompressing the first compressed data to form the first data;
the data movement engine reading the first data from the at least one memory module; and
the data movement engine writing the first data to the system memory.
-
-
63. A method for managing memory in a system including a CPU, a data movement engine (DME), and a system memory, wherein the system includes a decompression engine, the method comprising:
-
the data movement engine reading the first compressed data from the first compressed portion of the system memory;
the data movement engine writing the first compressed data to the decompression engine;
the decompression engine decompressing the first compressed data to form the first data;
the data movement engine reading the first data from the decompression engine; and
the data movement engine writing the first data to the system memory.
-
Specification