IP Library › Granted Patent US 12,461,674
Granted Patent B2
US 12,461,674 · App. 18/715,367 · Granted Nov 4, 2025

Many-core definable distributed shared storage structure

Inventors: Liguo Song (Beijing, CN); Liang Wang (Beijing, CN); Lei Chen (Beijing, CN); Hui Qin (Beijing, CN); Hongchao Zheng (Beijing, CN); Tongde Li (Beijing, CN); Chunqing Yu (Beijing, CN)
Assignees: BEIJING MICROELECTRONICS TECHNOLOGY ISTITUTE; BEIJING MXTRONICS TECHNOLOGY CO., LTD
G06F3/0635G06F3/061G06F3/0683
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,461,674
App. No.
18/715,367
Granted
Nov 4, 2025
Kind
B2
Abstract

Provided is a many-core definable distributed shared storage structure including: a plurality of routing units, a plurality of processor cores, a plurality of the network interface units, and a plurality of memory modules. Each network interface unit includes a configuration package parsing unit, a data packet assembling/parsing unit, and a routing table. The configuration package parsing unit parses a configuration package acquired from the routing unit by judging an operation type by a packet header: extracting address information and data information in the configuration package; and combining the operation type, the address information and the data information, to obtain and output a routing configuration instruction and a routing control instruction to the routing table. The routing table supports judgment and query, in response to the address signal, of a physical coordinate position of a destination memory module, and provides said physical coordinate position for the data packet assembling/parsing unit.

Claims (64)

1 . A many-core definable distributed shared storage structure, comprising:

an internal data bus system, comprising a transverse bidirectional data line, a longitudinal bidirectional data line, and a processor core storage access bus;

a plurality of routing units, each arranged at an intersection of the transverse bidirectional data line and the longitudinal bidirectional data line, and configured to transmit data;

a plurality of processor cores, each connected to a corresponding routing unit via a corresponding network interface unit;

a plurality of network interface units, each connected to a corresponding routing unit through a corresponding processor core storage access bus; and

a plurality of memory modules, each connected to a corresponding routing unit directly,

wherein the plurality of the memory modules constitute a storage structure system inside a many-core processor,

wherein each network interface unit comprises: a configuration package parsing unit, a data packet assembling/parsing unit, and a routing table,

wherein the configuration package parsing unit is configured to parse a configuration package acquired from the routing unit, wherein the configuration package is parsed by: judging an operation type by a packet header; extracting address information and data information in the configuration package; and combining the operation type, the address information and the data information, to obtain and output a routing configuration instruction and a routing control instruction to the routing table, wherein

the routing configuration instruction comprises the address information, the data information and a first writing signal;

the routing control instruction comprises memory module grouping flag information, memory module ping pong reading and writing control information, and a second writing signal,

wherein the data packet assembling/parsing unit is responsible for data format conversion between the processor core and the corresponding routing unit connected thereto, to obtain a valid data by parsing a data packet acquired from the corresponding routing unit; and

wherein the data packet assembling/parsing unit is configured to

convert (1) and (2) to a network-on-chip transmittable data packet: (1) a reading and writing data output from the processor cores; and (2) a physical coordinate position of a destination memory module acquired from the routing table, and

output the network-on-chip transmittable data packet to the corresponding routing unit,

wherein the packet header of the data packet comprises the physical coordinate position of the destination memory module acquired from the routing table,

wherein the routing table is configured to support judgment and query, in response to the address signal output from the processor core, of a physical coordinate position of a destination memory module corresponding to said address signal, and to provide said physical coordinate position for the data packet assembling/parsing unit;

wherein all fields in the routing table are written or changed in line with the routing configuration instruction; and

wherein a routing control field in the routing table is written or changed in line with the routing control instruction.

2 . The many-core definable distributed shared storage structure according to claim 1 , wherein the routing table comprises:

a plurality of routing lookup rows, each routing lookup row comprises the routing control field, a routing arbitration field, and a routing destination field, wherein the routing control field, the routing arbitration field, and the routing destination field in the routing lookup row are set based on the routing configuration instruction;

an address arbitration unit, configured to

for the n th routing lookup row with the routing control field having a valid bit of ‘1’, wherein n=1, 2, 3, . . . , N, wherein N represents the total number of the routing lookup rows with the routing control field having the valid bit of ‘1’:

subject the address signal output from the processor core and a valid address flag bit of the routing arbitration field of the n th routing lookup row to a bitwise logical operation;

compare an operational result with a valid address value bit of the routing arbitration field;

set an address matching flag signal of the n th routing lookup row as ‘1’ in response to consistent comparison; and

set the address matching flag signal of the n th routing lookup row as ‘0’ in response to inconsistent comparison;

a priority judgment unit, configured to

in the case that the address matching flag signal of the n th routing lookup row is ‘1’:

output a priority flag signal of ‘10’ for the n th routing lookup row, in response to a reading signal output from the processor core and a ping pong reading flag bit both being ‘1’; or

output the priority flag signal of ‘10’ for the n th routing lookup row, in response to a writing signal output from the processor core and a ping pong writing flag bit both being ‘1’; or

otherwise, output the priority flag signal of ‘01’ for the n th routing lookup row;

in the case that the address matching flag signal of the n th routing lookup row is ‘0’:

output the priority flag signal of ‘00’ for the n th routing lookup row,

wherein the priority flag signal is a 2-bit signal line, where a high bit setting as ‘1’ indicates that the routing destination field of the corresponding routing lookup row is at high priority; a low bit setting as ‘1’ indicates that the routing destination field of the corresponding routing lookup row is at low priority; and

an address group matching unit, serving as a combinatory logic unit, configured to

compare whether an address group flag bit in the routing control field of each routing lookup row is consistent with a data bit representing an address group in the routing control instruction; and

extract routing control field modifying information from the routing control instruction, and output the same to the corresponding routing lookup row, in response to consistent comparison.

3 . The many-core definable distributed shared storage structure according to claim 2 , wherein

the routing control field comprises the valid bit, the address group flag bit, the ping pong reading flag bit, the ping pong writing flag bit, and an ordinary operation flag bit;

in accordance with the routing configuration instruction, the address group flag bits of the routing lookup rows belonging to one same group are set to have a same value;

with a routing table control instruction, these routing lookup rows all are set to be valid or invalid, and modified for the ping pong reading flag bit and the ping pong writing flag bit both; and

the routing arbitration field comprises the valid address flag bit and the valid address value bit;

in the case that a certain bit in the valid address flag bit is set as ‘1’, a value of the valid address value bit at the position corresponding to said certain bit is valid,

when the address signal output from the processor core is of an address value at said certain bit being consistent with the value of the valid address value bit, a matched address is indicated, and the address signal output from the processor core is in the current routing lookup row,

otherwise when the address signal output from the processor core is of an address value at said certain bit being inconsistent with the value of the valid address value bit, an unmatched address is indicated, and the address signal output from the processor core is not in the current routing lookup row;

the routing destination field stores the physical coordinate position of the memory module.

4 . The many-core definable distributed shared storage structure according to claim 3 , wherein in the routing control field,

the valid bit indicates whether the current routing lookup row is valid;

the address group flag bit is configured to unify the memory modules defined by several routing lookup rows into a group of address definition system, for centralized control;

the ping pong reading flag bit and the ping pong writing flag bit are configured to distinguish the physical coordinate position of the destination memory module in the case of a reading access and the physical coordinate position of the destination memory module in the case of a writing access.

5 . The many-core definable distributed shared storage structure according to claim 3 , wherein the valid address flag bit is of a first bit width consistent with a second bit width of the valid address value bit, for the routing arbitration field.

6 . The many-core definable distributed shared storage structure according to claim 5 , wherein

the valid address flag bit of the routing arbitration field is of the first bit width of 16-bit, 32-bit, or 64-bit; and

the valid address value bit of the routing arbitration field is of the second bit width of 16-bit, 32-bit, or 64-bit.

7 . The many-core definable distributed shared storage structure according to claim 3 , wherein the valid address value bit is of the second bit width consistent with a third bit width of the address signal output from the processor core.

8 . The many-core definable distributed shared storage structure according to claim 3 , wherein information acquired from the routing table and provided for the data packet assembling/parsing unit further comprises the priority flag signal,

wherein in the routing table, the routing destination field in the routing lookup row with the priority flag signal ‘01’ is set as the low bit, while the routing destination field in the routing lookup row with the priority flag signal ‘10’ is set as the high bit; and a destination physical coordinate combination signal is formed and provided for the data packet assembling/parsing unit.

9 . The many-core definable distributed shared storage structure according to claim 3 , wherein

the physical coordinate position stored in the routing destination field is a two-dimensional rectangular coordinate value, in response to the many-core processor being of a two-dimensional topology structure; and

the physical coordinate position stored in the routing destination field is a three-dimensional rectangular coordinate value, in response to the many-core processor being of a three-dimensional topology structure.

10 . The many-core definable distributed shared storage structure according to claim 3 , wherein

each routing table comprises a plurality of routing lookup rows definable by a software, and

correspondence is established between a processor core access storage address and the destination memory module through the plurality of routing lookup rows, forming the many-core definable distributed shared storage structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2024
From: SONG, LIGUO; WANG, LIANG; CHEN, LEI; QIN, HUI; ZHENG, HONGCHAO; LI, TONGDE; YU, CHUNQING
To: BEIJING MICROELECTRONICS TECHNOLOGY INSTITUTE; BEIJING MXTRONICS TECHNOLOGY CO., LTD
Reel/Frame 068134/0230 →
Priority Claims (1)
CN 202111452275.5 · Dec 1, 2021 · national
Continuity (1)
Related Publication 20250028465A1 · Jan 23, 2025
References Cited (15)
US 7154849B2 · Yazaki · 2006 [cited by examiner]
US 11487695B1 · Radhakrishnan · 2022 [cited by examiner]
US 20100158005A1 · Mukhopadhyay · 2010 [cited by examiner]
US 20110029734A1 · Pope · 2011 [cited by examiner]
US 20130343387A1 · Stroud · 2013 [cited by examiner]
US 20140143520A1 · Dobbs · 2014 [cited by examiner]
US 20180198705A1 · Wang · 2018 [cited by examiner]
CN 105207957A · 2015 [cited by applicant]
CN 113704169A · 2021 [cited by applicant]
CN 114297097A · 2022 [cited by applicant]
K. Zhang and Y. Chu, “Design of Distributed Storage Multi-core System Based on NoC Architecture,” 2019 3rd International Conference on Electronic Information Technology and Computer Engineering (EITCE), Xiamen, China, 2… [cited by examiner]
R. Kumar, V. Zyuban and D. M. Tullsen, “Interconnections in multi-core architectures: understanding mechanisms, overheads and scaling,” 32nd International Symposium on Computer Architecture (ISCA'05), Madison, WI, USA, … [cited by examiner]
P. Gratz et al., “On-Chip Interconnection Networks of the TRIPS Chip,” in IEEE Micro, vol. 27, No. 5, pp. 41-50, Sep.-Oct. 2007. [cited by examiner]
International Search Report corresponding to PCT Application No. PCT/CN2022/091905, mailed Aug. 5, 2022. (Chinese and English language document). (19 pages). [cited by applicant]
Yang Yong, Structure Study of Storage and Transpose in Heterogeneous Multicore SoC, Information Technology Collection of Full-text Database of Chinese Excellent Master's Dissertations, Hefei University of Technology, Ma… [cited by applicant]