[go: up one dir, main page]

WO2005017914A1 - 半導体メモリおよび半導体メモリの動作方法 - Google Patents

半導体メモリおよび半導体メモリの動作方法 Download PDF

Info

Publication number
WO2005017914A1
WO2005017914A1 PCT/JP2003/010412 JP0310412W WO2005017914A1 WO 2005017914 A1 WO2005017914 A1 WO 2005017914A1 JP 0310412 W JP0310412 W JP 0310412W WO 2005017914 A1 WO2005017914 A1 WO 2005017914A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
error
semiconductor memory
block
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2003/010412
Other languages
English (en)
French (fr)
Inventor
Satoshi Eto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005507761A priority Critical patent/JP4664208B2/ja
Priority to EP03818115A priority patent/EP1657723B1/en
Priority to PCT/JP2003/010412 priority patent/WO2005017914A1/ja
Priority to CN03826473.0A priority patent/CN1771565B/zh
Publication of WO2005017914A1 publication Critical patent/WO2005017914A1/ja
Priority to US11/265,229 priority patent/US7203115B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4061Calibration or ate or cycle tuning
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4062Parity or ECC in refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4067Refresh in standby or low power modes

Definitions

  • the present invention relates to a semiconductor memory having dynamic memory cells requiring a refresh operation and an operation method thereof.
  • pseudo-SRAM semiconductor memory
  • the pseudo SRAM has a DRAM memory cell and operates as an SRAM by automatically executing a refresh operation of the memory cell internally. Since the dynamic memory cell has a small area, the bit cost is low and a large-capacity pseudo SRAM can be developed.
  • pseudo-SRAM stores data by the electric charge stored in the capacitor of the memory cell, and the data is eventually lost due to leakage of electric charge. In order to avoid this, the pseudo SRAM requires a refresh operation every predetermined period.
  • the refresh operation is an operation of reading data held in a memory cell to a bit line, amplifying data on the bit line by a sense amplifier, and rewriting the data in the memory cell.
  • a refresh request for performing a refresh operation occurs independently of an external access request. Therefore, refresh operations may conflict with access operations. Since the pseudo SRAM has an SRAM interface, it is necessary to hide the refresh operation from an external system even when this conflict occurs. Recently, a semiconductor memory that stores an error correction code together with write data in order to hide a refresh operation has been proposed (for example, Japanese Patent Application Laid-Open No. 2003-511186). In this semiconductor memory, by using the error correction code, read data can be reproduced without reading data from the memory block during the refresh operation. Also, since there is no conflict between the read request and the refresh request, there is no need to include the refresh operation time between read cycles. As a result, during the read cycle The interval can be equivalent to SRAM.
  • a pseudo SRAM requires a refresh operation, and thus consumes more power during a standby period than an SRAM in which memory cells are configured by latches.
  • the power consumed during the standby period includes a DC component and an AC component.
  • the DC component is a leak component, such as the off-state current of a transistor and a current intentionally flowing for the operation of an internal circuit (particularly, a power supply circuit). Since the DC component depends on the semiconductor process and the circuit configuration, the difference between the pseudo SRAM and the SRAM cannot be discussed.
  • the AC component of the current consumption during the standby period of the pseudo SRAM is mainly the current due to the refresh operation. Therefore, reducing the refresh operation current is effective for reducing the AC component.
  • the error correction method used in the above-mentioned conventional pseudo SRAM can only reduce the read cycle time or the standby current.
  • the read cycle time AC characteristics
  • the standby current DC characteristics
  • the standby current cannot be equal to that of SRAM.
  • the standby current can be made equivalent to that of SRAM
  • the read cycle time cannot be made equivalent to that of SRAM. That is, a pseudo SRAM completely compatible with SKAM has not been realized. As a result, for example, it was difficult to operate the system simply by replacing the SRAM mounted on the system with a pseudo SRAM to reduce costs.
  • An object of the present invention is to provide a pseudo SRAM capable of concealing a refresh operation without extending an access cycle time and reducing power consumption during a standby period.
  • Another object of the present invention is to provide a pseudo SRAM which is completely compatible with SRAM.
  • the plurality of data blocks have memory cells for storing information data.
  • the plurality of code blocks have memory cells that store code data for decoding data stored in the data blocks.
  • the refresh control circuit outputs a refresh request signal to cause the data block and the code block to sequentially execute the refresh operation.
  • the data adding circuit generates a plurality of read data strings by adding a plurality of types of expected data to be read from the refresh block to data read from other blocks.
  • the refresh block is a block from which data cannot be read by a refresh operation, out of a data block and a code block.
  • the error correction circuit detects an error in each of the read data strings, and determines the most probable one from these error detection results as true.
  • the error correction circuit corrects an error in the read data string corresponding to the true error detection result.
  • the code data is, for example, a horizontal / vertical parity code or an extended Hamming code, and the minimum Hamming distance of the code data is 4 or more. In this way, the error detection results of multiple read data strings that anticipate a part of the data are compared with each other to detect a true error, and based on the true error, one of the blocks actually occurs.
  • the refresh operation can be hidden from the external system and the error correction can be achieved at the same time. Since the refresh operation can be hidden without competing with the read request, it is possible to prevent the read cycle time from becoming longer (improvement of the AC characteristics).
  • the error correction function can correct, for example, an error caused by a memory cell having a short data retention time, which is the minimum time for retaining data. others Therefore, the refresh request interval can be extended, and power consumption during standby can be reduced (improvement of DC characteristics). Specifically, even if the refresh interval of each memory cell is set longer than the data retention time of the worst memory cell, erroneous data will not be read. Therefore, for example, when the present invention is applied to a pseudo SRAM, both the AC characteristics and the DC characteristics can be made equal to or less than those of the SRAM. In other words, a pseudo SRAM that is completely compatible with the SRAM can be provided to the user. The user can reduce the cost simply by replacing the SRAM mounted on the system with the pseudo SRAM to which the present invention is applied.
  • the refresh control circuit sequentially outputs a refresh request signal to the data block and the code block in order to cause one of the data block and the code block to perform a refresh operation. I do. By executing a refresh operation in response to a refresh request in only one block, data that cannot be read by the refresh operation can be easily restored.
  • the access control circuit outputs a read request signal to a data block and a code block excluding a refresh block in response to a read command. That is, the refresh block does not execute the read operation. Therefore, it is possible to prevent the refresh request and the read request from conflicting with each other, and to prevent the read access time from increasing. Further, it is possible to easily control the read operation by the access control circuit.
  • the access control circuit outputs a write request signal to a data block and a code block in response to a write command.
  • each block control circuit in the data block and the code block executes the refresh operation and then executes the write operation with a delay. Therefore, the write data can be reliably written to the refresh block.
  • the external write cycle time which is the minimum supply interval of the write command is set longer than the internal write cycle time which is the actual write operation time of each block. For this reason, the block control circuit generates a refresh request between the continuously supplied write request signals. In this case, the delay of the write operation can be gradually recovered. That is, the write data can be reliably written to the refresh block.
  • n external write cycle times can be inserted during a switching period from the last refresh request signal of a certain refresh block to the next refresh block, and One refresh operation and n write operations can be performed.
  • the switching period is set to at least (TcycZ S) X Tcyc, where ⁇ is the difference between the external write cycle time Tcyc and the internal write cycle time. For this reason, a write operation delayed by a refresh request in a certain block is completed during the period of the refresh block. After switching from the refresh block to the normal block, there is no incomplete write operation corresponding to the write request supplied during the refresh block. Therefore, in a block other than the refresh block, the read operation can be prevented from being delayed due to the conflict between the refresh operation and the write operation, and the read access time can be prevented from being lengthened.
  • the code block is formed instead of at least one of a port redundancy circuit and a column redundancy circuit for relieving a defect. Erroneous data read from a defective memory cell can be corrected by an error correction circuit. Since there is no need to form a redundant circuit, the chip size can be reduced.
  • the error correction circuit selects a read data string having few errors among the read data strings as true.
  • the error correction circuit can use any of the following: “no error”, “one bit error in any data block”, “code error that is one bit error in any code block”, and "two or more bits error”. Is detected, and the priority of error judgment is set to “No error”> 1-bit error> Code error> 2-bit or more error. Then, the error correction circuit sets an item with a high priority to true. Therefore, the error determination logic of the error correction circuit can be easily configured.
  • the error correction circuit outputs an error signal to an error terminal when detecting an uncorrectable error.
  • the error correction circuit outputs an error signal when detecting “an error of 2 bits or more”.
  • the error signal allows an external system accessing the semiconductor memory to execute an operation to avoid an error, such as a request for a read operation retry and discarding of data. As a result, the reliability of the system can be improved.
  • the write-back control circuit writes the data corrected by the error correction circuit back to the data block and the code block.
  • the data block is formed corresponding to each of a plurality of data terminals for inputting and outputting information data. For this reason, errors can be corrected in units of data input / output to / from the semiconductor memory at one time. As a result, it is possible to simplify the logic of the generation of the code data and the error correction of the read data, and it is possible to prevent the read cycle time and the write cycle time from increasing.
  • write data supplied to a plurality of data terminals for inputting / outputting information data at a time is written to a part of a data block.
  • the error correction circuit decodes information data using read data from the data block and the code block during a write operation, and replaces a part of the decoded information data with the write data to generate a rewrite data string.
  • the error correction circuit obtains new code data from the rewritten data sequence, and writes the rewritten data sequence and the new code data to the data block and the code block, respectively.
  • FIG. 1 is a block diagram showing a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing details of the data control circuit shown in FIG.
  • FIG. 3 is a timing chart showing an operation of the refresh control circuit shown in FIG.
  • FIG. 4 is a timing chart showing details of the operation of the refresh control circuit shown in FIG.
  • FIG. 5 is a timing chart showing an outline of the read operation of the first embodiment.
  • FIG. 6 is a timing chart showing an outline of the write operation of the first embodiment.
  • FIG. 7 is an explanatory diagram illustrating a parity code generation rule according to the first embodiment.
  • FIG. 8 is a flowchart showing an outline of the operation of the error determination circuit shown in FIG.
  • FIG. 9 is an explanatory diagram showing an outline of the operation of the error correction circuit shown in FIG.
  • FIG. 10 is a timing chart showing an example of the read operation of the first embodiment.
  • FIG. 11 is a timing chart showing another example of the read operation of the first embodiment.
  • FIG. 12 is a block diagram showing a second embodiment of the present invention.
  • FIG. 13 is a block diagram showing details of the data control circuit shown in FIG.
  • FIG. 14 is an explanatory diagram showing an RTL description of the error correction circuit shown in FIG.
  • FIG. 15 is a circuit diagram showing a result of logic synthesis from the RTL description of FIG.
  • FIG. 16 is an explanatory diagram showing an RTL description of the syndrome generation circuit shown in FIG.
  • FIG. 17 is an explanatory diagram showing an RTL description of the encoding circuit shown in FIG.
  • FIG. 18 is an explanatory diagram showing an error correction operation of the data control circuit shown in FIG.
  • FIG. 19 is an explanatory diagram showing another error correction operation of the data control circuit shown in FIG.
  • FIG. 20 is a block diagram showing a third embodiment of the semiconductor memory of the present invention.
  • FIG. 21 is a block diagram showing a fourth embodiment of the semiconductor memory of the present invention.
  • FIG. 22 is a block diagram showing details of the data control circuit shown in FIG.
  • FIG. 23 is a block diagram showing a fifth embodiment of the semiconductor memory of the present invention. 2 4, the best mode for carrying out the c invention is a timing diagram illustrating the write operation of the pseudo SRAM shown in FIG. 2 3
  • Double circles in the figure indicate external terminals.
  • the signal lines indicated by bold lines are composed of a plurality of lines.
  • the part of the block to which the bold line is connected consists of multiple circuits.
  • Via external terminal Use the same sign as the terminal name for the signal supplied.
  • Use the same symbols as signal names for signal lines that transmit signals. ⁇ Z ⁇ at the end of the signal name indicates positive logic.
  • FIG. 1 shows a first embodiment of the semiconductor memory of the present invention.
  • This semiconductor memory is formed on a silicon substrate as a clock synchronous synchronous pseudo SRAM using a CMOS process.
  • Pseudo SRAM includes address buffer 10, data control circuit 12, data input / output buffer 14, command buffer 16, access control circuit 18, refresh control circuit 20, clock buffer 22, and memory core 24. have.
  • the memory core 24 has data blocks MBD0-15, code blocks MBE0-7, and a block control circuit BCNT.
  • the data blocks MBD0-15 are formed corresponding to the data terminals DQ15-0, respectively, and hold information data (hereinafter also simply referred to as data) supplied via the data terminals DQ15-0.
  • the code block MBE0-7 holds each bit of the 8-bit error correction code generated by the data held in the data blocks MBD0-15.
  • the error correction code is used as code data for decoding information data stored in the data block.
  • the memory core 24 has an input redundancy circuit for relieving defects in word line units and a column redundancy circuit for relieving defects in bit line units. I have.
  • the block control circuits BCNT are formed corresponding to the blocks MBD0-15 and MBE0-7, respectively, and control the operations of these blocks, respectively.
  • the block control circuit BCNT receives a write request signal and a refresh request signal (either refd [15: 0] or refe [7: 0]) simultaneously, the corresponding write request signal (wrd [15 : 0] or wde [7: 0]) are sequentially delayed by the period during which the refresh operation is entered.
  • the data block MBD0-15 and the code block MBE0-7 have the same structure and the same memory capacity.
  • Each block MBD0-15, MBE0-7 has a dynamic memory cell, and a word line and a bit line connected to these dynamic memory cells.
  • the memory cell has a capacitor that holds a logical value of data as electric charge, and a transfer transistor that connects the capacitor to a bit line. Transfer The gate of the transistor is connected to the word line.
  • a horizontal / vertical parity is adopted as an error correction code.
  • the address buffer 10 receives the address signal AD via the address terminal AD.
  • This pseudo-SRAM employs an address non-multiple-address system in which a row address signal and a column address signal are received at one time.
  • the row address signal is used to select a word line in blocks MBD0-15 and MBE0-7.
  • the column address is used to select the bit lines in blocks MBD0-15 and MBE0-7.
  • the clock buffer 22 receives the clock signal CLK via the clock terminal CLK, and outputs the received signal as the internal clock signal ICLK.
  • the clock signal CLK is, for example, a system clock of a system board on which a pseudo SRAM is mounted.
  • the internal quick signal ICLK is supplied to circuits in the pseudo SRAM that require quick synchronization.
  • the refresh control circuit 20 includes a timer, a counter, a shift register, and a refresh request generation circuit (not shown).
  • the timer operates in synchronization with the internal clock signal ICLK and generates a periodic signal (pulse signal). The cycle of the timer matches the refresh request generation interval.
  • the counter counts in synchronization with the periodic signal from the timer and generates a refresh address signal REFAD.
  • the refresh address signal REFAD is output to select a word line during a refresh operation.
  • the number of bits of the counter is set to a number that selects all the read lines in the blocks MBD0_15 and MBE0-7 when the counter makes one round.
  • the shift register has 24 cascaded latches, and the output of the last latch is fed back to the input of the first latch.
  • the shift register shifts each time the counter overflows, and refresh point signals refpointd [15: 0] and refpointe [7: 0] indicating the blocks MBD0_15 and MBE0-7 that execute the refresh operation are latched, respectively. Output. That is, the shift register sequentially activates one of the refresh point signals refpointd [15: 0] and refpointe [7: 0]. For this reason, only one of the blocks MBD0-15 and BE0-7 operates sequentially as a refresh block that performs a refresh operation. Make.
  • the refresh request generation circuit synchronizes with the periodic signal to generate the refresh point signal refpointd. It outputs refresh request signals refd [15: 0] and refe [7: 0] corresponding to [15: 0] and refpointe [7: 0], respectively.
  • the command buffer 16 receives the command signal CMD via the command terminal CMD, and outputs the received command signal CMD to the access control circuit 18.
  • the command signal CMD is a signal for controlling the operation of the pseudo SRAM, such as a chip enable signal / CE, an output enable signal / 0E and a write enable signal / WE.
  • the access control circuit 18 decodes the command signal CMD and executes a read operation according to the decoding result.
  • the read request signals rdd [15: 0] and rde [7: 0] or the write request signal wrd [15 : 0] and wde [7: 0] are output.
  • the access control circuit 18 responds to the activation of one of the refresh point signals refpointd [15: 0] and refpointe [7: 0] and responds to the corresponding read request signal (rdd [15: 0], Mask the output of rde [7: 0]). That is, the read operation is prohibited by the refresh block and is executed by another block. By always prohibiting the read operation of the refresh block, the read control of the access control circuit 18 can be simplified.
  • the data input / output buffer 14 outputs the data signal received via the data terminals DQ15-0 as input data DIN [15: 0] during the write operation, and is supplied from the data control circuit 12 during the read operation. Output data D0UT [15: 0] to the data pins DQ15-0.
  • the data control circuit 12 outputs the input data DIN [15: 0] to the memory core 24 as the write data wdat [15: 0], and is generated from the input data DIN [15: 0] at the same time. Outputs error correction code (write code data) wecc [7: 0] to memory core 24.
  • the data control circuit 12 receives the read data rdat [15: 0] and the error correction code (read code data) recc [7: 0] from the memory core 24 and reads the data from the refresh block. 1-bit data to be Is decrypted.
  • the data control circuit 12 decodes the read data (1 bit) from the memory cell from which the data is lost due to poor data holding characteristics.
  • the error-corrected read data is output as output data DOUT [15: 0].
  • the write request signal wrd [15: 0], the read request signal rdd [l 5 : 0], the refresh point signal refpointd [15: 0], the refresh request signal refd [15: 0], and the write data wdat [15: 0] ] Read data rdat [15: 0], input data DIN [15: 0] and output data D0UT [15: 0] correspond to the block numbers of the data blocks MBD15-0, respectively.
  • the bit numbers of [0] and the error correction code recc [7: 0] correspond to the block numbers of the code blocks MBE7-0, respectively.
  • FIG. 2 shows details of the data control circuit 12 shown in FIG.
  • the data control circuit 12 includes a data correction unit 12a for correcting errors in read data rdat [15: 0] and recc [7: 0] from the memory core 24 and input data DIN [15: 0] to the memory core 24. ] And a data encoding unit 12b for generating an error correction code from the data encoding unit.
  • the data correction section 12a has a data addition circuit 26 and an error correction circuit 12c.
  • the error correction circuit 12 c includes coding circuits 28 and 30, error determination circuits 32 and 34, and an error decoding circuit 36.
  • the data encoding unit 12 b has an encoding circuit 38.
  • the data addition circuit 26 reads data from a data block (any of MBD0-15) operating as a refresh block that cannot execute a read operation, assuming that it is "logic 1" and "logic 0".
  • the data addition circuit 26 generates the data rdat0 [15: 0] and rdatl [15: 0], respectively, or the code block (MBE0-7) that operates as a refresh block that cannot execute the read operation. Assuming that the error correction code from either of them is ⁇ logic 1 ⁇ and ⁇ logic 0 ⁇ , the read data recc0 [7: 0] and reccl [7: 0] are generated.
  • the data to be read from the refresh block is added to the read data from other blocks as the expected data of ⁇ logic 1 ⁇ or logic 0, and the read data string rdatO [15: 0], reccO [7: 0] and read data string rdat 1 [15: 0], Generate reccl [7: 0].
  • the encoding circuit 28 generates an error correction code rre CC 0 [7: 0] (first code data) from the read data rdat0 [15: 0] (information data string).
  • the encoding circuit 30 generates an error correction code rreccl [7: 0] (second code data) from the read data rdatl [15: 0] (information data string).
  • the error decision circuit 32 compares the error correction code rrecc0 [7: 0] with the error correction code recc0 [7: 0] (code data) to determine the presence or absence of an error and the type of error, and compares the determination results. Output as result signal resO.
  • the error determination circuit 34 determines the presence or absence of an error by comparing the error correction code rreccl [7: 0] with the error correction code reccl [7: 0] (code data), and determines the determination result. Output as comparison result signal resl.
  • the comparison result signals res0 and resl are for the match (no error), ECC error (1 bit error of code block MBD; code error), 1 bit error (1 bit error of data block MBE), error of 2 bits or more. Show either one. Details of the error items will be described later with reference to FIGS. 8 and 9.
  • the error decoding circuit 36 determines which of the comparison result signals res0 and resl is true according to the error content indicated by the comparison result signals res0 and resl, and determines whether the read data has an error according to the determined comparison result signal resO or resl. Is corrected and output as output data [15: 0].
  • the output data [15: 0] is output to the outside of the pseudo SRAM via the data terminals DQ15-0. If the comparison result signal resO is determined to be true, the data to be read from the refresh block is ⁇ logic 0 ⁇ . If the comparison result signal resl is determined to be true, the data to be read from the refresh block is ⁇ logic 1 ⁇ .
  • the encoding circuit 38 of the data encoding unit 12b generates an error correction code wecc [7: 0] from the input data [15: 0] (write data), and generates the error correction code wecc [7: 0] together with the write data wdat [15: 0]. To the memory core 24.
  • FIG. 3 shows the operation of the refresh control circuit 20 shown in FIG.
  • the refresh control circuit 20 sequentially activates the refresh point signals refpointd [15: 0] and refpointe [7: 0] to a high level. Activation interval of each refresh point signal refpointd [15: 0], refpointe [7: 0] (for example, refresh point).
  • the activation interval T1 of the signal refpointd [0] is set longer than the data retention time of the worst memory cell.
  • the data retention time is the time that a memory cell can hold without losing data. .
  • the activation interval T1 also corresponds to the refresh interval of each memory cell. For this reason, in this embodiment, the worst memory cell has already lost data when performing the refresh operation. However, the lost data can be decoded by the error correction function of the data control circuit 12. Therefore, the refresh interval of the memory cell can be made longer, and the refresh request interval and the refresh operation interval can be made longer. As a result, power consumption can be reduced particularly during the standby period.
  • FIG. 4 shows details of the operation of the refresh control circuit 20 shown in FIG.
  • the waveform in FIG. 4 corresponds to the region shown by the dashed line in FIG.
  • the refresh control circuit 20 activates the refresh request signal refe [7] of the corresponding data block MBD7 to a high level a predetermined number of times.
  • the refresh operation in response to the refresh request is executed only in the block MBE (or MBD) corresponding to the activated refresh point signal refpointe (or refpointd).
  • the refresh control circuit 20 activates the refresh request signal refe [7] of the corresponding data block MBD7 to a high level a predetermined number of times.
  • the number of activations of the refresh request signal refe [7] is the number of times necessary to refresh all the memory cells of the block MBE. For example, if one word line is selected for each refresh request, the number of activations is equal to the number of word lines in each block.
  • the refresh point signal refpointd [15: 0] and refpointe [7: 0] are the first refresh request signal refd (or refe) of the next refresh block from the output of the last refresh request signal refd (or refe) of the refresh block. ) Output.
  • the period T3 from the output of the last refresh request signal to the switching of the refresh point signal is necessary for processing when a refresh request and a write request conflict. The period T3 will be described later with reference to FIG.
  • FIG. 5 shows an outline of the read operation of the first embodiment.
  • the waveform in FIG. 5 corresponds to the region shown by the dashed line in FIG.
  • the pseudo SRAM continuously receives a read command from the command terminal CMD and continuously executes a read operation.
  • FIG. 6 shows an outline of the write operation of the first embodiment.
  • the pseudo SRAM continuously receives a write command from the command terminal CMD and continuously executes a write operation.
  • the blocks MBD15-0 and MBE7-0 generate the write signal wrz in response to the write request signals wrd [15: 0] and wre [7: 0], respectively, and execute the write operation.
  • the high level period of the write signal wrz indicates the write operation time of the blocks MBD15_0 and MBE7-0.
  • a write operation in response to a write request is executed by all blocks MBD15-0 and MBE7-0. Therefore, a conflict occurs between the refresh request (refd or refe) and the write request (wrd or wre).
  • the access control circuit 18 shown in FIG. 1 executes the refresh operation with priority when the refresh request and the write request conflict (FIG. 6 (a)). After the completion of the refresh operation, the access control circuit 18 sequentially executes the write operation corresponding to the waiting write request (FIG. 6 (b)).
  • the minimum supply interval of the write command (wrd output interval; external write cycle time) is designed to be longer than the memory core 24 write operation time (wrz minimum output interval; internal write cycle time).
  • the delay of the write operation due to the interrupt of the refresh operation can be recovered by executing the write operation continuously a predetermined number of times.
  • the last refresh of a refresh block During the switching time T4 from the switch request signal refd (or refe) to the next refresh block, eight external write cycle times can be inserted, and one refresh operation and eight write operations Can be executed.
  • the switching time T4 is a recovery time until the delay of the write operation due to the interruption of the refresh operation is recovered. Therefore, even when the write command is continuously supplied, the write operation of the refresh block can always be completed before the refresh block is switched.
  • the switching time T4 may be equal to or longer than (TcyceZS) XTcyce, where ⁇ is the difference between the external write cycle time Tcyce and the internal write cycle time Tcyci.
  • the switching time T4 may be designed so as to satisfy the relationship of the following equation (1).
  • the difference ⁇ is negligible if the switching time T4 can be set sufficiently large with respect to the internal write cycle time Tcyci. Therefore, the external write cycle time Tcyce can be made substantially equal to the internal write cycle time Tcyci. That is, there is almost no access penalty for executing the refresh operation prior to the write operation.
  • FIG. 7 shows a rule for generating a parity code according to the first embodiment.
  • a horizontal / vertical parity having a minimum Hamming distance of ⁇ 4 ⁇ is employed as an error correction code.
  • Parity can be either even parity or odd parity. This code corrects 1-bit errors and can detect 2-bit errors at the same time.
  • the data block MBD0-15 can be represented by a row address L1-L0 and a column address C1-C0, respectively.
  • L1-L0 "00”
  • C1_C0 "0
  • code block MBE0 has data block MBD0-with row address L0 power S 0- Parity of 3, 8-11 is stored (parity LP0)
  • Code block MBE1 stores the parity of row address L0 data block MBD4-7, 12-15 (parity LP1)
  • the code block MBE2 stores the parity of the data block MBD0-5 of the row address L1 card 0 "(parity LP2).
  • the code block MBE3 stores the parity of the row address L1 data block MBD8-15.
  • the code block MBE4 stores the parity of the data blocks MBD0, 4, 8, 12, 2, 6, 10, 10 of the column address CO power '0 (parity). CP0).
  • the code block MBE5 has a data The parity of the MBD1, 5, 9, 13, 3, 7, 11, and 15 is stored (parity CP1) .
  • the code block MBE6 has the data block MBD0, 4, 8, 12, and the column address C1 of 0. Parities of 1, 5, 9, and 13 are stored (parity CP2).
  • Code block MBE7 has a parity of data blocks MBD2, 6, 10, 14, 3, 7, 11, and 15 with column address C1 of '1. (Parity CP3)
  • the information data to be encoded is 16 bits (in this embodiment), 32 bits, 64 bits, 128 bits, and 2 bits.
  • FIG. 8 shows an outline of the operation of the error determination circuits 32 and 34 shown in FIG.
  • the error correction code recc [0: 7] read from the code block MBE0-7 is expressed as lp [0: 3], cp [0: 3], and is determined according to the data read from the data block MBD0-7.
  • the error correction code rrecc0 [0: 7] (or rreccl [0: 7]) generated by the encoding circuit 28 (or 30) shown in FIG. 2 is converted to LP [0: 3] and CP [0: 3].
  • step S10 cp [0: 3] is compared with CP [0: 3], and lp [0: 3] and LP [0: 3] are compared.
  • step S50 cp [0: 3] and CP [0: 3] are compared, and lp [0: 3] and LP [0: 3] are compared. If only one bit of these 8-bit comparisons does not match, it is determined that an ECC code error has occurred, and the process proceeds to step S60. Otherwise, it is determined that a one-bit error has occurred, and the process proceeds to step S70.
  • FIG. 9 shows an outline of the operation of the error decoding circuit 36 shown in FIG.
  • the error decoding circuit 36 receives the error determination circuits 32 and 34 and the comparison result signals res0 and resl. As shown in Fig. 8, the comparison result signals res0 and resl are binary "1000 (no error)", “0100 (ECC error; 1-bit error of code block)", “0010” depending on the type of error. (1 bit error; 1 bit error of data block) ”,“ 0001 (2 or more bits error) ”.
  • FIGS. 9 (a), (b) and (c) show the case where one of the data blocks MBDO-15 operates as a refresh block and the data force to be read from this refresh block is a logic 0. In FIG.
  • the comparison result signal resl indicates a 1-bit error (only refresh block error).
  • the comparison result signal resO indicates a 1-bit error
  • the comparison result signal resl indicates Indicates an error of 2 bits or more (1 bit error in refresh block and 1 bit error in data block).
  • the comparison result signal resO indicates an ECC error
  • the comparison result signal resl indicates a 2-bit or more error. Indicates an error (1 bit of refresh block and ECC error).
  • FIGS. 9 (d), (e), and (f) show the case where one of the data blocks MBD0-15 operates as a refresh block and the data to be read from this refresh block is a logical 1 ⁇ .
  • the logical values of the data to be read from the refresh block are opposite to those in FIGS. 9 (a), (b) and (c). Therefore, the comparison result signals res0 and resl are the reverse of those in FIGS. 9A, 9B, and 9C.
  • FIGS. 9 (g), (h) and (i) show the case where any one of the code blocks MBE0-7 operates as a refresh lock and the data block logic 0 to be read from this refresh block.
  • the comparison result signal resO in which the read data from the refresh block is set to “logic 0” indicates no error
  • the read data from the refresh block is set to ⁇ logic 1
  • the comparison result signal resl set to "" indicates an ECC error (only refresh block error).
  • the comparison result signal resO indicates a 1-bit error
  • the result signal resl indicates an error of 2 bits or more (1 bit error in the refresh block and 1 bit error in the data block).
  • the comparison result signal resO indicates an ECC error
  • the comparison result signal resl has two or more bits. Error (1 bit of refresh block and ECC error).
  • FIGS. 9 (j), (k) and (1) show the case where one of the code blocks MBE0-7 operates as a refresh block and the data block V logic 1 ⁇ is to be read from this refresh block.
  • the logical values of the data to be read from the refresh block are opposite to those in FIGS. 9 (g), (h) and (i). Therefore, the comparison result signals res0 and resl are the reverse of FIGS. 9 (g), (h) and (i).
  • the error decoding circuit 36 sets one of the comparison result signals res0 and resl as a true error, and corrects the error based on the result. At this time, the error decoding circuit 36 sets the priority of the error determination from the highest to no error> ECC error> 1-bit error> 2-bit or more error. That is, one of the comparison result signals res0 and resl having few errors is set to true. For this reason, in FIGS. 9 (a), (d), (g), and (j), it is determined that there is no error. In FIGS. 9 (b), (e), (h), and (k), it is determined that there is one bit error. In FIGS. 9 (c), (f), (i) and (1), an ECC error is determined.
  • the error decoding circuit 36 sets a logical value corresponding to the comparison result signals res0 and resl having a high priority as a logical value of data to be read from the refresh block, and outputs the logical value as output data D0UT [15: 0]. Specifically, when the priority of resO is higher than resl, the bit of output data D0UT corresponding to the refresh block is set to ⁇ logic 0. When the priority of resl is higher than resO, the bit corresponds to the refresh block. The output data D0UT bit is set to ⁇ Logic 1 ⁇ .
  • the error decoding circuit 36 determines that a one-bit error exists in any of the data blocks MBD0-15, it corrects this error.
  • an error decoding circuit 36 Note c inverts the logical value of the data read from the data block MBD7 to the data output buffer 14, in this embodiment, data obtained by correcting the errors are written to a block Rena, This is because 1-bit errors and ECC errors are considered to be short of data retention time of the memory cell or physical failure. Even if the correct data is written to the memory cell for this type of error, the error will occur again and the processing time will be wasted.
  • FIG. 10 shows an example (simulation result) of the read operation of the first embodiment.
  • the data block MBD10 operates as a refresh block (FIG. 10A).
  • the pseudo SRAM sequentially receives the address MBAD from hexadecimal 0 "to ⁇ F ⁇ as the read address along with the read command RDZ, and executes the read operation continuously (FIG. 10 (b)).
  • the memory cells of the data block MBD0-15 indicated by the read addresses “0", “1”, “1 ", “ ⁇ E” have 16-digit data 0000 ",” 1111 “,” 2222 “, ...,” DDDD ⁇ , “EEEE ⁇ ,” “FFFF” are written.
  • the hexadecimal data "00” is written in advance in the memory cell of the sign block ⁇ -7 indicated by the read address “0”, “1” 2..., “ ⁇ ” E ”.
  • ECC error 1-bit error
  • the read data recc [7: 0] is "40" in hexadecimal (Fig. 10 (c)). In the actual read operation of a different address, it is rare that one bit error occurs consecutively in the code block MBE6.
  • the refresh control circuit 20 shown in FIG. 1 outputs a refresh request signal refd [10] during the read operation of the read address ⁇ 2 ⁇ (FIG. 10 (d)).
  • the memory core 24 responds to the refresh request signal refd [10] and transmits the data block MBD10 Is performed.
  • the 10th bit of the read data rdat [15: 0] is read, for example, as ⁇ logic 0 ”. If the value is 1 ⁇ / ⁇ (for example, "4444", 5555 "), a refresh block read error occurs.
  • the error decoding circuit 36 receives the comparison result signal resO ("0001") indicating an error of 2 bits or more and the comparison result signal resl (0100 ") indicating an ECC error, and the priority of the comparison result signal resl Is determined to be high, and the occurrence of an ECC error is detected (Fig. 10 (e, f))
  • the error decoding circuit 36 determines that the logical value of the data to be read from the refresh block is “logic 1 ⁇ ”, and sets the error flag ASMFLG to logic 1 ( Figure 10 (g, h)).
  • the error flag ASMFLG is an internal signal used in the error decoding circuit 36.
  • the 10th bit of output data [15: 0] is set to "logic 1" by setting the ASMFLG flag. That is, data from the refresh block that does not execute the read operation is reproduced.
  • the refresh block At this time, the read error does not occur.At this time, the error decoding circuit 36 receives the comparison result signal resO 0100 ") indicating the ECC error and the comparison result signal resl (" 0001 "indicating the error of 2 bits or more. It determines that the priority of the result signal resO is high, and detects the occurrence of an ECC error (Fig. 10 (i, j, k)).
  • the error decoding circuit 36 determines that the logical value of the data to be read from the refresh block is ⁇ logic 0 ⁇ , and sets the error flag ASMFLG to “logic 0”. (Fig. 10 (1, m, n)). By setting the ASM flag to ASMFLG, the 10th bit of the output data [15: 0] is set to "logic 0 ⁇ . That is, the data from the refresh block that does not execute the read operation is reproduced.
  • FIG. 11 shows another example of the read operation of the first embodiment (simulation result) Is shown. Detailed description of the same operations as in FIG. 10 is omitted.
  • the pseudo SRAM sequentially receives the row address MBAD from hexadecimal "0" to "0" as the read address together with the read command RDZ, and executes the read operation continuously ( ( Figure 11 (a))
  • the refresh block switches from data block MBD10 to data block MBD11 during the continuous read operation ( Figure 11 (b)).
  • Data block MBD0-15 and code block MBE0-7 The pre-written data is the same as in Fig. 10.
  • a 1-bit error occurs in the data block MBD12, and the first and second bits of the read data rdat [15: 0] are read. It changes to ⁇ 0 ⁇ and ⁇ 1 ⁇ every time In a read operation of an actually different address, it is rare that one bit error occurs consecutively in the code block MBD12.
  • the 10th bit of the read data rdat [15: 0] is read, for example, as “logic 0”.
  • the data that operates as a refresh block Since data is not read from the block MBD11, the first bit of the read data rdat [15: 0] is read, for example, as "logic 1".
  • the error determination circuits 32 and 34 of the data control circuit 12 generate comparison result signals resO and resl from the read data rdat [15: 0] and the error correction code recc [7: 0]. .
  • the comparison result signals resO and resl indicate an error of 2 bits or more ("0001") or a 1-bit error of the data block (0010)
  • the error decoding circuit 36 refreshes based on the comparison result signals resO and resl.
  • the error decoding circuit 36 reproduces data that cannot be read out by executing the operation, and as shown in the above equations (6) and (7), generates one bit from the error correction code rec C [7: 0].
  • the block address at which the error occurred is obtained, and the data read from the block address is inverted, that is, a 1-bit error generated in the data block MBD12 is corrected.
  • Circuit 26 and read An error was detected for each of the read-out data strings rdat0 and rdatl, and an error correction circuit 12c that determined one of the most probable ones from these error detection results as true was configured in a pseudo SRAM.
  • the refresh operation can be hidden from the system accessing the pseudo SRAM, and at the same time, a 1-bit error occurring outside the refresh block can be corrected. This is made possible by using a horizontal / vertical parity code with a minimum Hamming distance of ⁇ 4 ⁇ .
  • the refresh operation can be hidden without competing with the read request, it is possible to prevent the read cycle time from becoming long. Also, the interval between refresh requests can be extended, and power consumption during standby can be reduced. Therefore, it is possible to configure a pseudo SRAM in which both the AC characteristic and the DC characteristic can be made equal to or less than that of the SRAM. In other words, a pseudo SRAM that is completely compatible with the SRAM can be provided to the user. The user can reduce the cost simply by replacing the SRAM mounted on the system with the pseudo SRAM of the present invention.
  • Either the data block MBD0-15 or the code block MBE0-7 is determined by the refresh point signal refpointd [15: 0] and refpointd [7: 0] output from the refresh control circuit 20. Only one was set as a refresh block. Since data that cannot be read by the refresh operation can always be 1 bit, data that cannot be read by the refresh operation can be decoded by the simple data adding circuit 26 and the error correction circuit 12c.
  • the access control circuit 18 Since the access control circuit 18 does not output the read request signals rdd and rde to the refresh block, the refresh block does not execute the read operation regardless of whether the refresh operation is being executed or not. Therefore, read control of the block control circuit BCNT can be easily performed.
  • the block control circuit BCNT executes the write operation with a delay after performing the refresh operation. Therefore, the write data wdat (or wecc) can be reliably written to the refresh block.
  • the external write cycle time Tcyce which is the minimum supply interval of the write command, is set longer than the internal write cycle time Tcyci. Specifically, eight external writings During the write cycle time Tcyce, one refresh operation and eight write operations can be performed. Therefore, the delay of the write operation caused by the priority of the refresh operation can be gradually recovered. That is, the write data can be reliably written to the refresh block.
  • the error correction circuit 12c detects four types of error items (no error, one-bit error in one of the data blocks, one-bit error in one of the code blocks, and an error of two or more bits. ), Error items with high priority are set to true. Therefore, the error correction circuit 12c can be configured with simple logic.
  • FIG. 12 shows a second embodiment of the semiconductor memory of the present invention.
  • the same circuits and signals as the circuits and signals described in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the semiconductor memory of this embodiment is formed as a clock asynchronous type pseudo SRAM using a CMOS process on a silicon sealing plate. That is, the pseudo SRAM does not have a clock terminal for receiving a clock signal.
  • an extended Hamming code is used as an error correction code.
  • the minimum Hamming distance of this extended Hamming code is ⁇ 4 ⁇ , so that 1-bit error correction and 2-bit error detection can be performed simultaneously.
  • the pseudo SRAM includes the data control circuit 12 of the first embodiment, the access control circuit 18, Instead of the refresh control circuit 20 and the memory core 24, a data control circuit 12A, an access control circuit 18A, a refresh control circuit 2OA and a memory core 24A are provided. Further, the pseudo SRAM has a new oscillator 4OA for generating the clock signal 0SC.
  • Memory core 24 A has 16 data blocks MBD0-15 corresponding to data terminals DQ15-0, 6 code blocks MBE0-5 and 6 code blocks MBE0-5, each holding 6-bit error correction code bits. Circuit Has BCNT.
  • the structure and memory capacity of the data blocks MBD0-15 and MBE0-5 are the same as those of the first embodiment. That is, each of the blocks MBD0-15 and MBE0-5 has a dynamic memory cell, and word lines and bit lines connected to these dynamic memory cells.
  • the extended Hamming code has 6 bits, 7 bits, 8 bits, 9 bits, and 10 bits are required. That is, when the information bits are 2 to the nth power, n + 2 bits of code data are required. Therefore, the extended Hamming code has a higher coding rate than the horizontal and vertical parity codes described above, and can reduce the number of code blocks MBE. Also, the number of signal lines wired to the code block MBE can be reduced. As a result, the chip size of the pseudo SRAM can be reduced.
  • the oscillator 40A self-oscillates a clock signal 0SC having a predetermined cycle after power-on.
  • the frequency of the clock signal 0SC is set to be the same as the frequency of the clock signal CLK of the first embodiment.
  • the refresh control circuit 2OA uses a refresh point signal refpoint. This is the same as the refresh control circuit 20 of the first embodiment, except that [21: 0] and the refresh request signal ref [21: 0] are output. That is, the refresh control circuit 2OA has a timer, a counter, a shift register, and a refresh request generation circuit that operate in synchronization with the clock signal 0SC.
  • the shift register has 22 cascaded latches, and the output of the last-stage latch is fed back to the input of the first-stage latch.
  • the register shifts each time the counter overflows, and outputs a refresh point signal refpoint [21: 0] from the latch to indicate the blocks MBD0-15 and MBE0-5 that execute the refresh operation.
  • One of the blocks MBD0-15 and MBE0-5 selected by the refresh point signal refpoint [21: 0] operates as a refresh block that executes a refresh operation.
  • Refresh request raw formed circuit the refresh point signal ref P oint [21: 0] during the activation period of the refresh request signal ref corresponding in synchronization with the periodic signal [21: 0].
  • the operation of the refresh control circuit 2OA is the same as in FIGS. 3 and 4, except that the signal names are different. That is, the activation interval T1 (corresponding to the refresh interval of each memory cell) of each refresh point signal refpoint [21: 0] is set longer than the data retention time of the worst memory cell. The worst memory cells already lose data when performing a refresh operation. However, the lost data can be decoded by the error correction function of the data control circuit 12A. As a result, power consumption during the standby period can be reduced as in the first embodiment.
  • the access control circuit 18A decodes the command signal CMD and outputs a read request signal rd [21: 0] or a write request signal wr [21: 0] for executing a read operation according to the decoding result. However, when the access control circuit 18A receives any activation of the refresh point signal refpoint [21: 0], it masks any output of the corresponding read request signal rd [21: 0]. . When the access control circuit 18A receives one of the refresh request signals ref [21: 0], the access control circuit 18A inputs a corresponding one of the write request signals wr [21: 0] to perform the refresh operation. Output for a certain period.
  • the data control circuit 12A outputs the input data DIN [15: 0] to the memory core 24 as write data wdat [21: 0] during the write operation.
  • the upper 6 bits [21:16] of the write data wdat [21: 0] are an error correction code (write code data) generated from the input data DIN [15: 0].
  • the data control circuit 12 receives the read data rdat [21: 0] from the memory core 24 during the read operation, and the data that is not read by the refresh operation and the memory whose data holding characteristic is poor and whose data is lost are lost. Error-correct the data read from the cell and output data D0UT [15: 0] And output.
  • the upper 6 bits [21:16] of the read data rdat [21: 0] are an error correction code (read code data) read from the code block MBE21-16. Further, the data control circuit 12A outputs an ECC error signal ECCERR to the error terminal when detecting an error of 2 bits or more that cannot be corrected during the read operation. Note that the write request signal wr [21: 0], read request signal rd [21: 0], refresh point signal refpoint [21: 0], refresh request signal ref [21: 0], and write data wdat [21: 0] ], And the bits of the read data rdat [21: 0] correspond to the data block MBD15-0 and the code block MBE21-16, respectively. The bits of the input data DIN [15: 0] and the output data D0UT [15: 0] correspond to the block numbers of the data block MBD15-0, respectively.
  • FIG. 13 shows details of the data control circuit 12 A shown in FIG.
  • the data control circuit 12A includes a data correction unit 12d for correcting data read from the memory core 24A and a data encoding unit 12e for generating an error correction code from data written to the memory core 24A. are doing.
  • the data correction section 12 d has a data addition circuit 42 and an error correction circuit 12 f.
  • the error correction circuit 12 f has syndrome generation circuits 44 and 46, error determination circuits 48 and 50, and an error decoding circuit 52.
  • the data encoding unit 12e has an encoding circuit 54A.
  • the data addition circuit 42 reads data from a block (either MBD0-15 or MBE0-5) that operates as a refresh block that cannot perform a read operation, assuming that it is a logic 1 ⁇ and a logic 0. data sequence codeO [21: 0], codel . [21: 0] to generate each data adding circuit 4 2, refresh point signal refpoint. [2 l: 0] determines the refresh block by i.e., data adding circuit 4 2 adds the data to be read from the refresh block as expected data of “logic 1” or “logic 0” to the read data from other blocks, and adds read data strings code0 [21: 0], codel [ 21: 0].
  • the syndrome generation circuit 44 generates a syndrome syn0 [ 5 : 0] from the read data codeO [21: 0]. Further, the syndrome generation circuit 44 determines the type of the error from the generated syndrome syn0 [5: 0] and outputs it as a comparison result signal resO. Shi The syndrome generation circuit 46 generates a syndrome synl [5: 0] from the read data codel [21: 0]. Further, the syndrome generation circuit 46 determines the type of error from the generated syndrome synl [5: 0], and outputs it as a comparison result signal resl.
  • the specifications of the comparison result signals res0 and resl are almost the same as in the first embodiment. However, in this embodiment, there is no “ECC error”. For this reason, the priority of error determination is as follows: no error> 1-bit error> 2-bit or more errors in descending order.
  • the error determination circuit 48 determines the type of error and error lock from the syndrome syn0 [5: 0], and corrects the error in the read data code0 [21: 0].
  • the corrected 22-bit read data is output as correction code ccode0 [21: 0].
  • the lower 16 bits corresponding to memory block MBD15-0 are output as output data dout0 [15: 0].
  • the error determination circuit 48 outputs an error flag signal errflg_2b0 when detecting an error of 2 bits or more.
  • the Erani determination circuit 50 is the same circuit as the error determination circuit 48.
  • the error determination circuit 50 determines the type of error and the error block from the syndrome syn 1 [5: 0], corrects the error in the read data codel [21: 0], and corrects the correction code ccodel [21: 0]. ], Output data doutl [15: 0] and error flag signal errflg_2bl.
  • the error decoding circuit 52 determines which of the error determination circuits 48 and 50 is true according to the error content indicated by the comparison result signals res0 and resl, and outputs the determined error from the error determination circuit 48 (or 50).
  • the output data D0UT [15: 0] and the ECC error signal ECCERR are output to the outside of the pseudo SRAM via the data terminal DQ15-0 and the error terminal ECCERR.
  • the correction code ccode [21: 0] is not used in this embodiment, but is rewrite data used when rewriting data of a memory cell in which an error has occurred.
  • the encoding circuit 54 A of the data encoding unit 1 2 e generates an error correction code wdat [21: 16] from the input data DIN [15: 0] (write data) and writes the write data wdat [15 : 0] And outputs it to the memory core 24.
  • FIGS. 14 to 17 show RTL descriptions and logic synthesis results of some circuit blocks of the data control circuit 12A shown in FIG. This corresponds to “syn” in the description, “syn” shown in FIG.
  • FIG. 14 shows an RTL description of the error determination circuits 48 and 50 shown in FIG.
  • FIG. 15 shows the result of logic synthesis from the RTL description of FIG.
  • FIG. 16 shows an RTL description of the syndrome generation units of the syndrome generation circuits 44 and 46 shown in FIG.
  • FIG. 17 shows an RTL description of the encoding circuit 54 of the data encoding unit 12 e shown in FIG.
  • FIG. 18 shows an error correction operation of the data control circuit 12 A shown in FIG.
  • the blocks DO-D15 and P0-P5 in the figure correspond to the data blocks MBD0-15 and the code block MBE16-21 shown in FIG. 12, respectively.
  • the bit addresses E1-E22 of the blocks DO-D15 and P0-P5 are allocated so that the bits of the syndrome indicate the error address, similarly to the general Hamming code.
  • the data block MBD10 (block D10) operates as a refresh block. For this reason, the bit corresponding to the block D10 in the read data rdat is undefined as indicated by the shaded thick frame.
  • the data addition circuit 42 of the data control circuit 12 A shown in Fig. 13 has the read data codeO with the logic 0 added to the bit corresponding to the block D10 and the logic 1 added to the bit corresponding to the block D10. Generate the added read data codel.
  • the syndrome generation circuit 44 generates a syndrome syn0 [5: 0] from the read data codeO.
  • the syndrome generation circuit 44 outputs the comparison result signal 1-esO ("1000") indicating that there is no error because all bits S5-0 of the syndrome syn0 [5: 0] are logic 0 ⁇ .
  • the syndrome generation circuit 46 generates a syndrome synl [5: 0] from the read data codel.
  • the syndrome generation circuit 46 outputs a comparison result signal resl ("0010") indicating a 1-bit error because the most significant bit S5 of the syndrome synl [5: 0] is logic 1 ⁇ .
  • the error decoding circuit 52 determines that the output of the error determination circuit 48 is correct based on the comparison result signals resO (no error) and resl (1 bit error) from the syndrome generation circuits 44 and 46.
  • the error decoding circuit 52 converts the output data dout0 [15: 0] output from the error determination circuit 48 and the error flag signal errflg—2b0 (indicating no error) into output data D0UT [15: 0] and an ECC error. Output as signal ECCERR (indicating no error).
  • FIG. 19 shows another error correction operation of the data control circuit 12A shown in FIG. Detailed description of the same description and operation as in FIG. 18 is omitted.
  • the data block MBD10 (block D10) operates as a refresh block. Also, as indicated by the thick frame in the figure, a 1-bit error occurs in the data block MBD1 (block D1).
  • the data control circuit 1 2 A's data addition circuit 4 2 has a read data codeO with “Logic 0” added to the bit corresponding to the block D10 and a read data with logic “1” added to the bit corresponding to the block D10. Generate data codel.
  • the syndrome generation circuits 44 and 46 generate syndromes syn0 [5: 0] and synl [5: 0] from the read data codeO and codel, respectively.
  • the syndrome generation circuit 44 outputs the comparison result signal resO ("0010" indicating a 1-bit error because the most significant bit S5 of the syndrome syn0 [5: 0] is logic 1 ".
  • the syndrome generation circuit 46 The comparison result signal resl ("0001") indicating an error of 2 bits or more because the most significant bit of Synl [5: 0] is logic 0 and at least one of bits S4-0 is "logic 1" ) Is output.
  • the error determination circuit 50 does not perform error correction because the syndrome synl [5: 0] from the syndrome generation circuit 44 indicates an error of 2 bits or more, and the data block MBD15-0 of the read data codel [21: 0]. The bits corresponding to are output directly as output data doutl [15: 0]. The error determination circuit 50 activates the error flag signal errflg-2bl to a high level.
  • the error decoding circuit 52 determines that the output of the error determination circuit 48 is correct based on the comparison result signals resO (one bit error) and resl (two or more bits error) from the syndrome generation circuits 44 and 46.
  • the error decoding circuit 52 outputs the output data dout0 [15: 0] output from the error determination circuit 48 and the error flag signal errflg_2b0 (indicating no error) to the output data DOUT [15: 0] and the ECC error signal ECCERR. (Indicating no error).
  • the same effects as those of the first embodiment can be obtained.
  • the number of bits of the code data can be reduced by using the extended Hamming code as the code data.
  • the number of code blocks MBE can be reduced by two compared to the first embodiment, and the chip size of the pseudo SRAM can be reduced.
  • the error correction circuit 12 ⁇ outputs an ECC error signal ECCERR when detecting an uncorrectable “error of 2 bits or more”.
  • ECC error signal ECCERR an external system accessing the pseudo SRAM can execute an operation to avoid an error, such as retrying a read operation and discarding data. As a result, the reliability of the system can be improved.
  • FIG. 20 shows a third embodiment of the semiconductor memory of the present invention. Circuits and signals that are the same as the circuits and signals described in the first and second embodiments are denoted by the same reference numerals, and detailed descriptions thereof are omitted.
  • the semiconductor memory of this embodiment is formed as a clock asynchronous type pseudo SRAM using a CMOS process on a silicon substrate.
  • the extended Hamming code is used as an error correction code. The minimum naming distance of this extended Hamming code is "4", and 1-bit error correction and 2-bit error detection can be performed simultaneously.
  • the pseudo SRAM has a memory core 24B and an oscillator 40B instead of the memory core 24A and the oscillator 40A of the second embodiment.
  • Other configurations are almost the same as those of the second embodiment.
  • the memory core 24B is implemented in the second embodiment except that an input redundancy circuit for relieving a defect in a unit of a line and a column redundancy circuit for relieving a defect in a unit of a bit line are not formed. Same as the form memory core 24A.
  • the oscillator 40B self-oscillates a cook signal 0SC having a shorter cycle than that of the second embodiment. For this reason, the refresh control circuit sets the activation period of each refresh point signal refpoint [21: 0] output by the 2 OA and the generation interval of the refresh request signal ref [21: 0] according to the second embodiment. Be shorter. Specifically, the activation interval T1 (corresponding to the refresh interval of each memory cell) of each refresh point signal refpoint [21: 0] is set shorter than the data retention time of the worst memory cell. . Therefore, all the memory cells including the worst memory cell can always retain data by executing the refresh operation.
  • the error correction function of the data control circuit 12A is used to remedy the memory core failure that occurred during the manufacturing process. In other words, the code block MBE0-5 functions instead of the input / output redundant circuit and the column redundant circuit.
  • the same effects as those of the first and second embodiments can be obtained. Further, in this embodiment, by forming the code blocks MBE0-5 in place of the row redundancy circuit and the column redundancy circuit, erroneous data read from a memory cell that has become defective in the manufacturing process can be corrected by an error correction circuit. Can be corrected. Since there is no need to form a redundant circuit, the chip size can be reduced.
  • FIG. 21 shows a fourth embodiment of the semiconductor memory of the present invention. Circuits and signals identical to those described in the first and second embodiments are the same. Numbers are given, and detailed descriptions thereof are omitted.
  • the semiconductor memory of this embodiment is formed as a clock asynchronous type pseudo SRAM using a CMOS process on a silicon substrate.
  • the extended Hamming code is used as an error correction code.
  • the minimum length of the extended Hamming code, ie, the mining distance, is 4 ", and 1-bit error correction and 2-bit error detection can be performed simultaneously.
  • the pseudo SRAM includes a data control circuit 12 C, an access control circuit 18 C, and the third embodiment instead of the data control circuit 12 A, the access control circuit 18 A, and the oscillator 4 OA of the second embodiment. It has the same oscillator 40B.
  • the data control circuit 12C has a function of writing back the corrected data to the memory core 24A when a correctable error (1 bit error) is detected during the read operation.
  • the access control circuit 18C outputs a write request signal wr [21: 0] when writing back the data corrected by the data control circuit 12C to the memory core 24A.
  • FIG. 22 shows details of the data control circuit 12C shown in FIG.
  • the data control circuit 12C has a data encoding unit 12g instead of the data encoding unit 12e of the second embodiment.
  • the configuration of the data correction unit 12d is the same as that of the second embodiment.
  • the data encoding unit 12g has an encoding circuit 54A and a selector 56B.
  • the selector 56B outputs data obtained by encoding the input data DIN [15: 0] (write data) by the encoding circuit 54A as write data wdat [21: 0].
  • the selector 56B writes the correction code ccode [21: 0] output from the error decoding circuit 52 of the data correction unit 1 2d into the write data wdat [ 21: 0] is output. That is, the selector 56B functions as a write-back control circuit for writing the data corrected by the error correction circuit 12f to the data block MBD and the code block MBE during the read operation.
  • the same effects as those of the first and second embodiments can be obtained.
  • the data corrected by the error correction circuit 12f can be written back to the data block MBD and the code block MBE by the selector 56B. For this reason, power supply noise, soft errors, etc.
  • correct data can be written to the memory cell, and the reliability of the pseudo SRAM can be improved.
  • FIG. 23 shows a fifth embodiment of the semiconductor memory of the present invention. Circuits identical to the circuits and signals described in the first and second embodiments are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the semiconductor memory of this embodiment is formed on a silicon substrate as a pseudo asynchronous SRAM using a CMOS process.
  • the extended Hamming code is used as an error correction code.
  • the minimum Hamming distance of this extended Hamming code is 4, and 1-bit error correction and 2-bit error detection can be performed simultaneously.
  • the pseudo SRAM uses a data control circuit 12D instead of the data control circuit 12A, access control circuit 18A, refresh control circuit 20A, oscillator 4OA and memory core 24A of the second embodiment. It has a control circuit 18D, a refresh control circuit 20D, an oscillator 40D, and a memory core 24D.
  • the memory core 24D has 64 data blocks MBD [63: 0] and eight code blocks MBE [7: 0].
  • the number of data blocks MBD [63: 0] is designed to be four times the number of bits of the data terminals DQ [15: 0]. Therefore, encoded data cannot be generated only by the write data supplied to the data terminals [15: 0] in one write operation. Therefore, the data control circuit 12D needs to read data from the data block MBD [63: 0] and the code block MBE [7: 0] at the beginning of the write operation, as described later. However, by increasing the number of bits of information data for generating code data, the number of code block MBEs can be relatively reduced.
  • the data control circuit 12D corrects an error that can be corrected (one-bit error) in the read data rdat [71: 0] during the read operation. Then, the data control circuit 12D selects the read data corresponding to 16 of the data blocks MBD0-63 in accordance with the lower bits of the row address supplied to the address terminal AD. And outputs the selected data as output data DOUT [15: 0]. The data control circuit 12D outputs an ECC error signal ECCERR to the error terminal when there is an uncorrectable error (error of 2 bits or more) in the read data rdat [71: 0] during the read operation.
  • the data control circuit 12D reads data from the data blocks MBD0-63 and the code blocks MBE0-7 during the write operation, and decodes the information data if there is an error. Next, the data control circuit 12D replaces the bits corresponding to the write data DIN [15: 0] in the decoded information data with the write data DIN [15: 0] to generate a rewrite data string. . Then, the data control circuit 12D obtains new code data from the rewrite data sequence, and writes the rewrite data sequence and the new code data to the data blocks MBD0-63 and the code blocks MBE0-7, respectively. As described above, in the present embodiment, in the pseudo SRAM, the read operation of reading data from the memory core 24A is executed at the beginning of the write operation.
  • the access control circuit 18D outputs a read request signal rd [71: 0] or a write request signal wr [71: 0] in accordance with the operation of the data control circuit 12D. Specifically, a read request signal rd [71: 0] and a write request signal wr [71: 0] are sequentially output during a write operation.
  • the refresh control circuit 2OD sequentially outputs a refresh point signal refpoint [71: 0] and a refresh request signal ref [71: 0].
  • the operation of the refresh control circuit 2OD is the same as that of the refresh control circuit 2OA of the second embodiment except that the number of bits of the output signal is increased.
  • the frequency of the clock signal 0SC output from the oscillator 4 OD is set higher than that of the second embodiment in accordance with the number of bits of the refresh point signal refpoint [71: 0].
  • FIG. 24 shows a write operation of the pseudo SRAM shown in FIG.
  • a read line (not shown) is activated, and in each of the code block MBE and the data block MBD, data is read from the memory cell to one of the complementary bit lines BL and / BL (FIG. 24 (a )).
  • the sense amplifier is activated, and the voltage difference between the bit lines BL and / BL is amplified (FIG. 24 (b)).
  • the column switch signal CSW is activated, and the amplified data is read data.
  • the data is transferred to the data control circuit 12D as data rdat [63: 0] (FIG. 24 (c)).
  • the data control circuit 12D corrects an error in the read data rdat [63: 0].
  • the data control circuit 12D replaces 8 bits of the data read from the data block MBD with the write data DIN [7: 0] supplied to the data terminals DQ7-0 (see FIG. 24 ( d))).
  • the data control circuit 12D generates new code data using the replaced write data (FIG. 24 (e)). Then, the replaced write data and new code data are sequentially written to the code block MBE and the data block MBD as write data wdat [63: 0] (FIG. 24 (f, g)). After that, the line is deactivated, the bit lines BL and / BL are precharged, and the write operation is completed (Fig. 24 (h, i)).
  • the timing of the column switch signal CSW at the time of writing data, the timing of deactivating the single line, and the timing of starting the precharge of the bit lines BL and / BL differ between the code block MBE and the data block MBD. ing. However, these timings may be the same for the code block MBE and the data block MBD.
  • the same effects as those of the first and second embodiments can be obtained. Further, in this embodiment, by increasing the number of data blocks for storing information data, the number of bits of code data relative to the number of bits of information data can be relatively reduced. As a result, the number of code blocks can be relatively reduced with respect to the number of data blocks, and the chip size of the pseudo SRAM can be reduced.
  • the present invention is applied to a pseudo SRAM chip.
  • the present invention is not limited to such an embodiment.
  • the present invention may be applied to a pseudo SRAM core mounted on a system LSI.
  • the refresh operation can be hidden from an external system without lengthening the read cycle time, and at the same time, errors in the read data string can be corrected.
  • the error correction function to remedy a read failure of a memory cell with a short data retention time
  • the refresh request interval can be extended and the power consumption during standby can be reduced. Therefore, when the present invention is applied to, for example, a pseudo SRAM, both the AC characteristic and the DC characteristic can be made equal to or less than that of the SRAM.
  • pseudo SRAMs that are completely compatible with SRAMs can be provided to users. The user can reduce the cost simply by replacing the SRAM mounted on the system with the pseudo SRAM to which the present invention is applied.
  • data that cannot be read by the refresh operation can be easily restored by executing the refresh operation in response to the refresh request in only one block.
  • the semiconductor memory of the present invention it is possible to prevent the refresh request and the read request from conflicting with each other, and to prevent an increase in the read access time. Further, it is possible to easily control the read operation by the access control circuit.
  • the write operation is performed after the refresh operation is performed, so that the write data can be reliably written to the refresh block. it can.
  • the delay of the write operation can be gradually recovered.
  • the semiconductor memory of the present invention it is possible to prevent a read operation from being delayed due to contention between a rewrite operation and a write operation in blocks other than the refresh block, and prevent a read access time from being lengthened.
  • the redundant circuit can be eliminated and the chip size can be reduced.
  • the error determination logic of the error correction circuit can be easily configured.
  • an external system accessing the semiconductor memory in response to the error signal can execute an operation to avoid an error such as a read operation retry request and data discard.
  • the reliability of the system can be improved.
  • the reliability of the semiconductor memory can be improved by writing correct data by the write-back control circuit when data in the memory cell is broken due to power supply noise, soft error or the like.
  • the semiconductor memory of the present invention by forming a data block corresponding to each of a plurality of data terminals, errors can be corrected in units of data input / output to / from the semiconductor memory at one time, and generation of code data and read data generation can be performed. Error correction logic can be simplified. As a result, it is possible to prevent the read cycle time and the write cycle time from increasing.
  • the number of bits of code data can be relatively reduced with respect to the number of bits of information data.
  • the number of code blocks can be reduced relative to the number of data blocks, and the chip size can be reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

データ付加回路は、リフレッシュブロックから読み出されるべき複数種の予想データを、他のブロックから読み出されるデータにそれぞれ付加して複数の読み出しデータ列を生成する。エラー訂正回路は、読み出しデータ列についてそれぞれエラーを検出し、最も確からしいエラー検出結果の一つを真とする。エラー訂正回路は、真としたエラー検出結果に基づいてリフレッシュブロックから読み出されるべきデータを復号する。さらに、エラー訂正回路は、真としたエラー検出結果に対応する読み出しデータ列のエラーを訂正する。この結果、読み出しサイクル時間を延ばすことなくリフレッシュ動作を隠すことができ、同時にエラーを訂正できる。データリテンション特性の悪いメモリセルから読み出されるデータのエラーを訂正することで、リフレッシュ要求間隔を延ばすことができ、スタンバイ中の消費電力を削減できる。

Description

明細書 半導体メモリおよび半導体メモリの動作方法 技術分野
本発明は、 リフレッシュ動作が必要なダイナミックメモリセルを有する半導体 メモリおよびその動作方法に関する。 背景技術
近年、 擬似 SRAM (Pseudo - SRAM) と呼ばれる半導体メモリが注目されている。 擬似 SRAMは、 DRAM のメモリセルを有し、 メモリセルのリフレツシュ動作を内部 で自動的に実行することで SRAMとして動作する。ダイナミックメモリセルは、面 積が小さいため、 ビットコストが低く、 かつ大容量の擬似 SRAMを開発できる。 —方、擬似 SRAMは、メモリセルのキャパシタに蓄えられる電荷によってデータ を記憶するために、 データは、 電荷のリークなどによりやがて失われる。 これを 避けるために、擬似 SRAMは、所定期間毎にリフレッシュ動作が必要である。 リフ レッシュ動作は、 メモリセルに保持されているデータをビット線に読み出し、 ビ ット線上のデータをセンスアンプで増幅し、 メモリセルに再書き込みする動作で ある。
リフレッシュ動作を実行するためのリフレッシュ要求は、 外部アクセス要求と 無関係に発生する。 このため、 リフレッシュ動作は、 アクセス動作と競合する場 合がある。 擬似 SRAMは、 SRAMインタフェースを有するため、 この競合が発生し たときにも、外部のシステムに対してリフレッシュ動作を隠す必要がある。近時、 リフレッシュ動作を隠すために、 書き込みデータと共にエラー訂正符号を記憶す る半導体メモリが提案されている(例えば、特開 2 0 0 3— 5 1 1 8 6号公報)。 この半導体メモリでは、 エラー訂正符号を用いることで、 リフレッシュ動作中の メモリプロックからデータを読み出すことなく、 読み出しデータを再生できる。 また、 読み出し要求とリフレッシュ要求が競合しないため、 読み出しサイクル時 間にリフレッシュ動作時間を含める必要はない。 この結果、 読み出しサイクル時 間を SRAMと同等にできる。
一方、擬似 SRAMは、 リフレッシュ動作が必要なため、 メモリセルがラッチで構 成される SRAMに比べ、スタンバイ期間中の消費電力が大きい。スタンバイ期間中 に消費される電力として、 DC成分と AC成分がある。 DC成分は、 リーク成分 であり、 トランジスタのオフ電流および内部回路 (特に、 電源回路) の動作のた めに意図的に流している電流等である。 これ等、 DC成分は、 半導体プロセスお よび回路構成に依存するため、 擬似 SRAMと SRAMとの差異は、 議論できない。 擬似 SRAMのスタンバイ期間の消費電流のうち AC成分は、主にリフレッシュ動 作による電流である。 このため、 リフレッシュ動作電流の削減は、 AC成分を削 減するために有効である。 近時、 リフレッシュ動作電流を削減するために、 書き 込みデータと共にエラー訂正符号を記憶する半導体メモリが提案されている。 こ の半導体メモリは、 エラー訂正符号によりメモリセルのデータ保持特性を実質的 に向上し、 リフレッシュ間隔を延ばすことで、 リフレッシュ動作電流を削減して いる。 (例えば、 特開平 5— 4 1 084号公報、 特開 2002- 566 7 1号公 報、 特開 2003— 5 9 290号公報) 。
しかしながら、上述した従来の擬似 SRAMで用いられるエラー訂正手法では、読 み出しサイクル時間の削減またはスタンバイ電流の削減の一方しかできない。 具 体的には、 読み出しサイクル時間 (AC特性) は、 SRAMと同等にできても、 スタ ンバイ電流 (DC特性) は SRAMと同等にできない。 あるいは、 スタンバイ電流は SRAMと同等にできても、読み出しサイクル時間は、 SRAMと同等にできない。 すな わち、 SKAMと完全に互換性を有する擬似 SRAMは、実現されていない。 この結果、 例えば、 システムに搭載されている SRAMをコスト削減のために擬似 SRAMに単純 に置き換えるだけでは、 システムを動作させることをは困難であった。
以下、 本発明に関連する先行技術文献を列記する。
(特許文献)
(1) 特開 200 3— 5 1 1 86号公報
(2) 特開平 5— 4 1 084号公報
( 3 ) 特開 2002— 566 7 1号公報
(4) 特開 2003— 5 9290号公報 発明の開示
本発明の目的は、 アクセスサイクル時間を延ばすことなくリフレッシュ動作を 隠すことができ、同時にスタンバィ期間の消費電力を削減できる擬似 SRAMを提供 することにある。
本発明の別の目的は、 SRAMと完全な互換性を有する擬似 SRAMを提供すること にめる。
本発明の半導体メモリの一形態では、 複数のデータブロックは、 情報データを 記憶するメモリセルを有する。 複数の符号ブロックは、 データブロックに記憶さ れたデータを復号するための符号データを記憶するメモリセルを有する。 リフレ ッシュ制御回路は、 データプロックおよび符号ブロックにリフレツシュ動作を順 次実行させるためにリフレッシュ要求信号を出力する。 データ付加回路は、 リフ レッシュプロックから読み出されるべき複数種の予想データを、 他のプロックか ら読み出されるデータにそれぞれ付加して複数の読み出しデータ列を生成する。 ここで、 リフレッシュブロックは、 データプロックおよび符号プロックのうちリ フレッシュ動作によりデータを読み出せないプロックである。
エラー訂正回路は、 読み出しデータ列についてそれぞれエラーを検出し、 これ 等のエラー検出結果から最も確からしい一つを真とする。 また、 エラー訂正回路 は、 真としたエラー検出結果に対応する読み出しデータ列のエラーを訂正する。 符号データは、 例えば、 水平垂直パリティ符号または拡大ハミング符号であり、 符号データの最小ハミング距離は、 4以上である。 . このように、 データの一部を予想した複数の読み出しデータ列のエラー検出結 果を互いに比較して真のエラーを検出し、 真のエラーに基づいてプロックのいず れかで実際に発生したエラーを訂正することで、 リフレッシュ動作を外部のシス テムに対して隠すこと、 およびエラー訂正を同時に達成できる。 リフレッシュ動 作を読み出し要求と競合することなく隠すことができるため、 読み出しサイクル 時間が長くなることを防止できる (A C特性の改善) 。
エラー訂正機能により、 例えば、 データを保持できる最小時間であるデータリ テンション時間が短いメモリセルによって発生するエラーを訂正できる。 このた め、 リフレッシュ要求間隔を延ばすことができ、 スタンバイ中の消費電力を削減 できる (D C特性の改善) 。 具体的には、 各メモリセルのリフレッシュ間隔を、 ワーストのメモリセルのデータリテンション時間より長く設定しても、 誤ったデ ータが読み出されることはない。 したがって、 本発明を、例えば、擬似 SRAMに適 用した場合、 A C特性および D C特性の両方を SRAMと同等以下にできる。換言す れば、 SRAMと完全に互換性を有する擬似 SRAMをユーザに提供できる。ユーザは、 システム上に搭載される SRAMを本発明が適用された擬似 SRAMに置き換えるだけ で、 コストを削減できる。
本発明の半導体メモリの別の一形態では、 リフレッシュ制御回路は、 データプ 口ックおよび符号プロックのいずれか 1つにリフレッシュ動作を実行させるため に、データプロックおよび符号プロックにリフレッシュ要求信号を順次出力する。 リフレッシュ要求に応答するリフレッシュ動作を 1つのブロックでのみ実行する ことで、 リフレッシュ動作により読み出せないデータを、 容易に復元できる。 本発明の半導体メモリの別の一形態では、 アクセス制御回路は、 読み出しコマ ンドに応答してリフレッシュブロックを除くデータプロックおよぴ符号ブロック に読み出し要求信号を出力する。 すなわち、 リフレッシュブロックは、 読み出し 動作を実行しない。 このため、 リフレッシュ要求と読み出し要求が競合すること を防止でき、 読み出しアクセス時間が増加することを防止できる。 また、 ァクセ ス制御回路による読み出し動作の制御を容易にできる。
本発明の半導体メモリの別の一形態では、 アクセス制御回路は、 書き込みコマ ンドに応答してデータプロックおよび符号プロックに書き込み要求信号を出力す る。 データブロックおよび符号ブロック内の各ブロック制御回路は、 リフレツシ ュ要求信号と書き込み要求信号が競合するときに、 リフレッシュ動作を実行した 後に書き込み動作を遅れて実行する。 このため、 書き込みデータをリフレッシュ ブロックに対して確実に書き込むことができる。
本発明の半導体メモリの別の一形態では、 書き込みコマンドの最小供給間隔で ある外部書き込みサイクル時間は、 各プロックの実際の書き込み動作時間である 内部書き込みサイクル時間より長く設定されている。 このため、 ブロック制御回 路は、 連続して供給される書き込み要求信号の間にリフレッシュ要求が発生した 場合にも、 書き込み動作の遅れを徐々に取り戻すことができる。 すなわち、 書き 込みデータをリフレッシュプロックに確実に書き込むことができる。
本発明の半導体メモリの別の一形態では、 あるリフレッシュプロックの最後の リフレッシュ要求信号から次のリフレッシュブロックに切り替わるまでの切り替 え期間に、 n回の外部書き込みサイクル時間が揷入可能であり、 かつ 1回のリフ レッシュ動作と n回の書き込み動作を実行可能である。例えば、切り替え期間は、 外部書き込みサイクル時間 Tcyc と内部書き込みサイクル時間との差を δとする ときに、 少なくとも (TcycZ S ) X Tcycに設定される。 このため、 あるプロック においてリフレッシュ要求により遅れた書き込み動作は、 そのプロックがリフレ ッシュプロックの期間に完了する。 リフレッシュブロックから通常のプロックに 切り替わった後、 リフレッシュプロック中に供給された書き込み要求に対応する 未完了の書き込み動作はない。 このため、 リフレッシュプロック以外のブロック において、 リフレッシュ動作と書き込み動作の競合に伴って読み出し動作が遅れ ることを防止でき、 読み出しアクセス時間が長くなることを防止できる。
本発明の半導体メモリの別の一形態では、 符号プロックは、 不良を救済する口 ゥ冗長回路およびコラム冗長回路の少なくともいずれかの代わりに形成される。 不良のメモリセルから読み出される誤ったデータは、 エラー訂正回路により訂正 できる。 冗長回路の形成が不要になるため、 チップサイズを削減できる。
本発明の半導体メモリの別の一形態では、 エラー訂正回路は、 読み出しデータ 列のうちエラーの少ない読み出しデータ列を真として選択する。 例えば、 エラー 訂正回路は、 「エラー無し」、 「データブロックのいずれかの 1ビットエラー」、 「符号ブロックのいずれかの 1ビットエラーである符号エラー」 および 「2ビッ ト以上のエラー」 のいずれかを検出し、 エラー判定の優先度を、 エラー無し〉 1 ビットエラー >符号エラー〉 2ビット以上のエラーとする。 そして、 エラー訂正 回路は、 優先度の高い項目を真とする。 このため、 エラー訂正回路のエラー判定 論理を簡易に構成できる。
本発明の半導体メモリの別の一形態では、 エラー訂正回路は、 訂正不可能なェ ラーを検出したときに、 エラー信号をエラー端子に出力する。 例えば、 エラー訂 正回路は、 「2ビット以上のエラー」を検出したときに、エラー信号を出力する。 エラー信号により、 半導体メモリをアクセスする外部のシステムは、 読み出し動 作のリ トライ要求およびデータの廃棄等、 エラーを回避する動作を実行できる。 この結果、 システムの信頼性を向上できる。
本発明の半導体メモリの別の一形態では、 書き戻し制御回路は、 エラー訂正回 路が訂正したデータをデータプロックおよび符号ブロックに書き戻す。 メモリセ ル内のデータが電源ノイズ、 ソフトエラー等により破壌されたときに、 正しいデ ータを書き込むことで、 半導体メモリの信頼性を向上できる。
本発明の半導体メモリの別の一形態では、 データブロックは、 情報データを入 出力する複数のデータ端子にそれぞれ対応して形成されている。 このため、 半導 体メモリに一度に入出力されるデータ単位でエラーを訂正できる。 この結果、 符 号データの生成および読み出しデータのエラー訂正の論理を簡易にでき、 読み出 しサイクル時間および書き込みサイクル時間が増加することを防止できる。
本発明の半導体メモリの別の一形態では、 情報データを入出力する複数のデー タ端子に一度に供給される書き込みデータは、 データプロックの一部に書き込ま れる。 エラー訂正回路は、 書き込み動作中に、 データブロックおよび符号ブロッ クからの読み出しデータを用いて情報データを復号し、 復号した情報データの一 部を書き込みデータに入れ替えて書き換えデータ列を生成する。 エラー訂正回路 は、 書き換えデータ列から新たな符号データを求め、 書き換えデータ列および新 たな符号データをデータプロックおよび符号プロックにそれぞれ書き込む。 情報 データのビット数を増やすことで、 情報データのビット数に対する符号データの ビット数を相対的に減らすことができる。 この結果、 符号ブロックの数を、 デー タブ口ックの数に対して相対的に減らすことができ、チップサイズを削減できる。 図面の簡単な説明
図 1は、 本発明の第 1の実施形態を示すブロック図である。
図 2は、 図 1に示したデータ制御回路の詳細を示すブロック図である。
図 3は、図 1に示したリフレッシュ制御回路の動作を示すタイミング図である。 図 4は、 図 1に示したリフレッシュ制御回路の動作の詳細を示すタイミング図 である。 図 5は、 第 1の実施形態の読み出し動作の概要を示すタイミング図である。 図 6は、 第 1の実施形態の書き込み動作の概要を示すタイミング図である。 図 7は、 第 1の実施形態のパリティ符号の生成規則を示す説明図である。
図 8は、 図 2に示したエラー判定回路の動作の概要を示すフローチャートであ る。
図 9は、 図 2に示したエラー訂正回路の動作の概要を示す説明図である。
図 1 0は、 第 1の実施形態の読み出し動作の一例を示すタイミング図である。 図 1 1は、第 1の実施形態の読み出し動作の別の例を示すタイミング図である。 図 1 2は、 本発明の第 2の実施形態を示すプロック図である。
図 1 3は、 図 1 2に示したデータ制御回路の詳細を示すプロック図である。 図 1 4は、 図 1 3に示したエラー訂正回路の RTL記述を示す説明図である。 図 1 5は、 図 1 4の RTL記述から論理合成した結果を示す回路図である。
図 1 6は、 図 1 3に示したシンドローム生成回路の RTL記述を示す説明図であ る。
図 1 7は、 図 1 3に示した符号化回路の RTL記述を示す説明図である。
図 1 8は、 図 1 2に示したデータ制御回路のエラー訂正動作を示す説明図であ る。
図 1 9は、 図 1 2に示したデータ制御回路の別のエラー訂正動作を示す説明図 である。
図 2 0は、 本発明の半導体メモリの第 3の実施形態を示すプロック図である。 図 2 1は、 本発明の半導体メモリの第 4の実施形態を示すプロック図である。 図 2 2は、 図 2 1に示したデータ制御回路の詳細を示すブロック図である。 図 2 3は、 本発明の半導体メモリの第 5の実施形態を示すプロック図である。 図 2 4は、図 2 3に示した擬似 SRAMの書き込み動作を示すタイミング図である c 発明を実施するための最良の形態
以下、 本発明の実施形態を図面を用いて説明する。 図中の二重丸は、 外部端子 を示している。 図中、 太線で示した信号線は、 複数本で構成されている。 太線が 接続されているプロックの一部は、 複数の回路で構成されている。 外部端子を介 して供給される信号には、 端子名と同じ符号を使用する。 信号が伝達される信号 線には、 信号名と同じ符号を使用する。 信号名の末尾の〃 z〃は、 正論理を示して いる。
図 1は、 本発明の半導体メモリの第 1の実施形態を示している。 この半導体メ モリは、シリコン基板上に CMOSプロセスを使用してクロック同期式のシンクロナ ス擬似 SRAMとして形成されている。
擬似 SRAMは、 ァドレスバッファ 1 0、データ制御回路 1 2、データ入出力バッ ファ 1 4、 コマンドバッファ 1 6、 アクセス制御回路 1 8、 リフレッシュ制御回 路 2 0、 クロックバッファ 2 2およびメモリコア 2 4を有している。
メモリコア 2 4は、 データブロック MBD0 - 15、 符号ブロック MBE0- 7およびブ口 ック制御回路 BCNTを有している。データブロック MBD0-15は、データ端子 DQ15-0 にそれぞれ対応して形成されており、データ端子 DQ15- 0を介して供給される情報 データ(以下、単にデータとも称する)をそれぞれ保持する。符号プロック MBE0-7 は、 データブロック MBD0 - 15に保持されるデータにより生成される 8ビットの誤 り訂正符号の各ビットをそれぞれ保持する。 誤り訂正符号は、 データプロックに 記憶された情報データを復号するための符号データとして使用される。 なお、 特 に図示していないが、 メモリコア 2 4は、 ワード線単位で不良を救済するための 口ゥ冗長回路およぴビット線単位で不良を救済するためのコラム冗長回路を有し ている。
プロック制御回路 BCNTは、ブロック MBD0- 15、 MBE0-7に対応してそれぞれ形成 され、 これ等ブロックの動作をそれぞれ制御する。 プロック制御回路 BCNTは、書 き込み要求信号と、 リフレッシュ要求信号 (refd [ 15 : 0]、 refe [7 : 0]のいずれか) とを同時に受けたとき、対応する書き込み要求信号(wrd [ 15 : 0]、 wde [7 : 0]のいず れか) を、 リフレッシュ動作が揷入される期間だけ順次遅らせて出力する。
データブロック MBD0- 15および符号ブロック MBE0- 7は、互いに同じ構造を有し、 同じメモリ容量を有している。 各プロック MBD0-15、 MBE0 - 7は、 ダイナミックメ モリセルと、 これ等ダイナミックメモリセルに接続されたワード線、 ビット線と を有している。 メモリセルは、 データの論理値を電荷として保持するキャパシタ と、 キャパシタをビット線に接続する転送トランジスタとを有している。 転送ト ランジスタのゲートは、 ワード線に接続されている。 なお、 この実施形態では、 後述する図 7に示すように、 水平垂直パリティが、 エラー訂正符号として採用さ れている。
了ドレスバッファ 1 0は、 ァ ドレス端子 ADを介してァドレス信号 ADを受信す る。 この擬似 SRAMは、 ロウアドレス信号およびコラムアドレス信号を一度に受信 するアドレスノンマルチプレタス方式を採用している。 ロウアドレス信号は、 ブ ロック MBD0- 15、 MBE0- 7内のワード線の選択に使用される。 コラムアドレスは、 プロック MBD0- 15、 MBE0-7内のビット線の選択に使用される。
クロックバッファ 2 2は、 クロック端子 CLKを介してクロック信号 CLKを受信 し、 受信した信号を内部クロック信号 ICLK として出力する。 クロック信号 CLK は、例えば、擬似 SRAMが搭載されるシステム基板のシステムクロックである。 内 部ク口ック信号 ICLKは、擬似 SRAM内のク口ック同期が必要な回路に供給される。
リフレッシュ制御回路 2 0は、 特に図示していないが、 タイマ、 カウンタ、 シ フトレジスタおよびリフレッシュ要求生成回路を有している。 タイマは、 内部ク ロック信号 ICLKに同期して動作し、周期信号 (パルス信号) を生成する。 タイマ の周期は、 リフレッシュ要求の発生間隔に一致する。 カウンタは、 タイマからの 周期信号に同期してカウント動作し、 リフレッシュァドレス信号 REFADを生成す る。 リフレッシュアドレス信号 REFADは、 リフレッシュ動作中にワード線を選択 するために出力される。 カウンタのビット数は、 カウンタが一周したときに、 プ ロック MBD0_15、 MBE0-7内の全てのヮード線が選択される数に設定されている。 シフ トレジスタは、 縦続接続された 2 4個のラッチを有しており、 最終段のラ ツチの出力は初段のラッチの入力に帰還されている。 パワーオンリセット中に、 ラッチの一つは高レベルにセットされ、 残りのラツチは低レベルにリセットされ る。 シフ トレジスタは、 カウンタのオーバフロー毎にシフ ト動作し、 リフレツシ ュ動作を実行するブロック MBD0_15、 MBE0- 7を示すためのリフレッシュポイント 信号 refpointd [ 15 : 0]、 refpointe [7 : 0]をラッチからそれぞれ出力する。 すなわ ち、 シフ ト レジスタは、 リ フ レッシュポイ ン ト信号 refpointd[ 15 : 0]、 refpointe [7 : 0]の一つを順次活性化する。 このため、 ブロック MBD0-15、 BE0-7 の一つのみは、 リフレッシュ動作を実行するリフレッシュブロックとして順次動 作する。 リ フ レ ッ シュ要求生成回路は、 リ フ レ ッ シュポイ ン ト信号 refpointd[15:0]N refpoin1;e[7:0]の活性化期間に、周期信号に同期して、 リフレ ッシュポイント信号 refpointd[15:0]、 refpointe[7:0]にそれぞれ対応するリフ レッシュ要求信号 refd[15:0]、 refe[7:0]を出力する。
コマンドバッファ 1 6は、 コマンド端子 CMDを介してコマンド信号 CMDを受信 し、 受信したコマンド信号 CMDをアクセス制御回路 1 8に出力する。 コマンド信 号 CMDは、 例えば、 チップィネ一ブル信号/ CE、 アウトプットイネ一プル信号/ 0E およびライトイネーブル信号/ WE等の擬似 SRAMの動作を制御する信号である。 コ マンド端子 CMDを介して供給されるコマンドと して書き込み動作を実行するため の書き込みコマンドおよび読み出し動作を実行するための読み出しコマンドがあ る。
アクセス制御回路 1 8は、 コマンド信号 CMDを解読し、 解読結果に応じて読み 出し動作を実行する読み出し要求信号 rdd[15:0]、 rde[7:0]、 または書き込み要 求信号 wrd[15:0]、 wde[7:0]を出力する。 但し、 アクセス制御回路 1 8は、 リフ レッシュポイント信号 refpointd[15:0]、 refpointe [7: 0]のいずれかの活性化に 応答して、 対応する読み出し要求信号 (rdd[15:0]、 rde[7:0]のいずれか) の出力 をマスクする。 すなわち、 読み出し動作は、 リフレッシュプロックで禁止され、 他のプロックで実行される。 リフレッシュプロックの読み出し動作を常に禁止す ることで、 アクセス制御回路 1 8の読み出し制御を簡易にできる。
データ入出力バッファ 14は、書き込み動作中に、データ端子 DQ15-0を介して 受信したデータ信号を入力データ DIN[15:0]として出力し、 読み出し動作中に、 データ制御回路 1 2から供給される出力データ D0UT[15:0]をデータ端子 DQ15-0 に出力する。
データ制御回路 1 2は、 書き込み動作中に、 入力データ DIN[15:0]を書き込み データ wdat[15:0]としてメモリコア 24に出力し、 同時に入力データ DIN[15:0] から生成されるエラー訂正符号(書き込み符号データ) wecc[7:0]をメモリコア 2 4に出力する。 また、 データ制御回路 1 2は、 読み出し動作中に、 メモリコア 2 4から読み出しデータ rdat [15: 0]およびエラ一訂正符号 (読み出し符号データ) recc[7:0]を受け、リフレッシュブロックから読み出されるべき 1ビッ トのデータ を復号する。 データ制御回路 1 2は、 同時に、 データ保持特性が悪くデータが失 われたメモリセルからの読み出しデータ (1ビッ ト) を復号する。 エラー訂正さ れた読み出しデータは、 出力データ DOUT[15:0]として出力される。
なお、書き込み要求信号 wrd[15:0]、読み出し要求信号 rdd[l5:0]、 リフレツシ ュポイント信号 refpointd[15:0]、 リフレッシュ要求信号 refd[15:0]、 書き込み データ wdat [15:0]、 読み出しデータ rdat[15:0]、 入力データ DIN[15: 0]および出 力データ D0UT [15:0]のビット番号は、データブロック MBD15- 0のブロック番号に それぞれ対応する。 同様に、 書き込み要求信号 wde[7:0]、 読み出し要求信号 rde[7:0]、 リフレッシュポイント信号 refpointe[7:0]、 リフレッシュ要求信号 refe[7:0]、 エラー訂正符号 wecc [7: 0]およびエラー訂正符号 recc [7: 0]のビット 番号は、 符号ブロック MBE7-0のブロック番号にそれぞれ対応する。
図 2は、 図 1に示したデータ制御回路 1 2の詳細を示している。
データ制御回路 1 2は、 メモリコア 24からの読み出しデータ rdat[15:0]、 recc[7:0]をエラー訂正するデータ訂正部 1 2 aおよびメモリコア 24への入力 データ DIN[15:0]からエラー訂正符号を生成するデータ符号化部 1 2 bを有して いる。 データ訂正部 1 2 aは、 データ付加回路 26およびエラー訂正回路 1 2 c を有している。 エラー訂正回路 1 2 cは、 符号化回路 28、 30、 エラー判定回 路 32、 34およびエラー復号回路 3 6を有している。データ符号化部 1 2 bは、 符号化回路 38を有している。
データ付加回路 26は、 読み出し動作を実行できないリフレッシュブロックと して動作しているデータブロック (MBD0- 15 のいずれか) からの読み出しデータ を"論理 1〃および〃論理 0〃と仮定して、 読み出しデータ rdat0[15:0]、 rdatl[15:0]をそれぞれ生成する。 あるいは、 データ付加回路 26は、 読み出し動 作を実行できないリ フレッシュプロックと して動作している符号ブロック (MBE0 - 7のいずれか)からのエラー訂正符号を〃論理 1〃および〃論理 0〃と仮定し て、 読み出しデータ recc0[7:0]、 reccl [7:0]を生成する。 すなわち、 データ付加 回路 26は、 リフレッシュブロックから読み出されるべきデータを〃論理 1〃また は 論理 0〃の予想データとして、 他のプロックからの読み出しデータに付加し、 読み出しデータ列 rdatO [15:0]、 reccO [7: 0]および読み出しデータ列 rdat 1 [ 15: 0]、 reccl[7:0]を生成する。
符号化回路 28は、 読み出しデータ rdat0[15:0] (情報データ列) からエラー 訂正符号 rreCC0[7:0] (第 1符号データ) を生成する。 符号化回路 30は、 読み 出しデータ rdatl[15:0] (情報データ列) からエラー訂正符号 rreccl [7: 0] (第 2 符号データ) を生成する。
エラー判定回路 3 2は、 エラー訂正符号 rrecc0[7:0]をエラー訂正符号 recc0[7:0] (符号データ) と比較することでエラーの有無およびエラーの種類を 判定し、 判定結果を比較結果信号 resOとして出力する。 エラー判定回路 34は、 エラー訂正符号 rreccl [7:0]をエラー訂正符号 reccl [7:0] (符号データ) と比較 することでエラーの有無おょぴエラーの種類を判定し、 判定結果を比較結果信号 resl として出力する。 比較結果信号 res0、 resl は、 一致 (エラー無し) 、 ECC エラー(符号プロック MBDの 1ビッ トエラー;符号ェラー) 、 1ビッ トエラー(デ 一タブロック MBEの 1ビットエラ一) 、 2ビット以上のエラーのいずれかをそれ ぞれ示す。 エラー項目の詳細は、 後述する図 8、 図 9で説明する。
エラー復号回路 3 6は、 比較結果信号 res0、 reslが示すエラー内容に応じて、 比較結果信号 res0、 resl のどちらが真かを判定し、 判定した比較結果信号 resO または reslに応じて読み出しデータのエラーを訂正し、出力データ [15:0]として 出力する。 出力データ [15:0]は、 データ端子 DQ15-0を介して擬似 SRAMの外部に 出力される。比較結果信号 resOが真と判定された場合、 リフレッシュブロックか ら読み出されるべきデータは、〃論理 0〃である。比較結果信号 reslが真と判定さ れた場合、 リフレッシュブロックから読み出されるべきデータは、 〃論理 1〃であ る。
データ符号化部 1 2 bの符号化回路 38は、 入力データ [15:0] (書き込みデー タ) からエラー訂正符号 wecc[7:0]を生成し、 書き込みデータ wdat[15:0]ととも にメモリ コア 24に出力する。
図 3は、 図 1に示したリフレッシュ制御回路 20の動作を示している。
リフレッシュ制御回路 20は、 リフレッシュポィント信号 refpointd[15:0]、 refpointe[7:0]を順次高レベルに活性化する。 各リフレッシュポイ ン ト信号 refpointd[15:0]、 refpointe[7:0]の活性化間隔 (例えば、 リフレッシュポイント 信号 refpointd [0]の活性化間隔 T1は、 ワース トのメモリセルのデータリテンシ ヨン時間より長く設定されている。 データリテンション時間は、 メモリセルがデ ータを失うことなく保持できる時間である。 .
活性化間隔 T1は、各メモリセルのリフレッシュ間隔にも対応している。 このた め、 この実施形態では、 ワース トのメモリセルは、 リフレッシュ動作を実行する ときに既にデータを消失する。 しかし、 失われたデータは、 データ制御回路 1 2 のエラー訂正機能により復号できる。 このため、 メモリセルのリフレッシュ間隔 を長くでき、 リフレッシュ要求間隔およびリフレッシュ動作間隔を長くできる。 この結果、 特に、 スタンバイ期間の消費電力を削減できる。
図 4は、 図 1に示したリフレッシュ制御回路 2 0の動作の詳細を示している。 図 4の波形は、 図 3に一点鎖線で示した領域に対応する。
例えば、 リ フ レ ッシュ制御回路 2 0は、 リ フ レ ッシュポイ ン ト信号 refpointe [7]の活性化期間 T2に、 対応するデータプロック MBD7のリフレッシュ 要求信号 refe [7]を所定回数高レベルに活性化する。 このように、 リフレッシュ 要求に応答するリフレッシュ動作は、 活性化されたリフレッシュポイント信号 refpointe (または refpointd) に対応するブロック MBE (または MBD) でのみ実 行される。換言すれば、同時にアクセスされる 2 4個のプロック MBD15- 0、 MBE7-0 のうち、 常に一つのブロックの.みが、 リフレッシュ動作を実行するリフレッシュ プロックとして動作する。
リフレッシュ要求信号 refe [7]の活性化回数は、 ブロック MBE のメモリセルを 全てリフレッシュするために必要な回数である。 例えば、 リフレッシュ要求毎に 1本のワード線が選択される場合、 活性化回数は、 各ブロックのワード線の本数 に等しい。 リフレッシュポイント信号 refpointd [15 : 0]、 refpointe [7 : 0]は、 リ フレッシュプロックの最後のリフレッシュ要求信号 refd (または refe)の出力か ら次のリフレッシュブロックの最初のリフレッシュ要求信号 refd (または refe) の出力までに切り替えられる。 最後のリフレッシュ要求信号の出力からリフレツ シュボイント信号の切り替えまでの期間 T3は、リフレッシュ要求と書き込み要求 とが競合したときの処理に必要である。期間 T3については、後述する図 6で説明 する。 図 5は、 第 1の実施形態の読み出し動作の概要を示している。 図 5の波形は、 図 4に一点鎖線で示した領域に対応する。
この例では、擬似 SRAMは、 コマンド端子 CMDから読み出しコマンドを連続して 受信し、 読み出し動作を連続して実行する。 図 1に示したアクセス制御回路 1 8 は、 リフレッシュポイント信号! ·Θίρο:1ηΐ(1 [15 : 0]、 refpointe [7 : 0]のいずれかの 活性化を受けている間、 対応する読み出し要求信号 rdd [15 : 0]、 rde [7 : 0]の出力 をマスクする。 このため、 リフレッシュブロックでは、 読み出し動作は実行され ず、 リフレッシュ動作のみが実行される。 読み出し動作を実行しないリフレツシ ュブロックから読み出されるべきデータは、 他のプロックからの読み出しデータ により復号される。 このため、 読み出し動作は、 リフレッシュ動作により遅れな い。 すなわち、 読み出しアクセス時間を長くすることなくリフレッシュ動作を外 部に対して完全に隠すことができる。
図 6は、 第 1の実施形態の書き込み動作の概要を示している。
この例では、擬似 SRAMは、 コマンド端子 CMDから書き込みコマンドを連続して 受信し、 書き込み動作を連続して実行する。 ブロック MBD15- 0、 MBE7-0は、 書き 込み要求信号 wrd[15 : 0]、 wre [7 : 0]に応答して書き込み信号 wrzをそれぞれ生成 し、 書き込み動作を実行する。 書き込み信号 wrz の高レベル期間は、 プロック MBD15_0、 MBE7-0の書き込み動作時間を示す。
書き込み要求に応答する書き込み動作は、 全てのプロック MBD15-0、 MBE7-0で 実行される。このため、リフレッシュ要求(refdまたは refe)と書き込み要求(wrd または wre) との'競合が発生する。 図 1に示したアクセス制御回路 1 8は、 リフ レッシュ要求と書き込み要求とが競合したとき、 リフレッシュ動作を優先して実 行する (図 6 ( a ) ) 。 アクセス制御回路 1 8は、 リフレッシュ動作の完了後、 待たせていた書き込み要求に対応する書き込み動作を順次実行する(図 6 ( b ) )。 書き込みコマンドの最小供給間隔 (wrd の出力間隔;外部書き込みサイクル時 間) は、 メモリコア 2 4の書き込み動作時間 (wrz の最小出力間隔;内部書き込 みサイクル時間) より長く設計されている。 このため、 リフレッシュ動作の割り 込みに伴う書き込み動作の遅れは、 書き込み動作を所定回数連続して実行するこ とで、 取り戻せる。 この例では、 あるリフレッシュプロックの最後のリフレツシ ュ要求信号 refd (または refe)から次のリフレッシュプロックに切り替わるまで の切り替え時間 T4の間に、 8回の外部書き込みサイクル時間が揷入可能であり、 かつ 1回のリフレッシュ動作と 8回の書き込み動作を実行できる。 切り替え時間 T4は、 リフレッシュ動作の割り込みに伴う書き込み動作の遅れを取り戻すまでの 回復時間である。 このため、 書き込みコマンドが連続して供給される場合にも、 リフレッシュプロックの書き込み動作は、 そのリフレッシュプロックが切り替わ る前に必ず完了できる。
この結果、 リフレッシュプロックから通常のデータプロックまたは符号プロッ クに切り替わった直後に、 読み出しコマンドが供給される場合にも、 読み出しデ ータの出力が遅れることを防止できる。 すなわち、 読み出しアクセス時間おょぴ 読み出しサイクル時間が、 書き込み動作の影響を受けて長くなることを防止でき る。 なお、切り替え時間 T4は、外部書き込みサイクル時間 Tcyceと内部書き込み サイクル時間 Tcyciとの差を δとするとき、 (TcyceZ S ) X Tcyce以上であれば よい。
また、 切り替え時間 T4は、 次式 (1 ) の関係を満たすように設計してもよい。 差 δは、切り替え時間 T4を内部書き込みサイクル時間 Tcyciに対して十分に大き く設定できる場合、 無視できる程度になる。 このため、 外部書き込みサイクル時 間 Tcyceを内部書き込みサイクル時間 Tcyciとほぼ等しくできる。 すなわち、 リ フレッシュ動作を書き込み動作に優先して実行するためのアクセスペナルティは、 ほとんどない。
(T4/Tcyci) - (T4/ (Tcyci+ δ ) )≥ Tcyci ( 1 )
図 7は、 第 1の実施形態のパリティ符号の生成規則を示している。
この実施形態では、 最小ハミング距離が〃 4〃の水平垂直パリティが、 エラー訂 正符号として採用されている。 パリティは、 偶数パリティ、 奇数パリティのいず れでもよレ、。 この符号は、 1 ビッ トのエラーを訂正し、 同時に 2ビッ トのエラー を検出できる。
データプロック MBD0-15内の同じァドレスに対応するデータを 4行 4列で示す とき、 データブロック MBD0- 15は、 行アドレス L1-L0および列アドレス C1-C0で それぞれ表すことができる。例えば、データプロック MBD0は、 LI- L0 = "00"、C1_C0 = "0(Tで表せ、 データブロック MBD10は、 Ll-L0 = "10"、 CI- C0 = "10 で表せる。 例えば、符号ブロック MBE0には、行ァドレス L0力 S 0"のデータブロック MBD0 - 3、 8-11のパリティが格納される (パリティ LP0) 。 符号ブロック MBE1には、 行アド レス L0力 ^ 'のデータブロック MBD4-7、 12- 15のパリティが格納される (パリテ ィ LP1) 。 符号ブロック MBE2には、 行ァドレス L1カ 0"のデータプロック MBD0 - 5 のパリティが格納される (パリティ LP2) 。 符号プロック MBE3には、 行アドレス L1力 ' 'のデータブロック MBD8- 15の リティが格納される (パリティ LP3) 。 同様に、符号プロック MBE4には、列ァドレス CO力 '0 のデータブロック MBD0、 4、 8、 12、 2、 6、 10、 14のパリティが格納される (パリティ CP0) 。 符号ブロッ ク MBE5には、 列ァドレス CO力 1"のデータプロック MBD1、 5、 9、 13、 3、 7、 11、 15のパリティが格納される (パリティ CP1) 。 符号ブロック MBE6には、 列ァドレ ス C1力 0 のデータプロック MBD0、 4、 8、 12、 1、 5、 9、 13のパリティが格納さ れる (パリティ CP2) 。 符号プロック MBE7には、 列ァドレス C1が 'のデータブ ロック MBD2、 6、 10、 14、 3、 7、 11、 15のパリティが格納される (パリティ CP3)。 上述した水平垂直パリティ符号は、 符号化する情報データが 1 6ビッ ト (本実 施形態) 、 3 2ビッ ト、 6 4ビッ ト、 1 2 8ビッ ト、 2 5 6ビッ トのとき、 それ ぞれ 8 ビッ ト、 1 0ビッ ト、 1 2ビッ ト、 1 4ビッ ト、 1 6ビッ ト必要になる。 すなわち、 情報ビットが 2の n乗のとき、 符号データは 2 nビット必要になる。 これに対して、 一般的な水平垂直パリティ符号は、 符号化する情報データが 1 6 ビッ ト、 3 2ビッ ト、 6 4ビッ ト、 1 2 8ビッ ト、 2 5 6ビッ トのとき、 それぞ れ 8 ビッ ト、 1 2ビッ ト、 1 6 ビッ ト、 2 4ビッ ト、 3 2ビッ ト必要になる。 こ のため、 上述した水平垂直パリティ符号は、 特に、 情報データが 3 2ビット以上 のときに符号プロックの数を一般の水平垂直パリティ符号より減らすことができ る。
図 8は、 図 2に示したエラー判定回路 3 2、 3 4の動作の概要を示している。 ここでは、 符号ブロック MBE0 - 7 から読み出されたエラー訂正符号 recc [0 : 7]を lp [0 : 3]、 cp [0 : 3]と表し、データプロック MBD0- 7から読み出されるデータに応じ て図 2に示した符号化回路 2 8 (または 3 0 ) により生成されるエラー訂正符号 rrecc0 [0 : 7] (または rreccl [0 : 7] ) を LP [0 : 3]、 CP [0 : 3]と表す。 まず、 ステップ S10において、 cp[0:3]と CP[0:3]、 lp[0:3]と LP[0:3]とがそれ ぞれ比較される。 cp[0:3]と CP[0:3]、lp[0:3]と LP[0:3]が両方とも一致する場合、 エラー無しと判定され、 処理はステップ S20 に移行する。 cp[0:3]と CP[0:3]、 lp[0:3]と LP[0:3]の少なくともいずれかが一致しない場合、エラー有りと判定さ れ、 処理はステップ S30に移行する。 ステップ S20において、 エラー無しを示す 比較結果信号 resO (または resl) ="1000"が出力され、 処理は終了する。
ステップ S30において、 次式 (2) 〜 (5) が全て成立するか否かが判定され る。 全ての式が成立する場合、 1ビットエラーと判定され、 処理はステップ S50 に移行する。 少なくともいずれかの式が不成立の場合、 2ビット以上のエラーと 判定され、 処理はステップ S40に移行する。 ステップ S40において、 2ビット以 上のエラーを示す比較結果信号 res0 (または resl) ="0001"が出力され、処理は 終了する。
cp[0]+cp[l]+CP[0]+CP[l]=l (2)
cp[2]+cp[3]+CP[2]+CP[3]=l (3)
lp[0]+lp[l]+LP[0]+LP[l]=l (4)
lp[2]+lp[3]+LP[2]+LP[3]=l (5)
ステップ S50において、 cp [0:3]と CP [0:3]、 lp[0:3]と LP [0:3]とがそれぞれ比 較される。 これ等 8ビッ トの比較のうち、 1ビッ トのみ不一致の場合、 ECC コー ドエラ一と判定され、 処理はステップ S60に移行する。 それ以外の場合、 1ビッ トエラーと決定され、 処理はステップ S70に移行する。 ステップ S60において、 ECCコードエラーを示す比較結果信号 resO (または resl) ="0100 "が出力され、 処理は終了する。ステップ S70において、 1ビットエラーを示す比較結果信号 resO (または resl) ="00100 "が出力され、 処理は終了する。
図 9は、 図 2に示したエラー復号回路 3 6の動作の概要を示している。
エラー復号回路 36は、エラ一判定回路 32、 34カゝら比較結果信号 res0、 resl を受信する。 比較結果信号 res0、 reslは、 図 8に示したように、 エラーの内容に より、 2進数の" 1000 (エラー無し) "、 "0100 (ECCエラー;符号ブロックの 1ビ ットエラー) "、 "0010 ( 1ビットエラー;データブロックの 1ビットエラー) "、 "0001 (2ビット以上のエラー) 〃のいずれかを示す。 図 9 (a) 、 (b) 、 (c) は、 データブロック MBDO- 15のいずれかがリフレ ッシュプロックとして動作し、 このリフレッシュプロックから読み出されるべき データ力 ^論理 0〃の場合を示している。 図 9 (a) において、 読み出し動作でェ ラーがない場合、 リフレッシュブロックからの読み出しデータを"論理 0"とした 比較結果信号 resOは、エラー無しを示し、 リフレッシュプロックからの読み出し データを"論理 'とした比較結果信号 reslは、 1ビッ トエラー (リフレツシュブ ロックのみエラー) を示す。
図 9 (b) において、 読み出し動作でリフレッシュプロックを除くデータプロ ック MBD0- 15のいずれかに 1ビットエラーがある場合、比較結果信号 resOは、 1 ビットエラーを示し、比較結果信号 reslは、 2ビット以上のエラー (リフレツシ ュブロックの 1ビットおよびデータプロックの 1ビットエラー)を示す。図 9 (c) において、読み出し動作で符号プロック MBE0-7のいずれかに 1ビットエラーがあ る場合、 比較結果信号 resOは、 ECCエラーを示し、 比較結果信号 reslは、 2ビ ット以上のエラー(リフレッシュプロックの 1ビットおよび ECCエラー)を示す。 図 9 (d) 、 (e) 、 ( f ) は、 データブロック MBD0 - 15のいずれかがリフレ ッシュブロックとして動作し、 このリフレッシュブロックから読み出されるべき データ力 ^論理 1〃の場合を示している。 図 9 (d) 、 (e) 、 (f ) では、 リフ レッシュプロックから読み出されるべきデータの論理値は、図 9 (a) 、 (b) 、 (c ) と逆になる。 このため、比較結果信号 res0、 reslは、図 9 (a) 、 (b) 、 (c ) の逆になる。
図 9 (g) 、 (h) 、 ( i ) は、 符号ブロック MBE0- 7のいずれかがリフレツシ ュプロックとして動作し、 このリフレッシュブロックから読み出されるべきデー タカ 論理 0〃の場合を示している。 図 9 (g) において、 読み出し動作でエラー がない場合、 リフレッシュブロックからの読み出しデータを "論理 0"とした比較 結果信号 resOは、エラー無しを示し、 リフレッシュブロックからの読み出しデー タを〃論理 1"とした比較結果信号 reslは、 ECCエラー (リフレッシュプロックの みエラー) を示す。
図 9 (h) において、 読み出し動作でデータブロック MBD0- 15のいずれかに 1 ビットエラーがある場合、比較結果信号 resOは、 1ビットエラーを示し、比較結 果信号 reslは、 2ビット以上のエラ一(リフレッシュブロックの 1ビットおよび データブロックの 1ビットエラー) を示す。 図 9 ( i ) において、 読み出し動作 でリフレッシュブロックを除く符号ブロック MBE0- 7 のいずれかに 1ビットエラ 一がある場合、比較結果信号 resOは、 ECCエラーを示し、比較結果信号 reslは、 2ビット以上のエラー (リフレッシュブロックの 1ビットおよび ECCエラー) を 示す。
図 9 (j ) 、 (k) 、 ( 1 ) は、 符号ブロック MBE0-7のいずれかがリフレツシ ュブロックとして動作し、 このリフレッシュブロックから読み出されるべきデー タカ V論理 1〃の場合を示している。 図 9 ( j ) 、 (k) 、 ( 1 ) では、 リフレツ シュプロックから読み出されるべきデータの論理値は、図 9 (g)、 (h) 、 ( i ) と逆になる。 このため、 比較結果信号 res0、 reslは、 図 9 (g) 、 (h) 、 ( i ) の逆になる。
エラー復号回路 36は、比較結果信号 res0、reslのいずれかを真のエラーとし、 この結果に基づいてエラーを訂正する。 この際、 エラー復号回路 36は、 エラー 判定の優先度を高い順から、 エラー無し >ECC エラー > 1ビットエラー > 2ビッ ト以上のエラーとする。 すなわち、エラーの少ない比較結果信号 res0、 reslのい ずれかが真とされる。 このため、 図 9 (a) 、 (d) 、 (g) 、 ( j ) では、 ェ ラー無しと判定される。 図 9 (b) 、 (e) 、 (h) 、 (k) では、 1ビットェ ラーと判定される。 図 9 (c) 、 (f ) 、 ( i ) 、 ( 1 ) では、 ECC エラーと判 定される。
エラー復号回路 3 6は、優先度の高い比較結果信号 res0、 reslに対応する論理 値をリフレッシュプロックから読み出されるべきデータの論理値とし、 出力デー タ D0UT[15:0]として出力する。具体的には、 resOの優先度が reslより高い場合、 リフレッシュブロックに対応する出力データ D0UTのビットは、〃論理 0 "に設定さ れる。 resl の優先度が resO より高い場合、 リフレッシュブロックに対応する出 カデータ D0UTのビットは、 〃論理 1〃に設定される。
さらに、 エラー復号回路 36は、 データブロック MBD0-15のいずれかに 1ビッ トエラーが存在すると判定した場合、 このエラーを訂正する。 エラーのあるデー タブロック MBD0- 15 ( 1ビットエラーを発生しているエラーア ドレス) は、 次式 (6)、 (7)にエラー訂正符号 recc[0:7]を代入して求められる。例えば、(L1,L0) ="ο '、 (ci,co)="i 'の場合、 図 7に示したように、 エラーブロックは、 データ ブロック MBD7である。 このとき、 エラー復号回路 36は、 データブロック MBD7 から読み出されたデータの論理値を反転してデータ出力バッファ 14に出力する c なお、 この実施形態では、 エラーを訂正したデータは、 ブロックに書き込まれな レ、。 これは、 1ビットエラーおよび ECCエラーは、 そのメモリセルのデータリテ ンション時間の不足あるいは物理的な不良と考えられるためである。 この種のェ ラーに対してメモリセルに正しいデータを書き込んでも、 エラーは再び発生する ため、 処理時間の無駄になる。
(Ll,L0) = (lp[3]+LP[3], lp[l]+LP[l]) (6)
(Cl,C0) = (cp[3]+CP[3], cp[l]+CP[l]) (7)
図 1 0は、 第 1の実施形態の読み出し動作の一例 (シミュレーション結果) を 示している。
この例では、データプロック MBD10がリフレッシュブロックとして動作する(図 10 (a) ) 。 擬似 SRAMは、 読み出しコマンド RDZ とともに、 1 6進数の 0" から〃 F〃の口ゥァドレス MBADを読み出しァドレスとして順次受け、読み出し動作 を連続して実行する (図 10 (b) ) 。
読み出しア ドレス "0"、 "1"、 "1 ...、 "Ό E 、 が示すデータブロ ック MBD0-15 のメモリセルには、 予め 1 6進数のデータ 0000"、 〃1111"、 "2222"、 ...、 "DDDD〃、 "EEEE〃、 "FFFF"がそれぞれ書き込まれている。 読み出しァ ドレス" 0"、 " 1 " 2 ...、 "Ό "E"、 が示す符号プロック ΜΒΕΟ- 7の メモリセルには、 予め 1 6進数のデータ" 00"が書き込まれている。 しかし、 この 例では、 符号ブロック ΜΒΕ6に 1ビットエラー (ECCエラー) が発生するため、 読 み出しデータ recc[7:0]は、 1 6進数の" 40"になる (図 1 0 (c) ) 。 なお、 実 際の異なるァドレスの読み出し動作において、符号ブロック MBE6に連続して 1ビ ットエラーが発生することはまれである。
図 1に示したリフレッシュ制御回路 20は、 読み出しァドレス〃 2〃の読み出し 動作中に、 リフレッシュ要求信号 refd[10]を出力する (図 10 (d) ) 。 メモリ コア 24は、 リフレッシュ要求信号 refd[10]に応答して、 データブロック MBD10 のリフレッシュ動作を実行する。
リフレッシュブロックとして動作するデータプロック MBD10からデータは読み 出されないため、 読み出しデータ rdat [ 15 : 0]の第 1 0ビットは、 例えば〃論理 0 " として読み出される。 このため、 第 1 0ビッ トの期待値が 1侖理 1〃のとき (例え ば、 "4444"、 5555"など)、 リフレッシュブロックの読み出しエラーが発生する。 このとき、 エラー復号回路 3 6は、 2ビット以上のエラーを示す比較結果信号 resO ("0001 ") と、 ECCエラーを示す比較結果信号 resl ( 0100") を受け、 比較 結果信号 reslの優先度が高いと判定し、 ECCエラーの発生を検出する(図 1 0 ( e 、 f ) )
また、エラー復号回路 3 6は、比較結果信号 reslの優先度が高いため、 リフレ ッシュプロックから読み出されるべきデータの論理値を"論理 1〃と判定し、 ァシ ユームフラグ ASMFLGを 論理 1 "にセットする (図 1 0 ( g 、 h ) ) 。 ァシユーム フラグ ASMFLGは、エラー復号回路 3 6内で使用される内部信号である。ァシユー ムフラグ ASMFLGのセットにより、出力データ [15 : 0]の第 1 0ビットは、 "論理 1 " に設定される。 すなわち、 読み出し動作を実行しないリフレッシュブロックから のデータが再生される。
一方、 読み出しデータ rdat [15 : 0]の第 1 0ビッ トの期待値が "論理 0〃のとき (例えば、 ガ 0000"、 " 1111"、 〃2222"、 "3333"など) 、 リフレッシュブロックの読 み出しエラーは発生しない。 このとき、 エラー復号回路 3 6は、 ECC エラーを示 す比較結果信号 resO 0100")と、 2ビット以上のエラーを示す比較結果信号 resl ("0001 を受け、 比較結果信号 resOの優先度が高いと判定し、 ECCエラーの発 生を検出する (図 1 0 ( i 、 j 、 k ) ) 。
また、 エラー復号回路 3 6は、 比較結果信号 resOの優先度が高いため、 リフレ ッシュプロックから読み出されるべきデータの論理値を〃論理 0〃と判定し、 ァシ ユームフラグ ASMFLGを"論理 0 "にセットする (図 1 0 ( 1 、 m、 n ) ) 。 ァシュ ームフラグ ASMFLGにセットにより、 出力データ [15 : 0]の第 1 0ビットは、 "論理 0〃に設定される。すなわち、読み出し動作を実行しないリフレッシュプロックか らのデータが再生される。
図 1 1は、 第 1の実施形態の読み出し動作の別の例 (シミュレーション結果) を示している。 図 1 0と同じ動作については、 詳細な説明を省略する。
この例では、 図 1 0と同様に、 擬似 SRAMは、 読み出しコマンド RDZとともに、 1 6進数の" 0"から" のロウアドレス MBAD を読み出しアドレスとして順次受 け、 読み出し動作を連続して実行する (図 1 1 (a) ) 。 リフレッシュブロック は、 連続する読み出し動作の途中で、 データプロック MBD10からデータブロック MBD11 に切り替わる (図 1 1 (b) ) 。 データブロック MBD0- 15、 符号ブロック MBE0-7に予め書き込まれているデータは、 図 1 0と同じである。 この例では、 デ 一タブロック MBD12に 1ビットエラーが発生し、読み出しデータ rdat[15:0]の第 1 2ビットは、 読み出し動作毎に〃 0〃および〃 1〃に変化する。 なお、 実際の異な るアドレスの読み出し動作において、 符号ブロック MBD12に連続して 1ビッ トェ ラーが発生することはまれである。
Vフレッシュブロックとして動作するデータブロック MBD10からデータは読み 出されないため、 読み出しデータ rdat[15:0]の第 1 0ビットは、 例えば"論理 0〃 として読み出される。 同様に、 リフレッシュブロックとして動作するデータプロ ック MBD11からデータは読み出されないため、読み出しデータ rdat[15:0]の第 1 1ビットは、 例えば"論理 1〃として読み出される。
上述した図 10と同様に、データ制御回路 1 2のエラー判定回路 32、 34は、 読み出しデータ rdat[15:0]およびエラー訂正符号 recc[7:0]から比較結果信号 resO、 resl を生成する。 比較結果信号 resO、 resl は、 2ビット以上のエラー ("0001") またはデータブロックの 1ビットエラー ( 0010") を示す。 エラー復 号回路 36は、比較結果信号 resO、 reslに基づいて、 リフレッシュ動作の実行に より読み出せないデータを再生する。また、エラー復号回路 36は、上述の式(6)、 (7) に示したように、 エラー訂正符号 recC[7:0]から 1ビットエラーが発生し たブロックアドレスを求め、 そのブロックァドレスから読み出されたデータを反 転する。 すなわち、 データプロック MBD12で発生した 1ビットエラーが訂正され る。
以上、 本実施形態では、 リフレッシュプロックから読み出されるべき予想デー タ (論理 1、 論理 0) を、 他のプロックから読み出されるデータにそれぞれ付加 して 2つの読み出しデータ列 rdatO、 rdatlを生成するデータ付加回路 26と、読 み出しデータ列 rdat0、 rdat lについてそれぞれエラーを検出し、 これ等のエラー 検出結果から最も確からしい一つを真とするエラー訂正回路 1 2 cとを擬似 SRAMに構成した。 このため、 擬似 SRAMをアクセスするシステムに対してリフレ ッシュ動作を隠すことができ、 同時にリフレッシュブロック以外で発生した 1ビ ットエラーを訂正できる。 これは、 最小ハミング距離が〃 4〃の水平垂直パリティ 符号を使用することで可能になる。
リフレッシュ動作を読み出し要求と競合することなく隠すことができるため、 読み出しサイクル時間が長くなることを防止できる。 また、 リフレッシュ要求間 隔を延ばすことができ、 スタンバイ中の消費電力を削減できる。 したがって、 A C特性および D C特性の両方を SRAMと同等以下にできる擬似 SRAMを構成できる。 換言すれば、 SRAM と完全に互換性を有する擬似 SRAMをユーザに提供できる。 ュ 一ザは、システム上に搭載される SRAMを本発明の擬似 SRAMに置き換えるだけで、 コストを削減できる。
リ フ レ ッ シュ制御回路 2 0 が出力する リ フ レ ッ シュポイ ン ト信号 refpointd [15 : 0]、 refpointd [7 : 0]により、データブロック MBD0— 15および符号ブ ロック MBE0-7のいずれか 1つのみをリフレッシュブロックに設定した。リフレツ シュ動作により読み出せないデータを常に 1ビットにできるため、 リフレッシュ 動作により読み出せないデータを、 簡易なデータ付加回路 2 6およびエラー訂正 回路 1 2 cによって復号できる。
アクセス制御回路 1 8は、 リフレッシュブロックに対して読み出し要求信号 rdd、 rdeを出力しないため、 リフレッシュプロックは、 リフレッシュ動作の実行 中、 非実行中にかかわらず読み出し動作を実行しない。 このため、 プロック制御 回路 BCNTの読み出し制御を容易にできる。
プロック制御回路 BCNTは、 リフレッシュ要求信号 refd (または refe) と書き 込み要求信号 wrd (または wre) が競合するときに、 リフレッシュ動作を実行した 後に、 書き込み動作を遅れて実行する。 このため、 書き込みデータ wdat (または wecc) をリフレッシュブロックに対して確実に書き込むことができる。
書き込みコマンドの最小供給間隔である外部書き込みサイクル時間 Tcyceを、 内部書き込みサイクル時間 Tcyciより長く設定した。 具体的には、 8回の外部書 き込みサイクル時間 Tcyceの間に、 1回のリフレッシュ動作と 8回の書き込み動 作を実行可能にした。 このため、 リフレッシュ動作の優先により発生した書き込 み動作の遅れを徐々に取り戻すことができる。 すなわち、 書き込みデータをリフ レッシュブロックに確実に書き込むことができる。
また、 リフレッシュブロックの最後のリフレッシュ要求信号から次のリフレツ シュプロックに切り替わるまでの切り替え期間に、 8回の外部書き込みサイクル 時間 Tcyceを揷入可能とした。 このため、 あるブロックにおいてリフレッシュ要 求により遅れた書き込み動作は、 そのプロックがリフレッシュプロックの間に完 了する。 したがって、 読み出し動作が、 リフレッシュブロック中の書き込み動作 の遅れの影響を受けて遅れることを防止でき、 リフレッシュ動作と書き込み動作 の競合に伴い読み出しアクセス時間が増加することを防止できる。
エラー訂正回路 1 2 cは、 4種類のエラー項目を検出し (エラー無し、 データ プロックのいずれかの 1 ビットエラー、 符号プロックのいずれかの 1 ビッ トエラ 一である符号エラーおよび 2ビット以上のエラー) 、 優先度の高いエラー項目を 真とする。 このため、 簡易な論理でエラー訂正回路 1 2 cを構成できる。
データプロック MBD0-15を、データ端子 DQ0-15にそれぞれ対応して形成するこ とで、擬似 SRAMに一度に入出力されるデータ単位でエラーを訂正できる。 このた め、 符号データの生成および読み出しデータのエラー訂正の論理を簡易にでき、 読み出しサイクル時間および書き込みサイクル時間が増加することを防止できる。 図 1 2は、 本発明の半導体メモリの第 2の実施形態を示している。 第 1の実施 形態で説明した回路 ·信号と同一の回路 ·信号については、 同一の符号を付し、 これ等については、 詳細な説明を省略する。
この実施形態の半導体メモリは、シリコン塞板上に CMOSプロセスを使用してク ロック非同期式の擬似 SRAMとして形成されている。 すなわち、 擬似 SRAMは、 ク ロック信号を受けるクロック端子を持っていない。 また、 この実施形態では、 後 述する図 1 3、 図 1 4に示すように、 拡大ハミング符号がエラー訂正符号として 使用される。 この拡大ハミング符号の最小ハミング距離は、 〃 4〃であり、 1ビッ トのエラー訂正と、 2ビットのエラー検出とを同時にできる。
擬似 SRAMは、 第 1の実施形態のデータ制御回路 1 2、 アクセス制御回路 1 8、 リフレッシュ制御回路 2 0およびメモリコア 2 4の代わりに、 データ制御回路 1 2 A、 アクセス制御回路 1 8 A、 リフレッシュ制御回路 2 O Aおよびメモリコア 2 4 Aを有している。 また、擬似 SRAMは、 クロック信号 0SCを生成する発振器 4 O Aを新たに有している。
メモリコア 2 4 Aは、データ端子 DQ15- 0にそれぞれ対応する 1 6個のデータプ ロック MBD0- 15、 6ビットの誤り訂正符号の各ビットをそれぞれ保持する 6個の 符号ブロック MBE0-5およびブロック制御回路 BCNTを有している。 データプロッ ク MBD0- 15および符号プロック MBE0 - 5の構造、メモリ容量は、第 1の実施形態と 同じである。 すなわち、 各ブロック MBD0- 15、 MBE0- 5は、 ダイナミックメモリセ ルと、 これ等ダイナミックメモリセルに接続されたワード線、 ビット線とを有し ている。
拡大ハミング符号は、 符号化する情報データが 1 6ビッ ト (本実施形態) 、 3 2ビッ ト、 6 4ビッ ト、 1 2 8ビッ ト、 2 5 6ビッ トのとき、それぞれ 6ビッ ト、 7ビット、 8ビット、 9ビット、 1 0ビット必要になる。 すなわち、 情報ビット が 2の n乗のとき、 符号データは n + 2ビット必要になる。 このため、 拡大ハミ ング符号は、 上述した水平垂直パリティ符号より符号化率が高く、 符号ブロック MBEの数を減らすことができる。 また、 符号ブロック MBEに配線される信号線を 減らすことができる。 この結果、 擬似 SRAMのチップサイズを削減できる。
発振器 4 0 Aは、 パワーオン後、 所定の周期のクロック信号 0SCを自己発振す る。 この実施形態では、 クロック信号 0SCの周波数は、 第 1の実施形態のクロッ ク信号 CLKの周波数と同じに設定されている。
リフレッシュ制御回路 2 O Aは、 リフレッシュポィント信号 refpointd [15 : 0]、 refpointe [7 : 0]およびリフレッシュ要求信号 refd [15 : 0]、 refe [7: 0]の代わりに、 リ フ レツシュポィン ト信号 refpoint [21 : 0]およぴリ フ レツシュ要求信号 ref [21 : 0]を出力することを除き、第 1の実施形態のリフレッシュ制御回路 2 0と 同じである。 すなわち、 リフレッシュ制御回路 2 O Aは、 クロック信号 0SCに同 期して動作するタイマ、 カウンタ、 シフ トレジスタおよびリフレッシュ要求生成 回路を有している。 シフトレジスタは、 縦続接続された 2 2個のラッチを有して おり、 最終段のラッチの出力は初段のラッチの入力に帰還されている。 シフ トレ ジスタは、 カウンタのオーバフロー毎にシフ ト動作し、 リフレッシュ動作を実行 するプロック MBD0- 15、 MBE0-5 を示すためのリ フ レッシュポィント信号 refpoint[21:0]をラツチからそれぞれ出力する。 リ フレツシュポィント信号 refpoint[21:0]により選択されたブロック MBD0 - 15、 MBE0- 5の一つは、 リフレツ シュ動作を実行するリフレッシュブロックとして動作する。 リフレッシュ要求生 成回路は、 リフレッシュポイント信号 refPoint[21:0]の活性化期間に、周期信号 に同期して対応するリフレッシュ要求信号 ref [21:0]を出力する。
リフレッシュ制御回路 2 OAの動作は、 信号名が異なることを除き、 図 3およ び図 4と同じである。 すなわち、 各リフレッシュポイント信号 refpoint[21:0]の 活性化間隔 T1 (各メモリセルのリフレッシュ間隔に対応) は、 ワース トのメモリ セルのデータリテンション時間より長く設定されている。 ワーストのメモリ'セル は、 リフレッシュ動作を実行するときに既にデータを消失する。 しかし、 失われ たデータは、 データ制御回路 1 2Aのエラー訂正機能により復号できる。 この結 果、 第 1の実施形態と同様にスタンバイ期間の消費電力を削減できる。
アクセス制御回路 1 8 Aは、 コマンド信号 CMDを解読し、 解読結果に応じて読 み出し動作を実行する読み出し要求信号 rd[21:0]または書き込み要求信号 wr[21:0]を出力する。 但し、 アクセス制御回路 1 8 Aは、 リフレッシュポイント 信号 refpoint[21:0]のいずれかの活性化を受けたとき、対応する読み出し要求信 号 rd[21:0]のいずれかの出力をマスクする。 また、 アクセス制御回路 1 8 Aは、 リフレッシュ要求信号 ref [21:0]のいずれかを受けたとき、 対応する書き込み要 求信号 wr[21:0]のいずれかを、 リフレッシュ動作が揷入される期間だけ順次遅ら せて出力する。
データ制御回路 1 2Aは、 書き込み動作中に、 入力データ DIN[15:0]を書き込 みデータ wdat[21:0]と してメ モ リ コア 2 4に出力する。 書き込みデータ wdat[21:0]の上位 6ビッ ト [21: 16]は、入力データ DIN[15: 0]から生成されるエラ 一訂正符号 (書き込み符号データ) である。 また、 データ制御回路 1 2は、 読み 出し動作中に、 メモリコア 24から読み出しデータ rdat[21:0] を受け、 リフレ ッシュ動作により読み出させないデータおよびデータ保持特性が悪くデータが失 われたメモリセルからの読み出しデータをエラー訂正し、出力データ D0UT[15:0] と匸て出力する。 読み出しデータ rdat [21:0]の上位 6ビット [21: 16]は、 符号プ 口ック MBE21 - 16から読み出されるエラー訂正符号(読み出し符号データ)である。 また、 データ制御回路 1 2Aは、 読み出し動作中に訂正が不可能な 2ビッ ト以上 のエラーを検出したときに、 ECCエラー信号 ECCERRをエラー端子に出力する。 なお、書き込み要求信号 wr[21:0]、読み出し要求信号 rd[21:0]、 リフレッシュ ポイント信号 refpoint [21:0]、 リフレッシュ要求信号 ref [21:0]、 書き込みデー タ wdat[21:0]、読み出しデータ rdat[21:0] のビットは、データプロック MBD15 - 0 および符号プロック MBE21- 16にそれぞれ対応する。入力データ DIN [15:0]および 出力データ D0UT [15:0]のビットは、データプロック MBD15- 0のプロック番号にそ れぞれ対応する。
図 1 3は、 図 1 2に示したデータ制御回路 1 2 Aの詳細を示している。
データ制御回路 1 2 Aは、 メモリコア 24 Aからの読み出しデータを訂正する データ訂正部 1 2 dおよびメモリコア 24 Aへの書き込みデータからエラー訂正 符号を生成するデータ符号化部 1 2 eを有している。 データ訂正部 1 2 dは、 デ ータ付加回路 42およびエラー訂正回路 1 2 f を有している。 エラー訂正回路 1 2 f は、 シンドローム生成回路 44、 46、 エラー判定回路 48、 50およびェ ラー復号回路 5 2を有している。 データ符号化部 1 2 eは、 符号化回路 54 Aを 有している。
データ付加回路 42は、 読み出し動作を実行できないリフレッシュプロックと して動作するブロック (MBD0- 15、 MBE0- 5のいずれか) からの読み出しデータを" 論理 1〃および〃論理 0 と仮定して、読み出しデータ列 codeO [21:0]、 codel [21:0] をそれぞれ生成する。 データ付加回路 4 2は、 リ フレッシュポイント信号 refpoint[2l:0]によりリフレッシュブロックを判定する。 すなわち、 データ付加 回路 4 2は、 リフレッシュプロックから読み出されるべきデータを"論理 1〃また は"論理 0〃の予想データとして、 他のプロックからの読み出しデータに付加し、 読み出しデータ列 code0[21:0]、 codel[21:0]を生成する。
シンドローム生成回路 44は、 読み出しデータ codeO [21:0]からシンドローム syn0[5:0]を生成する。 また、 シンドローム生成回路 44は、生成したシンドロー ム syn0[5:0]からエラーの種別を判定し、 比較結果信号 resOとして出力する。 シ ンドローム生成回路 4 6は、 読み出しデータ codel[21:0]からシンドローム synl[5:0]を生成する。 また、 シンドローム生成回路 4 6は、 生成したシンドロー ム synl[5:0]からエラーの種別を判定し、 比較結果信号 reslとして出力する。 比 較結果信号 res0、 reslの仕様は、 第 1の実施形態とほぼ同じである。 伹し、 本実 施形態では、 「ECC エラー」 はない。 このため、 エラー判定の優先度は、 高い順 からエラー無し > 1ビットエラー > 2ビット以上のエラーになる。
エラー判定回路 4 8は、 シンドローム syn0[5:0]からエラーの種別およびエラ 一プロックを判定し、 読み出しデータ code0[21:0]のエラーを訂正する。 訂正さ れた 2 2ビットの読み出しデータは、訂正コード ccode0[21:0]として出力される。 訂正された 2 2ビットの読み出しデータのうちメモリブロック MBD15- 0に対応す る下位の 1 6ビットは、 出力データ dout0[15:0]として出力される。 また、 エラ 一判定回路 4 8は、 2ビット以上のエラーを検出したときに、 エラーフラグ信号 errflg_2b0を出力する。
エラニ判定回路 50は、 エラー判定回路 48と同じ回路である。 エラー判定回 路 5 0は、 シンドローム syn 1 [5: 0]からエラ一の種別およびェラーブロックを判 定し、読み出しデータ codel[21:0]のエラーを訂正し、訂正コード ccodel [21: 0]、 出力データ doutl[15:0]、 エラーフラグ信号 errflg_2blを出力する。
エラー復号回路 5 2は、 比較結果信号 res0、 reslが示すエラー内容に応じて、 エラー判定回路 4 8、 5 0のどちらが真かを判定し、 判定したエラー判定回路 4 8 (または 5 0)から出力される出力データ dout0[15:0] (または doutl [15:0] )、 エラーフラグ信号 errf lg一 2b0 (または errf lg一 2bl ) および訂正コー ド ccode0[21:0] (または ccodel[2l:0]) を、 出力データ D0UT[15:0]、 ECCエラー信 号 ECCERRおよび訂正コード ccOde[21:0]として出力する。出力データ D0UT[15:0] および ECCエラー信号 ECCERRは、 データ端子 DQ15- 0およびエラー端子 ECCERR を介して擬似 SRAMの外部に出力される。 訂正コード ccode[21:0]は、 この実施形 態では使用されないが、 エラーの発生したメモリセルのデータを書き換える場合 に使用される書き換えデータである。
データ符号化部 1 2 eの符号化回路 5 4 Aは、 入力データ DIN[15:0] (書き込 みデータ)からエラ一訂正符号 wdat [21: 16]を生成し、書き込みデータ wdat [15:0] とともにメモリコア 2 4に出力する。
図 1 4〜図 1 7は、 図 1 3に示したデータ制御回路 1 2 Aの一部の回路ブロッ クの RTL記述および論理合成結果を示している。 記述中の" syndrome Ίま、 図 1 3 に示した〃 syn "に対応する。
図 1 4は、図 1 3に示したエラー判定回路 4 8、 5 0の RTL記述を示している。 図 1 5は、 図 1 4の RTL記述から論理合成した結果を示している。 図 1 6は、 図 1 3に示したシンドローム生成回路 4 4、 4 6のシンドローム生成部の RTL記述 を示している。 図 1 7は、 図 1 3に示したデータ符号化部 1 2 eの符号化回路 5 4の RTL記述を示している。
図 1 8は、 図 1 2に示したデータ制御回路 1 2 Aのエラー訂正動作を示してい る。
図中のプロック DO- D15およびプロック P0- P5は、図 1 2に示したデータプロッ ク MBD0-15および符号プロック MBE16-21にそれぞれ対応する。ブロック DO- D15、 P0-P5のビットアドレス E1-E22は、一般的なハミング符号と同様に、 シンドロー ムのビットがエラーァドレスを示すように割り当てられている。
この例では、 データプロック MBD10 (プロック D10) がリフレッシュブロックと して動作している。 このため、読み出しデータ rdatのうちブロック D10に対応す るビットは、 網掛けの太枠で囲ったように不定である。 図 1 3に示したデータ制 御回路 1 2 Aのデータ付加回路 4 2は、ブロック D10に対応するビットに 論理 0 を付加した読み出しデータ codeOと、ブロック D10に対応するビットに "論理 1 " を付加した読み出しデータ codelとを生成する。
シン ドローム生成回路 4 4は、 読み出しデータ codeO からシン ドローム syn0 [5 : 0]を生成する。 シンドローム生成回路 4 4は、 シンドローム syn0 [5 : 0]の 全ビット S5- 0カ 論理 0〃のため、 エラー無しを示す比較結果信号 1-esO (" 1000") を出力する。 シンドローム生成回路 4 6は、 読み出しデータ codelからシンドロ ーム synl [5 : 0]を生成する。 シン ドローム生成回路 4 6は、 シン ドローム synl [5 : 0]の最上位ビット S5力 論理 1〃のため、 1ビットエラーを示す比較結果 信号 resl ("0010") を出力する。
エラー判定回路 4 8は、 シンドローム生成回路 4 4からのシン ドローム syn0[5:0]がエラー無しを示すため、読み出しデータ codeO [21: 0]のうちデータブ ロック MBD15- 0に対応するビットを出力データ dout0[15:0]として出力する。 ェ ラー判定回路 5 0は、 シンドローム生成回路 44からのシンドローム synl[5:0] が 1 ビッ トエラーを示すため、 シンドローム synl[5:0]の下位 5ビッ ト ("01111" = 1 0進の 1 5") をエラーアドレス ("E15"=MBD10) とする。 エラー判定回路 5 0は、 読み出しデータ codel[21:0]のうちデータブロック MBD10から読み出さ れたデータの論理を反転し、 データプロック MBD15- 0に対応するビットを出力デ ータ doutl[15:0]として出力する。
エラー復号回路 5 2は、 シンドローム生成回路 44、 4 6からの比較結果信号 resO (エラー無し) 、 resl ( 1 ビッ トエラー) より、 エラー判定回路 4 8の出力 が正しいと判定する。 エラー復号回路 5 2は、 エラー判定回路 4 8から出力され る出力データ dout0[15:0]およびエラーフラグ信号 errflg— 2b0 (エラー無しを示 す) を出力データ D0UT[15:0]および ECCエラー信号 ECCERR (エラー無しを示す) として出力する。
図 1 9は、 図 1 2に示したデータ制御回路 1 2 Aの別のエラー訂正動作を示し ている。 図 1 8と同じ記述および動作については詳細な説明を省略する。
この例では、 図 1 8と同様に、 データブロック MBD10 (プロック D10) がリフレ ッシュプロックとして動作している。 また、 図中に太枠で示すように、 データブ ロック MBD1 (ブロック D1) に 1ビットエラーが発生する。
データ制御回路 1 2 Aのデータ付加回路 4 2は、 プロック D10に対応するビッ トに"論理 0〃を付加した読み出しデータ codeOと、 ブロック D10に対応するビッ トに"論理 1〃を付加した読み出しデータ codelとを生成する。
シンドローム生成回路 44、 4 6は、読み出しデータ codeO、 codelからシンド ローム syn0[5:0]、 synl[5:0]をそれぞれ生成する。シンドローム生成回路 44は、 シンドローム syn0[5:0]の最上位ビット S5力 論理 1"のため、 1ビットエラーを 示す比較結果信号 resO ("0010 を出力する。 シンドローム生成回路 4 6は、 シ ンドローム Synl [5: 0]の最上位ビット S5力 論理 0 "かつビット S4-0の少なくと もいずれかが"論理 1〃のため、 2ビット以上のエラーを示す比較結果信号 resl ("0001") を出力する。 エラー判定回路 4 8は、 シン ドローム生成回路4 4からのシン ドローム syn0[5:0]が 1ビットエラーを示すため、シンドローム synO [5:0]の下位 5ビット ( 00101"= 1 0進の 5") をエラーア ドレス ( E5"=MBD1) とする。 エラー判定 回路 48は、データプロック MBD1から読み出された"論理 1〃を反転し、読み出し データ code0[21:0]のうちデータブロック MBD15- 0に対応するビットを出力デー タ dout0[15:0]として出力する。 エラー判定回路 50は、 シンドローム生成回路 44からのシンドローム synl[5:0]が 2ビット以上のエラーを示すため、 エラー 訂正を行わず、 読み出しデータ codel[21:0]のうちデータブロック MBD15- 0に対 応するビットをそのまま出力データ doutl[15:0]として出力する。 また、 エラー 判定回路 50は、 エラーフラグ信号 errflg— 2blを高レベルに活性化する。
エラー復号回路 5 2は、 シンドローム生成回路 44、 46からの比較結果信号 resO (1ビットエラー) 、 resl (2ビット以上のエラー) より、 エラー判定回路 48の出力が正しいと判定する。 エラー復号回路 5 2は、 エラー判定回路 48か ら出力される出力データ dout0[15:0]およびエラーフラグ信号 errflg_2b0 (エラ 一無しを示す) を出力データ DOUT[15:0]および ECCエラー信号 ECCERR (エラー無 しを示す) として出力する。
, この実施形態においても、 上述した第 1の実施形態と同様の効果を得ることが できる.。 さらに、 この実施形態では、 符号データとして拡大ハミング符号を使用 することで、 符号データのビット数を減らすことができる。 この結果、 符号プロ ック MBEの数を第 1の実施形態に比べ 2つ減らすことができ、擬似 SRAMのチップ サイズを削減できる。
また、 エラー訂正回路 1 2 ίは、 訂正不可能な 「2ビット以上のエラー」 を検 出したときに、 ECCエラ一信号 ECCERRを出力する。 ECCエラ一信号 ECCERRにより、 擬似 SRAMをァクセスする外部のシステムは、読み出し動作のリ トライおよぴデー タの廃棄等、 エラーを回避する動作を実行できる。 この結果、 システムの信頼性 を向上できる。
図 20は、 本発明の半導体メモリの第 3の実施形態を示している。 第 1および 第 2の実施形態で説明した回路 ·信号と同一の回路 ·信号については、 同一の符 号を付し、 これ等については、 詳細な説明を省略する。 この実施形態の半導体メモリは、シリコン基板上に CMOSプロセスを使用してク ロック非同期式の擬似 SRAMとして形成されている。 また、 この実施形態では、拡 大ハミング符号がエラー訂正符号として使用される。 この拡大ハミング符号の最 小ノヽミング距離は、 " 4 "であり、 1ビットのェラ一訂正と、 2ビットのエラー検 出とを同時にできる。
擬似 SRAMは、第 2の実施形態のメモリコア 2 4 Aおよび発振器 4 O Aの代わり に、 メモリコア 2 4 Bおよび発振器 4 0 Bを有している。 その他の構成は、 第 2 の実施形態とほぼ同一である。
メモリコア 2 4 Bは、 ヮード線単位で不良を救済するための口ゥ冗長回路およ ぴビット線単位で不良を救済するためのコラム冗長回路が形成されていないこと を除き、 第 2の実施形態のメモリコア 2 4 Aと同じである。
発振器 4 0 Bは、 第 2の実施形態より周期の短いク口ック信号 0SCを自己発振 する。 このため、 リフレッシュ制御回路は 2 O Aが出力する各リフレッシュポィ ント信号 refpoint [21 : 0]の活性化期間おょぴリフレッシュ要求信号 ref [21 : 0]の 発生間隔は、 第 2の実施形態より短くなる。 具体的には、 各リフレッシュポイン ト信号 refpoint [21 : 0]、の活性化間隔 T1 (各メモリセルのリフレッシュ間隔に対 応) は、 ワース トのメモリセルのデータリテンション時間より短く設定されてい る。 このため、 ワース トのメモリセルを含む全てのメモリセルは、 リフレッシュ 動作の実行により常にデータを保持できる。 データ制御回路 1 2 Aのエラー訂正 機能は、 製造工程で発生したメモリコアの不良を救済するために使用される。 す なわち、符号プロック MBE0-5は、 口ゥ冗長回路およびコラム冗長回路の代わりに 機能する。
この実施形態においても、 上述した第 1および第 2の実施形態と同様の効果を 得ることができる。 さらに、 この実施形態では、 符号ブロック MBE0- 5を、 ロウ冗 長回路およびコラム冗長回路の代わりに形成することで、 製造工程で不良になつ たメモリセルから読み出される誤ったデータを、 エラー訂正回路により訂正でき る。 冗長回路の形成が不要になるため、 チップサイズを削減できる。
図 2 1は、 本発明の半導体メモリの第 4の実施形態を示している。 第 1および 第 2の実施形態で説明した回路■信号と同一の回路 ·信号については、 同一の符 号を付し、 これ等については、 詳細な説明を省略する。
この実施形態の半導体メモリは、シリコン基板上に CMOSプロセスを使用してク ロック非同期式の擬似 SRAMとして形成されている。 また、 この実施形態では、拡 大ハミング符号がエラー訂正符号として使用される。 この拡大ハミング符号の最 小ノ、ミング距離は、 4 "であり、 1ビットのエラ一訂正と、 2ビットのエラー検 出とを同時にできる。
擬似 SRAMは、第 2の実施形態のデータ制御回路 1 2A、アクセス制御回路 1 8 Aおよび発振器 4 OAの代わりに、 データ制御回路 1 2 C、 アクセス制御回路 1 8 Cおよび第 3の実施形態と同じ発振器 40 Bを有している。
データ制御回路 1 2 Cは、 読み出し動作中に、 訂正可能なエラー (1ビットェ ラー) を検出したときに、 訂正したデータをメモリコア 24Aに書き戻す機能を 有している。 アクセス制御回路 18 Cは、 データ制御回路 1 2 Cが訂正したデー タをメモリコア 24 Aに書き戻すときに、書き込み要求信号 wr [21:0]を出力する。 図 22は、 図 2 1に示したデータ制御回路 1 2 Cの詳細を示している。
データ制御回路 1 2 Cは、 第 2の実施形態のデータ符号化部 1 2 eの代わりに データ符号化部 1 2 gを有している。 データ訂正部 1 2 dの構成は、 第 2の実施 形態と同じである。 データ符号化部 1 2 gは、 符号化回路 54 Aおよびセレクタ 5 6 Bを有している。 セレクタ 5 6 Bは、 書き込み動作中に、 入力データ DIN[15:0] (書き込みデータ) を符号化回路 54 Aで符号化したデータを書き込み データ wdat[21:0]として出力する。 また、 セレクタ 56 Bは、 読み出し動作中に 1ビットエラーが発生したときに、 データ訂正部 1 2 dのエラー復号回路 5 2か ら出力される訂正コード ccode[21:0]を書き込みデータ wdat[21:0]として出力す る。 すなわち、 セレクタ 56 Bは、 読み出し動作中に、 エラー訂正回路 1 2 f が 訂正したデータをデータプロック MBDおよび符号プロック MBEに書き戻す書き戻 し制御回路として機能する。
この実施形態においても、 上述した第 1および第 2の実施形態と同様の効果を 得ることができる。 さらに、 この実施形態では、 エラー訂正回路 1 2 f が訂正し たデータをセレクタ 56 Bによってデータプロック MBDおよび符号プロック MBE に書き戻すことができる。 このため、 電源ノイズ、 ソフトエラー等により破壊さ れたメモリセル内のデータが読み出されたとき、 このメモリセルに正しいデータ を書き込むことができ、 擬似 SRAMの信頼性を向上できる。
図 2 3は、 本発明の半導体メモリの第 5の実施形態を示している。 第 1および 第 2の実施形態で説明した回路 ·信号と同一の回路 '信号については、 同一の符 号を付し、 これ等については、 詳細な説明を省略する。
この実施形態の半導体メモリは、シリコン基板上に CMOSプロセスを使用してク 口ック非同期式の擬似 SRAMとして形成されている。 また、 この実施形態では、拡 大ハミング符号がエラー訂正符号として使用される。 この拡大ハミング符号の最 小ハミング距離は、 4 であり、 1ビットのエラ一訂正と、 2ビットのエラー検 出とを同時にできる。
擬似 SRAMは、第 2の実施形態のデータ制御回路 1 2A、アクセス制御回路 1 8 A、 リフレッシュ制御回路 20 A、 発振器 4 OAおよびメモリコア 24 Aの代わ りに、 データ制钾回路 1 2D、 アクセス制御回路 1 8D、 リフレッシュ制御回路 20D、 発振器 40Dおよびメモリコア 24 Dを有している。
メモリコア 24Dは、 64個のデータブロック MBD[63:0]と、 8個の符号プロ ック MBE[7:0]を有している。 この実施形態では、 データブロック MBD[63:0]の数 は、 データ端子 DQ[15:0]のビット数の 4倍に設計されている。 このため、 1回の 書き込み動作でデータ端子 [15:0]に供給される書き込みデータだけでは、 符号デ ータを生成できない。 したがって、 データ制御回路 1 2Dは、 後述するように、 書き込み動作の最初に、 データブロック MBD[63:0]および符号ブロック MBE[7:0] からデータを読み出す必要がある。 し力 し、 符号データを生成するための情報デ ータのビット数を増やすことで、 符号プロック MBEの数を相対的に減らすことが できる。 特に、 拡大ハミング符号の場合、 情報ビットが 2の n乗のとき、 符号デ ータは n + 2ビットだけでよい。 この結果、 符号ブロック MBEの数を相対的に大 幅に減らすことができ、 擬似 SRAMのチップサイズが増加することを防止できる。 データ制御回路 1 2Dは、 読み出し動作中に、 読み出しデータ rdat[71:0]に訂 正可能なエラー (1ビットエラー) がある場合、 エラーを訂正する。 そして、 デ ータ制御回路 1 2Dは、ァドレス端子 ADに供給されるロウァドレスの下位ビット に応じてデータブロック MBD0 - 63のうちの 1 6個に対応する読み出しデータを選 択し、選択したデータを出力データ DOUT[15:0]として出力する。 データ制御回路 1 2Dは、 読み出し動作中に、 読み出しデータ rdat [71:0]に訂正不可能なエラー (2ビット以上のエラー) がある場合、 ECCエラー信号 ECCERRをエラー端子に出 力する。
データ制御回路 1 2Dは、 書き込み動作中に、 データプロック MBD0-63および 符号プロック MBE0- 7からデータを読み出し、エラーがある場合に情報データを復 号する。 次に、 データ制御回路 1 2Dは、 復号した情報データのうち書き込みデ ータ DIN[15:0]に対応するビットを、この書き込みデータ DIN[15:0]に入れ替えて 書き換えデータ列を生成する。 そして、 データ制御回路 1 2Dは、 書き換えデー タ列から新たな符号データを求め、 書き換えデータ列および新たな符号データを データブロック MBD0-63および符号プロック MBE0- 7にそれぞれ書き込む。このよ うに、本実施形態では、擬似 SRAMは、書き込み動作の最初にメモリコア 24 Aか らデータを読み出す読み出し動作が実行される。
アクセス制御回路 1 8Dは、 データ制御回路 1 2Dの動作に合わせて、 読み出 し要求信号 rd[71:0]または書き込み要求信号 wr[71:0]を出力する。 具体的には、 書き込み動作中に、読み出し要求信号 rd[71 :0]および書き込み要求信号 wr [71:0] が順次出力される。
リフレッシュ制御回路 2 ODは、 リフレッシュポイント信号 refpoint[71:0]お よびリフレッシュ要求信号 ref [71:0]を順次出力する。 リフレッシュ制御回路 2 ODの動作は、 出力する信号のビット数が増えたことを除き、 第 2の実施形態の リフレッシュ制御回路 2 OAと同じである。 発振器 4 ODが出力するクロック信 号 0SCの周波数は、 リフレッシュポィント信号 refpoint[71:0]のビット数に対応 して、 第 2の実施形態に比べて高く設定されている。
図 24は、 図 23に示した擬似 SRAMの書き込み動作を示している。
書き込み動作では、まず、図示しないヮード線が活性化され、符号プロック MBE およびデータブロック MBDのそれぞれにおいて、 メモリセルから相補のビット線 BL、 /BL のいずれかにデータが読み出される (図 24 (a) ) 。 この後、 センス アンプが活性化され、 ビット線 BL、 /BLの電圧差が増幅される (図 24 (b) ) 。 次に、 コラムスィッチ信号 CSWが活性化され、 増幅されたデータは、 読み出しデ ータ rdat [63 : 0]として、 データ制御回路 1 2 Dに転送される (図 2 4 ( c ) ) 。 データ制御回路 1 2 Dは、読み出しデータ rdat [63 : 0]のエラーを訂正する。次に、 データ制御回路 1 2 Dは、 データプロック MBDから読み出されたデータのうち 8 ビットを、データ端子 DQ7 - 0に供給された書き込みデータ DIN[7 : 0]と置き換える (図 2 4 ( d ) ) 。
次に、 データ制御回路 1 2 Dは、 置き換えた書き込みデータを用いて新たな符 号データを生成する (図 2 4 ( e ) ) 。 そして、 置き換えた書き込みデータおよ ぴ新たな符号データは、書き込みデータ wdat [63 : 0]として符号プロック MBEおよ びデータブロック MBDに順次書き込まれる (図 2 4 ( f 、 g ) ) 。 この後、 ヮー ド線が非活性化され、 ビット線 BL、 /BLがプリチャージされて、 書き込み動作が 完了する (図 2 4 ( h、 i ) ) 。
この例では、 データの書き込み時のコラムスィッチ信号 CSWのタイミング、 ヮ 一ド線の非活性化タイミングおよびビット線 BL、 /BLのプリチャージ開始タイミ ングは、 符号ブロック MBEおよびデータブロック MBDで相違している。 しかし、 これ等のタイミングは、 符号ブロック MBEおよびデータブロック MBDで同じにし てもよい。
この実施形態においても、 上述した第 1およぴ第 2の実施形態と同様の効果を 得ることができる。 さらに、 この実施形態では、 情報データを記憶するデータプ ロックの数を増やすことで、 情報データのビット数に対する符号データのビット 数を相対的に減らすことができる。 この結果、 符号プロックの数を、 データプロ ックの数に対して相対的に減らすことができ、擬似 SRAMのチップサイズを削減で きる。
なお、上述した実施形態では、本発明を擬似 SRAMチップに適用した例について 述べた。 本発明はかかる実施形態に限定されるものではない。 例えば、 本発明を システム L S Iに搭載される擬似 SRAMコアに適用してもよい。
以上、 本発明について詳細に説明してきたが、 上記の実施形態およびその変形 例は発明の一例に過ぎず、 本発明はこれに限定されるものではない。 本発明を逸 脱しない範囲 変形可能であることは明らかである。 産業上の利用の可能性
本発明の半導体メモリでは、 読み出しサイクル時間が長くすることなく リフレ ッシュ動作を外部のシステムに対して隠すことができ、 同時に読み出しデータ列 のエラーを訂正できる。 エラー訂正機能を、 データリテンション時間が短いメモ リセルの読み出し不良の救済に利用することで、 リフレッシュ要求間隔を延ばす ことができ、 スタンバイ中の消費電力を削減できる。 したがって、 本発明を、 例 えば、 擬似 SRAMに適用した場合、 A C特性および D C特性の両方を SRAMと同等 以下にできる。 換言すれば、 SRAM と完全に互換性を有する擬似 SRAMをユーザに 提供できる。ユーザは、システム上に搭載される SRAMを本発明が適用された擬似 SRAMに置き換えるだけで、 コス トを削減できる。
本発明の半導体メモリでは、 リフレッシュ要求に応答するリフレッシュ動作を 1つのブロックでのみ実行することで、 リフレッシュ動作により読み出せないデ ータを、 容易に復元できる。
本発明の半導体メモリでは、 リフレッシュ要求と読み出し要求が競合すること を防止でき、 読み出しアクセス時間が増加することを防止できる。 また、 ァクセ ス制御回路による読み出し動作の制御を容易にできる。
本発明の半導体メモリでは、 リフレッシュ要求信号と書き込み要求信号が競合 するときに、 リフレッシュ動作を実行した後に書き込み動作を遅れて実行するこ とで、 書き込みデータをリフレッシュプロックに対して確実に書き込むことがで きる。
本発明の半導体メモリでは、 連続して供給される書き込み要求信号の間にリフ レッシュ要求が発生した場合にも、 書き込み動作の遅れを徐々に取り戻すことが できる。
本発明の半導体メモリでは、 リフレッシュブロック以外のプロックにおいて、 リブレツシュ動作と書き込み動作の競合に伴って読み出し動作が遅れることを防 止でき、 読み出しアクセス時間が長くなることを防止できる。
本発明の半導体メモリでは、 符号プロックを冗長回路の代わりに形成すること で、 冗長回路を不要にでき、 チップサイズを削減できる。
本発明の半導体メモリでは、 読み出しデータ列のうちエラーの少ない読み出し データ列を真として選択することで、 エラー訂正回路のエラー判定論理を簡易に 構成できる。
本発明の半導体メモリでは、 エラー信号により、 半導体メモリをアクセスする 外部のシステムは、 読み出し動作のリ トライ要求およびデータの廃棄等、 エラー を回避する動作を実行できる。 この結果、 システムの信頼性を向上できる。 本発明の半導体メモリでは、 メモリセル内のデータが電源ノイズ、 ソフトエラ 一等により破壌されたときに、 書き戻し制御回路により正しいデータを書き込む ことで、 半導体メモリの信頼性を向上できる。
本発明の半導体メモリでは、 データプロックを複数のデータ端子にそれぞれ対 応して形成することで、 半導体メモリに一度に入出力されるデータ単位でエラー を訂正でき、 符号データの生成および読み出しデータのエラー訂正の論理を簡易 にできる。 この結果、 読み出しサイクル時間および書き込みサイクル時間が増加 することを防止できる。
本発明の半導体メモリでは、 情報データのビット数を増やすことで、 情報データ のビット数に対する符号データのビット数を相対的に減らすことができる。 この 結果、 符号ブロックの数を、 データブロックの数に対して相対的に減らすことが でき、 チップサイズを削減できる。

Claims

請求の範囲
( 1 ) 情報データを記憶するメモリセルを有する複数のデータプロックと、 前記データプロックに記憶されたデータを復号するための符号データを記憶す るメモリセルを有する複数の符号ブロックと、
前記データブロックおよび前記符号プロックにリフレツシュ動作を順次実行さ せるためにリフレッシュ要求信号を出力するリフレッシュ制御回路と、
前記データブロックおよび前記符号プロックのうちリフレツシュ動作によりデ ータを読み出せないプロックであるリフレッシュプロックから読み出されるべき 複数種の予想データを、 他のプロックから読み出されるデータにそれぞれ付加し て複数の読み出しデータ列を生成するデータ付加回路と、
前記読み出しデータ列についてそれぞれエラーを検出し、 これ等のエラー検出 結果から最も確からしい一つを真とし、 真としたエラー検出結果に対応する読み 出しデータ列のエラーを訂正するエラー訂正回路とを備えていることを特徴とす る半導体メモリ。
( 2 ) 請求の範囲 1の半導体メモリにおいて、
前記リフレッシュ制御回路は、 前記データプロックおよび前記符号プロックの いずれか 1つにリフレッシュ動作を実行させるために、 前記データプロックおよ び前記符号ブロックにリフレツシュ要求信号を順次出力することを特徴とする半 導体メモリ。
( 3 ) 請求の範囲 1の半導体メモリにおいて、
読み出しコマンドに応答してリフレッシュプロックを除く前記データプロック および前記符号プロックに読み出し要求信号を出力するアクセス制御回路を備え ていることを特徴とする半導体メモリ。
( 4 ) 請求の範囲 1の半導体メモリにおいて、
書き込みコマンドに応答して前記データブロックおよび前記符号プロックに書 き込み要求信号を出力するアクセス制御回路を備え、
前記データブロックおよび前記符号ブロックは、 前記リフレツシュ要求信号と 前記書き込み要求信号が競合するときに、 リフレツシュ動作を実行した後書き込 み動作を順次遅れて実行するプロック制御回路をそれぞれ備えていることを特徴 とする半導体メモリ。
( 5 ) 請求の範囲 4の半導体メモリにおいて、
前記書き込みコマンドの最小供給間隔である外部書き込みサイクル時間は、 前 記各プロックの書き込み動作時間である内部書き込みサイクル時間より長く設定 されていることを特徴とする半導体メモリ。
( 6 ) 請求の範囲 5の半導体メモリにおいて、
あるリフレッシュブロックの最後のリフレッシュ要求信号から次のリフレツシ ュプロックに切り替わるまでの切り替え期間に、 n回の前記外部書き込みサイク ル時間が挿入可能であり、 かつ 1回のリフレッシュ動作と n回の書き込み動作を 実行可能であることを特徴とする半導体メモリ。
( 7 ) 請求の範囲 6の半導体メモリにおいて、
前記切り替え期間は、外部書き込みサイクル時間 Tcycと内部書き込みサイクル 時間との差を δとするときに、 少なくとも (Tcyc/ δ ) X Tcycに設定されること を特徴とする半導体メモリ。
( 8 ) 請求の範囲 1の半導体メモリにおいて、
前記符号プロックは、 不良を救済する冗長回路の代わりに形成されることを特 徴とする半導体メモリ。
( 9 ) 請求の範囲 8の半導体メモリにおいて、
前記符号ブロックは、 ワード線単位で不良を救済するロウ冗長回路の代わりに 形成されることを特徴とする半導体メモリ。
( 1 0 ) 請求の範囲 8の半導体メモリにおいて、
前記符号プロックは、 ビット線単位で不良を救済するコラム冗長回路の代わり に形成されることを特徴とする半導体メモリ。
( 1 1 ) 請求の範囲 1の半導体メモリにおいて、
前記データ付加回路は、 リフレッシュプロックからの読み出しデータの論理を 論理 1および論理 0と仮定して 2つの前記読み出しデータ列を生成することを特 徴とする半導体メモリ。
( 1 2 ) 請求の範囲 1 1の半導体メモリにおいて、 前記エラー訂正回路は、 前記読み出しデータ列のうちエラーの少ない読み出し データ列を真として選択することを特徴とする半導体メモリ。
( 1 3 ) 請求の範囲 1 2の半導体メモリにおいて、
前記エラー訂正回路は、 「エラー無し」 、 「データブロックのいずれかの 1ビ ットエラー」 、 「符号ブロックのいずれかの 1ビットエラーである符号エラー J および 「2ビット以上のエラー」 のいずれかを検出し、 エラー判定の優先度を、 エラー無し〉符号エラー〉 1ビットエラー > 2ビット以上のエラーとし、 優先度 の高い項目を真とすることを特徴とする半導体メモリ。
( 1 4 ) 請求の範囲 1 3の半導体メモリにおいて、
前記エラー訂正回路が 「2ビット以上のエラー」 を検出したときに、 エラー信 号を出力するエラー端子を備えていることを特徴とする半導体メモリ。
( 1 5 ) 請求の範囲 1 2の半導体メモリにおいて、
前記エラー訂正回路は、 「エラー無し」 、 「データブロックまたは符号ブロッ クのいずれかの 1ビットエラー」 、 および 「2ビット以上のエラー」 のいずれか を検出し、 エラー判定の優先度を、 エラー無し > 1ビットエラー〉 2ビット以上 のエラーとし、 優先度の高い項目を真とすることを特徴とする半導体メモリ。
( 1 6 ) 請求の範囲 1の半導体メモリにおいて、
前記エラー訂正回路が訂正不可能なエラーを検出したときに、 エラー信号を出 力するエラー端子を備えていることを特徴とする半導体メモリ。
( 1 7 ) 請求の範囲 1の半導体メモリにおいて、
前記エラー訂正回路が訂正したデータを前記データプロックおよび前記符号ブ 口ックに書き戻す書き戻し制御回路を備えていることを特徴とする半導体メモリ。
( 1 8 ) 請求の範囲 1の半導体メモリにおいて、
前記情報データを入出力する複数のデータ端子を備え、
前記データブロックは、 前記データ端子にそれぞれ対応して形成されているこ とを特徴とする半導体メモリ。
( 1 9 ) 請求の範囲 1の半導体メモリにおいて、
前記情報データを入出力する複数のデータ端子を備え、
前記データ端子に一度に供給される書き込みデータは、 前記データプロックの 一部に書き込まれ、
前記エラー訂正回路は、 書き込み動作中に、 前記データプロックおよび前記符 号プロックからのデータにより前記情報データを復号し、 復号した情報データの 一部を前記書き込みデータに入れ替えて書き換えデータ列を生成し、 前記書き換 えデータ列から新たな符号データを求め、 前記書き換えデータ列および新たな符 号データを前記データブロックおよび前記符号ブロックにそれぞれ書き込むこと を特徴とする半導体メモリ。
( 2 0 ) 請求の範囲 1の半導体メモリにおいて、
前記各メモリセルのリフレッシュ間隔は、 ワーストのメモリセルのデータリテ ンシヨン時間より長く設定されていることを特徴とする半導体メモリ。
( 2 1 ) 請求の範囲 1の半導体メモリにおいて、
前記エラー訂正回路は、
論理 0の予想データを付加した情報データ列から第 1符号データを生成する第 1符号化回路と、
論理 1の予想データを付加した情報データ列から第 2符号データを生成する第 2符号化回路と、
前記第 1符号データを前記符号プロックから読み出される符号データと比較し、 エラーを判定する第 1エラー判定回路と、
前記第 2符号データを前記符号ブロックから読み出される符号データと比較し、 エラーを判定する第 2エラー判定回路と、
前記第 1および第 2エラー判定回路の判定結果のうち、 最も確からしい判定結 果を真とし、 真とした判定結果に基づいてエラーを訂正するエラー復号回路とを 備えていることを特徴とする半導体メモリ。
( 2 2 ) 請求の範囲 1の半導体メモリにおいて、
前記エラー訂正回路は、
前記データブロックから読み出される情報データ列から符号データを生成する 符号化回路と、
生成した符号データを、論理 0の予想データを付加した符号データ列と比較し、 エラーを判定する第 1エラー判定回路と、 生成した符号データを、論理 1の予想データを付加した符号データ列と比較し、 エラーを判定する第 2エラー判定回路と、
前記第 1および第 2エラー判定回路の判定結果のうち、 最も確からしい判定結 果を真とし、 真とした判定結果に基づいてエラーを訂正するエラー復号回路とを 備えていることを特徴とする半導体メモリ。
( 2 3 ) 請求の範囲 1の半導体メモリにおいて、
前記エラー訂正回路は、
論理 0の予想データを付加した読み出しデータ列から第 1シンドロームを生成 する第 1シンドローム生成回路と、
論理 1の予想データを付加した読み出しデータ列から第 2シンドロームを生成 する第 2シンドローム生成回路と、
前記第 1シンドロームからエラーの有無およびエラーァ ドレスを検出する第 1 エラー判定回路と、
前記第 2シンドロームからエラーの有無およびエラーァドレスを検出する第 2 エラー判定回路と、
前記第 1および第 2エラー判定回路の判定結果のうち、 最も確からしい判定結 果を真とし、 真とした判定結果に基づいてエラーを訂正するエラー復号回路とを 備えていることを特徴とする半導体メモリ。
( 2 4 ) 請求の範囲 1の半導体メモリにおいて、
前記符号データの最小ハミング距離は、 4以上であることを特徴とする半導体 メモリ。
( 2 5 ) 請求の範囲 2 4の半導体メモリにおいて、
前記符号データは、 水平垂直パリティ符号であることを特徴とする半導体メモ V 0
( 2 6 ) 請求の範囲 2 4の半導体メモリにおいて、
前記符号データは、 拡大ハミング符号であることを特徴とする半導体メモリ。 ( 2 7 ) 情報データを記憶するメモリセルを有する複数のデータブロックと、 前 記データブロックに記憶されたデ一タを復号するための符号データを記憶するメ モリセルを有する複数の符号プロックと、 前記データプロックおよび前記符号ブ ロックにリフレッシュ動作を順次実行させるためにリフレッシュ要求信号を出力 するリフレッシュ制御回路とを備えた半導体メモリの動作方法であって、 前記データプロックおよび前記符号プロックのうちリフレッシュ動作によりデ ータを読み出せないプロックであるリフレッシュプロックから読み出されるべき 複数種の予想データを、 他のプロックから読み出されるデータにそれぞれ付加し て複数の読み出しデータ列を生成し、
前記読み出しデータ列についてそれぞれエラーを検出し、 これ等のエラー検出 結果から最も確からしい一つを真とし、
真としたエラー検出結果に対応する読み出しデータ列のエラーを訂正すること を特徴とする半導体メモリの動作方法。
( 2 8 ) 請求の範囲 2 7の半導体メモリの動作方法において、
前記データプロックおよび前記符号プロックのいずれか 1つにリフレッシュ動作 を実行させるために、 前記データプロックおよび前記符号ブロックにリフレツシ ュ要求信号を順次出力することを特徴とする半導体メモリの動作方法。
( 2 9 ) 請求の範囲 2 7の半導体メモリの動作方法において、
読み出しコマンドに応答してリフレッシュブ口 'ツクを除く前記データブロック および前記符号プロックに読み出し要求信号を出力することを特徴とする半導体 メモリの動作方法。
( 3 0 ) 請求の範囲 2 7の半導体メモリの動作方法において、
書き込みコマンドに応答して前記データプロックおよび前記符号プロックに書 き込み要求信号を出力し、
前記データブロックおよび前記符号プロックは、 前記リブレツシュ要求信号と 前記書き込み要求信号が競合するときに、 リフレツシュ動作を実行した後書き込 み動作を順次遅れて実行することを特徴とする半導体メモリの動作方法。
( 3 1 ) 請求の範囲 3 0の半導体メモリの動作方法において、
前記書き込みコマンドの最小供給間隔である外部書き込みサイクル時間は、 前 記各プロックの書き込み動作時間である内部書き込みサイクル時間より長く設定 されていることを特徴とする半導体メモリの動作方法。
( 3 2 ) 請求の範囲 3 1の半導体メモリの動作方法において、 あるリフレッシュブロックの最後のリフレッシュ要求信号から次のリフレツシ ュブロックに切り替わるまでの切り替え期間に、 n回の前記外部書き込みサイク ル時間が揷入可能であり、 かつ 1回のリフレッシュ動作と n回の書き込み動作を 実行可能であることを特徴とする半導体メモリの動作方法。
( 3 3 ) 請求の範囲 3 2の半導体メモリの動作方法において、
前記切り替え期間は、外部書き込みサイクル時間 Tcycと内部書き込みサイクル 時間との差を δとするときに、 少なくとも (TcycZ S ) X Tcycに設定されること を特、徴とする半導体メモリの動作方法。
( 3 4 ) 請求の範囲 2 7の半導体メモリの動作方法において、
リフレッシュプロックからの読み出しデータの論理を論理 1および論理 0と仮 定して 2つの前記読み出しデータ列を生成することを特徴とする半導体メモリの 動作方法。
( 3 5 ) 請求の範囲 3 4の半導体メモリの動作方法において、
前記読み出しデータ列のうちエラーの少ない読み出しデータ列を真として選択 することを特徴とする半導体メモリの動作方法。
( 3 6 ) 請求の範囲 3 5の半導体メモリの動作方法において、
「エラー無し」 、 「データブロックのいずれかの 1ビットエラー」 、 「符号ブ ロックのいずれかの 1ビットエラーである符号エラー」 および 「2ビット以上の エラー」 のいずれかを検出し、
エラ一判定の優先度を、 エラー無し >符号ェラー > 1ビットエラー > 2ビット 以上のエラーとし、
優先度の高い項目を真とすることを特徴とする半導体メモリの動作方法。
( 3 7 ) 請求の範囲 3 6の半導体メモリの動作方法において、
「2ビット以上のエラー」 を検出したときに、 エラー信号をエラー端子に出力 することを特徴とする半導体メモリの動作方法。
( 3 8 ) 請求の範囲 3 5の半導体メモリの動作方法において、
「エラー無し」 、 「データブロックおよび符号プロックのいずれかの 1ビット エラー」 、 および 「2ビット以上のエラー」 のいずれかを検出し、
エラー判定の優先度を、 エラー無し > 1ビットエラー〉 2ビット以上のエラー とし、
優先度の高い項目を真とす.ることを特徴とする半導体メモリの動作方法。
( 3 9 ) 請求の範囲 2 7の半導体メモリの動作方法において、
訂正不可能なエラーを検出したときに、 エラー信号をエラー端子に出力するこ とを特徴とする半導体メモリの動作方法。
( 4 0 ) 請求の範囲 2 7の半導体メモリの動作方法において、
訂正したデータを前記データブロックおよび前記符号ブロックに書き戻すこと を特徴とする半導体メモリの動作方法。
( 4 1 ) 請求の範囲 2 7の半導体メモリの動作方法において、
書き込み動作中に、
前記データプロックおよぴ前記符号プロックからのデータにより前記情報デー タを復号し、
復号した情報データの一部を前記書き込みデータに入れ替えて書き換えデータ 列を生成し、
前記書き换ぇデータ列から新たな符号データを求め、
前記書き換えデータ列および新たな符号データを前記データブロックおよび前 記符号プロックにそれぞれ書き込むことで、 前記情報データを入出力するデータ 端子に一度に供給される書き込みデータを前記データプロックの一部に書き込む ことを特徴とする半導体メモリの動作方法。
( 4 2 ) 請求の範囲 2 7の半導体メモリの動作方法において、
前記各メモリセルのリフレッシュ間隔は、 ワース トのメモリセルのデータリテ ンション時間より長く設定されていることを特徴とする半導体メモリの動作方法。 ( 4 3 ) 請求の範囲 2 7の半導体メモリの動作方法において、
論理 0の予想データを付加した情報データ列から第 1符号データを生成し、 論理 1の予想データを付加した情報データ列から第 2符号データを生成し、 前記第 1符号データを前記符号プロックから読み出される符号データと比較し、 エラーを判定し、
前記第 2符号データを前記符号プロックから読み出される符号データと比較し、 エラーを判定し、 前記第 1および第 2エラー判定回路の判定結果のうち、 最も確からしい判定結 果を真とし、 真とした判定結果に基づいてエラーを訂正することを特徴とする半 導体メモリの動作方法。
( 4 4 ) 請求の範囲 2 7の半導体メモリの動作方法において、
前記データブロックから読み出される情報データ列から符号データを生成し、 生成した符号データを、論理 0の予想データを付加した符号データ列と比較し、 エラーを判定し、
生成した符号データを、論理 1の予想データを付加した符号データ列と比較し、 エラーを判定し、
前記第 1および第 2エラー判定回路の判定結果のうち、 最も確からしい判定結 果を真とし、 真とした判定結果に基づいてエラーを訂正することを特徴とする半 導体メモリの動作方法。
( 4 5 ) 請求の範囲 2 7の半導体メモリの動作方法において、
論理 0の予想データを付加した読み出しデータ列から第 1シンドロームを生成 しと、
論理 1の予想データを付加した読み出しデータ列から第 2シンドロームを生成 し、
前記第 1シンドロームからエラーの有無およびエラーァドレスを検出し、 前記第 2シンドロームからエラーの有無およびエラーァドレスを検出し、 前記第 1および第 2エラー判定回路の判定結果のうち、 最も確からしい判定結 果を真とし、 真とした判定結果に基づいてエラーを訂正することを特徴とする半 導体メモリの動作方法。
( 4 6 ) 請求の範囲 2 7の半導体メモリの動作方法において、
前記符号データの最小ハミング距離は、 4以上であることを特徴とする半導体 メモリの動作方法。
( 4 7 ) 請求の範囲 4 6の半導体メモリの動作方法において、
前記符号データは、 水平垂直パリティ符号であることを特徴とする半導体メモ リの動作方法。
( 4 8 ) 請求の範囲 4 6の半導体メモリの動作方法において、 前記符号データは、 拡大ハミング符号であることを特徴とする半導体メモリの 動作方法。
PCT/JP2003/010412 2003-08-18 2003-08-18 半導体メモリおよび半導体メモリの動作方法 Ceased WO2005017914A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005507761A JP4664208B2 (ja) 2003-08-18 2003-08-18 半導体メモリおよび半導体メモリの動作方法
EP03818115A EP1657723B1 (en) 2003-08-18 2003-08-18 Semiconductor memory and operation method of semiconductor memory
PCT/JP2003/010412 WO2005017914A1 (ja) 2003-08-18 2003-08-18 半導体メモリおよび半導体メモリの動作方法
CN03826473.0A CN1771565B (zh) 2003-08-18 2003-08-18 半导体存储器以及半导体存储器的操作方法
US11/265,229 US7203115B2 (en) 2003-08-18 2005-11-03 Semiconductor memory and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/010412 WO2005017914A1 (ja) 2003-08-18 2003-08-18 半導体メモリおよび半導体メモリの動作方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/265,229 Continuation US7203115B2 (en) 2003-08-18 2005-11-03 Semiconductor memory and method for operating the same

Publications (1)

Publication Number Publication Date
WO2005017914A1 true WO2005017914A1 (ja) 2005-02-24

Family

ID=34179394

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/010412 Ceased WO2005017914A1 (ja) 2003-08-18 2003-08-18 半導体メモリおよび半導体メモリの動作方法

Country Status (5)

Country Link
US (1) US7203115B2 (ja)
EP (1) EP1657723B1 (ja)
JP (1) JP4664208B2 (ja)
CN (1) CN1771565B (ja)
WO (1) WO2005017914A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776737B1 (ko) * 2006-02-10 2007-11-19 주식회사 하이닉스반도체 반도체 메모리의 액티브 싸이클 제어장치 및 방법
US8069377B2 (en) * 2006-06-26 2011-11-29 Micron Technology, Inc. Integrated circuit having memory array including ECC and column redundancy and method of operating the same
FR2903219A1 (fr) * 2006-07-03 2008-01-04 St Microelectronics Sa Procede de rafraichissement d'un memoire vive dynamique et dispositif de memoire vive dynamique correspondant,en particulier incorpore dans un telephone mobile cellulaire
US7522464B2 (en) * 2006-07-26 2009-04-21 Zmos Technology, Inc. Dynamic memory refresh configurations and leakage control methods
CN101067972B (zh) * 2007-04-23 2012-04-25 北京兆易创新科技有限公司 一种存储器检错纠错编码电路及利用其读写数据的方法
CN102385936A (zh) * 2011-09-16 2012-03-21 中国科学院微电子研究所 基于汉明码对静态随机存储器多位翻转进行容错的方法
JP6072449B2 (ja) * 2012-07-09 2017-02-01 ルネサスエレクトロニクス株式会社 半導体記憶回路及びその動作方法
US9030897B2 (en) * 2012-08-31 2015-05-12 SK Hynix Inc. Memory and memory system for preventing degradation of data
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
KR102185894B1 (ko) * 2014-01-20 2020-12-03 에스케이하이닉스 주식회사 반도체 장치
JP2015219938A (ja) 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
CN106326145A (zh) * 2015-06-26 2017-01-11 深圳市中兴微电子技术有限公司 一种存储器的控制方法和装置
KR20170023249A (ko) * 2015-08-19 2017-03-03 에스케이하이닉스 주식회사 메모리 장치 및 메모리 장치의 동작 방법
US9514800B1 (en) * 2016-03-26 2016-12-06 Bo Liu DRAM and self-refresh method
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
KR102815980B1 (ko) * 2016-12-30 2025-06-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
US10372531B2 (en) * 2017-01-05 2019-08-06 Texas Instruments Incorporated Error-correcting code memory
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
US10192608B2 (en) 2017-05-23 2019-01-29 Micron Technology, Inc. Apparatuses and methods for detection refresh starvation of a memory
WO2019092227A1 (en) * 2017-11-13 2019-05-16 Signify Holding B.V. Control of power delivery to a dc-powered device
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US11017833B2 (en) 2018-05-24 2021-05-25 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
CN117198356A (zh) 2018-12-21 2023-12-08 美光科技公司 用于目标刷新操作的时序交错的设备和方法
US10957377B2 (en) 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11227649B2 (en) 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US11004534B2 (en) * 2019-08-06 2021-05-11 Micron Technology, Inc. Preemptive read refresh in memories with time-varying error rates
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
KR20210032810A (ko) * 2019-09-17 2021-03-25 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
CN112992222B (zh) * 2019-12-16 2024-01-23 华邦电子股份有限公司 应用于伪静态随机存取存储器的控制电路及其控制方法
CN111209129A (zh) * 2019-12-27 2020-05-29 曙光信息产业股份有限公司 基于amd平台的内存优化方法和装置
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
JP2022036850A (ja) * 2020-08-24 2022-03-08 ラピスセミコンダクタ株式会社 半導体記憶素子、半導体記憶装置、およびシステムオンチップ
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
EP4227944B1 (en) 2020-09-18 2025-07-02 Changxin Memory Technologies, Inc. Memory
CN117079686A (zh) * 2020-09-18 2023-11-17 长鑫存储技术有限公司 存储器
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
WO2022103584A1 (en) * 2020-11-10 2022-05-19 Sunrise Memory Corporation System and method for data integrity in memory systems that include quasi-volatile memory circuits
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11790974B2 (en) 2021-11-17 2023-10-17 Micron Technology, Inc. Apparatuses and methods for refresh compliance
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
US12165687B2 (en) 2021-12-29 2024-12-10 Micron Technology, Inc. Apparatuses and methods for row hammer counter mat
US12125514B2 (en) 2022-04-28 2024-10-22 Micron Technology, Inc. Apparatuses and methods for access based refresh operations
US12112787B2 (en) 2022-04-28 2024-10-08 Micron Technology, Inc. Apparatuses and methods for access based targeted refresh operations

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62117198A (ja) * 1985-11-18 1987-05-28 Fujitsu Ltd 半導体記憶装置
JPS62222497A (ja) * 1986-03-18 1987-09-30 Fujitsu Ltd 半導体記憶装置
JPH0440697A (ja) * 1990-06-06 1992-02-12 Matsushita Electric Ind Co Ltd 半導体記憶装置
JPH04132093A (ja) * 1990-09-21 1992-05-06 Toshiba Corp 半導体記憶装置
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
JP2002170384A (ja) * 2000-12-04 2002-06-14 Fujitsu Ltd 半導体記憶装置
JP2002304882A (ja) * 2001-04-09 2002-10-18 Fujitsu Ltd 半導体メモリの動作制御方法および半導体メモリ
JP2002313077A (ja) * 2001-04-18 2002-10-25 Fujitsu Ltd 半導体記憶装置
JP2003022694A (ja) * 2001-07-09 2003-01-24 Fujitsu Ltd 半導体記憶装置
JP2003051186A (ja) * 2001-08-03 2003-02-21 Fujitsu Ltd 半導体メモリ
JP2003059290A (ja) * 2001-06-04 2003-02-28 Toshiba Corp 半導体メモリ装置
JP2004046969A (ja) * 2002-07-11 2004-02-12 Elpida Memory Inc 半導体記憶装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4209846A (en) * 1977-12-02 1980-06-24 Sperry Corporation Memory error logger which sorts transient errors from solid errors
JPH0541084A (ja) 1991-08-06 1993-02-19 Hitachi Ltd 誤り訂正回路を有する半導体メモリ
JP4001724B2 (ja) * 2001-03-29 2007-10-31 富士通株式会社 半導体記憶装置
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US6683817B2 (en) * 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62117198A (ja) * 1985-11-18 1987-05-28 Fujitsu Ltd 半導体記憶装置
JPS62222497A (ja) * 1986-03-18 1987-09-30 Fujitsu Ltd 半導体記憶装置
JPH0440697A (ja) * 1990-06-06 1992-02-12 Matsushita Electric Ind Co Ltd 半導体記憶装置
JPH04132093A (ja) * 1990-09-21 1992-05-06 Toshiba Corp 半導体記憶装置
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
JP2002170384A (ja) * 2000-12-04 2002-06-14 Fujitsu Ltd 半導体記憶装置
JP2002304882A (ja) * 2001-04-09 2002-10-18 Fujitsu Ltd 半導体メモリの動作制御方法および半導体メモリ
JP2002313077A (ja) * 2001-04-18 2002-10-25 Fujitsu Ltd 半導体記憶装置
JP2003059290A (ja) * 2001-06-04 2003-02-28 Toshiba Corp 半導体メモリ装置
JP2003022694A (ja) * 2001-07-09 2003-01-24 Fujitsu Ltd 半導体記憶装置
JP2003051186A (ja) * 2001-08-03 2003-02-21 Fujitsu Ltd 半導体メモリ
JP2003173676A (ja) * 2001-08-03 2003-06-20 Fujitsu Ltd 半導体記憶装置
JP2004046969A (ja) * 2002-07-11 2004-02-12 Elpida Memory Inc 半導体記憶装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1657723A4 *

Also Published As

Publication number Publication date
US7203115B2 (en) 2007-04-10
EP1657723B1 (en) 2013-03-06
CN1771565B (zh) 2010-05-05
EP1657723A1 (en) 2006-05-17
JPWO2005017914A1 (ja) 2006-10-12
EP1657723A4 (en) 2007-10-31
JP4664208B2 (ja) 2011-04-06
US20060056258A1 (en) 2006-03-16
CN1771565A (zh) 2006-05-10

Similar Documents

Publication Publication Date Title
JP4664208B2 (ja) 半導体メモリおよび半導体メモリの動作方法
US7266747B2 (en) Error correction scheme for memory
US8307260B2 (en) Memory apparatus and method using erasure error correction to reduce power consumption
KR19990067754A (ko) 리프레시 간격 제어 장치와 방법 및 컴퓨터
CN107039087B (zh) 用于dram的ecc编码方法以及dram
US7500171B2 (en) Memory circuit
CN114765050B (zh) 检测错误位的存储器装置及其方法
JP4050091B2 (ja) 半導体メモリ装置
CN111694691A (zh) 一种纠检错后具有自动回写功能的sram电路及回写方法
JP2003059290A5 (ja)
US11276451B2 (en) Error correction methods and semiconductor devices and semiconductor systems using the same
KR20070026075A (ko) 반도체 집적 회로 장치
JP2008021390A (ja) 半導体記憶装置
US11921578B2 (en) Error correction methods and semiconductor devices and semiconductor systems using the error correction methods and the semiconductor devices
US6967882B1 (en) Semiconductor memory including static memory
US7827463B2 (en) Semiconductor memory device
JP2002251898A (ja) シングルイベントアップセット補償回路
JP4159896B2 (ja) 連想メモリ
JPH0746517B2 (ja) 半導体メモリ及びそのテスト方法
CN118351906A (zh) 一种刷新电路、方法及存储器
JPH05197580A (ja) 2ビット誤り訂正回路
JP2023032889A (ja) 半導体装置
JPS61239499A (ja) 半導体メモリ
JP2006073108A (ja) 半導体集積回路
JPH0769874B2 (ja) メモリシステムにおけるエラー検出装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005507761

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003818115

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11265229

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20038264730

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 11265229

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003818115

Country of ref document: EP