[go: up one dir, main page]

WO2010061760A1 - 不揮発性半導体記憶装置及びその駆動方法 - Google Patents

不揮発性半導体記憶装置及びその駆動方法 Download PDF

Info

Publication number
WO2010061760A1
WO2010061760A1 PCT/JP2009/069545 JP2009069545W WO2010061760A1 WO 2010061760 A1 WO2010061760 A1 WO 2010061760A1 JP 2009069545 W JP2009069545 W JP 2009069545W WO 2010061760 A1 WO2010061760 A1 WO 2010061760A1
Authority
WO
WIPO (PCT)
Prior art keywords
write
memory cell
subbank
read
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2009/069545
Other languages
English (en)
French (fr)
Inventor
石川 裕
数也 石原
太田 佳似
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to US13/131,388 priority Critical patent/US8400830B2/en
Priority to CN200980147210.0A priority patent/CN102227778B/zh
Priority to KR1020117011105A priority patent/KR101358548B1/ko
Priority to JP2010540454A priority patent/JP5285714B2/ja
Publication of WO2010061760A1 publication Critical patent/WO2010061760A1/ja
Anticipated expiration legal-status Critical
Ceased 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0076Write operation performed depending on read result
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor

Definitions

  • the present invention relates to a nonvolatile semiconductor memory device and a method of driving the same, and more particularly to a nonvolatile semiconductor memory device having a limited number of rewrites and a method of driving the same.
  • RRAM Resistive Random Access Memory
  • FIG. 15 shows a schematic structural diagram of this RRAM.
  • the RRAM 100 shown in FIG. 15 has a very simple structure in which a lower electrode 103 serving as a second electrode, a variable resistor 102, and an upper electrode 101 serving as a first electrode are sequentially stacked.
  • the variable resistor 102 for example, a titanium oxide (TiO 2 ) film, a nickel oxide (NiO) film, a zinc oxide (ZnO) film, or a niobium oxide (Nb 2 O 5 ) film which is an oxide of a transition metal can be used. (See Patent Document 1 and Non-Patent Document 1 below).
  • the RRAM 100 can reversibly change the resistance value of the variable resistor 102 by applying a voltage pulse between the upper electrode 101 and the lower electrode 103. Then, by reading out the resistance value in this reversible resistance change operation, a resistive nonvolatile memory can be realized.
  • the write (erase) characteristics in RRAM are very different from those of flash memory.
  • both resistance increase and resistance decrease can be realized in several tens of nanoseconds by applying a low voltage of 1.5 V to 3 V.
  • the writing (erasing operation) of the information “1” and the writing (writing operation) of the information “0” can be performed simultaneously, that is, the data can be overwritten, and the rewriting operation in bit units can be realized at high speed. It is considered that this RRAM can realize read / write speed equivalent to DRAM (Dynamic Random Access Memory).
  • a conventional DRAM has a memory cell composed of a switching MISFET and a capacitor connected in series to the switching MISFET, and stores information by storing charge in the capacitor. Therefore, there is an advantage that the number of times of rewriting is almost unlimited in terms of the characteristic of storing information by accumulating charge in a capacitor.
  • the information is rewritten by changing the resistance value of the variable resistor.
  • the behavior of the oxygen in the metal oxide which comprises a variable resistor greatly contributes to a resistance change as for the change of the resistance value of this variable resistor. That is, when oxygen vacancies occur in the metal oxide, it is considered that the resistance of the metal oxide decreases, and conversely, the oxygen vacancies are filled with oxygen again to increase the resistance.
  • this oxygen deficiency is caused by the movement of oxygen ions (O 2 ⁇ ) in the direction of electric field application by the application of a high electric field to the element in the high resistance state, and the movement of oxygen ions It is believed that oxygen vacancies occur at the locations where the gas escapes, and the electrical resistance is lowered due to hopping conduction in which carriers are conducted between localization orders generated by the oxygen vacancies.
  • the current flows in the low resistance part to heat it by Joule heat, and when it reaches a certain threshold current, the oxygen deficient part is filled again with oxygen and the resistance is increased again. It is considered.
  • the writing of information in RRAM is due to a change in resistance associated with a physical change in which oxygen ions in the metal oxide move, so information storage is more efficient than in DRAM where information is written by charge accumulation and movement.
  • the physical damage to the part (ie, variable resistor) is large. That is, by repeatedly performing the rewriting operation (changing the resistance) in the RRAM, a memory cell which can not generate oxygen deficiency or recombine with oxygen is generated. In the case of such a memory cell, even if a voltage is applied for rewriting, the resistance state can not be changed, which means that rewriting of information can not be performed accurately.
  • a wear leveling method which averages the number of times of use of memory cells in a memory chip. This method is to extend the life by managing the number of times of rewriting and the order of rewriting in block units.
  • Patent Document 2 a block is provided with an erase number counter, and a block having a small value of the erase number counter is preferentially used, and the lifetime of the non-volatile memory is obtained by averaging the erase numbers of all blocks. How to extend is described.
  • Patent Document 3 a physical address value of a table for converting a logical address to a physical address is exchanged with a free physical address value read out from FILO (First in Least Out) where the free physical address value is written.
  • FILO First in Least Out
  • the wear leveling method has been used as a method of extending the life of a memory whose number of rewrites is limited.
  • this wear leveling method it is necessary to manage the number of rewrites.
  • An object of the present invention is to provide a nonvolatile semiconductor memory device capable of prolonging the life of a memory cell without managing the number of times of rewriting in view of the above-mentioned problems.
  • a nonvolatile semiconductor memory device arranges a plurality of nonvolatile memory cells in a matrix and connects the first terminals of the memory cells in the same row to a common word line.
  • a memory cell array comprising a first sub-bank formed by connecting the second terminals of the memory cells in the same column to a common bit line, and a second sub-bank having the same configuration as the first sub-bank;
  • Write / read control unit for controlling writing or reading to a target memory cell, and applying a voltage to the bit line and the word line based on an instruction from the write / read control unit, the target memory
  • a decoder unit for applying a write voltage or a read voltage to the cell; and a target memory cell to which the read voltage is applied.
  • a plurality of target memories located in the first subbank and the second subbank comprising: a read circuit for reading out the already written data; and a comparator unit for comparing a plurality of input data
  • the second operation of applying a voltage is performed in the same time zone.
  • the comparison section has already written in the selected memory cell corresponding to the write destination address before actually performing the write processing.
  • a comparison process of written data and write target data is executed. Then, only when the comparison result is different, the write voltage for writing the write target data to the same memory cell is applied, and when the comparison result is the same, the write voltage is not applied.
  • the conventional wear leveling method is a method of extending the life of the entire memory chip by averaging the number of times of use of the memory cell, the memory cell is overwritten even when the same data is overwritten. As a result, deterioration of the memory cell can not be avoided.
  • the configuration of the present invention as compared with this conventional method, the number of times the write processing is performed with the application of the write voltage actually applied to the same memory cell is reduced. Thereby, each memory cell can be extended.
  • the present invention can be easily applied to an RRAM that can be written (rewritten) in bit units.
  • the write voltage can be applied to the other sub-bank to perform the write processing. .
  • no time lag occurs in the writing process. That is, the memory cells in each subbank can be extended without prolonging the time required for the writing process from the conventional method.
  • the individually specified writing to a plurality of target memory cells located in the first subbank and the second subbank is performed.
  • the decoder unit executes the operation step including the first operation and the second operation a plurality of times while changing the first target memory cell and the second target memory cell.
  • the second target memory cell in each of the operation steps is the first target memory cell in the operation step which has already been executed prior to the operation step.
  • the second target memory cell on which the second operation is to be performed has already read the written data as the first target memory cell in the operation step performed before that.
  • the second operation it is possible to write only when the write target data is different from the write data, without reading the write data of the second target memory cell again.
  • the decoder unit is provided commonly to the first subbank and the second subbank, and the first subbank and the second subbank.
  • a row decoder for simultaneously applying a voltage to each corresponding word line a first column decoder for applying a voltage to the bit line of the first subbank, and a voltage for applying the voltage to the bit line of the second subbank
  • a second column decoder, and in the first operation, the first column decoder performs the first target memory in a state where the row decoder applies a voltage to the word line connected to the first target memory cell
  • the read voltage is applied to a bit line connected to a cell
  • the second operation includes the written data of the second target memory cell and the second target.
  • the write voltage is applied to the bit line connected to the second target memory cell in which the second column decoder is located in the same row as the first target memory cell only when the comparison result with the data to be written to the memory cell is different. It is characterized in that it is an operation of applying
  • the memory cell array includes a plurality of memory units each including the first subbank and the second subbank, and the decoder unit is configured to When writing the individually designated write target data to a plurality of target memory cells provided for each memory unit and disposed across a plurality of the memory units, the target memory cell is present
  • Each of the decoder units provided in the memory unit performs the first operation and the second operation in the same time zone.
  • the memory cell is configured of a variable resistive element that reversibly changes its resistance value according to an applied voltage. Information is stored according to the resistance value of the variable resistive element.
  • the nonvolatile semiconductor memory device arranges a plurality of nonvolatile memory cells in a matrix, and commons the first terminals of the memory cells in the same row. And a second sub-bank having the same configuration as the first sub-bank, wherein the first sub-bank is formed by connecting the second terminals of the memory cells in the same column to a common bit line.
  • the first subbank When writing the individually designated write target data to a plurality of target memory cells located in the first subbank and the second subbank, the first subbank includes A first operation of applying a read voltage to one target memory cell, the already written data of the second target memory cell in the second subbank, and the second target memory
  • the comparison result of the write target data to the Riseru is and executes a second operation in which a write voltage is applied to the second target memory cell only when different in the same time zone.
  • the method of driving a nonvolatile semiconductor memory device is individually specified for a plurality of target memory cells located in the first subbank and the second subbank.
  • the operation step including the first operation and the second operation is executed a plurality of times while changing the first target memory cell and the second target memory cell
  • the second target memory cell in each operation step is the first target memory cell in the operation step which has already been executed before the operation step.
  • the memory cell array is configured to include a plurality of memory units each including the first subbank and the second subbank.
  • the first one of the first and second memory units in which the target memory cell is present The operation and the second operation may be performed in the same time zone.
  • a plurality of memory cells each having a variable resistive element for storing information according to a change in electric resistance are arranged in each of the row direction and the column direction.
  • a nonvolatile semiconductor memory device comprising a memory cell array in which terminals are connected to a common word line and second terminals of the memory cells in the same column are connected to a common bit line, the target corresponding to a specified address
  • a write / read control unit that controls writing or reading to a memory cell, and applying a voltage to the bit line and the word line based on an instruction from the write / read control unit, the target memory cell
  • a decoder unit for applying a write voltage or a read voltage, and a target memory cell to which the read voltage is applied The circuit includes: a read circuit that reads out write data; and a comparison unit that compares a plurality of input data, and when writing the write target data to the target memory cell, the decoder unit performs the write And applies a read voltage to the
  • the comparison section has already written in the selected memory cell corresponding to the write destination address before actually performing the write processing.
  • a comparison process of written data and write target data is executed. Then, only when the comparison result is different, the write voltage for writing the write target data to the same memory cell is applied, and when the comparison result is the same, the write voltage is not applied.
  • the conventional wear leveling method is a method of extending the life of the entire memory chip by averaging the number of times of use of the memory cell, the memory cell is overwritten even when the same data is overwritten. As a result, deterioration of the memory cell can not be avoided.
  • the configuration of the present invention as compared with this conventional method, the number of times the write processing is performed with the application of the write voltage actually applied to the same memory cell is reduced. Thereby, each memory cell can be extended.
  • the present invention can be applied to an RRAM which can be written (rewritten) in bit units.
  • a plurality of memory cells each having a variable resistive element for storing information according to a change in electric resistance are arranged in the row direction and the column direction, respectively.
  • a method of driving a non-volatile semiconductor memory device including a memory cell array in which the first terminals of the memory cells are connected to a common word line and the second terminals of the memory cells in the same column are connected to a common bit line;
  • the configuration of the present invention it is possible to realize a nonvolatile semiconductor memory device capable of prolonging the life of the memory cell without managing the number of times of rewriting.
  • Block diagram showing a conceptual structure of the nonvolatile semiconductor memory device of the first embodiment Block diagram showing another conceptual structure of the nonvolatile semiconductor memory device of the first embodiment
  • Block diagram showing the conceptual structure of the nonvolatile semiconductor memory device of the third embodiment Block diagram showing another conceptual structure of the nonvolatile semiconductor memory device of the third embodiment Timing chart when writing is performed to the nonvolatile semiconductor memory device of the third embodiment Timing chart when reading is performed on the nonvolatile semiconductor memory device of the third embodiment
  • the memory cell is described as having a configuration including an RRAM element.
  • the RRAM element is configured to store information by reversibly changing the resistance value (or resistance characteristic) by application of a voltage. Therefore, the operation principle is the same except that the resistance value after the change is different between the write operation and the erase operation. More specifically, in order to change to a certain first resistance value (first resistance characteristic), applying a voltage by setting a voltage condition is the “write operation”, and another second resistance value It is the “erase operation” that the voltage condition is set and the voltage is applied in order to change it to (2 resistance characteristics). That is, it can be said that the operation actually performed on the memory cell is the same except that the erase operation and the write operation have different voltage conditions. For this reason, in the following, it is considered that the "erasing operation” is one mode of the "writing operation”, and the "writing operation” and the “erasing operation” are not distinguished in the word unless otherwise noted.
  • the "read operation” is an operation that merely reads the resistance value (or resistance characteristic) of the RRAM element at the current time without changing the resistance value (or resistance characteristic) of the RRAM element.
  • the contents of the operation are different from the write operation which is the operation of changing the resistance characteristic). For this reason, the "read operation” is expressed separately from the "write operation”.
  • FIGS. 1 to 6 A first embodiment of the present invention (hereinafter, appropriately referred to as “the present embodiment”) will be described with reference to FIGS. 1 to 6.
  • FIG. 1 is a block diagram showing a conceptual structure of the nonvolatile semiconductor memory device in this embodiment.
  • the nonvolatile semiconductor memory device 1 shown in FIG. 1 includes a memory access control unit 20, a memory control unit 30, a decoder unit (row decoder 53, column decoders 51A and 51B), and memory cell arrays (52A and 52B).
  • one memory control unit 30 is provided with two subbanks 52A and 52B, and each subbank individually includes a column decoder (51A, 51B), while a row decoder (53) is shared. .
  • FIG. 1 is a diagram showing a plurality of memory units and decoder units shown in FIG. 2 collectively as one.
  • the memory control unit 30 includes an instruction interpretation unit 31, a buffer 32, an output control unit 33, a buffer 34, a row address buffer 35, a comparison unit 37, and a write / read control unit 40 (read control unit 36, buffer 38, write control unit 39). And a read / write switching control unit 41, a subbank switching unit 42, and a read circuit 43.
  • the memory access control unit 20 is configured to be able to exchange signals with the CPU 10.
  • the CPU 10 is a central processing unit, and is connected to the memory access control unit 20 via a bus (CPU bus 11) capable of sending commands, addresses, and data.
  • the CPU bus 11 may be connected to a number of hardware modules (not shown) such as a network, a storage, and a graphic besides the CPU 10 and the memory access control unit 20.
  • the memory access control unit 20 recognizes each piece of information given from the CPU 10 and gives it to the appropriate element in the memory control unit 30 for each piece of information via the memory bus 21. More specifically, the memory access control unit 20 gives command information to the command interpretation unit 31, gives address information to the buffer 32, and gives data (data to be written) to the buffer 34.
  • the memory control unit 30 converts each information (command, address) supplied from the memory access control unit 20 into a command (write, erase) or an address (row / column address) for the subbanks 52A, 52B, and outputs the column decoder 51A, 51B and the row decoder 53 are controlled.
  • the subbanks 52A and 52B are memory cell arrays, and a predetermined voltage is applied to each memory cell in the memory cell array from the column decoders 51A and 51B and the row decoder 53 to perform read or write (erase) processing. It will be.
  • each of the subbanks 52A and 52B is configured by arranging a plurality of memory cells each having an RRAM element in the row direction and the column direction. Further, the memory cells provided with a plurality of word lines extending in the row direction and a plurality of bit lines extending in the column direction, and the memory cells arranged in the same row respectively have one end side of the RRAM element through the same select transistor. The memory cells connected to the word line and arranged in the same column respectively connect the other end sides of the RRAM elements to the same bit line.
  • FIG. 3 shows a 1T1R type structure in which each memory cell is connected to a RRAM element and a selection transistor in series with the same element.
  • FIG. 3 is a circuit diagram showing a configuration example of the subbank 52B, which is a so-called 1T1R configuration in which each memory cell is composed of one select transistor and one variable resistive element R.
  • the gate of the select transistor of each memory cell is connected to the word lines (W1 to Wn), and each word line is connected to the row decoder 53.
  • the source of the select transistor of each memory cell is connected to the common source line via the source line SL.
  • one (upper electrode side) of the variable resistive element R for each memory cell is connected to the bit line (B1 to Bm), and each bit line is connected to the column decoder 51B.
  • n and m are natural numbers.
  • the subbank 52A also has the same configuration.
  • subbanks 52A and 52B are assigned addresses such that memory addresses are alternately continued between the subbanks. More specifically, even addresses are assigned to subbank 52A, and odd addresses are assigned to subbank 52B.
  • the instruction interpretation unit 31 converts the input command into a form according to the present embodiment, and sends it to the read control unit 36, the read / write switching control unit 41, and the row address buffer 35. Specifically, when the write (erase) command “W” is input, the instruction interpretation unit 31 sends a read command “R” to the read control unit 36 and the read / write switching control unit 41 by the signal ComC. While the signal R / W is made active (high state) to be supplied to the output control unit 33 and the comparison unit 37.
  • the instruction interpretation unit 31 gives the read command “R” to the read control unit 36 and the read / write switching control unit 41 by the signal ComC, while the signal R / W is inactive (low state). That is, even when the write (erase) command “W” is given or the read command “R” is given, the instruction interpretation unit 31 receives the row address buffer 35 and the read control unit 36. The read command “R” is given to the read / write switching control unit 41 by the signal ComC.
  • another command “line address designation” hereinafter, referred to as “A” command
  • This "A” command is input from the memory access control unit 20 when a row address value is input to the buffer 32. When this is input, the instruction interpretation unit 31 applies an "A" command to the row address buffer 35 by the signal ComC.
  • the buffer 32 is a first in first out (FIFO) buffer and temporarily stores input address information. Then, in synchronization with the output of the signal ComC, the instruction interpretation unit 31 outputs a signal AddC indicating address information to the row address buffer 35 and the read control unit 36.
  • the buffer 32 does not necessarily have to be a FIFO, and may take an address value only when a command is input as a buffer for one address.
  • the signal The line may be active.
  • the buffer 32 may output a signal AddC indicating address information due to the rising of the signal line.
  • the buffer 34 is a FIFO buffer. In the present embodiment, as described later, it takes a (fixed) time from the input of the write command to the actual writing to the subbanks 52A and 52B.
  • the buffer 34 has a function of holding the data to be written over the time required from the input of the write command to the actual writing to the subbanks 52A and 52B. After the write target data is held for a certain period by the buffer 34, the buffer 34 outputs the write target data as the signal DatO to the comparison unit 37 and the write control unit 39.
  • the read control unit 36 When the command given from the command interpretation unit 31 by the signal ComC is “R”, the read control unit 36 operates the read address AddCr of data based on the address specified by the signal AddC from the buffer 32 and switches the subbanks. Output to the part 42.
  • the memory access setting is burst (data is read and written continuously to a plurality of addresses)
  • the set burst length (consecutively for one address designated from the buffer 32)
  • the addresses for the number of times of reading and writing data are sequentially calculated and output.
  • the burst length is a value set to the main memory by a host such as the CPU 10 connected to the main memory. Further, any method may be used to set the burst length, and the description thereof will be omitted because it deviates from the subject matter of the present invention.
  • the read control unit 36 also supplies the subbank switching unit 42 with a signal RE which is “High” while outputting a valid address value to the subbank switching unit 42, and otherwise “Low”. .
  • the comparison unit 37 receives the R / W signal from the instruction interpretation unit 31 and compares this DatO given from the buffer 34 with DatC given from the reading circuit 43 when this is active, and writes the result Comp This is given to the control unit 39. As will be described later, when DatC and DatO have multiple bits, the comparison is performed in bit units, and match / mismatch in bit units is given to the write control unit 39. That is, if the bit width of data is 8 bits, the bit width of Comp is also 8 bits, and if the bit width of data is 32 bits, the bit width of Comp is also 32 bits. If the R / W signal is inactive, do nothing.
  • the read / write switching control unit 41 When the read / write switching control unit 41 receives the command “R” given from the instruction interpretation unit 31 by the signal ComC, the read / write switching control unit 41 generates a signal SBSe for switching between reading and writing of the subbank 52A and the subbank 52B.
  • the data is supplied to the decoder 53.
  • the subbank 52A is assigned an even address
  • the subbank 52B is assigned an odd address. That is, consecutive addresses are alternately assigned between the subbanks 52A and 52B.
  • the signal level is set to "Low”
  • the signal level is set to "High”. That is, when the signal SBSe1 is "Low", the reading process is performed on the subbank 52A to be read, and the writing process is performed on the subbank 52B different from the subbank 52A.
  • the signal SBSe1 is "High”
  • the read process is performed on the subbank 52B to be read, and the write process is performed on the subbank 52A different from the subbank 52B.
  • Row address buffer 35 internally holds an address value given from buffer 32 when an “A” command is given from instruction interpretation unit 31.
  • the held address value is output as the signal Row to the row decoder 53 at an appropriate timing.
  • the appropriate timing is timing in time for the access time to the memory cells in the subbanks 52A and 52B indicated by the row address.
  • the buffer 38 is a FIFO buffer for transferring the address value indicated by the signal AddCr output from the read control unit 36 to the write control unit 39 as the signal AddCd at an appropriate timing.
  • the appropriate timing is timing synchronized with the timing at which the comparison unit 37 described later outputs the comparison result as the signal Comp.
  • the write control unit 39 receives the comparison result (signal Comp) from the comparison unit 37, and outputs a write instruction (signals WE, AddOw, DatOw) for the bit requiring rewriting to the subbank replacing unit 42.
  • a signal DatOw indicates write target data, and is data indicating the same content as DatO supplied from the buffer 34.
  • the signal WE is a signal indicating whether or not writing is necessary.
  • the signal AddOw indicates a column address value, and is a signal indicating the same content as the address value AddCd given from the buffer 38, but the output timing is synchronized with the signal WE.
  • the output control unit 33 is means for controlling whether or not the data (signal DatC) read from the reading circuit 43 is output to the memory bus 21. More specifically, when the signal R / W supplied from the instruction interpretation unit 31 is active (high state), the data supplied from the read circuit 43 is not output to the memory bus 21. Conversely, when the signal R / W supplied from the instruction interpretation unit 31 is inactive (Low state), the data supplied from the read circuit 43 is output to the memory bus 21. In other words, when the command given from the memory access control unit 20 is "W”, the data given from the reading circuit 43 is not output to the memory bus 21, and when the command is "R", Data given from read circuit 43 is output to memory bus 21. The output of data from the read out circuit 43 to DatC is indicated by the signal DE becoming active (high).
  • the subbank switching unit 42 switches between writing and reading to the subbanks 52A and 52B. Specifically, when the signal SBSel supplied from the read / write switching control unit 41 is "Low”, the subbank switching unit 42 instructs the subbank 52A to read data and to write data to the subbank 52B. When SBSel is "High”, the subbank 52B is instructed to read and write to the subbank 52A. At this time, the read is performed based on the signals RE and AddCr from the read control unit 36, and the write is performed based on the signals WE, AddOw and DatOw from the write control unit 39.
  • the subbank switching unit 42 gives a read instruction only when the signal RE supplied from the read control unit 36 is "High". Then, as described above, which of the subbank 52A and the subbank 52B is to be read out is determined by the value of the signal SBSel supplied from the read / write switching control unit 41. That is, when the signal SBSel is "Low", the read instruction is issued to the column decoder 51A, whereby the data recorded in the subbank 52A is read by the read circuit 43, and conversely, the signal SBSel is "High". In the case of “1”, the data recorded in the subbank 52B is read out by issuing a read instruction to the column decoder 51B. At this time, the memory cell corresponding to the address designated by the signal AddCr supplied from the read control unit 36 is read.
  • the subbank switching unit 42 gives a write instruction only to the bit “High” in the signal WE supplied from the write control unit 39, and the write operation to the bit is executed. Then, as described above, which of the subbank 52A and the subbank 52B is to be written is determined according to the value of the signal SBSe supplied from the read / write switching control unit 41. That is, when the signal SBSel is "Low", data is written to the subbank 52B by issuing a write instruction to the column decoder 51B, and conversely, when the signal SBSel is "High". Data is written to the subbank 52A by issuing a write instruction to the column decoder 51A. At this time, the write target data specified by the signal DatOw supplied from the write control unit 39 is written to the memory cell corresponding to the address specified by the signal AddOw supplied from the write control unit 39.
  • Row decoder 53 switches control on subbank 52A and subbank 52B according to the value of signal SBSe applied from read / write switching control unit 41. That is, when the signal SBSEL is "Low”, the subbank 52A is read, control is performed for the subbank 52B for writing, and when "High”, the subbank 52A is written, the subbank 52B Control for reading out.
  • FIG. 4 is a timing chart showing the procedure of the burst write process to the nonvolatile semiconductor memory device (memory) according to this embodiment.
  • the clock synchronous memory has a burst length of four.
  • the symbols t1 to t20 described at the top of FIG. 4 indicate the time of rise of the clock.
  • the latency from the command input to the read / write to the subbank is a design matter and is not an element limited by FIG.
  • the instruction interpretation unit 31 When a row address designation command “A” and a row address “R1” are given to the memory control unit 30 (time t2), the instruction interpretation unit 31 having received the command “A” receives appropriate timing (for example, t3 to t4). At the same time, the command “A” is sent to the row address buffer 35 by the signal ComC. The row address “R1” is once taken into the buffer 32, and then output to the row address buffer 35 and the read control unit 36 as the signal AddC in synchronization with the output of the command “A” as the signal ComC. . The row address buffer 35 holds the row address “R1” input as the signal AddC in an internal buffer using the command “A” input as the signal ComC as a trigger.
  • the command interpretation unit 31 having received the command "W” receives appropriate timing (for example, t5 to t6).
  • the command “R” is output as the signal ComC to the read control unit 36 and the read / write switching control unit 41.
  • the address “C1” is once held in the buffer 32, and then is output to the read control unit 36 as the signal AddC in synchronization with the command “R” being output from the command interpretation unit 31 as the signal ComC. .
  • the read control unit 36 holds the address “C1” input as the signal AddC in an internal buffer using the command “R” input as the signal ComC as a trigger.
  • the instruction interpretation unit 31 sets the signal R / W to the “High” level at an appropriate timing.
  • the signal R / W is set to the “High” level with the timing at which the instruction interpretation unit 31 outputs the command “R” to the signal ComC as a trigger.
  • the read control unit 36 outputs a continuous address value corresponding to the burst length as a signal AddCr to the subbank replacing unit 42 each time it receives the command “R” once.
  • the burst length is four, four consecutive address values are output from the read control unit 36 to the subbank replacing unit 42 as the signal AddCr. That is, as a result of receiving the “R” command between t5 and t6, the read control unit 36 receives addresses “C1”, “C1 + 1”, “C1 + 2”, “c1”, and the like between t6 and t10. "C1 + 3" is output as the signal AddCr. Also, while outputting this address, the read control unit 36 outputs the signal RE of “High” level.
  • the memory control unit 30 receives an input of write target data at the same time as the “W” command is input (time t4).
  • time t4 since the burst length is 4, four write target data (D0, D1, D2, D3) are input for one "W" command (time t4 to t7).
  • the input write target data is temporarily held in the buffer 34 until the comparison unit 37 compares with the already written data read from the subbank 52A or 52B after time t8.
  • the row address buffer 35 supplies the row signal “R1” indicating the row address “R1” to the row decoder 53. Address line is activated.
  • the row address line may be made active at a timing earlier than time t7, but if similar accesses continue, the above timing may shorten the access interval.
  • the subbank switching unit 42 After time t7, based on the signal RE (corresponding to a read trigger signal) and the signal AddCr (corresponding to a read designation address signal) supplied from the read control unit 36, the subbank switching unit 42 receives the column decoders 51A and 51B. , And read processing to the subbanks 52A and 52B.
  • the subbank interchanging unit 42 distributes the sub-banks to be read to the subbanks 52A and 52B according to the value (High / Low) of the signal SBSeel input from the read / write switching control unit 41. By the processing of the subbank switching unit 42, reading processing is performed alternately from the subbanks 52A and 52B.
  • the subbank switching unit 42 instructs the column decoder 51A to read, and the read circuit 43 reads the already written data from the subbank 52A.
  • the subbank switching unit 42 instructs the column decoder 51B to read data, whereby the read circuit 43 reads the already written data from the subbank 52B.
  • successive addresses are alternately assigned to the subbank 52A and the subbank 52B, so the addresses C1 and C1 + 2 exist in the same subbank, and the addresses C1 + 1 and C1 + 3 are in the same another subbank. It will be present within.
  • addresses C1 and C1 + 2 exist in subbank 52A, and addresses C1 + 1 and C1 + 3 exist in subbank 52B.
  • the signal RWA is a signal indicating whether read or write
  • the signal ADA is a signal indicating a column address to which writing is to be performed
  • the signal DWA is a signal indicating data to be written (data to be written)
  • the signal WEA is data. It is a signal indicating whether to write or not.
  • the signal WEA as described herein, there may be no case where there is only one bit of data for one address, but as will be described later, if the data is multiple bits, It plays the role of indicating which bit to write.
  • the signal DRA is a signal indicating already written data read from the subbank 52A, and is output from the column decoder 51A to the subbank replacing unit 42.
  • the signal DRA is a weak signal before amplification, and thereafter, the signal DRA is amplified by the read circuit 43 and output as the written data DatC.
  • the column decoder 51A applies a voltage for reading the already written data stored in the address designated by the signal ADA, and the already written data is the signal DRA as a subbank switching unit It is output to 42. Further, when the signal RWA is “W”, the column decoder 51A applies a voltage to write the write target data input as the signal DWA at the address specified by the signal ADA. At this time, whether or not to write is determined by the signal WEA. For example, when the signal DWA (write data) has an 8-bit width, if the signal WEA has a value of "00000001", only the least significant bit of the signal DWA is a bit to be written, and the remaining 7 bits are written It is a bit that does not do.
  • the signals RWB, WEB, ADB, DWB, and DRB are also exchanged between the subbank switching unit 42 and the column decoder 51B, similarly to the column decoder 51A.
  • the signal RWB is a signal indicating whether read or write
  • the signal ADB is a signal indicating a column address to be written
  • the signal DWB is a signal indicating data to be written (data to be written)
  • the signal WEB is data It is a signal indicating whether to write or not.
  • the signal WEB may not be present if there is only one bit of data for one address, as described herein, but as will be described later, the data has multiple bits. In some cases, it is responsible for indicating which bit to write.
  • Signal DRB is a signal indicating already written data read from subbank 52B, and is output from column decoder 51B to subbank replacement unit 42.
  • the signal DRB is a weak signal before amplification, and thereafter, the signal DRB is amplified by the read circuit 43 and output as the written data DatC.
  • the column decoders 51A and 51B are blocks having the same function.
  • the subbank switching unit 42 gives a read instruction to the column decoder 51A or 51B.
  • the column decoder 51A is instructed to read the data written in the memory cell corresponding to the address C1 designated by the signal AddCr.
  • the row address designated by the row decoder 53 (row address R1 designated by the signal Row) is active.
  • the column decoder 51A sends the written data of the memory cell corresponding to the address C1 from the subbank 52A to the subbank switching unit 42 as the signal DRA.
  • sub-bank replacing unit 42 instructs column decoder 51B to write the written data of the memory cell corresponding to address C1 + 1 designated by signal AddCr. Give a read instruction.
  • the row address designated by the row decoder 53 (row address R1 designated by the signal Row) is active.
  • the column decoder 51B sends the written data of the memory cell corresponding to the address C1 + 1 from the subbank 52B to the subbank replacing unit 42 as the signal DRB.
  • column decoder 51A sends the written data of the memory cell corresponding to address C1 + 2 from subbank 52A to subbank exchange unit 42 as signal DRA in the same procedure from time t9 to t10. Also, from time t10 to time t10, column decoder 51B sends the previously written data of the memory cell corresponding to address C1 + 3 from subbank 52B to subbank exchange unit 42 as signal DRB.
  • the comparison unit 37 When the signal R / W supplied from the instruction interpretation unit 31 is “High”, the comparison unit 37 writes the already-written data indicated by the signal DatC provided from the read circuit 43 and the write indicated by the signal DatO provided from the buffer 34. The comparison with the target data is performed, and the comparison result is output to the writing control unit 39 as a signal Comp.
  • the read data (Q0 to Q3) merged by the subbank replacing unit 42 is output from the reading circuit 43 to the comparison unit 37 as the signal DatC from time t8 to t12. While data is output from the signal DatC, the signal DE is active (High). That is, it can be recognized that data is output from the signal DatC by the signal DE. Further, the signal DE is input to the buffer 34, whereby the write target data DatO is input from the buffer 34 to the comparison unit 37 in synchronization with the timing when the signal DatC is input to the comparison unit 37 (t8 to t t12). The signal DE is also input to the comparison unit 37.
  • the comparison unit 37 When the signal DE is active, the comparison unit 37 performs a comparison operation on the write target data DatO and the written data DatC, and outputs the comparison result as a signal Comp. That is, between time t8 and t9, the already written data “Q0” is compared with the data to be written “D0”, and data “G0” indicating the result is output to the writing control unit 39.
  • comparison unit 37 compares the result of comparison between already written data DatC (Q0 to Q3) and write target data DatO (D0 to D3) over time t8 to t12 as signal Comp (G0 to G3).
  • the write control unit 39 controls the sub bank replacing unit 42 to write data based on the data of the signal Comp input from the comparing unit 37. Specifically, at the address held in the buffer 38, an instruction to write the bit designated from the comparison unit 37 out of the write target data held in the buffer 34 is issued. At this time, the write control unit 39 designates an address to the subbank replacing unit 43 by the signal AddOw, designates a write bit by the signal WE, and designates data to be written by the signal DatOw (between time t9 to t13). Note that the signal WE indicating the write bit is generated based on the signal Comp supplied from the comparison unit 37, and as described later, when the data is multi-bit, the comparison result of the write data and the write target data is different. Only bits are designated as write bits.
  • the subbank switching unit 42 When the subbank switching unit 42 receives the data write instruction from the write control unit 39, the subbank switching unit 42 issues a write instruction to the column decoders 51A and 51B (between times t10 and t14). At this time, while read processing is being performed on one column decoder, a write instruction is given to another column decoder. More specifically, for example, a write instruction is given to the column decoder 51A between times t10 and t11, and a write instruction is given to the column decoder 51B between times t11 and t12. Thus, the write instruction is given to the column decoder 51A during the time t10 to t11 when the read instruction is given to the column decoder 51B. Further, the write instruction is given to the column decoder 51B during the time t11 to t12 when the read instruction is given to the column decoder 51A.
  • the write target data (D0 to D3) corresponding to the "W" command input at time t4 is completely written in each subbank between time t10 to t14 (or the same already written data is It is used as it is).
  • the same processing as described above is performed on the write target data (D4 to D7) corresponding to the "W" command input at time t8.
  • writing of data D4 to subbank 51A is performed between times t14 and t15. That is, even when the write command "W" is continuously input to the memory control unit 30 (at intervals of the burst length), there is no time lag in writing, which does not cause the writing speed to be delayed. .
  • the instruction interpretation unit 31 When a row address designation command “A” and a row address “R1” are given to the memory control unit 30 (time t2), the instruction interpretation unit 31 having received the command “A” is appropriate as in the case of the write operation. At appropriate timing (for example, between t3 and t4), the command “A” is sent to the row address buffer 35 as the signal ComC.
  • the row address “R1” is once taken into the buffer 32, and then output to the row address buffer 35 and the read control unit 36 as the signal AddC in synchronization with the output of the command “A” as the signal ComC. .
  • the row address buffer 35 holds the row address “R1” input as the signal AddC in an internal buffer using the command “A” input as the signal ComC as a trigger.
  • the instruction interpretation unit 31 having received the command “R” performs appropriate timing (for example, t5 to t6).
  • the command “R” is output as the signal ComC to the read control unit 36 and the read / write switching control unit 41.
  • the address “C1” is once held in the buffer 32, and then output to the read control unit 36 as the signal AddC in synchronization with the output of the command “R” as the signal ComC.
  • the read control unit 36 holds the address “C1” input as the signal AddC in an internal buffer using the command “R” input as the signal ComC as a trigger.
  • the command interpretation unit 31 outputs the signal R / W at the “Low” level unlike the time of writing.
  • the signal R / W may be maintained at the “Low” level until the write command “W” is input to the instruction interpretation unit 31.
  • the read control unit 36 outputs a continuous address value corresponding to the burst length as a signal AddCr to the subbank replacing unit 42 each time it receives a command "R". Assuming that the burst length is 4 similarly to the writing time, addresses "C1", “C1 + 1", “C1 + 2", and “C1 + 3" for the "R" command received between t5 and t6, between time t6 and t10. Output While outputting this address, the read control unit 36 outputs the signal RE of “High” level.
  • the sub-bank replacing unit 42 based on the signal RE (corresponding to a read trigger signal) given from the read control unit 36 and the signal AddCr (corresponding to a read designated address signal).
  • the read processing to the subbanks 52A and 52B is started via the column decoders 51A and 51B.
  • the subbank interchanging unit 42 distributes the read target subbanks between the subbanks 52A and 52B according to the value (High / Low) of the signal SBSeel input from the read / write switching control unit 41, thereby alternately reading out from the respective subbanks 52A and 52B. Processing is performed.
  • the read data is given to the reading circuit 43 through the subbank replacing unit 42, and after being subjected to amplification processing here, is sent to the output control unit 33 as a signal DatC (time t8 to t12).
  • the output of data from the signal DatC is indicated by the signal DE becoming active (High).
  • the output control unit 33 recognizes that the input signal R / W is at the “Low” level, and sends the input signal DatC to the memory bus 21.
  • the comparing unit 37 recognizes that the input signal R / W is at the “Low” level, the comparing unit 37 does not execute the comparison process. Note that since the read processing is performed, naturally the write target data is not input, so that the signal DatO is not input to the comparison unit 37.
  • the write voltage can be applied to the other sub-bank to perform the write process. Therefore, no time lag occurs in the writing process. Therefore, the memory cell can be extended without prolonging the time required for the writing process in the conventional method.
  • the present invention can be easily applied to an RRAM which can be written (rewritten) in bit units.
  • even-numbered addresses are allocated to the subbank 52A and odd-numbered addresses are allocated to the sub-bank 52B. Furthermore, it is not necessary to alternately assign an address between the subbanks for each successive one address, and it is also possible to assign an address so that the subbanks alternate for every plural addresses, such as every two addresses or every four addresses. good. In this case, the number of the plurality of addresses may be a divisor of the burst length. The same applies to the following second embodiment.
  • each signal level is “High” or “Low” is an example, and this level may be inverted.
  • this level may be inverted.
  • the signal SBSEL is "Low”
  • an instruction to read from the subbank 52B and write to the subbank 52A is given, and conversely, when the signal SBSEL is "High”, read from the subbank 52A is An instruction to perform writing may be given to 52B.
  • the configuration shown in FIG. 2 has row decoders, column decoders A, column decoders B, subbanks A, and subbanks B in place of the decoder unit (row decoder 53 and column decoders 51A and 51B) and subbanks 52A and 52B in FIG. J sets of set units (hereinafter memory units) are provided.
  • reference numerals 52A0, 52A1, 52A2, 52A3, 52B0, 52B1, 52B2, 52B3 denote subbanks
  • 51A0, 51A1, 51A2, 51A3, 51B0, 51B1, 51B2, 51B2 denote column decoders
  • reference numerals 530, 531, and 53B Reference numerals 532 and 533 denote row decoders, respectively.
  • Each subbank 52A0, 52A1, 52A2, 52A3 is referred to as a subbank A
  • each subbank 52B0, 52B1, 52B2, 52B3 is referred to as a subbank B.
  • column decoders 51A0, 51A1, 51A2, 51A3 are referred to as a column decoder A
  • column decoders 51B0, 51B1, 51B2, 51B2 are referred to as a column decoder B.
  • reference numerals 501, 502, 503, and 504 denote memory units in which the subbanks A and B are paired.
  • a signal to be multibited in the memory control unit 30 of FIG. 1 will be mentioned.
  • the bit width of the data bus is multibitized to j bits.
  • the control signal is also multibited into j bits.
  • the data connected to the memory bus 21, the output signal DatO of the buffer 34, the DatC output from the read circuit 43, the output Comp of the comparison unit 37 which is the result of comparing DatO and DatC, and the write control unit 39 Output DatOw and its write enable WE, output (write) data DWA and DWB from the subbank switching unit 42 and each write enable WEA and WEB, and input (read) data DRA and DRB from the subbank switching unit 42 are multibited. .
  • the respective bits Comp, WE, WEA and WEB correspond to the corresponding data DatO and DatC, DatOw, DWA and DWB. That is, the least significant bit of Comp indicates the comparison result of the least significant bits of DatO and DatC, and the most significant bit of WEA indicates write enable of the most significant bit of DatOw.
  • the signal lines Row and SBSe (signal lines through which the signals Row and SBsel flow) are connected to all the 1st to j-th row decoders. This means that switching control of row address and reading / writing is performed based on the same signal, that is, between each memory unit.
  • the read / write command RWA, write enable WEA [k], column address ADA, write data DWA [k], read data DRA [k] Signal lines for flowing each data are connected.
  • the column decoder B is also similar to the column decoder A. That is, the 1st to jth memory units respectively correspond to the 1st to jth bits of each data and data control line.
  • the RRAM constituting each memory cell has a configuration as shown in FIG. 15, and a voltage is applied to both ends with a polarity from the lower electrode 103 toward the upper electrode 101 to transit to a low resistance state, It is assumed that the voltage has a property of transitioning to a high resistance state when a voltage of polarity is applied.
  • a bit line is connected to the upper electrode 101, and a source line is connected to the lower electrode 103.
  • the row decoder 53 applies +2 V to the word line (selected word line) connected to the memory cell (selected memory cell) to select a word line other than the selected word line (non-selected). 0 V is applied to the selected word line). Then, 0 V is applied to the source line S. Furthermore, the column decoder (51A, 52A) applies +2 V to the bit line (selected bit line) connected to the selected memory cell, and applies 0 V to bit lines (non-selected bit lines) other than the selected bit line. .
  • variable resistive element R configuring the selected memory cell (while the lower electrode is grounded), the variable resistive element R is in a low resistance state. It transitions and data is written by this. On the other hand, since no voltage is applied to the variable resistive element R of the non-selected cell, data is not written (no data fluctuation).
  • the voltage applied to the selected word line is +2 V in the above description, this value is an example, and in fact, it is a voltage (so-called threshold voltage of a transistor) or more sufficient for the selection transistor to conduct. good.
  • the voltage applied to the selected bit line is +2 V in the above description, this value is an example, and in fact, the resistance state of the variable resistive element is transitioned by the potential difference with the voltage applied to the source line. It is sufficient if the voltage (threshold voltage of switching operation) or more is sufficient for
  • the polarity of the voltage applied to both ends of the variable resistive element in the memory cell to be erased may be reversed with respect to that at the writing. That is, as in the write operation, the row decoder (51A, 52A) applies 0 V to the selected bit line and +2 V to the non-selected bit line, and applies +2 V to the source line S in order to make the selected transistor conductive. As a result, a voltage of positive polarity is applied to the lower electrode of the variable resistive element R forming the selected memory cell (while the upper electrode is grounded), the variable resistive element R transitions to the high resistance state, This erases the data. On the other hand, since no voltage is applied to the variable resistive element R of the non-selected cell, the data is not erased (the data does not change).
  • the row decoder 53 applies +2 V to the selected word line connected to the selected memory cell, and applies 0 V to unselected word lines other than the selected word line. Then, 0 V is applied to the source line S. Furthermore, the column decoder (51A, 52A) applies +1 V to the bit line (selected bit line) connected to the selected memory cell, and applies 0 V to bit lines (non-selected bit lines) other than the selected bit line. . As a result, in a state where the select transistor connected to the selected memory cell is conductive, a read voltage 1 V is applied between the bit line and the source line.
  • the current (read current) flowing through the selected bit line is detected and amplified by the read circuit 43 to be converted into a voltage signal and output as a signal DatC to the comparison unit 37 or the output control unit 33.
  • the read current is small, and conversely, when the variable resistance element is in the low resistance state, the read current is large.
  • the resistance state of the variable resistive element in the read target memory cell can be detected. That is, when the signal DatC is small, the target memory cell is in the high resistance state, that is, the “erased state”. Conversely, when the signal DatC is large, the target memory cell is in the low resistance state, that is, the “write state”. It is recognized that
  • the voltage applied to the selected word line is +2 V in the above description, this value is an example, and a voltage sufficient to cause the select transistor to be conductive (a so-called threshold of the transistor) It is good if it is more than voltage).
  • the voltage applied to the selected bit line is +1 V in the above description, this value is an example, and in fact, the resistance state of the variable resistive element can be detected by the potential difference with the voltage applied to the source line. And a voltage within a range in which the same resistance state does not change (within a range in which the rewrite operation does not occur).
  • FIG. 6 is a schematic cross-sectional view of such a memory cell.
  • FIG. 6 is a conceptual view, and the dimensional ratio in the drawing and the actual dimensional ratio do not necessarily coincide.
  • the selection transistor T is formed on the semiconductor substrate 60. That is, on the semiconductor substrate 60 in which the element isolation region 61 is formed, the selection transistor T including the gate insulating film 62, the gate electrode 63, the drain diffusion region 64 and the source diffusion region 65 is formed. At this time, although not shown, peripheral circuits (the memory control unit 30 and the like described above) other than the memory cells are formed together.
  • an interlayer insulating film 66 made of BPSG (Boron Phosphorous Silicate Glass) is formed, and a contact hole 67 reaching the drain region 64 of the selection transistor T is opened by a known photolithography method and dry etching method. Then, a contact plug is formed in which only the inside of the contact hole 67 is embedded with a conductive metal material such as W by a known method.
  • BPSG Bipolar Phosphorous Silicate Glass
  • TiN / Ti is deposited by sputtering as an ohmic contact layer 68 for stably securing the electrical connection between the conductive contact plug embedded in the contact hole 67 and the lower electrode 69 forming the variable resistive element R.
  • the film is formed with a thickness of 100 nm / 50 nm.
  • a TiN film is formed in a film thickness of 200 nm on the ohmic contact layer 68 to form the lower electrode 69.
  • titanium oxide to be the variable resistor film 70 is formed on the lower electrode (TiN film) 69 with a film thickness of 5 to 50 nm by a DC magnetron sputtering method or a CVD method.
  • a TiN film having a thickness of 100 nm is formed as the upper electrode 71.
  • the upper electrode 71, the variable resistor film 70, and the lower electrode 69 are sequentially processed by a known photolithography method and a dry etching method to complete the variable resistor element R.
  • variable resistor film 70 is not limited to a titanium oxide film, and may be used also for oxides of transition metal elements such as cobalt oxide, nickel oxide, zinc oxide and niobium oxide. In addition, after the transition metal is formed, the variable resistor film 70 may be formed by performing an oxidation process.
  • the upper electrode and the lower electrode are both formed of TiN (titanium nitride film), the electrode material is not limited to titanium nitride, and Ta, Pt, Ir, Os, Ru, Rh, Pd, Al Other metal materials such as, W can also be used.
  • the interlayer insulating film 72 is formed on the variable resistive element R to a film thickness of 50 to 60 nm, and a contact hole connected to the variable resistive element R (upper electrode 71) A contact hole 73 connected to the source diffusion region 65 of the selection transistor 74 and the selection transistor T is opened.
  • a film of TiN / Al-Si / TiN / Ti is formed as a wiring material, and processed by a known photolithography method and a dry etching method to form a wiring 75 and a wiring 76.
  • an interlayer insulating film 77 is formed, and a contact hole (not shown) reaching the interconnection 75 or the interconnection 76 is formed, and then TiN / Al-Si / TiN / Ti is deposited to form a known photolithography method. Processing is performed by dry etching to form a wiring 78 (a processing pattern is not shown). Finally, a SiN film is formed as a surface protection film 79 by plasma CVD, and a semiconductor memory device having a variable resistance element R and a selection transistor T in the memory cell is completed.
  • the configuration of the memory cell is not limited to the 1T1R type.
  • a memory cell configuration in which the bit line and the word line are directly connected to the upper electrode or the lower electrode, respectively, and the data of the variable resistor at the intersection point (cross point) between both electrodes is read directly A cross point type (1R type) memory cell can also be used.
  • a variable resistance element R and a diode may be connected in series to form a 1D1R configuration memory cell.
  • the diode generally has a structure in which the variable resistor is connected in series outside the upper electrode or the lower electrode, but the diode may be connected between the variable resistor and the upper electrode, or the variable resistor and the lower electrode It is good also as a structure arranged between.
  • a material exhibiting PN diode characteristics or Schottky diode characteristics, or a varistor such as ZnO or Bi 2 O 3 is used.
  • the present embodiment is different from the first embodiment only in the processing procedures of writing and reading, and the constituent elements thereof are the same as those of the first embodiment (FIG. 1).
  • FIG. 1 first embodiment
  • FIG. 2 first embodiment
  • the present embodiment differs from the first embodiment in that a prefetch technique is used at the time of write and read processing.
  • Prefetching is a technology used in high-speed memories such as double-data-rate synchronous dynamic random access memory (DDRSDRAM) in view of the recent demand for faster read / write speeds.
  • Data is read from the memory cell in parallel once into a buffer, rearranged in a single row, and output to the outside of the memory for high speed.
  • the data string input to the memory is once taken into a buffer This is a technique for achieving high speed by writing in a plurality of memory cells in parallel.
  • FIG. 7 is a timing chart showing the procedure of the burst write process to the nonvolatile semiconductor memory device (memory) according to the present embodiment.
  • the clock synchronous memory has a burst length of four.
  • 2-bit prefetch is applied unlike the case of FIG.
  • the command interpretation unit 31 having received the command "W” receives appropriate timing (for example, t5 to t6).
  • the command “R” is output as the signal ComC to the read control unit 36 and the read / write switching control unit 41.
  • the address “C1” is once held in the buffer 32, and then output to the read control unit 36 as the signal AddC in synchronization with the output of the command “R” as the signal ComC.
  • the read control unit 36 holds the address “C1” input as the signal AddC in an internal buffer using the command “R” input as the signal ComC as a trigger.
  • the instruction interpretation unit 31 sets the signal R / W to the “High” level at an appropriate timing.
  • the read control unit 36 outputs a continuous address value corresponding to the burst length (four times in this case) as the signal AddCr to the subbank replacing unit 42 each time the command “R” is received once.
  • an address is designated every 2 bits and the signal AddCr is output. Specifically, for the command "R” received between t5 and t6, the address “C1” is output between time t6 and t7, and the address "C1 + 2" is output between time t8 and t9.
  • the read control unit 36 outputs “High” while outputting this address (time t6 to t7, t8 to t9) and immediately after that for one cycle (time t7 to t8, t9 to t10). And outputs the signal RE at the '' level to the subbank replacing unit 42.
  • This is based on the premise that in the present embodiment, it takes 2 cycles to read data from the sub-bank (that 2-bit prefetch is applied), it is necessary to set the access to the sub-bank itself as a 2-cycle cycle. There is also a need to make the read / write switch a two cycle cycle. Therefore, the signal RE for read / write switching control is also a signal that switches in a two cycle cycle. By the way, when 4-bit prefetch is applied, it may be a 4-cycle cycle.
  • the memory control unit 30 also starts input of write target data at the same time as the “W” command is input (time t4).
  • time t4 since the burst length is 4, four write target data (D0, D1, D2, D3) are input for one "W" command (time t4 to t7).
  • the input write target data is temporarily accumulated in buffer 34 until time t9 is compared with the already written data read from subbank 52A or 52B in comparison unit 37.
  • row address buffer 35 transmits row decoder 53 a signal Row indicating row address "R1". And activate the row address line.
  • the row address line may be made active earlier than time t7.
  • the subbank switching unit 42 After time t7, based on the signal RE (corresponding to a read trigger signal) and the signal AddCr (corresponding to a read designation address signal) supplied from the read control unit 36, the subbank switching unit 42 receives the column decoders 51A and 51B. , And read processing to the subbanks 52A and 52B.
  • the subbank switching unit 42 instructs the column decoder 51A to read when the signal SBSel input from the read / write switching control unit 41 is "Low", and to the column decoder 51B when the signal SBSel is "High”. Read instruction is issued. That is, subbank interchanging unit 42 interchanges subbanks to be read out between 52A and 52B according to signal SBSel.
  • the switching timing of the read target subbank by the signal SBSel also has a two cycle period.
  • two consecutive addresses are allocated to the same subbank, and every two addresses are allocated to different subbanks. That is, the addresses C1 and C1 + 1 will be in the same subbank, while the addresses C1 + 2 and C1 + 3 will be in another subbank.
  • addresses C1 and C1 + 1 exist in subbank 52A
  • addresses C1 + 2 and C1 + 3 exist in subbank 52B.
  • the subbank switching unit 42 gives a read instruction to the column decoder 51A or 51B.
  • the address C1 specified by the signal AddCr and the address (that is, address C1 + 1) continuous to the address C1 are applied to the column decoder 51A.
  • An instruction to read data written to a memory cell is given.
  • the row address designated by the row decoder 53 (row address R1 designated by the signal Row) is active.
  • the column decoder 51A sends the written data of the memory cell corresponding to the addresses C1 and C1 + 1 from the subbank 52A to the subbank switching unit 42 as the signal DRA (data Q0, Q1).
  • the sub-bank replacing unit 42 sends an address C1 + 2 designated by the signal AddCr to the column decoder 51B and an address continuous to the address C1 + 2.
  • An instruction to read the already written data of the memory cell corresponding to (that is, address C1 + 3) is given.
  • the row address designated by the row decoder 53 is active (row address R1 designated by the signal Row).
  • the column decoder 51B sends the written data of the memory cell corresponding to the addresses C1 + 2 and C1 + 3 from the subbank 52B to the subbank switching unit 42 as the signal DRB (data Q2, Q3).
  • the read data (Q0 to Q1) merged by the subbank replacing unit 42 is amplified by the read circuit 43 and then output as the signal DatC to the comparing unit 37.
  • the read data (Q2 to Q3) merged by the subbank replacement unit 42 between times t11 and t12 are amplified by the read circuit 43 and then output to the comparison unit 37 as a signal DatC.
  • the output of data from the signal DatC is indicated by the signal DE becoming active (high).
  • comparison unit 37 When the signal R / W supplied from the instruction interpretation unit 31 is “High”, the comparison unit 37 performs comparison operation if the signal DE is active. At this time, the signal Dat is compared with the write target data DatO output from the buffer 34 using the signal DE as a trigger. Specifically, comparison unit 37 compares write target data D0 to D1 with data Q0 to Q1 read from subbank 52A during times t9 to t10, and sets the result as data G0 to G1. Output to 39 (signal Comp). Similarly, comparison unit 37 compares write target data D2 to D3 with Q2 to Q3 read from subbank 52B during time t11 to t12, and sets the result as data G2 to G3 in write control unit 39. Output (signal Comp).
  • the write control unit 39 controls the sub bank replacing unit 42 to write data based on the data of the signal Comp input from the comparing unit 37. Specifically, at the address held in the buffer 38, an instruction to write the bit designated from the comparison unit 37 out of the write target data held in the buffer 34 is issued. At this time, the write control unit 39 designates an address to the subbank switching unit 42 by the signal AddOw, designates a write bit by the signal WE, and designates data to be written by the signal DatOw (during time t10 to t11, t12). Between t13). Note that the signal WE indicating the write bit is generated based on the signal Comp supplied from the comparison unit 37, and only a bit whose comparison result between the written data and the write target data is different is designated as the write bit.
  • the subbank switching unit 42 When the subbank switching unit 42 receives the data write instruction from the write control unit 39, the subbank switching unit 42 issues a write instruction to the column decoders 51A and 51B (between times t13 and t17). At this time, while read processing is being performed on one column decoder, a write instruction is given to another column decoder. More specifically, for example, a write instruction is given to the column decoder 51A between times t13 and t15, and a write instruction is given to the column decoder 51B between times t15 and t17. Thus, the write instruction is given to the column decoder 51A during the period from time t13 to t15 when the read instruction is given to the column decoder 51B. Further, the write instruction is given to the column decoder 51B during the time t15 to t17 when the read instruction is given to the column decoder 51A.
  • the signals DWA and DWB are partially shown by broken lines. Since this embodiment is a method that requires two cycles for writing to each memory cell, it indicates that the writing process is performed continuously from one cycle before, and the writing process is completed at this second cycle. is there.
  • the sub bank replacing unit 42 since access to the subbank is performed by repeating the read cycle 2 cycle and the write cycle 2 cycle, after the write control unit 39 outputs the write instruction, the sub bank replacing unit 42 outputs the column decoders 51A and 51B. Two cycles of timing adjustment time are required to issue a write instruction (see timing of signals RWA and RWB in FIG. 7). The timing adjustment and buffering required for this may also be performed in the subbank replacement unit 42.
  • the write target data (D0 to D3) corresponding to the "W" command input at time t4 is completely written in each subbank between time t13 and t17 (or the same already written data is It is used as it is).
  • the same processing as described above is performed on the write target data (D4 to D7) corresponding to the "W" command input at time t8.
  • writing of data D4 and D5 to subbank 51A is performed between times t17 and t19.
  • the instruction interpretation unit 31 When a row address designation command “A” and a row address “R1” are given to the memory control unit 30 (time t2), the instruction interpretation unit 31 having received the command “A” is appropriate as in the case of the write operation. At appropriate timing (for example, between t3 and t4), the command “A” is sent to the row address buffer 35 as the signal ComC.
  • the row address “R1” is once taken into the buffer 32, and then output to the row address buffer 35 and the read control unit 36 as the signal AddC in synchronization with the output of the command “A” as the signal ComC. .
  • the row address buffer 35 holds the row address “R1” input as the signal AddC in an internal buffer using the command “A” input as the signal ComC as a trigger.
  • the instruction interpretation unit 31 having received the command “R” performs appropriate timing (for example, t5 to t6).
  • the command “R” is output as the signal ComC to the read control unit 36 and the read / write switching control unit 41.
  • the address “C1” is once held in the buffer 32, and then output to the read control unit 36 as the signal AddC in synchronization with the output of the command “R” as the signal ComC.
  • the read control unit 36 holds the address “C1” input as the signal AddC in an internal buffer using the command “R” input as the signal ComC as a trigger.
  • the command interpretation unit 31 outputs the signal R / W at the “Low” level unlike the time of writing. For example, “Low” may be maintained as the signal R / W until the write command “W” is input to the instruction interpretation unit 31.
  • the read control unit 36 outputs a continuous address value corresponding to the burst length as a signal AddCr to the subbank replacing unit 42 each time it receives a command "R".
  • a command "R" since 2-bit prefetch is adopted, an address is designated every 2 bits and the signal AddCr is output.
  • the address "C1” is output between time t6 and t7, and the address "C1 + 2" is output between time t8 and t9.
  • the read control unit 36 outputs “High” while outputting this address (time t6 to t7, t8 to t9) and immediately after that for one cycle (time t7 to t8, t9 to t10). And outputs the signal RE at the '' level to the subbank replacing unit 42.
  • the sub-bank replacing unit 42 based on the signal RE (corresponding to a read trigger signal) given from the read control unit 36 and the signal AddCr (corresponding to a read designated address signal).
  • the read processing to the subbanks 52A and 52B is started via the column decoders 51A and 52B.
  • the subbank interchanging unit 42 distributes the read target subbanks between the subbanks 52A and 52B according to the value (High / Low) of the signal SBSeel input from the read / write switching control unit 41, thereby alternately reading out from the respective subbanks 52A and 52B. Processing is performed.
  • the read data (Q0 to Q1) is applied to the readout circuit 43 through the subbank switching unit 42, amplified here, and then sent to the output control unit 33 as a signal DatC (time t9 to t12).
  • the output of data from the signal DatC is indicated by the signal DE becoming active (high).
  • the output control unit 33 recognizes that the input signal R / W is at the “Low” level, and sends the input signal DatC to the memory bus 21 when the signal DE is active.
  • two data are sent from the read circuit 43 to the output control unit 33 as the signal DatC.
  • two data may be output as the signal DatC using a time of two cycles, or one data may be sequentially read every cycle (the latter in FIG. 8).
  • data Q0 can be output as signal DatC between times t9 and t10
  • data Q0 can be output as signal DatC between times t10 and t11.
  • the output control unit 33 is configured to be able to buffer the data indicated by the signal DatC for one cycle time.
  • the data (Q1 to Q3) of the memory cell corresponding to the addresses C1 to C1 + 3 are read out over time t10 to t14.
  • writing / reading can be performed by the same method also in a memory to which more multi-bit prefetch is applied.
  • the writing command “W” when the write command “W” is given, the reading of the written data from the memory cell to be written is performed before actually performing the writing process on the memory cell.
  • the write data is compared with the write target data, and the write processing of the write target data is performed on the memory cell only when the comparison result is different. Therefore, as compared with the conventional write process, the number of times the write process is performed by applying the write voltage to the same memory cell is reduced. Thereby, each memory cell can be extended.
  • the present embodiment has a configuration having one subbank (memory cell array) as compared with the first and second embodiments. That is, as in the first and second embodiments, the process of executing write and read in parallel between a plurality of subbanks can not be performed.
  • FIG. 9 is a block diagram showing a conceptual structure of the nonvolatile semiconductor memory device in the present embodiment, and does not include the subbank 52B and the column decoder 51B in comparison with the configuration shown in FIG. That is, since the sub-bank (memory cell array) 52A is independently provided, control to execute reading and writing while switching is unnecessary. Therefore, the read / write switching control unit 41 in FIG. 1 is not provided. Further, since it is not necessary to control the timing of reading and writing, the reading control unit 36 and the writing control unit 39 are also unnecessary. Furthermore, since the operation of replacing a plurality of subbanks is not involved, naturally the subbank replacing unit 42 is not provided.
  • burst read and burst write are not performed, it is not necessary to calculate and expand continuous addresses corresponding to the burst length based on the input one address. Therefore, the read control unit 36 and the buffer 38 are unnecessary.
  • the memory control unit 30 of the non-volatile semiconductor storage device includes the instruction interpretation unit 31, the buffer 32, the output control unit 33, the buffer 34, the row address buffer 35, and the comparison unit 37. ,
  • the read / write control unit 40 internally includes an address buffer 44.
  • the decoder unit (row decoder 53, column decoder 51A) and subbank 52A in FIG. 9 have one bit of data for one address for the sake of description. It is an illustration assuming it. When dealing with multi-bit data, these are configured as shown in FIG. In other words, the configuration of FIG. 9 collectively shows the plurality of memory units and each decoder unit shown in FIG. 10 in one. Note that FIG. 10 has a configuration in which the subbank B and the column decoder B are deleted from FIG. 2 described in the first embodiment, and therefore the description of the connection relationship of each component etc. is omitted to avoid duplication of description. .
  • CPU bus command (write) "CW” CPU bus address "CA1”, and CPU bus data (data to be written) "CD1" are sent from the CPU 10 to the memory access control unit 20, the memory access control unit 20 receives this. Are converted into a format suitable for the memory control unit 30, and are sent to the memory control unit 30 via the memory bus 21.
  • the CPU bus address "CA1" is divided into the upper part “AA1 (row address)” and the lower part “WA1 (column address)", and the command of the memory bus 21 is "AC (row address specification command)"
  • the row address “AA1” is output when “1” is output
  • the “WC (write command)” is output as the command of the memory bus 21
  • the column address “WA1” is output to the address of the memory bus 21.
  • “AC” and “WC” output to the command of the memory bus 21 are applied to the instruction interpreting unit 31, and “AA1” and “WA1” output to the address of the memory bus 21 are applied to the buffer 32.
  • “WC” is output as the command of the memory bus 21
  • “WD 1” is output as the data of the memory bus data 21 and supplied to the buffer 34.
  • the "WD1" has the same value as the "CD1".
  • the command interpretation unit 31 When recognizing that the input command is the row address specification command "AC", the command interpretation unit 31 sends this to the row address buffer 35 as a signal ComC. Since the row address "AA1" is sent from the buffer 32 to the row address buffer 35 as the signal AddC from the buffer 32, the row address buffer 35 is triggered by the row address designation command "AC” to signal the row address "AA1" as the signal Row. It sends to the row decoder 53 as. Row decoder 53 activates a row address designated by this signal Row of subbank 52A.
  • the command interpretation unit 31 sends this as the signal ComC to the read / write control unit 40. Since the column address "WA1" is sent from the buffer 32 to the read / write control unit 40 as the signal AddC in synchronization with this, the read / write control unit 40 uses the "WC” sent as the ComC as a trigger. And stores the "WA1" in the internal address buffer 44.
  • the command interpretation unit 31 makes the signal R / W active (high state) and supplies the signal R / W to the output control unit 33 and the comparison unit 37 as in the first embodiment.
  • the read / write control unit 40 When the read / write control unit 40 receives the write processing instruction by the write command “WC” as described above, after the write address “WA1” is written to the address buffer 44, the read / write control unit 40 receives the write processing via the memory bus 25. A read command “RC” and a read address are output to the column decoder 51A. As the read address value at this time, the write address “WA1” which is given as a signal AddC from the buffer 32 and stored in the address buffer 44 is used.
  • the column decoder 51A receives the read command “RC” and the read address “WA1”, and applies a predetermined voltage to the bit line so that the read voltage is applied to both ends of the memory cell (selected memory cell) corresponding to the address. Apply. A predetermined voltage is applied (activated) to the selected memory cell when the row address "AA1" is given from the row address buffer 35 to the row decoder as the signal Row. Then, the current value flowing through the voltage line connected to the selected memory cell is read by the read circuit 43 via the read / write control unit 40. As a result, the already written data RD1 stored in the selected memory cell is read.
  • the read circuit 43 outputs the written data RD1 to the comparison unit 37 as the signal DatC. Further, a signal DE indicating the output timing of the data RD1 is output to the comparison unit 37. Since the comparison unit 37 detects that the read data RD1 is output from the signal DE because the signal R / W is active (high state), the comparison unit 37 reads the read data RD1 and writes the signal DatO supplied from the buffer 34. The comparison with the target data WD1 is performed. Then, if the comparison result Comp (corresponding to Cmp1 in FIG. 11) does not match, the read / write control unit 40 is instructed to execute the write processing, and the read / write control unit 40 instructs the same memory cell. An instruction to write the write target data WD1 is given. On the other hand, when the comparison result Cmp1 is a match, nothing is performed.
  • the read / write control unit 40 when instructed to execute the write process, the read / write control unit 40 outputs the write command WC1, the write address, and the data to be written to the column decoder 51A via the memory bus 25.
  • the write address the address WA1 given as the signal AddC from the buffer 32 and stored in the address buffer 44 is used
  • the write target data the data WD1 given as the signal DatO from the buffer 34 is used.
  • the buffer 34 is a FIFO buffer, and delays the input write target data for a predetermined period and outputs the delayed data. In the present embodiment, as shown in FIG. 11, since the time interval from the input of data to the buffer 34 to the comparison performed by the comparison unit 37 is constant, it is sufficient to delay using the FIFO. .
  • a write voltage for writing the data to be written is applied to both ends of the memory cell (selected memory cell) corresponding to the address. Apply a predetermined voltage to the bit line. As for the word line and the source line, a predetermined voltage is applied (activated) to the selected memory cell when "AA1" is given from the row address buffer 35 to the row decoder as the signal Row, as in the read process. ing. As described above, the write process is performed on the selected memory cell.
  • the nonvolatile semiconductor memory device of this embodiment receives a new command input.
  • the predetermined time is the shortest time that does not affect the previous command processing. This will be described using FIG. 11 as an example.
  • the signal is input to the row decoder as signal Row until “WC” is input to the command on memory bus 25. Value must remain “AA1”. Therefore, the next command has to be input for a time that satisfies it, that is, the "minimum write time" in FIG.
  • the CPU 10 needs to output each command after having a time longer than the maximum time required for the write process to the memory cell (that is, the time until the write process is completed when the comparison results are different). This can be coped with, for example, by the CPU 10 itself increasing the output interval of the write command.
  • the memory access control unit 20 converts this into a format suitable for the memory control unit 30, and the memory bus 21 to the memory control unit 30.
  • the CPU bus address “CA1” is divided into the upper part “AA1 (row address)” and the lower part “RA1 (column address)”, and the command of the memory bus 21 is “AC (row address specification command) "AA1” is output when outputting ",” and “RA1” is output to the address of the memory bus 21 when outputting "RC (read command)” as a command of the memory bus 21.
  • “AC” and “RC” output to the command of the memory bus 21 are applied to the instruction interpretation unit 31, and “AA1” and “RA1” output to the address of the memory bus 21 are applied to the buffer 32.
  • the command interpretation unit 31 When recognizing that the input command is the row address specification command "AC", the command interpretation unit 31 sends this to the row address buffer 35 as a signal ComC. Since the row address "AA1" is sent from the buffer 32 to the row address buffer 35 as the signal AddC from the buffer 32, the row address buffer 35 is triggered by the row address designation command "AC” to signal the row address "AA1" as the signal Row. It sends to the row decoder 53 as. Row decoder 53 activates a row address designated by this signal Row of subbank 52A.
  • the command interpretation unit 31 sends this as ComC to the read / write control unit 40. Since the column address “RA1” is sent from the buffer 32 to the read / write control unit 40 as the signal AddC in synchronization with this, the read / write control unit 40 sends the “RA1” to the internal address buffer 44 as the ComC. "RC” sent as is stored as a trigger. Furthermore, the instruction interpretation unit 31 gives the R / W signal to the output control unit 33 and the comparison unit 37 as inactive ("Low" state).
  • the read / write control unit 40 outputs the read command RC and the read address to the column decoder 51A via the memory bus 25.
  • the read address value the read address value RA1 which is given from the buffer 32 as the signal AddC and stored in the address buffer 44 is used.
  • the column decoder 51A receives the instruction, the column decoder 51A applies a predetermined voltage to the bit line so that the read voltage is applied to both ends of the memory cell (selected memory cell) corresponding to the read address value RA1.
  • a predetermined voltage is applied (activated) to the selected memory cell when “AA1” is applied from the row address buffer 35 to the row decoder as the signal Row.
  • the current value flowing through the voltage line connected to the selected memory cell is read by the read circuit 43 via the read / write control unit 40. As a result, the already written data RD1 stored in the selected memory cell is read.
  • the read circuit 43 outputs a signal DE indicating the output timing of the data RD1. Since the signal R / W supplied is in the low state, the output control unit 33 accesses the already written data RD1 sent from the reading circuit 43 as the signal DatC via the data bus 21 using the signal DE as a trigger. It is output to the control unit 20.
  • the memory access control unit 20 supplies the read data RD1 to the CPU 10 via the CPU bus 11. Since the signal R / W is in the low state, the comparison unit 37 does not perform comparison processing using the already written data RD1 sent from the read circuit 43 as the signal DatC.
  • bit width (word) units The processing of the nonvolatile semiconductor memory device of the present embodiment described above is premised to be processed in bit width (word) units, but as in the configuration shown in FIG. If a mechanism for transmitting bit enable is added, write enable / disable can be performed with match / mismatch for each bit. In this case, it is assumed that the memory cell can perform write processing in bit units. Writing in bit units can be realized by applying the signal Comp of the comparison result of the comparison unit 37 to WEA [1: j] (j indicates the bit width of a word) in FIG.
  • FIG. 11 and FIG. 12 show the principle of this embodiment, but clock transfer, address value conversion, data bit width conversion, etc., depending on bus conditions, system constraints, etc. Such processing may be required. However, these processes may be appropriately selected and applied as necessary, and will not be described because they are different from the gist of the present invention.
  • the processing realized by the memory control unit 30 can also be realized by software. That is, when the software (or firmware) executed on the CPU 10 performs the writing process to the memory according to the procedure as shown in FIG. 14, the process equivalent to the process realized by the memory control unit 30 Can be realized.
  • FIG. 14 is a flowchart showing a processing procedure in the case where the processing in this embodiment is realized by software.
  • step S100 when a write request to a memory cell is generated (step S100), write target data of the request is stored (step S101).
  • a register or cache (not shown) in the CPU 10 is desirable, but when an SRAM or a DRAM is connected externally, these may be used.
  • the write destination address is also given together with the write target data.
  • step S102 the CPU 10 executes read processing of already written data to the write destination address designated by the write request in step S100 (step S102). Then, when the read already written data (data R) is received (step S103), the write target data (data W) stored in step S101 is read (step S104) and compared with the already written data. (Step S105).
  • step S105 the writing processing corresponding to the writing request generated in step S100 is ended without doing anything as it is. .
  • the comparison result does not match (No in step S105)
  • step S106 the process of writing the write target data to the write destination address is executed (step S106), and the write process corresponding to the write request generated in step S100 ends.
  • the memory cell is described as being configured by the RRAM, but may be configured by non-volatile storage elements other than the RRAM.
  • Non-volatile semiconductor storage device 10 CPU 11: CPU bus 20: memory access control unit 21: memory bus 25: memory bus 30: memory control unit 31: instruction interpretation unit 32: buffer 33: output control unit 34: buffer 35: row address buffer 36: read control unit 37 : Comparison unit 38: Buffer 39: Write control unit 40: Write / read control unit 41: Read / write switching control unit 42: Subbank exchange unit 43: Read circuit 44: Address buffer 45: Data buffer 50: Memory 51A, 51B: Column decoder 51A0, 51A1, 51A2, 51A3, 51B0, 51B1, 51B2, 51B2: Column decoders 52A, 52B: Memory cell array (subbank) 52A0, 52A1, 52A2, 52A3, 52B0, 52B1, 52B2, 52B3: subbank 53: row decoder 60: semiconductor substrate 61: element isolation region 62: gate insulating film 63: gate electrode 64: drain diffusion region 65: source diffusion region 66 : Interlayer insulating film 67: contact hole 68:

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

 ビット単位での書き換えを可能にしながらも、メモリセル寿命の延命化が可能な不揮発性半導体記憶装置を提供する。コマンド情報が書き込みを示す場合において、比較部37が、対象メモリセルに書き込まれている既書き込みデータと書き込み対象データとを比較して比較結果を書き込み/読み出し制御部40に与え、比較結果が同一の場合には、前記書き込み/読み出し制御部40がデコーダ部(51A,51B,53)に対して前記対象メモリセルへの書き込み指示を与えず、前記比較結果が異なる場合には、前記書き込み/読み出し制御部40が前記デコーダ部に対して対象メモリセルに前記書き込み対象データを書き込む指示を与える。

Description

不揮発性半導体記憶装置及びその駆動方法
 本発明は、不揮発性半導体記憶装置及びその駆動方法に関し、特に、書き換え回数に制限のある不揮発性半導体記憶装置及びその駆動方法に関するものである。
 近年、ポストフラッシュメモリというべき不揮発性メモリとして、電圧パルスを印加することによって可逆的に電気抵抗が変化する可変抵抗素子を用いた抵抗性不揮発性メモリRRAM(Resistive Random Access Memory;RRAMは本出願人であるシャープ株式会社の登録商標)が実用化されつつある。
 図15にこのRRAMの概略構造図を示す。図15に示されるRRAM100は、第2電極となる下部電極103と可変抵抗体102と、第1電極となる上部電極101とが順に積層された極めて単純な構造となっている。可変抵抗体102としては、例えば、遷移金属の酸化物である酸化チタン(TiO)膜、ニッケル酸化(NiO)膜、酸化亜鉛(ZnO)膜、酸化ニオブ(Nb)膜が利用可能である(下記特許文献1、非特許文献1参照)。そして、このRRAM100は、上部電極101及び下部電極103間に電圧パルスを印加することにより、可変抵抗体102の抵抗値を可逆的に変化させることができる。そして、この可逆的な抵抗変化動作における抵抗値を読み出すことによって、抵抗性不揮発性メモリが実現できるという構成である。
 RRAMにおける書き込み(消去)特性は、フラッシュメモリのそれとは大きく異なる。例えばバイポーラスイッチングといわれるモードでは、抵抗増加、抵抗減少の2つの抵抗変化が共に、1.5Vから3Vの低電圧の電圧印加により数10ナノ秒で実現できる。これによって、情報「1」の書き込み(消去動作)と、情報「0」の書き込み(書き込み動作)を同時に行うこと、すなわちデータの上書きが可能となり、高速でビット単位の書き換え動作が実現できる。このRRAMは、DRAM(Dynamic Random Access Memory)と同等の読み書き速度が実現できると目されている。
 従来のDRAMは、スイッチングMISFETと該スイッチングMISFETに直列に接続されたキャパシタにより構成されるメモリセルを有し、該キャパシタに電荷を蓄積することにより情報の記憶を行うものである。このため、キャパシタに電荷を蓄積することで情報を記憶するという特性上、書き換え回数にはほぼ制限がないという長所を有する。
 一方、RRAMの場合、可変抵抗体の抵抗値を変化させることで、情報の書き換えを行う構成である。そして、この可変抵抗体の抵抗値の変化は、可変抵抗体を構成する金属酸化物中の酸素の挙動が抵抗変化に大きく寄与していると考えられている。すなわち、金属酸化物中に酸素欠損が生じると金属酸化物の抵抗が低抵抗化し、逆に、この酸素欠損が再び酸素で埋められることによって、高抵抗化すると考えられている。そして、具体的には、この酸素欠損の発生は、高抵抗状態の素子に高電界が加わることによって電界印加方向に酸素イオン(O2-)が移動し、この酸素イオンの移動によって酸素イオンが抜けた箇所において酸素欠損が発生し、この酸素欠損によって発生する局在順位間でキャリアが伝導していくホッピング伝導により電気抵抗が低くなると考えられている。また、低抵抗化した素子の高抵抗化については、低抵抗部に電流が流れることによってジュール熱で加熱され、ある閾値電流以上になると酸素欠損部が再び酸素で埋められ、再び高抵抗化すると考えられている。
 従って、RRAMにおける情報の書き込みは、金属酸化物中の酸素イオンが移動するという物理的な変化に伴う抵抗変化によるものであるため、電荷の蓄積,移動によって情報が書き込まれるDRAMに比べ、情報記憶部(すなわち可変抵抗体)が受ける物理的なダメージが大きい。すなわち、RRAMにおいて繰り返し書き換え動作が行われる(抵抗変化させる)ことで、酸素欠損の発生や酸素の再結合ができないメモリセルが発生することとなる。このようなメモリセルの場合、書き換えのために電圧を印加しても抵抗状態を変化させることができず、このことは情報の書き換えが正確に実行できないことを意味する。
 つまり、RRAMの場合、DRAMと比べて、書き換え回数には限りがあるという問題がある。これを受け、RRAMにおいては、同一のメモリセルに対する書き換え回数を抑制し、各メモリセルの寿命を延ばすための方法が必要とされている。
 従来、不揮発性メモリの寿命を延ばす方法としては、メモリチップ内でメモリセルの使用回数を平均化するウェアレベリング法が用いられてきた。この方法は、書き換え回数や書き換え順序をブロック単位で管理することで、寿命を延ばすというものである。
 例えば、下記特許文献2には、ブロックに消去回数カウンタを設け、消去回数カウンタの値が小さいブロックから優先的に利用し、全てのブロックの消去回数を平均化することにより不揮発性メモリの寿命を延ばす方法が記載されている。また、下記特許文献3には、論理アドレスを物理アドレスに変換するテーブルの物理アドレス値を空き物理アドレス値が書き込んであるFILO(First in Least Out)から読み出した空き物理アドレス値と交換し、データの書き換えが行われる物理アドレスが偏ったものにならないようにすることで不揮発性メモリの寿命を延ばす方法が記載されている。
特表2002-537627号公報 特開平9-97218号公報 特開2001-67258号公報
H.Pagniaほか、"Bistable Switching in Electroformed Metal-Insulator-MetalDevices",Phys.Stat.Sol.(a),vol.108,pp.11-65,1988年
 上述したように、従来、書き換え回数が限られているメモリの寿命延命方法としては、ウェアレベリング法が用いられてきた。しかしながら、このウェアレベリング法を用いるに際しては、書き換え回数を管理することが必要となる。
 フラッシュメモリのように、元来(ある程度大きな容量である)ブロック単位で書き換えを行うデバイスの場合には、ブロック単位での書き換え回数の管理も容易であり、ウェアレベリングも非常に有効な寿命延命方法として機能する。しかしながら、RRAMのようにビット単位で自由に書き換えが可能な不揮発性メモリにおいて同様の手法を取った場合には、そのビット単位で書き換えが可能であるという特長が生かせないという問題が生じる。
 フラッシュメモリの場合、書き換えを行うに際しては、ブロック単位で消去を行った後、書き込みを行う構成である。すなわち、劣化原因となる書き換えに際しても、その書き換え回数をブロック毎に管理することで足りる。しかし、RRAMのようにビット単位で自由に書き換えが可能なメモリの場合、その特性を生かそうとすれば、ビット単位(もしくはワード等の一括でアクセスする単位)で書き換え回数の管理を行う必要が生じる。この結果、書き換え回数を記録するだけで膨大な容量を費やしてしまうことになる。また、フラッシュメモリと同様にブロック単位でまとめて管理した場合には、実際のメモリセルの書き換え回数とブロック全体としての書き換え回数に不整合が発生してしまうことになる。
 本発明は、上記の問題点に鑑み、書き換え回数の管理を行うことなく、メモリセル寿命の延命化が可能な不揮発性半導体記憶装置を提供することを目的とする。
 上記目的を達成するための本発明に係る不揮発性半導体記憶装置は、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなる第1サブバンク、及び、前記第1サブバンクと同じ構成の第2サブバンクを備えてなるメモリセルアレイと、指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み/読み出し制御部と、前記書き込み/読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、入力される複数のデータの比較を行う比較部と、を備えてなり、前記第1サブバンク内及び前記第2サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、前記デコーダ部が、前記第1サブバンク内の第1対象メモリセルに対して読み出し電圧を印加する第1動作と、前記第2サブバンク内の第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第2対象メモリセルに対して書き込み電圧を印加する第2動作と、を同一時間帯に実行することを特徴とする。
 本発明に係る不揮発性半導体記憶装置の上記特徴によれば、書き込み処理時において、実際に書き込み処理が行われる前に、比較部によって、書き込み先アドレスに対応する選択メモリセルに既に書き込まれている既書き込みデータと書き込み対象データとの比較処理が実行される。そして、比較結果が異なる場合にのみ、同メモリセルに対して書き込み対象データを書き込むための書き込み電圧が印加され、比較結果が同一の場合には書き込み電圧が印加されない。
 従来のウェアレベリング法は、メモリセルの使用回数を平均することにより、メモリチップ全体としての寿命延命を図る方法であるため、同一データを上書きする場合にもメモリセルへの上書きは行われてしまい、この結果メモリセルの劣化進行が避けられない。しかし、本発明構成によれば、この従来方法と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。
 そして、単純に書き込み処理時において、書き込み先アドレスに対応する選択メモリセルの既書き込みデータと書き込み対象データの比較を行うことのみでメモリセルの延命措置が可能となる。すなわち、従来のように、書き込み回数や書き込み順序を管理する必要がない。このため、例えば、ビット単位で書き込み(書き換え)が可能なRRAMに対しても容易に適用することができる。
 さらに、上記特徴によれば、一のサブバンクに対して既書き込みデータと書き込み対象データの比較を行っている間に、他のサブバンクに対して書き込み用電圧を印加して書き込み処理を行うことができる。このため、書き込み処理においてタイムラグが発生するということがない。すなわち、従来方法から書き込み処理に要する時間を長くすることなく、各サブバンク内のメモリセルを延命させることができる。
 なお、上記特徴において、一のサブバンク(第1サブバンク)に偶数アドレスを割り当て、他のサブバンク(第2サブバンク)に奇数アドレスを割り当てるものとすることができる。このようにした場合、連続するアドレスがサブバンク間で交互に割り当てられることとなる。従って、バースト書き込みを行う場合、一のサブバンク内の書き込み先アドレスに対応するメモリセルに対して書き込み対象データを書き込む時間内に、他のサブバンク内に存在する前記書き込み先アドレスの次のアドレスに対応するメモリセルの既書き込みデータの読み出しを行うことができる。
 また、本発明に係る不揮発性半導体記憶装置は、上記特徴に加えて、前記第1サブバンク内及び前記第2サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記デコーダ部は、前記第1動作と前記第2動作で構成された動作ステップを、前記第1対象メモリセル及び前記第2対象メモリセルを変化させながら複数回実行する構成であり、前記各動作ステップにおける前記第2対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第1対象メモリセルであることを特徴とする。
 このような構成とするとき、第2動作の実行対象である第2対象メモリセルは、それ以前に行われた動作ステップ内において第1対象メモリセルとして既書き込みデータが読み出されているため、第2動作において、改めて第2対象メモリセルの既書き込みデータを読み出すことなく、書き込み対象データが既書き込みデータと異なる場合にのみ書き込むことができる。
 また、本発明に係る不揮発性半導体記憶装置は、上記特徴に加えて、前記デコーダ部は、前記第1サブバンク及び前記第2サブバンクに共通して設けられると共に、前記第1サブバンク及び前記第2サブバンク夫々の対応する前記ワード線に同時に電圧を印加する行デコーダと、前記第1サブバンクの前記ビット線に電圧を印加する第1列デコーダと、前記第2サブバンクの前記ビット線に電圧を印加する第2列デコーダと、を備え、前記第1動作は、前記行デコーダが前記第1対象メモリセルに接続された前記ワード線に電圧を印加した状態で、前記第1列デコーダが前記第1対象メモリセルに接続されたビット線に読み出し電圧を印加する動作であり、前記第2動作は、前記第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ、前記第2列デコータが前記第1対象メモリセルと同一行に位置する前記第2対象メモリセルに接続されたビット線に書き込み電圧を印加する動作であることを特徴とする。
 また、上記特徴に加えて、本発明に係る不揮発性半導体記憶装置は、前記メモリセルアレイが、前記第1サブバンク及び前記第2サブバンクからなるメモリユニットを複数備えて構成され、前記デコーダ部が、前記各メモリユニット毎に設けられ、複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記対象メモリセルが存在する前記メモリユニットに備えられた前記各デコーダ部それぞれが、前記第1動作と前記第2動作とを同一時間帯に実行することを特徴とする。
 このように構成することで、多ビット構成の書き込み対象データの書き込み時においても、書き込みに要する時間の増大や、必要な管理量の増大を招くことなく、各メモリセルへの書き込み回数を減少させることができ、メモリセルの延命を図ることができる。
 なお、本発明に係る不揮発性半導体記憶装置は、上記いずれかの特徴に加えて、前記メモリセルが、印加電圧に応じて抵抗値を可逆的に変化させる可変抵抗素子で構成されており、当該可変抵抗素子の抵抗値に応じて情報を記憶する構成であることを特徴とする。
 また、本発明に係る不揮発性半導体記憶装置の駆動方法は、前記不揮発性半導体記憶装置が、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなる第1サブバンク、及び、前記第1サブバンクと同じ構成の第2サブバンクを備えてなるメモリセルアレイを備えており、前記第1サブバンク内及び前記第2サブバンク内に位置する複数の対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記第1サブバンク内の第1対象メモリセルに対して読み出し電圧を印加する第1動作と、前記第2サブバンク内の第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ前記第2対象メモリセルに対して書き込み電圧を印加する第2動作と、を同一時間帯に実行することを特徴とする。
 また、本発明に係る不揮発性半導体記憶装置の駆動方法は、上記特徴に加えて、前記第1サブバンク内及び前記第2サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記第1動作と前記第2動作で構成された動作ステップを、前記第1対象メモリセル及び前記第2対象メモリセルを変化させながら複数回実行し、前記各動作ステップにおける前記第2対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第1対象メモリセルであることを特徴とする。
 また、本発明に係る不揮発性半導体記憶装置の駆動方法は、上記特徴に加えて、前記メモリセルアレイが、前記第1サブバンク及び前記第2サブバンクからなるメモリユニットを複数備えて構成され、複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記対象メモリセルが存在する前記メモリユニットのそれぞれにおいて、前記第1動作と前記第2動作とを同一時間帯に実行することを特徴とする。
 また、本発明に係る不揮発性半導体記憶装置は、電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置であって、指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み/読み出し制御部と、前記書き込み/読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、入力される複数のデータの比較を行う比較部と、を備えてなり、前記対象メモリセルに書き込み対象データの書き込みを行う際、前記デコーダ部は、前記書き込み/読み出し制御部からの指示に基づき前記対象メモリセルに読み出し電圧を印加し、前記比較部は、前記書き込み対象データと前記読み出し回路によって読み出された前記既書き込みデータとを比較して比較結果を前記書き込み/読み出し制御部に与え、前記書き込み/読み出し制御部は、前記比較結果が異なる場合にのみ、前記デコーダ部に対し、前記対象メモリセルに前記書き込み対象データを書き込む指示を与えることを特徴とする。
 本発明に係る不揮発性半導体記憶装置の上記特徴によれば、書き込み処理時において、実際に書き込み処理が行われる前に、比較部によって、書き込み先アドレスに対応する選択メモリセルに既に書き込まれている既書き込みデータと書き込み対象データとの比較処理が実行される。そして、比較結果が異なる場合にのみ、同メモリセルに対して書き込み対象データを書き込むための書き込み電圧が印加され、比較結果が同一の場合には書き込み電圧が印加されない。
 従来のウェアレベリング法は、メモリセルの使用回数を平均することにより、メモリチップ全体としての寿命延命を図る方法であるため、同一データを上書きする場合にもメモリセルへの上書きは行われてしまい、この結果メモリセルの劣化進行が避けられない。しかし、本発明構成によれば、この従来方法と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。
 そして、単純に書き込み処理時において、書き込み先アドレスに対応する選択メモリセルの既書き込みデータと書き込み対象データの比較を行うことのみでメモリセルの延命措置が可能となる。すなわち、従来のように、書き込み回数や書き込み順序を管理する必要がないため、ビット単位で書き込み(書き換え)が可能なRRAMに適用することができる。
 また、本発明に係る不揮発性半導体記憶装置の駆動方法は、電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置の駆動方法であって、指定アドレスに対応する対象メモリセルに対して書き込み対象データの書き込み動作を行うに際し、まず、前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行い、次に、前記既書き込みデータと前記書き込み対象データの比較を行い、比較結果が同一の場合には前記対象メモリセルへの書き込みを行わず、前記比較結果が異なる場合には前記対象メモリセルに前記書き込み対象データの書き込みを行うことを特徴とする。
 本発明の構成によれば、書き換え回数の管理を行うことなく、メモリセル寿命の延命化が可能な不揮発性半導体記憶装置を実現することができる。
第1実施形態の不揮発性半導体記憶装置の概念的構造を示すブロック図 第1実施形態の不揮発性半導体記憶装置の別の概念的構造を示すブロック図 サブバンクの一構成例を示す回路図 第1実施形態の不揮発性半導体記憶装置に対してバースト書き込みが行われる場合のタイミングチャート 第1実施形態の不揮発性半導体記憶装置に対してバースト読み出しが行われる場合のタイミングチャート メモリセルの一構成例を示す概略図 第2実施形態の不揮発性半導体記憶装置に対してバースト書き込みが行われる場合のタイミングチャート 第2実施形態の不揮発性半導体記憶装置に対してバースト読み出しが行われる場合のタイミングチャート 第3実施形態の不揮発性半導体記憶装置の概念的構造を示すブロック図 第3実施形態の不揮発性半導体記憶装置の別の概念的構造を示すブロック図 第3実施形態の不揮発性半導体記憶装置に対して書き込みが行われる場合のタイミングチャート 第3実施形態の不揮発性半導体記憶装置に対して読み出しが行われる場合のタイミングチャート 第3実施形態の不揮発性半導体記憶装置の別の概念的構造を示すブロック図 第3実施形態の不揮発性半導体記憶装置の書き込み処理をソフトウェアによって実現する場合の処理手順を示すフローチャート RRAMの概略構造図
 本発明に係る不揮発性半導体記憶装置及びその駆動方法の各実施形態について図面を参照して説明する。
 本実施形態では、メモリセルがRRAM素子を備える構成であるものとして説明する。背景技術の項でも前述したように、RRAM素子は、電圧の印加によって抵抗値(または抵抗特性)を可逆的に変化させることで情報の記憶を行う構成である。従って、書き込み動作と消去動作は、変化後の各抵抗値がそれぞれ異なるという点を除けば動作原理は同一である。より具体的に言えば、ある第1抵抗値(第1抵抗特性)に変化させるために電圧条件を設定して電圧を印加することが「書き込み動作」であり、別の第2抵抗値(第2抵抗特性)に変化させるために電圧条件を設定して電圧を印加することが「消去動作」である。つまり、消去動作と書き込み動作とは電圧条件が異なることを除けば、実際にメモリセルに対して行われる動作は同一であると言える。このため、以下では、「消去動作」は「書き込み動作」の一態様であると考え、特に断りのない限り「書き込み動作」と「消去動作」とを文言上区別しないものとする。
 これに対し、「読み出し動作」は、RRAM素子の抵抗値(または抵抗特性)を変化させることなく、単に現時点におけるRRAM素子の抵抗値(または抵抗特性)を読み出す動作であるところ、抵抗値(または抵抗特性)を変化させる動作である書き込み動作とはその動作内容を異にする。このため、「読み出し動作」は「書き込み動作」と区別して表現する。
 [第1実施形態]
 本発明の第1実施形態(以下、適宜「本実施形態」という)につき、図1~図6の各図を参照して説明を行う。
 図1は、本実施形態における不揮発性半導体記憶装置の概念的構造を示すブロック図である。図1に示す不揮発性半導体記憶装置1は、メモリアクセス制御部20、メモリ制御部30、デコーダ部(行デコーダ53,列デコーダ51A,51B)、メモリセルアレイ(52A,52B)を備える。本実施形態では、一つのメモリ制御部30に対して2つのサブバンク52A,52Bを備え、各サブバンクは、列デコーダ(51A,51B)を個別に備える一方、行デコーダ(53)は共有している。
 なお、図1におけるデコーダ部(行デコーダ53,列デコーダ51A,51B)及びサブバンク52A、52B(メモリユニット)は、説明の都合上、1アドレスに対し1ビットのデータを持つ形態を想定した図示となっている。多ビットのデータを扱う場合には、これらは図2に示されるような構成を取る。言い換えれば、図2にされる複数の各メモリユニットや各デコーダ部を、まとめて一つに図示したのが図1の構成である。
 以下では、まず説明の簡単のために、1アドレスに1ビットのデータを持つ形態を想定して説明を行う。その後、図2を参照しながら1アドレスに対し多ビット(jビット)(jは2以上の自然数)のデータを持つ形態を取り扱う場合について説明する。
 再び図1に戻って説明を行う。メモリ制御部30は、命令解釈部31,バッファ32,出力制御部33,バッファ34,行アドレスバッファ35,比較部37,書き込み/読み出し制御部40(読み出し制御部36,バッファ38,書き込み制御部39),読み書き切換制御部41,サブバンク入れ換え部42,及び読み出し回路43を備える。
 なお、メモリアクセス制御部20は、CPU10との間で信号の授受可能な構成である。CPU10は、中央演算装置(Central Processing Unit)であり、コマンド、アドレス、並びにデータを送ることが可能なバス(CPUバス11)を介してメモリアクセス制御部20と接続されている。このCPUバス11は、CPU10,メモリアクセス制御部20以外にも、ネットワーク,ストレージ,グラフィック等の多数のハードウェアモジュール(不図示)に接続されているものとしても良い。
 メモリアクセス制御部20は、CPU10から与えられた各情報を認識し、メモリバス21を介して各情報毎にメモリ制御部30内の適切な要素に与える。より具体的には、メモリアクセス制御部20は、コマンド情報を命令解釈部31に与え、アドレス情報をバッファ32に与え、データ(書き込み対象データ)をバッファ34に与える。
 メモリ制御部30は、メモリアクセス制御部20より与えられる各情報(コマンド,アドレス)を、サブバンク52A,52Bに対するコマンド(書き込み,消去)やアドレス(行/列アドレス)に変換し、列デコーダ51A,51B及び行デコーダ53を制御する。
 サブバンク52A,52Bはメモリセルアレイであり、列デコーダ51A,51B及び行デコーダ53から、メモリセルアレイ内の各メモリセルに対して所定の電圧が印加されることで、読み出しまたは書き込み(消去)処理が行われる。
 ここで、各サブバンク52A,52Bは、共に、RRAM素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列して構成される。また、行方向に延伸する複数のワード線、及び列方向に延伸する複数のビット線を備え、同一行に配置された前記メモリセルがそれぞれRRAM素子の一端側を、選択トランジスタを介して同一の前記ワード線に接続し、同一列に配置された前記メモリセルがそれぞれRRAM素子の他端側を同一の前記ビット線に接続する。サブバンク52A,52Bの一例として、各メモリセルがRRAM素子及び同素子に直列に選択トランジスタが接続されて構成される1T1R型構造を図3に示す。
 図3は、サブバンク52Bの一構成例を示す回路図であり、各メモリセルが1つの選択トランジスタと1つの可変抵抗素子Rとからなる、いわゆる1T1R構成である。図3において、各メモリセルの選択トランジスタのゲートはワード線(W1~Wn)に接続されており、各ワード線は行デコーダ53と接続される。また、各メモリセルの選択トランジスタのソースはソース線SLを介して共通のソース線に接続されている。また、各メモリセル毎の可変抵抗素子Rの一方(上部電極側)はビット線(B1~Bm)に接続されており、各ビット線は列デコーダ51Bに接続される。n及びmは自然数である。また、サブバンク52Aも同様の構成である。
 なお、本実施形態では、サブバンク52Aと52Bとは、メモリアドレスがサブバンク間で交互に連続するようにアドレス割り当てがされているものとする。より具体的には、サブバンク52Aには偶数アドレスが割り当てられ、サブバンク52Bには奇数アドレスが割り当てられている。
 再び図1に戻り、命令解釈部31は、入力されたコマンドを本実施形態に即した形に変換し、読み出し制御部36,読み書き切換制御部41,及び行アドレスバッファ35に送る。具体的には、書き込み(消去)コマンド「W」が入力された場合には、命令解釈部31は、読み出し制御部36,及び読み書き切換制御部41に対して、信号ComCによって読み出しコマンド「R」を与えるとともに、信号R/Wをアクティブ(High状態)にして出力制御部33及び比較部37に与える。また、読み出しコマンド「R」が入力された場合には、命令解釈部31は、読み出し制御部36,及び読み書き切換制御部41に対して、信号ComCによって読み出しコマンド「R」を与える一方、信号R/Wはインアクティブ(Low状態)にする。すなわち、命令解釈部31は、書き込み(消去)コマンド「W」が与えられた場合であっても、読み出しコマンド「R」が与えられた場合であっても、行アドレスバッファ35,読み出し制御部36,及び読み書き切換制御部41に対して、信号ComCによって読み出しコマンド「R」を与える構成である。また、命令解釈部31には他に「行アドレス指定」コマンド(以下、「A」コマンドという)が入力されることがある。この「A」コマンドはバッファ32に行アドレス値が入力される時にメモリアクセス制御部20から入力されるものである。これが入力された時は、命令解釈部31は行アドレスバッファ35に対して、信号ComCによって「A」コマンドを与える。
 バッファ32はFIFO(FirstIn First Out)バッファであり、入力されたアドレス情報を一時的に格納する。そして、命令解釈部31が信号ComCを出力するのに同期して、行アドレスバッファ35及び読み出し制御部36に対してアドレス情報を示す信号AddCを出力する。なお、このバッファ32は、必ずしもFIFOである必要はなく、1アドレス分のバッファとして、コマンドが入力された時にのみアドレス値を取り込むようにしても良い。
 なお、命令解釈部31がコマンドを出力するタイミングと同期させるべく、命令解釈部31とバッファ32とが信号線(不図示)で接続されており、命令解釈部31がコマンドを出力すると、当該信号線がアクティブになる構成としても良い。この場合、当該信号線の立ち上がりに起因して、バッファ32はアドレス情報を示す信号AddCを出力すれば良い。
 バッファ34は、バッファ32と同様にFIFOバッファである。本実施形態では、後述するように、書き込みコマンドが入力されてから、実際にサブバンク52A,52Bへの書き込みが行われるまでに(一定の)時間を要する。バッファ34は、書き込みコマンドが入力されてから、実際にサブバンク52A,52Bへの書き込みが行われるまでに要する時間にわたって、書き込み対象データを保持する機能を表す。バッファ34によって書き込み対象データが一定期間保持された後、バッファ34から信号DatOとして比較部37及び書き込み制御部39に出力される。
 読み出し制御部36は、信号ComCによって命令解釈部31から与えられるコマンドが「R」である場合に、信号AddCによってバッファ32から指定されたアドレスに基づき、データの読み出しアドレスAddCrを演算してサブバンク入れ換え部42に出力する。メモリアクセスの設定が、バースト(複数のアドレスに連続してデータを読み書きする)になっている場合には、前記バッファ32から指定された一のアドレスに対し、設定されたバースト長(連続してデータを読み書きする回数)分のアドレスを順次計算して出力を行う。なお、前記バースト長は、本メモリと接続されたCPU10等のホストにより本メモリに対して設定される値である。また、このバースト長を設定する方法については、どのような方法を用いても良く、本件発明の主旨と外れるためその説明を割愛する。
 読み出し制御部36は、また、サブバンク入れ換え部42に対して有効なアドレス値を出力している間には「High」、そうでない場合には「Low」となる信号REをサブバンク入れ換え部42に与える。
 比較部37は、命令解釈部31から前記R/W信号を受け、これがアクティブであった場合に、バッファ34から与えられるDatOと読み出し回路43から与えられるDatCの比較を行い、その結果Compを書き込み制御部39に与える。後述するようにDatC及びDatOが多ビットであった場合には、比較はビット単位で行い、ビット単位での一致/不一致を書き込み制御部39に与える。つまり、データのビット幅が8ビットであれば、Compのビット幅も8ビットになり、データのビット幅が32ビットであれば、Compのビット幅も32ビットになる。R/W信号がインアクティブであった場合には何もしない。
 読み書き切換制御部41は、信号ComCによって命令解釈部31から与えられるコマンド「R」を受けると、サブバンク52Aとサブバンク52Bの読み出しと書き込みを切り換えるための信号SBSelを生成し、サブバンク入れ換え部42と行デコーダ53に供給する。前述したように、本実施形態においては、サブバンク52Aには偶数アドレスが割り当てられており、サブバンク52Bには奇数アドレスが割り当てられている。つまり、連続するアドレスが、サブバンク52A,52B間で交互に割り当てられている。
 ここで、前記信号SBSelは、サブバンク52Aから読み出しを行う際には信号レベルを「Low」とし、サブバンク52Bから読み出しを行う際には信号レベルを「High」とする。つまり、前記信号SBSelが「Low」である場合、読み出し対象となるサブバンク52Aに対し読み出し処理を行い、前記サブバンク52Aとは別のサブバンク52Bに対して書き込み処理を行う。逆に、前記信号SBSelが「High」である場合、読み出し対象となるサブバンク52Bに対し読み出し処理を行い、前記サブバンク52Bとは異なるサブバンク52Aに対して書き込み処理を行う。
 行アドレスバッファ35は、命令解釈部31から「A」コマンドが与えられると、バッファ32から与えられるアドレス値を内部に保持する。そして、その直後に、読み出しコマンド「R」または書き込みコマンド「W」を受けとると、保持されたアドレス値を信号Rowとして適切なタイミングで行デコーダ53に出力する。なお、ここでの適切なタイミングとは、前記行アドレスによって示されるサブバンク52A、52B中のメモリセルに対するアクセス時刻に間に合うタイミングである。
 バッファ38は、読み出し制御部36から出力された信号AddCrに示されるアドレス値を、信号AddCdとして書き込み制御部39に適切なタイミングで渡すためのFIFOバッファである。ここでの適切なタイミングとは、後述する比較部37が比較結果を信号Compとして出力するタイミングと同期したタイミングである。
 書き込み制御部39は、比較部37からの比較結果(信号Comp)を受け、サブバンク入れ換え部42に対して、書き換えが必要なビットに対する書き込み指示(信号WE、AddOw、DatOw)を出力する。信号DatOwは、書き込み対象データを示しており、バッファ34から与えられるDatOと同様の内容を示すデータである。また、信号WEは書き込みが必要か否かを示す信号である。また、信号AddOwは列アドレス値を示し、バッファ38から与えられるアドレス値AddCdと同様の内容を示す信号であるが、出力タイミングを信号WEと同期させたものである。
 出力制御部33は、読み出し回路43から読み出されたデータ(信号DatC)を、メモリバス21に出力するか否かを制御する手段である。より具体的には、命令解釈部31から与えられた信号R/Wがアクティブ(High状態)である場合には、読み出し回路43から与えられたデータをメモリバス21に出力しない。逆に、命令解釈部31から与えられた信号R/Wがインアクティブ(Low状態)である場合には、読み出し回路43から与えられたデータをメモリバス21に出力する。言い換えれば、メモリアクセス制御部20から与えられるコマンドが「W」である場合には、読み出し回路43から与えられたデータをメモリバス21に出力せず、コマンドが「R」である場合には、読み出し回路43から与えられたデータをメモリバス21に出力する。なお、読み出し回路43からDatCにデータが出力されたことは、信号DEがアクティブ(High)となることで示される。
 サブバンク入れ換え部42は、サブバンク52A,52Bへの書き込みと読み出しの切り換えを行う。具体的には、サブバンク入れ換え部42は、読み書き切換制御部41から与えられる信号SBSelが「Low」である場合には、サブバンク52Aに読み出しを、サブバンク52Bに書き込みを行う指示を与え、逆に信号SBSelが「High」である場合には、サブバンク52Bに読み出しを、サブバンク52Aに書き込みを行う指示を与える。その際、読み出しは、読み出し制御部36からの信号RE、AddCrに基づいて行われ、書き込みは書き込み制御部39からの信号WE、AddOw、DatOwに基づいて行われる。
 サブバンク入れ換え部42は、読み出し制御部36から与えられる信号REが「High」である場合にのみ読み出し指示を与える。そして、前記のように、読み書き切換制御部41から与えられる信号SBSelの値によって、サブバンク52Aとサブバンク52Bのどちらから読み出しを行うかが決定される。つまり、信号SBSelが「Low」の場合には、列デコーダ51Aに対して読み出し指示を出すことにより、読み出し回路43によってサブバンク52Aに記録されているデータが読み出され、逆に信号SBSelが「High」の場合には、列デコーダ51Bに対して読み出し指示を出すことにより、サブバンク52Bに記録されているデータが読み出される。このとき、読み出し制御部36から与えられる信号AddCrによって指定されたアドレスに対応したメモリセルの読み出しが行われる。
 また、サブバンク入れ換え部42は、書き込み制御部39から与えられる信号WEのうち、「High」であるビットにのみ書き込み指示を与え、当該ビットに対する書き込み動作が実行される。そして、前記のように、読み書き切換制御部41から与えられる信号SBSelの値によって、サブバンク52Aとサブバンク52Bのどちらに書き込みを行うかが決定される。つまり、信号SBSelが「Low」の場合には、列デコーダ51Bに対して書き込み指示を出すことにより、サブバンク52Bに対してデータの書き込みが行われ、逆に、信号SBSelが「High」の場合には、列デコーダ51Aに対して書き込み指示を出すことにより、サブバンク52Aに対してデータの書き込みが行われる。このとき、書き込み制御部39から与えられる信号AddOwによって指定されたアドレスに対応したメモリセルに対して、書き込み制御部39から与えられる信号DatOwによって指定された書き込み対象データが書き込まれる。
 行デコーダ53は、読み書き切換制御部41から与えられる信号SBSelの値によって、サブバンク52Aとサブバンク52Bに対する制御を切り換える。即ち、信号SBSelが「Low」の場合には、サブバンク52Aに対して読み出し、サブバンク52Bに対して書き込みのための制御を行い、「High」の場合には、サブバンク52Aに対して書き込み、サブバンク52Bに対して読み出しのための制御を行う。
 以下、図4のタイミングチャートを用いて、具体的な書き込み動作の手順を説明する。
 図4は、本実施形態における不揮発性半導体記憶装置(メモリ)へのバースト書き込み処理の手順を示すタイミングチャートである。図4では、クロック同期式のメモリで、バースト長が4である場合が想定されている。図4の上部に記載されたt1~t20の符号は、クロックの立ち上がりの時刻を示している。なお、コマンド入力からサブバンクへの読み書きまでのレイテンシについては設計事項であり、図4によって限定される要素ではない。
 メモリ制御部30に対し、行アドレス指定コマンド「A」及び行アドレス「R1」が与えられると(時刻t2)、コマンド「A」を受けた命令解釈部31は、適切なタイミング(例えばt3~t4間)で、信号ComCによって行アドレスバッファ35に対してコマンド「A」を送る。行アドレス「R1」は、一旦バッファ32に取り込まれた後、信号ComCとしてコマンド「A」が出力されるのと同期して信号AddCとして行アドレスバッファ35及び読み出し制御部36に対して出力される。行アドレスバッファ35は、信号ComCとして入力されたコマンド「A」をトリガとして、信号AddCとして入力された行アドレス「R1」を内部のバッファに保持する。
 続いて、メモリ制御部30に、書き込みコマンド「W」と指定アドレス「C1」が与えられると(時刻t4)、コマンド「W」を受けた命令解釈部31は、適切なタイミング(例えばt5~t6間)で、読み出し制御部36、読み書き切換制御部41に対して信号ComCとしてコマンド「R」を出力する。また、アドレス「C1」は、一旦バッファ32に保持された後、信号ComCとして命令解釈部31からコマンド「R」が出力されるのと同期して、信号AddCとして読み出し制御部36に出力される。読み出し制御部36は、信号ComCとして入力されるコマンド「R」をトリガとして、信号AddCとして入力されるアドレス「C1」を内部のバッファに保持する。また、命令解釈部31は、適切なタイミングで信号R/Wを「High」レベルとする。図4では、命令解釈部31がコマンド「R」を信号ComCに出力するタイミングをトリガとして、信号R/Wを「High」レベルとしている。
 読み出し制御部36は、コマンド「R」を1回受ける毎に、バースト長相当分の連続するアドレス値を信号AddCrとしてサブバンク入れ換え部42に対して出力する。ここでは、バースト長を4としているので、4回分の連続するアドレス値が信号AddCrに読み出し制御部36からサブバンク入れ換え部42へと出力されることになる。すなわち、読み出し制御部36は、前記t5~t6間に「R」コマンドを受けた結果として、時刻t6~t10間に、読み出し制御部36はアドレス「C1」、「C1+1」、「C1+2」、「C1+3」を信号AddCrとして出力するということになる。また、このアドレスを出力している間、読み出し制御部36は「High」レベルの信号REを出力する。
 また、メモリ制御部30は、前記「W」コマンドが入力されると同時に(時刻t4)、書き込み対象データの入力を受け付ける。本実施形態で説明する実施例では、バースト長が4であるので、1つの「W」コマンドに対し4つの書き込み対象データ(D0、D1、D2、D3)が入力される(時刻t4~t7)。入力された書き込み対象データは、時刻t8以後に、比較部37においてサブバンク52Aまたは52Bから読み出された既書き込みデータとの比較が行われるまで、バッファ34で一時的に保持される。
 図4のタイミングチャートでは、サブバンクへのアクセス開始を時刻t7としているため、この時点で、行アドレスバッファ35が行デコーダ53に対して、行アドレス「R1」を示す信号Rowを供給し、当該行アドレス線をアクティブ化している。もちろん、この時刻t7よりも早いタイミングで当該行アドレス線をアクティブとしても良いが、同様のアクセスが連続する場合には、前記のタイミングがアクセス間隔を短くできて良い。
 時刻t7以後、読み出し制御部36から与えられた信号RE(読み出しトリガ信号に相当)、及び信号AddCr(読み出し指定アドレス信号に相当)に基づき、サブバンク入れ換え部42は、列デコーダ51A,51Bを介して、サブバンク52A,52Bへの読み出し処理を開始する。サブバンク入れ換え部42は、読み書き切換制御部41から入力される信号SBSelの値(High/Low)により、読み出し対象サブバンクをサブバンク52A,52Bに振り分ける。このサブバンク入れ換え部42の処理によって、各サブバンク52A,52Bから交互に読み出し処理が行われる。すなわち、信号SBSelが「Low」の場合は、サブバンク入れ換え部42は列デコーダ51Aに対して読み出し指示を行い、これによって読み出し回路43がサブバンク52Aから既書き込みデータの読み出しを行う。また、信号SBSelが「High」の場合は、サブバンク入れ換え部42は列デコーダ51Bに対して読み出し指示を行い、これによって読み出し回路43がサブバンク52Bから既書き込みデータの読み出しを行う。
 本実施形態では、連続するアドレスが交互にサブバンク52Aとサブバンク52Bに割り当ててられていることになるので、アドレスC1並びにC1+2は同一のサブバンク内に存在し、アドレスC1+1並びにC1+3は別の同一のサブバンク内に存在することになる。ここでは、アドレスC1並びにC1+2がサブバンク52Aに存在し、アドレスC1+1並びにC1+3がサブバンク52B内に存在するものとして説明する。
 サブバンク入れ換え部42と列デコーダ51Aとの間では、信号RWA,WEA,ADA,DWA、DRAの各信号の授受が行われる。信号RWAは読み出しか書き込みかを示す信号であり、信号ADAは書き込みを行う列アドレスを示す信号であり、信号DWAは書き込みを行うデータ(書き込み対象データ)を示す信号であり、信号WEAはデータの書き込みを行うか否かを示す信号である。信号WEAに関しては、ここで説明しているように、1アドレスに対しデータが1ビットしかないような場合には無くても良いが、後述するように、データが多ビットである場合には、どのビットを書き込むかを示すという役割を担う。これらの4信号は、サブバンク入れ換え部42から列デコーダ51Aに対して出力される。
 また、信号DRAは、サブバンク52Aから読み出された既書き込みデータを示す信号であり、列デコーダ51Aからサブバンク入れ換え部42に対して出力される。なお、この信号DRAは増幅前の微弱信号であり、その後、読み出し回路43によって増幅されて、既書き込みデータDatCとして出力される構成である。
 列デコーダ51Aは、信号RWAが「R」である場合、信号ADAによって指定されたアドレスに格納された既書き込みデータの読み出しを行うための電圧印加を行い、既書き込みデータは信号DRAとしてサブバンク入れ換え部42に出力される。また、列デコーダ51Aは、信号RWAが「W」である場合、信号ADAによって指定されたアドレスに、信号DWAとして入力された書き込み対象データを書き込むべく電圧印加を行う。このとき、書き込みを行うか否かは信号WEAによって決定される。例えば、信号DWA(書き込みデータ)が8ビット幅であった場合、信号WEAが「00000001」という値であれば、信号DWAの最下位ビットのみが書き込みを行うビットであり、残りの7ビットは書き込みを行わないビットということになる。
 サブバンク入れ換え部42と列デコーダ51Bとの間においても、列デコーダ51Aとの間と同様、信号RWB,WEB,ADB,DWB,DRBの各信号の授受が行われる。信号RWBは読み出しか書き込みかを示す信号であり、信号ADBは書き込みを行う列アドレスを示す信号であり、信号DWBは書き込みを行うデータ(書き込み対象データ)を示す信号であり、信号WEBはデータの書き込みを行うか否かを示す信号である。信号WEBについても、信号WEAと同様、ここで説明しているように、1アドレスに対しデータが1ビットしかないような場合には無くても良いが、後述するように、データが多ビットである場合には、どのビットを書き込むかを示すという役割を担う。これらの4信号は、サブバンク入れ換え部42から列デコーダ51Bに対して出力される。なお、信号DRBは、サブバンク52Bから読み出された既書き込みデータを示す信号であり、列デコーダ51Bからサブバンク入れ換え部42に対して出力される。なお、この信号DRBは増幅前の微弱信号であり、その後、読み出し回路43によって増幅されて既書き込みデータDatCとして出力される構成である。
 また、列デコーダ51Aと51Bは、共に同一の機能を持つブロックである。
 サブバンク入れ換え部42は、信号REが「High」である間、読み出し指示を列デコーダ51Aまたは51Bに与える。まず、時刻t7~t8において、信号SBSelが「Low」であることより、列デコーダ51Aに対し、信号AddCrによって指定されたアドレスC1に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行デコーダ53によって指定された行アドレス(信号Rowによって指定された行アドレスR1)がアクティブになっている。そして、時刻t7~t8期間内に、列デコーダ51Aは、サブバンク52AからアドレスC1に対応したメモリセルの既書き込みデータを信号DRAとしてサブバンク入れ換え部42に送出する。
 次に、時刻t8~t9において、信号SBSelが「High」であることより、サブバンク入れ換え部42は、列デコーダ51Bに対し、信号AddCrによって指定されたアドレスC1+1に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行デコーダ53によって指定された行アドレス(信号Rowによって指定された行アドレスR1)がアクティブになっている。そして、時刻t8~t9期間内に、列デコーダ51Bは、サブバンク52BからアドレスC1+1に対応したメモリセルの既書き込みデータを信号DRBとしてサブバンク入れ換え部42に送出する。
 以下同様の手順によって、時刻t9~t10に列デコーダ51Aはサブバンク52AからアドレスC1+2に対応したメモリセルの既書き込みデータを信号DRAとしてサブバンク入れ換え部42に送出する。また、時刻t10~t11に列デコーダ51Bはサブバンク52BからアドレスC1+3に対応したメモリセルの既書き込みデータを信号DRBとしてサブバンク入れ換え部42に送出する。
 比較部37は、命令解釈部31から与えられる信号R/Wが「High」である場合に、読み出し回路43から与えられる信号DatCが示す既書き込みデータと、バッファ34から与えられる信号DatOが示す書き込み対象データとの比較を行い、比較結果を信号Compとして書き込み制御部39に出力する。
 図4では、時刻t8~t12にわたって、サブバンク入れ換え部42によってマージされた読み出しデータ(Q0~Q3)が、読み出し回路43より信号DatCとして比較部37に出力される。なお、信号DatCからデータが出力されている間、信号DEがアクティブ(High)となっている。つまり、この信号DEによって信号DatCからデータが出力されていることを認識できる。また、この信号DEは、バッファ34に入力され、これにより、信号DatCが比較部37に入力されるタイミングと同期して、バッファ34から書き込み対象データDatOが比較部37に入力される(t8~t12)。信号DEは比較部37にも入力され、比較部37は、この信号DEがアクティブである時に、書き込み対象データDatOと既書き込みデータDatCとの比較演算を行い、比較結果を信号Compとして出力する。すなわち、時刻t8~t9間には、既書き込みデータ「Q0」と、書き込み対象データ「D0」とを比較し、その結果を示すデータ「G0」を書き込み制御部39に出力する。
 以下、アドレスを1ずつずらして読み出した既書き込みデータと、対応するアドレスの書き込み対象データとの比較を行う。すなわち、時刻t9~t10間には「D1」と「Q1」を比較して比較結果を「G1」とし、時刻t10~t11間には「D2」と「Q2」を比較して比較結果を「G2」とし、時刻t11~t12間には「D3」と「Q3」を比較して比較結果を「G3」とする。すなわち、比較部37は、時刻t8~t12にかけて、既書き込みデータDatC(Q0~Q3)と、書き込み対象データDatO(D0~D3)の比較結果を、信号Comp(G0~G3)として書き込み制御部39に出力する。
 書き込み制御部39は、比較部37から入力された信号Compのデータに基づいてサブバンク入れ換え部42に対してデータの書き込み制御を行う。具体的には、バッファ38に保持されていたアドレスに、バッファ34に保持されていた書き込み対象データのうち、比較部37から指定されたビットを書き込むという指示を出す。このとき、書き込み制御部39は、サブバンク入れ換え部43に対し、信号AddOwによってアドレスを指定し、信号WEによって書き込みビットを指定し、信号DatOwによって書き込み対象データを指定する(時刻t9~t13間)。なお、書き込みビットを示す信号WEは、比較部37から与えられる信号Compに基づいて生成され、後述するようにデータが多ビットである場合には、既書き込みデータと書き込み対象データの比較結果が異なるビットのみが書き込みビットとして指定される。
 サブバンク入れ換え部42は、書き込み制御部39から前記データ書き込み指示を受けると、列デコーダ51A,51Bに対して書き込み指示を行う(時刻t10~t14間)。このとき、一の列デコーダに対して読み出し処理が行われている間には、それとは別の列デコーダに対して書き込み指示を与える。より具体的には、例えば、時刻t10~t11間には列デコーダ51Aに対して書き込み指示を与え、時刻t11~t12間には列デコーダ51Bに対して書き込み指示を与える。これにより、列デコーダ51Bに対して読み出し指示が与えられている時刻t10~t11間に、列デコーダ51Aに対して書き込み指示が与えられる構成となる。また、列デコーダ51Aに対して読み出し指示が与えられている時刻t11~t12間に、列デコーダ51Bに対して書き込み指示が与えられる構成となる。
 このようにして、時刻t4に入力された「W」コマンドに対応した書き込み対象データ(D0~D3)は、時刻t10~t14間において各サブバンク内に書き込みが完了する(もしくは同一の既書き込みデータがそのまま利用される)。時刻t8に入力された「W」コマンドに対応した書き込み対象データ(D4~D7)に対しても、前記と同様の処理を行う。このとき、図4を参照すれば、データD3の書き込みが完了した時刻t13~t14間のタイミングに続いて、時刻t14~t15間にデータD4のサブバンク51Aへの書き込みが行われる。すなわち、書き込みコマンド「W」が(バースト長の間隔で)連続してメモリ制御部30に入力された場合であっても、書き込みにタイムラグが生じず、これによって書き込み速度が遅くなるということがない。
 次に、図5のタイミングチャートを用いて、具体的な読み出し動作の手順を説明する。なお、図5の場合も、図4と同様、バースト長が4の場合を例示している。読み出し動作は、図4に示した書き込み動作手順において、比較部37による比較処理、書き込み制御部39及びサブバンク入れ換え部42による書き込み指示、両列デコーダ51A,51Bによる書き込み処理が行われないものと考えれば良い。
 メモリ制御部30に対し、行アドレス指定コマンド「A」及び行アドレス「R1」が与えられると(時刻t2)、書き込み動作の場合と同様、コマンド「A」を受けた命令解釈部31は、適切なタイミング(例えばt3~t4間)で、コマンド「A」を信号ComCとして行アドレスバッファ35に送る。行アドレス「R1」は、一旦バッファ32に取り込まれた後、信号ComCとしてコマンド「A」が出力されるのと同期して信号AddCとして行アドレスバッファ35及び読み出し制御部36に対して出力される。行アドレスバッファ35は、信号ComCとして入力されたコマンド「A」をトリガとして、信号AddCとして入力された行アドレス「R1」を内部のバッファに保持する。
 続いて、メモリ制御部30に、読み出しコマンド「R」と指定アドレス「C1」が与えられると(時刻t4)、コマンド「R」を受けた命令解釈部31は、適切なタイミング(例えばt5~t6間)で、読み出し制御部36、読み書き切換制御部41に対して信号ComCとしてコマンド「R」を出力する。また、アドレス「C1」は、一旦バッファ32に保持された後、信号ComCとしてコマンド「R」が出力されるのと同期して、信号AddCとして読み出し制御部36に出力される。読み出し制御部36は、信号ComCとして入力されるコマンド「R」をトリガとして、信号AddCとして入力されるアドレス「C1」を内部のバッファに保持する。ただし、命令解釈部31は、入力されたコマンドが読み出しコマンド「R」であるため、書き込み時と違って「Low」レベルの信号R/Wを出力する。この信号R/Wは、例えば命令解釈部31に対して書き込みコマンド「W」が入力されるまでの間、「Low」レベルが維持されるものとしても構わない。
 読み出し制御部36は、書き込み時と同様、コマンド「R」を1回受ける毎に、バースト長相当分の連続するアドレス値を信号AddCrとしてサブバンク入れ換え部42に対して出力する。書き込み時と同様にバースト長を4とすると、前記t5~t6間に受けた「R」コマンドに対し、時刻t6~t10間に、アドレス「C1」、「C1+1」、「C1+2」、「C1+3」を出力する。このアドレスを出力している間、読み出し制御部36は、「High」レベルの信号REを出力する。
 そして時刻t7以後、書き込み処理時の場合と同様に、読み出し制御部36から与えられた信号RE(読み出しトリガ信号に相当)、及び信号AddCr(読み出し指定アドレス信号に相当)に基づき、サブバンク入れ換え部42及び列デコーダ51A,51Bを介して、サブバンク52A,52Bへの読み出し処理が開始される。サブバンク入れ換え部42は、読み書き切換制御部41から入力される信号SBSelの値(High/Low)により、読み出し対象サブバンクをサブバンク52A,52B間で振り分け、これによって、各サブバンク52A,52Bから交互に読み出し処理が行われる。そして、読み出されたデータは、サブバンク入れ換え部42を介して読み出し回路43に与えられ、ここで増幅処理が施された後、信号DatCとして出力制御部33に送られる(時刻t8~t12)。信号DatCからデータが出力されていることは信号DEがアクティブ(High)となることで示される。出力制御部33は、入力された信号R/Wが「Low」レベルであることを認識し、入力された信号DatCをメモリバス21へと送出する。
 一方、比較部37は、入力された信号R/Wが「Low」レベルであることを認識すると、比較処理を実行しない。なお、読み出し処理であるため、当然に書き込み対象データが入力されていない状態であるから、比較部37に対して信号DatOは入力されない構成である。
 なお、時刻t4に引き続き、時刻t8において読み出しコマンド「R」、及び読み出し用行アドレス「C2」が入力された場合においても、時刻t11~t15にかけて各サブバンクに対してアドレス「C2」、「C2+1」、「C2+2」、「C2+3」に係るメモリセルの読み出し指示が行われ、これによって時刻t12~t16にかけて当該アドレス位置のデータ読み出しが行われる。つまり、読み出しコマンド「R」が(バースト長の間隔で)連続してメモリ制御部30に入力された場合であっても、読み出しにタイムラグが生じず、これによって読み出し速度が遅くなるということがない。同様に、読み出しコマンド「R」の後に書き込みコマンド「W」が入力された場合や、その反対の場合においても、タイムラグを生じることがない。
 上述したように、本実施形態のような構成とすることで、書き込みコマンド「W」が与えられた場合、実際にメモリセルに対する書き込み処理を行う前に書き込み対象のメモリセルから既書き込みデータの読み出しを行って書き込み対象データとの比較が行われる。そして、比較結果が異なる場合にのみ当該メモリセルに対して書き込み対象データの書き込み処理が行われ、比較結果が同一の場合には書き込み処理が行われない。従って、従来の書き込み処理と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。
 そして、上述したように、一のサブバンクに対して既書き込みデータと書き込み対象データの比較を行っている間に、他のサブバンクに対して書き込み用電圧を印加して書き込み処理を行うことができる構成であるため、書き込み処理においてタイムラグが発生するということがない。従って、従来方法から書き込み処理に要する時間を長くすることなく、メモリセルを延命させることができるという効果がある。
 また、本実施形態の構成では、単純に書き込み処理時において、書き込み対象のアドレスに係るメモリセルの既書き込みデータと書き込み対象データの比較を行うことのみでメモリセルの延命措置が可能となる。すなわち、従来のように、書き込み回数や書き込み順序を管理する必要がないため、ビット単位で書き込み(書き換え)が可能なRRAMに対しても容易に適用することができる。
 上記本実施形態において、サブバンク52Aには偶数アドレスが、52Bには奇数アドレスがそれぞれ割り当てられているものとしたが、奇偶が逆であっても良い。さらには、連続する1アドレス毎に、各サブバンク間で交互にアドレスを割り当てる必要はなく、2アドレス毎や4アドレス毎等、複数アドレス毎にサブバンク間で交互になるようにアドレスを割り当てるものとしても良い。この場合、前記複数アドレスの数はバースト長の約数であれば良い。以下の第2実施形態でも同様とする。
 上記本実施形態において、各信号レベルが「High」であるか「Low」であるかは一例であり、このレベルが反転しても良い。例えば、信号SBSelが「Low」である場合に、サブバンク52Bから読み出しを、サブバンク52Aに書き込みを行う指示を与え、逆に信号SBSelが「High」である場合には、サブバンク52Aから読み出しを、サブバンク52Bに書き込みを行う指示を与えるものとしても良い。他の信号についても同様である。
 なお、上述の実施形態では、図1に基づいて動作の概略を説明してきた。以下では、図2を参照し、jビットのデータを持つ場合の取り扱いについて説明する。
 図2に示す構成は、図1におけるデコーダ部(行デコーダ53,列デコーダ51A,51B)及びサブバンク52A、52Bに代えて、行デコーダ、列デコーダA、列デコーダB、サブバンクA、サブバンクBを1組としたユニット(以下メモリユニット)をj組備える。
 図2において、符号52A0、52A1、52A2、52A3、52B0、52B1、52B2、52B3はサブバンクを、符号51A0、51A1、51A2、51A3、51B0、51B1、51B2、51B2は列デコーダを、符号530、531、532、533は行デコーダをそれぞれ示している。また、各サブバンク52A0、52A1、52A2、52A3をサブバンクAと称し、各サブバンク52B0、52B1、52B2、52B3をサブバンクBと称する。同様に、列デコーダ51A0、51A1、51A2、51A3を列デコーダAと称し、列デコーダ51B0、51B1、51B2、51B2を列デコーダBと称する。なお、図2において、符号501、502、503、504は、サブバンクA及びBを1組としたメモリユニットを表す。
 先ずは図2に示すようにj組のメモリユニットが搭載された装置において、図1のメモリ制御部30内で多ビット化される信号について言及する。基本的にはデータバスのビット幅がjビットに多ビット化されることになる。またその制御信号もjビットに多ビット化される。具体的には、メモリバス21と接続されるデータ、バッファ34の出力信号DatO、読み出し回路43から出力されるDatC、DatOとDatCを比較した結果である比較部37の出力Comp、書き込み制御部39の出力DatOwとその書き込みイネーブルWE、サブバンク入れ換え部42の出力(書き込み)データDWA、DWBと各々の書き込みイネーブルWEA、WEB、サブバンク入れ換え部42の入力(読み出し)データDRA、DRBが多ビット化される。Comp、WE、WEA、WEBの各ビットは、対応するデータDatOとDatC、DatOw、DWA、DWBの各ビットと対応している。つまり、DatOとDatCの最下位ビット同士の比較結果をCompの最下位ビットが示し、DatOwの最上位ビットの書き込みイネーブルをWEAの最上位ビットが示す。
 次に図2における各信号線の接続について説明する。1からj番目までの全ての行デコーダに対しては、信号線RowとSBSel(信号RowとSBSelが流れる信号線)が接続される。これは、すなわち各メモリユニット間において、同一の信号に基づいて行アドレスと読み書きの切り換え制御が行われることを示している。また、k(1からjまでの自然数)番目の列デコーダAに対しては、読み書きコマンドRWA、書き込みイネーブルWEA[k]、列アドレスADA、書き込みデータDWA[k]、読み出しデータDRA[k]の各データを流す信号線が接続される。これは、読み書きコマンドRWA、列アドレスADAに関しては全ての列デコーダAに同じものが与えられ、読み書きコマンドRWAが「W(書き込み)」を示している場合には、WEA[k]がアクティブとなっているメモリユニットにのみ書き込みデータDWA[k]が書き込まれ、読み書きコマンドRWAが「R(読み出し)」を示している場合には、WEA[k]がアクティブとなっているメモリユニットからのみ読み出しデータDRA[k]が読み出される、ということを示している。列デコーダBに関しても、列デコーダAと同様である。つまり、1からj番目の各メモリユニットは、各データ及びデータ制御線の1からjビット目に各々対応している。
 上述した図1の構成は、まさに図2におけるj=1のみを図示したものであり、図4及び図5におけるタイミングチャートも、j=1の場合に関して図示したものである。逆に言えば、図2の構成では、図1におけるタイミングチャートに示されるような動作が各メモリユニット毎に実行される。
 以下、本実施形態における不揮発性半導体記憶装置に対する書き込み/読み出し動作の方法、並びに製造方法について簡単に説明する。なお、これらの方法は、以下の第2,第3実施形態においても同様であり、これらの実施形態内では説明を割愛する。
 また、以下では、一例として各サブバンクが図3に示す回路構成である場合について説明する。さらに、本実施形態における以下の説明内においては、「書き込み」を「消去」と区別して説明する。そして、可変抵抗素子Rが低抵抗状態にある場合を「書き込み状態」と定義し、高抵抗状態にある場合を「消去状態」と定義する。
 さらに、各メモリセルを構成するRRAMが図15に示されるような構成であって、下部電極103から上部電極101に向かう極性で両端に電圧が印加されることで低抵抗状態に遷移し、逆極性の電圧が印加されることで高抵抗状態に遷移する性質を有しているものとする。そして、この上部電極101にビット線が接続し、下部電極103にソース線が接続する構成であるとする。
 まず、メモリセルに対する書き込み動作(可変抵抗素子の低抵抗化)について説明する。書き込み対象メモリセルが指定されると、行デコーダ53は、当該メモリセル(選択メモリセル)に接続されるワード線(選択ワード線)に+2Vを印加し、前記選択ワード線以外のワード線(非選択ワード線)に0Vを印加する。そして、ソース線Sに0Vを印加する。さらに、列デコーダ(51A,52A)は、選択メモリセルに接続されるビット線(選択ビット線)に+2Vを印加し、前記選択ビット線以外のビット線(非選択ビット線)に0Vを印加する。このとき、書き込み時には、選択メモリセルを構成する可変抵抗素子Rの上部電極に正極性の電圧が印加される(一方下部電極は接地されている)ので、当該可変抵抗素子Rが低抵抗状態に遷移し、これによってデータが書き込まれる。一方、非選択セルの可変抵抗素子Rには電圧がかからないので、データの書き込みがなされない(データの変動がない)。
 なお、選択ワード線に印加する電圧は、上記説明では+2Vとしたが、この値は一例であり、実際には選択トランジスタが導通するのに十分な電圧(いわゆるトランジスタの閾値電圧)以上であれば良い。また、選択ビット線に印加する電圧は、上記説明では+2Vとしたが、この値は一例であり、実際には、ソース線に印加される電圧との電位差によって可変抵抗素子の抵抗状態を遷移させるのに十分な電圧(スイッチング動作の閾値電圧)以上であれば良い。
 なお、メモリセルの消去動作(可変抵抗素子の高抵抗化)時には、消去対象メモリセル内の可変抵抗素子の両端に印加される電圧の極性を、書き込み時に対して反転させれば良い。すなわち、書き込み時と同様、選択トランジスタを導通させるべく、行デコーダ(51A,52A)は、選択ビット線に0V,非選択ビット線に+2Vを印加し、さらにソース線Sに+2Vを印加する。これにより、選択メモリセルを構成する可変抵抗素子Rの下部電極に正極性の電圧が印加される(一方上部電極は接地されている)ので、当該可変抵抗素子Rが高抵抗状態に遷移し、これによってデータが消去される。一方、非選択セルの可変抵抗素子Rには電圧がかからないので、データの消去がなされない(データの変動がない)。
 次に、メモリセルの読み出し動作について説明する。読み出し対象メモリセルが指定されると、行デコーダ53は、選択メモリセルに接続される選択ワード線に+2Vを印加し、前記選択ワード線以外の非選択ワード線に0Vを印加する。そして、ソース線Sに0Vを印加する。さらに、列デコーダ(51A,52A)は、選択メモリセルに接続されるビット線(選択ビット線)に+1Vを印加し、前記選択ビット線以外のビット線(非選択ビット線)に0Vを印加する。これにより、選択メモリセルに接続された選択トランジスタが導通した状態で、ビット線-ソース線間に読み出し用の電圧1Vが印加される。実際には、配線抵抗や選択トランジスタのオン抵抗が存在するため、これらの抵抗によって電圧降下が生じるため、選択メモリセル内の可変抵抗素子Rの両端には、1Vよりも低電圧(例えば0.7V程度)が印加される状態となる。
 この状態の下で、選択ビット線を流れる電流(読み出し電流)を検出し、読み出し回路43によって増幅することで、電圧信号に変換し、信号DatCとして比較部37あるいは出力制御部33に出力する。読み出し対象の選択メモリセルの可変抵抗素子が高抵抗状態である場合には読み出し電流が小さく、逆に低抵抗状態である場合には読み出し電流が大きいため、信号DatCの大きさを判断することで読み出し対象メモリセル内の可変抵抗素子の抵抗状態を検出することができる。つまり、信号DatCが小さい場合には、対象メモリセルが高抵抗状態、すなわち「消去状態」であり、逆に、信号DatCが大きい場合には、対象メモリセルが低抵抗状態、すなわち「書き込み状態」であることが認識される。
 なお、読み出し動作時においても、選択ワード線に印加する電圧は、上記説明では+2Vとしたが、この値は一例であり、実際には選択トランジスタが導通するのに十分な電圧(いわゆるトランジスタの閾値電圧)以上であれば良い。また、選択ビット線に印加する電圧は、上記説明では+1Vとしたが、この値は一例であり、実際には、ソース線に印加される電圧との電位差によって可変抵抗素子の抵抗状態を検出可能で、且つ、同抵抗状態が変化しない範囲内(書き換え動作が起こらない範囲内)の電圧であれば良い。
 次に、図3に示すような1T1R型のメモリセルを備えた不揮発性半導体記憶装置の製造方法について簡単に説明する。図6は、このようなメモリセルの概略断面構造図である。なお、図6は、概念的に図示したものであり、図面上の寸法比と実際の寸法比は必ずしも一致するものではない。
 まず、半導体基板60に選択トランジスタTを形成する。即ち、素子分離領域61を形成した半導体基板60上にゲート絶縁膜62、ゲート電極63、及びドレイン拡散領域64とソース拡散領域65から構成される選択トランジスタTを形成する。この際、図示はしていないが、メモリセル以外の周辺回路(前述のメモリ制御部30等)を合わせて形成する。
 次に、BPSG(Boron Phosphorous Silicate Glass)からなる層間絶縁膜66を形成した後、公知のフォトリソグラフィ法とドライエッチング法により選択トランジスタTのドレイン領域64に到達するコンタクトホール67を開口する。そして、公知の手法で当該コンタクトホール67内のみをW等の導電性の金属材料で埋め込んだコンタクトプラグを形成する。
 次に、コンタクトホール67内に埋め込まれた導電性コンタクトプラグと可変抵抗素子Rを形成する下部電極69との電気的接続を安定に確保するためのオーミックコンタクト層68として、スパッタリング法によってTiN/Ti膜を厚さ100nm/50nmの厚みで形成する。そしてオーミックコンタクト層68上部に、TiN膜を膜厚200nmで成膜することで下部電極69を形成する。
 更に、この下部電極(TiN膜)69上に可変抵抗体膜70となる酸化チタンを膜厚5~50nmでDCマグネトロンスパッタリング法またはCVD法により形成する。次に、上部電極71として厚さ100nmのTiN膜を形成する。その後、公知のフォトリソグラフィ法とドライエッチング法により上部電極71、可変抵抗体膜70、下部電極69を順次加工し、可変抵抗素子Rを完成させる。
 なお、可変抵抗体膜70は酸化チタン膜に限定されるものではなく、酸化コバルト、酸化ニッケル、酸化亜鉛、酸化ニオブ等の遷移金属元素の酸化物についても利用可能である。また、遷移金属を形成後、酸化処理を施すことで可変抵抗体膜70を形成するものとしても良い。
 また、上部電極及び下部電極を、いずれもTiN(窒化チタン膜)で形成したが、電極材料は窒化チタンに限定されるものではなく、Ta,Pt,Ir,Os,Ru,Rh,Pd,Al,W等の他の金属材料を用いることもできる。
 このようにして可変抵抗素子Rが生成された後、当該可変抵抗素子R上に層間絶縁膜72を膜厚50~60nmで成膜し、可変抵抗素子R(上部電極71)に接続するコンタクトホール74及び選択トランジスタTのソース拡散領域65に接続するコンタクトホール73を開口する。
 次に、配線材料としてTiN/Al-Si/TiN/Tiを成膜し、公知のフォトリソグラフィ法とドライエッチング法により加工することで配線75及び配線76を形成する。
 次に、層間絶縁膜77を形成し、配線75あるいは配線76に到達するコンタクトホール(不図示)を形成した後、TiN/Al-Si/TiN/Tiを成膜し、公知のフォトリソグラフィ法とドライエッチング法により加工して配線78(加工パターンは図示せず)を形成する。最後に、プラズマCVD法により表面保護膜79としてSiN膜を形成し、メモリセル内に可変抵抗素子Rと選択トランジスタTを有する半導体記憶装置が完成する。
 なお、上述した製造手順では、周辺回路のコンタクトホール形成、配線加工等は省略して記述しているが、それぞれメモリセル内の形成時に合わせて形成すれば良い。
 また、上記では、1T1R構成のメモリセルの場合における製造方法並びに駆動方法について説明をしたが、メモリセルの構成は1T1R型に限られるものではない。例えば、他の例としては、ビット線及びワード線を上部電極若しくは下部電極に夫々直接接続して、両電極間の交点(クロスポイント)にある可変抵抗体のデータを直接読み出すメモリセル構成、いわゆるクロスポイント型(1R型)のメモリセルとすることもできる。さらには、クロスポイント構成での寄生電流低減のため、可変抵抗素子Rとダイオードを直列に接続した1D1R構成のメモリセルとすることもできる。該ダイオードは、可変抵抗体に対して上部電極若しくは下部電極の外側に直列に接続する構造が一般的であるが、ダイオードを可変抵抗体と上部電極との間に、若しくは可変抵抗体と下部電極との間に配置する構造としても良い。ダイオードとしては、PNダイオード特性又はショットキーダイオード特性を示す材料、又はZnOやBi等のバリスタなどが用いられる。
 [第2実施形態]
 本発明の第2実施形態(以下、適宜「本実施形態」という)につき、図7~図8の各図を参照して説明する。
 本実施形態は、第1実施形態と比較して書き込み及び読み出しの処理手順が異なるのみであり、その構成要素は第1実施形態の場合(図1)と同一である。以下では、処理手順についてのみ、タイミングチャートを参照しながら説明し、各構成要素についての説明は割愛する。なお、本実施形態でも、データが1ビットの場合を想定して説明するが、図2を参照して説明したように、メモリ制御部30に複数のメモリユニットが接続されている構成とみなすことで、多ビットのデータについても同様に扱うことができる。
 本実施形態は、書き込み及び読み出し処理時において、プリフェッチ技術を用いる点が第1実施形態と異なる。プリフェッチとは、近年の読み出し/書き込み速度の高速化の要求から、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)等の高速なメモリで用いられている技術であり、読み出し時には、複数のメモリセルから並列に読み出したデータを一旦バッファに取り込み、1列に並べ直してメモリ外部へと出力することにより高速化を図り、逆に書き込み時には、メモリに入力されたデータ列を一旦バッファに取り込み、複数のメモリセルに並列に書き込むことにより高速化を図る技術である。
 図7は、本実施形態における不揮発性半導体記憶装置(メモリ)へのバースト書き込み処理の手順を示すタイミングチャートである。図7では、図4の場合と同様、クロック同期式のメモリでバースト長が4である場合が想定されている。一方で、図7では、図4の場合と違って2ビットプリフェッチが適用されている。
 メモリ制御部30に対し、行アドレス指定コマンド「A」及び行アドレス「R1」が与えられると(時刻t2)、コマンド「A」を受けた命令解釈部31は、適切なタイミング(例えばt3~t4間)で、コマンド「A」を信号ComCとして行アドレスバッファ35に送る。行アドレス「R1」は、一旦バッファ32に取り込まれた後、信号ComCとしてコマンド「A」が出力されるのと同期して信号AddCとして行アドレスバッファ35及び読み出し制御部36に対して出力される。行アドレスバッファ35は、信号ComCとして入力されたコマンド「A」をトリガとして、信号AddCとして入力された行アドレス「R1」を内部のバッファに保持する。
 続いて、メモリ制御部30に、書き込みコマンド「W」と指定アドレス「C1」が与えられると(時刻t4)、コマンド「W」を受けた命令解釈部31は、適切なタイミング(例えばt5~t6間)で、読み出し制御部36、読み書き切換制御部41に対して信号ComCとしてコマンド「R」を出力する。また、アドレス「C1」は、一旦バッファ32に保持された後、信号ComCとしてコマンド「R」が出力されるのと同期して、信号AddCとして読み出し制御部36に出力される。読み出し制御部36は、信号ComCとして入力されるコマンド「R」をトリガとして、信号AddCとして入力されるアドレス「C1」を内部のバッファに保持する。また、命令解釈部31は、適切なタイミングで信号R/Wを「High」レベルとする。
 読み出し制御部36は、コマンド「R」を1回受ける毎に、バースト長相当分(ここでは4回分)の連続するアドレス値を信号AddCrとしてサブバンク入れ換え部42に対して出力する。なお、本実施形態では2ビットプリフェッチを採用しているため、2ビット毎にアドレスを指定して信号AddCrを出力することになる。具体的には、前記t5~t6間に受けたコマンド「R」に対しては、時刻t6~t7間にアドレス「C1」を出力し、時刻t8~t9間にアドレス「C1+2」を出力する。そして、このアドレスを出力している間(時刻t6~t7間、t8~t9間)及びその直後の1サイクル間(時刻t7~t8間、t9~t10間)にわたって、読み出し制御部36は「High」レベルの信号REをサブバンク入れ換え部42に出力する。これは、本実施形態では、サブバンクからのデータ読み出しに2サイクルを要すること(2ビットプリフェッチが適用されること)が前提となっているため、サブバンクへのアクセス自体を2サイクル周期とする必要があり、読み出し/書き込みの切り換えも2サイクル周期とする必要がある。そこで、読み出し/書き込みの切り換え制御のための信号REも、2サイクル周期で切り換わる信号としている。ちなみに、4ビットプリフェッチを適用した場合には、4サイクル周期とすれば良いことになる。
 また、第1実施形態の場合と同様、メモリ制御部30は、前記「W」コマンドが入力されると同時に(時刻t4)、書き込み対象データの入力も開始される。本実施形態で説明する実施例では、バースト長が4であるので、1つの「W」コマンドに対し4つの書き込み対象データ(D0、D1、D2、D3)が入力される(時刻t4~t7)。入力された書き込み対象データは、時刻t9以後に、比較部37においてサブバンク52Aまたは52Bから読み出された既書き込みデータとの比較が行われるまで、バッファ34で一時的に蓄積される。
 図7のタイミングチャートでは、図4の場合と同様、サブバンクへのアクセス開始を時刻t7としているため、この時点で、行アドレスバッファ35が行デコーダ53に対して行アドレス「R1」を示す信号Rowを供給し、当該行アドレス線をアクティブ化している。もちろん、この時刻t7よりも早いタイミングで当該行アドレス線をアクティブとしても良い。
 時刻t7以後、読み出し制御部36から与えられた信号RE(読み出しトリガ信号に相当)、及び信号AddCr(読み出し指定アドレス信号に相当)に基づき、サブバンク入れ換え部42は、列デコーダ51A,51Bを介して、サブバンク52A,52Bへの読み出し処理を開始する。サブバンク入れ換え部42は、読み書き切換制御部41から入力される信号SBSelが「Low」の場合は、列デコーダ51Aに対して読み出し指示を行い、信号SBSelが「High」の場合は、列デコーダ51Bに対して読み出し指示を行う。すなわち、サブバンク入れ換え部42は、信号SBSelによって読み出し対象となるサブバンクを52Aと52Bの間で入れ換える。このとき、前記のとおり、本実施形態の場合には、サブバンクへのアクセスを2サイクル周期とする必要があるため、信号SBSelによる読み出し対象サブバンクの切り換えタイミングも2サイクル周期となる。
 そして、本実施形態では、連続する2アドレスが同一のサブバンク内に割り当てられ、2アドレス毎に異なるサブバンクに割り当てられる構成である。すなわち、アドレスC1及びC1+1は同一のサブバンク内に存在する一方、アドレスC1+2及びC1+3は、別のサブバンク内に存在することになる。ここでは、アドレスC1及びC1+1がサブバンク52Aに存在し、アドレスC1+2及びC1+3がサブバンク52B内に存在するものとして説明する。
 サブバンク入れ換え部42は、信号REが「High」である間、読み出し指示を列デコーダ51Aまたは51Bに与える。まず、時刻t7~t8において、信号SBSelが「Low」であることより、列デコーダ51Aに対し、信号AddCrによって指定されたアドレスC1及び、このアドレスC1に連続するアドレス(すなわちアドレスC1+1)に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行アドレスは、行デコーダ53によって指定された行アドレス(信号Rowによって指定された行アドレスR1)がアクティブとなっている。そして、時刻t7~t9までの間に、列デコーダ51Aはサブバンク52AからアドレスC1及びC1+1に対応したメモリセルの既書き込みデータを信号DRAとしてサブバンク入れ換え部42に送出する(データQ0,Q1)。
 第1実施形態の場合、時刻t7~t8間に、読み出しコマンド「R」及び読み出し指定アドレス「C1」が与えられると、当該アドレスC1に対応したメモリセルの既書き込みデータが読み出された。これに対し、本実施形態の場合、完全に既書き込みデータの読み出しが完了するまでには時刻t7~t9までの時間を要する一方、読み出し対象アドレスは「C1」及び「C1+1」の2つのアドレスとなる。つまり、列デコーダ51Aへの読み出しコマンド入力から、読み出しデータDRAの出力まで2サイクルの時間を要する反面、2アドレス分のデータが読み出される構成であるため、結果として、第1実施形態と同様に、1サイクル当たり1アドレス分のデータが得られることになる。
 次に、時刻t9~t10において、信号SBSelが「High」であることより、サブバンク入れ換え部42は、列デコーダ51Bに対し、信号AddCrによって指定されたアドレスC1+2、及び、このアドレスC1+2に連続するアドレス(すなわちアドレスC1+3)に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行デコーダ53によって指定された行アドレスがアクティブとなっている(信号Rowによって指定された行アドレスR1)。そして、時刻t9~t11までの間に、列デコーダ51Bはサブバンク52BからアドレスC1+2及びC1+3に対応したメモリセルの既書き込みデータを信号DRBとしてサブバンク入れ換え部42に送出する(データQ2,Q3)。
 そして、時刻t9~t10間に、サブバンク入れ換え部42によってマージされた読み出しデータ(Q0~Q1)が、読み出し回路43において増幅された後、信号DatCとして比較部37に出力される。同様に、時刻t11~t12間に、サブバンク入れ換え部42によってマージされた読み出しデータ(Q2~Q3)が、読み出し回路43において増幅された後、信号DatCとして比較部37に出力される。信号DatCからデータが出力されていることは、信号DEがアクティブ(High)となることで示される。
 比較部37は、命令解釈部31から与えられる信号R/Wが「High」である場合に、信号DEがアクティブであると比較演算を行う。このとき、信号DEをトリガとして、前記信号DatCと、バッファ34から出力される書き込み対象データDatOとの比較を行う。具体的には、比較部37は、時刻t9~t10間には書き込み対象データであるD0~D1と、サブバンク52Aから読み出したQ0~Q1を比較し、その結果をデータG0~G1として書き込み制御部39に出力する(信号Comp)。同様に、比較部37は、時刻t11~t12間には書き込み対象データであるD2~D3と、サブバンク52Bから読み出したQ2~Q3を比較し、その結果をデータG2~G3として書き込み制御部39に出力する(信号Comp)。
 書き込み制御部39は、比較部37から入力された信号Compのデータに基づいてサブバンク入れ換え部42に対してデータの書き込み制御を行う。具体的には、バッファ38に保持されていたアドレスに、バッファ34に保持されていた書き込み対象データのうち、比較部37から指定されたビットを書き込むという指示を出す。このとき、書き込み制御部39は、サブバンク入れ換え部42に対し、信号AddOwによってアドレスを指定し、信号WEによって書き込みビットを指定し、信号DatOwによって書き込み対象データを指定する(時刻t10~t11間、t12~t13間)。なお、書き込みビットを示す信号WEは、比較部37から与えられる信号Compに基づいて生成され、既書き込みデータと書き込み対象データの比較結果が異なるビットのみが書き込みビットとして指定される。
 サブバンク入れ換え部42は、書き込み制御部39から前記データ書き込み指示を受けると、列デコーダ51A,51Bに対して書き込み指示を行う(時刻t13~t17間)。このとき、一の列デコーダに対して読み出し処理が行われている間には、それとは別の列デコーダに対して書き込み指示を与える。より具体的には、例えば、時刻t13~t15間には列デコーダ51Aに対して書き込み指示を与え、時刻t15~t17間には列デコーダ51Bに対して書き込み指示を与える。これにより、列デコーダ51Bに対して読み出し指示が与えられている時刻t13~t15間に、列デコーダ51Aに対して書き込み指示が与えられる構成となる。また、列デコーダ51Aに対して読み出し指示が与えられている時刻t15~t17間に、列デコーダ51Bに対して書き込み指示が与えられる構成となる。
 なお、列デコーダ51Aに出力される信号WEAと、列デコーダ51Bに出力される信号WEBは、前述した信号WEによる書き込みビットの指定が反映されているため、前記比較部37による比較結果が異なるビットのみが指定された信号となる。すなわち、各サブバンク52A,52Bの双方とも、書き込み対象データが既書き込みデータと異なる値を取ったビットのみが書き込まれることになる。
 また、図7では、信号DWA,DWBは一部破線で示されている。これは本実施形態が各メモリセルへの書き込みに2サイクルを要する方式であることから、一サイクル前から引き続いて書き込み処理が行われ、この2サイクル目に書き込み処理が完了することを示すものである。
 本実施形態においては、サブバンクに対するアクセスが、読み出しサイクル2サイクルと、書き込みサイクル2サイクルの繰り返しで行われるため、書き込み制御部39が書き込み指示を出力した後、サブバンク入れ換え部42が列デコーダ51A,51Bに書き込み指示を出すまでに2サイクルのタイミング調整時間が必要となる(図7における信号RWAとRWBのタイミングを参照)。このタイミング調整やこれに要するバッファリングも、サブバンク入れ換え部42内で行われるものとして良い。
 このようにして、時刻t4に入力された「W」コマンドに対応した書き込み対象データ(D0~D3)は、時刻t13~t17間において各サブバンク内に書き込みが完了する(もしくは同一の既書き込みデータがそのまま利用される)。時刻t8に入力された「W」コマンドに対応した書き込み対象データ(D4~D7)に対しても、前記と同様の処理を行う。このとき、図7を参照すれば、データD2及びD3の書き込みが完了した時刻t15~t17間のタイミングに続いて、時刻t17~t19間にデータD4及びD5のサブバンク51Aへの書き込みが行われる。すなわち、書き込みコマンド「W」が(バースト長の間隔で)連続してメモリ制御部30に入力された場合であっても、書き込みにタイムラグが生じず、これによって書き込み速度が遅くなるということがない。そして、このように書き込みコマンド「W」が(バースト長の間隔で)連続して入力された場合であっても、書き込みに要する時間を確保することができており、書き込みエラーになることもない。
 次に、図8のタイミングチャートを用いて、具体的な読み出し動作の手順を説明する。なお、図8の場合も、図7と同様、バースト長が4の場合を例示している。読み出し動作は、図7に示した書き込み動作手順において、比較部37による比較処理、書き込み制御部39及びサブバンク入れ換え部42による書き込み指示、両列デコーダ51A,51Bによる書き込み処理が行われないものと考えれば良い。
 メモリ制御部30に対し、行アドレス指定コマンド「A」及び行アドレス「R1」が与えられると(時刻t2)、書き込み動作の場合と同様、コマンド「A」を受けた命令解釈部31は、適切なタイミング(例えばt3~t4間)で、コマンド「A」を信号ComCとして行アドレスバッファ35に送る。行アドレス「R1」は、一旦バッファ32に取り込まれた後、信号ComCとしてコマンド「A」が出力されるのと同期して信号AddCとして行アドレスバッファ35及び読み出し制御部36に対して出力される。行アドレスバッファ35は、信号ComCとして入力されたコマンド「A」をトリガとして、信号AddCとして入力された行アドレス「R1」を内部のバッファに保持する。
 続いて、メモリ制御部30に、読み出しコマンド「R」と指定アドレス「C1」が与えられると(時刻t4)、コマンド「R」を受けた命令解釈部31は、適切なタイミング(例えばt5~t6間)で、読み出し制御部36、読み書き切換制御部41に対して信号ComCとしてコマンド「R」を出力する。また、アドレス「C1」は、一旦バッファ32に保持された後、信号ComCとしてコマンド「R」が出力されるのと同期して、信号AddCとして読み出し制御部36に出力される。読み出し制御部36は、信号ComCとして入力されるコマンド「R」をトリガとして、信号AddCとして入力されるアドレス「C1」を内部のバッファに保持する。ただし、命令解釈部31は、入力されたコマンドが読み出しコマンド「R」であるため、書き込み時と違って「Low」レベルの信号R/Wを出力する。この信号R/Wは、例えば命令解釈部31に対して書き込みコマンド「W」が入力されるまでの間、「Low」が維持されるものとしても構わない。
 読み出し制御部36は、書き込み時と同様、コマンド「R」を1回受ける毎に、バースト長相当分の連続するアドレス値を信号AddCrとしてサブバンク入れ換え部42に対して出力する。ただし、本実施形態の場合、2ビットプリフェッチを採用しているため、2ビット毎にアドレスを指定して信号AddCrを出力する。具体的には、前記t5~t6間に受けた「R」コマンドに対し、時刻t6~t7間にアドレス「C1」を出力し、時刻t8~t9間にアドレス「C1+2」を出力する。そして、このアドレスを出力している間(時刻t6~t7間、t8~t9間)及びその直後の1サイクル間(時刻t7~t8間、t9~t10間)にわたって、読み出し制御部36は「High」レベルの信号REをサブバンク入れ換え部42に出力する。
 そして時刻t7以後、書き込み処理時の場合と同様に、読み出し制御部36から与えられた信号RE(読み出しトリガ信号に相当)、及び信号AddCr(読み出し指定アドレス信号に相当)に基づき、サブバンク入れ換え部42及び列デコーダ51A,52Bを介して、サブバンク52A,52Bへの読み出し処理が開始される。サブバンク入れ換え部42は、読み書き切換制御部41から入力される信号SBSelの値(High/Low)により、読み出し対象サブバンクをサブバンク52A,52B間で振り分け、これによって、各サブバンク52A,52Bから交互に読み出し処理が行われる。そして、読み出されたデータ(Q0~Q1)は、サブバンク入れ換え部42を介して読み出し回路43に与えられ、ここで増幅処理が施された後、信号DatCとして出力制御部33に送られる(時刻t9~t12)。信号DatCからデータが出力されていることは、信号DEがアクティブ(High)となることで示される。出力制御部33は、入力された信号R/Wが「Low」レベルであることを認識し、さらに信号DEがアクティブである場合に、入力された信号DatCをメモリバス21へと送出する。
 なお、本実施形態では、2つのデータ(例えばQ0とQ1)が信号DatCとして読み出し回路43から出力制御部33に送られる構成である。このため、2データを2サイクルの時間を用いて信号DatCとして出力するものとして良いし、1サイクル毎に1データずつ順次読み出すものとしても良い(図8は後者)。後者の場合、例えば時刻t9~t10間にデータQ0を信号DatCとして出力し、時刻t10~t11間にデータQ0を信号DatCとして出力する構成とすることができる。この場合、出力制御部33は、信号DatCが示すデータを1サイクル時間バッファリング可能な構成となる。
 このようにして、アドレスC1~C1+3に対応したメモリセルのデータ(Q1~Q3)が、時刻t10~t14にかけて読み出される。
 なお、時刻t4に引き続き、時刻t8において読み出しコマンド「R」、及び読み出し用行アドレス「C2」が入力された場合においても、時刻t11~t15にかけて各サブバンクに対してアドレスC2~C2+3に係るメモリセルの読み出し指示が行われ、これによって時刻t14~t18にかけて当該アドレス位置のデータがメモリ制御部のデータバスから出力される。つまり、読み出しコマンド「R」が(バースト長の間隔で)連続してメモリ制御部30に入力された場合であっても、読み出しにタイムラグが生じず、これによって読み出し速度が遅くなるということがない。同様に、読み出しコマンド「R」の後に書き込みコマンド「W」が入力された場合や、その反対の場合においても、タイムラグを生じることがない。
 以上、本実施形態では、2ビットプリフェッチを適用した場合のメモリの動作内容について説明したが、それ以上の多ビットプリフェッチを適用したメモリにおいても同様の方法で書き込み/読み出しを実行することができる。そして、本実施形態も、第1実施形態の場合と同様、書き込みコマンド「W」が与えられた場合、実際にメモリセルに対する書き込み処理を行う前に書き込み対象のメモリセルから既書き込みデータの読み出しを行って書き込み対象データとの比較を行い、比較結果が異なる場合にみ当該メモリセルに対して書き込み対象データの書き込み処理を行う構成である。従って、従来の書き込み処理と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。
 [第3実施形態]
 本発明の第3実施形態(以下、適宜「本実施形態」という)につき、図9~図14の各図を参照して説明する。
 本実施形態は、第1及び第2実施形態と比較して、サブバンク(メモリセルアレイ)を一つ有する構成である。すなわち、第1及び第2実施形態のように、複数のサブバンク間で書き込みと読み出しを並列して実行するという処理が行えない構成である。
 すなわち、本実施形態は、既書き込みデータを読み出して書き込み対象データとの比較結果が異なっている場合に、対象となるメモリセルに対して書き込み対象データの書き込みを行っている間、別のメモリセルの既書き込みデータを読み出して、書き込み対象データと比較を行うという形態を採用することができない。このため、連続して書き込み対象データを入力されても、一の書き込み処理が完了するまで次の書き込み対象データと既書き込みデータとの比較処理が行えない。すなわち、本実施形態の場合には、一のアドレス毎にデータ読み出しまたは書き込みの処理を実行する必要があることから、メモリアクセスをバーストにする意味はない。従って、以下ではメモリアクセスの設定がバーストでないものとして説明を行う。
 図9は、本実施形態における不揮発性半導体記憶装置の概念的構造を示すブロック図であり、図1に示す構成図と比較して、サブバンク52B、列デコーダ51Bを備えない。すなわち、サブバンク(メモリセルアレイ)52Aを単独で備える構成であるため、読み出しと書き込みを切り換えながら実行するという制御が不要である。このため、図1における読み書き切換制御部41を備えない。また、読み出しや書き込みのタイミングを制御する必要がないため、読み出し制御部36や書き込み制御部39も不要である。さらに、複数のサブバンクを入れ換えるという動作を伴わないため、当然にサブバンク入れ換え部42を備えない。
 また、バースト読み出しやバースト書き込みを行わない構成であるため、入力される一のアドレスに基づいて、バースト長相当分連続するアドレスを演算して展開する必要がない。このため、読み出し制御部36及びバッファ38が不要である。
 このため、図9に示すように、本実施形態における不揮発性半導体記憶装置のメモリ制御部30は、命令解釈部31、バッファ32、出力制御部33、バッファ34、行アドレスバッファ35、比較部37、読み出し/書き込み制御部40、及び読み出し回路43を備える構成である。なお、読み出し/書き込み制御部40は、内部にアドレスバッファ44を備える。
 なお、本実施形態においても、第1実施形態と同様、図9におけるデコーダ部(行デコーダ53,列デコーダ51A)及びサブバンク52Aは、説明の都合上、1アドレスに対し1ビットのデータを持つ形態を想定した図示となっている。多ビットのデータを扱う場合には、これらは図10に示されるような構成を取る。言い換えれば、図10にされる複数の各メモリユニットや各デコーダ部を、まとめて一つに図示したのが図9の構成である。なお、図10は、第1実施形態で説明した図2から、サブバンクB及び列デコーダBを削除した構成であるため、説明の重複を避けるべく、各構成要素の接続関係等の説明を省略する。
 本実施形態における書き込み動作について図11のタイミングチャートを参照して説明する。
 CPU10からメモリアクセス制御部20に、CPUバスコマンド(書き込み)「CW」,CPUバスアドレス「CA1」,及びCPUバスデータ(書き込み対象データ)「CD1」が送られると、メモリアクセス制御部20はこれをメモリ制御部30に適した形式に変換し、メモリバス21を介して、メモリ制御部30に送出する。具体的には、CPUバスアドレス「CA1」を上位部分「AA1(行アドレス)」と下位部分「WA1(列アドレス)」とに分割し、メモリバス21のコマンドに「AC(行アドレス指定コマンド)」を出力した時に行アドレス「AA1」を、メモリバス21のコマンドに「WC(書き込みコマンド)」を出力した時に列アドレス「WA1」を、メモリバス21のアドレスに出力する。結果として、メモリバス21のコマンドに出力された「AC」と「WC」は命令解釈部31に与えられ、メモリバス21のアドレスに出力された「AA1」と「WA1」はバッファ32に与えられる。また、メモリバス21のコマンドに「WC」を出力した際には、メモリバスデータ21のデータに「WD1」が出力され、バッファ34に供給される。尚、前記「WD1」は前記「CD1」と同一値である。
 命令解釈部31は、入力されたコマンドが行アドレス指定コマンド「AC」であることを認識すると、これを信号ComCとして行アドレスバッファ35に送る。それと同期して、バッファ32から信号AddCとして行アドレス「AA1」が行アドレスバッファ35に送られるので、行アドレスバッファ35は行アドレス指定コマンド「AC」をトリガとして、行アドレス「AA1」を信号Rowとして行デコーダ53に送る。行デコーダ53はサブバンク52Aのこの信号Rowで指定された行アドレスをアクティブとする。
 また、命令解釈部31は、入力されたコマンドが書き込みコマンド「WC」であることを認識すると、これを信号ComCとして読み出し/書き込み制御部40に送る。これに同期して、バッファ32から信号AddCとして列アドレス「WA1」が読み出し/書き込み制御部40に送られるので、読み出し/書き込み制御部40は、前記ComCとして送られてきた「WC」をトリガとして、内部のアドレスバッファ44にこの「WA1」を記憶する。命令解釈部31は、書き込みコマンド「WC」を受け取ると、第1実施形態と同様、信号R/Wをアクティブ(High状態)にして出力制御部33及び比較部37に与える。
 読み出し/書き込み制御部40は、前記のように書き込みコマンド「WC」により、書き込み処理の指示を受けると、アドレスバッファ44に書き込みアドレス「WA1」が書き込まれた後で、メモリバス25を介して、列デコーダ51Aに対し読み出しコマンド「RC」と読み出しアドレスを出力する。なお、このときの読み出しアドレス値には、バッファ32から信号AddCとして与えられ、アドレスバッファ44に記憶されていた書き込みアドレス「WA1」を用いる。
 列デコーダ51Aは、前記読み出しコマンド「RC」及び読み出しアドレス「WA1」を受け取ると、同アドレスに対応したメモリセル(選択メモリセル)の両端に読み出し用電圧が印加されるよう、ビット線に所定電圧を印加する。なお、ワード線、ソース線は、行アドレスバッファ35から信号Rowとして行デコーダに行アドレス「AA1」が与えられた時点で選択メモリセルに所定電圧が印加(アクティブ化)されている。そして、前記選択メモリセルに接続される電圧線を流れる電流値を、読み出し/書き込み制御部40を介して読み出し回路43によって読み出す。これによって、前記選択メモリセルに格納されている既書き込みデータRD1が読み出される。
 読み出し回路43は、既書き込みデータRD1を信号DatCとして比較部37に出力する。また、前記データRD1の出力タイミングを示す信号DEを比較部37に出力する。比較部37は、信号R/Wがアクティブ(High状態)であるため、前記信号DEにより読み出しデータRD1が出力されていることを検知すると、その読み出しデータRD1と信号DatOとしてバッファ34から与えられる書き込み対象データWD1との比較を行う。そして、比較した結果Comp(図11上ではCmp1に相当)が不一致であった場合には、読み出し/書き込み制御部40に書き込み処理の実行を指示し、読み出し/書き込み制御部40によって同メモリセルに対して書き込み対象データWD1の書き込み指示が与えられる。一方、前記比較結果Cmp1が一致であった場合には何も行わない
 具体的には、読み出し/書き込み制御部40は、前記書き込み処理の実行を指示されると、メモリバス25を介して、列デコーダ51Aに対し、書き込みコマンドWC1、書き込みアドレス、及び書き込み対象データを出力する。書き込みアドレスには、バッファ32から信号AddCとして与えられ、アドレスバッファ44に記憶されていたアドレスWA1を用い、書き込み対象データには、バッファ34から信号DatOとして与えられるデータWD1を用いる。なお、バッファ34はFIFOバッファであり、入力された書き込み対象データを一定期間遅延させて出力するようになっている。本実施形態においては、図11に示したように、バッファ34にデータが入力されてから比較部37で比較が行われるまでの時間間隔は一定であるので、FIFOを用いて遅延させるだけで足りる。列デコーダ51Aは、前記書き込みコマンド、書き込みアドレス、及び書き込み対象データを受け取ると、同アドレスに対応したメモリセル(選択メモリセル)の両端に、前記書き込み対象データを書き込むための書き込み用電圧が印加されるようビット線に所定電圧を印加する。なおワード線、ソース線は、前記読み出し処理の時と同様に、行アドレスバッファ35から信号Rowとして行デコーダに「AA1」が与えられた時点で選択メモリセルに所定電圧が印加(アクティブ化)されている。以上のようにして、前記選択メモリセルに対して書き込み処理が実行される。
 CPUバスコマンドを発行してから一定時間経過すると、本実施形態の不揮発性半導体記憶装置は、新たなコマンド入力を受け付けるようになる。前記一定時間とは、直前のコマンド処理に影響を及ぼさない最短の時間のことである。これを図11を例に説明する。CPU10から出されたアドレス「CA1」にデータ「CD1」を書き込むコマンドCWが正常に完了するためには、メモリバス25のコマンドに「WC」が入力されるまで、行デコーダに信号Rowとして入力される値が「AA1」であり続ける必要がある。従って、次のコマンドはそれを満たすような時間つまり、図11中の「最小書き込み時間」だけ間を置いて入力されなければならないことになる。
 なお、同図における2回目の書き込み処理は、書き込み対象データWD2(=CD2)と書き込みアドレスWA2の既書き込みデータが一致している場合(比較部37における比較結果Cmp2が一致を示している場合)を示している。この場合、比較処理完了後、実際には読み出し/書き込み制御部40からメモリセルに対して書き込み処理の指示が与えられないため、図11上では、コマンドWC,アドレスWA2,データWD2を破線で表し、実際には書き込み処理が行われないことを示している。
 なお、書き込み処理時には、命令解釈部31から出力制御部33に「High」状態を示す信号R/Wが与えられるため、比較処理のために読み出し回路43によって読み出された既書き込みデータはデータバス21に出力されない。
 本実施形態では、メモリセルへの書き込み処理の際、1)メモリセルからの既書き込みデータの読み出し処理、2)既書き込みデータと書き込み対象データの比較処理、3)メモリに対する書き込み対象データの書き込み処理、という各手順を順次処理するため、メモリ書き込みに要する時間が従来のメモリよりも、読み出し並びに比較処理を行う分だけ長くなる。従って、CPU10は、前記メモリセルに対する書き込み処理に要する最大時間(すなわち比較結果が異なる場合における書き込み処理が完了するまでの時間)よりも長い時間を持ってから、各コマンドを出力する必要がある。これは、例えば、CPU10自身が書き込みコマンドの出力間隔を長くすることで対処可能である。
 次に、本実施形態における読み出し動作について図12のタイミングチャートを参照して説明する。
 CPU10からメモリアクセス制御部20に、CPUバスコマンド(読み出し)CR,及びCPUバスアドレスCA1が送られると、メモリアクセス制御部20は、これをメモリ制御部30に適した形式に変換し、メモリバス21を介して、メモリ制御部30に送出する。具体的には、CPUバスアドレス「CA1」を上位部分「AA1(行アドレス)」と下位部分「RA1(列アドレス)」とに分割し、メモリバス21のコマンドに「AC(行アドレス指定コマンド)」を出力した時に「AA1」を、メモリバス21のコマンドに「RC(読み出しコマンド)」を出力した時に「RA1」を、メモリバス21のアドレスに出力する。結果として、メモリバス21のコマンドに出力された「AC」と「RC」は命令解釈部31に与えられ、メモリバス21のアドレスに出力された「AA1」と「RA1」はバッファ32に与えられる。
 命令解釈部31は、入力されたコマンドが行アドレス指定コマンド「AC」であることを認識すると、これを信号ComCとして行アドレスバッファ35に送る。それと同期して、バッファ32から信号AddCとして行アドレス「AA1」が行アドレスバッファ35に送られるので、行アドレスバッファ35は行アドレス指定コマンド「AC」をトリガとして、行アドレス「AA1」を信号Rowとして行デコーダ53に送る。行デコーダ53はサブバンク52Aのこの信号Rowで指定された行アドレスをアクティブとする。
 また、命令解釈部31は、入力されたコマンドが読み出しコマンド「RC」であることを認識すると、これをComCとして読み出し/書き込み制御部40に送る。これに同期して、バッファ32から信号AddCとして列アドレス「RA1」が読み出し/書き込み制御部40に送られるので、読み出し/書き込み制御部40は内部のアドレスバッファ44にこの「RA1」を、前記ComCとして送られてきた「RC」をトリガとして記憶する。さらに、命令解釈部31は、R/W信号をインアクティブ(「Low」状態)として、出力制御部33及び比較部37に与える。
 読み出し/書き込み制御部40は、メモリバス25を介して列デコーダ51Aに対し、読み出しコマンドRCと読み出しアドレスを出力する。読み出しアドレス値としては、バッファ32から信号AddCとして与えられ、アドレスバッファ44に記憶されていた読み出しアドレス値RA1を用いる。列デコーダ51Aは、前記指示を受けると、読み出しアドレス値RA1に対応したメモリセル(選択メモリセル)の両端に読み出し用電圧が印加されるよう、ビット線に所定電圧を印加する。なお、ワード線、ソース線は、行アドレスバッファ35から信号Rowとして行デコーダに「AA1」が与えられた時点で選択メモリセルに所定電圧が印加(アクティブ化)されている。そして、前記選択メモリセルに接続される電圧線を流れる電流値を、読み出し/書き込み制御部40を介して読み出し回路43によって読み出す。これによって、前記選択メモリセルに格納されている既書き込みデータRD1が読み出される。
 読み出し回路43は、前記データRD1の出力タイミングを示す信号DEを出力する。出力制御部33は、与えられる信号R/WがLow状態であることから、前記信号DEをトリガとして、信号DatCとして読み出し回路43から送られる既書き込みデータRD1を、データバス21を介してメモリアクセス制御部20に出力する。メモリアクセス制御部20は、この読み出しデータRD1をCPUバス11を介してCPU10に与える。なお、信号R/WがLow状態であるため、比較部37は、信号DatCとして読み出し回路43から送られる既書き込みデータRD1を用いた比較処理を行わない。
 上述した本実施形態の不揮発性半導体記憶装置の処理は、ビット幅(ワード)単位で処理されることを前提としたものであるが、図13に示す構成のように、メモリバス25にデータのビットイネーブルを伝送する仕組みを追加すれば、書き込みの可否をビット毎の一致・不一致で行うことも可能である。この場合、メモリセルはビット単位での書き込み処理が可能であることが前提となる。ビット単位での書き込みは、図10における、WEA[1:j](jはワードのビット幅を示す)に、比較部37の比較結果の信号Compを適用することにより実現できる。
 なお、図11,図12に示したタイミングチャートは、本実施例の原理を示すものであるが、バスの条件やシステム上の制約等によって、クロックの乗せ換えやアドレス値、データビット幅の変換等の処理が必要となる場合がある。しかし、これらの処理は、必要に応じて適宜選択して適用すればよく、本発明の主旨とは異なるため説明を割愛する。
 なお、本実施形態において、メモリ制御部30で実現している処理は、ソフトウェアによって実現することも可能である。即ち、CPU10上で実行されるソフトウェア(あるいはファームウェア)が、図14に示されたような手順でメモリへの書き込み処理を行うことにより、前記メモリ制御部30により実現している処理と同等の処理が実現できる。
 図14は、本実施形態における処理をソフトウェアによって実現する場合の処理手順を示すフローチャートである。
 まず、CPU10内部で実行されるプログラムにおいて、メモリセルへの書き込み要求が発生すると(ステップS100)、前記要求の書き込み対象データを保存する(ステップS101)。前記書き込みデータの保存先としては、CPU10内部のレジスタやキャッシュ(図示なし)が望ましいが、外部にSRAMやDRAMが接続されている場合にはそれらを利用しても良い。
 なお、前記ステップS100における書き込み要求時には、書き込み対象データの他、書き込み先アドレスも併せて与えられる。
 次に、CPU10は、ステップS100の書き込み要求で指定された書き込み先アドレスに対し、既書き込みデータの読み出し処理を実行する(ステップS102)。そして、読み出された既書き込みデータ(データR)を受け取ったら(ステップS103)、ステップS101で保存しておいた書き込み対象データ(データW)を読み出して(ステップS104)、既書き込みデータとの比較を行う(ステップS105)。
 そして、前記ステップS105における比較処理において、既書き込みデータと書き込み対象データが一致した場合には(ステップS105においてYes)、そのまま何もせずにステップS100において発生した書き込み要求に対応する書き込み処理を終了する。一方、前記比較結果が不一致の場合には(ステップS105においてNo)、書き込み対象データを書き込み先アドレスに書き込む処理を実行し(ステップS106)、ステップS100において発生した書き込み要求に対応する書き込み処理を終了する。
 また、CPU10内部でメモリセルへの読み出し要求が発生した場合については、既存のCPUの読み出し処理と同じ手順で処理が行われる。
 なお、以上の各実施形態では、メモリセルをRRAMで構成されるものとして説明を行ったが、RRAM以外の不揮発性記憶素子で構成されるものとしても構わない。
   1:  不揮発性半導体記憶装置
   10:  CPU
   11:  CPUバス
   20:  メモリアクセス制御部
   21:  メモリバス
   25:  メモリバス
   30:  メモリ制御部
   31:  命令解釈部
   32:  バッファ
   33:  出力制御部
   34:  バッファ
   35:  行アドレスバッファ
   36:  読み出し制御部
   37:  比較部
   38:  バッファ
   39:  書き込み制御部
   40:  書き込み/読み出し制御部
   41:  読み書き切換制御部
   42:  サブバンク入れ換え部
   43:  読み出し回路
   44:  アドレスバッファ
   45:  データバッファ
   50:  メモリ
   51A,51B:  列デコーダ
   51A0、51A1、51A2、51A3、51B0、51B1、51B2、51B2:列デコーダ
   52A,52B:  メモリセルアレイ(サブバンク)
   52A0、52A1、52A2、52A3、52B0、52B1、52B2、52B3:サブバンク
   53: 行デコーダ
   60:  半導体基板
   61:  素子分離領域
   62:  ゲート絶縁膜
   63:  ゲート電極
   64:  ドレイン拡散領域
   65:  ソース拡散領域
   66:  層間絶縁膜
   67:  コンタクトホール
   68:  オーミックコンタクト層
   69:  下部電極
   70:  可変抵抗体
   71:  上部電極
   72:  層間絶縁膜
   73:  コンタクトホール
   74:  コンタクトホール
   75:  配線
   76:  配線
   77:  層間絶縁膜
   78:  配線
   79:  表面保護膜
   100:  可変抵抗素子
   101:  上部電極(第1電極)
   102:  可変抵抗体
   103:  下部電極(第2電極)
   501、502、503、504:メモリユニット
   530、531、532、533:行デコーダ
 

Claims (11)

  1.  不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなる第1サブバンク、及び、前記第1サブバンクと同じ構成の第2サブバンクを備えてなるメモリセルアレイと、
     指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み/読み出し制御部と、
     前記書き込み/読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、
     前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
     入力される複数のデータの比較を行う比較部と、を備えてなり、
     前記第1サブバンク内及び前記第2サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
     前記デコーダ部が、
     前記第1サブバンク内の第1対象メモリセルに対して読み出し電圧を印加する第1動作と、
     前記第2サブバンク内の第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第2対象メモリセルに対して書き込み電圧を印加する第2動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置。
  2.  前記第1サブバンク内及び前記第2サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
     前記デコーダ部は、前記第1動作と前記第2動作で構成された動作ステップを、前記第1対象メモリセル及び前記第2対象メモリセルを変化させながら複数回実行する構成であり、
     前記各動作ステップにおける前記第2対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第1対象メモリセルであることを特徴とする請求項1に記載の不揮発性半導体記憶装置。
  3.  前記デコーダ部は、
     前記第1サブバンク及び前記第2サブバンクに共通して設けられると共に、前記第1サブバンク及び前記第2サブバンク夫々の対応する前記ワード線に同時に電圧を印加する行デコーダと、
     前記第1サブバンクの前記ビット線に電圧を印加する第1列デコーダと、
     前記第2サブバンクの前記ビット線に電圧を印加する第2列デコーダと、を備え、
     前記第1動作は、前記行デコーダが前記第1対象メモリセルに接続された前記ワード線に電圧を印加した状態で、前記第1列デコーダが前記第1対象メモリセルに接続されたビット線に読み出し電圧を印加する動作であり、
     前記第2動作は、前記第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ、前記第2列デコータが前記第1対象メモリセルと同一行に位置する前記第2対象メモリセルに接続されたビット線に書き込み電圧を印加する動作であることを特徴とする請求項1または2に記載の不揮発性半導体記憶装置。
  4.  前記メモリセルアレイが、前記第1サブバンク及び前記第2サブバンクからなるメモリユニットを複数備えて構成され、
     前記デコーダ部が、前記各メモリユニット毎に設けられ、
     複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
     前記対象メモリセルが存在する前記メモリユニットに備えられた前記各デコーダ部それぞれが、前記第1動作と前記第2動作とを同一時間帯に実行することを特徴とする請求項1または2に記載の不揮発性半導体記憶装置。
  5.  前記メモリセルが、印加電圧に応じて抵抗値を可逆的に変化させる可変抵抗素子で構成されており、当該可変抵抗素子の抵抗値に応じて情報を記憶する構成であることを特徴とする請求項1または2に記載の不揮発性半導体記憶装置。
  6.  不揮発性半導体記憶装置の駆動方法であって、
     前記不揮発性半導体記憶装置は、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなる第1サブバンク、及び、前記第1サブバンクと同じ構成の第2サブバンクを備えてなるメモリセルアレイを備えており、
     前記第1サブバンク内及び前記第2サブバンク内に位置する複数の対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
     前記第1サブバンク内の第1対象メモリセルに対して読み出し電圧を印加する第1動作と、
     前記第2サブバンク内の第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ前記第2対象メモリセルに対して書き込み電圧を印加する第2動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置の駆動方法。
  7.  前記第1動作と前記第2動作で構成された動作ステップを、前記第1対象メモリセル及び前記第2対象メモリセルを変化させながら複数回実行し、
     前記各動作ステップにおける前記第2対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第1対象メモリセルであることを特徴とする請求項6に記載の不揮発性半導体記憶装置の駆動方法。
  8.  前記メモリセルアレイが、前記第1サブバンク及び前記第2サブバンクからなるメモリユニットを複数備えて構成されており、
     複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
     前記対象メモリセルが存在する前記メモリユニットのそれぞれにおいて、前記第1動作と前記第2動作とを同一時間帯に実行することを特徴とする請求項6または7に記載の不揮発性半導体記憶装置の駆動方法。
  9.  電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置であって、
     指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み/読み出し制御部と、
     前記書き込み/読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、
     前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
     入力される複数のデータの比較を行う比較部と、を備えてなり、
     前記対象メモリセルに書き込み対象データの書き込みを行う際、
     前記デコーダ部は、前記書き込み/読み出し制御部からの指示に基づき前記対象メモリセルに読み出し電圧を印加し、
     前記比較部は、前記書き込み対象データと前記読み出し回路によって読み出された前記既書き込みデータとを比較して比較結果を前記書き込み/読み出し制御部に与え、
     前記書き込み/読み出し制御部は、前記比較結果が異なる場合にのみ、前記デコーダ部に対し、前記対象メモリセルに前記書き込み対象データを書き込む指示を与えることを特徴とする不揮発性半導体記憶装置。
  10.  電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置の駆動方法であって、
     指定アドレスに対応する対象メモリセルに対して書き込み対象データの書き込み動作を行うに際し、
     まず、前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行い、
     次に、前記既書き込みデータと前記書き込み対象データの比較を行い、比較結果が同一の場合には前記対象メモリセルへの書き込みを行わず、前記比較結果が異なる場合には前記対象メモリセルに前記書き込み対象データの書き込みを行うことを特徴とする不揮発性半導体記憶装置の駆動方法。
  11.  メモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第1端子を共通のワード線に接続し、同一列の前記メモリセルの第2端子を共通のビット線に接続してなる第1サブバンク、及び、前記第1サブバンクと同じ構成の第2サブバンクを備えてなるメモリセルアレイと、
     指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み/読み出し制御部と、
     前記書き込み/読み出し制御部からの指示に基づいて、前記対象メモリセルに書き込み処理または読み出し処理を行うデコーダ部と、
     前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
     入力される複数のデータの比較を行う比較部と、を備えてなり、
     前記第1サブバンク内及び前記第2サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
     前記デコーダ部が、
     前記第1サブバンク内の第1対象メモリセルに対して読み出し処理を行う第1動作と、
     前記第2サブバンク内の第2対象メモリセルの前記既書き込みデータと当該第2対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第2対象メモリセルに対して書き込み処理を行う第2動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置。
     
PCT/JP2009/069545 2008-11-26 2009-11-18 不揮発性半導体記憶装置及びその駆動方法 Ceased WO2010061760A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/131,388 US8400830B2 (en) 2008-11-26 2009-11-18 Nonvolatile semiconductor memory device and driving method therefor
CN200980147210.0A CN102227778B (zh) 2008-11-26 2009-11-18 非易失性半导体存储装置及其驱动方法
KR1020117011105A KR101358548B1 (ko) 2008-11-26 2009-11-18 불휘발성 반도체 기억 장치 및 그 구동 방법
JP2010540454A JP5285714B2 (ja) 2008-11-26 2009-11-18 不揮発性半導体記憶装置及びその駆動方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-301635 2008-11-26
JP2008301635 2008-11-26

Publications (1)

Publication Number Publication Date
WO2010061760A1 true WO2010061760A1 (ja) 2010-06-03

Family

ID=42225636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/069545 Ceased WO2010061760A1 (ja) 2008-11-26 2009-11-18 不揮発性半導体記憶装置及びその駆動方法

Country Status (5)

Country Link
US (1) US8400830B2 (ja)
JP (1) JP5285714B2 (ja)
KR (1) KR101358548B1 (ja)
CN (1) CN102227778B (ja)
WO (1) WO2010061760A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023266A1 (ja) * 2010-08-19 2012-02-23 パナソニック株式会社 抵抗変化型不揮発性記憶装置
WO2013105414A1 (ja) * 2012-01-12 2013-07-18 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP2013257939A (ja) * 2013-09-30 2013-12-26 Hitachi Ltd 半導体装置、情報処理システム、および記憶装置
US8773919B2 (en) 2010-11-30 2014-07-08 Hitachi, Ltd. Semiconductor device and data processing system
WO2016194332A1 (ja) * 2015-05-29 2016-12-08 日本電気株式会社 プログラマブル論理集積回路、設計支援システム及びコンフィグレーション方法
JPWO2015008438A1 (ja) * 2013-07-17 2017-03-02 パナソニックIpマネジメント株式会社 不揮発性半導体記憶装置とその書換方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2982406A1 (fr) 2011-11-07 2013-05-10 St Microelectronics Rousset Memoire securisee qui evite la degradation de donnees
US8526214B2 (en) * 2011-11-15 2013-09-03 Stmicroelectronics Pte Ltd. Resistor thin film MTP memory
KR20140080942A (ko) * 2012-12-21 2014-07-01 에스케이하이닉스 주식회사 비휘발성 메모리 장치
KR20140121612A (ko) * 2013-04-08 2014-10-16 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 이용한 동작 방법
WO2014209315A1 (en) * 2013-06-27 2014-12-31 Hewlett-Packard Development Company, L.P. Memory bus error signal
CN103927131B (zh) * 2014-03-25 2017-02-15 四川和芯微电子股份有限公司 同步闪存u盘的启动方法及其控制系统
WO2016017287A1 (ja) * 2014-07-28 2016-02-04 ソニー株式会社 メモリコントローラ、メモリシステムおよび情報処理システム
US9355732B2 (en) * 2014-10-01 2016-05-31 Sandisk Technologies Inc. Latch initialization for a data storage device
US9761306B1 (en) * 2016-03-08 2017-09-12 Toshiba Memory Corporation Resistive memory device and method of programming the same
KR102683747B1 (ko) * 2019-01-22 2024-07-11 에스케이하이닉스 주식회사 반도체 메모리 장치
CN111599397B (zh) * 2019-02-20 2024-04-09 深圳通锐微电子技术有限公司 控制装置及控制方法
KR102672609B1 (ko) * 2019-11-13 2024-06-07 삼성전자주식회사 엔코더, 디코더, 및 이를 구비하는 반도체 메모리 장치
US11263078B2 (en) * 2019-12-31 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for error correction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032394A1 (en) * 2006-09-15 2008-03-20 Renesas Technology Corp. Semiconductor device
JP2008159178A (ja) * 2006-12-25 2008-07-10 Elpida Memory Inc 半導体記憶装置とその書き込み制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997218A (ja) 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
WO1999019805A1 (en) * 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
JP4204755B2 (ja) 1999-02-17 2009-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報を保存するマイクロ電子デバイスとその方法
JP2001067258A (ja) 1999-08-25 2001-03-16 Mitsubishi Electric Corp フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法
WO2009016824A1 (ja) * 2007-08-01 2009-02-05 Panasonic Corporation 不揮発性記憶装置
JP5100554B2 (ja) * 2008-07-30 2012-12-19 株式会社東芝 半導体記憶装置
JP4653833B2 (ja) 2008-11-04 2011-03-16 シャープ株式会社 不揮発性半導体記憶装置及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032394A1 (en) * 2006-09-15 2008-03-20 Renesas Technology Corp. Semiconductor device
JP2008159178A (ja) * 2006-12-25 2008-07-10 Elpida Memory Inc 半導体記憶装置とその書き込み制御方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023266A1 (ja) * 2010-08-19 2012-02-23 パナソニック株式会社 抵抗変化型不揮発性記憶装置
JP4903919B1 (ja) * 2010-08-19 2012-03-28 パナソニック株式会社 抵抗変化型不揮発性記憶装置
US8467228B2 (en) 2010-08-19 2013-06-18 Panasonic Corporation Variable resistance nonvolatile memory device
US8773919B2 (en) 2010-11-30 2014-07-08 Hitachi, Ltd. Semiconductor device and data processing system
WO2013105414A1 (ja) * 2012-01-12 2013-07-18 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JPWO2013105414A1 (ja) * 2012-01-12 2015-05-11 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9396132B2 (en) 2012-01-12 2016-07-19 Sony Corporation Storage control device and system to improve data retention in variable resistance memory cells
JPWO2015008438A1 (ja) * 2013-07-17 2017-03-02 パナソニックIpマネジメント株式会社 不揮発性半導体記憶装置とその書換方法
JP2013257939A (ja) * 2013-09-30 2013-12-26 Hitachi Ltd 半導体装置、情報処理システム、および記憶装置
WO2016194332A1 (ja) * 2015-05-29 2016-12-08 日本電気株式会社 プログラマブル論理集積回路、設計支援システム及びコンフィグレーション方法
JPWO2016194332A1 (ja) * 2015-05-29 2018-05-24 日本電気株式会社 プログラマブル論理集積回路、設計支援システム及びコンフィグレーション方法
US10740435B2 (en) 2015-05-29 2020-08-11 Nec Corporation Programmable logic integrated circuit, design support system, and configuration method

Also Published As

Publication number Publication date
CN102227778B (zh) 2014-11-12
KR101358548B1 (ko) 2014-02-05
KR20110086050A (ko) 2011-07-27
CN102227778A (zh) 2011-10-26
US8400830B2 (en) 2013-03-19
US20110238902A1 (en) 2011-09-29
JPWO2010061760A1 (ja) 2012-04-26
JP5285714B2 (ja) 2013-09-11

Similar Documents

Publication Publication Date Title
JP5285714B2 (ja) 不揮発性半導体記憶装置及びその駆動方法
CN101548335B (zh) 非易失性存储装置
US8493770B2 (en) Non-volatile semiconductor storage device with concurrent read operation
JP4653833B2 (ja) 不揮発性半導体記憶装置及びその制御方法
US10452531B1 (en) Memory controlling device for reconstructing original data using non-blocking code and memory system including the same
JP4273087B2 (ja) 半導体記憶装置およびその書込み方法
US8411487B2 (en) Semiconductor memory device
JP2008112554A (ja) メモリシステムおよびその動作方法
JP5062251B2 (ja) 可変抵抗メモリ及びそのデータ書込み方法
KR20100107609A (ko) 저항성 메모리 장치, 이를 포함하는 메모리 시스템 및 저항성 메모리 장치의 기입 방법
JP5416079B2 (ja) 半導体記憶装置、およびメモリモジュール
CN107408411A (zh) 存储器装置及其控制方法
US10020052B2 (en) Resistive memory device and memory system including the same
US20100085797A1 (en) Dual stage sensing for non-volatile memory
US11049558B2 (en) Semiconductor system including a phase changeable memory device
US9921782B2 (en) Memory device for emulating dynamic Random access memory (DRAM)
JP2015088727A (ja) 不揮発性記憶装置
WO2023162804A1 (ja) メモリ装置およびメモリ制御方法
JP5568674B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980147210.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09829008

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20117011105

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2010540454

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13131388

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 09829008

Country of ref document: EP

Kind code of ref document: A1