IP Library › Granted Patent US 11,157,423
Granted Patent B2
US 11,157,423 · App. 16/401,913 · Granted Oct 26, 2021

Pipelined-data-transform-enabled data mover system

Inventor: Shyamkumar T. Iyer (Austin, TX)
Assignee: Dell Products L.P.
G06F13/1668G06F3/0604G06F3/0659G06F3/0673G06F21/602
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 11,157,423
App. No.
16/401,913
Filed
May 2, 2019
Granted
Oct 26, 2021
Kind
B2
Examiner
PARK, ILWOO
Art Unit
2184
USPC
710/5
Abstract

A pipelined-data-transform-enabled data mover system includes a data mover device coupled to a memory system. The data mover device reads initial data from memory location(s) included in the memory system, and include at least one first data mover element that performs at least one intermediate data transform operation on the initial data in order to produce intermediate data. The data mover device also includes at least one second data mover element that subsequently performs at least one final data transform operation on the intermediate data in order to produce final data. The data mover device then writes the final data to memory location(s) included in the memory system. The data mover device may be configured by a processing system via a single descriptor that configures the data mover device to perform multiple read operations from different memory locations in the memory system in order to read the initial data.

Claims (52)

1. A pipelined-data-transform-enabled data mover system, comprising:

a memory system that includes a network-connected memory fabric;

a processing system that is coupled to the memory system and that is configured to execute processing system instructions that cause the processing system to perform one or more pipelined data transform operations when a data mover device is not available; and

a data mover device that is coupled to the network-connected memory fabric via a network, that is coupled to the processing system, and that is configured to:

receive, from the processing system, a data transform configuration that includes data mover instructions that were converted from analogous processing system instructions that are included in the processing system instructions and that are configured to cause the processing system to perform the one or more pipelined data transform operations when the data mover device is not available;

configure, using the data mover instructions, the data mover device to perform the one or more pipelined data transform operations;

read, via the network from at least one memory location included in the network-connected memory fabric using a copy engine that is provisioned for each at least one memory location using the data mover instructions, initial data;

perform, via at least one first data mover element that is included in the data mover device, that is provisioned using the data mover instructions, and without utilizing resources of the processing system, at least one intermediate data transform operation on the initial data in order to produce intermediate data;

output the intermediate data from the at least one first data mover element to provide an input to at least one second data mover element that is included in the data mover device and that is provisioned using the data mover instructions to perform at least one final data transform operation on the intermediate data in order to produce final data;

perform, via the at least one second data mover element without utilizing resources of the processing system, the at least one final data transform operation on the intermediate data in order to produce the final data; and

write, to at least one memory location included in the network-connected memory fabric over the network and using a second level function engine provisioned using the data mover instructions, the final data.

2. The system of claim 1 , wherein the data transform configuration includes a single descriptor that configures the data mover device to perform multiple read operations from different memory locations in the network-connected memory fabric in order to read the initial data.

3. The system of claim 1 , wherein the data mover device is configured to

store the intermediate data prior to performing the at least one final data transform operation.

4. The system of claim 1 , wherein the at least one intermediate data transform operation includes a memory compare operation that compares the initial data retrieved from different memory locations in the network-connected memory fabric, and wherein the at least one final data transform operation includes a data difference operation that identifies differences in the intermediate data produced from the comparison performed in the memory compare operation to provide the final data.

5. The system of claim 1 , wherein the at least one intermediate data transform operation includes a first data encryption operation performed on the initial data retrieved from the network-connected memory fabric to produce the intermediate data, and wherein the at least one final data transform operation includes a second data encryption operation performed on the intermediate data produced from the first data encryption operation to provide the final data.

6. The system of claim 1 , wherein the data mover device is configured to:

perform a data movement operation that includes moving data from a source memory location in the network-connected memory fabric to a destination memory location inthe network-connected memory fabric, wherein the data movement operation includes at least one of a read operation, a write operation, or a copy operation that is performed by the data mover device to relieve the processing system from having to use processing cycles to perform the at least one of the read operation, the write operation, or the copy operation.

7. An Information Handling System (IHS), comprising:

a data mover processing subsystem; and

a data mover memory subsystem that is coupled to the data mover processing subsystem and that includes instructions that, when executed by the data mover processing subsystem, cause the data mover processing subsystem to provide a data mover engine that is configured to:

receive, from a primary processing system, a data transform configuration that includes data mover instruction that were converted from analogous primary processing system instructions and that are configured to cause the primary processing system to perform one or more pipelined data transform operations when the data mover engine is not available;

configure, using the data mover instructions, the data mover engine to perform the one or more pipelined data transform operations;

read, from at least one primary memory location that is provided by a primary memory system that is coupled to the primary processing system using a copy engine that is provisioned for each at least one primary memory location using the data mover instructions, initial data;

perform, via at least one first data mover element that is provided by the data mover engine, that is provisioned using the data mover instructions, and without utilizing resources of the primary processing system, at least one intermediate data transform operation on the initial data in order to produce intermediate data;

output the intermediate data from the at least one first data mover element to provide an input to at least one second data mover element that is provided by the data mover engine and that is provisioned using the data mover instructions to perform at least one final data transform operation on the intermediate data in order to produce final data;

perform, via the at least one second data mover element without utilizing resources of the primary processing system, the at least one final data transform operation on the intermediate data in order to produce the final data; and

write, to at least one primary memory location using a second level function engine provisioned using the data mover instructions, the final data.

8. The IHS of claim 7 , wherein the data transform configuration includes a single descriptor that configures the data mover engine to perform multiple read operations from different primary memory locations in the primary memory system in order to read the initial data.

9. The IHS of claim 7 , wherein the data mover engine is configured to:

store the intermediate data prior to performing the at least one final data transform operation.

10. The IHS of claim 7 , wherein the at least one intermediate data transform operation includes a memory compare operation that compares the initial data retrieved from different primary memory locations in the primary memory system, and wherein the at least one final data transform operation includes a data difference operation that identifies differences in the intermediate data produced from the comparison performed in the memory compare operation to provide the final data.

11. The IHS of claim 7 , wherein the at least one intermediate data transform operation includes a first data encryption operation performed on the initial data retrieved from the primary memory system to produce the intermediate data, and wherein the at least one final data transform operation includes a second data encryption operation performed on the intermediate data produced from the first data encryption operation to provide the final data.

12. The IHS of claim 7 , wherein the at least one intermediate data transform operation includes a first data compression operation performed on the initial data retrieved from the primary memory system to produce the intermediate data, and wherein the at least one final data transform operation includes a second data compression operation performed on the intermediate data produced from the first data compression operation to provide the final data.

13. The IHS of claim 7 , wherein the data mover engine is configured to:

perform a data movement operation that includes moving data from a source memory location in the primary memory system to a destination memory location in the primary memory system, wherein the data movement operation includes at least one of a read operation, a write operation, or a copy operation to relieve the processing system from having to use processing cycles to perform the at least one of the read operation, the write operation, or the copy operation.

14. A method for providing pipelined data transformation via a data mover system, comprising:

receiving, by a data mover device from a processing system, a data transform configuration that includes data mover instructions that were converted from analogous processing system instructions and that are configured to cause the processing system to perform one or more pipelined data transform operations when the data mover device is not available;

configuring, using the data mover instructions, the data mover device to perform the one or more pipelined data transform operations;

reading, via the network by the data mover device from at least one memory location included in a network-connected memory fabric provided by a memory system coupled to the processing system using a copy engine that is provisioned for each at least one memory location using the data mover instructions, initial data;

performing, by the data mover device via at least one first data mover element that is included in the data mover device, that is provisioned using the analogous data mover instructions, and without utilizing resources of the processing system, at least one intermediate data transform operation on the initial data in order to produce intermediate data;

outputting, by the data mover device via the at least one first data mover element, the intermediate data to provide an input to at least one second data mover element that is included in the data mover device and that is provisioned using the data mover instructions to perform at least one final data transform operation on the intermediate data in order to produce final data;

performing, by the data mover device via the at least one second data mover element using the analogous data mover instructions and without utilizing resources of the processing system, the at least one final data transform operation on the intermediate data in order to produce the final data; and

writing, over the network by the data mover device to at least one memory location included in the network-connected memory fabric and using a second level function engine provisioned using the data mover instructions, the final data.

15. The method of claim 14 , wherein the data transform configuration includes a single descriptor that configures the data mover device to perform multiple read operations from different memory locations in the network-connected memory fabric in order to read the initial data.

16. The method of claim 14 , further comprising:

storing, by the data mover device, the intermediate data prior to performing the at least one final data transform operation.

17. The method of claim 14 , wherein the at least one intermediate data transform operation includes a memory compare operation that compares the initial data retrieved from different memory locations in the network-connected memory fabric, and wherein the at least one final data transform operation includes a data difference operation that identifies differences in the intermediate data produced from the comparison performed in the memory compare operation to provide the final data.

18. The method of claim 14 , wherein the at least one intermediate data transform operation includes a first data encryption operation performed on the initial data retrieved from the network-connected memory fabric to produce the intermediate data, and wherein the at least one final data transform operation includes a second data encryption operation performed on the intermediate data produced from the first data encryption operation to provide the final data.

19. The method of claim 14 , wherein the at least one intermediate data transform operation includes a first data compression operation performed on the initial data retrieved from the network-connected memory fabric to produce the intermediate data, and wherein the at least one final data transform operation includes a second data compression operation performed on the intermediate data produced from the first data compression operation to provide the final data.

20. The method of claim 14 , further comprising:

performing, by the data mover device, a data movement operation that includes moving data from a source memory location in the primary memory system to a destination memory location in the primary memory system, wherein the data movement operation includes at least one of a read operation, a write operation, or a copy operation to relieve the processing system from having to use processing cycles to perform the at least one of the read operation, the write operation, or the copy operation.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: IYER, SHYAMKUMAR T.
To: DELL PRODUCTS L.P.
Reel/Frame 049066/0974 →
Continuity (1)
Related Publication 20200349095A1 · Nov 5, 2020