Patent ID: 7038950
Filing Date: 2006-05-02
Classification: G11C

Abstract:
1. A method of programming NEW data into unprogrammed bits of a group of memory cells, the group comprising the unprogrammed bits and programmed bits having OLD data, the method comprising: pre-reading the group of cells to identify and exclude from NEW data programming operations all addresses of the programmed memory bits having OLD data; verifying a programming operation on the unprogrammed memory bits by identifying whether a PV_New voltage level of the unprogrammed bits generally corresponds to the NEW data; performing a programming operation on the group of unprogrammed memory bits until it is determined that the PV_New voltage level generally corresponds to the NEW data; verifying a programming operation on a group of reference bits having REF data associated with the NEW and OLD data by identifying whether a PV_refresh_ref voltage level of the reference cells generally corresponds to the REF data; reading the OLD data if it is determined that the PV_refresh_ref voltage level of the reference cells does not generally correspond to the REF data; performing a programming operation on the group of reference cells until it is determined that the PV_refresh_ref voltage level of the reference cells generally corresponds to the REF data; providing a compensated PV_refresh voltage level based on the PV_refresh_ref voltage level and a functional relationship between the NEW data and the OLD data; verifying a programming operation on the programmed memory bits by identifying whether the PV_refresh voltage level of the cells generally corresponds to the OLD data; and performing a programming operation on the group of programmed memory bits until it is determined that the PV_refresh voltage level generally corresponds to the OLD data.