Bad Column Management with Bit Information in Non-Volatile Memory Systems
First Claim
1. A non-volatile memory circuit, comprising:
- an array of non-volatile memory cells formed along columns of multiple bits, the columns including a plurality of regular columns and one or more redundancy columns, anda plurality of latches, each corresponding to one of the regular columns and having a bit whose value indicates if the corresponding column is defective,the memory circuit storing a column redundancy data table whose contents indicate for each redundancy column whether the redundancy column is being used and, for redundancy columns that are being used, a defective regular column to which it corresponds and the bits therein which are defective,wherein the memory circuit stores data corresponding to the defective bits of defective regular columns in the redundancy column portion.
3 Assignments
0 Petitions
Accused Products
Abstract
Column based defect management techniques are presented. Each column of the memory has an associated isolation latch or register whose value indicates whether the column is defective, but in addition to this information, for columns marked as defective, additional information is used to indicate whether the column as a whole is to be treated as defective, or whether just individual bits of the column are defective. The defective elements can then be re-mapped to a redundant element at either the appropriate bit or column level based on the data. When a column is bad, but only on the bit level, the good bits can still be used for data, although this may be done at a penalty of under programming for some bits, as is described further below. A self contained Built In Self Test (BIST) flow constructed to collect the bit information through a set of column tests is also described. Based on this information, the bad bits can be extracted and re-grouped into bytes by the controller or on the memory to more efficiently use the column redundancy area.
156 Citations
25 Claims
-
1. A non-volatile memory circuit, comprising:
-
an array of non-volatile memory cells formed along columns of multiple bits, the columns including a plurality of regular columns and one or more redundancy columns, and a plurality of latches, each corresponding to one of the regular columns and having a bit whose value indicates if the corresponding column is defective, the memory circuit storing a column redundancy data table whose contents indicate for each redundancy column whether the redundancy column is being used and, for redundancy columns that are being used, a defective regular column to which it corresponds and the bits therein which are defective, wherein the memory circuit stores data corresponding to the defective bits of defective regular columns in the redundancy column portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating a non-volatile memory circuit, the memory circuit including an array of non-volatile memory cells formed along columns of multiple bits and having a latch associated with each of the columns whose value indicates if the corresponding column has a defect, the method comprising,
performing a write operation to concurrently program a plurality of memory cells on a corresponding plurality of columns, including one or more columns having an associated latch whose value indicates the corresponding column has a defect; -
determining the number of the plurality of concurrently programmed memory cells that were not successfully programmed in the write operation, wherein the columns whose latch values indicate the column has a defect are not counted in the determining; and determining whether the number of cells that were not successfully been programmed during the write operation is acceptable. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of operating a non-volatile memory circuit having an array of non-volatile memory cells formed along columns of multiple bits, the columns including a plurality of regular columns and one or more redundancy columns, the method comprising:
-
performing a plurality of column test operations to determine which columns are defective and the individual bits therein which are defective, each of the column tests including; writing and reading back an externally supplied data pattern to the columns; and comparing the externally supplied data pattern as read back with an expected data pattern, wherein said column test operation are performed by circuitry on the memory circuit and each of the column tests uses a different data pattern; recording addresses of any of the regular columns determined defective and the individual bits therein which are determined defective in a column redundancy data table stored on the memory circuit; and for any of the regular columns determined defective, setting a latch associated therewith to a value indicating that the associated column is defective. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method of operating a non-volatile memory circuit having an array of non-volatile memory cells formed along columns of multiple bits, the columns including a plurality of regular columns and one or more redundancy columns, the method comprising:
-
storing on the memory circuit a column redundancy data table whose contents indicate for each redundancy column whether the redundancy column is being used and, for redundancy columns that are being used, a defective regular column to which it corresponds and the bits therein which are defective; receiving a set of data to program into the memory array; determining the elements of the set of data assigned to be programmed to defective bits of defective regular columns based upon the column redundancy circuit data table; storing the elements of the set of data determined to be assigned to be programmed to defective bits of defective columns in peripheral latch circuits on the memory circuit; storing the set of data into programming latches for the memory array; performing a programming operation into the regular columns of the memory array from the programming latches; and programming the elements of the data set stored in the peripheral latches into the redundancy columns. - View Dependent Claims (23, 24, 25)
-
Specification