JP5839048B2 - Storage controller, a storage device, an information processing system, and the process in which method - Google Patents

Storage controller, a storage device, an information processing system, and the process in which method Download PDF

Info

Publication number
JP5839048B2
JP5839048B2 JP2013553233A JP2013553233A JP5839048B2 JP 5839048 B2 JP5839048 B2 JP 5839048B2 JP 2013553233 A JP2013553233 A JP 2013553233A JP 2013553233 A JP2013553233 A JP 2013553233A JP 5839048 B2 JP5839048 B2 JP 5839048B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
value
write
data
mode
memory cell
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.)
Active
Application number
JP2013553233A
Other languages
Japanese (ja)
Other versions
JPWO2013105414A1 (en )
Inventor
直大 足立
直大 足立
敬一 筒井
敬一 筒井
中西 健一
健一 中西
大久保 英明
英明 大久保
山本 真紀子
真紀子 山本
藤波 靖
靖 藤波
Original Assignee
ソニー株式会社
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
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0059Security or protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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
    • G11C7/1009Data masking during input/output
    • G06F2212/69
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00 - 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2263Write conditionally, e.g. only if new data and old data differ
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage

Description

本技術は、記憶制御装置に関する。 BACKGROUND The present disclosure relates to the storage controller. 詳しくは、不揮発性メモリのための記憶制御装置、記憶装置、情報処理システム、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。 Specifically, the storage controller for non-volatile memory, storage devices, information processing system, and a program for executing the processing method and the method in these computers.

情報処理システムにおいては、ワークメモリとしてDRAM(Dynamic Random Access Memory)等が用いられる。 In the information processing system, DRAM (Dynamic Random Access Memory) or the like is used as a work memory. このDRAMは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。 This DRAM is usually a volatile memory, the supply of power is stopped its stored content is lost. 一方、近年、不揮発性メモリ(NVM:Non-Volatile Memory)が用いられるようになっている。 On the other hand, in recent years, non-volatile memory (NVM: Non-Volatile Memory) has become into use. この不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM:Non-Volatile RAM)とに大別される。 As the non-volatile memory, a flash memory corresponding to the data access with a large size as a unit, high-speed random access in small unit is non-volatile random access memory: roughly classified into (NVRAM Non-Volatile RAM) It is. ここで、フラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。 Here, as a typical example of a flash memory, NAND-type flash memory. 一方、不揮発性ランダムアクセスメモリの例としては、ReRAM(Resistance RAM)、PCRAM(Phase-Change RAM)、MRAM(Magnetoresistive RAM)などが挙げられる。 On the other hand, examples of the non-volatile random access memory, ReRAM (Resistance RAM), PCRAM (Phase-Change RAM), and the like MRAM (Magnetoresistive RAM).

ReRAMは、可変抵抗素子を用いた不揮発性メモリであり、データの書込みに先立ってブロック単位で消去を行う必要がなく、必要ページのみを直接書き換えることが可能である。 ReRAM is a non-volatile memory using a variable resistive element, it is not necessary to erase in blocks prior to the writing of data, it is possible to rewrite only the necessary pages directly. この点で、浮遊ゲートの電化蓄積量による閾値をデータとして記憶するNANDフラッシュメモリ等とは異なっている。 In this respect, it differs from the NAND flash memory for storing a threshold value by electrification storage amount of the floating gate as data. 可変抵抗素子は、高抵抗状態(HRS:High Resistive State)と低抵抗状態(LRS:Low Resistive State)の2状態で1ビットの情報を記録することができる。 Variable resistance element, a high resistance state (HRS: High Resistive State) and the low resistance state: in two states (LRS Low Resistive State) can record one bit of information. この可変抵抗素子は、多数回連続して同じ極性の電圧を印加した場合には、可変抵抗処置の抵抗値が変化してしまい抵抗分布を乱すという問題がある。 The variable resistance element, when a voltage is applied to the same polarity in succession a number of times, the resistance value of the variable resistor treatment is a problem that disturbs the causes resistance distribution changes. たとえば、同じ極性が連続する回数が増えていくにしたがって、HRSがLRSに、LRSがHRSに変化してしまう。 For example, according gradually increasing the number of times the same polarity are continuously, HRS is the LRS, LRS is changed to HRS. このように抵抗値が変化すると、次に逆極性の電圧を印加する際に、通常と同じ電圧では正しく記録が行えなかったり、正しく記録を行うために絶対値の大きい電圧が必要になったりするおそれがある。 Thus the resistance value is changed, when applying the next opposite polarity voltage, it may not be performed correctly recorded at the same voltage as the normal, or become necessary voltage larger absolute value in order to perform correctly recorded I fear there is. そこで、従来、ライト処理の際に既書込みデータを読み出してライトデータと比較を行って、必要なビットのみを選択的に書き換えおよび消去する書込み方法が提案されている(例えば、特許文献1参照。)。 Therefore, conventionally, by performing a comparison with the write data by reading the already written data in the write process, selectively rewriting and writing method of erasing only the necessary bits it has been proposed (e.g., see Patent Document 1. ).

特表2007−525785号公報 JP-T 2007-525785 JP

上述の従来技術では、既書込みデータとライトデータとが同一データであれば書込みパルスを発生しないことにより、同一データを連続して書き込まないようにしている。 In the prior art described above, by and the already written data and the write data does not generate a write pulse if the same data are not write the same data continuously. しかしながら、このような制御を行った場合、同一データが連続する限りはそのメモリセルに物理的な書込みが発生しない状態が続き、時間経過とともにデータ保持特性(リテンション)が低下してしまうという問題が生じる。 However, in the case of performing such control, as long as the same data is continuously followed by the absence physical write occurs in the memory cell, a problem that the data retention characteristics with the lapse of time (retention) is reduced is occur.

本技術はこのような状況に鑑みて生み出されたものであり、不揮発性メモリのデータ保持特性を向上させることを目的とする。 This technology has been created in view of such circumstances, and an object thereof is to improve the data retention characteristics of the nonvolatile memory.

本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換える第1ライト処理部と、上記メモリセルにおいて上記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第2ライト処理部とを具備する記憶制御装置である。 This technology has been made to solve the above problems, a first aspect thereof, based on the first threshold value in the memory cell one of the first value or the second value a first read processing unit for reading the data having the value as the first read data, the said memory cell when the write data is a said first value the first read data is the second value the a first write unit for rewriting to a value of 1, and a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in the memory cell, the write data is the first the a 2 value second read data is a storage controller having a second write processing unit for rewriting said memory cell to said second value if it is the first value. これにより、記憶制御装置において、標準の閾値とは異なる第1の閾値または第2の閾値を用いたプレリードデータに基づいてライト処理のためのビット操作を制御してデータ保持特性の強化を図るという作用をもたらす。 Thus, the storage control device, to strengthen the control and the data retention characteristics of bit manipulation for the write processing based on the pre-read data using different first threshold or the second threshold value and the standard threshold value there is an effect that. なお、第1ライト処理部は、上記ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合以外のときには書換えを行わないようにすることができる。 The first write processing unit may be the write data is to the first value is a in the first read data does not perform rewriting when other than the case of the second value. また、第2ライト処理部は、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The second write processing unit may be the write data is to the second a value above the second read data does not perform rewriting when other than the case of the first value.

また、この第1の側面において、上記メモリセルは可変抵抗素子であって、上記第1の閾値は標準の閾値よりも高抵抗状態側に設定され、上記第2の閾値は上記標準の閾値よりも低抵抗状態側に設定されてもよい。 Further, in the first embodiment, the memory cell is a variable resistance element, the first threshold is set to a high resistance state side than the standard threshold value, the second threshold is the threshold of the standard it may also be set to a low resistance state side. この場合、上記第1の値は論理0値であり、上記第2の値は論理1値であることを想定することができる。 In this case, the first value is a logic 0 value, the second value can be assumed to be a logical 1 value.

また、この第1の側面において、上記メモリセルは可変抵抗素子であって、上記第1の閾値は標準の閾値よりも低抵抗状態側に設定され、上記第2の閾値は上記標準の閾値よりも高抵抗状態側に設定されてもよい。 Further, in the first embodiment, the memory cell is a variable resistance element, the first threshold value is set than a standard threshold value in the low resistance state side, the second threshold is the threshold of the standard it may also be set to a high resistance state side. この場合、上記第1の値は論理1値であり、上記第2の値は論理0値であることを想定することができる。 In this case, the first value is a logic 1 value, the second value can be assumed to be a logic 0 value.

また、本技術の第2の側面は、動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、上記第1のモードが設定されている場合において、メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、上記第1のモードが設定されている場合において、ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換える第1ライト処理部と、上記第1のモードが設定されている場合において、上記メモリセルにおいて上記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、上記第1のモー The second aspect of the present technology, in the case where the operation mode setting unit for setting either the first mode or the second mode as the operation mode, the first mode is set, the memory a first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in the cell, the first mode is set in case you are a first write processing unit for rewriting the memory cell to the first value when the write data is a said first value the first read data is the second value, the first in the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in the memory cell, the first motor が設定されている場合において、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第2ライト処理部と、上記第2のモードが設定されている場合において、上記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、上記第2のモードが設定されている場合において、上記ライトデータが上記第1の値であって上記第3リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換え、上記ライトデータが上記第2の値であって上記第3リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第3ライト処理部とを具備する記憶制御装置である。 In when is set, a second write process the write data is rewritten said memory cell to said second value when the second a value above the second read data is the first value and parts, in the case where the second mode is set, the third lead processing unit that reads the third read data based on the standard threshold value in the memory cell, when the second mode is set in, the write data is a said first value rewriting the memory cell to the first value if the third read data is the second value, the write data is the second value a is a storage controller comprising a third write processing unit for rewriting said memory cell to said second value if the third read data is the first value. これにより、第1の閾値または第2の閾値を用いたプレリードを行う第1のモードと、標準の閾値を用いたプレリードを行う第2のモードとを切り換えることによって、データ保持特性の強化とプレリード回数の均衡を図るという作用をもたらす。 Thus, a first mode for performing pre-read using a first threshold or the second threshold value, by switching a second mode in which the pre-read using a standard threshold, and enhance data retention preread there is an effect that to balance the number of times. なお、第1ライト処理部は、上記ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合以外のときには書換えを行わないようにすることができる。 The first write processing unit may be the write data is to the first value is a in the first read data does not perform rewriting when other than the case of the second value. また、第2ライト処理部は、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The second write processing unit may be the write data is to the second a value above the second read data does not perform rewriting when other than the case of the first value. また、第3ライト処理部は、上記ライトデータが上記第1の値であって上記第3リードデータが上記第2の値である場合、または、上記ライトデータが上記第2の値であって上記第3リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The third write processing unit, when the write data is a said first value the third read data is the second value, or the write data is a said second value when the third read data is other than the case of the first value can be prevented to perform rewriting.

また、この第2の側面において、リード処理の際にエラーが検出されてそのエラー訂正が行われると、上記動作モードとして上記第1のモードを設定して、上記エラー訂正に係るアドレスを上記ライトアドレスとし、上記エラー訂正されたデータを上記ライトデータとして書き直すようにしてもよい。 Further, in the second aspect, an error during the read process is performed that error correction is detected, as the operation mode by setting the first mode, the write address according to the error correction an address, the error-corrected data may be rewritten as the write data. これにより、第1のモードによりデータリフレッシュを行うという作用をもたらす。 This provides an effect of performing data refreshed by the first mode.

また、本技術の第3の側面は、メモリセルを備えるメモリアレイと、上記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換える第1ライト処理部と、上記メモリセルにおいて上記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第2ライト処理部とを具備する記憶装置である。 Further, a third aspect of the present technology, a memory array comprising a memory cell, the data having any one value of the first value or the second value of the first threshold value as a reference in the memory cells first a first read processing unit that reads a first lead data, the rewritten the memory cell to the first value when the write data is a said first value the first read data is the second value and 1 write processing unit, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in the memory cell, the write data is a said second value said second read data is a storage device having a second write processing unit for rewriting said memory cell to said second value if it is the first value. これにより、記憶装置において、メモリセルの標準の閾値とは異なる第1の閾値または第2の閾値を用いたプレリードデータに基づいてライト処理のためのビット操作を制御してデータ保持特性の強化を図るという作用をもたらす。 Thus, in the storage device, enhancement of different first threshold or control to the data retention characteristics of bit manipulation for the write processing based on the pre-read data using the second threshold value is a standard threshold value of the memory cell there is an effect that achieve. なお、第1ライト処理部は、上記ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合以外のときには書換えを行わないようにすることができる。 The first write processing unit may be the write data is to the first value is a in the first read data does not perform rewriting when other than the case of the second value. また、第2ライト処理部は、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The second write processing unit may be the write data is to the second a value above the second read data does not perform rewriting when other than the case of the first value.

また、本技術の第4の側面は、メモリセルを備えるメモリアレイと、動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、上記第1のモードが設定されている場合において、上記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、上記第1のモードが設定されている場合において、ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換える第1ライト処理部と、上記第1のモードが設定されている場合において、上記メモリセルにおいて上記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み According to a fourth aspect of the present technology includes a memory array comprising a memory cell, an operation mode setting unit for setting either the first mode or the second mode as the operation mode, the first mode when it is set, a first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference in the memory cell as the first read data, in the case where the first mode is set, it rewrites the memory cells to the first value when the write data is a said first value the first read data is the second value a first write processing unit, in the case where the first mode is set, reading a second read data based on the different second threshold and the first threshold value in the memory cell す第2リード処理部と、上記第1のモードが設定されている場合において、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第2ライト処理部と、上記第2のモードが設定されている場合において、上記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、上記第2のモードが設定されている場合において、上記ライトデータが上記第1の値であって上記第3リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換え、上記ライトデータが上記第2の値であって上記第3リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第3ライト処理部と In the case where you and the second lead section, the first mode is set, the memory when the write data is a said second value said second read data is the first value in the case where the second write processing unit for rewriting the cell to the second value, is the second mode is set, the third lead processing unit that reads the third read data based on the standard threshold value in the memory cell when, in the above case where the second mode is set, the write data is the first value is a in the third read data to the memory cells in the first when it is the second value rewriting the value, and a third write processing unit for rewriting said memory cell to said second value when said write data is a said second value the third read data is the first value 具備する記憶装置である。 A storage device including. これにより、記憶装置において第1の閾値または第2の閾値を用いたプレリードを行う第1のモードと、標準の閾値を用いたプレリードを行う第2のモードとを切り換えることによって、データ保持特性の強化とプレリード回数の均衡を図るという作用をもたらす。 Thus, a first mode for performing pre-read using a first threshold or the second threshold value in the storage device, by switching a second mode in which the pre-read using a standard threshold, the data retention characteristics there is an effect that improve the balance of strengthening and pre-read number of times. なお、第1ライト処理部は、上記ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合以外のときには書換えを行わないようにすることができる。 The first write processing unit may be the write data is to the first value is a in the first read data does not perform rewriting when other than the case of the second value. また、第2ライト処理部は、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The second write processing unit may be the write data is to the second a value above the second read data does not perform rewriting when other than the case of the first value. また、第3ライト処理部は、上記ライトデータが上記第1の値であって上記第3リードデータが上記第2の値である場合、または、上記ライトデータが上記第2の値であって上記第3リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The third write processing unit, when the write data is a said first value the third read data is the second value, or the write data is a said second value when the third read data is other than the case of the first value can be prevented to perform rewriting.

また、本技術の第5の側面は、メモリセルを備えるメモリアレイと、動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、上記第1のモードが設定されている場合において、上記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、上記第1のモードが設定されている場合において、ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換える第1ライト処理部と、上記第1のモードが設定されている場合において、上記メモリセルにおいて上記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み The fifth aspect of the present technology, a memory array comprising a memory cell, an operation mode setting unit for setting either the first mode or the second mode as the operation mode, the first mode when it is set, a first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference in the memory cell as the first read data, in the case where the first mode is set, it rewrites the memory cells to the first value when the write data is a said first value the first read data is the second value a first write processing unit, in the case where the first mode is set, reading a second read data based on the different second threshold and the first threshold value in the memory cell す第2リード処理部と、上記第1のモードが設定されている場合において、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第2ライト処理部と、上記第2のモードが設定されている場合において、上記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、上記第2のモードが設定されている場合において、上記ライトデータが上記第1の値であって上記第3リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換え、上記ライトデータが上記第2の値であって上記第3リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第3ライト処理部と In the case where you and the second lead section, the first mode is set, the memory when the write data is a said second value said second read data is the first value in the case where the second write processing unit for rewriting the cell to the second value, is the second mode is set, the third lead processing unit that reads the third read data based on the standard threshold value in the memory cell when, in the above case where the second mode is set, the write data is the first value is a in the third read data to the memory cells in the first when it is the second value rewriting the value, and a third write processing unit for rewriting said memory cell to said second value when said write data is a said second value the third read data is the first value 上記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータとを具備する情報処理システムである。 An information processing system comprising a host computer that issues a read command or a write command for the memory array. これにより、情報処理システムにおいて第1の閾値または第2の閾値を用いたプレリードを行う第1のモードと、標準の閾値を用いたプレリードを行う第2のモードとを切り換えて、データ保持特性の強化とプレリード回数の均衡を図るという作用をもたらす。 Thus, by switching a first mode for performing pre-read using a first threshold or the second threshold value in the information processing system, and a second mode in which the pre-read using a standard threshold, the data retention characteristics there is an effect that improve the balance of strengthening and pre-read number of times. なお、第1ライト処理部は、上記ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合以外のときには書換えを行わないようにすることができる。 The first write processing unit may be the write data is to the first value is a in the first read data does not perform rewriting when other than the case of the second value. また、第2ライト処理部は、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The second write processing unit may be the write data is to the second a value above the second read data does not perform rewriting when other than the case of the first value. また、第3ライト処理部は、上記ライトデータが上記第1の値であって上記第3リードデータが上記第2の値である場合、または、上記ライトデータが上記第2の値であって上記第3リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The third write processing unit, when the write data is a said first value the third read data is the second value, or the write data is a said second value when the third read data is other than the case of the first value can be prevented to perform rewriting.

また、この第5の側面において、上記ホストコンピュータは、上記ライトコマンドに係るライトデータの書換え頻度に関する情報を上記ライトコマンドに付加して発行し、 Further, in the fifth aspect, the host computer, the information about the rewriting frequency of the write data according to the write command issued in addition to the write command,
上記動作モード設定部は、上記ライトデータの書換え頻度が低い頻度を示している場合には上記第1のモードを設定し、それ以外の場合には上記第2のモードを設定するようにしてもよい。 The operation mode setting unit, when the rewriting frequency of the write data indicates low frequency sets the first mode, also in other cases so as to set the second mode good. これにより、ホストコンピュータからの指示に従って、動作モードを設定するという作用をもたらす。 Thus, in accordance with an instruction from the host computer, an effect of setting the operation mode.

また、本技術の第6の側面は、メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理手順と、ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合に上記メモリセルを上記第1の値に書き換える第1ライト処理手順と、上記メモリセルにおいて上記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理手順と、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合に上記メモリセルを上記第2の値に書き換える第2ライト処理手順とを具備する記憶制御方法である。 Further, a sixth aspect of the present technique, a first read processing for reading data having any one value of the first value or the second value based on the first threshold value in the memory cell as the first read data and instructions, and a first write procedure to rewrite to the first value the memory cell when a write data is the first value is a in the first read data to the second value, the memory cell a second read processing routine for reading the second read data based on the different second threshold and the first threshold value in said write data is a said second value said second read data to the first the memory cell if it is a value which is a storage control method for and a second write procedure to rewrite to the second value. これにより、標準の閾値とは異なる第1の閾値または第2の閾値を用いたプレリードデータに基づいてライト処理のためのビット操作を制御してデータ保持特性の強化を図るという作用をもたらす。 This produces an effect of strengthening of the different first threshold or control to the data retention characteristics of bit manipulation for the write processing based on the pre-read data using the second threshold value is a standard threshold. なお、第1ライト処理部は、上記ライトデータが上記第1の値であって上記第1リードデータが上記第2の値である場合以外のときには書換えを行わないようにすることができる。 The first write processing unit may be the write data is to the first value is a in the first read data does not perform rewriting when other than the case of the second value. また、第2ライト処理部は、上記ライトデータが上記第2の値であって上記第2リードデータが上記第1の値である場合以外のときには書換えを行わないようにすることができる。 The second write processing unit may be the write data is to the second a value above the second read data does not perform rewriting when other than the case of the first value.

本技術によれば、不揮発性メモリのデータ保持特性を向上させることができるという優れた効果を奏し得る。 According to this technique, an excellent effect that it is possible to improve the data retention characteristics of the nonvolatile memory.

本技術の実施の形態における情報処理システムの一構成例を示す図である。 It is a diagram showing a configuration example of an information processing system according to an embodiment of the present technology. 本技術の実施の形態における不揮発性ランダムアクセスメモリ301の一構成例を示す図である。 It is a diagram showing a configuration example of a non-volatile random access memory 301 according to the embodiment of the present technology. 本技術の実施の形態における機能構成例を示す図である。 It is a diagram illustrating a functional configuration example according to the embodiment of the present technology. 可変抵抗素子の抵抗分布を模式的に示した図である。 The resistance distribution of the variable resistive element is a diagram schematically showing. 本技術の実施の形態における低抵抗閾値および高抵抗閾値を説明するための図である。 It is a diagram for explaining a low resistance threshold and the high threshold resistance value in the embodiment of the present technology. 可変抵抗素子に対して消去およびプログラムにより書込みを行う具体例を示す図である。 It is a diagram showing a specific example for writing by erasing and programming the variable resistance element. 本技術の実施の形態において書込みを行う具体例を示す図である。 In embodiments of the present technology is a diagram showing a specific example of writing. 本技術の実施の形態における保護モードのライト処理手順例を示す流れ図である。 The write processing procedure example of the protection mode according to the embodiment of the present technology is a flowchart showing. 本技術の第2の実施の形態における情報処理システムの処理手順例を示す流れ図である。 Is a flowchart showing an exemplary processing procedure of the information processing system according to the second embodiment of the present technology. 本技術の実施の形態における標準モードのライト処理の手順例を示す流れ図である。 It is a flowchart illustrating a procedure example of write processing of the standard mode in the embodiment of the present technology. 本技術の第3の実施の形態における情報処理システムの処理手順例を示す流れ図である。 Is a flowchart showing an exemplary processing procedure of the information processing system according to the third embodiment of the present technology. 本技術の第4の実施の形態における情報処理システムの処理手順例を示す流れ図である。 Is a flowchart showing an exemplary processing procedure of an information processing system in the fourth embodiment of the present technology.

以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。 Hereinafter, embodiments of the present technology (hereinafter, referred to as embodiments) will be described. 説明は以下の順序により行う。 Description will be made in the following order.
1. 1. 第1の実施の形態(ライトに先立って読出し閾値をシフトさせて2回プレリードを行う例) First Embodiment (example of performing 2 times preread shifts the read threshold prior to light)
2. 2. 第2の実施の形態(プレリード回数の異なる2つのモードを有する例) Second Embodiment (example with two modes with different pre-read count)
3. 3. 第3の実施の形態(エラー訂正が発生した際にリフレッシュを行う例) Third Embodiment (example in which the refresh when the error correction has occurred)
4. 4. 第4の実施の形態(データ属性に応じてモード切替を行う例) Fourth Embodiment (example in which the mode switching according to the data attributes)

<1. <1. 第1の実施の形態> The first embodiment of the present invention>
[情報処理システムの構成] [Configuration of Information Processing System]
図1は、本技術の実施の形態における情報処理システムの一構成例を示す図である。 Figure 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment of the present technology. この情報処理システムは、ホストコンピュータ100と、メモリ300と、メモリ制御部200とを備える。 The information processing system includes a host computer 100, a memory 300, a memory controller 200. メモリ制御部200およびメモリ300は、メモリシステム400を構成する。 Memory controller 200 and memory 300 constitute a memory system 400. ホストコンピュータ100は、メモリシステム400に対してデータのリードまたはライトを要求するコマンドを発行するものである。 The host computer 100 is configured to issue a command to request the data read or write to the memory system 400.

メモリ300は、通常の揮発性メモリ303以外に、不揮発性メモリを含む。 Memory 300, in addition to the usual volatile memory 303, including a non-volatile memory. 不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリ302と、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM)301とに大別される。 Non-volatile memory, a flash memory 302 which corresponds to large size data access in units, high-speed random access in a small unit is roughly divided into non-volatile random access memory (NVRAM) 301 as possible. ここで、フラッシュメモリ302の代表例としては、NAND型フラッシュメモリが挙げられる。 Here, as a typical example of the flash memory 302, NAND-type flash memory. 一方、NVRAM301の例としては、ReRAM、PCRAM、MRAMなどが挙げられるが、この実施の形態では、特に可変抵抗素子を用いたReRAMを想定する。 On the other hand, examples of the NVRAM301, ReRAM, PCRAM, although such MRAM and the like, in this embodiment, it is assumed ReRAM using a variable resistive element in particular. 揮発性メモリ303は、作業領域として用いられ、また、管理用のデータを格納するためにも用いられる。 Volatile memory 303 is used as a work area, it is also used to store data for management. さらに、揮発性メモリ303は、キャッシュとして用いることも可能である。 Furthermore, the volatile memory 303 can also be used as a cache. 揮発性メモリ303は、DRAM、SRAMなどにより実現することができる。 Volatile memory 303 may be implemented DRAM, or the like SRAM. 揮発性メモリ303に格納されるデータは、電源断に備えて、必要に応じてNVRAM301またはフラッシュメモリ302に保持しておいて、次に電源投入された際に再利用されるようにしてもよい。 Data stored in the volatile memory 303 includes a power-off, in advance and held in NVRAM301 or flash memory 302 as needed, then may be reused when the power is turned on .

メモリ制御部200は、プロセッサ210と、内蔵メモリ220と、ECC処理部230と、周辺回路250と、ホストインターフェース201と、メモリインターフェース291乃至293とを備える。 Memory controller 200 includes a processor 210, and on-chip memory 220, the ECC processing section 230, a peripheral circuit 250, a host interface 201, a memory interface 291 to 293. これらはバス280により相互に接続される。 These are connected to each other by a bus 280.

プロセッサ210は、ホストコンピュータ100からの制御コマンドを解釈して実行する処理装置である。 The processor 210 is a processing unit which interprets and executes the control command from the host computer 100. このプロセッサ210は、内蔵メモリ220における記憶領域をプログラム格納領域およびワーク領域としてプログラムを実行する。 The processor 210 executes a program storage area in the internal memory 220 as a program storage area and a work area.

内蔵メモリ220は、図示しない内蔵ROMおよび内蔵RAMを含むメモリである。 Internal memory 220 is a memory including a built-in ROM and internal RAM (not shown). プログラムは内蔵ROMに格納しておいてもよく、また、メモリ300から起動時に内蔵RAMに転送するようにしてもよい。 The program may be stored in a chip ROM, on or may be transferred to internal RAM from the memory 300 at startup. この内蔵RAMは、ワーク領域や管理用データなどの一時格納など様々な用途に用いられる。 The internal RAM is used temporary storage, such as a variety of applications such as a work area or management data.

ECC処理部230は、データの各々に対応して付加されるエラー訂正コード(ECC:Error Correcting Code)の生成およびそのECCを用いたエラー訂正を行うものである。 ECC processor 230, an error correction code to be added to correspond to each of the data: and performs error correction using the product and its ECC of (ECC Error Correcting Code). このECC処理部230は、ハードウェアとして実現してもよく、また、プロセッサ210においてプログラムを実行することによりソフトウェアとして実現してもよい。 The ECC processing unit 230 may be implemented as hardware, or may be implemented as software by executing a program in the processor 210.

周辺回路250は、プロセッサ210の周辺回路であり、例えば内蔵タイマーや汎用入出力(GPIO:General Purpose Input/Output)等を含む。 Peripheral circuit 250 is a peripheral circuit of the processor 210, for example, built-in timer, a general-purpose input and output: including (GPIO General Purpose Input / Output) and the like.

ホストインターフェース201は、ホストコンピュータ100とのやりとりを行うインターフェースである。 The host interface 201 is an interface to interact with the host computer 100. メモリシステム400はホストインターフェース201を介して接続され、ホストコンピュータ100から、メモリ300を制御するための制御コマンドを受信し、この制御コマンドによって制御されてメモリシステムとして動作する。 The memory system 400 is connected via the host interface 201, the host computer 100 receives a control command for controlling the memory 300, to operate as a memory system is controlled by the control command. このホストインターフェース201としては、例えば、SATA、PCI Express、eMMC、USBなどを利用することができる。 As the host interface 201, for example, it can be utilized SATA, PCI Express, eMMC, USB and the like.

メモリインターフェース291は、NVRAM301とのやりとりを行うインターフェースである。 Memory interface 291 is an interface to interact with the NVRAM301. メモリインターフェース292は、フラッシュメモリ302とのやりとりを行うインターフェースである。 Memory interface 292 is an interface to interact with the flash memory 302. メモリインターフェース293は、揮発性メモリ303とのやりとりを行うインターフェースである。 Memory interface 293 is an interface to interact with the volatile memory 303.

メモリシステム400は、ライトコマンドによりメモリ300へのデータの書込みを行い、リードコマンドによりメモリ300からのデータの読出しを行う。 Memory system 400 writes data into the memory 300 by the write command, reads data from the memory 300 by the read command. ライトコマンドおよびリードコマンドは、対象データの存在する先頭論理アドレスおよびデータサイズをパラメータとして指定する。 Write command and read command specifies the first logical address and the data size exists in the target data as parameters. メモリシステム400がライトコマンドのデータを受信すると、このデータに対してECCが付加され、不揮発性メモリ(NVRAM301またはフラッシュメモリ302)に書き込まれる。 When the memory system 400 receives data of the write command, the data ECC is added to and written into the nonvolatile memory (NVRAM301 or flash memory 302).

図2は、本技術の実施の形態における不揮発性ランダムアクセスメモリ(NVRAM)301の一構成例を示す図である。 Figure 2 is a diagram showing a configuration example of a non-volatile random access memory (NVRAM) 301 in the embodiment of the present technology. NVRAM301は、メモリアレイ310と、センスアンプ313と、ライトバッファ320と、リードバッファ330と、論理評価部340と、制御部350と、閾値設定部360と、制御インターフェース309とを備えている。 NVRAM301 includes a memory array 310, a sense amplifier 313, a write buffer 320, a read buffer 330, a logic evaluation unit 340, a control unit 350, and a threshold setting unit 360, a control interface 309.

制御インターフェース309は、メモリ制御部200との間の接続を司るインターフェースである。 Control interface 309 is an interface that controls the connection between the memory controller 200. この制御インターフェース309には、ライトバッファ320、リードバッファ330、論理評価部340および制御部350が接続される。 The control interface 309, a write buffer 320, read buffer 330, logic evaluation section 340 and the control unit 350 is connected.

メモリアレイ310は、ビット毎に所定の状態を保持するメモリセルを格子状に並べたものである。 Memory array 310 is obtained by arranging the memory cell holding a predetermined state for each bit in a grid pattern. メモリアレイ310のメモリセルは可変抵抗素子により構成される抵抗変化型メモリである。 Memory cells of the memory array 310 is a resistance change memory constituted by a variable resistance element. メモリアレイ310は複数のページから構成される。 Memory array 310 includes a plurality of pages. ページ内には、データを格納するデータ部311の他に冗長部312が設けられており、エラー訂正コード(ECC)などが格納される。 Within a page, in addition to the redundant section 312 of the data unit 311 for storing data is provided, such as an error correction code (ECC) is stored. メモリアレイ310はセンスアンプ313を経由して、読出しまたは書込みが行われる。 Memory array 310 via the sense amplifier 313, read or write is performed.

センスアンプ313は、メモリアレイ310からの電圧を増幅するための増幅回路である。 The sense amplifier 313 is an amplification circuit for amplifying the voltage from the memory array 310. このセンスアンプ313には、ライトバッファ320、リードバッファ330、論理評価部340、制御部350および閾値設定部360が接続される。 The sense amplifier 313, a write buffer 320, read buffer 330, logic evaluation unit 340, the control unit 350 and the threshold setting unit 360 is connected.

ライトバッファ320は、メモリアレイ310にライトされるデータを一時的に保持するバッファである。 The write buffer 320 is a buffer for temporarily holding data to be written to the memory array 310. このライトバッファ320には制御インターフェース309からのライトデータが信号線305を介して保持され、信号線328を介してセンスアンプ313に出力される。 This is the write buffer 320 is held write data from the control interface 309 via a signal line 305 is output to the sense amplifier 313 via the signal line 328.

リードバッファ330は、メモリアレイ310からリードされたデータを一時的に保持するバッファである。 The read buffer 330 is a buffer for temporarily storing data read from the memory array 310. このリードバッファ330には、ライトの際には、ライトに先立ってプレリードデータが保持される。 The read buffer 330, when the light is pre-read data is held prior to the write. このリードバッファ330にはセンスアンプ313からのリードデータが信号線318を介して保持され、信号線338を介して制御インターフェース309に出力される。 Read data from the sense amplifier 313 to the read buffer 330 is held through the signal line 318 is output to the control interface 309 via a signal line 338.

論理評価部340は、ライトバッファ320およびリードバッファ330に保持されたデータに基づいて論理評価を行い、マスクデータを生成するものである。 Logic evaluation unit 340 performs a logical evaluation based on the data held in the write buffer 320 and read buffer 330, and generates the mask data. この論理評価部340において生成されたマスクデータは、信号線348を介してメモリアレイ310に供給される。 The mask data generated by the logic evaluation section 340 is supplied to the memory array 310 via the signal line 348.

制御部350は、NVRAM301内の各ブロックを制御するコントローラである。 Control unit 350 is a controller for controlling each block in the NVRAM301. この制御部350は、例えばシーケンサにより実現される。 The control unit 350 is realized, for example by the sequencer. この制御部350は、信号線306を介して制御インターフェース309からのリードまたはライト等の指示を受け取り、信号線357を介して制御インターフェース309に対する応答を伝達する。 The control unit 350 receives the instruction of the read or write, etc. from the control interface 309 via a signal line 306, transmits a response to the control interface 309 via a signal line 357. また、制御部350は、信号線358を介してセンスアンプ313に対する制御信号を伝達し、信号線319を介してセンスアンプ313からの応答を受け取る。 The control unit 350 transmits a control signal to the sense amplifier 313 via the signal line 358, receives a response from the sense amplifier 313 via the signal line 319. また、制御部350は、信号線359を介して論理評価部340に対する制御信号を伝達する。 The control unit 350 transmits a control signal to the logic evaluation section 340 via a signal line 359.

閾値設定部360は、メモリアレイ310からのリードの際の閾値を設定するものである。 Threshold setting unit 360 is configured to set the threshold value at the time of read from the memory array 310. この閾値設定部360により設定される閾値の詳細については後述する。 For details of the threshold set by the threshold setting unit 360 will be described later. この閾値設定部360は、センスアンプ313における読出し電圧と比較される参照電圧源または参照電流源であり、例えば複数の抵抗を有してこれらを切り替えることにより実現することができる。 The threshold setting unit 360, a reference voltage source or reference current source is compared with the read voltage in the sense amplifier 313 can be realized by switching them for example with a plurality of resistors. この閾値設定部360の出力は、信号線369によってセンスアンプ313に伝達される。 The output of the threshold setting unit 360 is transmitted by signal line 369 to the sense amplifier 313. また、閾値の切替えの際には、制御部350から信号線358を介してセンスアンプ313に指示が伝達される。 Further, when the switching threshold, an indication is transmitted to the sense amplifier 313 via the signal line 358 from the controller 350.

図3は、本技術の実施の形態における機能構成例を示す図である。 Figure 3 is a diagram illustrating a functional configuration example according to the embodiment of the present technology. ここでは、論理評価部340においてマスク生成部341の機能を有し、メモリアレイ310においてビット操作部315、メモリセル316およびリード処理部317の機能を有することを想定している。 Here, a function of mask generator 341 in logic evaluation unit 340, the bit manipulation unit 315 in the memory array 310 is assumed to have a function of the memory cell 316 and the read processing unit 317.

マスク生成部341は、ライトバッファ320に保持されたライトデータと、リードバッファ330に保持されたプレリードデータとをビット毎に比較して、それぞれ対応するビットからなる消去マスクまたはプログラムマスクを生成するものである。 Mask generator 341 generates the write data held in the write buffer 320 is compared with the pre-read data held in the read buffer 330 for each bit, the erasing mask or program mask respectively from the corresponding bit it is intended. 消去マスクは、プレリードデータがHレベルかつライトデータがLレベルであるビットについてはHレベルをLレベルに消去する旨を示し、それ以外のビットについてはマスクする旨を示す。 Erasure mask, the bit pre-read data is H level and write data is L level indicates that the erasing H level to L level, indicating that the mask for the bit otherwise. プログラムマスク、プレリードデータがLレベルかつライトデータがHレベルであるビットについてはLレベルをHレベルにプログラムする旨を示し、それ以外のビットについてはマスクする旨を示す。 Program mask, for bit pre-read data is L level and the write data is H level indicates that the program the L level to the H level, indicating that the mask in the case of other bits.

ビット操作部315は、マスク生成部341によって生成された消去マスクまたはプログラムマスクに従って、メモリセル316のライトアドレスに係るデータ領域において、各ビットの消去またはプログラムを行う。 Bit operation section 315, in accordance with the erase mask or programmed mask generated by mask generator 341 in the data area according to the write address of the memory cell 316, erase or program of each bit. すなわち、消去マスクが与えられた場合には消去する旨を示すビットについてのみLレベルに消去する操作を行い、それ以外のビットは何も書換えを行わない。 In other words, do to erase the L level only for bits indicating that erased when erasing mask is given, the other bits performs no rewriting. また、プログラムマスクが与えられた場合にはプログラムする旨を示すビットについてのみHレベルにプログラムする操作を行い、それ以外のビットは何も書換えを行わない。 Also, it does to program the H level only for the bit indicating that the program when the program mask is given, the other bits performs no rewriting.

リード処理部317は、ライト動作に先立ち、閾値設定部360において設定された閾値を基準として、メモリセル316のライトアドレスに係るデータ領域からデータを読み出すものである。 Read processing unit 317, prior to a write operation, based on the set threshold in the threshold setting unit 360 is for reading data from the data area according to the write address of the memory cell 316. このようにしてライト動作に先立って読み出されたデータは、プレリードデータとしてリードバッファ330に保持される。 In this way, the data read out prior to the write operation is held in the read buffer 330 as pre-read data.

この機能構成例における処理は、制御部350によって必要に応じて適宜繰り返される。 Processing in the functional configuration example is repeated as needed by the control unit 350. 後述するように、この実施の形態では、消去マスクおよびプログラムマスクのそれぞれの生成のために、リード処理部317におけるプレリードが行われる。 As described later, in this embodiment, for each generation of the erasure mask and programs mask, pre-read is performed in the read processing section 317. また、ビット操作部315において消去およびプログラムが行われる。 Also, the erase and program is performed in the bit manipulation unit 315. すなわち、リード処理部317は特許請求の範囲に記載の第1リード処理部、第2リード処理部および第3リード処理部の一例であり、ビット操作部315は特許請求の範囲に記載の第1ライト処理部、第2ライト処理部および第3ライト処理部の一例である。 That is, the first lead section of the lead processing section 317 described in the claims, it is an example of a second read processing unit and the third lead processing unit, first described bit manipulation unit 315 in the appended claims write processing unit, which is an example of a second write processing unit and the third write processing unit. なお、この実施の形態では制御部350による繰返し実行を想定したが、第1リード処理部と、第2リード処理部と、第3リード処理部、および、第1ライト処理部と、第2ライト処理部と、第3ライト処理部は、それぞれ独立した構成要素として実現してもよい。 Incidentally, it is assumed repeatedly executed by the controller 350 in this embodiment, a first read processing unit, and a second read processing unit, the third lead processing unit, and a first write processing unit, a second light a processing unit, a third write processing unit may be implemented as an independent component.

[プレリードの閾値] [Threshold of the pre-read]
図4は、可変抵抗素子の抵抗分布を模式的に示した図である。 Figure 4 is a diagram schematically showing the resistance distribution of the variable resistance element. 横軸は抵抗値Rを示しており、縦軸はセルの数の統計的な分布を相対値により示している。 The horizontal axis represents the resistance value R, the vertical axis represents the relative value of the statistical distribution of the number of cells. この図が示すように、可変抵抗素子の抵抗分布は大きく2つの分布に分かれており、それぞれ低抵抗状態(LRS:Low-Resistance State)および高抵抗状態(HRS:High-Resistance State)と称する。 As shown in this figure is divided into the resistance distribution is large two distributions of the variable resistance element, respectively the low resistance state (LRS: Low-Resistance State) and the high resistance state (HRS: High-Resistance State) and referred. これら低抵抗状態と高抵抗状態とを分離するために通常用いられる敷値を標準閾値と呼ぶことにする。 Normal insole value used to separate the low resistance state and a high resistance state is called a standard threshold.

可変抵抗素子の高抵抗状態および低抵抗状態をそれぞれ論理0値または論理1値の何れかに対応付けることにより、可変抵抗素子はメモリセルとして機能する。 The high resistance state and low resistance state of the variable resistive element, respectively by associating either a logic 0 value or a logic 1 value, the variable resistance element functions as a memory cell. 論理0値または論理1値の何れに対応付けるかは任意である。 Or associated to any logical 0 value or a logic 1 value is arbitrary. 高抵抗状態を論理0値に対応付けて、低抵抗状態を論理1値に対応付けた場合には、低抵抗状態のセルが高抵抗状態になるよう消去され、高抵抗状態のセルが低抵抗状態になるようプログラムされる。 The high resistance state corresponds to the logical 0 value, when associated with low resistance state to a logic 1 value is erased so that the cell in the low resistance state is a high resistance state, the cell of the high-resistance state is a low resistance It is programmed to become state. 低抵抗状態を論理0値に対応付けて、高抵抗状態を論理1値に対応付けた場合には、高抵抗状態のセルが低抵抗状態になるよう消去され、低抵抗状態のセルが高抵抗状態になるようプログラムされる。 In association with low-resistance state to a logic zero value, if the associated high-resistance state to a logic 1 value is erased so that the cell of the high-resistance state to the low resistance state, the cell in the low resistance state high resistance It is programmed to become state.

図5は、本技術の実施の形態における低抵抗閾値および高抵抗閾値を説明するための図である。 Figure 5 is a diagram for explaining a low resistance threshold and the high threshold resistance value in the embodiment of the present technology. 同図のaにおいて、高抵抗状態の裾ビット801は、その他のビットに比べてデータの保持特性が良くない。 In a in the figure, the skirt bit 801 in the high resistance state, the data retention characteristic is not good compared to the other bits. そのため、この裾ビット801の状態にあるメモリセルについては、再度書込みをすることによってその状態を改善することが望ましい。 Therefore, the memory cell in the state of the hem bit 801, it is desirable to improve its state by writing again. しかしながら、同じ状態となる書込みを許容しない制御を行っている場合には、このメモリセルを高抵抗状態と認識してしまうと、連続して高抵抗状態になるように書込みを行うことが許容されなくなる。 However, if the control is performed that does not permit writing the same state, the result confirmed that this memory cell and the high resistance state, is allowed to perform the write to continuously a high resistance state no. そこで、この実施の形態では、高抵抗状態の裾ビット801については低抵抗状態にあるものとみなすように、基準となる閾値を高抵抗状態側にシフトして、高抵抗閾値によりプレリードを行う。 Therefore, in this embodiment, for the hem bits 801 in the high resistance state as deemed in the low-resistance state, by shifting the threshold value as a reference to the high resistance state side performs pre-read by the high-resistance threshold. これにより、裾ビット801については低抵抗状態にあるものとしてプレリードされ、その後、高抵抗状態になるように書込みが行われる。 Thus, for the skirt bits 801 are pre-read as being in the low resistance state, then the write is performed so that the high-resistance state.

同様に、同図のbにおいて、低抵抗状態の裾ビット802は、その他のビットに比べてデータの保持特性が良くない。 Similarly, in b of FIG hem bit 802 in the low resistance state, the holding characteristic of the data is not good compared to the other bits. そこで、裾ビット801の場合と同様に、低抵抗状態の裾ビット802については高抵抗状態にあるものとみなすように、基準となる閾値を低抵抗状態側にシフトして、低抵抗閾値によりプレリードを行う。 Therefore, as in the case of hem bits 801, as the skirt-bit 802 in the low resistance state is considered to be in the high resistance state, by shifting the threshold value as a reference in the low resistance state side, a low-resistance threshold preread I do. これにより、裾ビット802については高抵抗状態にあるものとしてプレリードされ、その後、低抵抗状態になるように書込みが行われる。 Thus, the skirt bits 802 are pre-read as being in the high resistance state, then the write so that the low resistance state is carried out.

[消去およびプログラムの具体例] [Specific examples of the erase and program]
図6は、可変抵抗素子に対して消去およびプログラムにより書込みを行う具体例を示す図である。 Figure 6 is a diagram showing a specific example of performing writing by erasing and programming the variable resistance element. ここでは、標準敷値を用いた大まかな流れを示しており、低抵抗閾値および高抵抗状態を使い分けたものではない。 Here shows a rough flow using standard sock value, not intended to distinguish a low resistance threshold value and a high resistance state. この例では、ライトデータ「LLLLHHHH」を書き込む際に予めプレリードが行われ、現在の値として「LHHLHLHL」が得られたものと想定している。 In this example, pre-pre-read is performed when writing the write data "LLLLHHHH", and assumes that "LHHLHLHL" is obtained as the current value. そして、同じ状態となる書込みが発生しないように、「L」に消去すべきビットは現在の値が「H」のビット位置のみとなるように消去マスクを作成し、「H」にプログラムすべきビットは現在の値が「L」のビット位置のみとなるようにプログラムマスクを作成する。 As write the same state does not occur, the bit to be erased to "L" is the current value creates erasure mask so that only the bit positions of "H", to be programmed to "H" bit current value to create a program mask so that only the bit positions of "L". なお、この例では、「L」レベルを論理0値に、「H」レベルを論理1値にそれぞれ対応付けている。 In this example, the "L" level to the logic 0 value, are respectively associated with the "H" level to a logic 1 value.

この場合、現在の値「H」を「L」に消去する必要があるのは第5ビットおよび第6ビットであるため、消去マスクとしては「MEEMMMMM」というパターンが得られる。 In this case, since there needs to be erased current value to "H" to "L" is the fifth bit and the sixth bit, the pattern of "MEEMMMMM" is obtained as an erase mask. ここで、「E」は消去対象となるビットを、「M」は消去対象とならないビットをそれぞれ意味する。 Here, "E" is the bit to be erased, "M" means each of the bits that are not erased.

一方、現在の値「L」を「H」にプログラムする必要があるのは第0ビットおよび第2ビットであるため、プログラムマスクとしては「MMMMMPMP」というパターンが得られる。 On the other hand, the current value "L" has to be programmed to the "H" is the zeroth bit and the second bit pattern of "MMMMMPMP" is obtained as a program mask. ここで、「P」はプログラム対象となるビットを、「M」はプログラム対象とならないビットをそれぞれ意味する。 Here, the "P" is the bit to be programmed, which means "M" is the bit that do not program the target, respectively.

これら消去マスクおよびプログラムマスクが用意されると、消去マスクに従って消去が行われ、プログラムマスクに従ってプログラムが行われる。 When these erasure mask and programs mask is provided, erasure is performed in accordance with erasure mask, the program is executed according to a program mask. なお、プログラムおよび消去の順番はどちらが先でも構わない。 In addition, the order of the program and erase may be in either the first.

図7は、本技術の実施の形態において書込みを行う具体例を示す図である。 Figure 7 is a diagram showing a specific example of writing in the embodiment of the present technology. ここでは、低抵抗閾値および高抵抗状態を使い分けてプレリードが行われる。 Here, pre-read is performed by selectively using low resistance threshold value and a high resistance state. この例でも、ライトデータ「LLLLHHHH」を書き込む際に予めプレリードが行われ、現在の値として「LHHLHLHL」が得られたものと想定している。 In this example, pre-pre-read is performed when writing the write data "LLLLHHHH", and assumes that "LHHLHLHL" is obtained as the current value. ただし、メモリセルの状態として、第3ビットが低抵抗状態の裾ビット802にあり、第7ビットが高抵抗状態の裾ビット801にあるものとする。 However, as the state of the memory cells, the third bit is in the hem bit 802 in the low resistance state, it is assumed that the seventh bit is in the hem bit 801 in the high resistance state.

まず、消去マスクを生成するために、高抵抗閾値によりプレリードが行われる。 First, to generate the erasing mask, pre-read is performed by the high-resistance threshold. この例では第7ビットが高抵抗状態の裾ビット801にあるため、「H」レベルとして読み出される。 Since in this example the first seven bits in the hem bit 801 in the high resistance state is read out as "H" level. そのため、消去マスクとしては「EEEMMMMM」というパターンが得られる。 Therefore, the pattern of "EEEMMMMM" is obtained as an erasing mask. すなわち、この例では第7ビットも消去対象となる。 That is, in this example also be erased seventh bit.

続いて、プログラムマスクを生成するために、低抵抗閾値によりプレリードが行われる。 Subsequently, in order to generate a program mask, pre-read is performed by the low-resistance threshold. この例では第3ビットが低抵抗状態の裾ビット802にあるため、「L」レベルとして読み出される。 Since in this example the third bit is in the hem bit 802 in the low resistance state is read out as "L" level. そのため、プログラムマスクとしては「MMMMPPMP」というパターンが得られる。 Therefore, the pattern of "MMMMPPMP" is obtained as a program mask. すなわち、この例では第3ビットもプログラム対象となる。 That is, in this example also a programmed third bit.

[情報処理システムの動作] [Operation of Information Processing System]
図8は、本技術の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。 Figure 8 is a flowchart showing a write process procedure of an information processing system according to an embodiment of the present technology. まず、NVRAM301に対してライトデータおよびライト指示が発行されると(ステップS931)、消去マスクを作成するために高抵抗閾値がセットされて(ステップS932)、メモリセル316からプレリードが行われる(ステップS933)。 First, when the write data and write instruction is issued to NVRAM301 (step S931), the high-resistance threshold is set to create the erasure mask (step S932), pre-read is performed from the memory cell 316 (step S933). このプレリードは、リード処理部317により実行される。 The pre-read is performed by the read processing section 317. ライトデータはライトバッファ320に保持され、プレリードデータはリードバッファ330に保持される。 Write data is held in the write buffer 320, pre-read data is held in the read buffer 330.

そして、マスク生成部341は、ライトデータとプレリードデータを比較して(ステップS934)、上述の要領で消去マスクを生成する(ステップS935)。 The mask generating unit 341 compares the write data and the pre-read data (step S934), it generates the erasure mask in the manner described above (step S935). すなわち、ライトデータが「L」レベルでプレリードデータが「H」レベルのビット位置については「E」を、それ以外のビット位置については「M」をそれぞれパターンとする消去マスクを生成する。 That is, pre-read data write data is "L" level to "H" level "E" for bit positions for the bit position otherwise generating the erasure mask to pattern the "M", respectively. そして、この消去マスクに従って、ビット操作部315によってメモリセル316に対する消去処理が行われる(ステップS936)。 Then, in accordance with the erasure mask, the erasing process for the memory cell 316 is performed by the bit manipulation unit 315 (step S936). この消去の際には検証(Verify)が行われ(ステップS937)、検証に成功するまで繰り返される(ステップS938:No)。 Verification when the erasure (the Verify) is performed (step S937), are repeated until the verification is successful (step S938: No). ただし、繰り返し上限回数に達すると(ステップS939:Yes)、標準閾値にリセットされて(ステップS952)、エラー終了する。 However, repeated upper limit number of times is reached (step S939: Yes), it is reset to the standard threshold value (step S952), an error termination.

次に、プログラムマスクを作成するために低抵抗閾値がセットされて(ステップS942)、メモリセル316からプレリードが行われる(ステップS943)。 Then, a low resistance threshold is set in order to create a program mask (step S942), pre-read is performed from the memory cell 316 (step S943). このプレリードは、リード処理部317により実行され、プレリードデータはリードバッファ330に保持される。 The pre-read is performed by the read processing section 317, pre-read data is held in the read buffer 330.

そして、マスク生成部341は、ライトデータとプレリードデータを比較して(ステップS944)、上述の要領でプログラムマスクを生成する(ステップS945)。 The mask generating unit 341 compares the write data and the pre-read data (step S 944), generates a program mask in the manner described above (step S945). すなわち、ライトデータが「H」レベルでプレリードデータが「L」レベルのビット位置については「P」を、それ以外のビット位置については「M」をそれぞれパターンとするプログラムマスクを生成する。 That is, pre-read data write data is "H" level to "L" level "P" for bit positions for the bit position otherwise generates a program mask to pattern the "M", respectively. そして、このプログラムマスクに従って、ビット操作部315によってメモリセル316に対するプログラム処理が行われる(ステップS946)。 Then, in accordance with the program mask, the program process for memory cell 316 is performed by the bit manipulation unit 315 (step S946). このプログラムの際には検証(Verify)が行われ(ステップS947)、検証に成功するまで繰り返される(ステップS948:No)。 Verification During this program (the Verify) is performed (step S947), it is repeated until the verification is successful (step S948: No). ただし、繰り返し上限回数に達すると(ステップS949:Yes)、標準閾値にリセットされて(ステップS952)、エラー終了する。 However, repeated upper limit number of times is reached (step S949: Yes), it is reset to the standard threshold value (step S952), an error termination.

消去およびプログラムが完了すると、標準閾値にリセットされて(ステップS951)、正常終了する。 When the erase and program is complete, it is reset to the standard threshold value (step S951), it ends normally. なお、ここでは消去の後にプログラムを行う例について説明したが、この順序は逆でもよく、プログラムの後に消去を行うようにしてもよい。 Here, an example has been described to be programmed after the erasure, the order may be reversed, may be erased after the program.

このように、本技術の第1の実施の形態によれば、プレリードの閾値を変更することにより、裾ビットについては異なる状態として読み出して、再度修正書込みを行うことができ、データ保持特性を改善することができる。 Thus, according to the first embodiment of the present technology, by changing the threshold value of the pre-read, reads as a state that is different from the hem bits can be corrected writing again, enhance data retention can do.

<2. <2. 第2の実施の形態> The second embodiment of the present invention>
上述の第1の実施の形態では、消去マスクを作成する際には高抵抗閾値にセットし、プログラムマスクを作成する際には低抵抗閾値にセットすることにより、常時強制的に裾ビットの再書込みを行っていた。 In the first embodiment described above was set in a high resistance threshold when creating the erasure mask, by setting a low resistance threshold when creating a program mask, constantly forced hem bit re I was going to write. この場合、ライトのたびにプレリードを2回行うことになるため、動作が遅くなるという問題がある。 In this case, since the performing twice preread for every write, there is a problem that the operation becomes slow. そこで、第1の実施の形態における動作モードを保護モードと称し、必要なときのみ保護モードによる動作を行うようにしたものを第2の実施の形態として説明する。 Therefore, a description referred to the operation mode and the protected mode in the first embodiment, those to perform the operation by only protection mode when necessary as a second embodiment. 基本的なシステム構成は第1の実施の形態において説明したものと同様であり、例えば制御部350がこの動作モードの設定を行う。 The basic system configuration is similar to that described in the first embodiment, for example, the control unit 350 performs setting of the operation mode. すなわち、制御部350は、特許請求の範囲に記載の動作モード設定部の一例である。 That is, the control unit 350 is an example of an operation mode setting unit described in the appended claims.

[情報処理システムの動作] [Operation of Information Processing System]
図9は、本技術の第2の実施の形態における情報処理システムの処理手順例を示す流れ図である。 Figure 9 is a flowchart showing an exemplary processing procedure of the information processing system according to the second embodiment of the present technology. この第2の実施の形態では、ホストコンピュータ100からの指示により、NVRAM301の制御部350において動作モードを決定することを想定する。 In the second embodiment, by an instruction from the host computer 100 is assumed to determine the operation mode in the control unit 350 of the NVRAM301. 標準モードにおいてはライトに先立って標準閾値によるプレリードが1回行われる。 In standard mode preread by standard threshold before the write is executed once. 一方、保護モードにおいては第1の実施の形態と同様に、ライトに先立って高抵抗閾値によるプレリードと低抵抗閾値によるプレリードが併せて2回行われる。 On the other hand, in the protection mode, as in the first embodiment, pre-read by the pre-read and the low-resistance threshold by high resistance threshold prior to the write is performed twice together.

ライト処理の際、ホストコンピュータ100からの指示が保護モードを示している場合には(ステップS901:Yes)、保護モードによるライト処理が行われる(ステップS930)。 During the write process, if the instruction from the host computer 100 indicates the protection mode (Step S901: Yes), the write processing by is performed protected mode (step S930). 一方、ホストコンピュータ100からの指示が標準モードを示している場合には(ステップS901:No)、標準モードによるライト処理が行われる(ステップS910)。 On the other hand, if the instruction from the host computer 100 indicates the standard mode (Step S901: No), write processing by is performed a standard mode (step S910). 標準モードによるライト処理(ステップS930)は、図8により説明した処理手順と同様である。 Light treatment with standard mode (step S930) is similar to the processing procedure described with reference to FIG.

図10は、本技術の第2の実施の形態における標準モードのライト処理(ステップS910)の手順例を示す流れ図である。 Figure 10 is a flowchart illustrating a procedure example of write processing of the standard mode in the second embodiment of the present technology (step S910). まず、NVRAM301に対してライトデータおよびライト指示が発行されると(ステップS911)、消去マスクおよびプログラムマスクを作成するために、メモリセル316から標準閾値によるプレリードが行われる(ステップS913)。 First, when the write data and write instruction is issued to NVRAM301 (step S911), in order to create the erasure mask and programs mask, pre-read from the memory cell 316 by the normal threshold is performed (step S913). このプレリードは、リード処理部317により実行される。 The pre-read is performed by the read processing section 317. ライトデータはライトバッファ320に保持され、プレリードデータはリードバッファ330に保持される。 Write data is held in the write buffer 320, pre-read data is held in the read buffer 330.

そして、マスク生成部341は、ライトデータとプレリードデータを比較して(ステップS914)、上述の要領で消去マスクを生成する(ステップS915)。 The mask generating unit 341 compares the write data and the pre-read data (step S914), it generates the erasure mask in the manner described above (step S915). すなわち、ライトデータが「L」レベルでプレリードデータが「H」レベルのビット位置については「E」を、それ以外のビット位置については「M」をそれぞれパターンとする消去マスクを生成する。 That is, pre-read data write data is "L" level to "H" level "E" for bit positions for the bit position otherwise generating the erasure mask to pattern the "M", respectively. そして、この消去マスクに従って、ビット操作部315によってメモリセル316に対する消去処理が行われる(ステップS916)。 Then, in accordance with the erasure mask, the erasing process for the memory cell 316 is performed by the bit manipulation unit 315 (step S916). この消去の際には検証(Verify)が行われ(ステップS917)、検証に成功するまで繰り返される(ステップS918:No)。 Verification when the erasure (the Verify) is performed (step S917), are repeated until the verification is successful (step S918: No). ただし、繰り返し上限回数に達すると(ステップS919:Yes)、エラー終了する。 However, to reach repetition upper limit number (step S919: Yes), an error termination.

次に、マスク生成部341は、上述の要領でプログラムマスクを生成する(ステップS925)。 Next, the mask generation unit 341 generates a program mask in the manner described above (step S925). すなわち、ライトデータが「H」レベルでプレリードデータが「L」レベルのビット位置については「P」を、それ以外のビット位置については「M」をそれぞれパターンとするプログラムマスクを生成する。 That is, pre-read data write data is "H" level to "L" level "P" for bit positions for the bit position otherwise generates a program mask to pattern the "M", respectively. そして、このプログラムマスクに従って、ビット操作部315によってメモリセル316に対するプログラム処理が行われる(ステップS926)。 Then, in accordance with the program mask, the program process for memory cell 316 is performed by the bit manipulation unit 315 (step S926). このプログラムの際には検証(Verify)が行われ(ステップS927)、検証に成功するまで繰り返される(ステップS928:No)。 Verification During this program (the Verify) is performed (step S927), it is repeated until the verification is successful (step S928: No). ただし、繰り返し上限回数に達すると(ステップS929:Yes)、エラー終了する。 However, to reach repetition upper limit number (step S929: Yes), an error termination.

消去およびプログラムが完了すると、ライト処理は正常終了する。 When the erase and program is completed, the write process is successful. なお、ここでは消去の後にプログラムを行う例について説明したが、この順序は逆でもよく、プログラムの後に消去を行うようにしてもよい。 Here, an example has been described to be programmed after the erasure, the order may be reversed, may be erased after the program.

このように、本技術の第2の実施の形態によれば、状況に応じて裾ビットの強制的再修正を行わないように動作モードを変更することにより、プレリード回数を抑制することができる。 Thus, according to the second embodiment of the present technology, by changing the operation mode so as not to force re-correction of the skirt bits depending on the situation, it is possible to suppress the pre-read times.

<3. <3. 第3の実施の形態> Third Embodiment>
可変抵抗素子を用いたReRAMでは、データを保持してから時間が経過するにつれてデータ保持特性が悪化し、これによりエラー訂正コード(ECC)により検出訂正されるエラー数が増加する。 In ReRAM using a variable resistive element, the data retention characteristics are deteriorated as time elapses after holding the data, thereby the number of errors detected and corrected by the error correction code (ECC) is increased. 例えば、4ビットの訂正能力を有するエラー訂正コードを用いた場合、4ビットまでのエラーは訂正できるが、それ以上であれば訂正ができなくなる。 For example, when using an error correction code having a 4-bit correction capability, but the error of up to 4 bits can be corrected, it becomes impossible to correct if more. そのため、訂正不可能になる前にエラー訂正後のデータを書き直す手法(データリフレッシュ)が有効である。 Therefore, a method of rewriting the data of the error-corrected before the uncorrectable (data refresh) is valid. しかしながら、上述の第2の実施の形態における標準モードのような制御を行った場合には、プレリードデータとライトデータが同じである場合には全てのビットにおいてプログラムも消去を行われない。 However, when performing control, such as a standard mode in the second embodiment described above, the pre-read data and write data it is not performed to erase some programs in all bits to be the same. 一方、保護モードのような制御を常に行った場合には、プレリード回数が増えて動作が遅くなるおそれがある。 On the other hand, when performing always control such as protected mode, there is a possibility that operation is increasing preread times slower.

そこで、以下の第3の実施の形態では、標準閾値を用いてリード動作を行い、エラーが検出された場合に、検出されたエラーが訂正可能な場合には保護モードによりデータリフレッシュを行う。 Therefore, in the following third embodiment performs a read operation using the normal threshold, when an error is detected, if the detected error correctable performs data refreshed by protection mode. これにより、常に保護モードを用いるよりも、動作速度の観点で改善を行い、また、保護モードを用いたデータリフレッシュ時には、裾ビットに対して修正書込みを行ってデータ保持特性を改善する。 Thus, rather than always using the protected mode, perform improvements in terms of operation speed, also when data is refreshed using the protection mode, to improve the data retention characteristics by performing a correction write to hem bits. なお、これらデータリフレッシュのための一連の動作はメモリシステム400内で閉じており、上位のホストコンピュータ100側ではこれを意識する必要はない。 A series of operations for these data refreshing is closed in the memory system 400 need not be aware of this by the host computer 100 side of the upper. また、基本的なシステム構成は第1の実施の形態において説明したものと同様である。 The basic system configuration is similar to that described in the first embodiment.

[情報処理システムの動作] [Operation of Information Processing System]
図11は、本技術の第3の実施の形態における情報処理システムの処理手順例を示す流れ図である。 Figure 11 is a flowchart showing an exemplary processing procedure of the information processing system according to the third embodiment of the present technology. この第3の実施の形態では、ホストコンピュータ100からリードコマンドを受けると、リード処理部317によって、NVRAM301の指定されたリードアドレスから標準閾値によりデータが読み出される(ステップS961)。 In the third embodiment, upon receiving a read command from the host computer 100, the read processing unit 317, data is read by a standard threshold from the specified read address NVRAM301 (step S 961). このリードアドレスが論理アドレスである場合、メモリシステム400内で物理アドレスに変換して、NVRAM301の該当する物理アドレスからデータが読み出される。 If the read address is a logical address is converted into a physical address in the memory system within 400, it reads data from the corresponding physical address of NVRAM301. その場合、論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを備えてもよい。 In that case, it may be an address conversion table for converting a logical address into a physical address.

次に、読み出されたデータにエラーが含まれるか否かがECC処理部230によってチェックされる。 Next, whether or contains an error on the read data is checked by the ECC processing unit 230. エラーが検出されなければ(ステップS962:No)、読み出されたデータをホストコンピュータ100に対して出力し(ステップS963)、ステータスを「正常」に更新する(ステップS964)。 If no error is detected (step S962: No), it outputs the read data to the host computer 100 (step S963), and updates the status to "normal" (step S 964). このステータスは、例えばレジスタに記憶されており、ホストコンピュータ100はこのレジスタを読み出すことにより、正常終了したか否かを確認することができる。 This status, for example, registers are stored in the host computer 100 by reading this register, it is possible to confirm whether or not successful.

エラーが検出された場合には(ステップS962:Yes)、そのエラーが訂正可能なものであるかが判断される。 If an error is detected (step S962: Yes), the error is either is capable correction is determined. エラー訂正できない場合には(ステップS965:No)、読み出されたデータを訂正せずにホストコンピュータ100に対して出力し(ステップS966)、ステータスを「訂正不能エラー」に更新する(ステップS967)。 If uncorrectable error (step S965: No), outputs to the host computer 100 without correcting the read data (step S966), and updates the status to "uncorrectable error" (step S967) . なお、この場合にはエラー終了になるため、読み出されたデータをホストコンピュータ100に対して出力しないという選択も考えられる。 Incidentally, since the error termination in this case, choose not to output the read data to the host computer 100 is also conceivable.

エラー訂正が可能な場合には(ステップS965:Yes)、ECC処理部230においてエラー訂正が行われる(ステップS968)。 Where possible error correction (step S965: Yes), the error correction is performed in the ECC processing unit 230 (step S968). そして、訂正後のデータをホストコンピュータ100に対して出力し(ステップS969)、ステータスを「訂正可能エラー」に更新する(ステップS971)。 Then, outputs the corrected data to the host computer 100 (step S969), and updates the status to "correctable error" (step S971).

エラー訂正後(ステップS971)、データリフレッシュを行うか否かの判断が行われる。 After error correction (step S971), determines whether or not to data refresh is performed. 例えば、ECC処理部230の訂正能力が4ビットの場合において3ビット以上の訂正可能エラーが生じるとデータリフレッシュを行う、といったビット数を閾値とした基準が設けられる。 For example, the correction capability of the ECC processing unit 230 performs occurs 3 or more bits of correctable error data refreshing in the case of 4 bits, a reference is provided to the number of bits to a threshold such. データリフレッシュが必要と判断された場合(ステップS972:Yes)、書き戻しに備えて、訂正後のデータをメモリ300等の何れかの領域に一時的に格納しておく(ステップS973)。 If the data refreshing is determined to be necessary (step S972: Yes), in preparation for writing back the corrected data storing any area temporarily, such as the memory 300 (step S973).

そして、動作モードを標準モードから保護モードに切り替える(ステップS974)。 Then, switching to the protected mode of the operation mode from the normal mode (step S974). ECCエラーが発生している一つの要因は時間経過によるデータ保持特性の低下と考えられ、ECCエラーが発生したビット以外でも裾ビットが多発しているおそれがあるため、保護モードに切り替えることにより修正書込みを行うためである。 One factor that ECC error occurs is considered reduction in data retention characteristics with the passage of time, since there is a danger that the hem bits other than bits ECC error has occurred is frequently, corrected by switching to the protection mode This is because of writing.

そして、その切り替えられた保護モードにおいて、メモリに一時格納されている訂正後のデータを、該当アドレスに対して書き直す(ステップS975)。 Then, in the switched protection mode, the corrected data temporarily stored in the memory, rewriting with respect to the corresponding address (step S975). これによりECCエラーが発生したビットと、これ以外の裾ビットに対して修正書込みが行われる。 This and bit ECC error occurs, the modification data is written with respect to other hem bits. 可変抵抗素子を用いた不揮発性メモリは、浮遊ゲートを用いた例えばNANDフラッシュメモリと異なり、同一アドレスに対する書戻しが可能である。 Variable resistive element nonvolatile memory using, unlike the NAND flash memory, for example using a floating gate, it is possible to write back to the same address. したがって、論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを備えていたとしても、その更新を行う必要はない。 Therefore, even though an address conversion table for converting a logical address into a physical address, there is no need to perform the update.

その後、動作モードを標準モードに切り替えて(ステップS976)、リード動作を終了する。 Then, by switching the operation mode to the standard mode (step S976), to terminate the read operation.

このように、本技術の第3の実施の形態によれば、リードアクセスの際に訂正可能なエラーが検出された場合には、訂正されたデータを保護モードにおいて書き直すことによりデータリフレッシュを実現することができる。 Thus, according to the third embodiment of the present technology, when a correctable error during the read access is detected, implement data refreshed by rewriting the corrected data in the protected mode be able to.

<4. <4. 第4の実施の形態> Fourth Embodiment>
情報処理システムにおいては、上位のホストコンピュータ100側のアプリケーションによって、データが「ホット」または「コールド」の何れかに分類される場合がある。 In the information processing system, the upper host computer 100 side of the application, there is a case where data is classified into either "hot" or "cold". 「ホット」データとはより頻繁に書換えが行われるデータであり、「コールド」データとはあまり書換えが行われないデータである。 Is data more frequently rewritten is carried out with the "hot" data, the "cold" data is less rewriting is not performed data. 例えば、オペレーティングシステムのカーネルのようなデータは一旦書き込まれた後は書き換えられることが少ないため、「コールド」データに分類することができる。 For example, since it is less rewritten after data such as an operating system kernel is once written, it can be classified as "cold" data. この「ホット」または「コールド」のデータの分類は、アプリケーションに大きく依存するため、上位のホストコンピュータ100から、メモリシステム400に、この「ホット」または「コールド」の通知や制御が行われることが望ましい。 The classification of data of "hot" or "cold" is dependent largely on the application, from the upper host computer 100, the memory system 400, that the notification and control of the "hot" or "cold" performed desirable. この第4の実施の形態では、ホストコンピュータ100からコマンドを用いて、データの属性を「ホット」、「コールド」、または、それ以外の「通常」の3つに分類して指定することを想定する。 In the fourth embodiment, by using a command from the host computer 100, the attribute data "hot", "cold", or, assuming that the specified three categories other than "normal" it to.

図12は、本技術の第4の実施の形態における情報処理システムの処理手順例を示す流れ図である。 Figure 12 is a flowchart showing an exemplary processing procedure of an information processing system in the fourth embodiment of the present technology. メモリシステム400がホストコンピュータ100からライトコマンドを受信して、指定されたデータの属性が「コールド」に指定されていれば(ステップS902)、保護モードを用いてNVRAM301に対して書込みを行う(ステップS930)。 Memory system 400 receives a write command from the host computer 100, if the attribute of the specified data is specified in the "cold" (step S902), writes to NVRAM301 using protected mode (step S930). 保護モードを用いることで、データ保持特性の良くないビットに対しても、例えば最初に「コールド」データを書き込む際に、修正書込みおよび修正消去が行われ、エラーの発生を未然に防止することができる。 By using the protection mode, even for poor bit data retention characteristics, for example, when writing first to "cold" data, modify write and revised erased is performed, it is possible to prevent the occurrence of an error from occurring it can.

また、「コールド」属性以外の「通常」属性のデータおよび「ホット」属性のデータの書込みに対しては、標準モードによる書込みを行う(ステップS910)。 Further, for the writing of data in the data and "hot" attribute of the "normal" attribute other than "cold" attribute writes by standard mode (step S910). これは、書込み時間の観点で有利だからである。 This is because it is advantageous in terms of writing time. 一方、「コールド」属性のデータはそもそも書込みを行う頻度が少ないため、保護モードを用いることによる速度低下のペナルティは問題となり難い。 On the other hand, the frequency data of the "cold" attribute to perform the first place the write is small, the penalty of reduced speed by using the protection mode hardly be a problem.

ここで、ステップS910の処理手順は図10により説明したものと同様であり、ステップS930の処理手順は図8により説明したものと同様である。 Here, the processing procedure of step S910 is the same as that described with reference to FIG. 10, the processing procedure of step S930 is similar to that described with reference to FIG. 8.

このように、本技術の第4の実施の形態によれば、データの属性に応じて動的に動作モードを変更することにより、プレリード回数を適切に抑制することができる。 Thus, according to the fourth embodiment of the present technology, by dynamically changing the operating mode according to the attribute data, it is possible to appropriately suppress the preread number.

なお、この第4の実施の形態では、ホストコンピュータ100から明示的に「ホット」または「コールド」の属性を指定することにより、NVRAM301に対する書込み方法を選択するという例を示した。 Incidentally, in the fourth embodiment, by specifying the attributes explicitly "hot" or "cold" from the host computer 100, an example of selecting the writing method for NVRAM301. しかし、USBやSATAなどのように、使用するストレージインターフェースによってはデータの属性をメモリシステム400に通知することができない仕様も存在する。 However, such as USB and SATA, the storage interface used also present specification can not be notified of the attribute data in the memory system 400. このようなメモリシステム400の場合は、メモリシステム400内のプロセッサ210によってメモリアクセスパターンを解析することで、自律的に「ホット」または「コールド」を判別して、動作モードを選択することも考えられる。 For such a memory system 400, by analyzing the memory access pattern by the processor 210 of the memory system 400, autonomously determine the "hot" or "cold", considered also select the operating mode It is.

なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。 Incidentally, the above-described embodiments are merely examples for embodying the present technology includes a matters in the embodiments, respectively the invention specifying matters in the claims correspondence. 同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。 Similarly, with the subject matter in the appended claims, the correspondence between each the matters in the embodiments of the present technology are denoted by the same names as. ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。 However, the present technology is not limited to the embodiments may be implemented by making various modifications to the embodiments without departing from the scope of the invention.

また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。 Also, the processing procedures described in the above embodiment, may be regarded as a method having these series of procedures, also as a program or a recording medium storing the program for executing the series of procedures in computer it may be grasped. この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。 As the recording medium, for example, CD (Compact Disc), MD (MiniDisc), DVD (Digital Versatile Disk), memory card, Blu-ray disc (Blu-ray Disc (registered trademark)), or the like can be used.

なお、本技術は以下のような構成もとることができる。 The present technology may also be configured as follows.
(1)メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 (1) a first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in the memory cell,
ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 A first write processing unit for rewriting said memory cell to said first value if said first read data write data to a first value is the second value,
前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 A second lead processing section for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部とを具備する記憶制御装置。 Storage controller having a second write processing unit for rewriting said memory cell to said second value when the second read data the write data is a said second value is the first value .
(2)前記メモリセルは可変抵抗素子であって、 (2) The memory cell is a variable resistance element,
前記第1の閾値は標準の閾値よりも高抵抗状態側に設定され、 The first threshold is set to a high resistance state side than the standard threshold value,
前記第2の閾値は前記標準の閾値よりも低抵抗状態側に設定される前記(1)に記載の記憶制御装置。 The second threshold value storage control apparatus according to (1) set to a low resistance state side than the threshold value of the standard.
(3)前記第1の値は論理0値であり、 (3) the first value is a logic 0 value,
前記第2の値は論理1値である前記(2)に記載の記憶制御装置。 The second value storage control apparatus according to a logical 1 value (2).
(4)前記メモリセルは可変抵抗素子であって、 (4) the memory cell is a variable resistance element,
前記第1の閾値は標準の閾値よりも低抵抗状態側に設定され、 The first threshold is set than a standard threshold value in the low resistance state side,
前記第2の閾値は前記標準の閾値よりも高抵抗状態側に設定される前記(1)に記載の記憶制御装置。 The second threshold value storage control apparatus according to (1) set to a high resistance state side than the threshold value of the standard.
(5)前記第1の値は論理1値であり、 (5) the first value is a logic 1 value,
前記第2の値は論理0値である前記(4)に記載の記憶制御装置。 The second value storage control apparatus according to a logic 0 value (4).
(6)動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、 (6) and the operation mode setting unit for setting either the first mode or the second mode as the operation mode,
前記第1のモードが設定されている場合において、メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 In the case where the first mode is set, first reading the data having any one value of the first value or the second value based on the first threshold value in the memory cell as the first read data and lead processing unit,
前記第1のモードが設定されている場合において、ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 In the case where the first mode is set, rewrites the memory cells to said first value if said first read data write data to a first value is the second value a first write unit,
前記第1のモードが設定されている場合において、前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 In the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
前記第1のモードが設定されている場合において、前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部と、 In the case where the first mode is set, the memory cell to the second value when the second read data the write data is a said second value is the first value a second write unit for rewriting,
前記第2のモードが設定されている場合において、前記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、 In the case where the second mode is set, the third lead processing unit for reading the standard threshold as a third read data based in the memory cell,
前記第2のモードが設定されている場合において、前記ライトデータが前記第1の値であって前記第3リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換え、前記ライトデータが前記第2の値であって前記第3リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第3ライト処理部とを具備する記憶制御装置。 In the case where the second mode is set, the memory cells to said first value if the third read data the write data is a first value is the second value rewriting, storage comprising a third write processing unit for rewriting said memory cell to said second value when the third read data the write data is a said second value is the first value Control device.
(7)リード処理の際にエラーが検出されてそのエラー訂正が行われると、前記動作モードとして前記第1のモードを設定して、前記エラー訂正に係るアドレスを前記ライトアドレスとし、前記エラー訂正されたデータを前記ライトデータとして書き直す前記(6)に記載の記憶制御装置。 (7) an error during the read process is that error correction is detected is performed, by setting the first mode as the operation mode, the address relating to the error correction and the write address, the error correction the storage control apparatus according to (6) be rewritten has been data as the write data.
(8)メモリセルを備えるメモリアレイと、 A memory array comprising a (8) memory cells,
前記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 A first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in said memory cell,
ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 A first write processing unit for rewriting said memory cell to said first value if said first read data write data to a first value is the second value,
前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 A second lead processing section for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部とを具備する記憶装置。 Storage device having a second write processing unit for rewriting said memory cell to said second value when the second read data the write data is a said second value is the first value.
(9)メモリセルを備えるメモリアレイと、 A memory array comprising a (9) memory cells,
動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、 An operation mode setting unit for setting either the first mode or the second mode as the operation mode,
前記第1のモードが設定されている場合において、前記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 In the case where the first mode is set, the read data having any one value of the first value or the second value of the first threshold value as a reference in the memory cell as the first read data 1 lead processing unit,
前記第1のモードが設定されている場合において、ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 In the case where the first mode is set, rewrites the memory cells to said first value if said first read data write data to a first value is the second value a first write unit,
前記第1のモードが設定されている場合において、前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 In the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
前記第1のモードが設定されている場合において、前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部と、 In the case where the first mode is set, the memory cell to the second value when the second read data the write data is a said second value is the first value a second write unit for rewriting,
前記第2のモードが設定されている場合において、前記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、 In the case where the second mode is set, the third lead processing unit for reading the standard threshold as a third read data based in the memory cell,
前記第2のモードが設定されている場合において、前記ライトデータが前記第1の値であって前記第3リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換え、前記ライトデータが前記第2の値であって前記第3リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第3ライト処理部とを具備する記憶装置。 In the case where the second mode is set, the memory cells to said first value if the third read data the write data is a first value is the second value rewriting, storage comprising a third write processing unit for rewriting said memory cell to said second value when the third read data the write data is a said second value is the first value apparatus.
(10)メモリセルを備えるメモリアレイと、 A memory array comprising a (10) memory cells,
動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、 An operation mode setting unit for setting either the first mode or the second mode as the operation mode,
前記第1のモードが設定されている場合において、前記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 In the case where the first mode is set, the read data having any one value of the first value or the second value of the first threshold value as a reference in the memory cell as the first read data 1 lead processing unit,
前記第1のモードが設定されている場合において、ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 In the case where the first mode is set, rewrites the memory cells to said first value if said first read data write data to a first value is the second value a first write unit,
前記第1のモードが設定されている場合において、前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 In the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
前記第1のモードが設定されている場合において、前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部と、 In the case where the first mode is set, the memory cell to the second value when the second read data the write data is a said second value is the first value a second write unit for rewriting,
前記第2のモードが設定されている場合において、前記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、 In the case where the second mode is set, the third lead processing unit for reading the standard threshold as a third read data based in the memory cell,
前記第2のモードが設定されている場合において、前記ライトデータが前記第1の値であって前記第3リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換え、前記ライトデータが前記第2の値であって前記第3リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第3ライト処理部と、 In the case where the second mode is set, the memory cells to said first value if the third read data the write data is a first value is the second value rewriting, a third write processing unit for rewriting said memory cell to said second value when the third read data the write data is a said second value is the first value,
前記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータとを具備する情報処理システム。 The information processing system comprising a host computer that issues a read command or a write command for the memory array.
(11)前記ホストコンピュータは、前記ライトコマンドに係るライトデータの書換え頻度に関する情報を前記ライトコマンドに付加して発行し、 (11) said host computer, information about the rewriting frequency of the write data according to the write command issued in addition to the write command,
前記動作モード設定部は、前記ライトデータの書換え頻度が低い頻度を示している場合には前記第1のモードを設定し、それ以外の場合には前記第2のモードを設定する前記(10)に記載の記憶制御装置。 Wherein said operation mode setting unit, when the rewriting frequency of the write data indicates low frequency sets the first mode, and otherwise setting the second mode (10) storage controller according to.
(12)メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理手順と、 (12) a first read processing routine for reading data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in the memory cell,
ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理手順と、 The memory cell and the first write procedure for rewriting the first value when the first read data write data to a first value is the second value,
前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理手順と、 A second read processing routine for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理手順とを具備する記憶制御方法。 Storage control method of and a second write procedure to rewrite the memory cell to the second value when the second read data the write data is a said second value is the first value .

100 ホストコンピュータ 200 メモリ制御部 201 ホストインターフェース 210 プロセッサ 220 内蔵メモリ 230 ECC処理部 250 周辺回路 280 バス 291〜293 メモリインターフェース 300 メモリ 301 不揮発性ランダムアクセスメモリ(NVRAM) 100 the host computer 200 memory control unit 201 host interface 210 processor 220 Internal memory 230 ECC processor 250 peripheral circuit 280 bus 291-293 memory interface 300 memory 301 non-volatile random access memory (NVRAM)
302 フラッシュメモリ 303 揮発性メモリ 309 制御インターフェース 310 メモリアレイ 311 データ部 312 冗長部 313 センスアンプ 315 ビット操作部 316 メモリセル 317 リード処理部 320 ライトバッファ 330 リードバッファ 340 論理評価部 341 マスク生成部 350 制御部 360 閾値設定部 400 メモリシステム 302 flash memory 303 volatile memory 309 control interface 310 memory array 311 data unit 312 redundant section 313 sense amplifier 315-bit operation unit 316 memory cells 317 read processor 320 write buffer 330 read buffer 340 logic evaluation unit 341 mask generating unit 350 control unit 360 threshold setting section 400 memory system

Claims (12)

  1. メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 A first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in the memory cell,
    ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 A first write processing unit for rewriting said memory cell to said first value if said first read data write data to a first value is the second value,
    前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 A second lead processing section for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
    前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部とを具備する記憶制御装置。 Storage controller having a second write processing unit for rewriting said memory cell to said second value when the second read data the write data is a said second value is the first value .
  2. 前記メモリセルは可変抵抗素子であって、 The memory cell is a variable resistance element,
    前記第1の閾値は標準の閾値よりも高抵抗状態側に設定され、 The first threshold is set to a high resistance state side than the standard threshold value,
    前記第2の閾値は前記標準の閾値よりも低抵抗状態側に設定される請求項1記載の記憶制御装置。 The second threshold value storage control device according to claim 1, wherein is set to a low resistance state side than the threshold value of the standard.
  3. 前記第1の値は論理0値であり、 The first value is a logic 0 value,
    前記第2の値は論理1値である請求項2記載の記憶制御装置。 It said second value storage control device according to claim 2, wherein a logic 1 value.
  4. 前記メモリセルは可変抵抗素子であって、 The memory cell is a variable resistance element,
    前記第1の閾値は標準の閾値よりも低抵抗状態側に設定され、 The first threshold is set than a standard threshold value in the low resistance state side,
    前記第2の閾値は前記標準の閾値よりも高抵抗状態側に設定される請求項1記載の記憶制御装置。 The second threshold value storage control device according to claim 1, wherein the set to a high resistance state side than the threshold value of the standard.
  5. 前記第1の値は論理1値であり、 The first value is a logic 1 value,
    前記第2の値は論理0値である請求項4記載の記憶制御装置。 It said second value storage control device according to claim 4, wherein a logic 0 value.
  6. 動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、 An operation mode setting unit for setting either the first mode or the second mode as the operation mode,
    前記第1のモードが設定されている場合において、メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 In the case where the first mode is set, first reading the data having any one value of the first value or the second value based on the first threshold value in the memory cell as the first read data and lead processing unit,
    前記第1のモードが設定されている場合において、ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 In the case where the first mode is set, rewrites the memory cells to said first value if said first read data write data to a first value is the second value a first write unit,
    前記第1のモードが設定されている場合において、前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 In the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
    前記第1のモードが設定されている場合において、前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部と、 In the case where the first mode is set, the memory cell to the second value when the second read data the write data is a said second value is the first value a second write unit for rewriting,
    前記第2のモードが設定されている場合において、前記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、 In the case where the second mode is set, the third lead processing unit for reading the standard threshold as a third read data based in the memory cell,
    前記第2のモードが設定されている場合において、前記ライトデータが前記第1の値であって前記第3リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換え、前記ライトデータが前記第2の値であって前記第3リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第3ライト処理部とを具備する記憶制御装置。 In the case where the second mode is set, the memory cells to said first value if the third read data the write data is a first value is the second value rewriting, storage comprising a third write processing unit for rewriting said memory cell to said second value when the third read data the write data is a said second value is the first value Control device.
  7. リード処理の際にエラーが検出されてそのエラー訂正が行われると、前記動作モードとして前記第1のモードを設定して、前記エラー訂正に係るアドレスを前記ライトアドレスとし、前記エラー訂正されたデータを前記ライトデータとして書き直す請求項6記載の記憶制御装置。 An error during the read process is that error correction is detected is performed, by setting the first mode as the operation mode, the set to the write address an address of the error correction, which is the error correction data the storage control device according to claim 6, wherein rewriting as the write data.
  8. メモリセルを備えるメモリアレイと、 A memory array comprising a memory cell,
    前記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 A first read processing unit for reading the data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in said memory cell,
    ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 A first write processing unit for rewriting said memory cell to said first value if said first read data write data to a first value is the second value,
    前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 A second lead processing section for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
    前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部とを具備する記憶装置。 Storage device having a second write processing unit for rewriting said memory cell to said second value when the second read data the write data is a said second value is the first value.
  9. メモリセルを備えるメモリアレイと、 A memory array comprising a memory cell,
    動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、 An operation mode setting unit for setting either the first mode or the second mode as the operation mode,
    前記第1のモードが設定されている場合において、前記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 In the case where the first mode is set, the read data having any one value of the first value or the second value of the first threshold value as a reference in the memory cell as the first read data 1 lead processing unit,
    前記第1のモードが設定されている場合において、ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 In the case where the first mode is set, rewrites the memory cells to said first value if said first read data write data to a first value is the second value a first write unit,
    前記第1のモードが設定されている場合において、前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 In the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
    前記第1のモードが設定されている場合において、前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部と、 In the case where the first mode is set, the memory cell to the second value when the second read data the write data is a said second value is the first value a second write unit for rewriting,
    前記第2のモードが設定されている場合において、前記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、 In the case where the second mode is set, the third lead processing unit for reading the standard threshold as a third read data based in the memory cell,
    前記第2のモードが設定されている場合において、前記ライトデータが前記第1の値であって前記第3リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換え、前記ライトデータが前記第2の値であって前記第3リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第3ライト処理部とを具備する記憶装置。 In the case where the second mode is set, the memory cells to said first value if the third read data the write data is a first value is the second value rewriting, storage comprising a third write processing unit for rewriting said memory cell to said second value when the third read data the write data is a said second value is the first value apparatus.
  10. メモリセルを備えるメモリアレイと、 A memory array comprising a memory cell,
    動作モードとして第1のモードまたは第2のモードの何れか一方を設定する動作モード設定部と、 An operation mode setting unit for setting either the first mode or the second mode as the operation mode,
    前記第1のモードが設定されている場合において、前記メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理部と、 In the case where the first mode is set, the read data having any one value of the first value or the second value of the first threshold value as a reference in the memory cell as the first read data 1 lead processing unit,
    前記第1のモードが設定されている場合において、ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理部と、 In the case where the first mode is set, rewrites the memory cells to said first value if said first read data write data to a first value is the second value a first write unit,
    前記第1のモードが設定されている場合において、前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理部と、 In the case where the first mode is set, a second read processing unit for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
    前記第1のモードが設定されている場合において、前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理部と、 In the case where the first mode is set, the memory cell to the second value when the second read data the write data is a said second value is the first value a second write unit for rewriting,
    前記第2のモードが設定されている場合において、前記メモリセルにおいて標準の閾値を基準として第3リードデータとして読み出す第3リード処理部と、 In the case where the second mode is set, the third lead processing unit for reading the standard threshold as a third read data based in the memory cell,
    前記第2のモードが設定されている場合において、前記ライトデータが前記第1の値であって前記第3リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換え、前記ライトデータが前記第2の値であって前記第3リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第3ライト処理部と、 In the case where the second mode is set, the memory cells to said first value if the third read data the write data is a first value is the second value rewriting, a third write processing unit for rewriting said memory cell to said second value when the third read data the write data is a said second value is the first value,
    前記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータとを具備する情報処理システム。 The information processing system comprising a host computer that issues a read command or a write command for the memory array.
  11. 前記ホストコンピュータは、前記ライトコマンドに係るライトデータの書換え頻度に関する情報を前記ライトコマンドに付加して発行し、 Said host computer, information about the rewriting frequency of the write data according to the write command issued in addition to the write command,
    前記動作モード設定部は、前記ライトデータの書換え頻度が低い頻度を示している場合には前記第1のモードを設定し、それ以外の場合には前記第2のモードを設定する請求項10記載の情報処理システム。 The operation mode setting unit, when the rewriting frequency of the write data indicates low frequency sets the first mode, according to claim 10, wherein setting the second mode in other cases the information processing system.
  12. メモリセルにおいて第1の閾値を基準として第1の値または第2の値の何れか一方の値を有するデータを第1リードデータとして読み出す第1リード処理手順と、 A first read processing routine for reading data having any one value of the first value or the second value of the first threshold value as a reference as the first read data in the memory cell,
    ライトデータが前記第1の値であって前記第1リードデータが前記第2の値である場合に前記メモリセルを前記第1の値に書き換える第1ライト処理手順と、 The memory cell and the first write procedure for rewriting the first value when the first read data write data to a first value is the second value,
    前記メモリセルにおいて前記第1の閾値とは異なる第2の閾値を基準として第2リードデータを読み出す第2リード処理手順と、 A second read processing routine for reading the second read data based on the different second threshold and the first threshold value in said memory cell,
    前記ライトデータが前記第2の値であって前記第2リードデータが前記第1の値である場合に前記メモリセルを前記第2の値に書き換える第2ライト処理手順とを具備する記憶制御方法。 Storage control method of and a second write procedure to rewrite the memory cell to the second value when the second read data the write data is a said second value is the first value .
JP2013553233A 2012-01-12 2012-12-20 Storage controller, a storage device, an information processing system, and the process in which method Active JP5839048B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012004433 2012-01-12
JP2012004433 2012-01-12
PCT/JP2012/083091 WO2013105414A1 (en) 2012-01-12 2012-12-20 Storage control device, storage device, information processing system, and processing methods therefor
JP2013553233A JP5839048B2 (en) 2012-01-12 2012-12-20 Storage controller, a storage device, an information processing system, and the process in which method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013553233A JP5839048B2 (en) 2012-01-12 2012-12-20 Storage controller, a storage device, an information processing system, and the process in which method

Publications (2)

Publication Number Publication Date
JPWO2013105414A1 true JPWO2013105414A1 (en) 2015-05-11
JP5839048B2 true JP5839048B2 (en) 2016-01-06

Family

ID=48781372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013553233A Active JP5839048B2 (en) 2012-01-12 2012-12-20 Storage controller, a storage device, an information processing system, and the process in which method

Country Status (5)

Country Link
US (1) US9396132B2 (en)
EP (1) EP2800097B1 (en)
JP (1) JP5839048B2 (en)
CN (1) CN104040634A (en)
WO (1) WO2013105414A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105378849B (en) * 2013-07-17 2018-04-10 松下知识产权经营株式会社 The nonvolatile semiconductor memory device and a rewriting method
JP6149598B2 (en) * 2013-08-19 2017-06-21 ソニー株式会社 Storage controller, a storage device, an information processing system and storage control method
US9257175B2 (en) * 2013-09-26 2016-02-09 Intel Corporation Refresh of data stored in a cross-point non-volatile memory
US9613675B2 (en) * 2013-12-14 2017-04-04 Qualcomm Incorporated System and method to perform low power memory operations
JPWO2016067846A1 (en) * 2014-10-31 2017-08-10 ソニー株式会社 Memory controller, a storage device, an information processing system and a control method of the memory
WO2016084497A1 (en) * 2014-11-26 2016-06-02 ソニー株式会社 Memory system, storage device, and memory system control method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158000A (en) * 1998-09-18 2000-12-05 Compaq Computer Corporation Shared memory initialization method for system having multiple processor capability
JP4285082B2 (en) * 2003-05-27 2009-06-24 ソニー株式会社 Storage device
US7079436B2 (en) * 2003-09-30 2006-07-18 Hewlett-Packard Development Company, L.P. Resistive cross point memory
DE102004019860B4 (en) 2004-04-23 2006-03-02 Infineon Technologies Ag Method and apparatus for programming CBRAM memory cells
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7440315B2 (en) * 2007-01-09 2008-10-21 Macronix International Co., Ltd. Method, apparatus and computer program product for stepped reset programming process on programmable resistive memory cell
US7778070B2 (en) * 2007-06-29 2010-08-17 Qimonda Ag Memory with dynamic redundancy configuration
US7864565B2 (en) * 2007-07-31 2011-01-04 Infineon Technologies Ag Data retention monitor
JP4344011B2 (en) 2007-08-01 2009-10-14 パナソニック株式会社 Non-volatile storage device
US8400830B2 (en) 2008-11-26 2013-03-19 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and driving method therefor
JP5197448B2 (en) * 2009-03-13 2013-05-15 株式会社東芝 Resistance change memory device
KR20110107190A (en) * 2010-03-24 2011-09-30 삼성전자주식회사 Method and apparatus for wear-out cell management in resistive memories
US8593853B2 (en) * 2010-03-30 2013-11-26 Panasonic Corporation Nonvolatile storage device and method for writing into the same
US8451664B2 (en) * 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
JP5143203B2 (en) * 2010-09-24 2013-02-13 株式会社東芝 Memory system

Also Published As

Publication number Publication date Type
EP2800097A4 (en) 2015-07-22 application
CN104040634A (en) 2014-09-10 application
US9396132B2 (en) 2016-07-19 grant
JPWO2013105414A1 (en) 2015-05-11 application
EP2800097A1 (en) 2014-11-05 application
EP2800097B1 (en) 2018-03-21 grant
WO2013105414A1 (en) 2013-07-18 application
US20150234749A1 (en) 2015-08-20 application

Similar Documents

Publication Publication Date Title
US8305811B2 (en) Flash memory device and method of reading data
US20140223084A1 (en) Memory system and related method of operation
US20130117620A1 (en) Memory system and operating method thereof
US20100023675A1 (en) Wear leveling method, and storage system and controller using the same
US20080209282A1 (en) Method of managing a flash memory and the flash memory
US8046645B2 (en) Bad block identifying method for flash memory, storage system, and controller thereof
US20090089484A1 (en) Data protection method for power failure and controller using the same
US20130173954A1 (en) Method of managing bad storage region of memory device and storage device using the method
US20100011154A1 (en) Data accessing method for flash memory and storage system and controller using the same
US20090307413A1 (en) Data writing method for flash memory and storage system and controller using the same
US20120240011A1 (en) Methods, devices, and systems for data sensing
US20100082878A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US20100269000A1 (en) Methods and apparatuses for managing bad memory cell
US20120089766A1 (en) Non-volatile memory storage apparatus, memory controller and data storing method
US20090175075A1 (en) Flash memory storage apparatus, flash memory controller, and switching method thereof
US20160170671A1 (en) Data storage device and data writing method thereof
US20130254498A1 (en) Storage control apparatus, storage apparatus, information processing system and processing method therefor
US20090138652A1 (en) Non-volatile memory generating different read voltages
US20130246732A1 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
US20150262694A1 (en) Nonvolatile memory system and related method of operation
US20120106247A1 (en) Flash memory device including flag cells and method of programming the same
US20110231732A1 (en) Error correcting method, and memory controller and memory storage system using the same
US20110161565A1 (en) Flash memory storage system and controller and data writing method thereof
US20090198875A1 (en) Data writing method for flash memory, and controller and system using the same
US20100241788A1 (en) Flash memory writing mtheod and stroage system and controller using the same

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026