JPWO2013108456A1 - 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 - Google Patents

記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 Download PDF

Info

Publication number
JPWO2013108456A1
JPWO2013108456A1 JP2013554186A JP2013554186A JPWO2013108456A1 JP WO2013108456 A1 JPWO2013108456 A1 JP WO2013108456A1 JP 2013554186 A JP2013554186 A JP 2013554186A JP 2013554186 A JP2013554186 A JP 2013554186A JP WO2013108456 A1 JPWO2013108456 A1 JP WO2013108456A1
Authority
JP
Japan
Prior art keywords
value
mode
bit
history information
bits
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.)
Pending
Application number
JP2013554186A
Other languages
English (en)
Inventor
直大 足立
直大 足立
大久保 英明
英明 大久保
山本 真紀子
真紀子 山本
敬一 筒井
敬一 筒井
中西 健一
健一 中西
藤波 靖
靖 藤波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2013554186A priority Critical patent/JPWO2013108456A1/ja
Publication of JPWO2013108456A1 publication Critical patent/JPWO2013108456A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising 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, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Materials Engineering (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

不揮発性メモリのデータ保持特性のばらつきを解消する。記憶制御装置は履歴情報保持部とビット操作部とを備える。履歴情報保持部は、ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを第1の値とした後に任意のビットを第2の値とする第1のモードと、全てのビットを第2の値とした後に任意のビットを第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する。ビット操作部は、履歴情報が第1のモードを示している場合には第2のモードによりライト動作を行い、履歴情報が第2のモードを示している場合には第1のモードによりライト動作を行う。

Description

本技術は、記憶制御装置に関する。詳しくは、不揮発性メモリのための記憶制御装置、記憶装置、情報処理システム、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
情報処理システムにおいては、ワークメモリとしてDRAM(Dynamic Random Access Memory)等が用いられる。このDRAMは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。一方、近年、不揮発性メモリ(NVM:Non-Volatile Memory)が用いられるようになっている。この不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM:Non-Volatile RAM)とに大別される。ここで、フラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。一方、不揮発性ランダムアクセスメモリの例としては、ReRAM(Resistance RAM)、PCRAM(Phase-Change RAM)、MRAM(Magnetoresistive RAM)などが挙げられる。
ReRAMは、可変抵抗素子を用いた不揮発性メモリであり、データの書込みに先立ってブロック単位で消去を行う必要がなく、必要ページのみを直接書き換えることが可能である。この点で、浮遊ゲートの電化蓄積量による閾値をデータとして記憶するNANDフラッシュメモリ等とは異なっている。可変抵抗素子は、高抵抗状態(HRS:High Resistive State)と低抵抗状態(LRS:Low Resistive State)の2状態で1ビットの情報を記録することができる。この可変抵抗素子は、多数回連続して同じ極性の電圧を印加した場合には、可変抵抗処置の抵抗値が変化してしまい抵抗分布を乱すという問題がある。たとえば、同じ極性が連続する回数が増えていくにしたがって、HRSがLRSに、LRSがHRSに変化してしまう。このように抵抗値が変化すると、次に逆極性の電圧を印加する際に、通常と同じ電圧では正しく記録が行えなかったり、正しく記録を行うために絶対値の大きい電圧が必要になったりするおそれがある。そこで、従来、ライト処理の際に既書込みデータを読み出してライトデータと比較を行って、必要なビットのみを選択的に書き換えおよび消去する書込み方法が提案されている(例えば、特許文献1参照。)。
特表2007−525785号公報
上述の従来技術では、既書込みデータとライトデータとが同一データであれば書込みパルスを発生しないことにより、同一データを連続して書き込まないようにしている。しかしながら、このような制御を行った場合、書込みサイクルを重ねていくことで、あるビットが著しく多く書き換えられたり、あるビットが全く書き換えられなかったりと同一ページ内のメモリセルの間でもメモリセルの使用頻度が異なる。つまり、繰返し書込みの結果、同一ページ内のメモリセルの書換え可能回数(Endurance)にばらつきが生じ、さらにデータ消失までの時間(Retention)にばらつきが生じることになる。使用頻度の高いビットと低いビットとでは、メモリセルの特性にばらつきが生じ、抵抗分布を乱すことになる。ページ内のビット毎に書換え可能回数やデータ消失時間にばらつきが生じてくると、実使用上、書込みおよび消去サイクルをカウントして、当該ページのメモリとしての寿命を予測することが困難になる。また、読出しやその検証の閾値をダイナミックに変更するような制御を行おうとした場合、当該ページでのメモリセルの特性のばらつきは少ない方が好ましい。
本技術はこのような状況に鑑みて生み出されたものであり、不揮発性メモリのデータ保持特性のばらつきを解消することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを上記第1の値とした後に任意のビットを上記第2の値とする第1のモードと、全てのビットを上記第2の値とした後に任意のビットを上記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、上記履歴情報が上記第1のモードを示している場合には上記第2のモードによりライト動作を行い、上記履歴情報が上記第2のモードを示している場合には上記第1のモードによりライト動作を行うビット操作部とを具備する記憶制御装置である。これにより、記憶制御装置において、メモリセルの所定のデータ領域についてライト動作を行うたびに、全てのビットが第1の値になるか、全てのビットが第2の値になるかが交互に繰り返されるという作用をもたらす。
また、この第1の側面において、ライト動作に先立ってライト対象のデータ領域からプレリードデータを読み出すプレリード処理部をさらに具備し、上記ビット操作部は、上記第1のモードによるライト動作の際には全てのビットを上記第1の値とするために上記プレリードデータが上記第2の値を示しているビットのみを上記第1の値に書き直し、上記第2のモードによるライト動作の際には全てのビットを上記第2の値にするために上記プレリードデータが上記第1の値を示しているビットのみを上記第2の値に書き直すようにしてもよい。これにより、全てのビットを第1の値または第2の値にする際に、過剰消去または過剰プログラムを抑制するという作用をもたらす。
また、この第1の側面において、上記ビット操作部は、上記第1のモードによるライト動作の際には全てのビットを上記第1の値とするためにライト対象のデータ領域の全てのビットを上記第1の値に書き直し、上記第2のモードによるライト動作の際には全てのビットを上記第2の値にするためにライト対象のデータ領域の全てのビットを上記第2の値に書き直すようにしてもよい。これにより、全てのビットを第1の値または第2の値にする際に、一括消去または一括プログラムするという作用をもたらす。なお、これにより、同一極性の書込みは最大2回までに抑制される。すなわち、可変抵抗素子に対する過剰消去または過剰プログラムがそれぞれ最大1回までに抑制される。
また、この第1の側面において、ライト動作に先立ってライト対象のデータ領域からプレリードデータを読み出すプレリード処理部をさらに具備し、上記ビット操作部は、上記第1のモードによるライト動作の際には全てのビットを上記第1の値とするためにライト対象のデータ領域の全てのビットを上記第1の値に書き直し、上記第2のモードによるライト動作の際には全てのビットを上記第2の値にするために上記プレリードデータが上記第1の値を示しているビットのみを上記第2の値に書き直すようにしてもよい。これにより、全てのビットを第1の値にする際に過剰プログラムを抑制し、全てのビットを第2の値にする際に一括消去するという作用をもたらす。
また、本技術の第2の側面は、ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルと、上記メモリセルの所定のデータ領域について、全てのビットを上記第1の値とした後に任意のビットを上記第2の値とする第1のモードと、全てのビットを上記第2の値とした後に任意のビットを上記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、上記履歴情報が上記第1のモードを示している場合には上記第2のモードによりライト動作を行い、上記履歴情報が上記第2のモードを示している場合には上記第1のモードによりライト動作を行うビット操作部とを具備する記憶装置である。これにより、メモリセルの所定のデータ領域において、ライト動作のたびに、全てのビットが第1の値になるか、全てのビットが第2の値になるかが交互に繰り返されるという作用をもたらす。
なお、この第2の側面において、上記メモリセルは可変抵抗素子であってもよい。
また、本技術の第3の側面は、ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルと、上記メモリセルの所定のデータ領域について、全てのビットを上記第1の値とした後に任意のビットを上記第2の値とする第1のモードと、全てのビットを上記第2の値とした後に任意のビットを上記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、上記履歴情報が上記第1のモードを示している場合には上記第2のモードによりライト動作を行い、上記履歴情報が上記第2のモードを示している場合には上記第1のモードによりライト動作を行うビット操作部と、上記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータとを具備する情報処理システムである。これにより、メモリセルの所定のデータ領域において、ホストコンピュータからのライト動作のたびに、全てのビットが第1の値になるか、全てのビットが第2の値になるかが交互に繰り返されるという作用をもたらす。
また、本技術の第3の側面は、ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを上記第1の値とした後に任意のビットを上記第2の値とする第1のモードと、全てのビットを上記第2の値とした後に任意のビットを上記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を取得する履歴情報取得手順と、上記履歴情報が上記第1のモードを示している場合には上記第2のモードによりライト動作を行い、上記履歴情報が上記第2のモードを示している場合には上記第1のモードによりライト動作を行うビット操作手順とを具備する記憶制御方法である。これにより、メモリセルの所定のデータ領域についてライト動作のたびに、全てのビットが第1の値になるか、全てのビットが第2の値になるかが交互に繰り返されるという作用をもたらす。
本技術によれば、不揮発性メモリのデータ保持特性のばらつきを解消することができるという優れた効果を奏し得る。
本技術の実施の形態における情報処理システムの一構成例を示す図である。 本技術の第1の実施の形態における不揮発性ランダムアクセスメモリ(NVRAM)301の一構成例を示す図である。 本技術の実施の形態における機能構成例を示す図である。 本技術の第1の実施の形態において可変抵抗素子に対して書込みを行う具体例を示す図である。 本技術の第1の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。 本技術の第1の実施の形態における全消去モードによるライト処理の手順例を示す流れ図である。 本技術の第1の実施の形態における全プログラムモードによるライト処理の手順例を示す流れ図である。 本技術の第2の実施の形態におけるNVRAM301の一構成例を示す図である。 本技術の第2の実施の形態における履歴情報テーブルの一構成例を示す図である。 本技術の第2の実施の形態において可変抵抗素子に対して書込みを行う具体例を示す図である。 本技術の第2の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。 本技術の第2の実施の形態における全消去モードによるライト処理の手順例を示す流れ図である。 本技術の第2の実施の形態における全プログラムモードによるライト処理の手順例を示す流れ図である。 本技術の第3の実施の形態において可変抵抗素子に対して書込みを行う具体例を示す図である。 本技術の第3の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。 本技術の第3の実施の形態における全プログラムモードによるライト処理の手順例を示す流れ図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(全ビットを同一値にするためにプレリードを行う例)
2.第2の実施の形態(全ビットを同一値にする際にプレリードを行わない例)
3.第3の実施の形態(全ビットを同一値にする際に1回おきにプレリードを行う例)
<1.第1の実施の形態>
[情報処理システムの構成]
図1は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、ホストコンピュータ100と、メモリ300と、メモリ制御部200とを備える。メモリ制御部200およびメモリ300は、メモリシステム400を構成する。ホストコンピュータ100は、メモリシステム400に対してデータのリードまたはライトを要求するコマンドを発行するものである。
メモリ300は、通常の揮発性メモリ303以外に、不揮発性メモリを含む。不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリ302と、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM)301とに大別される。ここで、フラッシュメモリ302の代表例としては、NAND型フラッシュメモリが挙げられる。一方、NVRAM301の例としては、ReRAM、PCRAM、MRAMなどが挙げられるが、この実施の形態では、特に可変抵抗素子を用いたReRAMを想定する。揮発性メモリ303は、作業領域として用いられ、また、管理用のデータを格納するためにも用いられる。さらに、揮発性メモリ303は、キャッシュとして用いることも可能である。揮発性メモリ303は、DRAM、SRAMなどにより実現することができる。揮発性メモリ303に格納されるデータは、電源断に備えて、必要に応じてNVRAM301またはフラッシュメモリ302に保持しておいて、次に電源投入された際に再利用されるようにしてもよい。
メモリ制御部200は、プロセッサ210と、内蔵メモリ220と、ECC処理部230と、周辺回路250と、ホストインターフェース201と、メモリインターフェース291乃至293とを備える。これらはバス280により相互に接続される。
プロセッサ210は、ホストコンピュータ100からの制御コマンドを解釈して実行する処理装置である。このプロセッサ210は、内蔵メモリ220における記憶領域をプログラム格納領域およびワーク領域としてプログラムを実行する。
内蔵メモリ220は、図示しない内蔵ROMおよび内蔵RAMを含むメモリである。プログラムは内蔵ROMに格納しておいてもよく、また、NVRAM301またはフラッシュメモリ302から起動時に内蔵RAMに転送するようにしてもよい。この内蔵RAMは、ワーク領域や管理用データなどの一時格納など様々な用途に用いられる。
ECC処理部230は、データの各々に対応して付加されるエラー訂正コード(ECC:Error Correcting Code)の生成およびそのECCを用いたエラー訂正を行うものである。このECC処理部230は、ハードウェアとして実現してもよく、また、プロセッサ210においてプログラムを実行することによりソフトウェアとして実現してもよい。
周辺回路250は、プロセッサ210の周辺回路であり、例えば内蔵タイマーや汎用入出力(GPIO:General Purpose Input/Output)等を含む。
ホストインターフェース201は、ホストコンピュータ100とのやりとりを行うインターフェースである。メモリシステム400はホストインターフェース201を介して接続され、ホストコンピュータ100から、メモリ300を制御するための制御コマンドを受信し、この制御コマンドによって制御されてメモリシステムとして動作する。このホストインターフェース201としては、例えば、SATA、PCI Express、eMMC、USBなどを利用することができる。
メモリインターフェース291は、NVRAM301とのやりとりを行うインターフェースである。メモリインターフェース292は、フラッシュメモリ302とのやりとりを行うインターフェースである。メモリインターフェース293は、揮発性メモリ303とのやりとりを行うインターフェースである。
メモリシステム400は、ライトコマンドによりメモリ300へのデータの書込みを行い、リードコマンドによりメモリ300からのデータの読出しを行う。ライトコマンドおよびリードコマンドは、対象データの存在する先頭論理アドレスおよびデータサイズをパラメータとして指定する。メモリシステム400がライトコマンドのデータを受信すると、このデータに対してECCが付加され、不揮発性メモリ(NVRAM301またはフラッシュメモリ302)に書き込まれる。
図2は、本技術の第1の実施の形態における不揮発性ランダムアクセスメモリ(NVRAM)301の一構成例を示す図である。NVRAM301は、メモリアレイ310と、センスアンプ314と、ライトバッファ320と、リードバッファ330と、論理評価部340と、制御部350と、制御インターフェース309とを備えている。
制御インターフェース309は、メモリ制御部200との間の接続を司るインターフェースである。この制御インターフェース309には、ライトバッファ320、リードバッファ330、論理評価部340および制御部350が接続される。
メモリアレイ310は、ビット毎に所定の状態を保持するメモリセルを格子状に並べたものである。メモリアレイ310のメモリセルは可変抵抗素子により構成される抵抗変化型メモリである。メモリアレイ310は複数のページから構成される。ページ内には、データ311の他に、ECC312と、履歴情報313とが格納されている。ECC312は、データ311のエラー検出訂正を行うためのエラー訂正コードである。履歴情報313は前回のライト動作においていずれのモードが使用されたかを示すものである。ライト動作のモードが2種類の場合には、この履歴情報313は1ビットあれば足りるが、信頼性を向上させるために複数ビットを用いて、例えば多数決により判定するようにしてもよい。メモリアレイ310はセンスアンプ314を経由して、読出しまたは書込みが行われる。
センスアンプ314は、メモリアレイ310からの電圧を増幅するための増幅回路である。このセンスアンプ314には、ライトバッファ320、リードバッファ330、論理評価部340および制御部350が接続される。
ライトバッファ320は、メモリアレイ310にライトされるデータを一時的に保持するバッファである。このライトバッファ320には制御インターフェース309からのライトデータが信号線305を介して保持され、信号線328を介してセンスアンプ314に出力される。このライトバッファ320に保持されるライトデータは、ホストコンピュータ100からライト対象として指示された新しいデータと、ECC処理部230によって生成された新しいエラー訂正コードである。以下、これら新しいデータと新しいエラー訂正コードをライトデータと称する。
リードバッファ330は、メモリアレイ310からリードされたデータ311、ECC312および履歴情報313を一時的に保持するバッファである。このリードバッファ330には、ライトの際には、ライトに先立って読み出されたプレリードデータ(データ311、ECC312および履歴情報313)が保持される。このリードバッファ330にはセンスアンプ314からのリードデータが信号線318を介して保持され、信号線338を介して制御インターフェース309に出力される。
論理評価部340は、ライトバッファ320およびリードバッファ330に保持されたデータ(データ311、ECC312および履歴情報313)に基づいて論理評価を行い、マスクデータを生成するものである。この論理評価部340において生成されたマスクデータは、信号線348を介してメモリアレイ310に供給される。また、履歴情報313は、信号線349を介して制御部350に供給される。
制御部350は、NVRAM301内の各ブロックを制御するコントローラである。この制御部350は、例えばシーケンサにより実現される。この制御部350は、信号線306を介して制御インターフェース309からのリードまたはライト等の指示を受け取り、信号線357を介して制御インターフェース309に対する応答を伝達する。また、制御部350は、信号線358を介してセンスアンプ314に対する制御信号を伝達し、信号線319を介してセンスアンプ314からの応答を受け取る。また、制御部350は、信号線359を介して論理評価部340に対する制御信号を伝達する。
図3は、本技術の実施の形態における機能構成例を示す図である。ここでは、論理評価部340においてマスク生成部341の機能を有し、メモリアレイ310においてビット操作部315、メモリセル316およびリード処理部317の機能を有することを想定している。
マスク生成部341は、それぞれ対応するビットからなる消去マスクまたはプログラムマスクを生成するものである。消去マスクは、プレリードデータがHレベルかつライトデータがLレベルであるビットについてはHレベルをLレベルに消去する旨を示し、それ以外のビットについてはマスクする旨を示す。プログラムマスク、プレリードデータがLレベルかつライトデータがHレベルであるビットについてはLレベルをHレベルにプログラムする旨を示し、それ以外のビットについてはマスクする旨を示す。本技術の実施の形態では、プレリードデータとライトデータとの比較を行うことなく、マスクが生成され、ビット操作が行われる。後述のように、この第1の実施の形態においては、プレリードデータのみから、全てのビットを一度、全てLまたは全てHにするためのマスクデータが生成され、また、ライトデータのみから、任意のビットをLまたはHにするためのマスクデータが生成される。
ビット操作部315は、マスク生成部341によって生成された消去マスクまたはプログラムマスクに従って、メモリセル316のライトアドレスに係るデータ領域において、各ビットの消去またはプログラムを行う。すなわち、消去マスクが与えられた場合には消去する旨を示すビットについてのみLレベルに消去する操作を行い、それ以外のビットは何も書換えを行わない。また、プログラムマスクが与えられた場合にはプログラムする旨を示すビットについてのみHレベルにプログラムする操作を行い、それ以外のビットは何も書換えを行わない。
メモリセル316は、可変抵抗素子により構成される。可変抵抗素子の抵抗分布は大きく2つの分布に分かれており、それぞれ低抵抗状態(LRS:Low-Resistance State)および高抵抗状態(HRS:High-Resistance State)と称する。可変抵抗素子の高抵抗状態および低抵抗状態をそれぞれ論理0値または論理1値の何れかに対応付けることにより、可変抵抗素子はメモリセルとして機能する。論理0値または論理1値の何れに対応付けるかは任意である。高抵抗状態を論理0値に対応付けて、低抵抗状態を論理1値に対応付けた場合には、低抵抗状態のセルが高抵抗状態になるよう消去され、高抵抗状態のセルが低抵抗状態になるようプログラムされる。低抵抗状態を論理0値に対応付けて、高抵抗状態を論理1値に対応付けた場合には、高抵抗状態のセルが低抵抗状態になるよう消去され、低抵抗状態のセルが高抵抗状態になるようプログラムされる。
リード処理部317は、ライト動作に先立ち、メモリセル316のライトアドレスに係るデータ領域からデータ(データ311、ECC312および履歴情報313)を読み出すものである。このようにしてライト動作に先立って読み出されたデータは、プレリードデータとしてリードバッファ330に保持される。なお、リード処理部317は、特許請求の範囲に記載のプレリード処理部の一例である。
この機能構成例における処理は、制御部350によって必要に応じて適宜繰り返される。この第1の実施の形態では、各データ領域についてライト動作が行われるたびに、以下の全消去モードによるライト動作と全プログラムモードによるライト動作とが交互に繰り返される。すなわち、全消去モードでは、リード処理部317によって得られたプレリードデータから、マスク生成部341において消去マスクが生成される。そして、その消去マスクに従ってビット操作部315において消去が行われることにより全ビットが論理0値になる。その後、マスク生成部341においてライトデータからプログラムマスクが生成されて、そのプログラムマスクに従ってビット操作部315において必要なビットのプログラムが行われることによりライトデータの書込みが完了する。一方、全プログラムモードでは、リード処理部317によって得られたプレリードデータから、マスク生成部341においてプログラムマスクが生成される。そして、そのプログラムマスクに従ってビット操作部315においてプログラムが行われることにより全ビットが論理1値になる。その後、マスク生成部341においてライトデータから消去マスクが生成されて、その消去マスクに従ってビット操作部315において必要なビットの消去が行われることによりライトデータの書込みが完了する。前回いずれのモードによりライト動作が行われたのかは、履歴情報313に記録される。なお、この例では、「L」レベルを論理0値に、「H」レベルを論理1値にそれぞれ対応付けている。
[ライト動作の具体例]
図4は、本技術の第1の実施の形態において可変抵抗素子に対して書込みを行う具体例を示す図である。この例では、「LHHLHLHL」が記憶されているデータ領域にライトデータ「LLLLHHHH」を書き込むことを想定する。この第1の実施の形態では、全消去モードと全プログラムモードとが交互に繰り返され、その際にプレリードが行われて、必要なビットについてのみ消去またはプログラムが行われる。
同図におけるaは、履歴情報313が前回のモードとして全プログラムモードを示している場合の動作例、すなわち全消去モードの動作例を示す。プレリードデータ「LHHLHLHL」において、「L」を示すビットについてさらに「L」に消去する書込みが発生しないように、マスク生成部341によって消去マスクが生成される。すなわち、「L」に消去すべきビットは現在の値が「H」のビット位置のみとなるように消去マスク「MEEMEMEM」が生成される。ここで、「E」は消去対象となるビットを、「M」は消去対象とならないビットをそれぞれ意味する。この消去マスクを利用することにより、ビット操作部315によってライト対象のデータ領域は全て「L」となる。
また、ライトデータ「LLLLHHHH」において、「H」を示すビットについて書込みを行うために、マスク生成部341によってプログラムマスクが生成される。すなわち、ライトデータが「H」のビット位置のみに書込みが発生するようにプログラムマスク「MMMMPPPP」が生成される。ここで、「P」はプログラム対象となるビットを、「M」はプログラム対象とならないビットをそれぞれ意味する。このプログラムマスクを利用することにより、ビット操作部315によってライト対象のデータ領域は「LLLLHHHH」となる。
同図におけるbは、履歴情報313が前回のモードとして全消去モードを示している場合の動作例、すなわち全プログラムモードの動作例を示す。プレリードデータ「LHHLHLHL」において、「H」を示すビットについてさらに「H」にプログラムする書込みが発生しないように、マスク生成部341によってプログラムマスクが生成される。すなわち、「H」にプログラムすべきビットは現在の値が「L」のビット位置のみとなるようにプログラムマスク「PMMPMPMP」が生成される。このプログラムマスクを利用することにより、ビット操作部315によってライト対象のデータ領域は全て「H」となる。
また、ライトデータ「LLLLHHHH」において、「L」を示すビットについて書込みを行うために、マスク生成部341によって消去マスクが生成される。すなわち、ライトデータが「L」のビット位置のみに書込みが発生するようにプログラムマスク「EEEEMMMM」が生成される。この消去マスクを利用することにより、ビット操作部315によってライト対象のデータ領域は「LLLLHHHH」となる。
[情報処理システムの動作]
図5は、本技術の第1の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。まず、NVRAM301に対してライトデータおよびライト指示が発行されると、メモリセル316からデータ311、ECC312および履歴情報313のプレリードが行われる(ステップS911)。このプレリードは、リード処理部317により実行される。ライトデータはライトバッファ320に保持され、プレリードデータ(データ311、ECC312および履歴情報313)はリードバッファ330に保持される。そして、プレリードされた履歴情報313が前回のモードとして全プログラムモードを示している場合(ステップS912)、全消去モードによるライト処理が行われる(ステップS920)。一方、プレリードされた履歴情報313が前回のモードとして全消去モードを示している場合、全プログラムモードによるライト処理が行われる(ステップS940)。
図6は、本技術の第1の実施の形態における全消去モードによるライト処理(ステップS920)の手順例を示す流れ図である。まず、プレリードデータにおいて、「L」を示すビットについてさらに「L」に消去する書込みが発生しないように、マスク生成部341によって消去マスクが生成される(ステップS922)。そして、この消去マスクに従ってデータ311、ECC312および履歴情報313の消去処理が行われる(ステップS923)。このとき、この第1の実施の形態では、履歴情報313についても「L」に消去される。なお、この履歴情報313は、「L」であれば、前回は全消去モードによってライト処理が行われたことを示す。この消去の際には検証(Verify)が行われ(ステップS924)、検証に成功するまで繰り返される(ステップS925:No)。ただし、繰返し上限回数に達すると(ステップS926:Yes)、エラー終了する。
次に、ライトデータがライトバッファ320にセットされる(ステップS931)。そして、ライトデータにおいて、「H」を示すビットについて書込みを行うために、マスク生成部341によってプログラムマスクが生成される(ステップS932)。そして、このプログラムマスクに従ってデータ311のプログラム処理が行われる(ステップS933)。このプログラムの際には検証(Verify)が行われ(ステップS934)、検証に成功するまで繰り返される(ステップS935:No)。ただし、繰返し上限回数に達すると(ステップS936:Yes)、エラー終了する。
図7は、本技術の第1の実施の形態における全プログラムモードによるライト処理(ステップS940)の手順例を示す流れ図である。まず、プレリードデータにおいて、「H」を示すビットについてさらに「H」に消去する書込みが発生しないように、マスク生成部341によってプログラムマスクが生成される(ステップS942)。そして、このプログラムマスクに従ってデータ311、ECC312および履歴情報313のプログラム処理が行われる(ステップS943)。このとき、この第1の実施の形態では、履歴情報313についても「H」にプログラムされる。なお、この履歴情報313は、「H」であれば、前回は全プログラムモードによってライト処理が行われたことを示す。このプログラムの際には検証(Verify)が行われ(ステップS944)、検証に成功するまで繰り返される(ステップS945:No)。ただし、繰返し上限回数に達すると(ステップS946:Yes)、エラー終了する。
次に、ライトデータがライトバッファ320にセットされる(ステップS951)。そして、ライトデータにおいて、「L」を示すビットについて消去の書込みを行うために、マスク生成部341によって消去マスクが生成される(ステップS952)。そして、この消去マスクに従ってデータ311の消去処理が行われる(ステップS953)。この消去の際には検証(Verify)が行われ(ステップS954)、検証に成功するまで繰り返される(ステップS955:No)。ただし、繰返し上限回数に達すると(ステップS956:Yes)、エラー終了する。
このように、本技術の第1の実施の形態によれば、各データ領域においてライト処理が行われるたびに全消去および全プログラムの状態が交互に生じるため、不揮発性メモリのデータ保持特性のばらつきを解消することができる。特に、この第1の実施の形態ではプレリード結果に応じて必要なビットのみを消去またはプログラムすることにより、過剰消去や過剰書込みを回避することができる。その際、ライトデータは参照されないため、ライトデータが確定する前にルックアヘッドで全消去または全プログラムの状態にすることができる。また、データの読出しと同時に履歴情報を読み出し、データの更新と同時に履歴情報を更新することにより、履歴情報に関する処理手順を簡略化することができる。また、履歴情報に基づいたライト処理がNVRAM301の内部で閉じて行われるため、その外部で意識する必要がない。
<2.第2の実施の形態>
[情報処理システムの構成]
図8は、本技術の第2の実施の形態におけるNVRAM301の一構成例を示す図である。前提とする情報処理システムの構成は第1の実施の形態と同様である。上述の第1の実施の形態では履歴情報をメモリアレイ310に履歴情報313として格納していたが、この第2の実施の形態では、履歴情報を内蔵メモリ220や揮発性メモリ303等において管理する。そのため、履歴情報は、NVRAM301の外部から制御インターフェース309を介して制御部350および論理評価部340に供給される。これら以外のNVRAM301の構成は第1の実施の形態と同様である。また、機能構成についても第1の実施の形態と同様であるが、全消去モードと全プログラムモードの繰り返し制御は制御インターフェース309において実現される。ただし、全てのビットを一度、全てLまたは全てHにするためのマスクデータは生成されず、後述するように一括消去または一括プログラムされる。
図9は、本技術の第2の実施の形態における履歴情報テーブルの一構成例を示す図である。ここでは、履歴情報を内蔵メモリ220の履歴情報テーブルに格納することを想定している。内蔵メモリ220が揮発性のメモリである場合には、電源喪失による情報消失を防ぐために、所定の間隔でフラッシュメモリ302等の不揮発性メモリに退避してもよい。この履歴情報テーブルは、各データ領域に対応して、論理アドレス221と、物理アドレス222と、履歴情報223とを格納している。
論理アドレス221は、ホストコンピュータ100においてデータ領域に割り当てられた論理アドレスである。物理アドレス222は、論理アドレス221に対応するNVRAM301の記憶領域を特定するためのアドレスである。ホストコンピュータ100から論理アドレスが指定された場合、論理アドレス221と物理アドレス222との対によって物理アドレスへのアドレス変換が行われる。
履歴情報223は、論理アドレス221および物理アドレス222に対応する領域のライト処理の履歴情報であり、前回のライト動作においていずれのモードが使用されたかを示すものである。ライト動作のモードが2種類の場合には、この履歴情報223は1ビットあれば足りるが、信頼性を向上させるために複数ビットを用いて、例えば多数決により判定するようにしてもよい。
[ライト動作の具体例]
図10は、本技術の第2の実施の形態において可変抵抗素子に対して書込みを行う具体例を示す図である。この例では、「LHHLHLHL」が記憶されているデータ領域にライトデータ「LLLLHHHH」を書き込むことを想定する。この第2の実施の形態では、全消去モードと全プログラムモードとが交互に繰り返され、その際にプレリードを行うことなく、ライト対象のデータ領域の全ビットに対して消去またはプログラムの書込みが行われる。
同図におけるaは、履歴情報223が前回のモードとして全プログラムモードを示している場合の動作例、すなわち全消去モードの動作例を示す。ライト対象のデータ領域は、プレリードされることなく、一括消去される。すなわち、ビット操作部315によってライト対象のデータ領域は全て「L」に消去される。
また、ライトデータ「LLLLHHHH」において、「H」を示すビットについて書込みを行うために、マスク生成部341によってプログラムマスクが生成される。すなわち、ライトデータが「H」のビット位置のみに書込みが発生するようにプログラムマスク「MMMMPPPP」が生成される。ここで、「P」はプログラム対象となるビットを、「M」はプログラム対象とならないビットをそれぞれ意味する。このプログラムマスクを利用することにより、ビット操作部315によってライト対象のデータ領域は「LLLLHHHH」となる。
同図におけるbは、履歴情報223が前回のモードとして全消去モードを示している場合の動作例、すなわち全プログラムモードの動作例を示す。ライト対象のデータ領域は、プレリードされることなく、一括プログラムされる。すなわち、ビット操作部315によってライト対象のデータ領域は全て「H」にプログラムされる。
また、ライトデータ「LLLLHHHH」において、「L」を示すビットについて書込みを行うために、マスク生成部341によって消去マスクが生成される。すなわち、ライトデータが「L」のビット位置のみに書込みが発生するようにプログラムマスク「EEEEMMMM」が生成される。この消去マスクを利用することにより、ビット操作部315によってライト対象のデータ領域は「LLLLHHHH」となる。
[情報処理システムの動作]
図11は、本技術の第2の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。まず、NVRAM301に対してライトデータおよびライト指示が発行されると、履歴情報テーブルの履歴情報223が判定され、履歴情報223が前回のモードとして全プログラムモードを示している場合(ステップS913)、全消去モードによるライト処理が行われる(ステップS960)。一方、履歴情報223が前回のモードとして全消去モードを示している場合、全プログラムモードによるライト処理が行われる(ステップS980)。
図12は、本技術の第2の実施の形態における全消去モードによるライト処理(ステップS960)の手順例を示す流れ図である。基本的な処理手順は図6の第1の実施の形態のものと同様であるが、この第2の実施の形態ではプレリードが行われないため、全消去のための消去マスクは生成されない。それに代えて、ライト対象のデータ領域の一括消去が行われる(ステップS963)。また、この第2の実施の形態ではメモリアレイ310において履歴情報を管理していないため、この時点では履歴情報の消去は行われず、最後の処理として履歴情報テーブルの履歴情報223が「L」に更新される(ステップS979)。なお、この履歴情報223は、「L」であれば、前回は全消去モードによってライト処理が行われたことを示す。
図13は、本技術の第2の実施の形態における全プログラムモードによるライト処理(ステップS980)の手順例を示す流れ図である。基本的な処理手順は図7の第1の実施の形態のものと同様であるが、この第2の実施の形態ではプレリードが行われないため、全プログラムのためのプログラムマスクは生成されない。それに代えて、ライト対象のデータ領域の一括プログラムが行われる(ステップS983)。また、この第2の実施の形態ではメモリアレイ310において履歴情報を管理していないため、この時点では履歴情報のプログラムは行われず、最後の処理として履歴情報テーブルの履歴情報223が「H」にプログラムされる(ステップS999)。なお、この履歴情報223は、「H」であれば、前回は全プログラムモードによってライト処理が行われたことを示す。
このように、本技術の第2の実施の形態によれば、各データ領域においてライト処理が行われるたびに全消去および全プログラムの状態が交互に生じるため、不揮発性メモリのデータ保持特性のばらつきを解消することができる。特に、この第2の実施の形態ではライト動作に先立ってプレリードを行わないため、ライト処理を高速に行うことができる。この場合、ライト対象のデータ領域の状態によっては過剰消去または過剰プログラムが生じるおそれがあるが、同一極性の書込みは最大2回までに抑制される。すなわち、可変抵抗素子に対する過剰消去または過剰プログラムがそれぞれ最大1回までは許容でき、高速性をより重視する場合に、特に適したライト処理方式である。
[変形例]
この第2の実施の形態では、履歴情報をNVRAM301の外部の履歴情報テーブルに格納する構成を前提として、ライト動作に先立ってプレリードを行わないという処理手順を採用した。これに対し、履歴情報をNVRAM301の外部に格納する構成を前提としつつ、第1の実施の形態と同様にプレリード結果に基づいて消去マスクまたはプログラムマスクを生成して、消去またはプログラムを行うようにしてもよい。この場合、第1の実施の形態と同様に、過剰消去や過剰書込みを回避することができる。
<3.第3の実施の形態>
上述の第2の実施の形態では、履歴情報をNVRAM301の外部の履歴情報テーブルに格納する構成を前提として、ライト動作に先立ってプレリードを行わないという処理手順を採用した。一方、その変形例として、同じ構成のままプレリードを行うことができることを示した。この第3の実施の形態では、第2の実施の形態と同様の構成を前提として、全プログラムの際にはプレリード結果に基づいてプログラムマスクを生成してプログラムを行い、全消去の際には一括消去を行う処理手順を採用する。
[ライト動作の具体例]
図14は、本技術の第3の実施の形態において可変抵抗素子に対して書込みを行う具体例を示す図である。この例では、「LHHLHLHL」が記憶されているデータ領域にライトデータ「LLLLHHHH」を書き込むことを想定する。この第3の実施の形態では、全消去モードと全プログラムモードとが交互に繰り返され、全消去モードの際にはプレリードが行われて必要なビットについてのみ消去が行われるが、全プログラムモードの際にはプレリードされずに一括プログラムが行われる。
同図におけるaは、履歴情報223が前回のモードとして全プログラムモードを示している場合の動作例、すなわち全消去モードの動作例を示す。ライト対象のデータ領域は、プレリードされることなく、一括消去される。すなわち、ビット操作部315によってライト対象のデータ領域は全て「L」に消去される。
また、ライトデータ「LLLLHHHH」において、「H」を示すビットについて書込みを行うために、マスク生成部341によってプログラムマスクが生成される。すなわち、ライトデータが「H」のビット位置のみに書込みが発生するようにプログラムマスク「MMMMPPPP」が生成される。ここで、「P」はプログラム対象となるビットを、「M」はプログラム対象とならないビットをそれぞれ意味する。このプログラムマスクを利用することにより、ビット操作部315によってライト対象のデータ領域は「LLLLHHHH」となる。
同図におけるbは、履歴情報223が前回のモードとして全消去モードを示している場合の動作例、すなわち全プログラムモードの動作例を示す。プレリードデータ「LHHLHLHL」において、「H」を示すビットについてさらに「H」にプログラムする書込みが発生しないように、マスク生成部341によってプログラムマスクが生成される。すなわち、「H」にプログラムすべきビットは現在の値が「L」のビット位置のみとなるようにプログラムマスク「PMMPMPMP」が生成される。このプログラムマスクを利用することにより、ビット操作部315によってライト対象のデータ領域は全て「H」となる。
また、ライトデータ「LLLLHHHH」において、「L」を示すビットについて書込みを行うために、マスク生成部341によって消去マスクが生成される。すなわち、ライトデータが「L」のビット位置のみに書込みが発生するようにプログラムマスク「EEEEMMMM」が生成される。この消去マスクを利用することにより、ビット操作部315によってライト対象のデータ領域は「LLLLHHHH」となる。
[情報処理システムの動作]
図15は、本技術の第3の実施の形態における情報処理システムのライト処理手順例を示す流れ図である。まず、NVRAM301に対してライトデータおよびライト指示が発行されると、履歴情報テーブルの履歴情報223が判定され、履歴情報223が前回のモードとして全プログラムモードを示している場合(ステップS914)、全消去モードによるライト処理が行われる(ステップS960)。この全消去モードによるライト処理は、図12により説明した第2の実施の形態の処理手順と同様である。一方、履歴情報223が前回のモードとして全消去モードを示している場合、全プログラムモードによるライト処理が行われる(ステップS840)。この全プログラムモードによるライト処理は、プレリードを伴う第1の実施の形態の処理手順と同様であるが、履歴情報をNVRAM301の外部の履歴情報テーブルに格納する構成を前提とする点で、以下のように異なる。
図16は、本技術の第3の実施の形態における全プログラムモードによるライト処理(ステップS840)の手順例を示す流れ図である。まず、リード処理部317によってメモリセル316からデータ311、ECC312のプレリードが行われる(ステップS841)。そして、このプレリードデータにおいて、「H」を示すビットについてさらに「H」に消去する書込みが発生しないように、マスク生成部341によってプログラムマスクが生成される(ステップS842)。そして、このプログラムマスクに従ってデータ311およびECC312のプログラム処理が行われる(ステップS843)。このプログラムの際には検証(Verify)が行われ(ステップS844)、検証に成功するまで繰り返される(ステップS845:No)。ただし、繰返し上限回数に達すると(ステップS846:Yes)、エラー終了する。
次に、ライトデータがライトバッファ320にセットされる(ステップS851)。そして、ライトデータにおいて、「L」を示すビットについて消去の書込みを行うために、マスク生成部341によって消去マスクが生成される(ステップS852)。そして、この消去マスクに従ってデータ311およびECC312の消去処理が行われる(ステップS953)。この消去の際には検証(Verify)が行われ(ステップS854)、検証に成功するまで繰り返される(ステップS855:No)。ただし、繰返し上限回数に達すると(ステップS856:Yes)、エラー終了する。
この第3の実施の形態ではメモリアレイ310において履歴情報を管理していないため、ステップS843では履歴情報のプログラムは行われず、最後の処理として履歴情報テーブルの履歴情報223が「H」にプログラムされる(ステップS859)。なお、この履歴情報223は、「H」であれば、前回は全プログラムモードによってライト処理が行われたことを示す。
このように、本技術の第3の実施の形態によれば、各データ領域においてライト処理が行われるたびに全消去および全プログラムの状態が交互に生じるため、不揮発性メモリのデータ保持特性のばらつきを解消することができる。特に、この第3の実施の形態では全プログラムの際のみプレリードを行うようにしたことにより、ライト処理の高速化と過剰全プログラムの防止とをバランス良く実現することができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。例えば、メモリセルが過剰消去または過剰プログラムがどの程度許容できるかによっては、1ビット以上の履歴を用いて、一方のモードを複数回連続させた後に他方のモードに切り替えるようにしてもよい。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
なお、本技術は以下のような構成もとることができる。
(1)ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、
前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作部と
を具備する記憶制御装置。
(2)ライト動作に先立ってライト対象のデータ領域からプレリードデータを読み出すプレリード処理部をさらに具備し、
前記ビット操作部は、前記第1のモードによるライト動作の際には全てのビットを前記第1の値とするために前記プレリードデータが前記第2の値を示しているビットのみを前記第1の値に書き直し、前記第2のモードによるライト動作の際には全てのビットを前記第2の値にするために前記プレリードデータが前記第1の値を示しているビットのみを前記第2の値に書き直す
前記(1)に記載の記憶制御装置。
(3)前記ビット操作部は、前記第1のモードによるライト動作の際には全てのビットを前記第1の値とするためにライト対象のデータ領域の全てのビットを前記第1の値に書き直し、前記第2のモードによるライト動作の際には全てのビットを前記第2の値にするためにライト対象のデータ領域の全てのビットを前記第2の値に書き直す
前記(1)に記載の記憶制御装置。
(4)ライト動作に先立ってライト対象のデータ領域からプレリードデータを読み出すプレリード処理部をさらに具備し、
前記ビット操作部は、前記第1のモードによるライト動作の際には全てのビットを前記第1の値とするためにライト対象のデータ領域の全てのビットを前記第1の値に書き直し、前記第2のモードによるライト動作の際には全てのビットを前記第2の値にするために前記プレリードデータが前記第1の値を示しているビットのみを前記第2の値に書き直す
前記(1)に記載の記憶制御装置。
(5)ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルと、
前記メモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、
前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作部と
を具備する記憶装置。
(6)前記メモリセルは可変抵抗素子である前記(5)に記載の記憶装置。
(7)ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルと、
前記メモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、
前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作部と、
前記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータと
を具備する情報処理システム。
(8)ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を取得する履歴情報取得手順と、
前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作手順と
を具備する記憶制御方法。
100 ホストコンピュータ
200 メモリ制御部
201 ホストインターフェース
210 プロセッサ
220 内蔵メモリ
230 ECC処理部
250 周辺回路
280 バス
291〜293 メモリインターフェース
300 メモリ
301 不揮発性ランダムアクセスメモリ(NVRAM)
302 フラッシュメモリ
303 揮発性メモリ
309 制御インターフェース
310 メモリアレイ
314 センスアンプ
315 ビット操作部
316 メモリセル
317 リード処理部
320 ライトバッファ
330 リードバッファ
340 論理評価部
341 マスク生成部
350 制御部
400 メモリシステム

Claims (8)

  1. ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、
    前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作部と
    を具備する記憶制御装置。
  2. ライト動作に先立ってライト対象のデータ領域からプレリードデータを読み出すプレリード処理部をさらに具備し、
    前記ビット操作部は、前記第1のモードによるライト動作の際には全てのビットを前記第1の値とするために前記プレリードデータが前記第2の値を示しているビットのみを前記第1の値に書き直し、前記第2のモードによるライト動作の際には全てのビットを前記第2の値にするために前記プレリードデータが前記第1の値を示しているビットのみを前記第2の値に書き直す
    請求項1記載の記憶制御装置。
  3. 前記ビット操作部は、前記第1のモードによるライト動作の際には全てのビットを前記第1の値とするためにライト対象のデータ領域の全てのビットを前記第1の値に書き直し、前記第2のモードによるライト動作の際には全てのビットを前記第2の値にするためにライト対象のデータ領域の全てのビットを前記第2の値に書き直す
    請求項1記載の記憶制御装置。
  4. ライト動作に先立ってライト対象のデータ領域からプレリードデータを読み出すプレリード処理部をさらに具備し、
    前記ビット操作部は、前記第1のモードによるライト動作の際には全てのビットを前記第1の値とするためにライト対象のデータ領域の全てのビットを前記第1の値に書き直し、前記第2のモードによるライト動作の際には全てのビットを前記第2の値にするために前記プレリードデータが前記第1の値を示しているビットのみを前記第2の値に書き直す
    請求項1記載の記憶制御装置。
  5. ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルと、
    前記メモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、
    前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作部と
    を具備する記憶装置。
  6. 前記メモリセルは可変抵抗素子である請求項5記載の記憶装置。
  7. ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルと、
    前記メモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を保持する履歴情報保持部と、
    前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作部と、
    前記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータと
    を具備する情報処理システム。
  8. ビット毎に第1の値または第2の値の何れか一方の値を保持するメモリセルの所定のデータ領域について、全てのビットを前記第1の値とした後に任意のビットを前記第2の値とする第1のモードと、全てのビットを前記第2の値とした後に任意のビットを前記第1の値とする第2のモードとのうち、前回のライト動作の際に何れが採用されたかを示す履歴情報を取得する履歴情報取得手順と、
    前記履歴情報が前記第1のモードを示している場合には前記第2のモードによりライト動作を行い、前記履歴情報が前記第2のモードを示している場合には前記第1のモードによりライト動作を行うビット操作手順と
    を具備する記憶制御方法。
JP2013554186A 2012-01-16 2012-10-19 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 Pending JPWO2013108456A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013554186A JPWO2013108456A1 (ja) 2012-01-16 2012-10-19 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012005780 2012-01-16
JP2012005780 2012-01-16
JP2013554186A JPWO2013108456A1 (ja) 2012-01-16 2012-10-19 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法

Publications (1)

Publication Number Publication Date
JPWO2013108456A1 true JPWO2013108456A1 (ja) 2015-05-11

Family

ID=48798893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013554186A Pending JPWO2013108456A1 (ja) 2012-01-16 2012-10-19 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法

Country Status (7)

Country Link
US (1) US20140301132A1 (ja)
EP (1) EP2799998A1 (ja)
JP (1) JPWO2013108456A1 (ja)
KR (1) KR20140113657A (ja)
CN (1) CN104067247A (ja)
TW (1) TW201331947A (ja)
WO (1) WO2013108456A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10237296B2 (en) * 2014-01-27 2019-03-19 Cronus Cyber Technologies Ltd Automated penetration testing device, method and system
EP3021326B1 (en) * 2014-11-17 2020-01-01 EM Microelectronic-Marin SA Apparatus and method to accelerate the testing of a memory array by applying a selective inhibition of address input lines.
US9721639B1 (en) 2016-06-21 2017-08-01 Micron Technology, Inc. Memory cell imprint avoidance
JP6151830B1 (ja) * 2016-07-05 2017-06-21 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
CN108536475B (zh) * 2017-12-27 2023-08-15 贵阳忆芯科技有限公司 完整编程命令处理方法与装置
US11139034B1 (en) 2020-07-15 2021-10-05 Micron Technology, Inc. Data-based polarity write operations

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512775B1 (en) * 1996-11-08 2003-01-28 The Trustees Of Columbia University In The City Of New York Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems
JP4330396B2 (ja) * 2003-07-24 2009-09-16 株式会社ルネサステクノロジ 半導体記憶装置
DE102004019860B4 (de) 2004-04-23 2006-03-02 Infineon Technologies Ag Verfahren und Vorrichtung zur Programmierung von CBRAM-Speicherzellen
US7224598B2 (en) * 2004-09-02 2007-05-29 Hewlett-Packard Development Company, L.P. Programming of programmable resistive memory devices
US20060215437A1 (en) * 2005-03-28 2006-09-28 Trika Sanjeev N Recovering from memory imprints
JP5162846B2 (ja) * 2005-07-29 2013-03-13 ソニー株式会社 記憶装置、コンピュータシステム、および記憶システム
KR100784866B1 (ko) * 2006-12-13 2007-12-14 삼성전자주식회사 쓰기 시간을 줄일 수 있는 불 휘발성 메모리 장치 및그것을 포함한 메모리 카드
KR100819061B1 (ko) * 2007-03-06 2008-04-03 한국전자통신연구원 쓰기 전력 계산 및 데이터 반전 기능을 통한 상 변화메모리에서의 데이터 쓰기 장치 및 방법
JP2009087526A (ja) * 2007-09-28 2009-04-23 Hynix Semiconductor Inc 半導体メモリ装置およびその駆動方法
KR100942940B1 (ko) * 2007-09-28 2010-02-22 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 구동방법
US7826248B2 (en) * 2008-05-20 2010-11-02 Seagate Technology Llc Write verify method for resistive random access memory
US8593853B2 (en) * 2010-03-30 2013-11-26 Panasonic Corporation Nonvolatile storage device and method for writing into the same
JP5000026B2 (ja) * 2010-10-29 2012-08-15 パナソニック株式会社 不揮発性記憶装置

Also Published As

Publication number Publication date
WO2013108456A1 (ja) 2013-07-25
TW201331947A (zh) 2013-08-01
EP2799998A1 (en) 2014-11-05
US20140301132A1 (en) 2014-10-09
KR20140113657A (ko) 2014-09-24
CN104067247A (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
JP5853899B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP5839048B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP4729062B2 (ja) メモリシステム
WO2013108456A1 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
KR20130070927A (ko) 불휘발성 메모리 장치 및 그 동작 방법
KR20220013661A (ko) 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
KR20210079549A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US9105346B2 (en) Semiconductor device and method for operating the same
JP2014022004A (ja) 記憶制御装置、記憶装置、および、それらにおける処理方法
KR102117929B1 (ko) 데이터 저장 시스템 및 그것의 동작 방법
JP2020042890A (ja) メモリシステムおよびメモリシステムの制御方法
TWI578320B (zh) 記憶體的操作方法及應用其之記憶體裝置
JP2014013635A (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US20160322087A1 (en) Data storage device and operating method thereof
TWI500036B (zh) 非揮發性儲存裝置及其控制方法
KR20210071314A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
JP6267497B2 (ja) 半導体メモリの制御装置及び不安定メモリ領域の検出方法
KR20150122493A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11507509B2 (en) Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size
JP6068152B2 (ja) 制御方法、および制御装置
KR20220118011A (ko) 메모리 장치 및 메모리 장치의 동작 방법
KR20230085625A (ko) 메모리 장치 및 그 동작 방법
KR20210054187A (ko) 메모리 시스템, 메모리 장치 및 메모리 시스템의 동작 방법
JP2012230731A (ja) 不揮発性半導体メモリシステムおよびそれを備えたストレージデバイス