US20110119563A1 - Semiconductor memory - Google Patents
Semiconductor memory Download PDFInfo
- Publication number
- US20110119563A1 US20110119563A1 US12/929,362 US92936211A US2011119563A1 US 20110119563 A1 US20110119563 A1 US 20110119563A1 US 92936211 A US92936211 A US 92936211A US 2011119563 A1 US2011119563 A1 US 2011119563A1
- Authority
- US
- United States
- Prior art keywords
- data
- control signal
- memory cell
- cell array
- write
- 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.)
- Abandoned
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 64
- 238000003491 array Methods 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 14
- 230000004913 activation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 102100039788 GTPase NRas Human genes 0.000 description 10
- 101000744505 Homo sapiens GTPase NRas Proteins 0.000 description 10
- 238000011094 buffer selection Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Definitions
- the present invention relates to a semiconductor memory which is mounted on a semiconductor device formed on a semiconductor substrate and stores data obtained by arithmetic processing or the like.
- FIG. 12 is a block diagram showing a configuration of the semiconductor device on which the conventional semiconductor memory is mounted.
- the semiconductor device 1 includes a functional block 2 , the semiconductor memory (hereinafter, simply referred to as “memory”) 3 having a function of storing data, an analog-to-digital (hereinafter, abbreviated as “A/D”) converter 4 , a logic circuit 5 , and a pad 6 .
- A/D analog-to-digital
- the semiconductor device 1 is configured by the functional block 2 and the memory 3 .
- the functional block 2 is configured by the logic circuit 5 and the A/D converter 4 .
- the logic circuit 5 is electrically connected to the A/D converter 4 and the memory 3 .
- the pad 6 is connected to the A/D converter 4 .
- FIG. 13 shows data inversion sequences in the semiconductor device 1 .
- FIG. 14 is a timing chart showing waveforms of signals received by the memory 3 .
- the logic circuit 5 recognizes a bit to be corrected in data stored in the memory 3 , first, the logic circuit 5 transfers a read command to the memory 3 to acquire read data. Then, the logic circuit 5 prepares corrected appropriate data as write data based on the read data and information about an inverted bit. Next, the logic circuit 5 executes a write command based on the appropriate data to write the data to the memory 3 . That is, conventionally, the data inversion sequences in the memory 3 include a read operation, a standby time and a write operation.
- the aforementioned semiconductor device 1 is used for reading data from a storage medium such as an optical disc, and then storing the read data, occasionally, data different from intended data is stored in the memory 3 due to an influence of noise.
- a parity bit for error correction such as an ECC; thus, an inverted bit can be identified.
- the memory 3 e.g., a DRAM
- the logic circuit 5 inverts an erroneous bit to prepare appropriate data and writes back the appropriate data to the memory 3 in the write operation. Consequently, it takes much time to perform error correction on data.
- the present invention is devised in order to solve the aforementioned conventional problems.
- An object of the present invention is to provide a semiconductor memory capable of correcting an error in data stored therein more promptly.
- a semiconductor memory is mounted on a semiconductor device for correcting an error in data to be inputted thereto/outputted therefrom and stores data.
- the semiconductor memory includes: a plurality of memory cell arrays each storing data; at least one control terminal which receives a read control signal for controlling a read operation of reading data from the memory cell array and a write control signal for controlling a write operation of writing data to the memory cell array; a data input/output terminal; and a computing unit performing arithmetic processing on data of the memory cell array and data inputted from the data input/output terminal.
- one of operations among outputting data of the memory cell array to the data input/output terminal, writing data inputted from the data input/output terminal to the memory cell array, and writing a result of the arithmetic processing performed by the computing unit to the memory cell array is performed according to the read control signal and the write control signal.
- data of the memory cell array is outputted to the data input/output terminal when the read control signal is at a first potential and the write control signal is at a second potential
- data inputted from the data input/output terminal is written to the memory cell array when the read control signal is at the second potential and the write control signal is at the first potential
- the result of the arithmetic processing performed by the computing unit is written to the memory cell array when the read control signal and the write control signal are at the second potential.
- the semiconductor memory operates in synchronization with external clocks, and when the read control signal and the write control signal are at the second potential, data stored in the memory cell array is read during a period of a first clock of the external clocks and the result of the arithmetic processing performed by the computing unit is written to the memory cell array during a period of a second clock subsequent to the first clock.
- the computing unit performs an EXOR operation.
- control terminals include a read control terminal for receiving the read control signal and a write control terminal for receiving the write control signal.
- an inversion write control signal is inputted to the control terminal, and one of the operations among outputting data of the memory cell array to the data input/output terminal, writing data inputted from the data input/output terminal to the memory cell array, and writing a result of the arithmetic processing performed by the computing unit to the memory cell array is performed according to the read control signal, the write control signal and the inversion write control signal.
- data of the memory cell array is outputted to the data input/output terminal when the read control signal is at a first potential and the write control signal and the inversion write control signal are at a second potential
- data inputted from the data input/output terminal is written to the memory cell array when the read control signal and the inversion write control signal are at the second potential and the write control signal is at the first potential
- the result of the arithmetic processing performed by the computing unit is written to the memory cell array when the read control signal and the write control signal are at the second potential and the inversion write control signal is at the first potential.
- the control terminal includes a read control terminal for receiving the read control signal, a write control terminal for receiving the write control signal and an inversion write control terminal for receiving the inversion write control signal.
- a semiconductor memory in order to correct an error in read data, can perform arithmetic processing for error correction on read data in sequence to thereby generate appropriate data immediately after completion of the read operation. In addition, it is unnecessary to transfer such data to an external logic circuit. Therefore, the semiconductor memory can write thereto a result of the arithmetic processing in a subsequent clock.
- the semiconductor memory can perform arithmetic processing on read data at a high speed to thereby invert such data.
- FIG. 1 is a block diagram showing a configuration of a semiconductor device on which a semiconductor memory according to a first embodiment of the present invention is mounted;
- FIG. 2 is a circuit block diagram showing a configuration of the semiconductor memory according to the first embodiment
- FIG. 3 is a circuit diagram showing a configuration of a memory core in the semiconductor memory according to the first embodiment
- FIG. 4 is a circuit diagram showing a configuration of a timing generator in the semiconductor memory according to the first embodiment
- FIG. 5 shows data inversion sequences in the semiconductor memory according to the first embodiment
- FIG. 6 is a timing chart showing waveforms of signals received by the semiconductor memory according to the first embodiment
- FIG. 7 is a timing chart showing control signals received by the memory core in the semiconductor memory according to the first embodiment in each operation
- FIG. 8 is a timing chart showing a read operation of the memory core in the semiconductor memory according to the first embodiment
- FIG. 9 is a timing chart showing a write operation of the memory core in the semiconductor memory according to the first embodiment.
- FIG. 10 is a timing chart showing an inversion operation of the memory core in the semiconductor memory according to the first embodiment
- FIG. 11 is a block diagram showing a configuration of a semiconductor memory according to a second embodiment of the present invention.
- FIG. 12 is a block diagram showing a configuration of a semiconductor device on which a conventional semiconductor memory is mounted
- FIG. 13 shows data inversion sequences in the conventional semiconductor memory
- FIG. 14 is a timing chart showing waveforms of signals received by the conventional semiconductor memory.
- FIG. 1 is a block diagram showing a configuration of a semiconductor device on which the semiconductor memory according to the first embodiment is mounted.
- the semiconductor device 1 includes a functional block 2 , the semiconductor memory (hereinafter, simply referred to as “memory”) 3 according to the present invention, an analog-to-digital (hereinafter, abbreviated as “A/D”) converter 4 , a logic circuit 5 , and a pad 6 .
- A/D analog-to-digital
- the semiconductor device 1 is configured by the functional block 2 and the memory 3 .
- the functional block 2 is configured by the logic circuit 5 and the A/D converter 4 .
- the logic circuit 5 is electrically connected to the A/D converter 4 and the memory 3 .
- the pad 6 is connected to the A/D converter 4 .
- FIG. 2 is a circuit block diagram showing the memory 3 .
- the memory 3 includes a timing generator 201 , a row predecoder 202 , a column decoder 203 , output inversion latch circuits 204 , 205 and 206 , latch circuits 207 and 208 , and a memory core 300 .
- the memory 3 receives a row address strobe signal NRAS, a write operation control signal NWE and a read operation control signal NRE, and generates an internal row address strobe signal iRAS, an internal write operation control signal iWE and an internal read operation control signal iRE.
- a DRAM I/F signal is a group of control signals.
- the DRAM I/F signal includes a row address strobe signal NRAS, a write operation control signal NWE, a read operation control signal NRE, row addresses configured by “R” pieces of terminals required for controlling a memory capacity to be incorporated, column addresses configured by “C” pieces of terminals required for controlling a memory capacity to be incorporated, input data configured by “N” pieces of terminals, and output data configured by “N” pieces of terminals.
- the output inversion latch circuits 204 , 205 and 206 receive a row address strobe signal NRAS, a write operation control signal NWE and a read operation control signal NRE to generate an internal row address strobe signal iRAS, an internal write operation control signal iWE and an internal read operation control signal iRE, respectively.
- Each of the output inversion latch circuits 204 to 206 is controlled by a clock signal CLK.
- Each latch circuit 207 has an input end for receiving a row address, and an output end connected to an input end of the row predecoder 202 .
- Each latch circuit 208 has an input end for receiving a column address, and an output end connected to an input end of the column decoder 203 .
- Each of the latch circuits 207 and 208 is controlled by a clock signal CLK.
- the timing generator 201 receives a clock signal CLK, an internal row address strobe signal iRAS, an internal write operation control signal iWE and an internal read operation control signal iRE to generate a word line enable signal, a sense amplifier enable signal, a transfer gate enable signal and an inversion write enable signal.
- the row predecoder 202 receives “R” pieces of row addresses from the latch circuit 207 to generate row address predecode signals.
- the column decoder 203 receives column addresses from the latch circuit 208 , “N” pieces of input data from a DRAM I/F, and “X” pieces of array output data DO from the memory core 300 . Further, the column decoder 203 outputs “N” pieces of output data to the DRAM I/F, and outputs “X” pieces of array input data DI and “M” pieces of write buffer selection signals NWSEL to the memory core 300 .
- the memory 3 has a function of selectively sorting “N”-bit input/output data into “X”-bit array input data DI and “X”-bit array output data DO in accordance with a column address to be inputted.
- the memory 3 also has a function of selectively activating one of “M” pieces of write buffer selection signals NWSEL in accordance with the column address.
- FIG. 3 is a circuit diagram showing the memory core 300 .
- the memory core 300 includes a memory cell block 100 , a sense amplifier train 101 , a row decoder 102 , a memory cell 103 , a sense amplifier 104 , a write buffer 105 , a pair of bit lines 106 , a read amplifier 107 , an output data latch 108 serving as a read data latch, an input data latch 109 , an EXOR element 110 performing an EXOR operation, a selector 111 , an inverter 112 , a transfer gate 113 , an NOR element 114 , a pair of data lines 115 , a bit line precharge circuit 116 , a data line precharge circuit 117 , and a word line WLn.
- the memory core 300 receives an N-channel sense amplifier activation signal SEN, a P-channel sense amplifier activation signal SEP, a transfer gate control signal TG, a write buffer selection signal NWSEL, a write buffer activation signal WE, array output data DO, array input data DI, a precharge signal PR, a data line precharge signal GPR, and a clock signal CLK.
- a memory cell block 100 has a configuration equal to that of a memory cell array in a typical DRAM.
- memory cell blocks 100 and sense amplifier trains 101 are increased/decreased in number if necessary.
- Each memory cell block 100 includes a plurality of memory cells 103 .
- one sense amplifier 104 is provided for one pair of bit lines 106 .
- Such sense amplifier 104 receives an N-channel sense amplifier activation signal SEN and a P-channel sense amplifier activation signal SEP in order to control an operation thereof.
- the memory cell blocks 100 and the sense amplifier trains 101 are controlled by a row decoder 102 .
- the row decoder 102 has a typical configuration, and receives a transfer gate enable signal, a sense amplifier enable signal, a row address predecode signal and a word line enable signal.
- the row decoder 102 outputs a transfer gate control signal TG, an N-channel sense amplifier activation signal SEN and a P-channel sense amplifier activation signal SEP to each sense amplifier train 101 .
- a bit line precharge circuit 116 is connected to the pair of bit lines 106 , and is controlled by a bit line precharge signal PR.
- each sense amplifier 104 is connected to a pair of data lines 115 through transfer gates 113 .
- the transfer gate 113 is configured by an N-channel transistor, and receives a transfer gate control signal TG.
- the pair of data lines 115 are connected to input ends of a read amplifier 107 and receive data from write buffers 105 , respectively.
- the read amplifier 107 has an output end connected to an input end of an output data latch 108 , and the output data latch 108 has an output end for outputting one of array output data DO.
- the write buffers 105 are connected to the pair of data lines 115 in a complementary manner.
- One of the write buffers 105 has an input end connected to an output end of a selector 111
- the other write buffer 105 has an input end connected to the output end of the selector 111 through an inverter 112 so as to invert data outputted from the selector 111 .
- the write buffers 105 are controlled by one of write buffer activation signals WE.
- write buffer activation signals WE there are prepared “X” pairs of data lines 115 and “M” pieces of write buffer activation signals WE.
- the “M” pieces of write buffer activation signals WE are outputted from “M” pieces of NOR elements 114 receiving “M” pieces of write buffer selection signals NWSEL each serving as a selection signal and a write timing signal serving as a timing signal used upon such selection.
- the selector 111 has an input end connected to an output end of an input data latch 109 , and an input end connected to an output end of an EXOR element 110 .
- the selector 111 receives an inversion write enable signal as a selection signal.
- the EXOR element 110 has an input end connected to the output end of the input data latch 109 , and an input end connected to the output end of the output data latch 108 .
- the input data latch 109 has an input end for receiving array input data DI, and an input end for receiving a clock signal CLK.
- the pair of data lines 115 are also connected to a data line precharge circuit 117 controlled by a data line precharge signal GPR.
- FIG. 4 is a circuit diagram showing the timing generator 201 .
- the timing generator 201 includes NAND elements 301 , 302 , 303 , 304 , 305 , 306 and 307 , D flip-flops 308 , 309 and 310 , D flip-flops with reset 311 and 312 , output inversion selectors 313 and 314 , inverters 315 , 316 , 317 , 318 , 319 and 320 , delay elements 321 , 322 , 323 , 324 and 325 , one-shot pulse generation circuits 326 and 327 , and NOR circuits 328 and 329 .
- the NAND element 301 has an input end for receiving an internal row address strobe signal iRAS, an input end for receiving an internal read operation control signal iRE, and an output end connected to an input end of the output inversion selector 313 .
- the NAND element 302 has an input end for receiving an internal row address strobe signal iRAS, an input end for receiving an internal write operation control signal iWE, and an output end connected to an input end of the output inversion selector 314 .
- the NAND element 303 has an input end for receiving an internal read operation control signal iRE, an input end for receiving an internal write operation control signal iWE, and an output end connected to an input end of the inverter 315 and an input end D of the D flip-flop 308 .
- the inverter 315 has an output end connected to a control end of the output inversion selector 313 and a control end of the output inversion selector 314 .
- the output inversion selector 313 also has an input end connected to an output end of the NAND element 304 . If data outputted from the inverter 315 is at “L” level, the output inversion selector 313 generates an inversion signal for data outputted from the NAND element 301 . On the other hand, if such data is at “H” level, the output inversion selector 313 generates an inversion signal for data outputted from the NAND element 304 . Likewise, the output inversion selector 314 also has an input end connected to an output end of the NAND element 305 .
- the output inversion selector 314 If data outputted from the inverter 315 is at “L” level, the output inversion selector 314 generates an inversion signal for data outputted from the NAND element 302 . On the other hand, if such data is at “H” level, the output inversion selector 314 generates an inversion signal for data outputted from the NAND element 305 .
- the D flip-flop 308 has an input end CK for receiving a clock signal CLK, and an output end Q connected to an input end of the NAND element 304 .
- the NAND element 304 also has an input end for receiving an internal row address strobe signal iRAS.
- the NAND element 305 has an input end connected to the output end of the NAND element 304 , and an input end for receiving an internal row address strobe signal iRAS.
- the D flip-flop 309 has an input end D for receiving an internal row address strobe signal iRAS, an input end CK for receiving a clock signal CLK, and an output end Q for outputting a word line enable signal.
- the D flip-flop with reset 311 has an input end D connected to an output end of the output inversion selector 313 , an input end CK for receiving a clock signal CLK, an input end R connected to an output end of the one-shot pulse generation circuit 326 , and an output end Q connected to an input end of the delay element 322 .
- the D flip-flop with reset 312 has an input end D connected to an output end of the output inversion selector 314 , an input end CK for receiving a clock signal CLK, an input end R connected to an output end of the one-shot pulse generation circuit 327 , and an output end Q connected to an input end of the delay element 324 .
- the D flip-flop 310 has an input end D connected to the output end of the inverter 315 , an input end CK for receiving a clock signal CLK, and an output end Q for outputting an inversion write enable signal.
- the inverter 316 has an input end connected to the output end of the D flip-flop 309 to thereby receive a word line enable signal, and an output end connected to an input end of the delay element 321 and an input end of the NOR circuit 328 .
- the delay element 321 has an output end connected to an input end of the NOR circuit 328 .
- the NOR circuit 328 has an output end for outputting a sense amplifier enable signal.
- the delay element 322 has an output end connected to an input end of the inverter 317 and an input end of the delay element 323 .
- the inverter 317 has an output end connected to one input end of the NAND element 306
- the delay element 323 has an output end connected to another input end of the NAND element 306 .
- the NAND element 306 has an output end connected to an input end of the one-shot pulse generation circuit 326 and an input end of the NOR circuit 329 .
- the NOR circuit 329 has an output end connected to an input end of the inverter 319 .
- the inverter 319 has an output end for outputting a transfer gate enable signal.
- the delay element 324 has an output end connected to an input end of the inverter 318 and an input end of the delay element 325 .
- the inverter 318 has an output end connected to one input end of the NAND element 307
- the delay element 325 has an output end connected to another input end of the NAND element 307 .
- the NAND element 307 has an output end connected to an input end of the inverter 320 and an input end of the one-shot pulse generation circuit 327 .
- the inverter 320 has an output end for outputting a write timing signal, which is connected to an input end of the NOR circuit 329 .
- FIG. 5 schematically shows data inversion sequences.
- the semiconductor device 1 receives, as analog signals, various signals and wired/wireless communication signals, to be stored in the memory 3 , through the pad 6 .
- Such analog signal is stored in the memory 3 through the A/D converter 4 and the logic circuit 5 . It is assumed herein that the analog signal is data having an error to be corrected.
- the logic circuit 5 In a case where data stored in the memory 3 has an error, the logic circuit 5 generates information about an address and a bit of the error. Then, the logic circuit 5 issues an inversion command to the memory 3 based on the generated information. Upon reception of the inversion command, the memory 3 reads the data therefrom, inverts the data based on inversion information, generates error corrected data, and writes the error corrected data thereto.
- FIG. 6 is a timing chart showing waveforms of signals received by the memory 3 .
- the memory 3 is basically a DRAM of a clock synchronous type, and performs operations in synchronization with a clock signal CLK.
- the memory 3 performs a read operation in accordance with the following sequences. That is, the memory 3 sets a row address strobe signal NRAS at “L” level in synchronization with a leading edge of a clock signal CLK, and receives a row address. At a leading edge of a subsequent clock signal CLK, next, the memory 3 sets a read operation control signal NRE at “L” level, and receives a column address. Thus, the memory 3 generates storage data corresponding to an address received after a lapse of a predetermined access time, as output data. Next, the memory 3 sets the row address strobe signal NRAS at “H” level in synchronization with a leading edge of a subsequent clock signal CLK, and then enters a precharge state. Thereafter, the memory 3 can perform a subsequent operation.
- the memory 3 performs a write operation in accordance with the following sequences.
- the memory 3 sets a row address strobe signal NRAS at “L” level in synchronization with a leading edge of a clock signal CLK, and receives a row address.
- the memory 3 sets a write operation control signal NWE at “L” level, and receives a column address and input data.
- NWE write operation control signal
- the memory 3 sets the row address strobe signal NRAS at “H” level in synchronization with a leading edge of a subsequent clock signal CLK, and then enters a precharge state. Thereafter, the memory 3 can perform a subsequent operation.
- the memory 3 performs an inversion operation in accordance with the following sequences.
- the memory 3 sets a row address strobe signal NRAS at “L” level in synchronization with a leading edge of a clock signal CLK, and receives a row address.
- the memory 3 sets a read operation control signal NRE and a write operation control signal NWE at “L” level, and receives a column address.
- the memory 3 sets the read operation control signal NRE and the write operation control signal NWE at “L” level, and receives a column address and an inversion bit signal.
- the memory 3 inverts a bit having an inversion bit signal corresponding to a bit set at “H” level.
- the memory 3 sets the row address strobe signal NRAS at “H” level in synchronization with a leading edge of a subsequent clock signal CLK, and then enters a precharge state. Thereafter, the memory 3 can perform a subsequent operation.
- FIG. 7 is a timing chart showing control signals received by the memory core 300 in the respective operations.
- Each of the output inversion latch circuits 204 , 205 and 206 is a so-called level latch having the following functions. That is, during a period when a clock signal CLK is set at “H” level, each of the output inversion latch circuits 204 , 205 and 206 latches input data at a leading edge of the clock signal CLK. On the other hand, during a period when a clock signal CLK is set at “L” level, each of the output inversion latch circuits 204 , 205 and 206 generates inverted data of input data as it is.
- a row address strobe signal NRAS When a row address strobe signal NRAS is set at “L” level, an internal row address strobe signal iRAS is set at “H” level, and a word line enable signal is set at “H” level in synchronization with a rise of a clock signal CLK. Thereafter, a sense amplifier enable signal is set at “H” level after a lapse of a time determined by the delay element 321 .
- a write operation control signal NWE When a write operation control signal NWE is set at “L” level, an internal write operation control signal iWE is set at “H” level, and a write timing signal is set at “H” level after a lapse of a time determined by the delay element 324 from a leading edge of a subsequent clock signal CLK.
- the one-shot pulse generation circuit 327 When the write timing signal is set at “H” level, the one-shot pulse generation circuit 327 outputs a reset pulse to the D flip-flop with reset 312 , so that the D flip-flop with reset 312 is reset.
- the write timing signal is set at “L” level after a lapse of a time determined by the delay element 325 .
- a timing of a transfer gate enable signal is similar to that of the write timing signal. That is, when a read operation control signal NRE is set at “L” level, an internal read operation control signal iRE is set at “H” level, and the transfer gate enable signal is set at “H” level after a lapse of a time determined by the delay element 322 from a leading edge of a subsequent clock signal CLK. When the transfer gate enable signal is set at “H” level, the one-shot pulse generation circuit 326 outputs a reset pulse to the D flip-flop with reset 311 , so that the D flip-flop with reset 311 is reset. The transfer gate enable signal is set at “L” level after a lapse of a time determined by the delay element 323 .
- the data outputted from the output inversion selector 313 is set at “L” level and the data outputted from the output inversion selector 314 is set at “H” level. Therefore, an operation for the write timing signal is similar to the write operation.
- FIG. 8 is a timing chart showing a read operation of the memory core 300 .
- the row predecoder 202 When the latch circuit 207 latches a row address, the row predecoder 202 generates a row address predecode signal and outputs the row address predecode signal to the row decoder 102 .
- a word line enable signal When a word line enable signal is set at “H” level, a word line WL determined by the row address predecode signal is set at “H” level.
- a bit line precharge signal PR is set at “L” level, so that the bit line precharge circuit 116 is turned off.
- the word line WL is set at “H” level, the memory cell 103 connected to the word line WL reads data to the pair of bit lines 106 .
- a sense amplifier enable signal is set at “H” level
- an N-channel sense amplifier activation signal SEN is set at “H” level
- a P-channel sense amplifier activation signal SEP is set at “L” level.
- the sense amplifier 104 amplifies data on the pair of bit lines 106 such that the data is set at “H” or “L” level.
- a transfer gate enable signal is set at “H” level
- a transfer gate control signal TG is set at “H” level and a data line precharge signal GPR is set at “L” level, so that the pair of bit lines 106 are connected to the pair of data lines 115 .
- data on the pair of bit lines 106 are read to the pair of data lines 115 .
- the read amplifier 107 amplifies a difference in potential between the pair of data lines 115 and outputs the resultant to the output data latch 108 ; thus, the data is latched.
- the latched data is outputted as array output data DO to the column decoder 203 .
- the array output data DO is sorted into “N”-bit data determined by a column address and is outputted as output data.
- the word line WL is set at “L” level.
- the memory cell 103 is interrupted, and the bit line precharge circuit 116 is activated to prepare for commencement of an operation.
- FIG. 9 is a timing chart showing a write operation of the memory core 300 .
- the write operation is equal to the read operation until amplification of data on the pair of bit lines 106 by the sense amplifier 104 .
- the column decoder 203 selectively sorts “X”-bit array input data DI into “N”-bit input data. In addition, the column decoder 203 sets a write buffer selection signal NWSEL at “L” level in accordance with a column address.
- the transfer gate control signal TG is set at “H” level and the data line precharge signal GPR is set at “L” level.
- the pair of bit lines 106 are connected to the pair of data lines 115 .
- the write buffer 105 is selectively activated by the NOR element 114 .
- the selector 111 since an inversion write enable signal to be received by the activated write buffer 105 is set at “L” level, the selector 111 generates data based on the array input data DI. Thus, the data based on the array input data DI are transferred to the pair of data lines 115 , so that the data are written to the pair of bit lines 106 .
- FIG. 10 is a timing chart showing an inversion operation of the memory core 300 .
- the inversion operation is equal to the read operation until amplification of data on the pair of bit lines 106 by the sense amplifier 104 .
- the inversion operation is also equal to the read operation from setting of a transfer gate enable signal at “H” level to latching of data by the output data latch 108 .
- the selector 111 selects and outputs output data of the EXOR element 110 .
- the selector 111 outputs a result of arithmetic processing performed on data of the output data latch 108 by which the read data is latched and the array input data DI.
- the transfer gate control signal TG is set at “H” level and the data line precharge signal GPR is set at “L” level; thus, the pair of bit lines 106 are connected to the pair of data lines 115 .
- the write timing signal is set at “H” level, the write buffer 105 is selectively activated by the NOR element 114 .
- the selector 111 Since the inversion write enable signal to be received by the activated write buffer 105 is set at “L” level, the selector 111 outputs data based on the output data of the EXOR element 110 . Thus, the data based on the output data of the EXOR element 110 are transferred to the pair of data lines 115 , so that the data are written to the pair of bit lines 106 .
- the word line WL is set at “L” level.
- the memory cell 103 is interrupted, and the bit line precharge circuit 116 is activated to prepare for commencement of an operation.
- a new command that is, an inversion write operation is recognized by concurrent fall of a read command and a write command, so that control terminals can be prevented from being increased in number.
- FIG. 11 is a block diagram showing a configuration of the semiconductor memory according to the second embodiment.
- the memory 3 according to the second embodiment includes an output data inversion latch circuit 1101 and receives an inversion control signal NEXOR.
- the output data inversion latch circuit 1101 has an input end for receiving an inversion control signal NEXOR, and an output end for outputting an inversion write enable signal as output data.
- one control terminal is additionally provided as compared with the configuration in the first embodiment.
- the memory 3 can directly receive an inversion write enable signal from an external unit.
- desired data is prepared at an output data latch 108 , inverted data can be written without a read cycle. Accordingly, commands for control can be reduced in number, and a transfer rate can be improved.
Landscapes
- Dram (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
In order to correct an error in input data to thereby obtain write data, in a memory core, an EXOR element performs arithmetic processing based on an output result of an output data latch for latching read data and a result of inputted array input data, and a selector selects a result of the arithmetic processing to prepare write data. Thus, data obtained after performance of the arithmetic processing can be generated in a semiconductor memory by an operation performed immediately after data read. In addition, it is unnecessary to transfer data to an external logic circuit. Therefore, the result of the arithmetic processing can be written to a memory cell block in a subsequent clock.
Description
- This application is a continuation of application Ser. No. 11/714,762, filed Mar. 7, 2007, which claims the benefit of Japanese Patent Application No. 2006-096186, filed Mar. 31, 2006.
- (1) Field of the Invention
- The present invention relates to a semiconductor memory which is mounted on a semiconductor device formed on a semiconductor substrate and stores data obtained by arithmetic processing or the like.
- (2) Description of the Related Art
- With reference to the drawings, hereinafter, description will be given of a conventional semiconductor memory for storing data obtained by arithmetic processing or the like in a semiconductor device.
-
FIG. 12 is a block diagram showing a configuration of the semiconductor device on which the conventional semiconductor memory is mounted. As shown inFIG. 12 , thesemiconductor device 1 includes afunctional block 2, the semiconductor memory (hereinafter, simply referred to as “memory”) 3 having a function of storing data, an analog-to-digital (hereinafter, abbreviated as “A/D”)converter 4, alogic circuit 5, and apad 6. - Specifically, the
semiconductor device 1 is configured by thefunctional block 2 and thememory 3. Thefunctional block 2 is configured by thelogic circuit 5 and the A/D converter 4. Thelogic circuit 5 is electrically connected to the A/D converter 4 and thememory 3. Thepad 6 is connected to the A/D converter 4. - With reference to the drawings, next, description will be given of data correction sequences in the
semiconductor device 1 configured as described above. -
FIG. 13 shows data inversion sequences in thesemiconductor device 1.FIG. 14 is a timing chart showing waveforms of signals received by thememory 3. - In a case where the
logic circuit 5 recognizes a bit to be corrected in data stored in thememory 3, first, thelogic circuit 5 transfers a read command to thememory 3 to acquire read data. Then, thelogic circuit 5 prepares corrected appropriate data as write data based on the read data and information about an inverted bit. Next, thelogic circuit 5 executes a write command based on the appropriate data to write the data to thememory 3. That is, conventionally, the data inversion sequences in thememory 3 include a read operation, a standby time and a write operation. - In a case where the
aforementioned semiconductor device 1 is used for reading data from a storage medium such as an optical disc, and then storing the read data, occasionally, data different from intended data is stored in thememory 3 due to an influence of noise. In order to avoid an erroneous operation due to the aforementioned disadvantage, there is prepared a parity bit for error correction such as an ECC; thus, an inverted bit can be identified. - As described above, in the
semiconductor device 1, the memory 3 (e.g., a DRAM) reads erroneous data therefrom in the read operation, and thelogic circuit 5 inverts an erroneous bit to prepare appropriate data and writes back the appropriate data to thememory 3 in the write operation. Consequently, it takes much time to perform error correction on data. - Therefore, there arises a problem that data stored in the
memory 3 cannot be subjected to error correction at a high speed. - The present invention is devised in order to solve the aforementioned conventional problems. An object of the present invention is to provide a semiconductor memory capable of correcting an error in data stored therein more promptly.
- In order to accomplish this object, according to a first aspect of the present invention, a semiconductor memory is mounted on a semiconductor device for correcting an error in data to be inputted thereto/outputted therefrom and stores data. The semiconductor memory includes: a plurality of memory cell arrays each storing data; at least one control terminal which receives a read control signal for controlling a read operation of reading data from the memory cell array and a write control signal for controlling a write operation of writing data to the memory cell array; a data input/output terminal; and a computing unit performing arithmetic processing on data of the memory cell array and data inputted from the data input/output terminal. Herein, one of operations among outputting data of the memory cell array to the data input/output terminal, writing data inputted from the data input/output terminal to the memory cell array, and writing a result of the arithmetic processing performed by the computing unit to the memory cell array is performed according to the read control signal and the write control signal.
- With this configuration, it is possible to perform arithmetic processing for error correction on data read from the semiconductor memory at a high speed. Thus, it is possible to perform data processing such as error correction at a high speed. And with this configuration, it is possible to perform arithmetic processing for error correction at a high speed without an increase in number of connection terminals.
- According to a second aspect of the present invention, data of the memory cell array is outputted to the data input/output terminal when the read control signal is at a first potential and the write control signal is at a second potential data inputted from the data input/output terminal is written to the memory cell array when the read control signal is at the second potential and the write control signal is at the first potential, and the result of the arithmetic processing performed by the computing unit is written to the memory cell array when the read control signal and the write control signal are at the second potential.
- According to a third aspect of the present invention, the semiconductor memory operates in synchronization with external clocks, and when the read control signal and the write control signal are at the second potential, data stored in the memory cell array is read during a period of a first clock of the external clocks and the result of the arithmetic processing performed by the computing unit is written to the memory cell array during a period of a second clock subsequent to the first clock.
- With this configuration, it is possible to facilitate timing control in synchronization with a clock, and to perform arithmetic processing for error correction with a clock timing unitized at maximum.
- According to a fourth aspect of the present invention, the computing unit performs an EXOR operation.
- With this configuration, it is possible to invert a bit to be subjected to error determination by means of an ECC circuit or the like.
- According to a fifth aspect of the present invention, the control terminals include a read control terminal for receiving the read control signal and a write control terminal for receiving the write control signal.
- According to a sixth aspect of the present invention, an inversion write control signal is inputted to the control terminal, and one of the operations among outputting data of the memory cell array to the data input/output terminal, writing data inputted from the data input/output terminal to the memory cell array, and writing a result of the arithmetic processing performed by the computing unit to the memory cell array is performed according to the read control signal, the write control signal and the inversion write control signal.
- With this configuration, it is possible to perform arithmetic processing on data latched by the data latch in the semiconductor memory at a high speed. Thus, it is possible more promptly to perform data processing such as error correction.
- According to a seventh aspect of the present invention, data of the memory cell array is outputted to the data input/output terminal when the read control signal is at a first potential and the write control signal and the inversion write control signal are at a second potential, data inputted from the data input/output terminal is written to the memory cell array when the read control signal and the inversion write control signal are at the second potential and the write control signal is at the first potential, and the result of the arithmetic processing performed by the computing unit is written to the memory cell array when the read control signal and the write control signal are at the second potential and the inversion write control signal is at the first potential.
- According to a eighth aspect of the present invention, the control terminal includes a read control terminal for receiving the read control signal, a write control terminal for receiving the write control signal and an inversion write control terminal for receiving the inversion write control signal.
- According to the present invention, as described above, in order to correct an error in read data, a semiconductor memory can perform arithmetic processing for error correction on read data in sequence to thereby generate appropriate data immediately after completion of the read operation. In addition, it is unnecessary to transfer such data to an external logic circuit. Therefore, the semiconductor memory can write thereto a result of the arithmetic processing in a subsequent clock.
- Accordingly, the semiconductor memory can perform arithmetic processing on read data at a high speed to thereby invert such data. As a result, it is possible to write desired data to the semiconductor memory in a short period of time, and to perform data processing such as error correction more promptly.
-
FIG. 1 is a block diagram showing a configuration of a semiconductor device on which a semiconductor memory according to a first embodiment of the present invention is mounted; -
FIG. 2 is a circuit block diagram showing a configuration of the semiconductor memory according to the first embodiment; -
FIG. 3 is a circuit diagram showing a configuration of a memory core in the semiconductor memory according to the first embodiment; -
FIG. 4 is a circuit diagram showing a configuration of a timing generator in the semiconductor memory according to the first embodiment; -
FIG. 5 shows data inversion sequences in the semiconductor memory according to the first embodiment; -
FIG. 6 is a timing chart showing waveforms of signals received by the semiconductor memory according to the first embodiment; -
FIG. 7 is a timing chart showing control signals received by the memory core in the semiconductor memory according to the first embodiment in each operation; -
FIG. 8 is a timing chart showing a read operation of the memory core in the semiconductor memory according to the first embodiment; -
FIG. 9 is a timing chart showing a write operation of the memory core in the semiconductor memory according to the first embodiment; -
FIG. 10 is a timing chart showing an inversion operation of the memory core in the semiconductor memory according to the first embodiment; -
FIG. 11 is a block diagram showing a configuration of a semiconductor memory according to a second embodiment of the present invention; -
FIG. 12 is a block diagram showing a configuration of a semiconductor device on which a conventional semiconductor memory is mounted; -
FIG. 13 shows data inversion sequences in the conventional semiconductor memory; and -
FIG. 14 is a timing chart showing waveforms of signals received by the conventional semiconductor memory. - Hereinafter, specific description will be given of preferred embodiments of the present invention with reference to the drawings.
- First, description will be given of a semiconductor memory according to a first embodiment of the present invention.
-
FIG. 1 is a block diagram showing a configuration of a semiconductor device on which the semiconductor memory according to the first embodiment is mounted. As shown inFIG. 1 , thesemiconductor device 1 includes afunctional block 2, the semiconductor memory (hereinafter, simply referred to as “memory”) 3 according to the present invention, an analog-to-digital (hereinafter, abbreviated as “A/D”)converter 4, alogic circuit 5, and apad 6. - Specifically, the
semiconductor device 1 is configured by thefunctional block 2 and thememory 3. Thefunctional block 2 is configured by thelogic circuit 5 and the A/D converter 4. Thelogic circuit 5 is electrically connected to the A/D converter 4 and thememory 3. Thepad 6 is connected to the A/D converter 4. -
FIG. 2 is a circuit block diagram showing thememory 3. As shown inFIG. 2 , thememory 3 includes atiming generator 201, arow predecoder 202, acolumn decoder 203, output 204, 205 and 206,inversion latch circuits 207 and 208, and alatch circuits memory core 300. Herein, thememory 3 receives a row address strobe signal NRAS, a write operation control signal NWE and a read operation control signal NRE, and generates an internal row address strobe signal iRAS, an internal write operation control signal iWE and an internal read operation control signal iRE. A DRAM I/F signal is a group of control signals. - Specifically, the DRAM I/F signal includes a row address strobe signal NRAS, a write operation control signal NWE, a read operation control signal NRE, row addresses configured by “R” pieces of terminals required for controlling a memory capacity to be incorporated, column addresses configured by “C” pieces of terminals required for controlling a memory capacity to be incorporated, input data configured by “N” pieces of terminals, and output data configured by “N” pieces of terminals.
- The output
204, 205 and 206 receive a row address strobe signal NRAS, a write operation control signal NWE and a read operation control signal NRE to generate an internal row address strobe signal iRAS, an internal write operation control signal iWE and an internal read operation control signal iRE, respectively. Each of the outputinversion latch circuits inversion latch circuits 204 to 206 is controlled by a clock signal CLK. - Herein, there are provided “R” pieces of
latch circuits 207 and “C” pieces oflatch circuits 208. Eachlatch circuit 207 has an input end for receiving a row address, and an output end connected to an input end of therow predecoder 202. Eachlatch circuit 208 has an input end for receiving a column address, and an output end connected to an input end of thecolumn decoder 203. Each of the 207 and 208 is controlled by a clock signal CLK.latch circuits - The
timing generator 201 receives a clock signal CLK, an internal row address strobe signal iRAS, an internal write operation control signal iWE and an internal read operation control signal iRE to generate a word line enable signal, a sense amplifier enable signal, a transfer gate enable signal and an inversion write enable signal. - The
row predecoder 202 receives “R” pieces of row addresses from thelatch circuit 207 to generate row address predecode signals. Thecolumn decoder 203 receives column addresses from thelatch circuit 208, “N” pieces of input data from a DRAM I/F, and “X” pieces of array output data DO from thememory core 300. Further, thecolumn decoder 203 outputs “N” pieces of output data to the DRAM I/F, and outputs “X” pieces of array input data DI and “M” pieces of write buffer selection signals NWSEL to thememory core 300. - In this description, the symbols “X”, “M” and “N” satisfy a relation: “X”=“M”*“N”. The
memory 3 has a function of selectively sorting “N”-bit input/output data into “X”-bit array input data DI and “X”-bit array output data DO in accordance with a column address to be inputted. Thememory 3 also has a function of selectively activating one of “M” pieces of write buffer selection signals NWSEL in accordance with the column address. -
FIG. 3 is a circuit diagram showing thememory core 300. As shown inFIG. 3 , thememory core 300 includes amemory cell block 100, asense amplifier train 101, arow decoder 102, amemory cell 103, asense amplifier 104, awrite buffer 105, a pair ofbit lines 106, aread amplifier 107, an output data latch 108 serving as a read data latch, aninput data latch 109, anEXOR element 110 performing an EXOR operation, aselector 111, aninverter 112, atransfer gate 113, an NORelement 114, a pair ofdata lines 115, a bit lineprecharge circuit 116, a data lineprecharge circuit 117, and a word line WLn. Herein, thememory core 300 receives an N-channel sense amplifier activation signal SEN, a P-channel sense amplifier activation signal SEP, a transfer gate control signal TG, a write buffer selection signal NWSEL, a write buffer activation signal WE, array output data DO, array input data DI, a precharge signal PR, a data line precharge signal GPR, and a clock signal CLK. - In the
memory core 300, specifically, amemory cell block 100 has a configuration equal to that of a memory cell array in a typical DRAM. Herein,memory cell blocks 100 and sense amplifier trains 101 are increased/decreased in number if necessary. Eachmemory cell block 100 includes a plurality ofmemory cells 103. Thememory cells 103 are provided at intersections between pairs ofbit lines 106 and word lines WLn (n=0, 1, 2, . . . ), respectively, to form a memory cell array. Herein, onesense amplifier 104 is provided for one pair of bit lines 106.Such sense amplifier 104 receives an N-channel sense amplifier activation signal SEN and a P-channel sense amplifier activation signal SEP in order to control an operation thereof. - The
memory cell blocks 100 and the sense amplifier trains 101 are controlled by arow decoder 102. Therow decoder 102 has a typical configuration, and receives a transfer gate enable signal, a sense amplifier enable signal, a row address predecode signal and a word line enable signal. Therow decoder 102 outputs signals to control thememory cell blocks 100 to thememory cell blocks 100 through word lines WLn (n=0, 1, 2, 3, . . . , k=1, 2, 3, . . . ). Therow decoder 102 outputs a transfer gate control signal TG, an N-channel sense amplifier activation signal SEN and a P-channel sense amplifier activation signal SEP to eachsense amplifier train 101. A bit lineprecharge circuit 116 is connected to the pair ofbit lines 106, and is controlled by a bit line precharge signal PR. - In the
sense amplifier train 101, eachsense amplifier 104 is connected to a pair ofdata lines 115 throughtransfer gates 113. Thetransfer gate 113 is configured by an N-channel transistor, and receives a transfer gate control signal TG. The pair ofdata lines 115 are connected to input ends of aread amplifier 107 and receive data fromwrite buffers 105, respectively. Theread amplifier 107 has an output end connected to an input end of anoutput data latch 108, and the output data latch 108 has an output end for outputting one of array output data DO. - The write buffers 105 are connected to the pair of
data lines 115 in a complementary manner. One of the write buffers 105 has an input end connected to an output end of aselector 111, and theother write buffer 105 has an input end connected to the output end of theselector 111 through aninverter 112 so as to invert data outputted from theselector 111. The write buffers 105 are controlled by one of write buffer activation signals WE. Herein, there are prepared “X” pairs ofdata lines 115 and “M” pieces of write buffer activation signals WE. - The “M” pieces of write buffer activation signals WE are outputted from “M” pieces of NOR
elements 114 receiving “M” pieces of write buffer selection signals NWSEL each serving as a selection signal and a write timing signal serving as a timing signal used upon such selection. Theselector 111 has an input end connected to an output end of aninput data latch 109, and an input end connected to an output end of anEXOR element 110. Theselector 111 receives an inversion write enable signal as a selection signal. TheEXOR element 110 has an input end connected to the output end of the input data latch 109, and an input end connected to the output end of the output data latch 108. The input data latch 109 has an input end for receiving array input data DI, and an input end for receiving a clock signal CLK. - The pair of
data lines 115 are also connected to a data lineprecharge circuit 117 controlled by a data line precharge signal GPR. -
FIG. 4 is a circuit diagram showing thetiming generator 201. As shown inFIG. 4 , thetiming generator 201 includes 301, 302, 303, 304, 305, 306 and 307, D flip-NAND elements 308, 309 and 310, D flip-flops withflops 311 and 312,reset 313 and 314,output inversion selectors 315, 316, 317, 318, 319 and 320, delayinverters 321, 322, 323, 324 and 325, one-shotelements 326 and 327, and NORpulse generation circuits 328 and 329.circuits - The
NAND element 301 has an input end for receiving an internal row address strobe signal iRAS, an input end for receiving an internal read operation control signal iRE, and an output end connected to an input end of theoutput inversion selector 313. TheNAND element 302 has an input end for receiving an internal row address strobe signal iRAS, an input end for receiving an internal write operation control signal iWE, and an output end connected to an input end of theoutput inversion selector 314. TheNAND element 303 has an input end for receiving an internal read operation control signal iRE, an input end for receiving an internal write operation control signal iWE, and an output end connected to an input end of theinverter 315 and an input end D of the D flip-flop 308. - The
inverter 315 has an output end connected to a control end of theoutput inversion selector 313 and a control end of theoutput inversion selector 314. Theoutput inversion selector 313 also has an input end connected to an output end of theNAND element 304. If data outputted from theinverter 315 is at “L” level, theoutput inversion selector 313 generates an inversion signal for data outputted from theNAND element 301. On the other hand, if such data is at “H” level, theoutput inversion selector 313 generates an inversion signal for data outputted from theNAND element 304. Likewise, theoutput inversion selector 314 also has an input end connected to an output end of theNAND element 305. If data outputted from theinverter 315 is at “L” level, theoutput inversion selector 314 generates an inversion signal for data outputted from theNAND element 302. On the other hand, if such data is at “H” level, theoutput inversion selector 314 generates an inversion signal for data outputted from theNAND element 305. - The D flip-
flop 308 has an input end CK for receiving a clock signal CLK, and an output end Q connected to an input end of theNAND element 304. TheNAND element 304 also has an input end for receiving an internal row address strobe signal iRAS. TheNAND element 305 has an input end connected to the output end of theNAND element 304, and an input end for receiving an internal row address strobe signal iRAS. - The D flip-
flop 309 has an input end D for receiving an internal row address strobe signal iRAS, an input end CK for receiving a clock signal CLK, and an output end Q for outputting a word line enable signal. The D flip-flop withreset 311 has an input end D connected to an output end of theoutput inversion selector 313, an input end CK for receiving a clock signal CLK, an input end R connected to an output end of the one-shotpulse generation circuit 326, and an output end Q connected to an input end of thedelay element 322. The D flip-flop withreset 312 has an input end D connected to an output end of theoutput inversion selector 314, an input end CK for receiving a clock signal CLK, an input end R connected to an output end of the one-shotpulse generation circuit 327, and an output end Q connected to an input end of thedelay element 324. The D flip-flop 310 has an input end D connected to the output end of theinverter 315, an input end CK for receiving a clock signal CLK, and an output end Q for outputting an inversion write enable signal. - The
inverter 316 has an input end connected to the output end of the D flip-flop 309 to thereby receive a word line enable signal, and an output end connected to an input end of thedelay element 321 and an input end of the NORcircuit 328. Thedelay element 321 has an output end connected to an input end of the NORcircuit 328. The NORcircuit 328 has an output end for outputting a sense amplifier enable signal. Thedelay element 322 has an output end connected to an input end of theinverter 317 and an input end of thedelay element 323. Theinverter 317 has an output end connected to one input end of theNAND element 306, and thedelay element 323 has an output end connected to another input end of theNAND element 306. - The
NAND element 306 has an output end connected to an input end of the one-shotpulse generation circuit 326 and an input end of the NORcircuit 329. The NORcircuit 329 has an output end connected to an input end of theinverter 319. Theinverter 319 has an output end for outputting a transfer gate enable signal. Thedelay element 324 has an output end connected to an input end of theinverter 318 and an input end of thedelay element 325. Theinverter 318 has an output end connected to one input end of theNAND element 307, and thedelay element 325 has an output end connected to another input end of theNAND element 307. TheNAND element 307 has an output end connected to an input end of theinverter 320 and an input end of the one-shotpulse generation circuit 327. Theinverter 320 has an output end for outputting a write timing signal, which is connected to an input end of the NORcircuit 329. - Next, description will be given of operations of the
semiconductor device 1 with reference to the drawings. -
FIG. 5 schematically shows data inversion sequences. As shown inFIG. 1 , thesemiconductor device 1 receives, as analog signals, various signals and wired/wireless communication signals, to be stored in thememory 3, through thepad 6. Such analog signal is stored in thememory 3 through the A/D converter 4 and thelogic circuit 5. It is assumed herein that the analog signal is data having an error to be corrected. - In a case where data stored in the
memory 3 has an error, thelogic circuit 5 generates information about an address and a bit of the error. Then, thelogic circuit 5 issues an inversion command to thememory 3 based on the generated information. Upon reception of the inversion command, thememory 3 reads the data therefrom, inverts the data based on inversion information, generates error corrected data, and writes the error corrected data thereto. -
FIG. 6 is a timing chart showing waveforms of signals received by thememory 3. - Herein, the
memory 3 according to the first embodiment is basically a DRAM of a clock synchronous type, and performs operations in synchronization with a clock signal CLK. - As shown in
FIG. 6 , thememory 3 performs a read operation in accordance with the following sequences. That is, thememory 3 sets a row address strobe signal NRAS at “L” level in synchronization with a leading edge of a clock signal CLK, and receives a row address. At a leading edge of a subsequent clock signal CLK, next, thememory 3 sets a read operation control signal NRE at “L” level, and receives a column address. Thus, thememory 3 generates storage data corresponding to an address received after a lapse of a predetermined access time, as output data. Next, thememory 3 sets the row address strobe signal NRAS at “H” level in synchronization with a leading edge of a subsequent clock signal CLK, and then enters a precharge state. Thereafter, thememory 3 can perform a subsequent operation. - As shown in
FIG. 6 , thememory 3 performs a write operation in accordance with the following sequences. Thememory 3 sets a row address strobe signal NRAS at “L” level in synchronization with a leading edge of a clock signal CLK, and receives a row address. At a leading edge of a subsequent clock signal CLK, thememory 3 sets a write operation control signal NWE at “L” level, and receives a column address and input data. In a memory cell array, thus, data is stored in a predetermined site designated by the addresses. Next, thememory 3 sets the row address strobe signal NRAS at “H” level in synchronization with a leading edge of a subsequent clock signal CLK, and then enters a precharge state. Thereafter, thememory 3 can perform a subsequent operation. - As shown in
FIG. 6 , thememory 3 performs an inversion operation in accordance with the following sequences. Thememory 3 sets a row address strobe signal NRAS at “L” level in synchronization with a leading edge of a clock signal CLK, and receives a row address. At a leading edge of a subsequent clock signal CLK, next, thememory 3 sets a read operation control signal NRE and a write operation control signal NWE at “L” level, and receives a column address. At a leading edge of a subsequent clock signal CLK, next, thememory 3 sets the read operation control signal NRE and the write operation control signal NWE at “L” level, and receives a column address and an inversion bit signal. - Thus, with regard to the data designated by the addresses, the
memory 3 inverts a bit having an inversion bit signal corresponding to a bit set at “H” level. Next, thememory 3 sets the row address strobe signal NRAS at “H” level in synchronization with a leading edge of a subsequent clock signal CLK, and then enters a precharge state. Thereafter, thememory 3 can perform a subsequent operation. -
FIG. 7 is a timing chart showing control signals received by thememory core 300 in the respective operations. - Each of the output
204, 205 and 206 is a so-called level latch having the following functions. That is, during a period when a clock signal CLK is set at “H” level, each of the outputinversion latch circuits 204, 205 and 206 latches input data at a leading edge of the clock signal CLK. On the other hand, during a period when a clock signal CLK is set at “L” level, each of the outputinversion latch circuits 204, 205 and 206 generates inverted data of input data as it is.inversion latch circuits - When a row address strobe signal NRAS is set at “L” level, an internal row address strobe signal iRAS is set at “H” level, and a word line enable signal is set at “H” level in synchronization with a rise of a clock signal CLK. Thereafter, a sense amplifier enable signal is set at “H” level after a lapse of a time determined by the
delay element 321. - When a write operation control signal NWE is set at “L” level, an internal write operation control signal iWE is set at “H” level, and a write timing signal is set at “H” level after a lapse of a time determined by the
delay element 324 from a leading edge of a subsequent clock signal CLK. When the write timing signal is set at “H” level, the one-shotpulse generation circuit 327 outputs a reset pulse to the D flip-flop withreset 312, so that the D flip-flop withreset 312 is reset. The write timing signal is set at “L” level after a lapse of a time determined by thedelay element 325. - A timing of a transfer gate enable signal is similar to that of the write timing signal. That is, when a read operation control signal NRE is set at “L” level, an internal read operation control signal iRE is set at “H” level, and the transfer gate enable signal is set at “H” level after a lapse of a time determined by the
delay element 322 from a leading edge of a subsequent clock signal CLK. When the transfer gate enable signal is set at “H” level, the one-shotpulse generation circuit 326 outputs a reset pulse to the D flip-flop withreset 311, so that the D flip-flop withreset 311 is reset. The transfer gate enable signal is set at “L” level after a lapse of a time determined by thedelay element 323. - When the read operation control signal NRE and the write operation control signal NWE are set at “L” level concurrently, an inversion operation is started. That is, the internal read operation control signal iRE and the internal write operation control signal iWE are set at “H” level, and data outputted from the D flip-
flop 308 is set at “L” level at a leading edge of a clock signal CLK. At a rise of the clock signal CLK, data outputted from theoutput inversion selector 313 is set at “H” level and data outputted from theoutput inversion selector 314 is set at “L” level. Therefore, an operation for the transfer gate enable signal is similar to the read operation. At a timing of a rise of a subsequent clock signal CLK, the data outputted from theoutput inversion selector 313 is set at “L” level and the data outputted from theoutput inversion selector 314 is set at “H” level. Therefore, an operation for the write timing signal is similar to the write operation. -
FIG. 8 is a timing chart showing a read operation of thememory core 300. - When the
latch circuit 207 latches a row address, therow predecoder 202 generates a row address predecode signal and outputs the row address predecode signal to therow decoder 102. When a word line enable signal is set at “H” level, a word line WL determined by the row address predecode signal is set at “H” level. Concurrently, a bit line precharge signal PR is set at “L” level, so that the bit lineprecharge circuit 116 is turned off. When the word line WL is set at “H” level, thememory cell 103 connected to the word line WL reads data to the pair of bit lines 106. Thereafter, when a sense amplifier enable signal is set at “H” level, an N-channel sense amplifier activation signal SEN is set at “H” level and a P-channel sense amplifier activation signal SEP is set at “L” level. Thus, thesense amplifier 104 amplifies data on the pair ofbit lines 106 such that the data is set at “H” or “L” level. - When a transfer gate enable signal is set at “H” level, a transfer gate control signal TG is set at “H” level and a data line precharge signal GPR is set at “L” level, so that the pair of
bit lines 106 are connected to the pair of data lines 115. Thus, data on the pair ofbit lines 106 are read to the pair of data lines 115. Theread amplifier 107 amplifies a difference in potential between the pair ofdata lines 115 and outputs the resultant to the output data latch 108; thus, the data is latched. The latched data is outputted as array output data DO to thecolumn decoder 203. Then, in thecolumn decoder 203, the array output data DO is sorted into “N”-bit data determined by a column address and is outputted as output data. - Thereafter, when the word line enable signal is set at “L” level, the word line WL is set at “L” level. As a result, the
memory cell 103 is interrupted, and the bit lineprecharge circuit 116 is activated to prepare for commencement of an operation. -
FIG. 9 is a timing chart showing a write operation of thememory core 300. The write operation is equal to the read operation until amplification of data on the pair ofbit lines 106 by thesense amplifier 104. - The
column decoder 203 selectively sorts “X”-bit array input data DI into “N”-bit input data. In addition, thecolumn decoder 203 sets a write buffer selection signal NWSEL at “L” level in accordance with a column address. - When a transfer gate enable signal is set at “H” level, the transfer gate control signal TG is set at “H” level and the data line precharge signal GPR is set at “L” level. Thus, the pair of
bit lines 106 are connected to the pair of data lines 115. Moreover, when a write timing signal is set at “H” level, thewrite buffer 105 is selectively activated by the NORelement 114. - Herein, since an inversion write enable signal to be received by the activated
write buffer 105 is set at “L” level, theselector 111 generates data based on the array input data DI. Thus, the data based on the array input data DI are transferred to the pair ofdata lines 115, so that the data are written to the pair of bit lines 106. - Thereafter, when a word line enable signal is set at “L” level, the word line WL is set at “L” level. As a result, the
memory cell 103 is interrupted, and the bit lineprecharge circuit 116 is activated to prepare for commencement of an operation. -
FIG. 10 is a timing chart showing an inversion operation of thememory core 300. The inversion operation is equal to the read operation until amplification of data on the pair ofbit lines 106 by thesense amplifier 104. The inversion operation is also equal to the read operation from setting of a transfer gate enable signal at “H” level to latching of data by the output data latch 108. - Since the inversion write enable signal is set at “H” level, the
selector 111 selects and outputs output data of theEXOR element 110. Theselector 111 outputs a result of arithmetic processing performed on data of the output data latch 108 by which the read data is latched and the array input data DI. - When the transfer gate enable signal is set at “H” level at a rise of a subsequent clock, the transfer gate control signal TG is set at “H” level and the data line precharge signal GPR is set at “L” level; thus, the pair of
bit lines 106 are connected to the pair of data lines 115. When the write timing signal is set at “H” level, thewrite buffer 105 is selectively activated by the NORelement 114. - Since the inversion write enable signal to be received by the activated
write buffer 105 is set at “L” level, theselector 111 outputs data based on the output data of theEXOR element 110. Thus, the data based on the output data of theEXOR element 110 are transferred to the pair ofdata lines 115, so that the data are written to the pair of bit lines 106. - Thereafter, when the word line enable signal is set at “L” level, the word line WL is set at “L” level. As a result, the
memory cell 103 is interrupted, and the bit lineprecharge circuit 116 is activated to prepare for commencement of an operation. - With this operation, a result of arithmetic processing based on data to be inputted is prepared as write data in the
memory 3 according to this embodiment; thus, data stored by consecutive clock operations can be rewritten with the result of the arithmetic processing. As a result, an operation corresponding to at least one clock can be reduced as compared with a case that write data is prepared outside thememory 3. - In addition, a new command, that is, an inversion write operation is recognized by concurrent fall of a read command and a write command, so that control terminals can be prevented from being increased in number.
- Next, description will be given of a semiconductor memory according to a second embodiment of the present invention.
-
FIG. 11 is a block diagram showing a configuration of the semiconductor memory according to the second embodiment. As shown inFIG. 11 , in addition to the components of thememory 3 according to the first embodiment, thememory 3 according to the second embodiment includes an output datainversion latch circuit 1101 and receives an inversion control signal NEXOR. Specifically, the output datainversion latch circuit 1101 has an input end for receiving an inversion control signal NEXOR, and an output end for outputting an inversion write enable signal as output data. - With this configuration, one control terminal is additionally provided as compared with the configuration in the first embodiment. However, the
memory 3 can directly receive an inversion write enable signal from an external unit. Thus, if it is obvious that desired data is prepared at anoutput data latch 108, inverted data can be written without a read cycle. Accordingly, commands for control can be reduced in number, and a transfer rate can be improved.
Claims (9)
1.-5. (canceled)
6. A semiconductor memory mounted on a semiconductor device for correcting an error in data to be inputted thereto/outputted therefrom and storing such data, the semiconductor memory comprising:
a plurality of memory cell arrays each for storing data;
at least one control terminal for receiving a read control signal for controlling a read operation of reading data from the memory cell array and a write control signal for controlling a write operation of writing data to the memory cell array;
a data input/output terminal; and
a computing unit for performing arithmetic processing on data of the memory cell array and data inputted from the data input/output terminal, wherein
one of operations among outputting data from the memory cell array to the data input/output terminal, writing data inputted from the data input/output terminal to the memory cell array, and writing a result of the arithmetic processing performed by the computing unit to the memory cell array is performed according to the read control signal and the write control signal.
7. The semiconductor memory according to claim 6 , wherein
data from the memory cell array is outputted to the data input/output terminal when the read control signal is at a first potential and the write control signal is at a second potential,
data inputted from the data input/output terminal is written to the memory cell array when the read control signal is at the second potential and the write control signal is at the first potential, and
the result of the arithmetic processing performed by the computing unit is written to the memory cell array when the read control signal and the write control signal are at the second potential.
8. The semiconductor memory according to claim 7 , wherein
the semiconductor memory is for operating in synchronization with external clocks, so that
when the read control signal and the write control signal are at the second potential, data stored in the memory cell array is read during a period of a first clock of the external clocks and the result of the arithmetic processing performed by the computing unit is written to the memory cell array during a period of a second clock subsequent to the first clock.
9. The semiconductor memory according to claim 6 , wherein the computing unit is for performing an EXOR operation.
10. The semiconductor memory according to claim 6 , wherein
the control terminal includes a read control terminal for receiving the read control signal and a write control terminal for receiving the write control signal.
11. The semiconductor memory according to claim 6 , wherein
an inversion write control signal can be inputted to the control terminal, and
one of the operations among outputting data from the memory cell array to the data input/output terminal, writing data inputted from the data input/output terminal to the memory cell array, and writing a result of the arithmetic processing performed by the computing unit to the memory cell array can be performed according to the read control signal, the write control signal and the inversion write control signal.
12. The semiconductor memory according to claim 11 , wherein
data from the memory cell array can be outputted to the data input/output terminal when the read control signal is at a first potential and the write control signal and the inversion write control signal are at a second potential,
data inputted from the data input/output terminal can be written to the memory cell array when the read control signal and the inversion write control signal are at the second potential and the write control signal is at the first potential, and
the result of the arithmetic processing performed by the computing unit can be written to the memory cell array when the read control signal and the write control signal are at the second potential and the inversion write control signal is at the first potential.
13. The semiconductor memory according to claim 11 , wherein
the control terminal includes a read control terminal for receiving the read control signal, a write control terminal for receiving the write control signal, and an inversion write control terminal for receiving the inversion write control signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/929,362 US20110119563A1 (en) | 2006-03-31 | 2011-01-19 | Semiconductor memory |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006096186A JP4889343B2 (en) | 2006-03-31 | 2006-03-31 | Semiconductor memory device |
| JP2006-096186 | 2006-03-31 | ||
| US11/714,762 US7877667B2 (en) | 2006-03-31 | 2007-03-07 | Semiconductor memory |
| US12/929,362 US20110119563A1 (en) | 2006-03-31 | 2011-01-19 | Semiconductor memory |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/714,762 Continuation US7877667B2 (en) | 2006-03-31 | 2007-03-07 | Semiconductor memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20110119563A1 true US20110119563A1 (en) | 2011-05-19 |
Family
ID=38662550
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/714,762 Active 2029-11-24 US7877667B2 (en) | 2006-03-31 | 2007-03-07 | Semiconductor memory |
| US12/929,362 Abandoned US20110119563A1 (en) | 2006-03-31 | 2011-01-19 | Semiconductor memory |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/714,762 Active 2029-11-24 US7877667B2 (en) | 2006-03-31 | 2007-03-07 | Semiconductor memory |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US7877667B2 (en) |
| JP (1) | JP4889343B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5176646B2 (en) * | 2008-03-28 | 2013-04-03 | 富士通セミコンダクター株式会社 | Error correction function confirmation circuit, error correction function confirmation method, computer program thereof, and storage device |
| JP5278441B2 (en) * | 2008-12-04 | 2013-09-04 | 富士通株式会社 | Storage device and failure diagnosis method |
| CN102411994B (en) * | 2011-11-24 | 2015-01-07 | 深圳市芯海科技有限公司 | Data verification method and apparatus for integrated circuit built-in memory |
| JP6072449B2 (en) | 2012-07-09 | 2017-02-01 | ルネサスエレクトロニクス株式会社 | Semiconductor memory circuit and operation method thereof |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4712216A (en) * | 1984-12-28 | 1987-12-08 | International Business Machines Corporation | Method and device for correcting errors in memories |
| US5384789A (en) * | 1992-02-04 | 1995-01-24 | Fujitsu Limited | Semiconductor memory device having ECC circuit for decreasing the number of common bus lines to realize large scale integration and low power consumption |
| US5848076A (en) * | 1996-06-10 | 1998-12-08 | Mitsubishi Denki Kabushiki Kaisha | Memory card with capability of error correction and error correction method therefore |
| US5864568A (en) * | 1995-04-13 | 1999-01-26 | Cirrus Logic, Inc. | Semiconductor memory device for mass storage block access applications |
| US6047397A (en) * | 1994-02-16 | 2000-04-04 | U.S. Philips Corporation | Read device for a record carrier |
| US6243845B1 (en) * | 1997-06-19 | 2001-06-05 | Sanyo Electric Co., Ltd. | Code error correcting and detecting apparatus |
| US6363511B1 (en) * | 1998-03-31 | 2002-03-26 | Stmicroelectronics N.V. | Device and method for decoding data streams from storage media |
| US6907559B2 (en) * | 2000-12-22 | 2005-06-14 | Koninklijke Philips Electronics N.V. | Method and apparatus for data reproduction |
| US7272773B2 (en) * | 2003-04-17 | 2007-09-18 | International Business Machines Corporation | Cache directory array recovery mechanism to support special ECC stuck bit matrix |
| US7331011B2 (en) * | 2004-01-26 | 2008-02-12 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device |
| US7761770B2 (en) * | 2003-05-29 | 2010-07-20 | Emc Corporation | Disk controller architecture to allow on-the-fly error correction and write disruption detection |
-
2006
- 2006-03-31 JP JP2006096186A patent/JP4889343B2/en active Active
-
2007
- 2007-03-07 US US11/714,762 patent/US7877667B2/en active Active
-
2011
- 2011-01-19 US US12/929,362 patent/US20110119563A1/en not_active Abandoned
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4712216A (en) * | 1984-12-28 | 1987-12-08 | International Business Machines Corporation | Method and device for correcting errors in memories |
| US5384789A (en) * | 1992-02-04 | 1995-01-24 | Fujitsu Limited | Semiconductor memory device having ECC circuit for decreasing the number of common bus lines to realize large scale integration and low power consumption |
| US6047397A (en) * | 1994-02-16 | 2000-04-04 | U.S. Philips Corporation | Read device for a record carrier |
| US5864568A (en) * | 1995-04-13 | 1999-01-26 | Cirrus Logic, Inc. | Semiconductor memory device for mass storage block access applications |
| US5848076A (en) * | 1996-06-10 | 1998-12-08 | Mitsubishi Denki Kabushiki Kaisha | Memory card with capability of error correction and error correction method therefore |
| US6243845B1 (en) * | 1997-06-19 | 2001-06-05 | Sanyo Electric Co., Ltd. | Code error correcting and detecting apparatus |
| US6363511B1 (en) * | 1998-03-31 | 2002-03-26 | Stmicroelectronics N.V. | Device and method for decoding data streams from storage media |
| US6907559B2 (en) * | 2000-12-22 | 2005-06-14 | Koninklijke Philips Electronics N.V. | Method and apparatus for data reproduction |
| US7272773B2 (en) * | 2003-04-17 | 2007-09-18 | International Business Machines Corporation | Cache directory array recovery mechanism to support special ECC stuck bit matrix |
| US7761770B2 (en) * | 2003-05-29 | 2010-07-20 | Emc Corporation | Disk controller architecture to allow on-the-fly error correction and write disruption detection |
| US7331011B2 (en) * | 2004-01-26 | 2008-02-12 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device |
Also Published As
| Publication number | Publication date |
|---|---|
| US20070260964A1 (en) | 2007-11-08 |
| JP4889343B2 (en) | 2012-03-07 |
| JP2007272981A (en) | 2007-10-18 |
| US7877667B2 (en) | 2011-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100371425B1 (en) | Semiconductor memory device and method of controlling the same | |
| US11127440B2 (en) | Pseudo static random access memory and method for operating pseudo static random access memory | |
| US7801696B2 (en) | Semiconductor memory device with ability to adjust impedance of data output driver | |
| US8300482B2 (en) | Data transfer circuit and semiconductor memory device including the same | |
| US8089817B2 (en) | Precise tRCD measurement in a semiconductor memory device | |
| US7031205B2 (en) | Random access memory with post-amble data strobe signal noise rejection | |
| US10186314B2 (en) | Data output circuit and semiconductor memory device including the same | |
| CN101022038A (en) | Burst read circuit in semiconductor memory device and burst data read method thereof | |
| JP3311305B2 (en) | Synchronous burst nonvolatile semiconductor memory device | |
| US20110119563A1 (en) | Semiconductor memory | |
| US7212449B2 (en) | Data output device of semiconductor memory device | |
| JP2006004476A (en) | Semiconductor device | |
| JP2013073664A (en) | Semiconductor device | |
| US6950357B2 (en) | Test mode flag signal generator of semiconductor memory device | |
| US6532187B2 (en) | Semiconductor device having integrated memory and logic | |
| US8483005B2 (en) | Internal signal generator for use in semiconductor memory device | |
| US11862291B2 (en) | Integrated counter in memory device | |
| US8213246B2 (en) | Semiconductor device | |
| US8068383B2 (en) | Semiconductor integrated circuit having address control circuit | |
| US6442103B1 (en) | Synchronous SRAM device with late write function | |
| US6967882B1 (en) | Semiconductor memory including static memory | |
| US7898883B2 (en) | Method for controlling access of a memory | |
| US20100223514A1 (en) | Semiconductor memory device | |
| JPH0750094A (en) | Semiconductor memory circuit | |
| US12380933B2 (en) | Pseudo-static random access memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |