Memory device and computing in memory method thereof
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-modifiedWhat 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.