JP5853843B2 - 記憶制御装置、記憶装置、および、それらにおける処理方法 - Google Patents

記憶制御装置、記憶装置、および、それらにおける処理方法 Download PDF

Info

Publication number
JP5853843B2
JP5853843B2 JP2012099330A JP2012099330A JP5853843B2 JP 5853843 B2 JP5853843 B2 JP 5853843B2 JP 2012099330 A JP2012099330 A JP 2012099330A JP 2012099330 A JP2012099330 A JP 2012099330A JP 5853843 B2 JP5853843 B2 JP 5853843B2
Authority
JP
Japan
Prior art keywords
command
commands
read
operations
drive voltage
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.)
Expired - Fee Related
Application number
JP2012099330A
Other languages
English (en)
Other versions
JP2013229072A (ja
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 JP2012099330A priority Critical patent/JP5853843B2/ja
Priority to US13/855,155 priority patent/US9202563B2/en
Priority to CN201310146885.1A priority patent/CN103377693B/zh
Publication of JP2013229072A publication Critical patent/JP2013229072A/ja
Application granted granted Critical
Publication of JP5853843B2 publication Critical patent/JP5853843B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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/0023Address circuits or decoders
    • 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/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, 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/0061Timing 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, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/0097Erasing, e.g. resetting, circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Read Only Memory (AREA)

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は、可変抵抗素子を用いた抵抗変化型メモリである。このReRAMの可変抵抗素子は、高抵抗状態(HRS:High Resistive State)と低抵抗状態(LRS:Low Resistive State)の2状態で1ビットの情報を記録することができる。このReRAMでは、可変抵抗素子を高抵抗状態に遷移させる際と、低抵抗状態に遷移させる際とでは、異なる電位のドライブ電圧を印加する必要がある(例えば、特許文献1参照。)。
特開2010−140526号公報
上述のように、ReRAMの可変抵抗素子の状態を遷移させるためには、抵抗状態に応じて異なる電位のドライブ電圧を印加する必要がある。また、ReRAMは、多数のメモリセルを共通のプレートに接続した構造を採るため、容量が非常に大きい。そのため、異なる電位のドライブ電圧が繰返し印加されると、それに伴う充放電の際に大きな電力を消費してしまうという問題がある。
本技術はこのような状況に鑑みて生み出されたものであり、抵抗変化型メモリにおける充放電の発生を抑制して、消費電力を低減することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、メモリセルアレイのプレートを共通にする同一ブロックにおける異なるワードに対するものであるか否かを判定するコマンドデコーダと、上記複数のコマンドのアクセス対象アドレスが上記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、上記複数のコマンドの処理における操作のうち上記プレートとビットラインとの間のドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理部とを具備する記憶制御装置およびその方法である。これにより、複数のコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、上記コマンドデコーダは、上記複数のコマンドが2つのリードコマンドであるか否かをさらに判定し、上記コマンド処理部は、上記2つのリードコマンドのアクセス対象アドレスが上記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、上記2つのリードコマンドの処理における操作のうち上記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、2つのリードコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、上記コマンドデコーダは、上記複数のコマンドが2つのライトコマンドであるか否かをさらに判定し、上記コマンド処理部は、上記2つのライトコマンドのアクセス対象アドレスが上記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、上記2つのライトコマンドの処理における操作のうち上記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、上記ドライブ電圧としてセットドライブ電圧を印加する操作同士をまとめて連続して実行し、上記ドライブ電圧としてリセットドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、2つのライトコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、上記コマンドデコーダは、上記複数のコマンドが1つのリードコマンドおよび1つのライトコマンドの組合せであるか否かをさらに判定し、上記コマンド処理部は、上記リードコマンドおよび上記ライトコマンドのアクセス対象アドレスが上記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、上記リードコマンドおよび上記ライトコマンドの処理における操作のうち上記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、ライトコマンドおよびリードコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、前記コマンドデコーダは、前記複数のコマンドが2つの消去コマンドであるか否かをさらに判定し、前記コマンド処理部は、前記2つの消去コマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つの消去コマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてセットドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、2つの消去コマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、前記コマンドデコーダは、前記複数のコマンドが2つのプログラムコマンドであるか否かをさらに判定し、前記コマンド処理部は、前記2つのプログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのプログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてリセットドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、2つのプログラムコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つの消去コマンドの組合せであるか否かをさらに判定し、前記コマンド処理部は、前記リードコマンドおよび前記消去コマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記消去コマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、リードコマンドおよび消去コマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つのプログラムコマンドの組合せであるか否かをさらに判定し、前記コマンド処理部は、前記リードコマンドおよび前記プログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記プログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、リードコマンドおよびプログラムコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、この第1の側面において、前記コマンドデコーダは、前記複数のコマンドが1つの消去コマンドおよび1つのプログラムコマンドの組合せであるか否かをさらに判定し、前記コマンド処理部は、前記消去コマンドおよび前記プログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記消去コマンドおよび前記プログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行するようにしてもよい。これにより、消去コマンドおよびプログラムコマンドの処理における操作のうちドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。
また、本技術の第2の側面は、プレートを共通にするブロック毎に分割されたメモリセルアレイと、上記プレートとビットラインとの間のドライブ電圧を供給するドライバと、コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、上記メモリセルアレイの同一ブロックにおける異なるワードに対するものであるか否かを判定するコマンドデコーダと、上記複数のコマンドのアクセス対象アドレスが上記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、上記複数のコマンドの処理における操作のうち上記ドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理部とを具備する記憶装置である。これにより、メモリセルアレイに対する複数のコマンドの処理における操作のうちドライバから等しい電圧を印加する操作同士をまとめて連続して実行するという作用をもたらす。なお、この第2の側面において、上記メモリセルアレイは抵抗変化型メモリを想定することができる。
本技術によれば、抵抗変化型メモリにおける充放電の発生を抑制して、消費電力を低減することができるという優れた効果を奏し得る。
本技術の実施の形態における情報処理システムの一構成例を示す図である。 本技術の実施の形態におけるメモリセルアレイ110の構造の一例を示す図である。 本技術の実施の形態におけるメモリセルアレイ110のドライブ電圧を説明するための図である。 本技術の実施の形態におけるメモリ100の機能構成例を示す図である。 ライトコマンドを処理するために必要なドライブ電圧を示す図である。 本技術の第1の実施の形態におけるメモリ100の処理手順の一例を示す流れ図である。 本技術の実施の形態における1つのリードコマンドの処理手順の一例を示す流れ図である。 本技術の実施の形態における1つのライトコマンドの処理手順の一例を示す流れ図である。 本技術の実施の形態における1つのセット操作の処理手順の一例を示す流れ図である。 本技術の実施の形態における1つのリセット操作の処理手順の一例を示す流れ図である。 本技術の実施の形態における2つのリード操作の処理手順の一例を示す流れ図である。 本技術の実施の形態における2つのライト操作の処理手順の一例を示す流れ図である。 本技術の実施の形態における2つのセット操作の処理手順の一例を示す流れ図である。 本技術の実施の形態における2つのリセット操作の処理手順の一例を示す流れ図である。 本技術の実施の形態における1つのリード操作と1つのライト操作の処理手順の一例を示す流れ図である。 本技術の第1の実施の形態の変形例におけるメモリ100の処理手順の一例を示す流れ図である。 本技術の第2の実施の形態におけるメモリ100の処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における1つの消去コマンドの処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における1つのプログラムコマンドの処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における2つの消去操作の処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における2つのプログラム操作の処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における1つのリード操作と1つの消去操作の処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における1つのリード操作と1つのプログラム操作の処理手順の一例を示す流れ図である。 本技術の第2の実施の形態における1つの消去操作と1つのプログラム操作の処理手順の一例を示す流れ図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(リードコマンドとライトコマンドを利用した例)
2.第2の実施の形態(リードコマンドと消去コマンドとプログラムコマンドを利用した例)
<1.第1の実施の形態>
[情報処理システムの構成]
図1は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、メモリ100と、メモリコントローラ200と、ホストコンピュータ300とを備えている。メモリ100としては、可変抵抗素子からなるメモリセルアレイ110を備える抵抗変化型メモリ(ReRAM)を想定する。ホストコンピュータ300は、メモリ100に対してリードコマンドやライトコマンドを発行することにより、メモリ100へのアクセスを行うコンピュータである。メモリコントローラ200は、メモリ100とホストコンピュータ300との間に接続され、メモリ100に対するアクセス制御を行うものである。なお、メモリコントローラ200自身の判断によりリードコマンドやライトコマンドが発行されることもある。
メモリ100は、複数のブロック101、102等に分割された記憶部と、制御インターフェース120と、制御部130と、コマンドキュー131とを備える。制御インターフェース120は、メモリコントローラ200との間のやりとりを司るインターフェースである。制御部130は、各ブロックに対するアクセスを制御するものである。コマンドキュー131は、メモリ100において処理されるコマンドを保持するキューである。このコマンドキュー131は、ここでは制御部130とは別個の構成としているが、制御部130に内蔵されてもよく、また、制御インターフェース120に内蔵されるように構成してもよい。
記憶部のブロック(例えば、ブロック101)は、メモリセルアレイ110と、ワードラインデコーダ140と、ビットラインセレクタ150と、ドライバ160とを備えている。
メモリセルアレイ110は、複数のワードライン(WL:Word Lines)と複数のビットライン(BL:Bit Lines)の交点にそれぞれアクセストランジスタと可変抵抗素子を有する。ここでは説明を簡単にするために、8ワードライン×8ビットラインの64交点を有するメモリセルアレイを例示する。この場合、メモリセルアレイ110は、8本のワードライン(WL_0乃至WL_7)と、8本のビットライン(BL_0乃至BL_7)と、プレート端子とを備える。8本のワードライン(WL_0乃至WL_7)は、ワードラインデコーダ140に接続される。8本のビットライン(BL_0乃至BL_7)は、ビットラインセレクタ150に接続される。プレート端子は、ドライバ160のプレート電圧出力に接続される。
メモリセルアレイ110の可変抵抗素子は、高抵抗状態(HRS:High Resistive State)と低抵抗状態(LRS:Low Resistive State)の2状態で1ビットの情報を記録する。各状態と論理値との対応付けは任意であるが、以下では低抵抗状態を用いて論理値「0」を表現し、高抵抗状態を用いて論理値「1」を表現するものと定義する。また、2つの状態間の遷移を行う操作をビット反転操作と呼ぶ。ビット反転操作はセット操作とリセット操作の2種類で構成される。以下では、セット操作により高抵抗状態のビットを低抵抗状態に遷移させ、リセット操作により低抵抗状態のビットを高抵抗状態に遷移させる。すなわち、セット操作により論理値「1」のビットを論理値「0」に遷移させ、リセット操作により論理値「0」のビットを論理値「1」に遷移させる。ライト処理においては、セット操作およびリセット操作が順番に行われるが、その順序は何れが先であっても構わない。
ワードラインデコーダ140は、制御部130からのワードライン指定を受け取り、メモリセルアレイ110の8本のワードラインを制御する。すなわち、ワードラインデコーダ140は、制御部130によって指定されたワードラインを論理値「H」でドライブし、それ以外のワードラインを論理値「L」でドライブする機能を有する。ワードライン指定が行われていない場合、または、ワードライン指定が取り消された場合には、ワードラインデコーダ140は全てのワードラインを論理値「L」でドライブする。
ビットラインセレクタ150は、制御部130および制御インターフェース120との間で、メモリセルアレイ110から読み出したリードデータ、および、書込みを行うためのライトデータをやりとりする。また、このビットラインセレクタ150は、ドライバ160からビットラインをドライブするための電圧を受け取る。
このビットラインセレクタ150は、大きく分けると二つの機能を有する。すなわち、ビットラインセレクタ150は、メモリセルアレイ110の読出し時にはセンスアンプとしての機能を有する。具体的には、ビットラインセレクタ150は、ビットラインを流れる電流量を計測することにより、選択している可変抵抗素子が低抵抗状態または高抵抗状態の何れであるかを判別し、それぞれのビットラインに対する論理値「0」あるいは「1」を決定する。決定された論理値は、制御部130または制御インターフェース120に対して出力される。
また、このビットラインセレクタ150は、メモリセルアレイ110の書込み時には、制御部130による指定に基づいてビットライン毎のドライブ電圧を選択する機能を有する。具体的には、ビットラインセレクタ150は、各ビットラインに対して、ドライバ160から供給されるプレート電圧またはビットライン電圧のいずれかを選択的に供給する。
ドライバ160は、ビットラインセレクタ150にビットライン電圧を供給するとともに、ビットラインセレクタ150およびメモリセルアレイ110にプレート電圧を供給するドライバである。すなわち、このドライバ160は、プレートとビットラインとの間のドライブ電圧を供給する。
[メモリセルアレイの構造]
図2は、本技術の実施の形態におけるメモリセルアレイ110の構造の一例を示す図である。この図では、1本のワードラインWL_0にそった断面を模式的に表しているが、他のワードラインについても同様の構造を有する。ワードラインWL_0と8本のビットライン(BL_0乃至BL_7)の交点には、アクセストランジスタであるFET(Field effect transistor:電界効果トランジスタ)112と、可変抵抗素子111が接続されている。
ワードラインWL_0は8つのFET112のゲート端子に接続されており、8本のビットライン(BL_0乃至BL_7)はそれぞれ対応するFET112のドレイン端子に接続される。8つのFETのソース端子はそれぞれ可変抵抗素子111を経由してプレート113に接続される。同一ブロックにおけるメモリセルアレイ110を構成する全ての(ここでは64個の)FET112のソース端子は、それぞれに対応する可変抵抗素子111を経由してプレート113に接続される。
図3は、本技術の実施の形態におけるメモリセルアレイ110のドライブ電圧を説明するための図である。メモリセルアレイ110の可変抵抗素子111に対する操作としては、上述のセット操作およびリセット操作の他に、可変抵抗素子111の状態を読み出すためのリード操作がある。これら3つの操作、すなわちリード操作、セット操作およびリセット操作において、プレート113とビットラインBL_0との間のドライブ電圧は異なるものとなる。
セット操作の場合には、プレート113がビットラインに対して「+Vset」の電位となるように電圧バイアスを設定する。リセット操作の場合には、ビットラインがプレート113に対して「+Vreset」の電位となるように電圧バイアスを設定する。また、リード操作の場合には、ビットラインがプレート113に対して「+Vread」の電圧になるように電圧バイアスを設定する。
[メモリの機能構成]
図4は、本技術の実施の形態におけるメモリ100の機能構成例を示す図である。ここでは、これまでに説明したコマンドキュー131、ワードラインデコーダ140、ビットラインセレクタ150、ドライバ160およびメモリセルアレイ110に加えて、コマンドデコーダ132およびコマンド処理部133を示している。
コマンドキュー131には、ホストコンピュータ300等から発行されたリードコマンドやライトコマンド等が順番に保持される。このコマンドキュー131は、FIFO(First-In First-Out)メモリやRAM等によって構成される。上述のように、このコマンドキュー131は、メモリ100内の何れに存在してもよいが、複数のコマンドを保持して、各コマンドがコマンドデコーダ132およびコマンド処理部133から参照できるように構成される必要がある。コマンドデコーダ132には信号線135を介して、コマンド処理部133には信号線136を介して、コマンドキュー131に保持されたコマンドが参照される。
コマンドデコーダ132は、コマンドキュー131に保持される複数のコマンドをデコードして、コマンドの種別やメモリセルアレイ110のアクセス対象アドレスなどの情報を抽出するものである。コマンドデコーダ132は、例えば、コマンドキュー131に保持される複数のコマンドが、ライトコマンドやリードコマンドの何れに該当するかを判定する。また、コマンドデコーダ132は、例えば、コマンドキュー131に保持される複数のコマンドのアクセス対象アドレスが、何れのブロックにおけるメモリセルアレイ110の何れのワードに対するものであるかを判定する。
リードコマンドは、リードコマンドであることを示す情報と、ブロックを示す情報と、指定されたブロック内のメモリセルアレイ110において読出しを行うべきワードライン番号とによって構成される。ライトコマンドは、ライトコマンドであることを示す情報と、ブロックを示す情報と、指定されたブロック内のメモリセルアレイ110において書込みを行うべきワードライン番号と、書込みを行うべきライトデータとによって構成される。
以下の説明においては、書き込むべきワードラインを特定するための情報として、ブロックを示す情報と、指定されたブロック内のメモリセルアレイ110において書込みを行うべきワードライン番号とを組み合わせて用いている。メモリの実装によっては、ページ番号等のメカニズムを導入し、ページ番号と、ブロック番号およびワードライン番号との一対一変換を行う場合があるが、本質的な差異は存在しない。なお、一対一変換は、テーブル等を用いて行う場合や、ページ番号の上位ビットをバンク番号として用い、残り下位ビットをワードライン番号として用いる場合などが考えられる。また、別のメモリの実装によっては、1つのワードラインで選択される複数のビットを2以上のページに分割することで、複数のページ番号が単一のワードラインに対応する場合があるが、本質的な差異は存在しない。
コマンド処理部133は、コマンドキュー131に保持される複数のコマンドの各々について、その処理内容を実現するための制御を行うものである。このコマンド処理部133は、信号線137を介してワードラインデコーダ140に接続し、信号線138を介してビットラインセレクタ150に接続し、また、信号線139を介してドライバ160に接続する。コマンド処理部133は、コマンドデコーダ132によってデコードされた情報に従って、ワードラインデコーダ140、ビットラインセレクタ150およびドライバ160を制御する。
例えば、コマンドデコーダ132がリードコマンドである旨をデコードした場合には、コマンド処理部133は、リード操作を行うために、ビットラインがプレート113に対して「+Vread」のドライブ電圧を印加するようドライバ160を制御する。また、例えば、コマンドデコーダ132がライトコマンドである旨をデコードした場合には、プレリードのためのリード操作、セット操作、プレリードのためのリード操作、リセット操作、検証(ベリファイ)のためのリード操作が順次行われる。その際、それぞれの操作に必要なドライブ電圧をビットラインとプレート113との間に印加するようドライバ160を制御する。
なお、ここでは、各機能構成がメモリ100内に配置されることを想定したが、その一部として、例えばコマンドキュー131、コマンドデコーダ132およびコマンド処理部133をメモリコントローラ200に配置することも考えられる。
図5は、ライトコマンドを処理するために必要なドライブ電圧を示す図である。この図では、ビットラインの電位を固定した場合のプレート電位を示している。上述のように、ライトコマンドを処理する際には、リード操作、セット操作、リード操作、リセット操作、リード操作が順次行われる。この場合、ビットラインとプレート113との間に印加されるドライブ電圧は、リード操作、セット操作、リセット操作のそれぞれにおいて異なる電位を示す。2つのライトコマンドが連続した場合、それらをそのままの順序で実行すると、同図におけるaのように、ドライブ電圧が頻繁に変化することになり、それに伴う充放電の際に大きな電力が消費される。
そこで、本技術の実施の形態では、同図におけるbに示すように、異なるワードに対する2つのライトコマンドについて、それぞれの対応する操作をまとめて実行することにより、ドライブ電圧の変化を抑制する。これにより、ドライブ電圧の変化に伴う充放電を抑制して、省電力化を図るものである。
[メモリの動作]
図6は、本技術の第1の実施の形態におけるメモリ100の処理手順の一例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ300からの指示により、リードコマンド、ライトコマンド、または、リードコマンドとライトコマンドとから構成されたコマンド群を構成し、メモリ100の制御インターフェース120に対して書き込む。なお、メモリコントローラ200は、自身の判断により、コマンド等を発行することもできる。
メモリ100の制御部130は、制御インターフェース120が保持しているコマンドの数を読み出す(ステップS811)。そして、制御部130は読み出したコマンド数を判定し、コマンド数が0である、すなわち制御インターフェース120がコマンドを保持していない場合には再びステップS811に遷移する(ステップS812:No)。このように、ステップS811およびステップS812はポーリングループを形成しており、制御部130がこのポーリングループで待ち合わせている間に、メモリコントローラ200からコマンドが書き込まれることを期待している。
制御部130は読み出したコマンド数をさらに判定する(ステップS813)。コマンド数が2以上である場合には(ステップS813:Yes)、制御部130は制御インターフェース120が保持している複数のコマンドのうち先頭の2つをコマンドキュー131に移動する(ステップS814)。一方、コマンド数が1である場合には(ステップS813:No)、制御部130は制御インターフェース120が保持している単一のコマンド(リードコマンドまたはライトコマンド)を実行する(ステップS821)。これらリードコマンドおよびライトコマンドの各々の実行処理手順については、図7および図8を参照して後述する。コマンドの実行後、制御インターフェース120が保持している処理済みのコマンドを破棄して、ステップS811に遷移する。
制御部130は、コマンドキュー131に置いた2つのコマンドが同一のブロックに対する指示であるか否かを判定する(ステップS815)。2つのコマンドが異なるブロックに対するものである場合には(ステップS815:No)、それぞれのブロックにおいて2つのコマンド(リードコマンドまたはライトコマンド)を並列に実行する(ステップS822)。これらリードコマンドおよびライトコマンドの各々の実行処理手順については、図7および図8を参照して後述する。2つのコマンドの実行後、コマンドキュー131が保持している処理済みの2つのコマンドを破棄して、ステップS811に遷移する。
なお、ステップS822において、コマンドキュー131に保持している2つのコマンドを実行する前に、制御インターフェース120が保持しているコマンドを再度判定する方法も考えられる。すなわち、同一のブロックかつワードライン番号が異なるコマンドが存在する場合には、該当コマンドとコマンドキュー131に保持しているコマンドとを組み合わせてステップS817以下に示す手順を行うことも考えられる。
2つのコマンドが同一のブロックに対するものである場合には(ステップS815:Yes)、制御部130は、さらに同一のワードに対するものであるか否かを判定する(ステップS816)。同一のブロックの同一のワードに対するものである場合(ステップS816:Yes)、制御部130は、コマンドキュー131に置いた2つのコマンド(リードコマンドまたはライトコマンド)を順次実行する(ステップS823)。同一ブロックの同一ワードライン番号に対するコマンドは順次実行する必要があるからである。また、異なる種別のコマンドは、この実施の形態においては、順次に実行するものとする。これらリードコマンドおよびライトコマンドの各々の実行処理手順については、図7および図8を参照して後述する。2つのコマンドの実行後、コマンドキュー131が保持している処理済みの2つのコマンドを破棄して、ステップS811に遷移する。
なお、ステップS823において、コマンドキュー131に保持している2つのコマンドを実行する前に、制御インターフェース120が保持しているコマンドを再度判定してもよい。その際、同一のブロックかつワードライン番号が異なるコマンドが存在する場合には、該当コマンドとコマンドキュー131に保持しているコマンドとを組み合わせてステップS817以下に示す手順を行うことも考えられる。
なお、ステップS823において、コマンドキュー131に保持している2つのコマンドを実行する場合、同一ブロックの同一ワードライン番号に対するコマンドという特性を生かし、以下のような考え方によりコマンドを効率的に実行してもよい。2つのコマンドがリードコマンドである場合、1つ目のリードコマンドを実行した後、2つ目のリードコマンドの動作は省略して1つ目のリードコマンドで読み出したデータをメモリコントローラ200に通知する。2つのコマンドがライトコマンドである場合、1つ目のライトコマンドは破棄し、2つ目のライトコマンドのみを実行する。2つのコマンドがリードコマンドとライトコマンドであり、2つのコマンドの順序がライトコマンド、リードコマンドである場合には、リードコマンドを実行せずに、ライトデータとして与えられたデータをメモリコントローラ200に通知する。2つのコマンドの順序がリードコマンド、ライトコマンドである場合、ライトコマンドにおけるリード操作(ステップS922)で読み出したデータをリードコマンドのデータとしてメモリコントローラ200に通知し、その後にライトコマンドの操作を続ける。このようなコマンド動作の省略による効率化は、実行時間を短縮するためには効果がある一方、上位システムから見たメモリ100の動作が不透明になるという欠点を有する。このため、このような省略を許すか許さないかを電源投入時等に初期設定する機能を持つてもよい。また、上述のような省略を可能とするコマンドと、省略を不可とするコマンドとの2系統を使い分けるようにしてもよい。
制御部130は、同一ブロックかつ異なるワードに対する2つのコマンドについて、コマンド種別の組合せについて判定する(ステップS817、S818)。その結果、2つのリードコマンドであればステップS830を実行し、2つのライトコマンドであればステップS840を実行し、1つのリードコマンドと1つのライトコマンドの組合せであればステップS870を実行する。
図7は、本技術の実施の形態における1つのリードコマンドの処理手順の一例を示す流れ図である。なお、ここでは、リードコマンドの構成要素であるブロック番号としてブロック101を示す情報が指定され、ワードライン番号としてWL_0が指定されたことを想定する。
まず、制御部130は、制御インターフェース120からリードコマンドの構成要素であるブロック番号およびワードライン番号を取得する(ステップS911)。ここでは、上述のとおり、ブロック番号としてブロック101を示す情報、および、ワードライン番号としてWL_0が取得される。ブロック番号としてブロック101が指定されているため、制御部130は、これ以降、ブロック101の構成要素に対して指示を行う。
制御部130はドライバ160に対してリード操作における電圧バイアスの発生を指示する(ステップS912)。具体的には、ビットライン電圧がプレート電圧に対して「+Vread」となるように設定を行う。ドライバ160から供給されたプレート電圧によりメモリセルアレイ110のプレート113がドライブされる。
制御部130は、ビットラインセレクタ150に対して全てのビットラインをビットライン電圧でドライブするように指示を行う(ステップS913)。ビットラインセレクタ150は制御部130からの指示に従って、全てのビットラインに対してドライバ160から供給されたビットライン電圧を供給する。
制御部130は、リードコマンドで指定されたワードライン番号(ここではWL_0)をワードラインデコーダ140に設定するとともに、ビットラインセレクタ150に対して読出し動作の開始を指示する(ステップS914)。ワードラインデコーダ140は指定されたワードライン番号(ここではWL_0)に対応するワードライン(WL_0)を論理値「H」でドライブする。これにより、WL_0に接続されたアクセストランジスタが導通状態となり、ドライバ160で発生したリード操作における電圧バイアスが可変抵抗素子に印可される。そのため、それぞれの素子の高抵抗状態あるいは低抵抗状態に応じた電流がビットラインを通じてビットラインセレクタ150に流入する。ビットラインセレクタ150は、流入した電流量を測定することにより、それぞれの可変抵抗素子に対応する論理「0」あるいは「1」を決定する。これにより、指定されたワードライン番号(WL_0)に接続された可変抵抗素子の論理状態が、ビットラインセレクタ150により読み出される。
読出しが完了すると、制御部130は、ビットラインセレクタ150に対する読出し動作の停止を指示する(ステップS916)。すなわち、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消し、ドライバ160に対する電圧バイアスの発生の停止を指示する。なお、読み出し完了のタイミングは、制御部130などが内部に持つ時計で決定される場合や、ビットラインセレクタ150において十分な電流量が確保できたことを確認することで決定される場合など考えられるが、ここでは詳細な説明を省略する。
制御部130は、ビットラインセレクタ150が読み出したデータを制御インターフェース120に対して出力するように指示する(ステップS917)。そして、制御部130は、制御インターフェース120に指示して、読み出したデータをメモリコントローラ200に通知する(ステップS918)。
図8は、本技術の実施の形態における1つのライトコマンドの処理手順の一例を示す流れ図である。ここでは、ライトコマンドの構成要素であるブロック番号としてブロック101を示す情報が指定され、ワードライン番号としてWL_0が指定され、書込みを行うデータとして値「6」(2進数表記で「00000110)が指定されたことを想定する。
また、書込みを行う以前の状況として、ブロック101内のメモリセルアレイ110のWL_0に対応するビット群には値「3」(2進数表記で「00000011」)が記録されているものとする。これらをビットごとに観察すると、BL_0に対応するビットは現状の論理値「1」を論理値「0」に変更することが必要である。BL_1に対応するビットは現状の論理値「1」のままで変更する必要はない。BL_2に対応するビットは現状の論理値「0」を論理値「1」に変更することが必要である。BL_7乃至BL_3に対応するビットは現状の論理値「0」のままで変更する必要はない。
ReRAMを含めて不揮発性メモリに対する書込みでは、不要なビット反転や上書きを防ぐために、記録されている情報と書き込みを行う情報を比較し、必要最小限のビット反転のみを行うという方法がよく用いられる。すなわち、この例の場合には、BL_0に対応するビットとBL_2に対応するビットのみにビット反転操作を行い、そのほかのビットに関しては現状を維持することが好ましい。このため、以下の実施の形態では、書込みを行う位置の情報をまず読み出し、反転を行うべきビットを決定し、決定したビットに対してのみビット反転操作を行う。
制御部130は、制御インターフェース120からライトコマンドの構成要素であるブロック番号、ワードライン番号および書込みを行うデータを取得する(ステップS921)。ここでは、上述のとおり、ブロック番号としてブロック101を示す情報、および、ワードライン番号としてWL_0が取得される。ブロック番号としてブロック101が指定されているため、制御部130は、これ以降、ブロック101の構成要素に対して指示を行う。
制御部130は、図7において説明したステップS912乃至S916の処理を行い、指定されたワードライン番号(ここではWL_0)に対応するビットに現在記録されている値を読み出す(ステップS922)。制御部130はビットラインセレクタ150にアクセスし、メモリセルアレイ110から読み出したデータを取得する(ステップS923)。
制御部130は、メモリセルアレイ110から読み出したデータと、書込みを行うライトデータとを比較し、セット操作を行うべきビットとリセット操作を行うべきビットを決定する(ステップS924)。すなわち、このステップにおいて制御部130は、セット操作を行うべきビットパターン(セットマスク)としてBL_0のみに値「1」を割り当てた2進数表現の数「00000001」を生成する。また、リセット操作を行うべきビットパターン(リセットマスク)としてBL_2のみに値「1」を割り当てた2進数表現の数「00000100」を生成する。
制御部130は、セット操作を行い(ステップS925)、正常にセットが行われるまで繰り返す(ステップS926)。このセット操作(ステップS925)の実行処理手順については、図9を参照して後述する。ステップS926において、制御部130は読み出したデータとセット操作を行うべきビットパターンを比較して、正常にセット操作が行われたかどうかを確認する。なお、2回目以降のセット操作では、ステップS926において正常にセット操作が行われなかったことが判明したビットのみをセット操作対象とする。また、セット操作に続くリード操作によりセット操作のリトライを行う回数の上限を定めるために、カウンタを設けて規定回数以上の失敗をエラーとするという手法が考えられるが、ここでは説明を省略する。
制御部130は、リセット操作を行い(ステップS927)、正常にリセットが行われるまで繰り返す(ステップS928)。このリセット操作(ステップS927)の実行処理手順については、図10を参照して後述する。ステップS928において、制御部130は読み出したデータとリセット操作を行うべきビットパターンを比較して、正常にリセット操作が行われたかどうかを確認する。なお、2回目以降のリセット操作では、ステップS928において正常にリセット操作が行われなかったことが判明したビットのみをリセット操作対象とする。また、リセット操作に続くリード操作によりリセット操作のリトライを行う回数の上限を定めるために、カウンタを設けて規定回数以上の失敗をエラーとするという手法が考えられるが、ここでは説明を省略する。
これらの処理が完了すると、制御部130は制御インターフェース120に指示し、ライトコマンドの終了をメモリコントローラ200に通知する(ステップS929)。
図9は、本技術の実施の形態における1つのセット操作(ステップS925)の処理手順の一例を示す流れ図である。
制御部130は、ドライバ160に対してセット操作における電圧バイアスの発生を指示する(ステップS931)。具体的には、プレート電圧がビットライン電圧に対して「+Vset」となるように設定を行う。ドライバ160から供給されたプレート電圧によりメモリセルアレイ110のプレートがドライブされる。
制御部130は、ビットラインセレクタ150に対してセット操作を行うべきセルパターンを与え、値「1」に対応するビットラインをビットライン電圧で、値「0」に対応するビットラインをプレート電圧でドライブするように指示を行う(ステップS932)。ビットラインセレクタ150は制御部130からの指示に従い、ドライバ160から供給されたビットライン電圧あるいはプレート電圧を供給する。
ここで、ステップS932を1回目に実行する場合のセット操作を行うべきセルパターンとは、ステップS924において生成したセットマスク「00000001」である。すなわち、BL_0のみがビットライン電圧でドライブされ、それ以外のビットライン(BL_7乃至BL_1)はプレート電圧でドライブされる。ステップS932を2回目以降に実行する場合には、ステップS926において正常にセット操作が行われなかったことが判明したビットのみを「1」としたセットマスクが使用される。
制御部130は、ライトコマンドで指定されたワードライン番号(ここではWL_0)をワードラインデコーダ140に設定する(ステップS933)。ワードラインデコーダ140は、指定されたワードライン番号(ここではWL_0)に対応するワードライン(WL_0)を論理値「H」でドライブする。これによりWL_0に接続されたアクセストランジスタが導通状態となる。
このとき、メモリセルアレイ110のプレート113はドライバ160から供給されたプレート電圧でドライブされており、BL_0はステップS932において行った設定によりビットライン電圧でドライブされている。これはセット操作に必要な電圧バイアスであるため、WL_0とBL_0の交点に接続された可変抵抗素子に対してセット操作が行われる。一方、BL_7乃至BL_1は、ステップS932において行った設定によりプレート電圧でドライブされているため、アクセストランジスタが導通状態となっても可変抵抗素子の両端に電位差が生じず、ビット反転操作は行われない。
制御部130は、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消し、ドライバ160に対する電圧バイアスの発生の停止を指示する(ステップS934)。なお、セット操作完了のタイミングは、制御部130などが内部に持つ時計で決定されることなどが考えられるが、ここでは詳細な説明を省略する。
制御部130は、ステップS922と同様の処理を行い、指定されたワードライン番号(ここではWL_0)に対応するビットに現在記録されている値を読み出す(ステップS938)。制御部130は、ビットラインセレクタ150にアクセスし、メモリセルアレイ110から読み出したデータを取得する(ステップS939)。
図10は、本技術の実施の形態における1つのリセット操作(ステップS927)の処理手順の一例を示す流れ図である。
制御部130はドライバ160に対してリセット操作における電圧バイアスの発生を指示する(ステップS941)。具体的にはビットライン電圧がプレート電圧に対して「+Vreset」となるように設定を行う。ドライバ160から供給されたプレート電圧によりメモリセルアレイ110のプレートがドライブされる。
制御部130は、ビットラインセレクタ150に対してリセット操作を行うべきセルパターンを与え、値「1」に対応するビットラインをビットライン電圧で、値「0」に対応するビットラインをプレート電圧でドライブするように指示を行う(ステップS942)。ビットラインセレクタ150は、制御部130からの指示に従って、ドライバ160から供給されたビットライン電圧あるいはプレート電圧を供給する。
ここで、ステップS942を1回目に実行する場合には、リセット操作を行うべきセルパターンとはステップS924において生成したリセットマスク「00000100」である。すなわち、BL_2のみがビットライン電圧でドライブされ、それ以外のビットライン(BL_7乃至BL_3、BL_1、BL_0)はプレート電圧でドライブされる。ステップS942を2回目以降に実行する際には、ステップS928において正常にリセット操作が行われなかったことが判明したビットのみを「1」としたリセットマスクが使用される。
制御部130は、ライトコマンドで指定されたワードライン番号(ここではWL_0)をワードラインデコーダ140に設定する(ステップS943)。ワードラインデコーダ140は、指定されたワードライン番号(ここではWL_0)に対応するワードライン(WL_0)を論理値「H」でドライブする。これによりWL_0に接続されたアクセストランジスタが導通状態となる。このとき、メモリセルアレイ110のプレート113はドライバ160から供給されたプレート電圧でドライブされており、BL_2はステップS942において行った設定によりビットライン電圧でドライブされている。これはリセット操作に必要な電圧バイアスであるため、WL_0とBL_2の交点に接続された可変抵抗素子に対してリセット操作が行われる。一方、BL_7乃至BL_3、BL_1およびBL_0は、ステップS942において行った設定によりプレート電圧でドライブされているため、アクセストランジスタが導通状態となっても可変抵抗素子の両端に電位差が生じず、ビット反転操作は行われない。
制御部130は、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消し、ドライバ160に対する電圧バイアスの発生の停止を指示する(ステップS944)。なお、リセット操作完了のタイミングは、制御部130などが内部に持つ時計で決定されることなどが考えられるが、ここでは詳細な説明を省略する。
制御部130は、図7におけるステップS912乃至S916の処理を行い、指定されたワードライン番号(ここではWL_0)に対応するビットに現在記録されている値を読み出す(ステップS948)。制御部130は、ビットラインセレクタ150にアクセスし、メモリセルアレイ110から読み出したデータを取得する(ステップS949)。
図11は、本技術の実施の形態における2つのリード操作(ステップS830)の処理手順の一例を示す流れ図である。以下では、コマンドキュー131に置かれた2つのリードコマンドのブロックをともにブロック101とし、一方のワードライン番号をWL_3、他方のワードライン番号をWL_6とする。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS912と同様に、ドライバ160に対してリード操作における電圧バイアスの発生を指示する(ステップS832)。具体的には、ビットライン電圧がプレート電圧に対して「+Vread」となるように設定を行う。ドライバ160から供給されたプレー電圧によりメモリセルアレイ110のプレートがドライブされる。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS913と同様に、ビットラインセレクタ150に対して全てのビットラインをビット電圧でドライブするように指示を行う(ステップS833)。ビットラインセレクタ150は制御部130からの指示に従い、全てのビットラインに対してドライバ160から供給されたビットライン電圧を供給する。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS914と同様に、1番目のリードコマンドで指定されたワードライン番号(ここではWL_3)をワードラインデコーダ140に設定する。そして、ビットラインセレクタ150に対して読み出し動作の開始を指示する(ステップS834)。ワードラインデコーダ140は指定されたワードライン番号(ここではWL_0)に対応するワードライン(WL_0)を論理値「H」でドライブする。これにより、WL_0に接続されたアクセストランジスタが導通状態となり、ドライバ160で発生したリード操作における電圧バイアスが可変抵抗素子に印可される。そのため、それぞれの素子の高抵抗状態あるいは低抵抗状態に応じた電流がビットラインを通じてビットラインセレクタ150に流入する。ビットラインセレクタ150は、流入した電流量を測定することにより、それぞれの可変抵抗素子に対応する論理「0」あるいは「1」を決定する。これにより指定されたワードライン番号(WL_3)に接続された可変抵抗素子の論理状態が、ビットラインセレクタ150により読み出される。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS914と同様に、2番目のリードコマンドで指定されたワードライン番号(ここではWL_6)をワードラインデコーダ140に設定する。そして、ビットラインセレクタ150に対して読み出し動作の開始を指示する(ステップS835)。ワードラインデコーダ140は指定されたワードライン番号(ここではWL_0)に対応するワードライン(WL_0)を論理値「H」でドライブする。これにより、WL_0に接続されたアクセストランジスタが導通状態となり、ドライバ160で発生したリード操作における電圧バイアスが可変抵抗素子に印可される。そのため、それぞれの素子の高抵抗状態あるいは低抵抗状態に応じた電流がビットラインを通じてビットラインセレクタ150に流入する。ビットラインセレクタ150は、流入した電流量を測定することにより、それぞれの可変抵抗素子に対応する論理「0」あるいは「1」を決定する。これにより指定されたワードライン番号(WL_6)に接続された可変抵抗素子の論理状態が、ビットラインセレクタ150により読み出される。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS916と同様に、動作停止を指示する(ステップS836)。すなわち、ビットラインセレクタ150に対する読出し動作の停止を指示し、ワードラインデコーダ140に対するワードライン番号の設定を取り消す。そして、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消し、ドライバ160に対する電圧バイアスの発生の停止を指示する。
なお、それぞれの読出し完了のタイミングは、制御部130などが内部に持つ時計で決定される場合や、ビットラインセレクタ150において十分な電流量が確保できたことを確認することで決定される場合など考えられるが、ここでは詳細な説明を省略する。また、2つのワードラインからの読み出しの途中(ステップS834とS835の間)で、ビットラインセレクタ150に対して読出し停止を指令してから再度読出し開始をする方がよい場合なども考えられる。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS917と同様に、ビットラインセレクタ150が読み出した、2つのコマンドに対応するデータを順次、制御インターフェース120に対して出力することを指示する(ステップS837)。
なお、図7を用いて説明したリードコマンドの流れ図との整合性を維持するために、ビットラインセレクタ150が2回分の読出しデータを保持することを前提に説明しているが、これは1回分にすることができる。例えば、データが読み出されるたび(具体的にはステップS834とS835のそれぞれの後)に制御インターフェース120に対して出力するようにすればビットラインセレクタ150が保持すべき読出しデータは1回分となる。
制御部130は、図7を用いて説明したリードコマンドの動作におけるS918と同様に、制御インターフェース120に指示して、2つのリードコマンドに対応して読み出したデータをメモリコントローラ200に通知する(ステップS838)。
図12は、本技術の実施の形態における2つのライト操作(ステップS840)の処理手順の一例を示す流れ図である。以下では、コマンドキュー131に置かれた2つのライトコマンドのブロックをともにブロック101とし、一方のワードライン番号をWL_3、他方のワードライン番号をWL_6とする。
制御部130は、ステップS832乃至S836において説明したものと同様の操作を行い、2つのライトコマンドで指定された2つのワードライン番号(ここではWL_3とWL_6)に対応するビットに現在記録されている値を読み出す(ステップS842)。この操作は、図8を用いて説明したライトコマンドにおいてステップS922に対応する。
制御部130は、図8を用いて説明したライトコマンドの動作におけるステップS923と同様に、ビットラインセレクタ150にアクセスする。これにより、メモリセルアレイ110から読み出した二つのライトコマンドのそれぞれに対応したデータを取得する(ステップS843)。
なお、図8を用いて説明したライトコマンドの流れ図との整合性を維持するために、ビットラインセレクタ150が2回分の読出しデータを保持することを前提に説明しているが、これは1回分とすることができる。例えば、データが読み出されるたびに制御部130に入力するようにすれば、ビットラインセレクタ150が保持すべき読出しデータは1回分となる。
制御部130は、図8を用いて説明したライトコマンドの動作におけるS924と同様に、メモリセルアレイ110から読み出したデータと、書き込みを行うデータとを比較する。そして、2つのライトコマンドそれぞれに対応した、セット操作を行うべきビットを示すセットマスク、および、リセット操作を行うべきビットを示すリセットマスクを決定する(ステップS844)。
制御部130は、2つのセット操作を行い(ステップS845)、正常にセットが行われるまで繰り返す(ステップS846)。この2つのセット操作(ステップS945)の実行処理手順については、図13を参照して後述する。ステップS846において、制御部130は読み出したデータとセット操作を行うべきビットパターンを比較して、正常にセット操作が行われたかどうかを確認する。なお、2回目以降のセット操作では、ステップS846において正常にセット操作が行われなかったことが判明したビットのみをセット操作対象とする。また、セット操作に続くリード操作によりセット操作のリトライを行う回数の上限を定めるために、カウンタを設けて規定回数以上の失敗をエラーとするという手法が考えられるが、ここでは説明を省略する。
制御部130は、2つのリセット操作を行い(ステップS847)、正常にリセットが行われるまで繰り返す(ステップS848)。この2つのリセット操作(ステップS847)の実行処理手順については、図14を参照して後述する。ステップS848において、制御部130は読み出したデータとリセット操作を行うべきビットパターンを比較して、正常にリセット操作が行われたかどうかを確認する。なお、2回目以降のリセット操作では、ステップS848において正常にリセット操作が行われなかったことが判明したビットのみをリセット操作対象とする。また、リセット操作に続くリード操作によりリセット操作のリトライを行う回数の上限を定めるために、カウンタを設けて規定回数以上の失敗をエラーとするという手法が考えられるが、ここでは説明を省略する。
これらの処理が完了すると、制御部130は制御インターフェース120に指示し、ライトコマンドの終了をメモリコントローラ200に通知する(ステップS849)。
図13は、本技術の実施の形態における2つのセット操作(ステップS845)の処理手順の一例を示す流れ図である。
制御部130は、図9を用いて説明したセット操作の動作におけるステップS931と同様に、ドライバ160に対してセット操作における電圧バイアスの発生を指示する(ステップS851)。具体的にはプレート電圧がビットライン電圧に対して「+Vset」となるように設定を行う。ドライバ160から供給されたプレート電圧によりメモリセルアレイ110のプレートがドライブされる。
制御部130は、図9を用いて説明したセット操作の動作におけるステップS932と同様に、ビットラインセレクタ150に対して、1番目のライトコマンドに対応するセット操作を行うべきビットパターンを与える。そして、値「1」に対応するビットラインをビットライン電圧で、値「0」に対応するビットラインをプレート電圧でドライブするように指示を行う(ステップS852)。ビットラインセレクタ150は制御部130からの指示に従い、ドライバ160から供給されたビットライン電圧あるいはプレート電圧を供給する。
制御部130は、図9を用いて説明したセット操作の動作におけるステップS933と同様に、1番目のライトコマンドで指定されたワードライン番号(ここではWL_3)をワードラインデコーダ140に設定する(ステップS853)。これにより1番目のライトコマンドに対応するセット操作が行われる。
制御部130は、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消す(ステップS854)。なお、セット操作完了のタイミングは、制御部130などが内部に持つ時計で決定されること等が考えられるが、ここでは詳細な説明を省略する。
制御部130は、図9を用いて説明したセット操作の動作におけるステップS932と同様に、ビットラインセレクタ150に対して、2番目のライトコマンドに対応するセット操作を行うべきビットパターンを与える。そして、値「1」に対応するビットラインをビットライン電圧で、値「0」に対応するビットラインをプレート電圧でドライブするように指示を行う(ステップS855)。ビットラインセレクタ150は制御部130からの指示に従い、ドライバ160から供給されたビットライン電圧あるいはプレート電圧を供給する。
制御部130は、図9を用いて説明したセット操作の動作におけるステップS933と同様に、2番目のライトコマンドで指定されたワードライン番号(ここではWL_6)をワードラインデコーダ140に設定する(ステップS856)。これにより2番目のライトコマンドに対応するセット操作が行われる。
制御部130は、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消す(ステップS857)。さらに、ドライバ160に対する電圧バイアスの発生の停止を指示する。なお、セット操作完了のタイミングは、制御部130などが内部に持つ時計で決定されること等が考えられるが、ここでは詳細な説明を省略する。
制御部130は、図9を用いて説明したセット操作の動作におけるステップS938と同様に、指定されたワードライン番号(ここではWL_3とWL_6)に対応するビットに現在記録されている値を読み出す(ステップS858)。制御部130は、図9を用いて説明したセット操作の動作におけるステップS939と同様に、ビットラインセレクタ150にアクセスし、メモリセルアレイ110から読み出したデータを取得する(ステップS859)。
なお、ステップS846において正常にセットされていないと判断された場合、2回目以降のセット操作では、正常にセット操作が行われなかったことが判明したビットのみを、セット操作対象とする。このため、ステップS852およびS853に示した1番目のライトコマンドに対応するセット操作、または、ステップS855およびS856に示した2番目のライトコマンドに対応するセット操作の何れかをスキップすることが考えられる。
図14は、本技術の実施の形態における2つのリセット操作(ステップS847)の処理手順の一例を示す流れ図である。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS941と同様に、ドライバ160に対してリセット操作における電圧バイアスの発生を指示する(ステップS861)。具体的には、ビットライン電圧がプレート電圧に対して「+Vreset」となるように設定を行う。ドライバ160から供給されたプレート電圧によりメモリセルアレイ110のプレート113がドライブされる。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS942と同様に、ビットラインセレクタ150に対して1番目のライトコマンドに対応するリセット操作を行うべきセルパターンを与える。そして、値「1」に対応するビットラインをビットライン電圧で、値「0」に対応するビットラインをプレート電圧でドライブするように指示を行う(ステップS862)。ビットラインセレクタ150は、制御部130からの指示に従って、ドライバ160から供給されたビットライン電圧またはプレート電圧を供給する。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS943と同様に、1番目のライトコマンドで指定されたワードライン番号(ここではWL_3)をワードラインデコーダ140に設定する(ステップS863)。これにより、1番目のライトコマンドに対応するリセット操作が行われる。
制御部130は、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消す(ステップS864)。なお、リセット操作完了のタイミングは、制御部130などが内部に持つ時計で決定されることなどが考えられるが、ここでは詳細な説明を省略する。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS942と同様に、ビットラインセレクタ150に対して2番目のライトコマンドに対応するリセット操作を行うべきセルパターンを与える。そして、値「1」に対応するビットラインをビットライン電圧で、値「0」に対応するビットラインをプレート電圧でドライブするように指示を行う(ステップS865)。ビットラインセレクタ150は、制御部130からの指示に従って、ドライバ160から供給されたビットライン電圧またはプレート電圧を供給する。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS943と同様に、2番目のライトコマンドで指定されたワードライン番号(ここではWL_6)をワードラインデコーダ140に設定する(ステップS866)。これにより、2番目のライトコマンドに対応するリセット操作が行われる。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS944と同様に、動作停止指示を行う(ステップS867)。すなわち、ワードラインデコーダ140に対するワードライン番号の設定を取り消し、ビットラインセレクタ150に対するビットラインのドライブ指示を取り消し、ドライバ160に対する電圧バイアスの発生の停止を指示する。なお、リセット操作完了のタイミングは、制御部130などが内部に持つ時計で決定されることなどが考えられるが、ここでは詳細な説明を省略する。
制御部130は、図10を用いて説明したリセット操作の動作におけるステップS948と同様に、指定されたワードライン番号(ここではWL_3およびWL_6)に対応するビットに現在記録されている値を読み出す(ステップS868)。制御部130は、図10を用いて説明したリセット操作の動作におけるステップS949と同様に、ビットラインセレクタ150にアクセスし、メモリセルアレイ110から読み出したデータを取得する(ステップS869)。
なお、ステップS948において正常にリセットされていないと判断された場合、2回目以降のリセット操作では、正常にリセット操作が行われなかったことが判明したビットのみをリセット操作対象とする。このため、ステップS862およびS863に示した1番目のライトコマンドに対応するリセット操作、または、ステップS865およびS866に示した2番目のライトコマンドに対応するリセット操作の何れかをスキップすることが考えられる。
図15は、本技術の実施の形態における1つのリード操作と1つのライト操作(ステップS870)の処理手順の一例を示す流れ図である。以下では、コマンドキュー131に置かれた1つのリードコマンドと1つのライトコマンドのブロックをともにブロック101とし、リードコマンドのワードライン番号をWL_3、ライトコマンドのワードライン番号をWL_6とする。
制御部130は、ステップS832乃至S836と同様の操作を行い、リードコマンドおよびライトコマンドで指定された2つのワードライン番号(ここではWL_3とWL_6)に対応するビットに現在記録されている値を読み出す(ステップS872)。このステップS872における動作は、図11において説明した2つのリード操作(ステップS830)と同様である。すなわち、例えば、ステップS834においてリードコマンドのためのリード操作を行い、ステップS835においてライトコマンドのためのリード操作を行う。これにより、リードコマンドおよびライトコマンドにおける、リード操作の電圧バイアスの印加をまとめて行うことができる。
制御部130は、図8を用いて説明したライトコマンドの動作におけるステップS923と同様に、ビットラインセレクタ150にアクセスする。これにより、メモリセルアレイ110から読み出したリードコマンドおよびライトコマンドのそれぞれに対応したデータを取得する(ステップS873)。リードコマンドのための処理はここで完了し、以降はライトコマンドのための処理が行われる。
制御部130は、図8を用いて説明したライトコマンドの動作におけるS924と同様に、メモリセルアレイ110から読み出したデータと、書き込みを行うデータとを比較する。そして、ライトコマンドに対応した、セット操作を行うべきビットを示すセットマスク、および、リセット操作を行うべきビットを示すリセットマスクを決定する(ステップS874)。
制御部130は、セット操作を行い(ステップS875)、正常にセットが行われるまで繰り返す(ステップS876)。このセット操作(ステップS875)の実行処理手順は、図9により説明した手順(ステップS925)と同様である。ステップS876において、制御部130は読み出したデータとセット操作を行うべきビットパターンを比較して、正常にセット操作が行われたかどうかを確認する。なお、2回目以降のセット操作では、ステップS876において正常にセット操作が行われなかったことが判明したビットのみをセット操作対象とする。また、セット操作に続くリード操作によりセット操作のリトライを行う回数の上限を定めるために、カウンタを設けて規定回数以上の失敗をエラーとするという手法が考えられるが、ここでは説明を省略する。
制御部130は、リセット操作を行い(ステップS877)、正常にリセットが行われるまで繰り返す(ステップS878)。このリセット操作(ステップS877)の実行処理手順は、図10により説明した手順(ステップS927)と同様である。ステップS878において、制御部130は読み出したデータとリセット操作を行うべきビットパターンを比較して、正常にリセット操作が行われたかどうかを確認する。なお、2回目以降のリセット操作では、ステップS878において正常にリセット操作が行われなかったことが判明したビットのみをリセット操作対象とする。また、リセット操作に続くリード操作によりリセット操作のリトライを行う回数の上限を定めるために、カウンタを設けて規定回数以上の失敗をエラーとするという手法が考えられるが、ここでは説明を省略する。
これらの処理が完了すると、制御部130は制御インターフェース120に指示し、リードコマンドに対応して読み出したデータ、および、ライトコマンドの終了をメモリコントローラ200に通知する(ステップS879)。なお、リードコマンドに対応して読み出したデータを、ステップS873においてメモリコントローラ200に通知するようにしてもよい。
このように、本技術の第1の実施の形態では、抵抗変化型メモリにおいて、プレートを共通にする同一ブロックにおける異なるワードに対する複数のコマンドの処理における操作のうち、ドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行する。すなわち、2つのリードコマンドを実行する際には、2つのリード操作をまとめて連続して実行する。2つのライトコマンドを実行する際には、プレリードのための2つのリード操作、2つのセット操作、検証のための2つのリード操作、2つのリセット操作、および、検証のための2つのリード操作をそれぞれまとめて連続して実行する。1つのリードコマンドおよび1つのライトコマンドを実行する際には、リードコマンドのリード操作と、ライトコマンドのプレリードのためのリード操作とをまとめて連続して実行する。これにより、ドライブ電圧の変化に伴う充放電の発生を抑制して、消費電力を低減することができる。
[変形例]
上述の第1の実施の形態では、同一ブロックにおける異なるワードに対する2つのコマンドが、リードコマンドとライトコマンドの組合せであった場合、両者におけるリード操作をまとめて実行するように構成していた。これに対し、両者を順次実行するようにしてもよい。
図16は、本技術の第1の実施の形態の変形例におけるメモリ100の処理手順の一例を示す流れ図である。この変形例では、同一ブロックにおける異なるワードに対する2つのコマンドが、リードコマンドとライトコマンドの組合せであった場合(ステップS818:No)、両者を順次実行する(ステップS823)。これは、2つのコマンドが同一ブロックにおける同一ワードに対するものであった場合と同様の取り扱いをしたものである。このような取り扱いをすることにより、リード操作をまとめることによる効果は得られなくなる。ただし、異なる種別のコマンドをまとめるという煩雑さをなくすことができ、制御の簡素化および高速化を図ることができる。
<2.第2の実施の形態>
上述の第1の実施の形態では、セット操作およびリセット操作を1つのコマンドにおいて実行するライトコマンドを想定したが、セット操作およびリセット操作は個別のコマンドにおいて実行してもよい。この第2の実施の形態では、ライトコマンドに代えて、リセット操作を行わずにセット操作のみを行う消去コマンドと、セット操作を行わずにリセット操作のみを行うプログラムコマンドとを想定して説明する。なお、ここでは、ライトコマンドに代えて消去コマンドおよびプログラムコマンドを備えることを想定するが、ライトコマンドを併せて利用するようにしてもよい。また、情報処理システムとしての全体構成やメモリ100の構成は上述の第1の実施の形態と同様であるため、以下では説明を省略する。
図17は、本技術の第2の実施の形態におけるメモリ100の処理手順の一例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ300からの指示により、リードコマンド、消去コマンド、プログラムコマンド、または、これらの組合せから構成されたコマンド群を構成し、メモリ100の制御インターフェース120に対して書き込む。消去コマンドは、論理値「1」のビットをセット操作により論理値「0」に遷移させるコマンドである。プログラムコマンドは、論理値「0」のビットをリセット操作により論理値「1」に遷移させるコマンドである。
この第2の実施の形態では、第1の実施の形態における図6のステップS817およびS818に代えて、2つのコマンドの組合せを判断するステップS819を実行する。このステップS819以前の処理手順は第1の実施の形態と同様である。
ステップS819では、同一ブロックの異なるワードに対してアクセスする2つのコマンドの組合せが判断される。2つのコマンドが2つのリードコマンドであれば、ステップS830が実行される。このステップS830は、第1の実施の形態における図11の処理手順と同様である。2つのコマンドが2つの消去コマンドであれば、ステップS710が実行される。2つのコマンドが2つのプログラムコマンドであれば、ステップS720が実行される。2つのコマンドがリードコマンドと消去コマンドであれば、ステップS730が実行される。2つのコマンドがリードコマンドとプログラムコマンドであれば、ステップS740が実行される。2つのコマンドが消去コマンドとプログラムコマンドであれば、ステップS750が実行される。これら何れかが実行された後、ステップS811に戻って動作が繰り返される。
図18は、本技術の第2の実施の形態における1つの消去コマンドの処理手順の一例を示す流れ図である。この消去コマンドの処理は、図17のステップS821、S822またはS823において、第1の実施の形態において説明したライトコマンドに代えて実行される。この消去コマンドの処理は、第1の実施の形態における図8のライトコマンドの処理からリセット操作(ステップS927およびS928)を除いたものと同様である。ステップS955のセット操作の処理手順は、第1の実施の形態における図9と同様である。
図19は、本技術の第2の実施の形態における1つのプログラムコマンドの処理手順の一例を示す流れ図である。このプログラムコマンドの処理は、図17のステップS821、S822またはS823において、第1の実施の形態において説明したライトコマンドに代えて実行される。このプログラムコマンドの処理は、第1の実施の形態における図8のライトコマンドの処理からセット操作(ステップS925およびS926)を除いたものと同様である。ステップS967のリセット操作の処理手順は、第1の実施の形態における図10と同様である。
図20は、本技術の第2の実施の形態における2つの消去操作(ステップS710)の処理手順の一例を示す流れ図である。この2つの消去操作の処理は、図17のステップS710において実行される。この2つの消去操作の処理は、第1の実施の形態における図12の2つのライト操作の処理から2つのリセット操作(ステップS847およびS848)を除いたものと同様である。ステップS715の2つのセット操作の処理手順は、第1の実施の形態における図13と同様である。
図21は、本技術の第2の実施の形態における2つのプログラム操作(ステップS720)の処理手順の一例を示す流れ図である。この2つのプログラム操作の処理は、図17のステップS720において実行される。この2つのプログラム操作の処理は、第1の実施の形態における図12の2つのライト操作の処理から2つのセット操作(ステップS845およびS846)を除いたものと同様である。ステップS727の2つのリセット操作の処理手順は、第1の実施の形態における図14と同様である。
図22は、本技術の第2の実施の形態における1つのリード操作と1つの消去操作(ステップS730)の処理手順の一例を示す流れ図である。この1つのリード操作と1つの消去操作の処理は、図17のステップS730において実行される。この1つのリード操作と1つの消去操作の処理は、第1の実施の形態における図15の1つのリード操作と1つのライト操作の処理からリセット操作(ステップS877およびS878)を除いたものと同様である。ステップS735のセット操作の処理手順は、第1の実施の形態における図9と同様である。
図23は、本技術の第2の実施の形態における1つのリード操作と1つのプログラム操作(ステップS740)の処理手順の一例を示す流れ図である。この1つのリード操作と1つのプログラム操作の処理は、図17のステップS740において実行される。この1つのリード操作と1つのプログラム操作の処理は、第1の実施の形態における図15の1つのリード操作と1つのライト操作の処理からセット操作(ステップS875およびS876)を除いたものと同様である。ステップS747のリセット操作の処理手順は、第1の実施の形態における図10と同様である。
図24は、本技術の第2の実施の形態における1つの消去操作と1つのプログラム操作(ステップS750)の処理手順の一例を示す流れ図である。この1つの消去操作と1つのプログラム操作の処理は、図17のステップS750において実行される。この1つの消去操作と1つのプログラム操作の処理は、第1の実施の形態における図15の1つのリード操作と1つのライト操作の処理に準じたものとなる。すなわち、消去操作のためのセット操作をステップS755で実行し、プログラム操作のためのリセット操作をステップS757で実行する。ステップS755のセット操作の処理手順は、第1の実施の形態における図9と同様である。ステップS757のリセット操作の処理手順は、第1の実施の形態における図10と同様である。
このように、本技術の第2の実施の形態では、消去コマンドおよびプログラムコマンドを想定して、ドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行する。すなわち、2つの消去コマンドを実行する際には、プレリードのための2つのリード操作、2つのセット操作、および、検証のための2つのリード操作をそれぞれまとめて連続して実行する。2つのプログラムコマンドを実行する際には、プレリードのための2つのリード操作、2つのリセット操作、および、検証のための2つのリード操作をそれぞれまとめて連続して実行する。1つのリードコマンドおよび1つの消去コマンドを実行する際には、リードコマンドのリード操作と、消去コマンドのプレリードのためのリード操作とをまとめて連続して実行する。1つのリードコマンドおよび1つのプログラムコマンドを実行する際には、リードコマンドのリード操作と、プログラムコマンドのプレリードのためのリード操作とをまとめて連続して実行する。1つの消去コマンドおよび1つのプログラムコマンドを実行する際には、プレリードのための2つのリード操作をまとめて連続して実行する。これにより、ドライブ電圧の変化に伴う充放電の発生を抑制して、消費電力を低減することができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
なお、本技術は以下のような構成もとることができる。
(1)コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、メモリセルアレイのプレートを共通にする同一ブロックにおける異なるワードに対するものであるか否かを判定するコマンドデコーダと、
前記複数のコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記複数のコマンドの処理における操作のうち前記プレートとビットラインとの間のドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理部と
を具備する記憶制御装置。
(2)前記コマンドデコーダは、前記複数のコマンドが2つのリードコマンドであるか否かをさらに判定し、
前記コマンド処理部は、前記2つのリードコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのリードコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(3)前記コマンドデコーダは、前記複数のコマンドが2つのライトコマンドであるか否かをさらに判定し、
前記コマンド処理部は、前記2つのライトコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのライトコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてセットドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてリセットドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(4)前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つのライトコマンドの組合せであるか否かをさらに判定し、
前記コマンド処理部は、前記リードコマンドおよび前記ライトコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記ライトコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(5)前記コマンドデコーダは、前記複数のコマンドが2つの消去コマンドであるか否かをさらに判定し、
前記コマンド処理部は、前記2つの消去コマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つの消去コマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてセットドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(6)前記コマンドデコーダは、前記複数のコマンドが2つのプログラムコマンドであるか否かをさらに判定し、
前記コマンド処理部は、前記2つのプログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのプログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてリセットドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(7)前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つの消去コマンドの組合せであるか否かをさらに判定し、
前記コマンド処理部は、前記リードコマンドおよび前記消去コマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記消去コマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(8)前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つのプログラムコマンドの組合せであるか否かをさらに判定し、
前記コマンド処理部は、前記リードコマンドおよび前記プログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記プログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(9)前記コマンドデコーダは、前記複数のコマンドが1つの消去コマンドおよび1つのプログラムコマンドの組合せであるか否かをさらに判定し、
前記コマンド処理部は、前記消去コマンドおよび前記プログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記消去コマンドおよび前記プログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
前記(1)に記載の記憶制御装置。
(10)プレートを共通にするブロック毎に分割されたメモリセルアレイと、
前記プレートとビットラインとの間のドライブ電圧を供給するドライバと、
コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであるか否かを判定するコマンドデコーダと、
前記複数のコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記複数のコマンドの処理における操作のうち前記ドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理部と
を具備する記憶装置。
(11)前記メモリセルアレイは抵抗変化型メモリである前記(10)に記載の記憶装置。
(12)コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、メモリセルアレイのプレートを共通にする同一ブロックにおける異なるワードに対するものであるか否かを判定する判定手順と、
前記複数のコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記複数のコマンドの処理における操作のうち前記プレートとビットラインとの間のドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理手順と
を具備する記憶制御方法。
100 メモリ
101 ブロック
110 メモリセルアレイ
111 可変抵抗素子
112 FET
113 プレート
120 制御インターフェース
130 制御部
131 コマンドキュー
132 コマンドデコーダ
133 コマンド処理部
140 ワードラインデコーダ
150 ビットラインセレクタ
160 ドライバ
200 メモリコントローラ
300 ホストコンピュータ

Claims (12)

  1. コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、メモリセルアレイのプレートを共通にする同一ブロックにおける異なるワードに対するものであるか否かを判定するコマンドデコーダと、
    前記複数のコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記複数のコマンドの処理における操作のうち前記プレートとビットラインとの間のドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理部と
    を具備する記憶制御装置。
  2. 前記コマンドデコーダは、前記複数のコマンドが2つのリードコマンドであるか否かをさらに判定し、
    前記コマンド処理部は、前記2つのリードコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのリードコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  3. 前記コマンドデコーダは、前記複数のコマンドが2つのライトコマンドであるか否かをさらに判定し、
    前記コマンド処理部は、前記2つのライトコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのライトコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてセットドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてリセットドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  4. 前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つのライトコマンドの組合せであるか否かをさらに判定し、
    前記コマンド処理部は、前記リードコマンドおよび前記ライトコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記ライトコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  5. 前記コマンドデコーダは、前記複数のコマンドが2つの消去コマンドであるか否かをさらに判定し、
    前記コマンド処理部は、前記2つの消去コマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つの消去コマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてセットドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  6. 前記コマンドデコーダは、前記複数のコマンドが2つのプログラムコマンドであるか否かをさらに判定し、
    前記コマンド処理部は、前記2つのプログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記2つのプログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行し、前記ドライブ電圧としてリセットドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  7. 前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つの消去コマンドの組合せであるか否かをさらに判定し、
    前記コマンド処理部は、前記リードコマンドおよび前記消去コマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記消去コマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  8. 前記コマンドデコーダは、前記複数のコマンドが1つのリードコマンドおよび1つのプログラムコマンドの組合せであるか否かをさらに判定し、
    前記コマンド処理部は、前記リードコマンドおよび前記プログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記リードコマンドおよび前記プログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  9. 前記コマンドデコーダは、前記複数のコマンドが1つの消去コマンドおよび1つのプログラムコマンドの組合せであるか否かをさらに判定し、
    前記コマンド処理部は、前記消去コマンドおよび前記プログラムコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記消去コマンドおよび前記プログラムコマンドの処理における操作のうち前記ドライブ電圧としてリードドライブ電圧を印加する操作同士をまとめて連続して実行する
    請求項1記載の記憶制御装置。
  10. プレートを共通にするブロック毎に分割されたメモリセルアレイと、
    前記プレートとビットラインとの間のドライブ電圧を供給するドライバと、
    コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであるか否かを判定するコマンドデコーダと、
    前記複数のコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記複数のコマンドの処理における操作のうち前記ドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理部と
    を具備する記憶装置。
  11. 前記メモリセルアレイは抵抗変化型メモリである請求項10記載の記憶装置。
  12. コマンド列に含まれる複数のコマンドのアクセス対象アドレスが、メモリセルアレイのプレートを共通にする同一ブロックにおける異なるワードに対するものであるか否かを判定する判定手順と、
    前記複数のコマンドのアクセス対象アドレスが前記メモリセルアレイの同一ブロックにおける異なるワードに対するものであると判定された場合には、前記複数のコマンドの処理における操作のうち前記プレートとビットラインとの間のドライブ電圧として等しい電圧を印加する操作同士をまとめて連続して実行するコマンド処理手順と
    を具備する記憶制御方法。
JP2012099330A 2012-04-25 2012-04-25 記憶制御装置、記憶装置、および、それらにおける処理方法 Expired - Fee Related JP5853843B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012099330A JP5853843B2 (ja) 2012-04-25 2012-04-25 記憶制御装置、記憶装置、および、それらにおける処理方法
US13/855,155 US9202563B2 (en) 2012-04-25 2013-04-02 Storage controlling apparatus, storage apparatus and processing method
CN201310146885.1A CN103377693B (zh) 2012-04-25 2013-04-25 存储控制装置、存储装置和处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012099330A JP5853843B2 (ja) 2012-04-25 2012-04-25 記憶制御装置、記憶装置、および、それらにおける処理方法

Publications (2)

Publication Number Publication Date
JP2013229072A JP2013229072A (ja) 2013-11-07
JP5853843B2 true JP5853843B2 (ja) 2016-02-09

Family

ID=49462706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012099330A Expired - Fee Related JP5853843B2 (ja) 2012-04-25 2012-04-25 記憶制御装置、記憶装置、および、それらにおける処理方法

Country Status (3)

Country Link
US (1) US9202563B2 (ja)
JP (1) JP5853843B2 (ja)
CN (1) CN103377693B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150046974A (ko) * 2013-10-23 2015-05-04 에스케이하이닉스 주식회사 저항성 메모리 장치 및 동작 방법과 이를 포함하는 시스템
US9384830B2 (en) 2014-05-06 2016-07-05 Micron Technology, Inc. Apparatuses and methods for performing multiple memory operations
CN108111162B (zh) * 2017-12-17 2020-12-08 华中科技大学 一种运算电路及操作方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4187197B2 (ja) * 2002-11-07 2008-11-26 シャープ株式会社 半導体メモリ装置の制御方法
US20050007858A1 (en) * 2003-07-10 2005-01-13 Smith Kenneth K. Method and system for reducing power when writing information to MRAM
JP4529493B2 (ja) * 2004-03-12 2010-08-25 株式会社日立製作所 半導体装置
DE112004002928T5 (de) * 2004-07-29 2007-08-09 Spansion LLC, Santa Clara Verfahren zum Steuern der Initialisierung eines nicht-flüchtigen Speicherbauelements und nicht-flüchtiges Speicherbauelement
JP4427464B2 (ja) * 2005-02-02 2010-03-10 シャープ株式会社 不揮発性半導体記憶装置及びその動作方法
JP5018074B2 (ja) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
JP5474313B2 (ja) * 2008-04-25 2014-04-16 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置及びその制御方法
JP5287197B2 (ja) 2008-12-09 2013-09-11 ソニー株式会社 半導体装置
JP5333311B2 (ja) * 2010-03-26 2013-11-06 ソニー株式会社 不揮発性記憶装置

Also Published As

Publication number Publication date
JP2013229072A (ja) 2013-11-07
CN103377693B (zh) 2017-09-08
CN103377693A (zh) 2013-10-30
US20130290620A1 (en) 2013-10-31
US9202563B2 (en) 2015-12-01

Similar Documents

Publication Publication Date Title
JP5929790B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US10303617B2 (en) Storage device supporting byte accessible interface and block accessible interface and electronic system including the same
JP6447629B2 (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
JP5090819B2 (ja) メモリーカード及び該データ格納方法
KR102016543B1 (ko) 반도체 장치, 프로세서, 시스템 및 반도체 장치의 동작 방법
CN103403805A (zh) 半导体存储装置及其控制方法
KR102114875B1 (ko) 반도체 장치, 프로세서, 시스템 및 반도체 장치를 포함하는 테스트 시스템
KR20170096072A (ko) 전자 장치
CN112513988A (zh) 伪异步多平面独立读取
KR20140126139A (ko) 반도체 장치 및 그를 포함하는 마이크로프로세서, 프로세서, 시스템, 데이터 저장 시스템 및 메모리 시스템
KR20140107952A (ko) 반도체 장치, 프로세서 및 시스템
US9455017B2 (en) Storage control device, storage device, information processing system, and storage control method
US20210208815A1 (en) Storage device and operating method thereof
JP5853843B2 (ja) 記憶制御装置、記憶装置、および、それらにおける処理方法
KR20150021376A (ko) 전자 장치
JP2013205872A (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP2014022004A (ja) 記憶制御装置、記憶装置、および、それらにおける処理方法
WO2016035451A1 (ja) 記憶制御装置、記憶装置、および、記憶制御方法
JP4382131B2 (ja) 半導体ディスク装置
JP2010026584A (ja) メモリコントローラおよび不揮発性記憶装置
JP2014013635A (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP7031672B2 (ja) メモリコントローラ、メモリシステムおよび情報処理システム
WO2016056290A1 (ja) メモリコントローラ、メモリシステム、記憶装置、情報処理システムおよび記憶制御方法
US11645008B2 (en) Memory system and operating method thereof for controlling a multi-plane read operation
JP4158934B2 (ja) 半導体記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151123

R151 Written notification of patent or utility model registration

Ref document number: 5853843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees