Patent ID: 7944751

Claim:
A method for programming Flash memory cells comprising: programming a group of memory cells; identifying cells within the group that need to be programmed again; determining a number of cells to be reprogrammed at one time based on the driving capacity of a charge pump for programming said cells; storing the number of memory cells to be reprogrammed; grouping the cells according to the relation: n=I charge_pump/ I cell wherein: Icharge_pump is a maximum value of the current which can be supplied by the charge pump, and Icell is a value of current absorbed by a memory cell during a programming; and generating a control flag PR_PAGE according to the relation: PR_PAGE=1 if the number of memory cells to be programmed is lower or equal to the second parallelism; and PR_PAGE=0 if the number of memory cells to be programmed is higher than the second parallelism; if PR_PAGE=1, attribution to the programming parallelism of a value corresponding to a value of maximum parallelism; and if PR_PAGE=0 attribution to the programming parallelism of a value corresponding to a value of minimum parallelism.