Claims
- 1. An integrated circuit memory device comprising:an array of floating gate memory cells electrically coupled to a respective plurality of word lines and a plurality of bit lines; said array arranged in a plurality of sub-pages of memory cells, each memory cell for storing a plurality of states represented by a plurality of bits; a plurality of sub-page buffers electrically coupled to said plurality of bit lines for storing data, externally supplied to said device, and to be programmed into said memory cells coupled to said plurality of bit lines; a programming control circuit, including a pattern recognition circuit, coupled to said plurality of sub-page buffers for initiating a programming operation to program data sequentially from one sub-page buffer into an associated sub-page of memory cells and for controlling the programming of each memory cell, from state to another, until data from said plurality of sub-page buffers are programmed into said plurality of sub-page memory cells.
- 2. The memory device of claims 1 wherein each sub-page further comprisesa plurality of non- adjacent evenly spaced apart bit lines with memory cells coupled thereto.
- 3. The memory device of claim 2 wherein each sub-page buffer is associated with a plurality of adjacent bit lines; anda column selection circuit for selecting a sub-page buffer to one of said plurality of adjacent bit lines.
- 4. The memory device of claim 1 wherein the pattern recognition circuit comprises:a combinatorial logic circuit for determining when the plurality of states of each memory cell are reached and for inhibiting the programming of said memory cell to a different state.
- 5. A method of programming a non-volatile memory device, said non-volatile memory device having an array of non-volatile floating gate memory cells electrically coupled to a respective plurality of word lines and a plurality of bit lines; said array arranged in a plurality of sub-pages of memory cells, said method comprising:programming a sub page of memory cells at a time, wherein within each sub page of memory cells, data is sequentially programmed to a plurality of memory cells coupled to a plurality of non-adjacent evenly spaced apart bit lines; sequentially programming each memory cell in a sub-page by programming the cell from one state to another; and verifying the programming after each state of a memory cell to ensure that the cell is programmed.
- 6. The method of claim 5 wherein said programming step programs all of the cells to a first state irrespective of the desired state.
- 7. The method of claim 6 wherein said progamming step further comprises incrementally programming certain cells to a second state, wherein said certain cells constitute all of the cells having a desired state other than said first state.
- 8. The method of claim 5 wherein said programming step programs only cells of to their desired state, without programming other cells.
Parent Case Info
This is a divisional application of application Ser. No. 09/827,469 filed on Apr. 6, 2001, now U.S. Pat. No. 6,377,507 issued on Apr. 23, 2002.
US Referenced Citations (4)