IP Library Granted Patent US 11,429,299
Granted Patent B2
US 11,429,299 · App. 16/942,442 · Granted Aug 30, 2022

System and method for managing conversion of low-locality data into high-locality data

Inventors: Oluwole Jaiyeoba (San Jose, CA); Nima Elyasi (San Jose, CA); Changho Choi (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0644G06F3/0614G06F3/0647G06F3/0653G06F3/0659G06F3/0673
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,429,299
App. No.
16/942,442
Granted
Aug 30, 2022
Kind
B2
Abstract

A system and method for processing source data are disclosed. A first node receives from a second node, a request for the source data. The first node generates and returns, in response to the request, an output partition of the source data. The generating and returning of the output partition include generating a first child partition from parent input data, and generating and returning, as the output partition, a first grandchild partition from the first child partition. The first node also generates a second child partition from the parent input data.

Claims (55)

1. A method for processing source data, the method comprising:

receiving by a first node from a second node, a request for the source data;

generating and returning, by the first node, in response to the request, an output partition of the source data, wherein the generating and returning of the output partition include:

generating a first child partition from parent input data; and

generating and returning, as the output partition, a first grandchild partition from the first child partition; and

generating, by the first node, a second child partition from the parent input data,

wherein the first child partition and the first grandchild partition are generated in a depth-first manner in a first time window, and the second child partition is generated in a second time window different from the first time window.

2. The method of claim 1 , wherein the generating of the first child partition includes:

loading the parent input data from an off-chip storage device to an on-chip storage device;

generating a partition of the parent input data via the on-chip storage device; and

storing the generated first child partition in the off-chip storage device.

3. The method of claim 2 , wherein the loading of the parent input data is in batches via a sequential read operation of the off-chip storage device, and the storing of the first child partition is via a sequential write operation of the off-chip storage device.

4. The method of claim 2 further comprising:

determining a target number of partitions, wherein the target number of partitions is based on a storage capacity of the on-chip storage device, wherein a range of partitioned data in the first child partition or the first grandchild partition is within the storage capacity of the on-chip storage device.

5. The method of claim 4 , wherein the parent input data has an input range, wherein the range of the partitioned data in the first child partition or the first grandchild partition is based on the input range and the target number of partitions.

6. The method of claim 1 further comprising:

generating a second grandchild partition from the second child partition.

7. The method of claim 6 further comprising:

returning the first grandchild partition to a first target, and the second grandchild partition to a second target, wherein the first and second targets are respectively first and second processes or threads.

8. The method of claim 7 , wherein the first and second targets are configured to respectively run first and second intervals of a particular application.

9. The method of claim 1 , wherein the output partition has higher locality than a locality of the parent input data.

10. A system for processing source data, the system comprising:

a processor; and

a memory coupled to the processor, wherein the memory stores instructions that, when executed by the processor, cause the processor to:

receive a request for the source data;

generate and return, in response to the request, an output partition of the source data, wherein the instructions that cause the processor to generate and return the output partition include instructions that cause the processor to:

generate a first child partition from parent input data; and

generate and return, as the output partition, a first grandchild partition from the first child partition; and

generate a second child partition from the parent input data,

wherein the instructions cause the processor to generate the first child partition and the first grandchild partition in a depth-first manner in a first time window, and cause the processor to generate second child partition in a second time window different from the first time window.

11. The system of claim 10 , wherein the system further includes an off-chip storage device and an on-chip storage device, and where the instructions that cause the processor to generate the first child partition include instructions that cause the processor to:

load the parent input data from the off-chip storage device to the on-chip storage device;

generating a partition of the parent input data via the on-chip storage device; and

store the generated first child partition in the off-chip storage device.

12. The system of claim 11 , wherein the instructions that cause the processor to load the parent input data include instructions that cause the processor to load the parent input data in batches via a sequential read operation of the off-chip storage device, and the instructions that cause the processor to store the first child partition include instructions that cause the processor to conduct a sequential write operation of the off-chip storage device.

13. The system of claim 11 , wherein the instructions further cause the processor to:

determine a target number of partitions, wherein the target number of partitions is based on a storage capacity of the on-chip storage device, wherein a range of partitioned data in the first child partition or the first grandchild partition is within the storage capacity of the on-chip storage device.

14. The system of claim 13 , wherein the parent input data has an input range, wherein the range of the partitioned data in the first child partition or the first grandchild partition is based on the input range and the target number of partitions.

15. The system of claim 10 , wherein the instructions further cause the processor to:

generate a second grandchild partition from the second child partition.

16. The system of claim 15 , wherein the instructions further cause the processor to:

return the first grandchild partition to a first target, and the second grandchild partition to a second target, wherein the first and second targets are respectively first and second processes or threads.

17. The system of claim 16 , wherein the first and second targets are configured to respectively run first and second intervals of a particular application.

18. The system of claim 10 , wherein the output partition has higher locality than a locality of the parent input data.

19. A non-transitory computer-readable medium implemented on a system for processing source data, the non-transitory computer-readable medium having computer code that, when executed on a processor, implements a method of processing source data, the method comprising:

receiving by a first node from a second node, a request for the source data;

generating and returning, by the first node, in response to the request, an output partition of the source data, wherein the generating and returning of the output partition include:

generating a first child partition from parent input data; and

generating and returning, as the output partition, a first grandchild partition from the first child partition; and

generating, by the first node, a second child partition from the parent input data,

wherein the first child partition and the first grandchild partition are generated in a depth-first manner in a first time window, and the second child partition is generated in a second time window different from the first time window.

20. The non-transitory computer readable medium of claim 19 , wherein the computer code, when executed by the processor, further implements the method of processing source data by generating the first child partition by:

loading the parent input data from an off-chip storage device to an on-chip storage device;

generating a partition of the parent input data via the on-chip storage device; and

storing the generated first child partition in the off-chip storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2020
From: JAIYEOBA, OLUWOLE; ELYASI, NIMA; CHOI, CHANGHO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 053346/0210 →
Continuity (3)
Provisional Application 62976296 · Feb 13, 2020
Provisional Application 63043679 · Jun 24, 2020
Related Publication 20210255793A1 · Aug 19, 2021