Semiconductor storage system

Abstract: A semiconductor storage system comprises a semiconductor storage element array (1) including a plurality of semiconductor memory elements, a data bus (2) for transferring data to said semiconductor storage element array, an address bus (4) for inputting an address to said semiconductor storage element array, a read/write controller (5) for controlling read/write of the data written to said semiconductor storage element array, an interface control module (6) for controlling a transfer/receipt of data and commands to and from an outside system, a microprocessor (8) for generalization-controlling said read/write controller and said interface control module, a defect address memory (9) for storing and outputting information on an address where at least one defective bit exists and an alternate address to be alternated with said address, and a defect address manipulating circuit (12) for alternating said alternate address with said address where said defective bit exists in accordance with an output of said defect address memory.

Description: The present invention is directed generally to a semiconductor storage system, and more particularly, to a semiconductor storage system capable of avoiding when a defect is present in elements of a constituent semiconductor storage element array, data read/write errors resulting therefrom and capable of effecting high-speed accessing. In recent years, semiconductor memory manufacturing technology has advanced. This advancement has made it possible to provide a semiconductor memory based storage module of an external storage system of a computer which has hitherto comprised a fixed disk drive. This type of device is exemplified by RAMSTOR made by Western Automation Corp. in USA or disclosed in Japanese Patent Laid-Open No. 32420/1990 (Japanese Patent Application No. 181873/1988). FIG. 1 is a schematic block diagram showing one example of the construction of such a conventional semiconductor storage system. Referring to FIG. 1, the numeral 1 represents a semiconductor storage element array; 2 a data bus; 3 a DRAM controller; 4 an address bus; 5 a DMA controller; 6 an I/F (interface) control module; 7 an ECC circuit; and 8 a microprocessor. The operation thereof will hereinafter be described with reference to the accompanying drawings. A command given from a host computer defined as a host system is input to the I/F control module 6 for controlling a transfer and receipt thereof. The command is thereafter decoded by the microprocessor 8 for generalization-controlling the DMA controller and the interface control module. The command is executed thereby. A dominant command is a transfer command, and the data transfer is executed by the DMA controller 5. The microprocessor 8 calculates an actual data transfer start address and a data transfer quantity from a transfer data quantity and a transfer start logic address of the data specified from the host system. The data transfer start address and the data transfer quantity are imparted to the DMA controller 5. If a defect can be seen in the semiconductor storage element array 1, the defect is detected by self-diagnosis at the starting time. The calculations are effected to eliminate the defect. The DRAM controller 3 controls data read/write timings. The DRAM controller 3 reads data from the semiconductor storage element array 1 into which the data is stored and gives a write timing signal. An address for read data or write data is given via the address bus 4. The read data or the write data is transmitted via the data bus 2. The ECC circuit 7 corrects the error in the read or write data, and reading thereof is then effected. The ECC circuit 7 generates and adds error correction data. The error correction data is written together with the previous data. Disclosed in Japanese Patent Laid-Open No.32420/1990 (Japanese Patent Application No.181873/1988) is a technique by which an interface between the outside and a semiconductor file device, i.e., a modulation/demodulation circuit incorporated into the system is compatible with the conventional magnetic disk drive. Based on this technique, the I/F control module 6, the ECC circuit 7 or a defect alternate function are entrusted to the controller itself for the magnetic disk. However, this type of conventional semiconductor device constructed in the manner described above, presents a problem. It takes much time to alternate deteriorated addresses and defective data by use of the ECC circuit 7, i.e., several tens of µs are required. This produces a rate-determining factor, thereby probably causing a drop of data transfer rate to the host system. To avoid this drop, it is required to maintain, within the semiconductor storage system, a 1.5-fold internal transfer rate as high as an external transfer rate between the host system and the semiconductor storage system. It is also required that an FIFO (first-in and first-out) buffer memory having a capacity as large as 1 MB be provided to properly perform the transfer between the outside and the inside at different transfer rates. The following is a description of additional inconveniences incidental to the technique disclosed in Japanese Patent Laid-Open No. 32420/1990 (Japanese Patent Application No. 181873/1988). An interface identical to the interface of the conventional magnetic disk drive is employed. As a result, initialization is needed every time the power supply is turned ON to establish the alternate address. The initialization requires much time. Besides, a data area corresponding to a data gap of the magnetic disk becomes redundant. The substituting process is effected on track or sector unit. The portions undergoing the substituting process increase in number. The arises a further problem incidental to the conventional device. In a state of error produced during the operation, a soft error restorable by the ECC circuit advances into a hard error unrestorable by the ECC circuit. This defect is turn damages the data. Due to the reasons outlined above, the number of allowable defects for a single device is limited. EP-A-02 42 981 describes a semiconductor memory device which comprises a regular memory cell array and a redundancy memory cell array, a data bus, an address bus, read/write controller means, a defect address memory and a defect address manipulating circuit. The preamble of claim1 is based on this prior art. It is an object of the present invention, which has been devised in the light of the foregoing problems, to provide a highly reliable semiconductor storage system capable of reducing the time required for processing defects, capable of employing a good number of inexpensive semiconductor storage elements containing many defective bits as a semiconductor storage element array and capable of effecting an alternation before an error caused during an operation is developed into a hardware error. The foregoing object is accomplished by the features of Claim 1. In the semiconductor storage system, the defect address memory and the defective bit memory are composed of rewritable nonvolatile memories. When a data error is detected in the ECC circuit, the positional information of an address where the error is caused is written to the defect address memory. The positional information of the address and the positional information of a bit where the error is caused at an address where the error is produced are written to the defective bit memory. In the semiconductor storage system, the defect address and the defective bit are detected before delivery. If detected, the positional information thereof is given beforehand to the defect address memory and the defective bit memory, respectively. In the semiconductor storage system, when the defect address or the defective bit is detected during an operation, the positional information thereof is given respectively to the defect address memory and the defective bit memory and additionally registered in sequence. The semiconductor storage system includes a counter for counting up the number of recoverable (i.e. correctable) errors detected in the ECC circuit. When counting the number of the recoverable errors a predetermined number of times at the same address, the address is alternated with another address. The semiconductor storage system includes a serial port connectable to a personal computer or the like. Contents of the defect address memory and the defective bit memory are rewritable in an on-line status. In the semiconductor storage system, external dimensions, mounting dimensions, connector dimensions and a control interface are the same as those of a conventionally used fixed disk drive. A defect address or a defective bit is detected by sequentially writing and reading predetermined test patterns at all addresses and by comparing the written test pattern with the read test pattern; and when detecting an existence of the defect address or the defective bit, the defect address or the defective bit is, after identifying a type of a collective state of the defective bit or the defective bit, alternated corresponding to the type. Where the defect in the semiconductor storage element array 1 is derived from a defect address, the defect address manipulating circuit 12 alternates the defect address with another address previously stored in accordance with the output of the defect address memory 9. Where the defect is due to a defective bit, the defective data manipulating circuit 13 replaces the defective data bit at the defect address with another data bit stored beforehand in the defect alternate semiconductor storage element 11 in accordance with the output of the defective bit memory 10. The data is thus alternated. The defects can be stored in the defect address memory 9 and the defective bit memory 10 which are composed of EEPROMs. The defects can be additionally stored in advance before the delivery or during the operation. The defects can be rewritten and stored also in the on-line operation via the serial port 15 provided in this system by use of the personal computer 17. The errors recoverable by the ECC circuit 7 are detected. The counter 14 counts up the plurality of recoverable errors a predetermined number of times. In this case, the block including that address is duplicated in the separate free region. From that time onwards, when receiving an access command of this same block, the microprocessor 8 automatically accesses a translation address of the alternate destination. At the same time, the contents of the defect address memory 9 and the defective bit memory 10 are updated together. The objects and advantages of the present invention will become apparent during the following discussion taken in conjunction with the accompanying drawings, in which: Fig. 1 is a schematic block diagramm illustrating a conventional semiconductor storage system; Fig. 1 is a block diagramm depicting a whole configuration of a semiconductor storage system in one embodiment of this invention; Fig. 3 is a block diagramm illustrating the semiconductor storage system; FIG. 4 is a diagram showing a semiconductor storage element array and attributes of defective bits; FIG. 5 is a schematic circuit diagram; FIGS. 6 and 7 are diagrams each illustrating an internal format of an EEPROM; FIG. 8 is a circuit diagram showing a defective data manipulation circuit; and FIG. 9 is a flowchart. One embodiment of this invention will be described with reference to the accompanying drawings. FIG. 2 is a block diagram showing a whole configuration in this embodiment. Referring to FIG. 2, the numeral 100 designates a semiconductor storage system according to the present invention. The numeral 110 denotes an SCSI I/F (Small Computer System Interface); 120 an intra-system unit identification module; 130 a memory control module; 140 a data transfer module; 150 a main unit; and 160 - 163 DRAM units. The respective components will be explained. The SCSI I/F 110 is conceived as a response operating module between the DRAM unit and a host computer 16. A response to a section given from the host side via an SCSI bus, responses to decode of commands, messages and statuses and also sections are all processed based on exchanges between a microprocessor which will be mentioned later and SCSI chips. The SCSI chips employed for the SCSI I/F 110 are a 16-bit bus version. Combined with the fact that a bus width of the microprocessor in this embodiment is 16 bits, a highly efficient transfer of a 2-byte width is attainable. As a result, a frequency of the memory access is decreased, thereby reducing consumption of electric power. This interface processes a command of the SCSI I/F in the following procedures. When a selection from the host system (SCSI controller) is made, a command mode automatically becomes available. After receiving the command, an interruption is caused in the SCSI chips. The SCSI chips read a content of the buffer for the interface and decode the command. The operation (e.g., data transfer) starts based on the decoded content. Next, the intra-system unit identification module 120 automatically recognizes a necessary number of various units attached in arbitrary slot positions within the system. The following is a description of how the intra-system unit identification is carried out. Intrinsic address numbers are given to respective slots 151 - 153 of a mother board of the main unit 150. A 4-bit address number is sent to the DRAM unit 160 interposed therebetween. Given to each DRAM unit is a 4-bit unit type indicating its type. An address line and a unit type line are led from the microprocessor 8 to each DRAM unit. The unit of an address in which the address specified by the microprocessor 8 coincide with the address number transmits a unit type of its own via the unit type line. The DRAM unit concerned is selected through the unit address line by utilizing the function described above after effecting a logic/physical conversion of an address (logic address to physical address conversion). An intra-unit page is specified through a page setting line. With this arrangement, a 32 MB memory space of the semiconductor storage element array is sectioned into 8 MB unit pages, and the control thereof is thus performed. The number of pages per unit and the number of units per system are set in a table on the microprocessor 8 by a unit type address search when starting the system. The page number and the unit number are referred by the logic/physical conversion. Even when the system is working, a unit packaging status is monitored. Hence, the units readily expand or contract in size. Next, in the memory control module 130, RAS control, CAS control and refresh control need preparation of control circuits (IC) every 16 MB unit, thus providing a mapped I/O of a CPU. Fundamental clocks are constantly given, whereby refreshing is performed at intervals of a constant time. An future address expansion requires the provision of a data latch for expansion, and a page expansion per 8 MB is carried out. Page setting involves the use of a unit address register (4-bit) in the main unit and a page setting register (4-bit) therein. A page within the DRAM unit is expandable to 16 pages, i.e., expandable to a 16 MB DRAM based DRAM unit. The DRAM controller 3 carries out the memory control and refreshing as well. A 11-bit data latch is adopted as an address latch for setting the address of the semiconductor storage element array. The DRAM controller 3 is disposed on the 16 MB memory unit (two pieces of controller 3 for a 32 MB DRAM unit). A refreshing timing of each unit is deviated by deviating a reset release timing of each DRAM controller 3 within the system. Consumption of electric power is thereby reduced. Next, the data transfer module 140 effects the data transfer associated with the read/write operations from and to the DRAM. The transfer is performed not via the CPU but directly between the SCSI controller and the DRAM by use of the DRAM controller 3 which will be stated later. The operation is classified into a write operation and a read operation. The write operation is intended to write the write data from the host system to the DRAM. The data of 1-byte width transmitted via the SCSI I/F is attached with a 7-bit ECC per 4 byte and written to the DRAM on a 39-bit unit. The read operation is intended to read the data from the DRAM to transfer the data to the host system. The 39-bit data read from the DRAM is, after an error has been detected and corrected in the ECC circuit 7, transferred via the SCSI I/F to the host system. A transfer request sent from the host system (SCSI controller) is given by use of a logic block number of a constant length and the number of transfer blocks. This request is converted into an address space within the system. This is further converted into a transfer start address (relevant DRAM unit and relevant address within this unit) and the number of data transfer bytes. The transfer request is thus given to the DRAM. This transfer is executed mainly by the microprocessor 8. The microprocessor 8 has the following characteristics. The microprocessor 8 includes an internal 32-bit/16-bit bus, and a data transfer efficiency is thereby enhanced. The operation can be performed with a low consumption of electric power by using a sleep mode and a stop mode. The operation described so far is a DMA transfer. When effecting a comparison between the data, a program transfer is carried out. An inter-memory data transfer is effected by using the program without using the DMA. This is used for a pass operation when an error is caused in the ECC circuit 7. FIG. 3 is a block diagram showing this embodiment. A semiconductor storage element array 1 contains more than one defective bits. The DRAM controller 3 is conceived as a control module for controlling read/write of the data thereof. An address bus 4 composed of a plurality of bits serves to impart a start command to the DRAM controller, provides an address for reading and writing to the semiconductor storage element array and transmits the address from a DMA controller 5 for controlling the data transfer to the semiconductor storage element array 1. A data bus 2 composed of a plurality of bits serves to transmit the data to the semiconductor storage element array 1 from the ECC circuit 7 for detecting and correcting a data error. The microprocessor 8 is a central processing unit for controlling the DMA controller 5, the ECC circuit 7 and the I/F control module 6. A defect address memory 9 is a memory for imparting the information on defective and substitutive addresses stored therein to a defect address manipulation circuit 12 interposed in the address bus 4. A defective bit memory 10 is a memory for imparting the information on defective and substitutive data stored therein to a defective data manipulation circuit 13 interposed in the data bus 2. A defect alternation semiconductor storage element 11 is an element for storing the data which alternates with the defective bits of the semiconductor storage element array 1. A counter 14 counts errors in the software. A serial port 15 is a connecting portion to an external personal computer 17 of the microprocessor 8. A host computer 16 is connected via an interface to the main system. An I/F control module 6 controls the transfer/receipt of the data and commands. The following is a description of the operation of the embodiment. Command issued from the host computer defined as a host system are input to the I/F control module 6 for controlling the transfer/receipt. The commands are thereafter decoded by the microprocessor 8 for generalization-controlling the DMA controller 5 and the I/F control module 6. Transfer commands are dominant. The data transfer is executed by the DMA controller 5 as well as by the ECC circuit 7. The microprocessor 8 calculates an actual data transfer start address and a data transfer quantity from the data transfer start logic address and transfer data quantity which are indicated from the host system. The calculated results are imparted to the DMA controller 5. The DRAM controller 3 controls timings at which the data are read and written. The DRAM controller 3 transmits data read/write timing signals to the semiconductor storage element array 1 in which the data are stored. The address for the read data or the write data at that time is given through the address bus 4. The read data or the write data is transmitted via the data bus 2. FIG. 4 is a diagram showing the semiconductor storage element array and attributes of the defective bits. As illustrated in FIG. 4, a memory space of the semiconductor storage element array 1 is three-dimensionally expressed by axes X, Y and Z. The X-axis represents ROW, while the Y-axis represents COLUMN. Thirty two pieces of semiconductor storage element arrays 1 which is intended to store the data, are provided for the data. Seven pieces of element arrays 1 are provided for ECC of the data. Besides, one block incorporates two pieces of 4 Mb DRAMs referred to as a defect/alternation semiconductor storage element 11 for data alternation. Two blocks are packaged in 1 DRAM unit. A single piece of defect/alternation semiconductor storage element 11 is employed for ROW alternation. A single piece of another semiconductor storage element 11 is used for COLUMN alternation. The address space consists of 2048 ROWs x (1984 + 63 + 1) COLUMNs. A value 63 represents a COLUMN shift alternate area, and a remaining value 1 is employed as a CE address for self-diagnosis. A defect/alternation method will next be explained. The defect alternation is a technique of effecting the read and write by steering clear of the defective bits existing on the DRAM. This technique is the key for attaining an inexpensive and highly reliable system capable of handling the DRAM on which the defects probably exist. To attain this system, the following measures are taken in this embodiment. An error is detected during an execution of data transfer command in the self-diagnosis at the starting time and further in the system working state as well as in the production process. Performed in this case from that time onwards is an operation of physically substituting the defect address so as not to access the defect address or replacing the defective data line. The defective information when alternating the defect is managed limitedly on the unit of the DRAM unit. Hence, an EEPROM (8K × 8 bits) is loaded as a defective bit memory 10 on a DRAM unit 160. The defects are classified into the following four types. The memory space in this system is configured by stacking 39 pieces of 4 Mb DRAMs. It is assumed that defects exist in this memory space. A point type defect 18a is that the address does not continue. An XY type defect 18b is that the address continues in the ROW or COLUMN direction within the single piece of DRAM. A Z type defect 18c is that the defects exist in the same address of the plurality of DRAMs. A pool type defect 18d is that the address continues in the ROW and COLUMN directions within the single piece of DRAM. The following two types of defect alternating methods are employed in combination to efficiently substitutively process the four kinds of defects. One of the alternating methods is a data alternation. This aims at substituting the defective portion with data of the memory for alternation. A redundant memory for defect alternation is provided. In the data at the address where the defect exists, the data of the defective bits is replaced with the data of the memory for defect substitution. To save the memories for storing the defective positions, the alternation is effected on the ROW and COLUMN units. Two pieces of DRAMs (having no defect) both for ROW alternation and for COLUMN alternation are required as memories for defect substitution. The defective information is stored in the defective bit memory 10 in the DRAM unit 160 to output the number of bit where the defect exists at the defect address (ROW or COLUMN). A sector of the data line is changed over by this outputting. At the defect address (ROW or COLUMN), a defective bit output is replaced with an output of DRAM for defect alternation. The defective bit memory 10 is, hereinafter explained in detail, classified into a ROW memory and a COLUMN memory. These memories are, as illustrated in FIG. 6, supplied with the same addresses with the DRAM and thereby operate. In the contents stored, low-order 6 bits indicate the number of bits to be alternated at that address, while MSB indicates an alternate flag. These bits become significant after being alternated. Supposing that a defective bit such as 18a exists in the fifth column of, e.g., the third DRAM from the upper part of the memory array, the content of an address 5 of a COLUMN alternate EEPROM 10b with respect to a COLUMN alternate storage element 11a is given by 110000 × 1. This implies that the third DRAM (corresponding to, i.e., the third bit) from above is to be alternated. A second alternate method is a shift alternation. The shift alternation is intended to translate the address to steer clear of the defect address. The defective information serves to modify, when the column where the defect exists is specified to the EEPROM in the DRAM unit, the address specified by a defect address manipulating circuit 12, i.e., an adder placed on the column address line, into which a constant sufficient to shift the column address is stored to avoid that portion. In general, the EEPROM is long of access time (150 - 250ns), and hence a content (serving as a latter half of addresses of the column data alternate EEPROM) of the EEPROM 10a is employed after being temporarily loaded into an SRAM (× 8). An given address of the SRAM is the same as the column address of the DRAM. An address shift quantity at that address is, as illustrated in FIG, 6, stored by low-order 6 bits. If isolated three-dimensionally as in the defective bit 18a, the data bits are replaced (data alternation) in the case of continuing one-dimensionally as in the defective bit 18b. In the case of expanding two-dimensionally as in the defective bit 18c, it is appropriate to alternate the address (shift alternation) when being considerably large as in the defective bit 18d. The following is a description of alternate procedures depending on the time or place where the defect is detected. The defect is classified into the following three types according to the place where the defect is detected. (1) The defect found out by a memory check before being delivered. (2) The defect found out when starting the system. (3) The defect found out during an operation of the system. The defect (1) is detected while comparing the write data with the read data in combination with variations in ambient conditions such as a voltage and a temperature. The defect (2) is detected by writing and reading the data to and from the whole memory space during a period from 30 seconds to one minute after turning ON the system power supply. After the defect has been detected, alternate processing is carried out, and READY is output. The detected defects (1) and (2) are, when being found out, so processed as to be alternate-registered in the defect address memory 9 and the defective bit memory 10. Pieces of such defect processing information are accumulated every time the defect is found out. In the case of (1), the alternation is effected beforehand on the unit of the DRAM unit 160 at an ETF (Error Test Format) stage especially during the production process. Even in the case of (3), the same processes as those of (1) and (2) are eventually executed. However, the working data is not actually lost, and the following procedures are therefore taken. If errors recoverable by the ECC circuit 7 are detected, the microprocessor 8 counts the recoverable errors at the same address. There exists a probability that if counting is effected a plurality of times, the errors are eventually developed into irrecoverable errors. Therefore, a predetermined number of counting operations are to be executed, and the block containing that address is duplicated in a separate free region. When receiving an access command of this block from that time onwards, the microprocessor 8 stores a translation address and automatically accesses the address of an alternate destination. At the same time, the alternate process is, as in the case of (1) and (2), effected also at this defect address. However, the defective alternation is carried out on the ROW or COLUMN unit. It is therefore required that the alternate process be effected after performing the alternate unit duplication so as not to spoil other necessary data. For this reason, when turning ON again the power supply, the translation address information of the microprocessor has disappeared. The content of the defect memory has, however, been updated. Hence, the address at which the soft error (not hard error) took place a plurality of times has already been alternated, and, once again, no accessing is effected. The functions for production and maintenance are kept otherwise, i.e., by forcibly making the alternate process from outside or giving a function to fetch the defect alternation information to outside. Besides, the system provided with a serial port 15 is connectable via this port 15 to a personal computer 17. It is possible to rewrite the defect address memory 9 and the defective bit memory 10 via this serial port 15. The system is capable of execution even in an on-line operation. For this reason, if the address exhibiting a high error frequency on the system is known, the H/W alternation can be forcibly executed without stopping the system. A configuration under a defect alternate condition is such that the content of the defective bit memory 10 can be read. It is feasible to examine situations of defect alternation at the time of delivery and operation. The procedures for deciding which alternate method to be applied to the object for alternation at the defect alternating time are selected considering both a test method of the DRAM and the kind of defect. According to the present invention, the defect is alternated in the following manner. If an error irrecoverable by the ECC circuit 7 is detected during an execution of data transfer command via the I/F control module 6 by the host computer 16, the address is physically alternated (shift alternation) so as not to access the defect address from this time onwards on the basis of the address information when the error is caused. Alternatively, the defective bit data is replaced (data alternation). The following is an explanation of the operation when determining the presence and kind of defect in advance of alternating the defect. Driven is a diagnosis program for finding out a defect at the time of delivery or system actuation. This diagnosis program acts to check whether or not the respective bits of the semiconductor element array 1 are capable of reading and writing correctly based on a predetermined algorithm. For instance, the predetermined algorithm is capable of judging whether the respective bits are normal or not by making a comparison after writing a predetermined data pattern to the semiconductor element array 1 and reading again the pattern therefrom. The individual bits are thus examined, thereby knowing where the defective bits exist. As a result, a map of the defective bits is prepared. After the defective bit map has been prepared, there is made a judgment to define the type of defect from the point type defect 18a, the XY type defect 18b, the Z type defect 18c and the pool type defect 18d. If the defective bits do not continue in the three-dimensional directions, the defect is judged as the point type defect. If two or more defective bits continue in the ROW (X) direction or the COLUMN (Y) direction, the defect is judged as the XY type defect. If a plurality of defective bits exist in the Z direction (i.e., at the same address), the defect is judged as the Z type defect. If defective bits exist both in the ROW (X) direction and in the COLUMN (Y) direction, the defect is judged as the pool type defect. The operations of detecting the existences of the defect address and bits and identifying the types thereof will be explained with reference to FIG. 9. FIG. 9 is a flowchart for detecting and identifying the defects. The operation starts at a step S1. At a step S2, a predetermined test pattern is written to the present system and stored therein with respect to all the addresses. Subsequently, the test pattern is read based on the stored data. The thus read test pattern is compared with the predetermined test pattern written thereto. Whether everything has been finished or not is determined. If finished, the operation moves to a step S8. If not finished, the operation moves to a step S3 where the predetermined test pattern is written. The operation moves next to a step S4 where the predetermined test pattern is read. The operation then moves to a step S5. At a step S5, the comparison with the predetermined test pattern is made. If identical, the operation shifts to a step S6 where a predetermined test pattern is written with respect to the next address. The operation returns to the step S2 for reading and making a comparison. The test pattern read at the step S5 is compared with the predetermined test pattern written. If not identical, the operation moves to a step S7. The defective bits are temporarily stored at the step S7. A defective bit map is prepared, and the operation moves to the step S6. The operation then returns to the step S2 for sequentially effecting write/read and comparison of the predetermined test pattern with respect to the next address. At a step S8, when finishing the above-described comparisons with respect to the whole addresses, there is taken action to see whether the defective bit existing in the defective bit map is a point type defect or not. If the defective bit is classified as a point type defect, and no other type of defective bits exist, the operation moves to a step S12 and then comes to an end. The operation is the same when no defective bit exists in the defective bit map from the beginning. If the defective bit is not the point type defect, the operation moves to a step S9. At the step S9, an action to see whether or not the defective bit is classified as an XY type defect is taken. If the defective bit is an XY type defect, and no other type of defective bits exist, the operation moves to a step S12. Whereas if the defective bit is not the XY type defect, the operation moves to a step S10. At the step S10, whether the defective bit is the Z type defect or not is examined. If the defective bit is the Z type defect, and there are no other types of defective bits, the operation advances to a step S12. Then, the operation is terminated. Whereas if the defective bit is not the Z type defect, the operation moves to a step S11. At the step S11, whether the defective bit is a pool type defect or not is examined. If the defective bit is a pool type defect, and there are not other types of defective bits, the operation moves to the step S12. Then, the operation comes to an end. Whereas if the defective bit is not a pool type defect, the operation moves to the step S12 and comes to an end, as it has already been determined that there are no other types of defective bits. A bit position of the defective bits which has thus been judged as a point type defect or an XY type defect, is stored in the defective bit memory 10 as a result of effecting the bit alternation. In the case of a Z type defect, an address is stored in the defect address memory 9 as a result of effecting the address alternation. In the case of a pool type defect, either bit alternation or address alternation may be carried out. However, FIG. 4 shows bit alternation. Note that the defective bit memory 10, as illustrated in FIG. 5, consists of a ROW alternate EEPROM 10a and a COLUMN alternate EEPROM 10b. If a defective bit exists in the ROW (X) direction, the bit position is stored in the ROW alternate EEPROM 10a. If a defective bits exists in the COLUMN (Y) direction, the bit position is stored in the COLUMN alternate EEPROM 10b. In the case of the point type defect or the pool type defect, both of the EERPROMs are available. FIG. 6 is a diagram showing an internal format of the COLUMN or ROW alternate EEPROM. The address (ADRS) ranges from 0 to 2047. Each address is composed of 8 bits. The addresses show one-to-one correspondence to the addresses of the semiconductor storage element array. Six bits out of 8 are employed for indicating a defective bit position in 32 bits specified by the address. Stored in one bit is a flag indicating whether those 6 bits are effective or not, i.e., whether the defect alternation is performed or not. If the 16th bit of the ROW address 100 is to be diagnosed as the point type defect by the diagnosis program. Based on this assumption, when registering this in the ROW alternate EEPROM 10a, the address 100 of the ROW alternate EEPROM 10b becomes as follows: LSB ↔ MSB address 100 0 0 0 0 1 0 x 1 The 100th ROW of the ROW alternate portion llb of the semiconductor storage element 11 is the ROW to be alternate. Next, a format of the defect address memory 9 will be described with reference to FIG. 7. The address is alternated by effecting a shift in the COLUMN direction. For this purpose, a COLUMN shift alternate area is provided, and a maximum of up to 63 addresses can be alternated. As illustrated in the Figure, the COLUMN address (ADRS) ranges from 0 to 2047. Each address is composed of 8 bits. A shift quantity of the address is put in 6 bits among 8 bits. A flag informing that shifting is to be effected is stored in one bit. For example, if it is judged that a COLUMN address 100 has to be alternated with an address 102, the addresses in the neighborhood of the address 100 of the defect address memory 9 are given as follows: Namely, n is continuously stored from an address-(n-1) onwards where that defect exists with respect to the n-th defect. With this arrangement, when accessing the address 100, the shift quantity is actually added, and it follows that an address 101 is accessed. Similarly, in the case of the address 101, an address 103 is accessed. When accessing an address 102, it follows that an address 104 is in fact accessed. The addresses 100 and 102 are exclusive of accessing. Next, there will be made an explanation of how the address alternation is automatically performed at the actual accessing time. To start with, an address to be accessed is given from the microprocessor 8 to the DMA controller 5. The DMA controller 5 gives an instruction of the alternate address to the defect address manipulating circuit 12 on the basis of the defect address information already stored in the defect address memory 9. The defect address manipulating circuit 12 alternates the alternate address stored in the defect address memory 9 with the defect address. As illustrated in FIG. 5, the defect address manipulating circuit 12 incorporates an adder constructed therein. The defect address memory 9 outputs a shift number at which the address is shifted. If the defective bits exist at, e.g., the addresses 100 and 200, 1 is output at the addresses 100 through 199. At the addresses from 200 onwards, 2 is output. Given to the semiconductor storage element array 1 are addresses obtained by the adder adding the number of address shifts to the address given by the DMA controller 5. With this arrangement, the address can be set to steer clear of the defective bits. Next, the alternation of the defective bit at the defect address will be explained. Stored in the defective bit memory 10 is the information on defective positions of wrong data bits at the defect addresses. In this defective bit memory 10, the addresses are allocated in the same manner with the semiconductor storage element array 1. To be specific, the ROW-directional addresses of the semiconductor storage element array 1 are at the same time continuous to the ROW-directional addresses of the ROW alternate semiconductor storage element. When specifying X = 100 of the semiconductor storage element array 1, the data of X = 100 of the ROW alternate semiconductor storage element is simultaneously selected. The alternate data stored in the defect alternate semiconductor storage element 11 is input via a data bus 2a to a defective data manipulating circuit 13. At this time, the defective data manipulating circuit 13 functions as a selector. If it is judged that the ROW or COLUMN concerned is defective in the defective bit memory 10, the defective data output from the semiconductor storage element array 1 is discarded within the defective data manipulating circuit 13. Instead, the alternate data is selected from the defect alternate semiconductor storage element 11 and then output. The defective bit memory 10 receives the data transfer, wherein the addresses are given respectively to ROW and COLUMN from the DMA controller 5. The defective data manipulating circuit 13 is constructed as a selector. The defective data manipulating circuit 13 does not permit selective transmission of the defective data output from the semiconductor storage element array 1. This circuit 13 admits the transmission of only the normal data. The defective bit memory 10 outputs defective bit positions at the defect addresses. By this operation, the defective data manipulating circuit 13 replaces the defective data existing in the semiconductor storage element array 1 with the correct alternate data existing in the defect alternate semiconductor storage element 11. Next, the defective data manipulating circuit 13 will be described referring to FIG. 8. FIG. 8 is a circuit diagram depicting the defective data manipulating circuit 13. In the defective data manipulating circuit 13, one portion 2b of the data bus 2 leading to the ECC circuit 7 is connected to the other portion 2c of the data bus 2. A data bus 2a is separately connected to the defect alternate semiconductor storage element 11. The data is transferred via the defective data manipulating circuit 13. The information on the defective bits is input from the defective bit memory 10 to ROW and COLUMN, respectively. In the defective data manipulating circuit 13, the data transfer is controlled by the DMA controller 5. The data is input via the one portion 2b of the data bus 2 leading to the ECC circuit 7 to the defective data manipulation circuit 13. In this case, when the data is normal, i.e., the data contains no defect, the data is input to a buffer circuit 13a in the defective data manipulating circuit 13 and output via this circuit 13a. The data is transferred via the other portion 2c of the data bus 2 to the semiconductor storage element array 1. At this time, if the data contains defects both in ROW and COLUMN of the semiconductor storage element array 1, the data is input to an AND circuit 13b together with inputting of the defective bit information from the defective bit memory 10. The data is output via the AND circuit 13b to the separately connected data bus 2a and transferred to the defect alternate semiconductor storage element 11. When transferring the data from the semiconductor storage element array 1 to the ECC circuit 7, the data is input via the other portion 2c of the data bus 2 to the defective data manipulating circuit 13. If the data is normal, the data passes through a multiplexer 13c and is transferred via a buffer circuit 13d from the one portion 2b of the data bus 2 to the ECC circuit 7. Whereas if the data is not normal, the data is input to the multiplexer 13c together with outputting of the defective bit information from the defective bit memory 10 but is not transferred to the ECC circuit 7. When the data is transferred from the defect alternate semiconductor storage element 11 to the ECC circuit 7, the data is input via the separate data bus 2a to the defective data manipulating circuit 13. Subsequently, the data is transferred via the multiplexer 13c and the buffer circuit 13d from the one portion 2b of the data bus 2 to the ECC circuit 7. Either the address alternation or the data replacement may be effected. If one defect address contains one defective bit, the data bit is replaced. If the defect address contains a plurality of defective bits, the address is alternated. Note that the alternate addresses and the alternate data bits are written to and stored in the defect address memory 9 and the defective bit memory 10 which are composed of rewritable nonvolatile memories. Since the defect address memory 9 and the defective bit memory 10 are constructed of the rewritable nonvolatile memories, the contents thereof are updated and accumulated every time an error is detected. Preventive maintenance will next be explained. If the errors recoverable by the ECC circuit 7 are detected, the counter 14 incorporated into the microprocessor 8 counts up the recoverable errors. When counting up the recoverable errors plural times on the same address, a block including that address is duplication-transferred into a free region of an unused separate rewritable nonvolatile memory when effecting a predetermined number of counting operations. It is because there is a large probability that those recoverable errors will eventually be developed into irrecoverable errors. In the case of receiving an access command of this block from that time onwards, the microprocessor 8 has already stored the translation address and therefore automatically accesses the alternate address. The information on this address position is written to the defect address memory 9 through the DMA controller 5 and the address bus 4 as well when turning ON the power supply later. The information on an error occurrence bit position thereof is written to the defective bit memory 10 on the same route. Hence, after the next operation of turning ON the power supply, the address at which the error took place a predetermined number of times has already been alternated. Therefore, no accessing is carried out. Looking from the I/F control module 6 for performing the communications with the host computer 16 serving as the host system, the DMA controller 5 for transferring the data to the I/F control module 6 and the microprocessor 8 for controlling these components, the control can be executed as if handling the semiconductor storage element array 1 with no defect in accordance with this embodiment. Therefore, where the actual data transfer start address on the system is calculated from the logic address given by the host system, almost no time is required for the defect evading process. The system in this embodiment detects the defect addresses and bits by the test before the delivery. The positional information thereof is imparted beforehand to the defect address memory as well as to the defective bit memory. The alternations of all the defects are completed therein, and those defects are not accessed from that time onwards. If defects are newly caused or found out, however, the defects are processed in the following manner. The defect evading process is performed also by the self-diagnosis when starting the system. During the test before delivering the system, the defect addresses and bits are completely alternated in advance with the alternate addresses and bits. The defects, which happen thereafter, are cumulatively stored in the nonvolatile memory. As a result, a quantity of the defects to be processed during the self-diagnosis is extremely small. In this system, whenever the defect addresses and bits detected during the operation are detected, the contents thereof are stored and accumulated in the defect address memory 9 and the defective bit memory 10. This system is provided with the serial port 15 and connected to a personal computer or the like. The positions of defect addresses and bits are storable in the defect address memory 9 and the defective bit memory 10 from outside via the serial port 15. This process can be executed even when the system assumes the on-line status. External dimensions, a mounting method, connector dimensions and control interfaces of the system in this embodiment may be the same with those of a conventionally used fixed disk drive. The semiconductor storage system in this embodiment is connected to a variety of host computers 16, thus configuring various information processing systems. Where the defect in the semiconductor storage element array 1 is derived from a defect address, the defect address manipulating circuit 12 alternates the defect address with another address previously stored in accordance with the output of the defect address memory 9. Where the defect is due to a defective bit, the defective data manipulating circuit 13 replaces the defective data bit at the defect address with another data bit stored beforehand in the defect alternate semiconductor storage element 11 in accordance with the output of the defective bit memory 10. The data is thus alternated. It is therefore unnecessary to secure a large memory region exhibiting a poor effect and speed up the data transfer. Looking from the I/F control module, the DMA controller for transferring the data and the microprocessor for controlling these components, the control can be executed as if handling the semiconductor storage element array having no defect. The logic address is given by the host system. The actual data transfer start address is calculated from the logic address in the system. In this case, almost no time is needed for the defect evading process. Even if the semiconductor elements constituting the semiconductor storage element array contain a considerable number of deteriorated bits , the highly reliable semiconductor storage system can be constructed. The defects are stored in the defect address memory 9 and the defective bit memory 10 which are composed of EEPROMs. The defects are additionally stored in advance before the delivery or during the operation. The defects can be rewritten and stored also in the on-line via the serial port by use of the personal computer. As a result, the time can be saved. Namely, according to this system, the defect addresses and bits are detected during the test before the delivery. The positional information thereof is imparted beforehand to the defect address memory 9 and the defective bit memory 10. The contents thereof are always updated and accumulated. Consequently, the number of defects to be processed during the self-diagnosis effected at each start is small, and the starting time is also short. The system provided with the serial port 15 is connected via this serial port to the personal computer. Rewriting of the defective memory is carried out. Rewriting is also executable even when the system is in the on-line status. Hence, if it becomes obvious that there exists an address exhibiting a high frequency of error on the connected system, the forcible alternation process is performed in such a state that the system is working, thereby securing a high maintainability. The errors recoverable by the ECC circuit 7 are detected. The counter 14 counts up the plurality of recoverable errors a predetermined number of times. In this case, the block including that address is duplicated in the separate free region. At the same time, the contents of the defect address memory 9 and the defective bit memory 10 are updated together. Even when the recoverable errors are developed into irrecoverable errors, it is feasible to evade the access of the defect address or bits for that reason. After turning ON the power supply at the next time, the access command of the same block is received. At this moment, the content of the defect address memory 9 or the defective bit memory 10 has been updated. The address of the alternate destination is therefore automatically accessed, thereby eliminating a futility of time. The external dimensions and others are the same as those of the conventional product, and hence the system is easy to employ. The information processing systems can be constructed in a wider range by connections to the host computers, so that a boarder usability can be obtained. Alternating is effected corresponding to collective states of defects. The number of bits which have no defect but are, though normal, unused, can therefore be kept small. An inexpensive semiconductor storage system having a large capacity can be provided by relieving the deteriorated chips containing the defective bits. Although the illustrative embodiment of the present invention has been described in detail with reference to the accompanying drawings, it is to be understood that the present invention is not limited to this embodiment. Various changes of modifications may be effected therein by skilled in the art without departing from the scope of the invention.

Claims: A semiconductor storage system comprising: a semiconductor storage element array (1) including a plurality of semiconductor memory elements, having a possibility of containing defective bits, for storing information; a data bus (2) having a plurality of bits, for transferring data to or from said semiconductor storage element array (1); a defect alternate semiconductor storage (11) containing semiconductor storage elements for alternating with defective semiconductor storage elements of said semiconductor storage element array (1); a read/write controller (3,5) connected to an address bus (4) for controlling read/write of data written to said semiconductor storage element array (1) and to said defect alternate semiconductor storage (11); a defect address memory (9) connected to said address bus (4) for storing and outputting information on an address where at least one defective bit exists and on an alternate address to be alternated with said address; a defect address manipulating circuit (12) connected to said address bus (4) and said defect address memory (9) for alternating said alternate address with said address where said defective bit exists in accordance with an output of said defect address memory (9) and outputting said alternate address to said semiconductor storage element array (1) and said defect alternate semiconductor storage (11), characterized by a defective bit memory (10) receiving said alternate address from said defect address memory (9) for storing and outputting positional information of said defective bit existing in the data output from said semiconductor storage element array (1) and said defect alternate semiconductor storage (11), and a defective data manipulating circuit (13) connected to said data bus (2), to the data output of said defect alternate semiconductor storage (11) and to said defective bit memory (10) for replacing on said data bus (2) said defective bit with a bit from said defect alternate semiconductor storage (11) in accordance with an output of said defective bit memory (10). The semiconductor storage system according to claim 1, characterized in that said defect address memory (9) and said defective bit memory (10) are comprising rewritable nonvolatile memories, and that when a data error is detected, the positional information of an address where said error is caused is written to said defect address memory (9), and the positional information of said address and the positional information of a bit where said error is caused at an address where said error is produced are written to said defective bit memory (10). The semiconductor storage system according to claim 2, characterized in that said defect address and said defective bit are detected before delivery, and if detected, the positional information thereof is given beforehand to said defect address memory (9) and said defective bit memory (10), respectively. The semiconductor storage system according to claim 2, characterized in that when said defect address or said defective bit is detected during an operation, the positional information thereof is given respectively to said defect address memory (9) and said defective bit memory (lo) and additionally registered in sequence. The semiconductor storage system according to in one of claims 1 to 4, characterized by including a counter (14) for counting up the number of recoverable errors, and when counting up the number of said recoverable errors a predetermined number of times at the same address, said address is alternated with other address. The semiconductor storage system according to one of claims 1 to 5, characterized by including a serial port (15) connectable to a personal computer (17) or the like, and contents of said defect address memory (9) and said defective bit memory (10) are rewritable in an on-line status. The semiconductor storage system according to one of claims 1 to 6, characterized in that external dimensions, mounting dimensions, connector dimensions and a control interface are the same as those of a conventionally used fixed disk drive. The semiconductor storage system according to one of claims 1 to 7, characterized in that a defect address or a defective bit is detected by sequentially writing and reading predetermined test patterns at all of addresses and by comparing said written test pattern with said read test pattern; and when detecting an existence of said defect address or said defective bit, said defect address or said defective bit is, after identifying a type of a collective state of said defective bit or said defect address, alternated in accordance with said type. The semiconductor storage system according to claim 2, characterized in that a DRAM unit (160) defined as a system memory expansion unit is loaded with said defect address memory (9) and said defective bit memory (10) each having the information with respect to said defects of said semiconductor storage element array (1) on said DRAM unit (160).

Inventors: BABA HIROSHI, FUJITA TAKASHI, HAMA KEIZO, MIZUNO MASAHIRO, BABA, HIROSHI,, FUJITA, TAKASHI, HAMA, KEIZO, MIZUNO, MASAHIRO, Baba, Hiroshi, c/o Computer Seisakusho, Fujita, Takashi, c/o Computer Seisakusho, Hama, Keizo, c/o Computer Seisakusho, Mizuno, Masahiro, c/o Computer Seisakusho
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1991
Main classification: G06F11
IPC codes: G06F11, G06F3, G11C29, G06F12