IP Library › Granted Patent US 12,596,649
Granted Patent B2
US 12,596,649 · App. 19/260,222 · Granted Apr 7, 2026

Memory access device and operating method thereof

Inventor: Seungcheol Baek (Seoul, KR)
Assignee: REBELLIONS INC.
G06F12/0895G06F12/084G06F13/1673
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,596,649
App. No.
19/260,222
Granted
Apr 7, 2026
Kind
B2
Abstract

Provided is an operating method of a memory access device, the operating method including allowing an access of a first processing element to a plurality of data lines of a memory based on a first command, identifying a number of accesses of the first processing element to the plurality of data lines, and when a number of accesses of the first processing element to a first data line among the plurality of data lines reaches a predetermined number of accesses, allowing an access of a second processing element to the first data line based on a second command.

Claims (51)

1 . An operating method of a memory access device, the operating method comprising:

allowing an access of a first processing element to a plurality of data lines of a memory based on a first command;

identifying a number of accesses of the first processing element to the plurality of data lines; and

when a number of accesses of the first processing element to a first data line among the plurality of data lines reaches a predetermined number of accesses, allowing an access of a second processing element to the first data line based on a second command,

wherein the allowing of the access of the first processing element comprises:

storing first data of an external memory in the plurality of data lines based on the first command; and

allowing an access of the first processing element to the plurality of data lines in which the first data is stored, and

wherein the allowing of the access of the second processing element comprises:

when the number of accesses of the first processing element to the first data line among the plurality of data lines reaches the predetermined number of accesses, storing a portion of data among second data of the external memory in the first data line based on the second command; and

allowing an access of the second processing element to the first data line in which the portion of data is stored.

2 . The operating method of claim 1 , further comprising when a number of accesses of the first processing element to a second data line among the plurality of data lines reaches the predetermined number of accesses, allowing an access of the second processing element to the second data line based on the second command.

3 . The operating method of claim 1 , wherein the memory comprises:

the plurality of data lines; and

a first tag area and a second tag area storing information corresponding to each of the plurality of data lines,

wherein the first tag area stores information indicating whether to allow an access of a processing element for each data line,

wherein the second tag area stores information indicating a number of accesses of a processing element for each data line,

wherein the allowing of the access of the first processing element comprises:

allowing the access of the first processing element to the plurality of data lines by changing information of the first tag area, and

wherein the identifying comprises:

identifying the number of accesses of the first processing elements to each of the plurality of data lines by monitoring the second tag area.

4 . The operating method of claim 1 , further comprising:

storing a first data portion of first data of an external memory in a predetermined number of data lines among the plurality of data lines of the memory;

allowing an access of a processing element to the predetermined number of data lines;

identifying a number of accesses of the processing element to the predetermined number of data lines; and

when a number of accesses of the processing element to each of the predetermined number of data lines reaches the predetermined number of accesses, storing a second data portion of the first data of the external memory in the predetermined number of data lines, and allowing the access of the processing element to the predetermined number of data lines.

5 . The operating method of claim 1 , further comprising:

storing a first data portion of first data stored in the plurality of data lines of the memory, in a predetermined number of data lines among a plurality of data lines of an external memory; and

when a number of accesses of a processing element to each of the predetermined number of data lines reaches a second predetermined number of accesses, storing a second data portion of the first data in the predetermined number of data lines.

6 . The operating method of claim 1 , wherein the allowing of the access of the second processing element further comprises:

when a number of accesses of the first processing element to a second data line among the plurality of data lines reaches a second predetermined number of accesses, storing another portion of data among the second data of the external memory in the second data line based on the second command; and

allowing an access of the second processing element to the second data line in which the another portion of data is stored.

7 . The operating method of claim 1 , wherein the allowing of the access of the first processing element further comprises:

storing a first data portion of the first data of the external memory in a predetermined number of data lines among the plurality of data lines of the memory;

allowing an access of the first processing element to the predetermined number of data lines;

identifying a number of accesses of the first processing element to the predetermined number of data lines; and

when the number of accesses of the first processing element to each of the predetermined number of data lines reaches the predetermined number of accesses, storing a second data portion of the first data in the predetermined number of data lines and allowing the access of the first processing element to the predetermined number of data lines.

8 . The operating method of claim 1 , further comprising:

allowing an access of a processing element to the plurality of data lines of the memory based on a third command;

identifying a number of accesses of the processing element to the plurality of data lines; and

when a number of accesses of the processing element to the first data line of the plurality of data lines reaches the predetermined number of accesses, storing data stored in the first data line in an external memory.

9 . The operating method of claim 8 , further comprising when a number of accesses of the processing element to a second data line among the plurality of data lines reaches the predetermined number of accesses, storing data stored in the second data line in the external memory.

10 . The operating method of claim 1 , wherein the memory comprises a scratchpad memory.

11 . A non-transitory computer-readable recording medium comprising a program for performing the operating method of claim 1 on a computer.

12 . A memory access device comprising:

a buffer in which a first command and a second command are stored; and

a controller that allows an access of a first processing element to a plurality of data lines of a memory based on the first command by storing first data of an external memory in the plurality of data lines based on the first command and allowing an access of the first processing element to the plurality of data lines in which the first data is stored, identifies a number of accesses of the first processing element to the plurality of data lines, and when a number of accesses of the first processing element to a first data line among the plurality of data lines reaches a predetermined number of accesses, allows an access of a second processing element to the first data line based on the second command by storing a portion of data among second data of the external memory in the first data line based on the second command and allowing an access of the second processing element to the first data line in which the portion of data is stored.

13 . An accelerator comprising:

a memory;

a first processing element;

a second processing element; and

a memory access device that allows an access of the first processing element to a plurality of data lines of the memory based on a first command by storing first data of an external memory in the plurality of data lines based on the first command and allowing an access of the first processing element to the plurality of data lines in which the first data is stored, identifies a number of accesses of the first processing element to the plurality of data lines, and when a number of accesses of the first processing element to a first data line among the plurality of data lines reaches a predetermined number of accesses, allows an access of the second processing element to the first data line based on a second command by storing a portion of data among second data of the external memory in the first data line based on the second command and allowing an access of the second processing element to the first data line in which the portion of data is stored.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2025
From: BAEK, SEUNGCHEOL
To: REBELLIONS INC.
Reel/Frame 071616/0110 →
Priority Claims (1)
KR 10-2023-0002439 · Jan 6, 2023 · national
Continuity (2)
Continuation PCTKR2023005463 · Apr 21, 2023
Related Publication 20250335364A1 · Oct 30, 2025
References Cited (31)
US 6111793A · Ayukawa · 2000 [cited by examiner]
US 6766424B1 · Wilson · 2004 [cited by examiner]
US 8510514B2 · Kwon et al. · 2013 [cited by applicant]
US 9152547B2 · Lee et al. · 2015 [cited by applicant]
US 9176906B2 · Kwon et al. · 2015 [cited by applicant]
US 9720600B2 · Kawaba · 2017 [cited by examiner]
US 9761300B1 · Willcock · 2017 [cited by examiner]
US 9875191B2 · Chang et al. · 2018 [cited by applicant]
US 10387037B2 · Venkatesh · 2019 [cited by examiner]
US 11061820B2 · Speier · 2021 [cited by applicant]
US 11196746B2 · Karin · 2021 [cited by examiner]
US 11347551B2 · Walter et al. · 2022 [cited by applicant]
US 11429524B2 · Kumar · 2022 [cited by examiner]
US 11561711B2 · Kwon et al. · 2023 [cited by applicant]
US 11914517B2 · Blagodurov · 2024 [cited by examiner]
US 20090006876A1 · Fukatani · 2009 [cited by examiner]
US 20140181449A1 · Kwon · 2014 [cited by examiner]
US 20180074751A1 · Ngu · 2018 [cited by examiner]
US 20210064452A1 · Nigam · 2021 [cited by examiner]
US 20220050722A1 · Dugast · 2022 [cited by examiner]
US 20220100668A1 · Blagodurov · 2022 [cited by examiner]
EP 0604015A2 · 1994 [cited by examiner]
JP 201691475A · 2016 [cited by applicant]
KR 100895298B1 · 2009 [cited by applicant]
KR 1020140081162A · 2014 [cited by applicant]
KR 101615659B1 · 2016 [cited by applicant]
KR 101887288B1 · 2018 [cited by applicant]
KR 1020220032366A · 2022 [cited by applicant]
KR 1020220054389A · 2022 [cited by applicant]
V. Seshadri et al., “Gather-Scatter DRAM: In-DRAM address translation to improve the spatial locality of non-unit strided accesses,” 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Waikik… [cited by examiner]
International Search Report & Written Opinion for PCT/KR2023/005463 by Korean Intellectual Property Office dated Sep. 25, 2023. [cited by applicant]