[go: up one dir, main page]

US20110119563A1 - Semiconductor memory - Google Patents

Semiconductor memory Download PDF

Info

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
Application number
US12/929,362
Inventor
Kenichi Origasa
Kiyoto Ohta
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to US12/929,362 priority Critical patent/US20110119563A1/en
Publication of US20110119563A1 publication Critical patent/US20110119563A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online 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

    REFERENCE TO RELATED APPLICATIONS
  • 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.
  • BACKGROUND OF THE INVENTION
  • (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 in FIG. 12, 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.
  • Specifically, 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.
  • 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 the semiconductor device 1. FIG. 14 is a timing chart showing waveforms of signals received by the memory 3.
  • In a case where 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.
  • 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 the memory 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 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.
  • Therefore, there arises a problem that data stored in the memory 3 cannot be subjected to error correction at a high speed.
  • SUMMARY OF THE INVENTION
  • 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.
  • BRIEF DESCRIPTION OF THE INVENTION
  • 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.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Hereinafter, specific description will be given of preferred embodiments of the present invention with reference to the drawings.
  • First Embodiment
  • 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 in FIG. 1, 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.
  • Specifically, 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. As shown in FIG. 2, 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. Herein, 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.
  • 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 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.
  • Herein, there are provided “R” pieces of latch circuits 207 and “C” pieces of latch circuits 208. 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.
  • 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. 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. As shown in FIG. 3, 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. Herein, 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.
  • In the memory core 300, specifically, a memory 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. Each memory cell block 100 includes a plurality of memory cells 103. The memory cells 103 are provided at intersections between pairs of bit lines 106 and word lines WLn (n=0, 1, 2, . . . ), respectively, to form a memory cell array. Herein, 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 signals to control the memory cell blocks 100 to the memory cell blocks 100 through word lines WLn (n=0, 1, 2, 3, . . . , k=1, 2, 3, . . . ). 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.
  • In the sense amplifier train 101, 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, and 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. Herein, 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. As shown in FIG. 4, 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. 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, and 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, and 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.
  • 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 in FIG. 1, 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.
  • 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.
  • 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, 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.
  • As shown in FIG. 6, 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. At a leading edge of a subsequent clock signal CLK, the memory 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, 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.
  • As shown in FIG. 6, 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. At a leading edge of a subsequent clock signal CLK, next, 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. At a leading edge of a subsequent clock signal CLK, next, 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.
  • 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, 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.
  • 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-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.
  • 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 the output inversion selector 313 is set at “H” level and data outputted from the output 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 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.
  • 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. 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 line precharge circuit 116 is turned off. When 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. 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, the sense amplifier 104 amplifies data on the pair of bit 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 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. Then, in 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.
  • 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 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.
  • 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, the write buffer 105 is selectively activated by the NOR element 114.
  • Herein, 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.
  • 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 line precharge circuit 116 is activated to prepare for commencement of an operation.
  • 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.
  • Since the inversion write enable signal is set at “H” level, 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.
  • 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, the write buffer 105 is selectively activated by the NOR element 114.
  • 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.
  • 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 line precharge 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 the memory 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.
  • Second Embodiment
  • 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 in FIG. 11, in addition to the components of the memory 3 according to the first embodiment, the memory 3 according to the second embodiment includes an output data inversion latch circuit 1101 and receives an inversion control signal NEXOR. Specifically, 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.
  • 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 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.

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.
US12/929,362 2006-03-31 2011-01-19 Semiconductor memory Abandoned US20110119563A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (11)

* Cited by examiner, † Cited by third party
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