IP Library › Granted Patent US 12,566,716
Granted Patent B2
US 12,566,716 · App. 18/786,416 · Granted Mar 3, 2026

Systems and methods for timestep shared memory multiprocessing based on tracking table mechanisms

Inventors: Douglas Joseph (Austin, TX); Thomas Labonte (Marlborough, MA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/1072G06F2212/622
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,566,716
App. No.
18/786,416
Granted
Mar 3, 2026
Kind
B2
Abstract

Provided are systems, methods, and apparatuses for timestep shared memory multiprocessing based on tracking table mechanisms. In one or more examples, the systems, devices, and methods include determining a first node writes application data to a memory, obtaining a data address of the memory associated with the application data, and generating an index of the data address based on hashing the data address in a hash function. In one or more examples, the systems, devices, and methods include generating a tracking entry based on the first node writing application data to the memory, storing the index and the tracking entry in a bucket of a hash table, and detecting an access violation to the application data based on the tracking entry indicating a node other than the first node modifies the application data.

Claims (49)

1 . A method comprising:

determining a first node writes application data to a memory;

obtaining a data address of the memory associated with the application data;

generating an index of the data address based on hashing the data address in a hash function;

generating a tracking entry based on the first node writing application data to the memory;

storing the index and the tracking entry in a bucket of a hash table; and

detecting an access violation to the application data based on the tracking entry indicating a node other than the first node modifies the application data.

2 . The method of claim 1 , wherein the tracking entry includes an identifier of the first node, indicating the first node wrote the application data to the memory.

3 . The method of claim 1 , further comprising monitoring the application data based on a timestep, wherein the application data is written within a time period of the timestep.

4 . The method of claim 3 , further comprising detecting, based on the tracking entry, an access violation when a node other than the first node modifies the application data during the timestep.

5 . The method of claim 1 , wherein the application data comprises floating point data of a force, a velocity, an acceleration, or a position of an object.

6 . The method of claim 1 , wherein:

the memory is a memory of a system on chip (SoC), the SoC including the first node or a second node different from the first node, and

the data address is obtained from a logical circuit of the SoC.

7 . The method of claim 1 , further comprising storing a write pointer to a first configuration status register, the write pointer pointing to a next available bucket of the hash table.

8 . The method of claim 1 , further comprising:

storing a start of allocation to a second configuration status register; and

storing an end of allocation to a third configuration status register, wherein the start of allocation points to a starting bucket of the hash table and the end of allocation point to an ending bucket of the hash table.

9 . The method of claim 1 , further comprising adding a collision heap allocation based on determining a fill threshold of the hash table is satisfied.

10 . The method of claim 9 , further comprising:

identifying a collision associated with a second bucket of the hash table;

storing a second index and a second tracking entry in a bucket of the collision heap allocation; and

linking the second bucket of the hash table to the bucket of the collision heap allocation.

11 . A device comprising:

a memory; and

at least one processor coupled with the memory configured to:

determine a first node writes application data to the memory;

obtain a data address of the memory associated with the application data;

generate an index of the data address based on hashing the data address in a hash function;

generate a tracking entry based on the first node writing application data to the memory;

store the index and the tracking entry in a bucket of a hash table; and

detect an access violation to the application data based on the tracking entry indicating a node other than the first node modifies the application data.

12 . The device of claim 11 , wherein the tracking entry includes an identifier of the first node, indicating the first node wrote the application data to the memory.

13 . The device of claim 11 , wherein the at least one processor is configured to monitor the application data based on a timestep, wherein the application data is written within a time period of the timestep.

14 . The device of claim 13 , wherein the at least one processor is configured to detect, based on the tracking entry, an access violation when a node other than the first node modifies the application data during the timestep.

15 . The device of claim 11 , wherein the application data comprises floating point data of a force, a velocity, an acceleration, or a position of an object.

16 . The device of claim 11 , wherein:

the memory is a memory of a system on chip (SoC), the SoC including the first node or a second node different from the first node, and

the data address is obtained from a logical circuit of the SoC.

17 . The device of claim 11 , wherein the at least one processor is configured to store a write pointer to a first configuration status register, the write pointer pointing to a next available bucket of the hash table.

18 . A non-transitory computer-readable medium storing code that comprises instructions executable by a processor of a system on chip (SoC) to:

determine a first node writes application data to a memory;

obtain a data address of the memory associated with the application data;

generate an index of the data address based on hashing the data address in a hash function;

generate a tracking entry based on the first node writing application data to the memory;

store the index and the tracking entry in a bucket of a hash table; and

detect an access violation to the application data based on the tracking entry indicating a node other than the first node modifies the application data.

19 . The non-transitory computer-readable medium of claim 18 , wherein the tracking entry includes an identifier of the first node, indicating the first node wrote the application data to the memory.

20 . The non-transitory computer-readable medium of claim 18 , wherein the code includes further instructions executable by the processor to cause the SoC to monitor the application data based on a timestep, wherein the application data is written within a time period of the timestep.

Continuity (2)
Provisional Application 63571431 · Mar 28, 2024
Related Publication 20250307175A1 · Oct 2, 2025
References Cited (14)
US 9619398B1 · Xu · 2017 [cited by examiner]
US 10482129B1 · Blott · 2019 [cited by examiner]
US 11288252B2 · Kimura · 2022 [cited by applicant]
US 11556482B1 · Hunt · 2023 [cited by examiner]
US 11868348B2 · Chavan et al. · 2024 [cited by applicant]
US 11921722B2 · Chavan et al. · 2024 [cited by applicant]
US 20160291891A1 · Cheriton · 2016 [cited by examiner]
US 20170046304A1 · Chen · 2017 [cited by examiner]
US 20200233760A1 · Wu · 2020 [cited by examiner]
US 20210124686A1 · Kamran · 2021 [cited by examiner]
US 20210294785A1 · Jang et al. · 2021 [cited by applicant]
US 20240007276A1 · Piller · 2024 [cited by examiner]
US 20240028243A1 · Nowatzyk et al. · 2024 [cited by applicant]
CN 113836366A · 2021 [cited by applicant]