IP Library › Granted Patent US 12,217,819
Granted Patent B2
US 12,217,819 · App. 17/656,425 · Granted Feb 4, 2025

Computing device, memory controller, and method for performing an in-memory computation

Inventors: Yu-Der Chih (Hsinchu, TW); Chia-Fu Lee (Hsinchu, TW)
Assignee: Taiwan Semiconductor Manufacturing Company, Ltd.
G11C7/1048G11C7/1063G11C7/1069G11C7/1096G11C7/12G11C8/08G11C11/4074
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,217,819
App. No.
17/656,425
Granted
Feb 4, 2025
Kind
B2
Abstract

A method for performing an in-memory computation includes: storing data in memory cells of a memory array, the data including weights for computation; determining whether an update command to change at least one of the weights is received; in response to receiving the update command, performing a write operation on the memory array to update the at least one weight; and disabling the write operation on the memory array until receiving a next update command to change the at least one weight.

Claims (48)

1. A method for performing an in-memory computation, comprising:

storing data in a plurality of memory cells of a memory array, the data comprising a plurality of weights for computation;

determining whether an update command to change at least one of the plurality of weights is received;

in response to receiving the update command, performing a write operation on the memory array to update the changed weight; and

disabling the write operation on the memory array until receiving a next update command to change at least one of the plurality of weights;

wherein the update command is outputted when one of the plurality of weights is to be replaced with a different weight before the write operation is performed.

2. The method of claim 1 , further comprising:

disabling a read operation to the memory cells storing the plurality of weights for computation.

3. The method of claim 1 , wherein performing the write operation comprises:

pre-charging to a supply voltage a bit line and a complementary bit line associated with one of the memory cells for storing the updated weight;

setting the bit line to a first logic value based on an updated weight associated with the update command;

setting the complementary bit line to a second logic value complementary to the first logic value based on the updated weight; and

setting a word line associated with the one of the memory cells of the memory array to logical one.

4. The method of claim 1 , wherein disabling the write operation comprises:

disabling pre-charging a bit line and a complementary bit line associated with one of the memory cells with an unchanged weight; and

disabling setting the bit line and setting the complementary bit line.

5. The method of claim 1 , wherein disabling the write operation comprises setting a word line associated with one of the memory cells with an unchanged weight to logical zero.

6. The method of claim 1 , wherein disabling the write operation comprises setting a word line associated with one of the memory cells with an unchanged weight to a floating state.

7. The method of claim 1 , further comprising:

in response to receiving the update command associated with a first segment in the memory array, performing the write operation on the first segment and separately disabling the write operation on a second segment separate from the first segment in the memory array.

8. A computing device, comprising:

a memory array configured to store data comprising a plurality of weights for computation, the memory array comprising a plurality of memory cells grouped in rows and columns of memory cells; and

a memory controller coupled to the memory array and configured to control the memory cells, wherein the memory controller is configured to:

in response to an update command, perform a write operation on the memory array to update at least one weight being changed; and

disable the write operation on the memory array until a next update command is received;

wherein the update command is outputted when one of a plurality of weights is to be replaced with a different weight before the write operation is performed.

9. The computing device of claim 8 , wherein the memory controller is configured to disable a read operation on the memory cells storing the plurality of weights for computation.

10. The computing device of claim 8 , wherein the memory controller is configured to perform the write operation by:

pre-charging a bit line and a complementary bit line of the memory array associated with one of the memory cells for storing the updated weight;

setting the bit line to a first logic value based on an updated weight associated with the update command;

setting the complementary bit line to a second logic value complementary to the first logic value based on the updated weight; and

setting a word line associated with the one of the memory cells to logical one.

11. The computing device of claim 8 , wherein the memory controller is configured to disable the write operation by:

disabling pre-charging a bit line and a complementary bit line associated with one of the memory cells with an unchanged weight; and

disabling setting the bit line and setting the complementary bit line.

12. The computing device of claim 8 , wherein the memory controller is configured to disable the write operation by setting a word line associated with one of the memory cells with an unchanged weight to logical zero.

13. The computing device of claim 8 , wherein the memory controller is configured to disable the write operation by setting a word line associated with one of the memory cells with an unchanged weight to a floating state.

14. The computing device of claim 8 , wherein the memory controller is configured to perform the write operation on a first segment in the memory array and separately disable the write operation on a second segment separate from the first segment in the memory array, in response to the update command associated with the first segment.

15. The computing device of claim 8 , further comprising a command generating circuit configured to output the update command when one of the plurality of weights is to be replaced with the different weight.

16. The computing device of claim 15 , wherein the command generating circuit is coupled to the memory controller.

17. The computing device of claim 15 , wherein the memory controller comprises the command generating circuit.

18. A memory controller, comprising:

a command generating circuit configured to output an update command when one of a plurality of weights for in-memory computing is to be replaced with a different weight before a write operation is performed on a memory array for storing the plurality of weights; and

a control circuit coupled to the command generating circuit and configured to disable the write operation on the memory array for storing the plurality of weights, until receiving the update command.

19. The memory controller of claim 18 , wherein the control circuit is further configured to, in response to the update command, perform the write operation to update the one of the plurality of weights in the memory array.

20. The memory controller of claim 18 , wherein the control circuit is configured to disable the write operation by:

disabling pre-charging a bit line and a complementary bit line associated with one of the memory cells with an unchanged weight; and

disabling setting the bit line and setting the complementary bit line.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2022
From: CHIH, YU-DER; LEE, CHIA-FU
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 059396/0882 →
Continuity (2)
Provisional Application 63229814 · Aug 5, 2021
Related Publication 20230045840A1 · Feb 16, 2023
References Cited (7)
US 10825536B1 · Yang et al. · 2020 [cited by applicant]
US 20090317968A1 · Nagata · 2009 [cited by examiner]
US 20190340500A1 · Olmschenk · 2019 [cited by applicant]
US 20220067499A1 · Tran · 2022 [cited by examiner]
CN 112558919A · 2021 [cited by examiner]
CN 109903162B · 2021 [cited by applicant]
TW 202125340A · 2021 [cited by applicant]