Patent ID: 9612958
Date: 2017-04-04
CPC Classifications: G06F,G11C

Claim:
1. A method of programming two terminal memory cells, comprising: receiving write data to program to a target group of two terminal memory cells, wherein the write data comprises a first plurality of bit values; receiving read data stored by the target group of two terminal memory cells, wherein the read data comprises a second plurality of bit values; determining a first group of bits in the target group of two terminal memory cells that are being set, in response to the first plurality of bit values and the second plurality of bit values, wherein the first group of bits is associated with a first number of bits; determining a second group of bits in the target group of two terminal memory cells that are being reset, in response to the first plurality of bit values and the second plurality of bit values, wherein the second group of bits is associated with a second number of bits; determining whether the first number of bits satisfies a criterion defined by a function of the first number of bits and the second number of bits, wherein: determining a third group of bits in the target group of two terminal memory cells to set in response to the first number of bits satisfying the criterion, and setting bits in the third group of bits in the target group of two terminal memory cells, the determined third group of bits being inclusive of the null set; or setting bits in the first group of bits in the target group of two terminal memory cells in response to the first number of bits not satisfying the criterion.