Abstract:
The present invention is embodied in a method and apparatus which permits the testing of a memory device by utilizing normally unused data write lines to conduct the results of the memory test operations to a memory controller or processor. The data read from a specific memory cell is input into a comparator through a data sense amplifier and compared to the data from another memory cell. When the data is not coincident, a switch is enabled causing a data write line to change states. The change of state of the data write line disables a buffer, causing it to output a tri-state signal. A controller detects and interprets the tri-state signal output from the buffer as improper memory functioning.

Description:
FIELD OF THE INVENTION 
     The present invention relates to a semiconductor memory, and in particular to a method and apparatus for testing a semiconductor memory by utilizing normally idle data write lines to conduct the data output results of a memory test to a memory controller. 
     BACKGROUND OF THE INVENTION 
     Memory tests on random access memory (RAM) integrated circuits, such as DRAMs and SRAMs and the like are typically performed by the manufacturer during production and fabrication and also by a downstream manufacturer of a computer or processor controlled system as well as by an end-user during computer initialization to determine if the circuits are operating as intended. The testing is typically performed by a memory controller or processor (or a designated processor in a multi processor machine) which runs a testing program. 
     Random access memories are usually subjected to data retention tests and/or data march tests. In data retention tests, every cell of the memory is written and checked after a pre-specified interval to determine if leakage current has occurred that has affected the stored logic state. In a march test, a sequence of read and/or write operations is applied to each cell, either in increasing or decreasing address order. Such testing ensures that hidden defects will not be first discovered during operational use, thereby rendering end-products unreliable. In order to reduce the number of address lines and time required to conduct a memory test, the memory test may be done in a so-called compressed mode in which banks of memory locations are tested in parallel, with the memory locations of one bank being tested against those of another, rather than one at a time. 
     An example of a conventional compressed memory test circuit is shown in FIG. 1. A random access memory device includes multiple bank memory arrays 10. Each array includes storage cells organized in rows and columns for storing data. Each storage cell is addressable, i.e. responsive to address select signals. Address specification is made by a row decoder and a column decoder (not shown), which are commonly shared by memory arrays. 
     When placed in a memory test mode, a predetermined test data pattern consisting of high binary logic voltage levels (high logic levels) and/or low binary logic voltage levels (low logic levels) is written concurrently into each cell of the bank of memory arrays 10. The test data stored in each cell is subsequently read from each cell and compared to data read from a parallel bank memory array cell by comparators 12 to determine if the compared data is in a mutually identical logic state. A properly functioning memory will have stored the identical logic state in each cell. The comparators 12 will output a signal based upon the coincidence or non coincidence of the compared data. The compared data is outputted on data lines 16 by MUX 14. Data lines 16 are connected to error detection circuits 18. Should the data from each compared cell not be coincident, indicating a defective memory cell, error detection circuit 18 will output a signal on one of a plurality of error detection lines 22, 27. The error detection lines 22, 27 are connected to tri-state data control lines 24 via logic circuitry 26. The tri-state data control lines are connected to outputs DQ0-DQ3. The outputs DQ0-DQ3 are connected to a controller or processor 20. 
     The signal output from outputs DQ0-DQ3 can be in one of three states: a HIGH logic level indicating a high binary logic voltage level, a LOW logic level indicating a low binary logic level, or a high impedance level, also known as a tri-state signal, in which case the lines do not cause any loading or sinking of the associated circuitry. If the compared data is coincident, indicating proper memory cell functioning, a signal as determined by the error indicating circuit 18 will be sent to the logic circuitry 26 via the error indicating lines 22, 27. The logic circuitry 26 will output a signal via tri-state data control lines 24 to outputs DQ0-DQ3. Outputs DQ0-DQ3 will conduct either a HIGH logic level or a LOW logic level to a controller 20, which will be interpreted by the controller 20 as a proper memory function signal. Should the compared data be non coincident, indicating a memory cell failure, a different signal than that indicating coincidence of data will be sent to the logic circuitry 26 from the error indicating circuit 18 via the error indicating lines 22, 27. The logic circuitry will output a signal representing a memory failure to outputs DQ0-DQ3 via tri-state data control lines 24. Outputs DQ0-DQ3 will conduct a tri-state signal to controller 20. The controller will interpret this signal as a memory operation failure. 
     The circuitry necessary for performing a memory test is required to be built onto the memory device. Lines dedicated solely for the error detection signals are typically provided, occupying space on the memory device. Although the read compression technique can be used to some extent to reduce the number of addressing lines needed for the memory test, memory devices of increasingly larger storage capacities or higher bandwidths have been developed which of necessity increases the number of data lines required for addressing and for providing the error test results to the processor or controller. As the memory devices include increasingly greater number of memory cells, there is a corresponding increase in the size of the memory device necessary to accommodate the additional circuitry and associated test lines. Thus, the problem exists of how to maintain the memory test function while utilizing decreased space within the device for the necessary associated testing circuitry. 
     The present invention has been designed to overcome some of the limitations associated with memory testing functions. 
     SUMMARY OF THE INVENTION 
     The present invention advantageously provides a method and apparatus which permits the testing of a memory device utilizing normally unused data write lines to conduct the results of the memory test operations to a memory processor or controller, thus decreasing the amount of data lines necessary within the memory integrated circuit. Specifically, write data lines can be used to conduct data representing the results of the memory test, whenever the data read and data write lines are not shared, thus removing the necessity for separate memory test data lines. 
     In a conventional memory design, the data write and data read lines are not, and indeed cannot, be active simultaneously. When a read operation is in progress, the data read lines are used to output data, while the data write lines are in an idle state. 
     Thus, in one aspect the invention provides a memory apparatus in which during a memory test operation, which may use a read compression technique, the idle data write lines are used to enable a buffer, which outputs tri-state data representing the results of the memory test to a memory processor or controller. 
     In yet another aspect the invention provides a method of operating a memory device in which during a memory test operation the results of the memory test are provided on the conventional unused data write lines to a memory processor or controller via a buffer. 
     In accordance with the present invention, a memory test is conducted by comparing from parallel read memory arrays predetermined test data previously written into the memory cells. Non-coincident data will cause a now shared data write/tri-state control line (normally idle during read operations) to change states, causing a buffer to output a signal indicating a memory error to a memory processor or controller. 
     The above and other objects, advantages and features of the invention will become more readily apparent from the following detailed description of the invention which is provided in connection with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic block diagram of a conventional compressed memory test circuit; 
     FIG. 2 is a schematic block diagram of a memory test circuit according to the present invention; 
     FIG. 3 is a functional block diagram of a memory device utilizing the present invention; and 
     FIG. 4 is a block diagram of a typical processor controlled system in which the present invention would be used. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     The present invention will be described as set forth in the preferred embodiments illustrated in FIGS. 2-4. Other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. 
     A test circuit according to the present invention is illustrated generally at 40 in FIG. 2 in schematic block diagram form. A random access memory device includes a plurality of memory bank 50 arrays, e.g. bank 0, bank 1, bank 2 . . . , each of which comprises storage cells organized in rows and columns for storing data. Data is written into a cell during a write operation via data input register 74, while determining the value of the contents of a cell is done during a read operation via data output register 76. Data output register 76 is comprised of a plurality of tri-state buffers 72. Each cell is addressable, i.e. responsive to address select signals. 
     Logic is necessary to decode address inputs to ensure that only a single cell outputs its contents when data is being read from the memory, and only a single cell has data stored in it when data is being written into the memory. In a memory array utilizing two-level decoding, two decoders are required. A row decoder 52 selects a physical word consisting of the number of bits in a row of the memory array, while a column decoder 54 selects one logical word, consisting of the number of bits of a physical word that are sensed and gated to the output one at a time, from the selected physical word. 
     The row decoder 52 and the column decoder 54 decode the memory address provided from address buffer circuit 58 to activate the cell for read or write transfer operations. 
     At the start of a memory test operation, a predetermined test data pattern consisting of high binary logic voltage levels (high logic level) and/or low binary logic voltage levels (low logic level) is concurrently written into each of the cells of the memory bank arrays 50 via data input register 74 and stored, as is well known in the art. Controller 80 will specify a plurality of addresses utilizing address compression, from which data sense amplifiers 60 will sense the data contained within each cell via bit lines 62. The data sense amplifiers 60 will output the data sensed within the specific cells from a first selected group of memory bank arrays 50 to one of a plurality of data read lines 64. The group of memory bank arrays 50 selected will be such that the data output (labeled data A or data B) from each data sense amplifier 60 will be conducted on a separate data read line 64. Thus, each data read line will carry only the data from a specific address of one memory bank array 50. 
     If the memory test is being done in a so-called compressed mode, banks of memory locations are tested in parallel with the memory locations of one bank being tested against those of another. Utilizing a compressed mode, once the read data (data A or data B) has been conducted to the data read lines 64, the data read from a second group of memory bank arrays 50 separate from and parallel to the first group (labeled tdr A or tdr B) is output to a plurality of comparators 66. Each comparator 66 will also read the data from the first group of memory bank arrays 50 carried on one of the data read lines 64. Comparators 66 will then compare the data from the first group of memory bank arrays (data A or data B) to the data from the second group of memory bank arrays (tdr A or tdr B). Thus, the stored data from cells of different memory banks will be compared with one another to determine if the data is coincident or non coincident. 
     The output of each comparator 66 is connected to the gate of a transistor 68. The drain of each transistor 68 is connected to one of a plurality of shared data write/tri-state control lines 70. The source of each transistor 68 is connected to ground. The data write/tri-state control lines 70 are idle during a read operation, remaining at a HIGH logic level. The shared data write/tri-state control lines 70 are output to the enable pins of tri-state buffers 72 contained in data output register 76. Tri-state buffers 72 are enabled when the signal on the enable pin is HIGH logic level. When tri-state buffers 72 are enabled, the data carried on data read lines 64 is output from tri-state buffers 72 to controller 80. If tri-state buffers 72 are not enabled, the resulting signal output from tri-state buffers 72 to controller 80 is a tri-state signal, i.e. neither HIGH logic nor LOW logic. Controller 80 is used to interpret the signal input from the tri-state buffers 72 during the memory test read operation. 
     In the compressed mode, the comparison of the data by comparator 66 will result in the output of one of two signals from each comparator 66 to its associated transistor 68. Should the compared data be coincident, indicating proper memory operation, the signal sent from each comparator 66 to its associated transistor 68 will maintain the transistor 68 in an OFF state. The data write/tri-state control line 70 to which each transistor 68 drain is connected will remain at a HIGH logic state. Tri-state buffer 72 to which the data write/tri-state control line 70 is connected will be enabled, thus the data carried by the data read line 64 will be input into controller 80. Controller 80 will interpret the data input, whether a HIGH logic state or a LOW logic state, as proper memory function and will not indicate an error in the memory operation. 
     If the compared data is non coincident, indicating a memory operation failure, the signal sent from that comparator 66 to its associated transistor 68 will turn that transistor 68 ON. The data write/tri-state control line 70 to which the drain of that transistor 68 is connected will be pulled to a LOW logic level by the turning on of the transistor 68. Tri-state buffer 72 to which the data write/tri-state control line 70 is connected will not be enabled due to the LOW logic signal input from the data write/tri-state control line 70. Thus, the output of tri-state buffer 72 to controller 80 will be a tri-state signal, i.e. neither HIGH logic level nor LOW logic level. The controller 80 will interpret the tri-state signal as a memory operation failure. The controller 80 consequently will indicate a memory operation error. 
     The determination of which cell is improperly functioning will be made by controller 80 depending upon which of the tri-state buffers 72 is not enabled. Since the transistors 68 for each memory test circuit are connected to a specific data write/tri-state control line 70 which in turn are connected to specific tri-state buffers 72, the information of the specific tri-state buffer 72 and memory addresses read as specified by the controller 80 will provide sufficient information for the controller 80 to determine which of the cells is improperly functioning. 
     In a non-compressed mode, the banks of each memory location will be tested one at a time, with the memory location of each bank being tested by the controller 80 against the predetermined test data pattern previously written into the memory banks. In the non-compressed mode, the data read from a memory bank will be carried on the data read lines 64. The shared data write/tri-state control lines 70 are idle during a read operation, remaining at a HIGH logic level. The shared data write/tri-state control lines 70 are output to the enable pins of tri-state buffers 72. Tri-state buffers 72 are enabled when the signal on the enable pin is HIGH logic level. When tri-state buffers 72 are enabled, the data carried on data read lines 64 is output from tri-state buffers 72 to controller 80. Since the data write/tri-state control lines 70 remain at a HIGH logic state during the non-compressed mode, tri-state buffers 72 are enabled. The data carried on data read lines 64 will be output through tri-state buffers 72 to controller 80 which will determine if the data read is coincident with the test data pattern previously written into the memory banks. Should the data be coincident, the controller 80 will not indicate a memory operation failure. If the data read is not coincident with the test data signal, the controller 80 will indicate a memory operation failure. 
     A typical memory device which would include a test circuit according to the present invention is illustrated generally at 200 in FIG. 3 in functional block diagram form. 
     The memory device depicted is a Synchronous Dynamic Random Access Memory (SDRAM) organized as a 4 meg, 16 bit memory. Bank memory arrays 202 include storage cells organized in rows and columns for storing data. Command decoder 210, included in a command controller 212, receives control signals to place command controller 212 in a particular operation sequence. Command controller 212 controls the various circuitry of SDRAM 200 based on decoded commands such as during controlled reads or writes from or to bank memory arrays 202. A specific address to determine the bank for which a read or write command is to occur is controlled via address register 208. A row address multiplexer 214 provides a row address to row decoder 216. Row decoder 216 decodes the row address from the row address multiplexer 214 to activate one of the lines corresponding to the row address for read or write transfer operations. Column decoder 218 activates lines corresponding to the column address for read or write transfer operations as provided by column address counter 220. Data is written into the storage cells via a data input register 204 and read from the storage cells via a data output register 206. 
     The test circuit illustrated generally in FIG. 2 is used to perform testing of the bank memory arrays 202 to determine proper operation. At the beginning of the memory test sequence, the predetermined test data pattern would be written into each cell of each memory bank 202 via the data input register 204. The test circuit and method as substantially described herein in reference to FIG. 2 would be used to perform a memory test to determine that each memory bank array 202 is functioning properly. The output of the memory test circuit would be carried by a shared data write/tri-state control data line, thus removing the need for separate lines to carry the results of the memory test circuit to the controller. 
     The present invention is not limited to DRAMs, as the present invention is equally applied to other random access memories such as a Static Random Access Memory (SRAM). 
     A typical processor system which includes a memory device with a test circuit according to the present invention is illustrated generally at 100 in FIG. 4 in block diagram form. A computer system is exemplary of a device having digital circuits which include memory devices. Most conventional computers include memory devices permitting the storage of significant amounts of data. The data is accessed during operation of the computers. Other types of dedicated processing systems, e.g. radio systems, television systems, GPS receiver systems, telephones and telephone systems also contain memory devices which can utilize the present invention. 
     A processor system, such as a computer system, generally comprises a memory device 102, a controller 80, a central processing unit (CPU) 104, input devices 106, display devices 108, and/or peripheral devices 110. It should be noted that a system may or may not include some or all of the aforementioned devices, and may or may not include multiple devices of the same type. 
     Memory device 102 includes a memory device with a test circuit 40 according to the present invention. The memory device 102 is connected to a controller 80, which is connected to CPU 104. CPU 104 controls the aspects of the processor system. 
     A memory test operation would be performed in the memory device substantially as hereinbefore described. The results of the memory operation test would be carried by shared data write/tri-state control lines to tri-state buffers which will output a signal based on the results to controller 80, which will consequently interpret the results to determine if there is a memory operation failure. The controller 80 would then output a signal to CPU 104 indicating the results of the memory test. 
     Reference has been made to a preferred embodiment in describing the invention. However, additions, deletions, substitutions, or other modifications which would fall within the scope of the inventions defined in the claims may be found by those skilled in the art and familiar with the disclosure of the invention. Any modifications coming within the spirit and scope of the following claims are to be considered part of the present invention.