# US 2026/0093552 A1 · Computing-in-Memory Macro and Method for Weight Sharing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2026/0093552 A1
- Document ID: US20260093552A1
- Status: Published application
- Kind: A1
- Application number: 18/900,941
- Filed: 2024-09-30
- Published: 2026-04-02
- Earliest claimed: 2024-09-30
- Assignees: Meidatek Inc.
- Applicants: Mediatek Inc.
- Inventors: Chieh-Fang Teng; En-Jui Chang; Hsien-Peng Wang; Jen-Wei Liang
- Web page: https://patentgrep.com/patent/US20260093552A1

## CPC

- G06F 9/505: {considering the load}
- G06F 9/544: {Buffers; Shared memory; Pipes}
- G06F 7/5443: {Sum of products (for applications thereof, see the relevant places, e.g. G06F17/10, H03H17/00)}
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/063: using electronic means
- G06N 3/08: Learning methods
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method for weight sharing, executed by at least one computing-in-memory macro, the method comprising: a weight memory of a CIM macro of the at least one CIM macro storing a weight; and sending the weight to a plurality of multiply and accumulation (MAC) modules of the at least one CIM module by the weight memory and the weight is shared by the plurality of MAC modules, wherein each of the plurality of MAC modules is in the CIM macro comprises the weight memory or in another CIM macro.

## Claims

### Claim 1

A method for weight sharing, executed by at least one computing-in-memory macro, the method comprising:
a weight memory of a CIM macro of the at least one CIM macro storing a weight; and
sending the weight to a plurality of multiply and accumulation (MAC) modules of the at least one CIM module by the weight memory and the weight is shared by the plurality of MAC modules, wherein each of the plurality of MAC modules is in the CIM macro comprises the weight memory or in another CIM macro.

### Claim 2 (depends on 1)

The method of claim 1, wherein the step of sending the weight to a plurality of MAC modules by the weight memory further comprises:
sending the weight to a subset or all of the plurality of MAC modules directly by the weight memory.

### Claim 3 (depends on 1)

The method of claim 1, wherein the step of sending the weight to a plurality of MAC modules by the weight memory further comprises:
sending the weight to at least one multiplexer by the weight memory; and
the at least one multiplexer selecting the weight as output weight and sending the output weight to a subset or all of the plurality of the MAC modules.

### Claim 4 (depends on 1)

The method of claim 1, wherein the weight is sent to a plurality of MAC modules by the weight memory further comprises:
sending the weight to at least one MAC module of the plurality of MAC modules directly by the weight memory; and
sending the weight to at least one multiplexer by the weight memory, the at least one multiplexer selecting the weight as output weight and sending the output weight to a subset or all of the plurality of the MAC modules.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
sending the weight to at least one multiplexer by the weight memory; and
the at least one multiplexer selecting the weight or another weight as output weight and sending the output weight to a subset or all of the plurality of the MAC modules or sending the output weight to at least one other multiplexer.

### Claim 6 (depends on 5)

The method of claim 5, wherein the at least one multiplexer receives another weight from a weight memory that is different from the weight memory or from other multiplexer.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least one CIM macro comprises an intra macro which comprises a first number of weight memories and a second number of MAC modules, wherein each of the first number of weight memories connects to a MAC module of the second number of MAC modules directly or by at least one multiplexer.

### Claim 8 (depends on 1)

The method of claim 1, wherein the at least one CIM macro forms an inter macros, and each CIM macro of the at least one CIM macro comprises a weight memory and a MAC module, wherein each weight memory in the inter macros connects to at least one MAC module in the inter macros directly or by at least one multiplexer.

### Claim 9 (depends on 1)

The method of claim 1, wherein the at least one CIM macro comprises at least one intra macro and inter macros, wherein:
each intra macro comprises a plurality of weight memories and a plurality of MAC modules; and
each CIM macro in the inter macros comprises a weight memory and a MAC module,
wherein each weight memory in at least one CIM macro connects to at least one MAC module in at least one CIM macro directly or by at least one multiplexer.

### Claim 10 (depends on 1)

The method of claim 1, wherein the method is applied to a convolutional neural network (CNN) application.

### Claim 11

A computing-in-memory (CIM) macro, comprising:
a plurality of weight memories, each of the plurality of weight memories is configured to store weights; and
a plurality of multiply and accumulation (MAC) modules, wherein each of the plurality of the MAC modules is connected to at least one of the plurality of weight memories directly or by at least one multiplexer to obtain the weights stored by the at least one weight memory.

### Claim 12 (depends on 11)

The CIM macro of claim 11, wherein the CIM macro is an intra macro.

### Claim 13 (depends on 11)

The CIM macro of claim 11, wherein the CIM macro is a first CIM macro, the first CIM macro comprises a first weight memory which is connected to at least one MAC modules outside the first CIM macro directly or by at least one multiplexer, and the weights stored in the first weight memory are accessed by the at least one MAC modules outside the first CIM macro.

### Claim 14 (depends on 11)

The CIM macro of claim 11, wherein when a MAC module is connected to at least one weight memory of the plurality of weight memories by at least one multiplexer, each of the at least one multiplexer is configured to select one of its input weights as output weight and sends the output weight.

### Claim 15

A computing-in-memory (CIM) macro, comprising:
a weight memory, configured to store weights; and
a multiply and accumulation (MAC) module, connected to the weight memory directly or by a multiplexer,
wherein the weight memory is connected to at least one MAC module outside the CIM macro directly or by at least one multiplexer, and the weights stored in the weight memory are accessed by the at least one MAC module outside the CIM macro.

### Claim 16 (depends on 15)

The CIM macro of claim 15, wherein the MAC module is further connected to at least one weight memory outside the CIM macro directly or by at least one multiplexer to obtain the weights stored by the at least one weight memory outside the CIM macro.

### Claim 17 (depends on 15)

The CIM macro of claim 15, wherein the CIM macro is a part of inter macros, wherein each CIM macro in the inter macros comprises a weight memory and a MAC module;
Wherein each weight memory in the inter macros is connected to at least one MAC module in the inter macros directly or by at least one multiplexer.

### Claim 18 (depends on 15)

The CIM macro of claim 15, wherein when a MAC module is connected to a weight memory by at least one multiplexer, each of the at least one multiplexer is configured to select one of its input weights as output weight and send the output weight.
