IP Library › Granted Patent US 11,842,266
Granted Patent B2
US 11,842,266 · App. 17/140,940 · Granted Dec 12, 2023

Processing-in-memory (PIM) device, controller for controlling the PIM device, and PIM system including the PIM device and the controller

Inventor: Choung Ki Song (Yongin-si, KR)
Assignee: SK hynix Inc.
G06N3/063G06F7/523G06F7/5443
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,842,266
App. No.
17/140,940
Granted
Dec 12, 2023
Kind
B2
Abstract

A processing-in-memory (PIM) device includes a plurality of multiplication/accumulation (MAC) operators and a plurality of memory banks. The MAC operators are included in each of a plurality of channels. Each of the plurality of MAC operators performs a MAC arithmetic operation using weight data of a weight matrix. The memory banks are included in each of the plurality of channels and are configured to transmit the weight data of the weight matrix to the plurality of MAC operators. The weight data arrayed in one row of the weight matrix are stored into one row of each of the plurality of memory banks.

Claims (32)

1. A processing-in-memory (PIM) device comprising:

a plurality of multiplication/accumulation (MAC) operators included in each of a plurality of channels, wherein each of the plurality of MAC operators is configured to perform a MAC arithmetic operation using weight data of a weight matrix;

a plurality of memory banks included in each of the plurality of channels and configured to transmit the weight data of the weight matrix to the plurality of MAC operators; and

a plurality of global buffers disposed in the plurality of channels, respectively,

wherein in each of the plurality of channels, each of the plurality of global buffers is configured to transmit vector data of a vector matrix to each of the plurality of MAC operators, and

wherein the weight data arrayed in one row of the weight matrix are stored into one row of each of the plurality of memory banks.

2. The PIM device of claim 1 ,

wherein the weight data are comprised of elements of the weight matrix.

3. The PIM device of claim 1 ,

wherein, when a number of channels in the plurality of channels is ‘CHN’ and a number of memory banks in the plurality of memory banks disposed in each channel is ‘BKN’ (where, ‘CHN’ and ‘BKN’ are natural numbers which are equal to or greater than two), the weight data arrayed in first to (CHN×BKN) th rows of the weight matrix are stored into first rows of the memory banks in all of the plurality of channels.

4. The PIM device of claim 3 ,

wherein the weight data arrayed in (CHN×BKN+1) th to (2×CHN×BKN) th rows of the weight matrix are stored into second rows of the plurality of memory banks in all of the plurality of channels.

5. The PIM device of claim 4 ,

wherein in each of the plurality of memory banks, the weight data stored in the first row and the weight data stored in the second row are selected by the same column address.

6. The PIM device of claim 1 ,

wherein, when the weight matrix has ‘M’-number of rows and ‘N’-number of columns, a number of channels in the plurality of channels is ‘CHN’, and a number of memory banks in the plurality of memory banks in each of the plurality of channels is ‘BKN’, each of the memory banks has ‘M/(BKN×CHN)’-number of rows and the weight data arrayed in one of the rows of the weight matrix are stored into one of the rows of each of the memory banks (where, “M”, “N”, “CHN”, and “BKN” are natural numbers which are equal to or greater than two).

7. The PIM device of claim 1 ,

wherein in the one row of each of the plurality of memory banks, all of the remaining columns other than columns filled with the weight data are filled with a value of ‘0’.

8. A processing-in-memory (PIM) device comprising:

a plurality of multiplication/accumulation (MAC) operators included in each of a plurality of channels, wherein each of the plurality of MAC operators is configured to perform a MAC arithmetic operation using weight data of a weight matrix; and

a plurality of memory banks included in each of the plurality of channels and configured to transmit the weight data of the weight matrix to the plurality of MAC operators,

wherein the weight data arrayed in at least two rows of the weight matrix are stored into one row of each of the plurality of memory banks along a direction in which a column address increases.

9. The PIM device of claim 8 ,

wherein the weight data are comprised of elements of the weight matrix.

10. The PIM device of claim 8 , further comprising a plurality of global buffers disposed in the plurality of channels, respectively,

wherein in each of the plurality of channels, each of the plurality of global buffers is configured to transmit vector data of a vector matrix to each of the plurality of MAC operators.

11. The PIM device of claim 8 ,

wherein, when the weight matrix has ‘M’-number of rows and ‘N’-number of columns, a number of channels in the plurality of channels is ‘CHN’, a number of memory banks in the plurality of memory banks in each of the plurality of channels is ‘BKN’, and a number “i” is one among integers of ‘0’, ‘1’, ‘2’, . . . , and ‘(M/BKN−1)’, the weight data arrayed in “BKN”-number of rows from a (i×BKN+1) th row to a ((i+1)×BKN) th row among the “M”-number of rows of the weight matrix are stored into respective ones of the “BKN”-number of memory banks disposed in an (i+1) th channel (where, “M”, “N”, “CHN”, and “BKN” are natural numbers which are equal to or greater than two).

12. The PIM device of claim 11 ,

wherein, when a number “F” is one among the integers of ‘1’, ‘2’, . . . , and ‘K’, the weight data arrayed in an F th row among the “BKN”-number of rows from a (i×BKN+1) th row to a ((i+1)×BKN) th row of the weight matrix are stored into an F th memory bank among the memory banks in the (i+1) th channel.

13. The PIM device of claim 8 ,

wherein in each of the at least two rows of each of the plurality of memory banks, all of the remaining columns other than columns filled with the weight data are filled with a value of ‘0’.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2021
From: SONG, CHOUNG KI
To: SK HYNIX INC.
Reel/Frame 054803/0790 →
Priority Claims (1)
KR 10-2020-0006902 · Jan 17, 2020 · national
Continuity (4)
Continuation In Part 17090462 · Nov 5, 2020
Provisional Application 62959641 · Jan 10, 2020
Provisional Application 62958223 · Jan 7, 2020
Related Publication 20210209455A1 · Jul 8, 2021
Cited By (1)
US 12,406,186