Built-in-self-test scheme for testing multiple memory elements
AssigneeUnisys Corporation
InventorsLarry L. Byers, Aaron C. Peterson, Joseph G. Kriscunas, Gerald J. Maciona, Jeff A. Engel
Life of this patent
Estimating the term…
Abstract
An apparatus for efficiently testing a plurality of memory devices at the board level. The logic for the present invention is minimal and can be placed on a controller chip within the board design. In addition, the interconnect lines between the controller chip and each of the plurality of memory devices can also be tested. Finally, the present invention requires minimal setup time and performs a functional test of the memories in a very short period of time.
Claims21
An apparatus for testing a plurality of memory elements wherein each memory element has a plurality of memory locations and each memory location is addressed by a unique address, each memory element further having an address port and a data input port, comprising;
- a. providing means coupled to the address port of each of the plurality of memory elements for providing a generated address thereto;
- b. concatenating means coupled to said providing means and further coupled to the data input port of each of the plurality of memory elements for concatenating said generated address of said providing means into a data word and for providing a corresponding portion of said data word to the data input port of each of the plurality of memory elements;
- and
- c. writing means coupled to the plurality of memory elements and further coupled to said providing means and to said concatenating means for writing said data word into the memory location specified by said generated address of the plurality of memory elements.
An apparatus for testing a plurality of memory elements wherein each memory element has a plurality of memory locations and each memory location is addressed by a unique address, each memory element further having an address port and a data output port, comprising;
- a. providing means coupled to the address port of each of the plurality of memory elements for providing a generated address;
- b. concatenating means coupled to said providing means for concatenating said generated address of said providing means into an expected data word;
- c. reading means coupled to the plurality of memory elements and further coupled to said providing means for reading a read data word from a corresponding one of the plurality of memory locations specified by said generated address from the plurality of memory elements;
- and
- d. comparing means coupled to said concatenating means and further coupled to said reading means for comparing said expected data word with said read data word.
An apparatus for testing a plurality of memory elements wherein each memory element has a plurality of memory locations and each memory location is addressed by a unique address, each memory element further having an address port and a bi-directional data port, comprising;
- a. providing means for providing a generated address;
- b. first selecting means coupled to said providing means and further coupled to the address port of each of the plurality of memory elements for selecting said generated address and imposing said generated address on the address port of each of the plurality of memory elements;
- c. inverting means coupled to said providing means for inverting said generated address when desired;
- d. concatenating means coupled to said inverting means for concatenating said generated address with itself to form an address tag pattern, said concatenating means providing said address tag pattern to an output;
- e. a data register having a data input port and a data output port;
- f. second selecting means coupled to said concatenating means and to said data output port of said data register for selecting said data output port of said data register during a read operation and for selecting said output of said concatenating means during a write operation, said second selecting means providing the result to an output;
- g. first enabling means coupled to the bi-directional data port of each of the plurality of memory elements and further coupled to said second selecting means for enabling said second selecting means to drive the bi-directional data port of each of the plurality of memory elements;
- h. second enabling means coupled to the bi-directional data port of each of the plurality of memory elements and further coupled to said data input port of said data register for enabling the bi-directional data port of each of the plurality of memory elements to drive said data input port of said data register;
- i. comparing means coupled to said second selecting means and to said concatenating means for comparing said output of said second selecting means and said output of said concatenating means;
- and
- j. indicating means coupled to said comparing means for indicating when said comparing means does not result in a match.
A method for testing a plurality of memory elements comprising;
- a. writing all addresses in ascending order for each of the plurality of memory elements with a first address tag pattern;
- b. reading data from all addresses in ascending order for each of the plurality of memory elements, the reading step (b) providing a first return data pattern, and comparing said first return data pattern with said first address tag pattern;
- c. writing all addresses in ascending order for each of the plurality of memory elements with a first complemented address tag pattern;
- d. reading data from all addresses in ascending order for each of the plurality of memory elements, the reading step (d) providing a second return data pattern, and comparing said second return data pattern with said first complemented address tag pattern;
- e. writing all addresses in descending order for each of the plurality of memory elements with a second address tag pattern;
- f. reading data from all addresses in descending order for each of the plurality of memory elements, the reading step (f) providing a third return data pattern, and comparing said third return data pattern with said second address tag pattern;
- g. writing all addresses in descending order for each of the plurality of memory elements with a second complemented address tag pattern;
- and
- h. reading data from all addresses in descending order for each of the plurality of memory elements, the reading step (h) providing a fourth return data pattern, and comparing said fourth return data pattern with said second complemented address tag pattern.
An apparatus comprising:
- a. a plurality of memory elements wherein each memory element has a plurality of memory locations and each memory location is addressed by a unique address, each memory element further having an address port and a data input port;
- b. providing means coupled to said address port of each of said plurality of memory elements for providing a generated address thereto;
- c. concatenating means coupled to said providing means and further coupled to said data input port of each of said plurality of memory elements for concatenating said generated address of said providing means into a data word and for providing a corresponding portion of said data word to said data input port of each of said plurality of memory elements;
- and
- d. writing means coupled to said plurality of memory elements and further coupled to said providing means and to said concatenating means for writing said data word into said memory location specified by said generated address of said plurality of memory elements.
An apparatus comprising:
- a. a plurality of memory elements wherein each memory element has a plurality of memory locations and each memory location is addressed by a unique address, each memory element further having an address port and a data output port;
- a. providing means coupled to said address port of each of said plurality of memory elements for providing a generated address;
- b. concatenating means coupled to said providing means for concatenating said generated address of said providing means into an expected data word;
- c. reading means coupled to said plurality of memory elements and further coupled to said providing means for reading a read data word from a corresponding one of said plurality of memory locations of said plurality of memory elements specified by said generated address;
- and
- d. comparing means coupled to said concatenating means and further coupled to said reading means for comparing said expected data word with said read data word.
Dependencies are inferred from the claim text.