IP Library Granted Patent US 12,517,769
Granted Patent B2
US 12,517,769 · App. 18/389,680 · Granted Jan 6, 2026

Parallel overlapping burst load operations

Inventors: Hyunho Kim (Seongnam-si, KR); Jinseok Kim (Seongnam-si, KR); Jinwook Oh (Seongnam-si, KR)
Assignee: REBELLIONS INC.
G06F9/5083G06F9/30043G06F9/3824G06F9/3834G06F9/3851G06F9/3885G06F9/3856G06F9/3867
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 12,517,769
App. No.
18/389,680
Granted
Jan 6, 2026
Kind
B2
Abstract

A method for processing tasks in parallel is performed by at least one processor, and includes performing a first task associated with a first instruction, determining whether the first instruction is a burst load instruction, in response to determining that the first instruction is the burst load instruction, acquiring a second instruction, and performing a second task associated with the acquired second instruction, in which the first task and the second task are performed in parallel.

Claims (40)

1 . A method for processing tasks in parallel, the method being performed by at least one load unit of a processor and comprising:

fetching a first instruction;

determining whether the first instruction is a burst load instruction;

in response to determining that the first instruction is a burst load instruction, fetching a second instruction, wherein the first instruction is a first burst load instruction for loading data to a first destination, the second instruction is a second burst load instruction for loading data to a second destination different from the first destination, the first burst load instruction is associated with a first task, the second burst load instruction is associated with a second task, and the second task is independently executable from the first task;

determining whether a burst size of the first burst load instruction is greater than a predetermined threshold;

in response to determining that the burst size of the first burst load instruction is greater than a predetermined threshold, performing the second task in parallel with the first task, wherein performing the first task includes generating a first set of requests, performing the second task includes generating a second set of requests based on the burst size of the second burst load instruction, a duration during which the second set of requests is generated is not overlapped with a duration during which the first set of requests is generated, and the duration during which the second set of requests is generated is overlapped with a waiting time occurring when reading data based on the first set of requests; and

in response to determining that the burst size of the first burst load instruction is less than the predetermined threshold, performing the first task without performing the second task in parallel with the first task.

2 . The method according to claim 1 , wherein a difference between the burst size of the second burst load instruction and the burst size of the first burst load instruction is within a threshold range.

3 . The method according to claim 2 , wherein the second task is generated in a pipeline structure that includes a plurality of instructions associated with the generating the second set of requests and a plurality of instructions associated with executing the second set of requests.

4 . The method according to claim 2 , wherein the generating the second set of requests includes:

identifying the second destination associated with the second burst load instruction; and

storing the generated second set of requests in a request queue, which is associated with the identified second destination, of the plurality of request queues.

5 . The method according to claim 4 , further comprising,

after the generating the second set of requests:

identifying a storage area, which is associated with the identified second destination, of a plurality of storage areas; and

storing, in the identified storage area, data issued based on the requests stored in the request queue associated with the second destination.

6 . The method according to claim 1 , wherein the second task starts after a predetermined cycle from a cycle in which the first task starts.

7 . The method according to claim 1 , further comprising,

after the performing the second task:

acquiring a third instruction; and

performing a third task associated with the acquired third instruction,

wherein the first task and the third task are performed in parallel.

8 . The method according to claim 7 , wherein the second task and the third task start before a fourth task for modulating data written in a cache is performed.

9 . A processing system comprising:

a memory that stores data associated with at least one instruction; and

at least one load unit of a processor configured to perform an access operation to the memory,

wherein the at least one load unit is configured to:

fetching a first instruction;

determining whether the first instruction is a burst load instruction;

in response to determining that the first instruction is a burst load instruction, fetching a second instruction, wherein the first instruction is a first burst load instruction for loading data to a first destination, the second instruction is a second burst load instruction for loading data to a second destination different from the first destination, the first burst load instruction is associated with a first task, the second burst load instruction is associated with a second task, and the second task is independently executable from the first task,

determine whether a burst size of the first burst load instruction is greater than a predetermined threshold,

in response to determining that the burst size of the first burst load instruction is greater than a predetermined threshold, perform the second task in parallel with the first task, wherein performing the first task includes generating a first set of requests, performing the second task includes generating a second set of requests based on the burst size of the second burst load instruction, a duration during which the second set of requests is generated is not overlapped with a duration during which the first set of requests is generated, and the duration during which the second set of requests is generated is overlapped with a waiting time occurring when reading data based on the first set of requests, and

in response to determining that the burst size of the first burst load instruction is less than the predetermined threshold, perform the first task without performing the second task in parallel.

10 . The processing system according to claim 9 , wherein, in response to determining that the burst size of the first burst load instruction is greater than a predetermined threshold, the at least one load unit is configured to fetch an instruction associated with the second task and decode an instruction associated with the fetched second task.

11 . The processing system according to claim 9 , wherein a difference between the burst size of the first burst load instruction and the burst size of the second burst load instruction is within a threshold range.

12 . The processing system according to claim 11 , wherein the second task is generated in a pipeline structure that includes a plurality of instructions associated with the generating the second set of requests and a plurality of instructions associated with executing the second set of requests.

13 . The processing system according to claim 11 , wherein the at least one load unit is configured to identify the second destination associated with the second task and store the generated second set of requests in a request queue, which is associated with the identified second destination, of a plurality of request queues.

14 . The processing system according to claim 13 , wherein the at least one load unit is configured to identify a storage area, which is associated with the identified second destination, of a plurality of storage areas and store, in the identified storage area, data issued based on the second set of requests stored in the request queue associated with the second destination.

15 . The processing system according to claim 9 , wherein the at least one load unit is configured to additionally acquire an instruction and perform a third task associated with the acquired instruction, and perform the third task and the first task in parallel.

16 . The processing system according to claim 15 , wherein the at least one load unit is configured to start the second task and the third task before performing a fourth task for modulating data written to a cache.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded May 22, 2025
From: REBELLIONS INC.; SAPEON KOREA INC.
To: REBELLIONS INC.
Reel/Frame 071349/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: KIM, HYUNHO; KIM, JINSEOK; OH, JINWOOK
To: REBELLIONS INC.
Reel/Frame 065916/0718 →
Priority Claims (1)
KR 10-2023-0035788 · Mar 20, 2023 · national
Continuity (1)
Related Publication 20240320059A1 · Sep 26, 2024
References Cited (34)
US 5557578A · Kelly · 1996 [cited by examiner]
US 5715476A · Kundu · 1998 [cited by examiner]
US 6085300A · Sunaga · 2000 [cited by examiner]
US 6205084B1 · Akaogi · 2001 [cited by examiner]
US 6321310B1 · McCarthy · 2001 [cited by examiner]
US 6330636B1 · Bondurant · 2001 [cited by examiner]
US 6513089B1 · Hofmann · 2003 [cited by examiner]
US 6654848B1 · Cleveland · 2003 [cited by examiner]
US 6756986B1 · Kuo · 2004 [cited by examiner]
US 6854040B1 · Bartoli · 2005 [cited by examiner]
US 7383424B1 · Olgiati · 2008 [cited by examiner]
US 7984204B2 · Butter · 2011 [cited by examiner]
US 9653151B1 · Ong · 2017 [cited by examiner]
US 10275352B1 · Balakrishnan · 2019 [cited by examiner]
US 10296230B1 · Balakrishnan · 2019 [cited by examiner]
US 20080165589A1 · Hung · 2008 [cited by examiner]
US 20080301391A1 · Oh · 2008 [cited by examiner]
US 20100061156A1 · Sunaga · 2010 [cited by examiner]
US 20110161637A1 · Sihn et al. · 2011 [cited by applicant]
US 20130332681A1 · Miller · 2013 [cited by examiner]
US 20140047155A1 · Zheng · 2014 [cited by examiner]
US 20180225124A1 · Gupta · 2018 [cited by examiner]
US 20190050316A1 · Kim · 2019 [cited by examiner]
US 20190155759A1 · Connolly · 2019 [cited by examiner]
US 20190196996A1 · Balakrishnan · 2019 [cited by examiner]
US 20190205244A1 · Smith · 2019 [cited by examiner]
US 20210124582A1 · Kerr · 2021 [cited by examiner]
US 20210173702A1 · Garg · 2021 [cited by examiner]
US 20210294515A1 · Kumar · 2021 [cited by examiner]
US 20230289063A1 · Hsieh · 2023 [cited by examiner]
US 20230305744A1 · Muchherla · 2023 [cited by examiner]
JP 5298091A · 1993 [cited by applicant]
KR 1020110075297A · 2011 [cited by applicant]
Office Action for KR 10-2023-0035788 by Korean Intellectual Property Office dated Feb. 26, 2025. [cited by applicant]