US11354123B2ActiveUtilityA1

Memory device and computing in memory method thereof

Assignee: MACRONIX INT CO LTDPriority: Oct 18, 2019Filed: Sep 21, 2020Granted: Jun 7, 2022
Est. expiryOct 18, 2039(~13.2 yrs left)· nominal 20-yr term from priority
G06N 3/045G06N 3/0464G06F 15/7821G06F 17/153G06F 9/3001G06F 7/5443G06F 9/3455G06N 3/063
86
PatentIndex Score
2
Cited by
20
References
10
Claims

Abstract

A computing in memory method for a memory device is provided. The computing in memory method includes: based on a stride parameter, unfolding a kernel into a plurality of sub-kernels and a plurality of complement sub-kernels; based on the sub-kernels and the complement sub-kernels, writing a plurality of weights into a plurality of target memory cells of a memory array of the memory device; inputting an input data into a selected word line of the memory array; performing a stride operation in the memory array; temporarily storing a plurality of partial sums; and summing the stored partial sums into a stride operation result when all operation cycles are completed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computing in memory method for a memory device, the computing in memory method comprising:
 based on a stride parameter, unfolding a kernel into a plurality of sub-kernels and a plurality of complement sub-kernels; 
 based on the sub-kernels and the complement sub-kernels, writing a plurality of weights into a plurality of target memory cells of a memory array of the memory device; 
 inputting an input data into a selected word line of the memory array; 
 performing a calculation operation in the memory array; 
 temporarily storing a plurality of partial sums; and 
 summing the stored partial sums into a result when all operation cycles are completed. 
 
     
     
       2. The computing in memory method according to  claim 1 , wherein the kernel includes an original weight matrix. 
     
     
       3. The computing in memory method according to  claim 2 , wherein in unfolding the kernel, based on the stride parameter, the kernel is stridden in a column direction and in a row direction to obtain the sub-kernels, wherein each of the sub-kernels is a weight matrix; the sub-kernels are a zero matrix or the sub-kernels includes at least one weight of the kernel. 
     
     
       4. The computing in memory method according to  claim 2 , wherein the sub-kernels are complemented as the complement sub-kernels, when the original weight matrix is k×l and the input data is N×M, for the stride parameter being equal to “1”, a total number of the sub-kernels is (N−k+1)×(M−l+1) and a total number of the complement sub-kernels is (N−k+1)×(M−l+1). 
     
     
       5. The computing in memory method according to  claim 1 , wherein the partial sums are temporarily stored in at least one latch unit of the memory array. 
     
     
       6. A memory device comprising:
 a memory array; and 
 a controller coupled to the memory array, the controller being configured for:
 based on a stride parameter, unfolding a kernel into a plurality of sub-kernels and a plurality of complement sub-kernels; 
 based on the sub-kernels and the complement sub-kernels, writing a plurality of weights into a plurality of target memory cells of a memory array of the memory device; 
 inputting an input data into a selected word line of the memory array; 
 performing a calculation operation in the memory array; 
 temporarily storing a plurality of partial sums; and 
 summing the stored partial sums into a result when all operation cycles are completed. 
 
 
     
     
       7. The memory device according to  claim 6 , wherein the kernel includes an original weight matrix. 
     
     
       8. The memory device according to  claim 7 , wherein in unfolding the kernel, based on the stride parameter, the kernel is stridden in a column direction and in a row direction to obtain the sub-kernels, wherein each of the sub-kernels is a weight matrix; the sub-kernels are a zero matrix or the sub-kernels includes at least one weight of the kernel. 
     
     
       9. The memory device according to  claim 7 , wherein the sub-kernels are complemented as the complement sub-kernels, when the original weight matrix is k×l and the input data is N×M, for the stride parameter being equal to “1”, a total number of the sub-kernels is (N−k+1)×(M−l+1) and a total number of the complement sub-kernels is (N−k+1)×(M−l+1). 
     
     
       10. The memory device according to  claim 6 , wherein the partial sums are temporarily stored in at least one latch unit of the memory array.

Join the waitlist — get patent alerts

Track US11354123B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.