Patent ID: 7162660

Claim:
A semiconductor memory comprising: A. a memory section including: (a) a memory element array comprising a plurality of memory elements; (b) address selecting means for selecting the memory elements according to one or a plurality of normal addresses supplied externally or according to one or a plurality of test addresses supplied externally or generated internally; and (c) data selecting means having data writing means for being driven for writing or reading one or a plurality of externally supplied normal data or internally generated test data, and data reading means having a complementary output section for reading stored data from the memory elements with a positive logic or a negative logic and for generating a pair of complementary outputs including a positive and a negative of the read value; and B. a memory controlling section including: (d) computing means capable of performing inputting/outputting of, computing of, storing of, and controlling of data and control information; (e) a nonvolatile defect-and-fault recovery table for holding an inherent history of the semiconductor memory and for registering or updating one or a plurality of defects or faults according to a test result in a unit of address or in a unit of data selection path and alternative address(es) or alternative data selection path(s) with the units, the table being referred to for mapping; and (f) controlling and storing means for storing data, control or test information, or processing procedure thereof, C. wherein the memory element array is tested by designating one or a plurality of externally or internally generated test addresses, writing and reading externally or internally generated test data, and comparing the test data with original test data, whereby a defect or a fault related to the one or the plurality of memory elements and the data reading means is detected, and with processing by an internal or external computing means, an address or a data selection path containing the defect or fault is registered or updated in the unit of address or in the unit of data selection path in the defect-and-fault recovery table so that the number thereof is minimized on the whole, and a location or region of the defect or the fault is mapped to an alternative location or region, whereby the location or region of the defect or the fault is recovered, wherein, in the memory controlling section, the controlling and storing means for storing various information and process procedures perform, in addition to the storing, temporary storing of data or storing for temporary processing of data, so that asymmetry in terms of time between a write operation and a read operation of the memory element(s) is relaxed to attain a high-speed operation.