IP Library › Granted Patent US 11,436,046
Granted Patent B2
US 11,436,046 · App. 16/503,652 · Granted Sep 6, 2022

Electronic device with memory processor-based multiprocessing architecture and operation method thereof

Inventor: Kuan-Chow Chen (Hsinchu, TW)
Assignee: Powerchip Semiconductor Manufacturing Corporation
G06F9/4881G06F9/3877G06F9/5038G06F9/542
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,436,046
App. No.
16/503,652
Granted
Sep 6, 2022
Kind
B2
Abstract

A memory processor-based multiprocessing architecture and an operation method thereof are provided. The memory processor-based multiprocessing architecture includes a main processor and a plurality of memory chips. The memory chips include a plurality of processing units and a plurality of data storage areas. The processing units and the data storage areas are respectively disposed one-to-one in the memory chips. The data storage areas are configured to share a plurality of sub-datasets of a large dataset. The main processor assigns a computing task to one of the processing units of the memory chips, so that the one of the processing units accesses the corresponding data storage area to perform the computing task according to a part of the sub-datasets.

Claims (44)

1. A memory processor-based multiprocessing architecture, comprising:

a main processor, comprising a data index mechanism and a job queue; and

a plurality of memory chips, coupled to the main processor and comprising a plurality of processing units and a plurality of data storage areas, wherein the processing units and the data storage areas are respectively disposed one-to-one in the memory chips, the data storage areas are configured to share a plurality of sub-datasets of a large dataset,

wherein the main processor fetches a computing task corresponding a transaction nonce from the job queue, and the main processor determines that a corresponding hash code is stored in one of the data storage areas of the memory chips through looking up the data index mechanism according to the transaction nonce so as to assign the computing task to one of the processing units of the memory chips corresponding to the one of the data storage areas storing the corresponding hash code according to the data index mechanism, so that the one of the processing units accesses the corresponding data storage area to perform a corresponding hash algorithm of the computing task to obtain the corresponding hash code according to a part of the sub-datasets,

wherein the processing units respectively have a processing in memory architecture, and the data index mechanism is a lookup table.

2. The multiprocessing architecture according to claim 1 , wherein the main processor sequentially assigns a plurality of computing tasks to at least one of the processing units of the memory chips according to the job queue and the data index mechanism.

3. The multiprocessing architecture according to claim 2 , wherein each of the processing units comprises a task queue, and when the one of the processing units sequentially receives more than one computing tasks, the more than one computing tasks are sequentially queued into the task queue of the one of the processing units, so that the one of the processing units sequentially performs the computing tasks according to the task queue.

4. The multiprocessing architecture according to claim 1 , wherein the one of the processing units searches whether a specific sub-dataset corresponding to the computing task exists in the part of the sub-datasets in the corresponding data storage area, so as to continuously perform the computing task according to the specific sub-dataset.

5. The multiprocessing architecture according to claim 1 , wherein when the one of the processing units successfully performs the computing task, the one of the processing units correspondingly returns a computing result to the main processor so that the main processor continues to assign another computing task.

6. The multiprocessing architecture according to claim 1 , wherein when the one of the processing units fails to successfully perform the computing task, the one of the processing units falls back the computing task to the main processor, and the main processor re-assigns the computing task to the others of the processing units until another one of the processing units successfully performs the computing task.

7. The multiprocessing architecture according to claim 1 , wherein the main processor time-divisionally communicates with the memory chips via a first channel.

8. The multiprocessing architecture according to claim 7 , wherein the processing units respectively access the data storage areas one-to-one via a plurality of second channels, and a bandwidth of each of the second channels is greater than a bandwidth of the first channel.

9. The multiprocessing architecture according to claim 1 , wherein the number of the memory chips is determined according to a data quantity of the large dataset.

10. The multiprocessing architecture according to claim 1 , wherein the main processor is coupled to another plurality of memory chips through a wireless communication manner, a peer-to-peer transmission manner or a slot, so as to selectively assign the computing task to one of the plurality of memory chips and another plurality of memory chips.

11. The multiprocessing architecture according to claim 1 , wherein the processing units and the corresponding data storage areas are respectively disposed one-to-one in the same memory chip or different memory chips.

12. The multiprocessing architecture according to claim 1 , wherein the main processor assigns a plurality of computing tasks of a same computing event to the processing units so that the processing units perform the computing tasks according to the assignment.

13. The multiprocessing architecture according to claim 1 , wherein the main processor simultaneously assigns a plurality of computing tasks of a plurality of computing events to the processing units so that the processing units independently perform the computing tasks of the computing events.

14. The multiprocessing architecture according to claim 1 , wherein each of the processing units respectively comprises a logical operation unit.

15. An operation method of a memory processor-based multiprocessing architecture, comprising:

by a main processor, assigning a computing task corresponding a transaction nonce to one of a plurality of processing units of a plurality of memory chips;

by the one of the processing units, correspondingly accessing one of a plurality of data storage areas to fetch a part of a plurality of sub-datasets of a large dataset; and

by the one of the processing units, performing a corresponding hash algorithm of the computing task to obtain a corresponding hash code according to the part of the sub-datasets,

wherein the step of, by the main processor, assigning the computing task to the one of the processing units of the memory chips comprises:

by the main processor, determining to fetch the computing task from a job queue, and determining that the corresponding hash code is stored in one of the data storage areas of the memory chips through looking up the data index mechanism according to the transaction nonce so as to assign the computing task to the one of the processing units of the memory chips corresponding to the one of the data storage areas storing the corresponding hash code according to a data index mechanism,

wherein the processing units respectively have a processing in memory architecture, and the data index mechanism is a lookup table.

16. The operation method according to claim 15 , wherein the step of, by the main processor, assigning the computing task to the one of the processing units of the memory chips further comprises:

by the main processor, sequentially assigning a plurality of computing tasks to at least one of the processing units of the memory chips according to the job queue and the data index mechanism.

17. The operating method according to the claim 16 , further comprising:

when the one of the processing units sequentially receives more than one computing tasks, sequentially queuing the more than one computing tasks into the task queue of the one of the processing units, so that the one of the processing units sequentially performs the computing tasks according to the task queue.

18. The operation method according to claim 15 , wherein the step of, by the one of the processing units, performing the computing task according to the part of the sub-datasets comprises:

by the one of the processing units, searching whether a specific sub-dataset corresponding to the computing task exists in the part of the sub-datasets in the corresponding data storage area to continuously perform the computing task according to the specific sub-dataset.

19. The operation method according to claim 15 , wherein the step of, by the one of the processing units, performing the computing task according to the part of the sub-datasets comprises:

wherein when the one of the processing units successfully performs the computing task, by the one of the processing units, correspondingly returning a computing result to the main processor so that the main processor continues to assign another computing task.

20. The operation method according to claim 15 , wherein the step of, by the one of the processing units, performing the computing task according to the part of the sub-datasets comprises:

wherein when the one of the processing units fails to successfully continue to perform the computing task, by the one of the processing units, falling back the computing task to the main processor; and

by the main processor, sequentially re-assigning the computing task to the others of the processing units until another one of the processing units successfully performs the computing task.

21. The operation method according to claim 15 , wherein the main processor time-divisionally communicates with the memory chips via a first channel.

22. The operation method according to claim 21 , wherein the processing units respectively access the data storage areas one-to-one via a plurality of second channels, and a bandwidth of each of the second channels is greater than a bandwidth of the first channel.

23. The operation method according to claim 15 , wherein the number of the memory chips is determined according to a data quantity of the large dataset.

24. The operation method according to claim 15 , wherein the main processor is coupled to another plurality of memory chips through a wireless communication manner, a peer-to-peer transmission manner or a slot, so as to selectively assign the computing task to one of the plurality of memory chips and another plurality of memory chips.

25. The operation method according to claim 15 , wherein the processing units and the corresponding data storage areas are respectively disposed one-to-one in the same memory chip or different memory chips.

26. The operation method according to claim 15 , wherein the main processor assigns a plurality of computing tasks of a same computing event to the processing units so that the processing units perform the computing tasks according to the assignment.

27. The operation method according to claim 15 , wherein the main processor simultaneously assigns a plurality of computing tasks of a plurality of computing events to the processing units so that the processing units independently perform the computing tasks of the computing events.

28. The operation method according to claim 15 , wherein each of the processing units respectively comprises a logical operation unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2019
From: CHEN, KUAN-CHOW
To: POWERCHIP SEMICONDUCTOR MANUFACTURING CORPORATION
Reel/Frame 049674/0083 →
Priority Claims (1)
TW 108110441 · Mar 26, 2019 · national
Continuity (2)
Provisional Application 62744140 · Oct 11, 2018
Related Publication 20200117505A1 · Apr 16, 2020