← Back to Patent Explorer
US5107501A Expired / Lapsed US ⏱️ 0.0 years remaining

Built-in self-test technique for content-addressable memories

Assignee: Nokia Bell Labs
•
Filing: 1990-04-02
•
Granted: 1992-04-21
•
Expires: 2010-04-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract All elements of a Content-Addressable Memory (CAM) (10) are tested by executing a predetermined set of sequences of the write and match-read operations. During each write operation, a separate one of a set of data words, consisting of the group of all zeros, all ones, a walking ones in a zero word, and a walking zero in a ones word, is written into the CAM for entry in each successive one of its rows of memory cells (14). During each match/read operation, a separate data word from this group is matched to a word stored in each of the rows while, simultaneously, a read operation is performed and the contents of a successive row are read to check for correspondence with a particular data word. A particular set of seven sequences of write and match/read operations is capable of achieving such testing.

Inventors

  • 👤 Yervant Zorian

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 02:41
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/04; G11C29/08; G11C29/10; G11C29/12; G11C29/38

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 238 words
A method for testing every function of a content-addressable memory (CAM) comprised of a plurality of rows of memory cells, each row of cells identified by a corresponding address and each row of cells storing a word, and a plurality of exclusive OR (XOR) gates, each associated with a separate cell, a decoder for decoding the address of a row of memory cells into which a data word is to be written or from which a stored word is to be read, a match word register for storing a match word, and an encoder for determining the address of the row containing a word matching the match word, comprising the steps of: performing a predetermined set of sequences of write and match/read operations on the rows of memory cells, each write operation performed by addressing a row of memory cells and writing a data word from a group whose bits consist of all zeros, all ones, a walking one in a word of otherwise all zero bits, and a walking zero in a word of otherwise all one bits, into the addressed row, and each match/read operation performed by matching a first preselected data word to the word stored in each of the rows of memory cells and by reading the word stored in the addressed row of memory cells and checking to ascertain whether the word stored in the row corresponds to a second preselected data word.
Claim 2
Independent Claim 238 words
A method for testing every function of a content-addressable memory (CAM) comprised of a plurality of rows of memory cells, each row of cells identified by a corresponding address and each row of cells storing a word, and a plurality of exclusive OR (XOR) gates, each associated with a separate cell, a decoder for decoding the address of a row of memory cells into which a data word is to be written or from which a stored word is to be read, a match word register for storing a match word, and an encoder for determining the address of the row containing a word matching the match word, comprising the steps of: performing a predetermined set of sequences of write and match/read operations on the rows of memory cells, each write operation performed by addressing a row of memory cells and writing a data word from a group whose bits consist of all zeros, all ones, a walking one in a word of otherwise all zero bits, and a walking zero in a word of otherwise all one bits, into the addressed row, and each match/read operation performed by matching a first preselected data word to the word stored in each of the rows of memory cells and by reading the word stored in the addressed row of memory cells and checking to ascertain whether the word stored in the row corresponds to a second preselected data word.
Claim 3
Dependent Claim 540 words
The method according to claim 1 wherein the preselected sequences of the write and match/read operations comprise the following seven sequences: (a) (first sequence) performing a write operation W 0 on each successive row of memory cells, the write operation W 0 being performed by writing a word whose bits are all zeros into each successive row of memory cells; (b) (second sequence) performing a match/read operation M 1/0 , a write operation W 1 , the write operation W 0 , and a write operation W 1 in succession on each successive row of memory cells, the match/read operation M 1/0 performed by matching a word whose bits are all ones to the word stored in every row of memory cells while reading the word stored in the successive row of memory cells to ascertain if the word has all zero bits, and each of the write operations W 1 performed by writing a word whose bits are all ones into each successive row of memory cells; (c) (third sequence) successively performing a match/read operation M 0 → and then the write operation W 1 on a single row of memory cells, the match/read operation M 0 → performed by matching each of a sequence of words, obtained by walking a zero through a word of otherwise all one bits, to the word stored in each successive row of memory cells, while successively reading the word stored in each successive row of memory cells to determine if the word stored corresponds to the particular word being matched; (d) (fourth sequence) performing a match/read operation M 1 , the write operation W 0 , a match/read operation M 0 and the write operation W 0 in succession on each row of memory cells, the match/read operation M 1 performed by matching a word whose bits are all ones to the word stored in each successive row of memory cells while reading the word stored in each successive row to ascertain if the stored word has all one bits, and the match/read operation M 0 being performed by matching a word of all zero bits to each successive row of memory cells while reading the word stored in each successive row to ascertain if the stored word has all zero bits; (e) (fifth sequence) performing the match/read operation M 1 , the write operation W 0 , the write operation W 1 , and the write operation W 0 in succession on each successive row of memory cells; (f) (sixth sequence) successively performing a match/read operation M 1 → and then the write operation W 0 on a single row of memory cells, the match/read operation M 1 → performed by matching each of a sequence of words, obtained by walking a one through a word of otherwise all zero bits, to all of the row of memory cells, while successively reading the word stored in the single row of memory cells to determine if the stored word corresponds to the particular word being matched; and (g) (seventh sequence) performing the match/read operation M 0 , the write operation W 1 , the match/read operation M 1 and the write operation W 0 in succession on each row of memory cells.
Claim 4
Dependent Claim 184 words
The method according to claim 2 wherein the rows of memory cells are tested by the steps of: (a) performing the write operation W 0 of the first step sequence of operation successively on each row of memory cells; (b) performing the match/read operation M 1/0 and the write operation W 1 , the write operation W 0 , and the write operation W 1 of the second sequence of operations successively on each row of memory cells; (c) performing the match/read operation M 1 , the write operation W 0 and the match/read operation M 0 on the fourth sequence of operations successively on each row of memory cells; (d) performing the match/read operation M 1 , the write operation W 0 , the write operation W 1 and the write operation W 0 of the fifth sequence of operations successively on each row of memory cells; and (e) performing the match/read operation M 0 , the write operation W 1 , the match/read operation M 1 and the write operation of the seventh sequence of operations successively on each row of cells.
Claim 5
Dependent Claim 46 words
The method according to claim 2 wherein the encoder of the content-addressable memory is tested by executing the write operation W 0 , the match/read operation M 0 and the write operation W 1 of the fourth sequence of operations successively on each row of cells.
Claim 6
Dependent Claim 180 words
The method according to claim 2 wherein the exclusive OR gates of the content-addressable memory are tested by the steps of: (a) performing the write operation W 0 of the first sequence of operations on each row of memory cells and the match/read operation M 1/0 of the second sequence of operations on each successive row of memory cells; (b) performing the write operation W 1 of the second sequence of operations on each row of cells and then performing the match/read operation M 0 → of the third sequence of operations on a single row of memory cells; (c) performing the write operation W 1 of the third sequence of operations on each row of memory cells and then performing the match/read operatioan W 1 of the fourth sequence of operations; and (d) performing the write operation W 0 of the fourth sequence of write operation W 1 , the operations on each row of memory cells and the performing the match/read operation M 1 → of the fifth sequence of operations on the one row of memory cells.
Claim 7
Dependent Claim 70 words
The method according to claim 2 wherein the decoder is tested by the steps of: (a) performing the match/read operation M 1/0 and the last write operation W 1 of the fifth sequence of operations on each successive row of memory cells; and (b) performing the match/read operation M 1 and the last write operation W 0 of the fifth sequence of operations successively on each row of memory cells.
Claim 8
Dependent Claim 76 words
The method according to claim 2 wherein the CAM contains a wild card register for masking bits of a mask word in a mask register and wherein the wild card register is tested by the steps of: (a) applying a word of all ones the match wild card register while simultaneously performing the match/read operation M 1/0 of the second sequence of operations; (b) performing the match/read operation M 1 of the fourth sequence of operations.
Claim 9
Dependent Claim 237 words
A test system for testing a content-addressable memory (CAM) comprised of a plurality of rows of memory cells, each row of memory cells having an address associated therewith and each memory cell in each row having a corresponding, exclusive OR (XOR) gate, a decoder for decoding the address of a row of memory cells into which a data word is to be read or written, a match word register for storing a match word, and an encoder for determining the address of the row containing a word matching the match word, the test system comprising: an up/down counter coupled to the decoder for supplying a count to the decoder of the content addressable memory to address each of a successive row of memory cells; a test pattern generator coupled to the content-addressable memory for supplying the content-addressable memory with a plurality of data words from a group whose bits consist of all ones, all zeros, a walking one in a word of otherwise all zeros and a walking zero in a word of otherwise all ones; first means coupled to the content-addressable memory for compacting data read from the content-addressable memory; second means coupled to the content-addressable memory for compacting data indicative of the address of the rows containing a matching word; and a comparator coupled to the encoder of the content-addressable memory for comparing a match row address output thereby to a predetermined match row address.
Claim 10
Dependent Claim 237 words
A test system for testing a content-addressable memory (CAM) comprised of a plurality of rows of memory cells, each row of memory cells having an address associated therewith and each memory cell in each row having a corresponding, exclusive OR (XOR) gate, a decoder for decoding the address of a row of memory cells into which a data word is to be read or written, a match word register for storing a match word, and an encoder for determining the address of the row containing a word matching the match word, the test system comprising: an up/down counter coupled to the decoder for supplying a count to the decoder of the content addressable memory to address each of a successive row of memory cells; a test pattern generator coupled to the content-addressable memory for supplying the content-addressable memory with a plurality of data words from a group whose bits consist of all ones, all zeros, a walking one in a word of otherwise all zeros and a walking zero in a word of otherwise all ones; first means coupled to the content-addressable memory for compacting data read from the content-addressable memory; second means coupled to the content-addressable memory for compacting data indicative of the address of the rows containing a matching word; and a comparator coupled to the encoder of the content-addressable memory for comparing a match row address output thereby to a predetermined match row address.
Claim 11
Dependent Claim 53 words
The apparatus according to claim 8 wherein the first compactor means comprises: an AND gate coupled to the content-addressable memory for ANDing the contents of the data read from the content-addressable memory; and an OR gate coupled to the content-addressable memory for ORing the contents of the data read from the content-addressable memory.
Claim 12
Dependent Claim 57 words
The apparatus according to claim 8 wherein the second compacting means comprises: an AND gate coupled to the content-addressable memory for ANDing the data indicative of the addresses of the rows containing matching words; and an OR gate coupled to the content-addressable memory for ORing the data indicative of the addresses of the rows containing matching words.
Claim 13
Dependent Claim 55 words
The apparatus according to claim 8 wherein the content-addressable memory further includes a wild card resister for supplying a mask word to mask the match word and wherein the test system includes a wild card generator for supplying a word of all ones and a word of all zeros to test the match word register.

References Cited (Backward Citations)

US3420991A Cited
US3800286A Cited
US4377855A Cited
US4559618A Cited
US4532606A Cited
US4661930A Cited
US4729117A Cited
US4680760A Cited
US4896322A Cited
US4862071A Cited
US4912710A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-04-21 1995-10-21 1996-04-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-04-21 1999-10-21 2000-04-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-04-21 2003-10-21 2004-04-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag