IP Library Granted Patent US 10,586,598
Granted Patent B2
US 10,586,598 · App. 16/025,039 · Granted Mar 10, 2020

System and method for implementing inference engine by optimizing programming operation

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 10,586,598
App. No.
16/025,039
Granted
Mar 10, 2020
Kind
B2
Abstract

A memory device that includes a plurality of memory cells arranged in rows and columns, a plurality of bit lines each connected to one of the columns of memory cells, and a plurality of differential sense amplifiers each having first and second inputs and an output. For each of the differential sense amplifiers, the differential sense amplifier is configured to generate an output signal on the output having an amplitude that is based upon a difference in signal amplitudes on the first and second inputs, the first input is connected to one of the bit lines, and the second input is connected to another one of the bit lines. Alternately, one or more sense amplifiers are configured to detect signal amplitudes on the bit lines, and the device includes calculation circuitry configured to produce output signals each based upon a difference in signal amplitudes on two of the bit lines.

Claims (96)

1. A memory device comprising:

a plurality of memory cells arranged in rows and columns;

a plurality of bit lines each connected to one of the columns of memory cells;

a plurality of differential sense amplifiers, each having first and second inputs and an output, wherein for each of the differential sense amplifiers:

the differential sense amplifier is configured to generate an output signal on the output having an amplitude that is based upon a difference in signal amplitudes on the first and second inputs,

the first input is connected to one of the bit lines, and

the second input is connected to another one of the bit lines; and

a controller configured to perform a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, wherein the first and second bit lines are connected to the first and second inputs, respectively, of a first of the differential sense amplifiers, by:

applying one or more programming voltages to the first memory cell;

applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a first amplitude;

determining the first amplitude does not match a target value, and in response applying one or more programming voltages to the second memory cell.

2. The device of claim 1 , wherein the controller is further configured to, after the applying of the one or more programming voltages to the second memory cell:

apply one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a second amplitude; and

determine the second amplitude matches the target value.

3. A memory device comprising:

a plurality of memory cells arranged in rows and columns;

a plurality of bit lines each connected to one of the columns of memory cells;

a plurality of differential sense amplifiers, each having first and second inputs and an output, wherein for each of the differential sense amplifiers:

the differential sense amplifier is configured to generate an output signal on the output having an amplitude that is based upon a difference in signal amplitudes on the first and second inputs,

the first input is connected to one of the bit lines, and

the second input is connected to another one of the bit lines; and

a controller configured to perform a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, wherein the first and second bit lines are connected to the first and second inputs, respectively, of a first of the differential sense amplifiers, by:

a) applying one or more programming voltages to the first memory cell;

b) applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a first amplitude;

c) ceasing the program operation if the first amplitude matches a target value;

d) repeating steps (a)-(c) if an absolute value of the first amplitude is less than the target value;

e) determining that the absolute value of the first amplitude is greater than the target value, and in response:

f) applying one or more programming voltages to the second memory cell;

g) applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a second amplitude; and

h) ceasing the program operation if an absolute value of the second amplitude matches the target value;

i) repeating steps (f)-(h) if the absolute value of the second amplitude is greater than the target value.

4. A memory device comprising:

a plurality of memory cells arranged in rows and columns;

a plurality of bit lines each connected to one of the columns of memory cells;

one or more sense amplifiers configured to detect signal amplitudes on the bit lines; and

calculation circuitry configured to produce output signals each based upon a difference in signal amplitudes on two of the bit lines; and

a controller configured to perform a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, wherein a first of the output signals is based upon a difference in signal amplitudes on the first and second bit lines, by:

applying one or more programming voltages to the first memory cell;

applying one or more read voltages to the first and second memory cells so that the first output signal has a first amplitude;

determining the first amplitude does not match a target value, and in response applying one or more programming voltages to the second memory cell.

5. The device of claim 4 , wherein the controller is further configured to, after the applying of the one or more programming voltages to the second memory cell:

apply one or more read voltages to the first and second memory cells so that the first output signal has a second amplitude; and

determine the second amplitude matches the target value.

6. A memory device comprising:

a plurality of memory cells arranged in rows and columns;

a plurality of bit lines each connected to one of the columns of memory cells;

one or more sense amplifiers configured to detect signal amplitudes on the bit lines; and

calculation circuitry configured to produce output signals each based upon a difference in signal amplitudes on two of the bit lines; and

a controller configured to perform a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, wherein a first of the output signals is based upon a difference in signal amplitudes on the first and second bit lines, by:

a) applying one or more programming voltages to the first memory cell;

b) applying one or more read voltages to the first and second memory cells so that the first output signal has a first amplitude;

c) ceasing the program operation if the first amplitude matches a target value;

d) repeating steps (a)-(c) if an absolute value of the first amplitude is less than the target value;

e) determining that the absolute value of the first amplitude is greater than the target value, and in response:

f) applying one or more programming voltages to the second memory cell;

g) applying one or more read voltages to the first and second memory cells so that the first output signal has a second amplitude; and

h) ceasing the program operation if an absolute value of the second amplitude matches the target value;

i) repeating steps (f)-(h) if the absolute value of the second amplitude is greater than the target value.

7. A method of programming a memory device having a plurality of memory cells arranged in rows and columns, a plurality of bit lines each connected to one of the columns of memory cells, and a plurality of differential sense amplifiers each having first and second inputs and an output, wherein for each of the differential sense amplifiers the differential sense amplifier is configured to generate an output signal on the output having an amplitude that is based upon a difference in signal amplitudes on the first and second inputs, the first input is connected to one of the bit lines and the second input is connected to another one of the bit lines, the method comprising:

performing a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, wherein the first and second bit lines are connected to the first and second inputs, respectively, of a first of the differential sense amplifiers, by:

applying one or more programming voltages to the first memory cell;

applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a first amplitude; and

determining the first amplitude does not match a target value, and in response applying one or more programming voltages to the second memory cell.

8. The method of claim 7 , wherein after the applying of the one or more programming voltages to the second memory cell, the method further comprises:

applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a second amplitude; and

determining the second amplitude matches the target value.

9. A method of programming a memory device having a plurality of memory cells arranged in rows and columns, a plurality of bit lines each connected to one of the columns of memory cells, and a plurality of differential sense amplifiers each having first and second inputs and an output, wherein for each of the differential sense amplifiers the differential sense amplifier is configured to generate an output signal on the output having an amplitude that is based upon a difference in signal amplitudes on the first and second inputs, the first input is connected to one of the bit lines and the second input is connected to another one of the bit lines, the method comprising:

performing a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, wherein the first and second bit lines are connected to the first and second inputs, respectively, of a first of the differential sense amplifiers, by:

a) applying one or more programming voltages to the first memory cell;

b) applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a first amplitude;

c) ceasing the program operation if the first amplitude matches a target value;

d) repeating steps (a)-(c) if an absolute value of the first amplitude is less than the target value;

e) determining that the absolute value of the first amplitude is greater than the target value, and in response:

f) applying one or more programming voltages to the second memory cell;

g) applying one or more read voltages to the first and second memory cells so that a signal on the output of the first differential sense amplifier has a second amplitude; and

h) ceasing the program operation if an absolute value of the second amplitude matches the target value;

i) repeating steps (f)-(h) if the absolute value of the second amplitude is greater than the target value.

10. A method of programming a memory device having a plurality of memory cells arranged in rows and columns, and a plurality of bit lines each connected to one of the columns of memory cells, the method comprising:

performing a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, by:

applying one or more programming voltages to the first memory cell;

applying one or more read voltages to the first and second memory cells to produce first read signals on the first and second bit lines; and

determining that a difference in amplitudes of the first read signals does not match a target value, and in response applying one or more programming voltages to the second memory cell.

11. The method of claim 10 , wherein after the applying of the one or more programming voltages to the second memory cell, the method further comprising:

applying one or more read voltages to the first and second memory cells to produce second read signals on the first and second bit lines; and

determining a difference in amplitudes of the second read signals matches the target value.

12. A method of programming a memory device having a plurality of memory cells arranged in rows and columns, and a plurality of bit lines each connected to one of the columns of memory cells, the method comprising:

performing a program operation on a first of the memory cells that is connected to a first of the bit lines and on a second of the memory cells that is connected to a second of the bit lines, by:

a) applying one or more programming voltages to the first memory cell;

b) applying one or more read voltages to the first and second memory cells to produce first read signals on the first and second bit lines;

c) ceasing the program operation if a difference in amplitudes of the first read signals matches a target value;

d) repeating steps (a)-(c) if an absolute value of the difference in amplitudes of the first read signals is less than the target value;

e) determining that the absolute value of the difference in amplitudes of the first read signals is greater than the target value, and in response:

f) applying one or more programming voltages to the second memory cell;

g) applying one or more read voltages to the first and second memory cells to produce second read signals on the first and second bit lines; and

h) ceasing the program operation if a difference in amplitudes of the second read signals matches the target value; and

i) repeating steps (f)-(h) if an absolute value of the difference in amplitudes of the second read signals is greater than the target value.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0335 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059263/0001 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0625 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052856/0909 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2018
From: TIWARI, VIPIN; DO, NHAN
To: SILICON STORAGE TECHNOLOGY, INC.
Reel/Frame 047097/0553 →