A semiconductor memory device controlling a program voltage according to the number of cells to be programmed and a method of programming the same. The semiconductor memory device includes a memory cell array. A write data buffer receives write data in a predetermined unit. A program cell counter calculates...http://www.google.com/patents/US7679964?utm_source=gb-gplus-sharePatent US7679964 - Semiconductor memory device controlling program voltage according to the number of cells to be programmed and method of programming the same