JP5892000B2 - 記憶制御装置、不揮発性メモリ、および、メモリ制御方法 - Google Patents

記憶制御装置、不揮発性メモリ、および、メモリ制御方法 Download PDF

Info

Publication number
JP5892000B2
JP5892000B2 JP2012184742A JP2012184742A JP5892000B2 JP 5892000 B2 JP5892000 B2 JP 5892000B2 JP 2012184742 A JP2012184742 A JP 2012184742A JP 2012184742 A JP2012184742 A JP 2012184742A JP 5892000 B2 JP5892000 B2 JP 5892000B2
Authority
JP
Japan
Prior art keywords
memory
write
data
retry
write data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012184742A
Other languages
English (en)
Other versions
JP2014041683A (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 JP2012184742A priority Critical patent/JP5892000B2/ja
Priority to US13/945,987 priority patent/US9280455B2/en
Priority to CN201310359855.9A priority patent/CN103632732B/zh
Publication of JP2014041683A publication Critical patent/JP2014041683A/ja
Application granted granted Critical
Publication of JP5892000B2 publication Critical patent/JP5892000B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/0064Verifying 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0073Write using bi-directional cell biasing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/78Array wherein the memory cells of a group share an access device, all the memory cells of the group having a common electrode and the access device being not part of a word line or a bit line driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Description

本技術は、記憶制御装置、不揮発性メモリ、および、メモリ制御方法に関する。詳しくは、書換えに成功したか否かを検証する記憶制御装置、不揮発性メモリ、および、メモリ制御方法に関する。
近年の情報処理システムにおいては、補助記憶装置やストレージとして、不揮発性メモリ(NVM:Non-Volatile memory)が用いられることがある。この不揮発性メモリは、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM:Non-Volatile RAM)とに大別される。ここで、フラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。
一方、不揮発性ランダムアクセスメモリの例としては、ReRAMなどが挙げられる。このほか、PCRAM(Phase-Change RAM)、MRAM(Magnetoresistive RAM)なども知られている。特に、ReRAMは、ナノ秒(ns)オーダーの短い持続時間のパルスで書換えが可能である。そのため、ReRAMは、高速動作が可能な不揮発性メモリとして注目を浴びている。
これらの不揮発性メモリの書換え処理においては、一般に、メモリセルに対してデータを書き換えるライト処理が実行され、次いで、書換え時にエラーが生じたか否かを検証するベリファイ処理が実行される。そして、エラーが生じていれば、再度の書換えを行うリトライ処理が実行される。このライト処理やリトライ処理において同時に書き換えるビット数を多くするほど、書換えに必要な電流が増大する。例えばNOR(否定論理和)型フラッシュメモリでは1ビットあたりの書換え電流が100マイクロアンペア(μA)程度である。このため、同時に8ビットを書き換える場合には、約800μAの電流が必要となる。また、ライト処理やリトライ処理の実行時間は、同時に書き換えるビット数に応じた時間である。例えば、同時に8ビットを書き換える場合の書換え速度が1マイクロ秒(μs)程度である場合、256ビットのライト処理およびリトライ処理のそれぞれに、約8μsを要する。
書換え時に供給可能な電流の大きさは、主として電流経路が許容する電流と電源の容量とにより制限される。そこで、配線の接続を工夫して電圧ドロップが小さい電流経路を確保することにより、供給可能な電流を増大させた不揮発性メモリが提案されている(例えば、非特許文献1参照。)。
K.Aratani, et.al"A Novel Resistance Memory with High Scalability and Nanosecond Switching", Technical Digest IEDM 2007, pp783-786.
しかしながら、上述の従来技術では、不揮発性メモリの書換え処理のスループットを向上させることができないおそれがある。電流経路において許容される電流を大きくしても、電源の容量を増大しない限りは、供給可能な電流の大きさは制限される。したがって、電源の容量により制限されるビット数以上に一度に書き換えるビット数を大きくすることができず、スループットを向上させることができないという問題がある。
本技術はこのような状況に鑑みて生み出されたものであり、不揮発性メモリの書換え処理のスループットを向上させることを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御部と、上記指定されたメモリブロックにライトデータを書き込むライト処理部と、上記ライトデータが書き込まれた上記メモリブロックからリードデータを読み出して当該リードデータが上記ライトデータと一致するか否かを上記複数のメモリセルの各々において検証する検証部と、上記ライトデータを再度書き込むリトライ処理の実行を上記複数のメモリセルのうち上記リードデータが上記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止部と、上記ライトデータの全てが書き込まれた上記複数のメモリセルのいずれかにおいて上記リードデータと上記ライトデータとが一致しない場合には複数の上記メモリブロックにおいて少なくとも一部のメモリブロックを指定して上記リトライ処理を同時に実行させるリトライ制御部とを具備する記憶制御装置、および、その制御方法である。これにより、複数のメモリセルのいずれかにおいてリードデータがライトデータと一致しない場合には複数のメモリブロックにおいて少なくとも一部のメモリブロックを指定してリトライ処理が同時に実行される。
また、この第1の側面において、上記ベリファイ部は、上記リードデータが上記ライトデータと一致するか否かを検証するとともに上記リードデータが上記ライトデータと一致しない上記メモリセルの数を失敗ビット数として計数し、上記リトライ制御部は、上記失敗ビット数が1より多く、かつ、当該失敗ビット数が所定の閾値未満である場合には複数の上記メモリブロックにおいて少なくとも一部のメモリブロックを指定して上記リトライ処理を同時に実行させてもよい。これにより、失敗ビット数が1より多く、かつ、当該失敗ビット数が所定の閾値未満である場合には複数のメモリブロックにおいて少なくとも一部のメモリブロックを指定してリトライ処理が同時に実行されるという作用をもたらす。
また、この第1の側面において、上記リトライ制御部は、上記失敗ビット数が上記所定の閾値未満でない場合には上記複数のメモリセルを上記メモリブロックごとに順に指定して上記リトライ処理を実行させてもよい。これにより、失敗ビット数が所定の閾値未満でない場合には前数のメモリセルを上記メモリブロックごとに順に指定してリトライ処理が実行されるという作用をもたらす。
また、この第1の側面において、上記所定の閾値は、上記ライト処理部が同時に上記ライトデータを書き込むことが許容されるメモリセルの個数を超えない値であってもよい。これにより、所定の閾値が、上記ライト処理部が同時に上記ライトデータを書き込むことが許容されるメモリセルの個数を超えないという作用をもたらす。
また、この第1の側面において、上記ライト処理部は、上記指定されたメモリブロック内のメモリセルの各々に上記ライトデータを供給することにより上記ライトデータを書込み、上記リトライ抑止部は、上記リードデータが上記ライトデータと一致したメモリセルへの上記データの供給を遮断することにより上記リトライ処理の実行を抑止してもよい。これにより、リードデータがライトデータと一致したメモリセルへのデータの供給を遮断することによりリトライ処理が抑止されるという作用をもたらす。
また、この第1の側面において、上記リトライ制御部は、上記ライトデータの全てが書き込まれた上記複数のメモリセルのいずれかにおいて上記リードデータと上記ライトデータとが一致しない場合には複数の上記メモリブロックの全てを指定して上記リトライ処理を同時に実行させてもよい。これにより、複数のメモリセルのいずれかにおいてリードデータがライトデータと一致しない場合には複数のメモリブロックの全てを指定してリトライ処理が同時に実行される。
また、本技術の第2の側面は、複数のメモリセルと、上記複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御部と、上記指定されたメモリブロックにライトデータを書き込むライト処理部と、上記ライトデータが書き込まれた上記メモリブロックからリードデータを読み出して当該リードデータが上記ライトデータと一致するか否かを上記複数のメモリセルの各々において検証する検証部と、上記ライトデータを再度書き込むリトライ処理の実行を上記複数のメモリセルのうち上記リードデータが上記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止部と、上記ライトデータの全てが書き込まれた上記複数のメモリセルのいずれかにおいて上記リードデータと上記ライトデータとが一致しない場合には複数の上記メモリブロックにおいて少なくとも一部のメモリブロックを指定して上記リトライ処理を同時に実行させるリトライ制御部とを具備する不揮発性メモリである。これにより、複数のメモリセルのいずれかにおいてリードデータがライトデータと一致しない場合には複数のメモリブロックにおいて少なくとも一部のメモリブロックを指定してリトライ処理が同時に実行される。
本技術によれば、不揮発性メモリの書換え処理のスループットが向上するという優れた効果を奏し得る。
第1の実施の形態におけるメモリシステムの一構成例を示すブロック図である。 第1の実施の形態における不揮発性メモリの一構成例を示すブロック図である。 第1の実施の形態におけるメモリセルアレイの一構成例を示すブロック図である。 第1の実施の形態におけるメモリブロックの一構成例を示す回路図である。 第1の実施の形態におけるカラムドライバの一構成例を示すブロック図である。 第1の実施の形態におけるリトライ抑止部の一構成例を示すブロック図である。 第1の実施の形態における検証部の一構成例を示すブロック図である。 第1の実施の形態におけるライトドライバユニットの一構成例を示すブロック図である。 第1の実施の形態におけるライトドライバブロックの一構成例を示すブロック図である。 第1の実施の形態における不揮発性メモリの機能構成例を示すブロック図である。 第1の実施の形態におけるリセット時にメモリセルに印加される電圧の一例を示す図である。 第1の実施の形態におけるセット時にメモリセルに印加される電圧の一例を示す図である。 第1の実施の形態におけるライト処理の一例を示すフローチャートである。 第1の実施の形態におけるリセット処理の一例を示すフローチャートである。 第1の実施の形態におけるセット処理の一例を示すフローチャートである。 第1の実施の形態におけるリセット時の不揮発性メモリの動作の一例を示すタイミングチャートである。 第1の実施の形態におけるセット時の不揮発性メモリの動作の一例を示すタイミングチャートである。 第1の実施の形態の変形例におけるリセット時の不揮発性メモリの動作の一例を示すタイミングチャートである。 第2の実施の形態におけるカラムドライバの一構成例を示すブロック図である。 第2の実施の形態における検証部の一構成例を示すブロック図である。 第2の実施の形態におけるリセット処理の一例を示すフローチャートである。 第2の実施の形態におけるセット処理の一例を示すフローチャートである。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(全メモリブロックで同時にリトライ処理を実行する例)
2.第2の実施の形態(失敗ビット数が閾値未満であれば全メモリブロックで同時にリトライ処理を実行する例)
<1.第1の実施の形態>
[メモリシステムの構成例]
図1は、実施の形態におけるメモリシステムの一構成例を示すブロック図である。このメモリシステムは、ホストコンピュータ100、メモリコントローラ150および不揮発性メモリ200を備える。
ホストコンピュータ100は、メモリシステム全体を制御するものである。具体的には、ホストコンピュータ100は、コマンド、論理アドレス、および、データを生成してメモリコントローラ150に信号線109を介して供給する。また、ホストコンピュータ100は、メモリコントローラ150からデータおよびステータスを受け取る。ここで、コマンドは、メモリシステムを制御するためのものであり、例えば、データのライト処理を指示するライトコマンドと、データのリード処理を指示するリードコマンドとを含む。論理アドレスはホストコンピュータ100が定義したアドレス空間におけるアドレスである。データは、不揮発性メモリ200に書き込まれるライトデータ、または、不揮発性メモリ200から読み出されたリードデータである。ステータスは、コマンドの実行結果やメモリシステムの状況を通知する情報である。
メモリコントローラ150は、不揮発性メモリ200を制御するものである。このメモリコントローラ150は、ホストコンピュータ100から受け取った論理アドレスを物理アドレスに変換して不揮発性メモリ200に信号線156を介して供給する。物理アドレスは、不揮発性メモリ200においてメモリセルに割り当てられたアドレスである。
また、メモリコントローラ150は、信号線157を介して不揮発性メモリ200からステータスを受け取り、必要に応じてステータスを更新してホストコンピュータ100に供給する。
また、メモリコントローラ150は、ホストコンピュータ100から受け取ったコマンドを解析して不揮発性メモリ200に信号線158を介して供給する。さらに、メモリコントローラ150は、ホストコンピュータ100から受け取ったライトデータについてエラー訂正コード(ECC:Error Correcting Code)を生成する。そして、メモリコントローラ150は、そのECCを付加したライトデータを不揮発性メモリ200に信号線159を介して供給する。また、メモリコントローラ150は、不揮発性メモリ200から信号線159を介してECCが付加されたリードデータを受け取り、そのECCに基づいてリードデータにおけるエラーの検出および訂正を行ってホストコンピュータ100に供給する。
不揮発性メモリ200は、メモリコントローラ150の制御に従って、データを記憶するものである。この不揮発性メモリ200は、メモリコントローラ150からコマンド、アドレス、および、データを受け取る。不揮発性メモリ200はコマンドがライトコマンドである場合には、指定されたアドレスにデータを書き込み、リードコマンドである場合には、指定されたアドレスからリードデータを読み出す。そして、不揮発性メモリ200は、ステータスを生成してメモリコントローラ150に供給する。また、不揮発性メモリ200は、リードデータを読み出した場合には、そのリードデータをメモリコントローラ150に供給する。
[不揮発性メモリの構成例]
図2は、第1の実施の形態における不揮発性メモリ200の一構成例を示すブロック図である。この不揮発性メモリ200は、メモリ制御部400およびメモリセルアレイ260を備える。メモリ制御部400は、書換制御部210、アドレス回路220、データ入出力回路230、ロウドライバ240、プレートドライバ250、ロウデコーダ270、カラムデコーダ280およびカラムドライバ300を備える。なお、メモリ制御部400は、特許請求の範囲に記載の記憶制御装置の一例である。
書換制御部210は、メモリコントローラ150からコマンドを受け取り、そのコマンドに従って、データ入出力回路230、ロウドライバ240、プレートドライバ250、およびカラムドライバ300を制御するものである。コマンドがリードコマンドである場合には、書換制御部210は、プレートドライバ250、ロウドライバ240およびカラムドライバ300にリードデータの読出しを指示する制御信号を供給する。そして、書換制御部210は、カラムドライバ300からリードデータの読出しが正常に終了したか否かの通知を受け取る。リードデータの読出しが正常に終了した場合には、書換制御部210は、リードデータをメモリコントローラ150に出力するように指示する制御信号をデータ入出力回路230に供給する。
一方、コマンドがライトコマンドである場合には、書換制御部210は、プレートドライバ250、ロウドライバ240およびカラムドライバ300にリセットを指示する制御信号を供給する。また、書換制御部210は、カラムドライバ300にイネーブル信号を供給する。イネーブル信号については後述する。
ここで、リセットは、「0」のビットが書き込まれているメモリセルにおいて、そのビットを「1」に書き換える処理である。なお、リセットは、「プログラム」とも呼ばれる。
そして、書換制御部210は、カラムドライバ300からリセット時の検証結果を受け取る。ここで、リセット時の検証結果は、リセットにおいて、リセット対象のメモリセルの全てが「1」に書き換えられたか否かをカラムドライバ300が検証した結果である。
リセット対象のメモリセルのいずれかが「1」に書き換えられなかった場合には、書換制御部210は、再度のリセットを指示する制御信号をロウドライバ240、プレートドライバ250、およびカラムドライバ300に供給する。一方、リセット対象のメモリセルの全てが「1」に書き換えられた場合には、書換制御部210は、プレートドライバ250、ロウドライバ240およびカラムドライバ300にセットを指示する制御信号を供給する。
ここで、セットは、「1」のビットが書き込まれているメモリセルにおいて、そのビットを「0」に書き換える処理である。なお、セットは、「消去」とも呼ばれる。
そして、書換制御部210は、カラムドライバ300からセット時の検証結果を受け取る。ここで、セット時の検証結果は、セットにおいて、セット対象のメモリセルの全てが「0」に書き換えられたか否かをカラムドライバ300が検証した結果である。
セット対象のメモリセルのいずれかが「0」に書き換えられなかった場合には、書換制御部210は、セットを指示する制御信号を再度、ロウドライバ240、プレートドライバ250、およびカラムドライバ300に供給する。一方、セット対象のメモリセルの全てが「1」に書き換えられた場合には、書換制御部210は、ライトデータの書込みが正常に終了したと判断して、保持していたライトデータを削除するように指示する制御信号をデータ入出力回路230に供給する。なお、書換制御部210は、リセット、セットの順で指示しているが、セット、リセットの順で指示してもよい。
また、書換制御部210は、コマンドの実行結果を記載したステータスを生成してメモリコントローラ150に供給する。
アドレス回路220は、メモリコントローラ150から受け取ったアドレスをロウアドレスとカラムアドレスとに分離するものである。ロウアドレスは、メモリセルアレイ260におけるアクセス先の行を指定するものである。また、カラムアドレスは、メモリセルアレイ260におけるアクセス先の列を指定するものである。
データ入出力回路230は、書換制御部210の制御に従ってライトデータまたはリードデータを保持するものである。データ入出力回路230は、カラムドライバ300からリードデータを受け取り、そのリードデータを保持する。そして、書換制御部210によりリードデータの出力が指示されると、データ入出力回路230は、リードデータをメモリコントローラ150に出力して、そのリードデータを削除する。また、データ入出力回路230は、メモリコントローラ150からライトデータを受け取り、そのライトデータを保持する。そして、書換制御部210の制御に従って、保持していたライトデータを削除する。
プレートドライバ250は、書換制御部210の制御に従って、プレート電圧を印加するものである。プレート電圧は、メモリセルアレイ260内のプレート線PLに印加される電圧であり、メモリセルアレイ260にカラムドライバ300がアクセスするために印加される。メモリセルアレイ260におけるプレート線PLの配置については後述する。プレートドライバ250は、リセットとセットとのそれぞれにおいて、異なるプレート電圧を印加する。例えば、リセットにおいては、プレートドライバ250は、ビット線BLの電圧よりも低いプレート電圧を供給し、セットにおいては、ビット線BLの電圧よりも高いプレート電圧を供給する。ビット線BLは、メモリセルアレイ260において、列方向に沿って配置された信号線である。
ロウデコーダ270は、アドレス回路220から受け取ったロウアドレスを解析して、そのロウアドレスに対応するワード線WLを選択するものである。ワード線WLは、メモリセルアレイ260において、行方向に沿って配置された信号線である。
ロウドライバ240は、書換制御部210の制御に従ってワード線WLに電圧を印加するものである。リード、セットおよびリセットのいずれかが指示されると、ロウドライバ240は、ロウデコーダ270により選択されたワード線WLに一定時間の間、ハイレベルの電圧を印加し、選択されていないワード線WLにローレベルの電圧を印加する。
このワード線WLに印加する書込み電圧としての波高値を持つ信号は、書込みパルスとも呼ばれる。ロウドライバ240は、書き込みパルスの印加タイミングと持続時間、及び印加電圧を制御する。なお、書き込みパルスによるセル駆動力は書き込みごとに同じとしてもよいが、可変としてもよい。また、セル駆動力の制御手法は、メモリセルの種類によって適、不適がある。例えば、メモリセルが抵抗変化型の場合、書き込みパルスによるセル駆動力を可変とする方法としては、印加電圧を制御する方法と、パルスの持続時間を一定としてパルス数を制御する方法と、パルスの持続時間を制御する方法とがある。ロウドライバ240は、これらを組み合わせて制御する方法を採用してもよい。
カラムデコーダ280は、アドレス回路220から受け取ったカラムアドレスを解析して、そのカラムアドレスに対応するビット線BLを選択するものである。
カラムドライバ300は、書換制御部210の制御に従ってビット線BLに電圧を印加するものである。書換制御部210によりリードが指示されると、カラムドライバ300は、カラムデコーダ280により選択されたビット線BLにハイレベルの電圧を印加し、選択されていないワード線WLにローレベルの電圧を印加する。この選択されたビット線BLの接続先のメモリセルが、アクセス先のメモリセルである。そして、カラムドライバ300は、アクセス先のメモリセルからデータを読み出し、そのデータをリードデータとしてデータ入出力回路230に信号線239を介して供給する。
書換制御部210によりリセットが指示されると、カラムドライバ300は、アクセス先のメモリセルからデータをプレリードデータとして読み出す。カラムドライバ300は、データ入出力回路230からライトデータを読み出し、そのライトデータとプレリードデータとをビット単位で比較する。カラムドライバ300は、ライトデータにおいて「1」であり、かつ、プレリードデータにおいて「0」のビットに対応するメモリセルをリセット対象とする。カラムドライバ300は、ビット線BLを介してリセット対象のメモリセルをリセットする。リセット後において、カラムドライバ300は、リセット対象のメモリセルの全てがリセットされたか否かを検証し、その検証結果を書換制御部210に供給する。
書換制御部210によりセットが指示されると、カラムドライバ300は、ライトデータとプレリードデータとをビット単位で比較する。カラムドライバ300は、ライトデータにおいて「0」であり、かつ、プレリードデータにおいて「1」のビットに対応するメモリセルをセット対象とする。カラムドライバ300は、ビット線BLを介してセット対象のメモリセルをセットする。セット後において、カラムドライバ300は、セット対象のメモリセルの全てがセットされたか否かを検証し、その検証結果を書換制御部210に供給する。
メモリセルアレイ260は、マトリックス状に配列された複数のメモリセルを備える。各々のメモリセルとして、例えば、可変抵抗素子を用いるReRAMが用いられる。なお、ReRAM以外の不揮発性の記憶素子をメモリセルとして用いてもよい。例えば、FG(Floating Gate)型やMONOS(metal-oxide-nitride-oxide-silicon)型のNANDフラッシュメモリセルを使用してもよい。
[メモリセルアレイの構成例]
図3は、第1の実施の形態におけるメモリセルアレイ260の一構成例を示すブロック図である。このメモリセルアレイ260は、複数のメモリブロック261を備える。メモリブロック261は、データの書込み単位でメモリセルアレイ260を分割した各領域である。この書込み単位は、データの書換えにおいて、メモリ制御部400がメモリセルアレイ260に供給することができる電流の大きさにより決定される。一度に、最大で18ビットを書き換える電流をメモリ制御部400が供給可能である場合には、書換え単位は18ビット以下(例えば、16ビット)とされる。
例えば、マトリックス状に配列されたメモリセルの行数が16、列数が256であり、書込み単位が16ビットである場合、256列を16分割することにより、メモリブロック#1乃至#16が設けられる。分割した結果、メモリブロック#1乃至#16のそれぞれには、16行、16列のメモリセルが配列される。それらのメモリセルには、プレート線PL、ワード線WL、および、ビット線BLがそれぞれ接続される。メモリブロック#1乃至#16のそれぞれのメモリセルの行数および列数は16であるから、メモリブロック#1乃至#16のそれぞれには、16本のワード線WLと16本のビット線BLとが設けられる。なお、ブロック分割は仮想的なものであり、カラムドライバ300にとって単にメモリセルのアドレスが異なるに過ぎない。このため、ブロック分割は、カラムドライバ300に入力されるアドレスに応じて、例示した以外の態様(ブロックの大きさや数)に変更可能である。
[メモリブロックの構成例]
図4は、第1の実施の形態におけるメモリブロック261の一構成例を示す回路図である。このメモリブロック261は、16行、16列に配列された16×16個のメモリセル262を備える。メモリセル262のそれぞれは、アクセストランジスタ263および可変セル抵抗264を備える。
アクセストランジスタ263は、カラムドライバ300によるメモリセル262へのアクセスを制御するためのトランジスタである。このアクセストランジスタ263は、半導体基板に形成され、ソース電極およびドレイン電極を構成する2つの不純物領域を有する。これらの不純物領域の基板領域上にゲート絶縁膜を介在させてポリシリコン等からなるゲート電極が形成される。ゲート電極はワード線WLに接続され、ソース電極およびドレイン電極のうちの一方がビット線BLに接続され、他方が可変セル抵抗264に接続される。ロウアドレスに対応するワード線WLにハイレベルの電圧が印加されると、そのワード線に接続されたアクセストランジスタ263がオン状態となる。そして、カラムドライバ300は、オン状態のアクセストランジスタ263を介して、可変セル抵抗264にアクセスすることができる。
可変セル抵抗264は、プレート線PLとビット線BLとにそれぞれ印加される電圧により抵抗値を変化させる抵抗である。この可変セル抵抗264は、下部電極と上部電極と、それらの電極間に挟まれた絶縁膜および導体膜とを備える。下部電極は、アクセストランジスタ263に接続され、上部電極はプレート線PLに接続される。
絶縁体膜の材料としては、例えば、SiN、SiOおよびGd等の絶縁体が挙げられる。導体膜の材料としては、例えば、Cu、AgおよびAlの中からから選ばれる一つ以上の金属元素を含有する金属膜、合金膜(例えばCuTe合金膜)、金属化合物膜等が挙げられる。なお、イオン化しやすい性質を有するならば、Cu、AgおよびAl以外の金属元素を用いてもよい。導体膜は、「導電性イオンの供給層」として形成されている。
例えば、ビット線BLの電圧よりプレート線PLの電圧を一定電圧以上高くすると、可変セル抵抗264の導体膜に含まれるCu、AgおよびAlが、イオン化して陰極側に引き寄せられる性質を持つようになる。そして、これら金属の導電性イオンが絶縁体膜に注入される。このため、絶縁体膜の絶縁性が低下し、その低下とともに導電性を持つようになる。このように抵抗値が低い状態を、例えば、「1」の値を保持する状態とする。
一方、プレート線PLよりビット線BLの電圧を一定電圧以上高くすると、絶縁体膜に注入されていた導電性イオンが導体膜に戻され、抵抗値が高い状態となる。このように抵抗値が高い状態を、例えば「0」の値を保持する状態とする。なお、抵抗値が低い状態を「0」の値を保持する状態とし、抵抗値が高い状態を「1」の値を保持する状態と定義してもよい。
[カラムドライバの構成例]
図5は、第1の実施の形態におけるカラムドライバ300の一構成例を示すブロック図である。このカラムドライバ300は、リトライ抑止部310、センスアンプユニット320、ドライバ制御部330、検証部340、および、ライトドライバユニット350を備える。
センスアンプユニット320は、アクセス先のメモリセルに接続されたビット線BLの電圧を増幅するものである。このセンスアンプユニット320は、リトライ抑止部310を介してビット線BLの電圧を検出して増幅する。センスアンプユニット320は、増幅した電圧の示すデータをリードデータとしてドライバ制御部330および検証部340に信号線329を介して供給する。
センスアンプユニット320は、メモリブロックごとに少なくとも1つのセンスアンプを有する。例えば、センスアンプユニット320は、列ごとにセンスアンプを備える。なお、列ごとにセンスアンプを備えると、回路規模が大きくなるため、センスアンプユニット320は、メモリブロックごとに1つのセンスアンプを備える構成としてもよい。この場合、センスアンプの接続先のビット線を切り替えるスイッチをカラムドライバ300内に設け、ドライバ制御部330などが、そのスイッチを制御する構成とする。
ドライバ制御部330は、ライトドライバユニット350を制御してメモリセルをセットまたはリセットさせるものである。このドライバ制御部330は、書換制御部210からリセットまたはセットを指示する制御信号とイネーブル信号EN_1乃至EN_16とを受け取る。このイネーブル信号EN_K(Kは、1乃至16の整数)は、メモリブロック#K内のメモリセルを一括してリセットまたはセットするタイミングを示す信号である。
制御信号によりセットが指示されると、ドライバ制御部330は、センスアンプユニット320を介してメモリセルからリードデータをプレリードデータとして読み出し、データ入出力回路230からライトデータを読み出して、これらをビット単位で比較する。ドライバ制御部330は、比較結果からリセットマスクデータRM[1]乃至[256]を生成してライトドライバユニット350に供給する。リセットマスクデータは、ライトデータにおいてリセットされ、かつ、プレリードデータにおいてセットされているビットについてはリセットする旨を示し、それ以外のビットについてはマスクする旨を示す。例えば、リセットマスクデータには、リセット対象のビットである場合に「0」が設定され、そうでない場合に「1」が設定される。
また、イネーブル信号EN_1乃至EN_16により全てのメモリブロックがリセットされると、ドライバ制御部330は、プレリードデータにおいてセットされているビットに対応するビットをライトデータにおいてセットする。ドライバ制御部330は、このライトデータをライトデータWD[1]乃至[256]として検証部340に信号線338を介して供給する。
一方、セットが指示されると、ドライバ制御部330はプレリードデータおよびライトデータをビット単位で比較する。ドライバ制御部330は、比較結果からセットマスクデータSM[1]乃至[256]を生成してライトドライバユニットに供給する。セットマスクデータは、ライトデータにおいてセットされ、かつ、プレリードデータにおいてリセットされているビットについてはセットする旨を示し、それ以外のビットについてはマスクする旨を示す。例えば、セットマスクデータには、セット対象のビットである場合に「1」が設定され、そうでない場合に「0」が設定される。図5において、マスクデータM[1]乃至[256]は、リセットマスクデータRM[1]乃至[256]およびセットマスクデータSM[1]乃至[256]を含む。
また、全てのメモリブロックがセットされると、ドライバ制御部330は、データ入出力回路230から取得したライトデータWD[1]乃至[256]を検証部340に信号線338を介して供給する。
ライトドライバユニット350は、書換制御部210およびドライバ制御部330の制御に従って、メモリセルをセットまたはリセットするものである。このライトドライバユニット350は、リセットまたはセットを指示する制御信号とイネーブル信号EN_1乃至EN_16とを書換制御部210から受け取る。
制御信号によりリセットが指示されると、イネーブル信号EN_1乃至EN_16のそれぞれは、順に、一定期間の間、ローレベルに設定される。ライトドライバユニット350は、イネーブル信号EN_Kがローレベルに設定されたときに、メモリブロック#K内の全てのメモリセルをリセットする。これにより、メモリブロック#1乃至#16が順にリセットされる。
一方、制御信号によりセットが指示されると、イネーブル信号EN_1乃至EN_16のそれぞれは、順に、一定期間の間、ハイレベルに設定される。ライトドライバユニット350は、イネーブル信号EN_Kがハイレベルに設定されたときに、メモリブロック#K内の全てのメモリセルをセットする。これにより、メモリブロック#1乃至#16が順にセットされる。
このように、メモリブロックの単位で順にリセットまたはセットが行われるのは、メモリ制御部400が一度に供給することができる電流に制限があるためである。
ただし、制御信号により再度リセットが指示されると、イネーブル信号EN_1乃至EN_16は同時にローレベルに設定される。これにより、ライトドライバユニット350は、メモリブロック#1乃至#16において所定数のブロックを一括してリセットする。
また、制御信号により再度セットが指示されると、イネーブル信号EN_1乃至EN_16は同時にハイレベルに設定される。これにより、ライトドライバユニット350は、メモリブロック#1乃至#16において所定数のブロックを一括してセットする。再度のリセットまたはセットの処理を以下、「リトライ処理」と称する。ここで、再度のセットおよびリセットにおいてライトドライバユニット350が一括して指定するメモリブロックの個数は、メモリ制御部400が一度に供給可能な電流により制限されるが、全てのメモリブロックを一括して指定することが望ましい。全てのメモリブロックを指定すると、一部のメモリブロックを指定する場合よりスループットが向上するためである。以下、ライトドライバユニット350は、全てのメモリブロックを一括して指定するものとする。
このように、メモリブロックに対して一括してリトライ処理を行うことにより、順にリトライ処理を行う場合よりも、リトライ処理の時間が短くなり、スループットが向上する。ここで、再度のセットまたはリセットにおいて、メモリブロックが一括してリトライ処理を行っても、一度に書き換えることが許容されるビット数より大きなビット数がリセットまたはセットされる可能性は低い。この理由については後述する。
なお、ライトドライバユニット350は、特許請求の範囲に記載のライト処理部の一例である。
検証部340は、リセット対象のメモリセルの全てがリセットされたか否かを検証し、セット対象のメモリセルの全てがセットされたか否かを検証するものである。この検証部340は、ドライバ制御部330からライトデータを受け取ると、センスアンプユニット320を介してアクセス先のメモリセルからデータをベリファイリードデータとして読み出す。検証部340は、ライトデータとベリファイリードデータとをビット単位で比較する。検証部340は、ビットごとに比較した結果から検証結果VFP[1]乃至[256]を生成してリトライ抑止部310に供給する。例えば、ライトデータおよびベリファイリードデータにおいてkビット目が一致した場合に検証結果VFP[k]に「1」の値が設定され、一致しなかった場合に「0」が設定される。ここで、kは、1乃至256の整数である。
また、検証部340は、ライトデータおよびベリファイリードデータの全てのビットが一致したか否かを示す信号を検証結果VFPALLとして生成し、書換制御部210に供給する。例えば、全てのビットが一致した場合に検証結果VFPALLに「1」の値が設定され、いずれかのビットが一致しなかった場合に「0」が設定される。
リトライ抑止部310は、ライトデータおよびベリファイリードデータが一致したメモリセル、すなわちセットまたはリセットが成功したメモリセルにおいて、再度のセットまたはリセットを抑止するものである。このリトライ抑止部310の構成の詳細については後述する。
このように、リセットが成功したメモリセルにおいて再度のリセットが抑止され、また、リセットが失敗する確率は低いため、再度のリセットが指示された場合に、実際にリセットされるビット数は少ない。例えば、リセットに失敗する確率を仮に5パーセント程度とすると、256ビットをリセットした場合、12または13ビットがリセットに失敗し、再度リセットされる。再度リセットされるビット数が少ないため、再度のリセットにおいてメモリブロックを一括してリセットしても、一度に書き換えることが許容されるビット数(例えば、「18」)より大きなビット数がリセットされる可能性は低い。セットについても同様である。
[リトライ抑止部の構成例]
図6は、第1の実施の形態におけるリトライ抑止部310の一構成例を示すブロック図である。リトライ抑止部310は、ビット線BLごとに、抑止制御トランジスタ311を備える。
抑止制御トランジスタ311は、セットまたはリセットが成功したメモリセルにおけるリトライ処理を抑止するものである。例えば、pMOSトランジスタが、抑止制御トランジスタ311として用いられる。抑止制御トランジスタ311は、ビット線BL[k]に挿入され、ゲート電極には、検証結果VFP[k]が入力される。検証結果VFP[k]の値が「0」である場合には、抑止制御トランジスタ311はオン状態となり、ライトドライバユニット350は、ビット線BL[k]を介してのセットまたはリセットを行うことができる。一方、検証結果VFP[k]の値が「1」である場合、すなわち書換えに成功した場合には、抑止制御トランジスタ311はオフ状態となり、ビット線BL[k]を介してライトドライバユニット350からのデータの供給が遮断される。これにより、リトライ処理が抑止される。
[検証部の構成例]
図7は、第1の実施の形態における検証部340の一構成例を示すブロック図である。この検証部340は、メモリセルアレイ260の列数(例えば、256)と同じ数のNOR(排他的論理和)ゲート341と、1つのAND(論理積)ゲート342とを備える。
NORゲート341は、入力された値の排他的論理和を出力するものである。このNORゲート341は2つの入力端子を備え、それらのうちの一方には、データ入出力回路230からのリードデータRD[k]が入力され、他方にはドライバ制御部330からのライトデータWD[k]が入力される。NORゲート341は、これらの入力値の排他的論理和を検証結果VFP[k]としてリトライ抑止部310とANDゲート342とに供給する。
ANDゲート342は、入力された値の論理積を出力するものである。このANDゲート342には、VFP[1]乃至[256]が入力される。ANDゲート342は、これらの入力値の論理積を検証結果VFPALLとして書換制御部210に供給する。
[ライトドライバユニットの構成例]
図8は、第1の実施の形態におけるライトドライバユニット350の一構成例を示すブロック図である。このライトドライバブロック351は、メモリセルの列数と同数のライトドライバを有する。これらのライトドライバは、データの書込み単位で複数のライトドライバブロック351に分割される。例えば、メモリセルの列数、すなわちライトドライバの個数が256個であり、データの書込み単位が16ビットである場合、これらのライトドライバは、ライトドライバブロック#1乃至#16に分割される。
それぞれのライトドライバブロック351は、16ビットのマスクデータ(リセットマスクデータまたはセットマスクデータ)が入力され、16本のビット線BLが接続される。また、ライトドライバブロック#Kには、イネーブル信号EN_Kが入力される。
[ライトドライバブロックの構成例]
図9は、第1の実施の形態におけるライトドライバブロック351の一構成例を示すブロック図である。このライトドライバブロック351は、データの書込み単位のビット数(例えば、「16」)と同数のライトドライバ352を備える。
ライトドライバ352は、マスクデータおよびイネーブル信号に従って、メモリセルをリセットまたはセットするものである。このライトドライバ352は、書換制御トランジスタ353、354、355、および、356を備える。
書換制御トランジスタ353は、イネーブル信号に従って、ビット線BLにメモリセルをリセットするための電流を供給するものである。書換制御トランジスタ356は、イネーブル信号に従って、ビット線BLにメモリセルをセットするための電流を供給するものである。また、書換制御トランジスタ354は、マスクデータに従って、ビット線BLにメモリセルをリセットするための電流を供給するものである。書換制御トランジスタ355は、マスクデータに従って、ビット線BLにメモリセルをセットするための電流を供給するものである。
例えば、pMOSトランジスタが書換制御トランジスタ353および354として用いられ、nMOSトランジスタが書換制御トランジスタ355および356として用いられる。
書換制御トランジスタ353のソース電極には、ライト電圧Vwが印加され、ドレイン電極は書換制御トランジスタ354に接続され、ゲート電極にはイネーブル信号が入力される。書換制御トランジスタ354のソース電極は書換制御トランジスタ353に接続され、ドレイン電極は書換制御トランジスタ355に接続され、ゲート電極にはマスクデータが入力される。
また、書換制御トランジスタ355のソース電極は書換制御トランジスタ354に接続され、ドレイン電極は書換制御トランジスタ356に接続され、ゲート電極にはマスクデータが入力される。書換制御トランジスタ356のソース電極は書換制御トランジスタ355にされ、ドレイン電極には基準電圧Vssが印加され、ゲート電極にはイネーブル信号が入力される。ここで、ライト電圧Vwは、基準電圧Vssより大きな電圧である。
この構成により、イネーブル信号およびマスクデータがローレベルである場合には、書換制御トランジスタ353および354がオンとなる。これにより、ビット線BLにライト電圧Vwが印加され、そのビット線BLに接続されたメモリセルがリセットされる。一方、イネーブル信号およびマスクデータがハイレベルである場合には、書換制御トランジスタ355および356がオンとなる。これにより、ビット線BLに基準電圧Vssが印加され、そのビット線BLに接続されたメモリセルがセットされる。
[メモリ制御部の機能構成例]
図10は、第1の実施の形態における不揮発性メモリ200の機能構成例を示すブロック図である。不揮発性メモリ200は、データ入出力回路230、カラムドライバ300、書換制御部210、および、メモリセルアレイ260の機能を有する。また、書換制御部210は、ライト制御部211およびリトライ制御部212の機能を有する。カラムドライバ300は、リトライ抑止部310、ドライバ制御部330、検証部340およびライトドライバユニット350の機能を有する。
ライト制御部211は、メモリブロック#1乃至#16を順に指定して、ライトドライバユニット350にライトデータを書き込ませるものである。このライト制御部211は、メモリコントローラ150からコマンドを受け取る。コマンドがライトコマンドである場合には、ライト制御部211は、制御信号によりドライバ制御部330およびライトドライバユニット350にリセットを指示する。また、ライト制御部211は、イネーブル信号EN_1乃至EN_16により、メモリブロック#1乃至#16を順に指定する。
制御信号によりリセットが指示されると、ドライバ制御部330は、メモリセルアレイ260からプレリードデータを読み出し、データ入出力回路230からライトデータを読み出して、これらをビット単位で比較する。ドライバ制御部330は、ドライバ制御部330は、比較結果からリセットマスクデータRM[1]乃至[256]を生成してライトドライバユニット350に供給する。
また、イネーブル信号EN_1乃至EN_16により全てのメモリブロックがリセットされると、ドライバ制御部330は、プレリードデータにおいてセットされているビットに対応するビットをセットしたライトデータWD[1]乃至[256]を生成する。ドライバ制御部330は、このライトデータを検証部340に供給する。
制御信号によりセットが指示されると、ライトドライバユニット350は、イネーブル信号EN_1乃至EN_16に従って、メモリブロック#1乃至#16に順にアクセスして、リセットマスクデータの示すリセット対象のメモリセルをリセットする。
検証部340は、ドライバ制御部330からライトデータを受け取ると、メモリセルアレイ260からベリファイリードデータを読み出す。検証部340は、ライトデータとベリファイリードデータとをビット単位で比較する。検証部340は、ビットごとに比較した結果から検証結果VFP[1]乃至[256]を生成してリトライ抑止部310に供給する。
また、検証部340は、ライトデータおよびベリファイリードデータの全てのビットが一致したか否かを示す信号を検証結果VFPALLとして生成し、リトライ制御部212に供給する。
リトライ抑止部310は、リセットが成功したメモリセルにおいて、再度のリセットを抑止する。
リトライ制御部212は、ライトデータおよびベリファイリードデータのいずれかのビットが一致していない場合に、メモリブロック#1乃至#16を指定してリトライ処理を同時に実行させるものである。このリトライ制御部212は、ライトデータおよびベリファイリードデータのいずれかのビットが一致していない場合に、制御信号によりドライバ制御部330およびライトドライバユニット350にリセットを指示する。また、リトライ制御部212は、イネーブル信号EN_1乃至EN_16により、メモリブロック#1乃至#16を一括して指定する。
そして、ドライバ制御部330は、リセットマスクデータRM[1]乃至[256]をライトドライバユニット350に再度供給し、検証部340にWD[1]乃至[256]を再度供給する。
ライトドライバユニット350は、イネーブル信号EN_1乃至EN_16に従って、メモリブロック#1乃至#16を一括して再度リセットする。検証部340は、検証結果VFP[1]乃至[256]をリトライ抑止部310に供給し、検証結果VFPALLをリトライ制御部212に供給する。
そして、ライトデータおよびベリファイリードデータの全てのビットが一致した場合には、ライト制御部211は、制御信号によりセットを指示し、イネーブル信号EN_1乃至EN_16により、メモリブロック#1乃至#16を順に指定する。ドライバ制御部330、ライトドライバユニット350、検証部340、リトライ抑止部310、および、リトライ制御部212は、セット時と同じ要領で動作する。これにより、ライトデータがメモリセルアレイ260に書き込まれる。
このように、全メモリブロックに対して一括してリトライ処理を行うことにより、順にリトライ処理を行う場合よりも、リトライ処理の時間が短くなり、スループットが向上する。なお、リセットが成功したメモリセルにおいてリトライ抑止部310がリトライ処理を抑止するため、メモリブロックに対して一括してリトライ処理を実行しても、書込み単位より大きなビット数がリセットされる可能性は低い。
図11は、第1の実施の形態におけるリセット時にメモリセル262に印加される電圧の一例を示す図である。イネーブル信号EN_1およびリセットマスクデータRM[1]がローレベルである場合には、ライトドライバ#1において、書換制御トランジスタ353および354がオン状態となる。これにより、ライト電圧Vwがビット線BL[1]を介してメモリセル262に印加される。このライト電圧Vwは、プレート電圧Vppよりも一定電圧以上高い電圧であるため、ライトドライバ#1からメモリセル262へ電流が流れ、メモリセル262は、「1」に書き換えられてリセットされる。言い換えれば、イネーブル信号EN_1によりライトドライバブロック351全体に対してリセットが指示され、リセットマスクデータRM[1]によりリセット対象のビットが指示された場合に、そのビットがリセットされる。
一方、イネーブル信号EN_1またはリセットマスクデータRM[1]がハイレベルである場合には、ライトドライバ#1において、書換制御トランジスタ353または354がオフ状態となる。これにより、プレート電圧Vppよりも一定電圧以上高いライト電圧Vwが印加されず、ビット線BL[1]の接続先のメモリセル262は書き換えられない。
図12は、第1の実施の形態におけるセット時にメモリセル262に印加される電圧の一例を示す図である。イネーブル信号EN_1およびセットマスクデータSM[1]がハイレベルである場合には、ライトドライバ#1において、書換制御トランジスタ355および356がオン状態となる。これにより、基準電圧Vssがビット線BL[1]を介してメモリセル262に印加される。この基準電圧Vssは、プレート電圧Vppよりも一定電圧以上低い電圧であるため、メモリセル262からライトドライバ#1へ電流が流れ、メモリセル262は、「0」に書き換えられてセットされる。言い換えれば、イネーブル信号EN_1によりライトドライバブロック351全体に対してセットが指示され、セットマスクデータSM[1]によりセット対象のビットが指示された場合に、そのビットがセットされる。
一方、イネーブル信号EN_1またはセットマスクデータSM[1]がローレベルである場合には、ライトドライバ#1において、書換制御トランジスタ355または356がオフ状態となる。これにより、プレート電圧Vppよりも一定電圧以上低い基準電圧Vssが印加されず、ビット線BL[1]の接続先のメモリセル262は書き換えられない。
[不揮発性メモリの動作例]
図13は、第1の実施の形態におけるライト処理の一例を示すフローチャートである。この動作は、ライトコマンドが不揮発性メモリ200に入力されたときに開始する。不揮発性メモリ200は、ライトデータをメモリコントローラ150から取得して保持する(ステップS901)。不揮発性メモリ200は、ライトコマンドにより指定されたアドレスに書き込まれているデータをプレリードデータとして読み出す(ステップS902)。不揮発性メモリ200は、ライトデータとプレリードデータとをビット単位で比較する。
そして、不揮発性メモリ200は、比較結果からリセットマスクデータを生成する(ステップS903)。不揮発性メモリ200は、リセットマスクデータに基づいてリセット処理を実行する(ステップS910)。次いで、不揮発性メモリ200は、ライトデータとプレリードデータとの比較結果から、セットマスクデータを生成する(ステップS904)。不揮発性メモリ200は、セットマスクデータに基づいてセット処理を実行する(ステップS920)。ステップS920の後、不揮発性メモリ200は、ライト処理を終了する。
図14は、第1の実施の形態におけるリセット処理の一例を示すフローチャートである。不揮発性メモリ200は、イネーブル信号EN_1乃至EN_16のいずれかをローレベルにすることによりメモリブロック#1乃至#16のいずれかをリセットする(ステップS911)。不揮発性メモリ200は、16ブロックの全てをリセットしたか否かを判断する(ステップS912)。全てをリセットしていない場合には(ステップS912:No)、不揮発性メモリ200はステップS911に戻る。
全てのブロックをリセットした場合には(ステップS912:Yes)、不揮発性メモリ200は、メモリブロック#1乃至#16において、ライトデータとベリファイリードデータとをビット単位で比較する。不揮発性メモリ200は、比較結果から、書換えに成功したか否かをビットごとに検証する(ステップS913)。不揮発性メモリ200は、書換えに成功したビットの再度のリセットを抑止する(ステップS914)。
不揮発性メモリ200は、リセット対象の全ビットの書換えに成功したか否かを判断する(ステップS915)。リセット対象の全ビットの書換えに成功していなければ(ステップS915:No)、不揮発性メモリ200は、イネーブル信号EN_1乃至EN_16の全てをローレベルにする。これにより、メモリブロック#1乃至#16が一括して再度リセットされる(ステップS918)。ステップS918の後、不揮発性メモリ200は、ステップS913に戻る。
一方、リセット対象の全ビットの書換えに成功した場合には(ステップS915:Yes)、不揮発性メモリ200は、リセット処理を終了する。
図15は、第1の実施の形態におけるセット処理の一例を示すフローチャートである。不揮発性メモリ200は、イネーブル信号EN_1乃至EN_16のいずれかをハイレベルにすることによりメモリブロック#1乃至#16のいずれかをセットする(ステップS921)。不揮発性メモリ200は、16ブロックの全てをセットしたか否かを判断する(ステップS922)。全てセットしていない場合には(ステップS922:No)、不揮発性メモリ200はステップS921に戻る。
全てのブロックをセットした場合には(ステップS922:Yes)、不揮発性メモリ200は、メモリブロック#1乃至#16において、ライトデータとベリファイリードデータとをビット単位で比較する。不揮発性メモリ200は、比較結果から、書換えに成功したか否かをビットごとに検証する(ステップS923)。不揮発性メモリ200は、書換えに成功したビットの再度のセットを抑止する(ステップS924)。
不揮発性メモリ200は、セット対象の全ビットの書換えに成功したか否かを判断する(ステップS925)。セット対象の全ビットの書換えに成功していなければ(ステップS925:No)、不揮発性メモリ200は、イネーブル信号EN_1乃至EN_16の全てをハイレベルにする。これによりメモリブロック#1乃至#16が一括して再度セットされる(ステップS928)。ステップS928の後、不揮発性メモリ200は、ステップS923に戻る。
一方、セット対象の全ビットの書換えに成功した場合には(ステップS925:Yes)、不揮発性メモリ200は、セット処理を終了する。
図16は、第1の実施の形態におけるリセット時の不揮発性メモリ200の動作の一例を示すタイミングチャートである。不揮発性メモリ200における書換制御部210は、イネーブル信号EN_1乃至EN_16を順に一定期間ローレベルにする。これにより、メモリブロック#1乃至16が順にリセットされる。
不揮発性メモリ200におけるドライバ制御部330は、リセット対象のビットをローレベルにしたリセットマスクデータRM[1]乃至[256]を生成する。これにより、リセット対象のメモリセルがリセットされる。
全てのメモリブロックがリセットされると、不揮発性メモリ200における検証部340は、リセットが成功したか否かを全ビットについて検証し、リセットが成功したビットをハイレベルにした検証結果VFP[1]乃至[256]を生成する。これにより、リセットに成功したメモリセルに対する再度のリセットが抑止される。また、検証部340は、リセット対象の全てのビットのリセットに成功したか否かを示す検証結果VFPALLを生成する。
VFPALLがローレベル、すなわちリセット対象の全ビットのリセットに成功していない場合には、書換制御部210は、イネーブル信号EN_1乃至EN_16を同時にローレベルにする。これにより、メモリブロック#1乃至#16が一括して再度リセットされる。
図17は、第1の実施の形態におけるセット時の不揮発性メモリ200の動作の一例を示すタイミングチャートである。不揮発性メモリ200における書換制御部210は、イネーブル信号EN_1乃至EN_16を順に一定期間ハイレベルにする。これにより、メモリブロック#1乃至16が順にセットされる。
不揮発性メモリ200におけるドライバ制御部330は、セット対象のビットをハイレベルにしたセットマスクデータSM[1]乃至[256]を生成する。これにより、セット対象のメモリセルがセットされる。
全てのメモリブロックがリセットされると、不揮発性メモリ200における検証部340は、セットが成功したか否かを全ビットについて検証し、セットが成功したビットをハイレベルにした検証結果VFP[1]乃[256]を生成する。これにより、セットに成功したメモリセルに対する再度のセットが抑止される。また、検証部340は、セット対象の全てのビットのセットに成功したか否かを示す検証結果VFPALLを生成する。
VFPALLがローレベル、すなわちセット対象の全ビットのセットに成功していない場合には、書換制御部210は、イネーブル信号EN_1乃至EN_16を同時にハイレベルにする。これにより、メモリブロック#1乃至#16が一括して再度セットされる。
このように、第1の実施の形態によれば、ライトデータの再度の書込みにおいて、メモリ制御部400が所定数のメモリブロックを指定して同時にライトデータを書き込むため、再度の書込みにおいて順に書き込む場合よりもスループットが向上する。なお、書込みに成功したビットにおいて再度の書込みが抑止され、また、書込みが失敗する確率は低いため、再度の書込みにおいて、実際に書込みが実行されるビット数は少ない。このため、書込み単位より大きなビット数が書き込まれる可能性は低い。
[変形例]
第1の実施の形態においては、メモリ制御部400がメモリブロックの全てに対して一括してリトライを行う構成を例示していたが、一部のメモリブロックに対して一括してリトライを行ってもよい。書込みを行うメモリセルアレイ260内のメモリセル数が多くなると、それらの全てに対して一括してリトライを行うことが困難になることがあるためである。例えば、第1の実施の形態に例示した構成と比較してメモリセルアレイ260のメモリセル数が2倍(512ビット)であり、16ビットごとに32個のメモリブロックに分割してデータを書き込む場合を考える。書込みが失敗する確率が第1の実施の形態と同等であるとすると、32個のメモリブロックに対して一括してリトライを行ったときに、書込み単位より大きなビット数が書き込まれる可能性がある。この場合には、メモリ制御部400は、16メモリブロックごとに一括してリトライを行えばよい。変形例のメモリ制御部400は、メモリブロックの一部を指定してリトライ処理を実行する点において第1の実施の形態と異なる。
図18は、第1の実施の形態の変形例におけるリセット時の不揮発性メモリ200の動作の一例を示すタイミングチャートである。書換制御部210は、イネーブル信号EN_1乃至EN_32を順に一定期間ローレベルにして、32個のメモリブロックを順にリセットする。
ドライバ制御部330は、リセット対象のビットをローレベルにしたリセットマスクデータRM[1]乃至[512]を生成する。これにより、リセット対象のメモリセルがリセットされる。
32個の全メモリブロックがリセットされると、検証部340は、リセットが成功したか否かを全ビットについて検証し、リセットが成功したビットをハイレベルにした検証結果VFP[1]乃至[512]を生成する。また、検証部340は、リセット対象の全てのビットのリセットに成功したか否かを示す検証結果VFPALLを生成する。
VFPALLがローレベル、すなわちリセット対象の全ビットのリセットに成功していない場合には、書換制御部210は、イネーブル信号EN_1乃至EN_16を同時にローレベルにして、32個のうち16個のメモリブロックを一括して再度リセットする。次いで、書換制御部210は、イネーブル信号EN_17乃至EN_32を同時にローレベルにして、残りのメモリブロックを一括して再度リセットする。セット処理についても同様にメモリブロクの一部が一括してセットされる。
このように、変形例によれば、メモリセルアレイ260のメモリセル数に関らず、スループットを向上させることができる。
<2.第2の実施の形態>
[カラムドライバの構成例]
図19は、第2の実施の形態におけるカラムドライバ300の一構成例を示すブロック図である。第1の実施の形態においては、書込みに失敗するビット数は、書込み単位より少ないとの想定の下に、リトライ処理において所定数のメモリブロックに一括してライトデータを書き込んでいた。しかし、書込みに失敗する確率が比較的高いと、書込みに失敗するビット数が書込み単位以上となることもありうる。第2の実施の形態の不揮発性メモリ200は、書込みに失敗したビット数を計数して所定の閾値未満である場合にのみ、所定数のメモリブロックに一括してライトデータを書き込む点において第1の実施の形態と異なる。
第2の実施の形態のカラムドライバ300において、検証部340は、書込みに失敗したビット数を計数する。検証部340は、その計数値を失敗ビット数CNTとして書換制御部210に供給する。第2の実施の形態の書換制御部210は、失敗ビット数CNTが書込み単位未満である場合に、所定数のメモリブロックに一括してリトライ処理を実行するように指示する。一方、失敗ビット数CNTが閾値未満でない場合には、書換制御部210は、メモリブロック#1乃至16に対して順にリトライ処理を実行するように指示する。ここで、閾値は、一度に書き換えることが許容されるビット数以下の値(例えば、「16」)に設定される。
[検証部の構成例]
図20は、第2の実施の形態における検証部340の一構成例を示すブロック図である。第2の実施の形態の検証部340は、失敗ビットカウンタ343をさらに備える。NORゲート341は、検証結果VFP[1]乃至[256]を失敗ビットカウンタ343にさらに供給する。
失敗ビットカウンタ343は、書込みに失敗したビット数を計数するものである。この失敗ビットカウンタ343は、検証結果VFP[1]乃至[256]のうち「0」の値の個数を計数して、その計数値を失敗ビット数CNTとして書換制御部210に供給する。
[不揮発性メモリの動作例]
図21は、第2の実施の形態におけるリセット処理の一例を示すフローチャートである。第2の実施の形態のリセット処理は、ステップS916、S917、および、S919をさらに実行する点において第1の実施の形態と異なる。リセット対象の全ビットの書換えに成功していない場合には(ステップS915:No)、不揮発性メモリ200は、書込みに失敗したビット数を計数する(ステップS916)。そして、不揮発性メモリ200は、失敗ビット数CNTが閾値未満であるか否かを判断する(ステップS917)。
失敗ビット数CNTが閾値未満である場合には(ステップS917:Yes)、不揮発性メモリ200は、メモリブロック#1乃至#16を一括して再度リセットする(ステップS918)。一方、失敗ビット数CNTが閾値未満でない場合には(ステップS917:No)、不揮発性メモリ200は、メモリブロック#1乃至#16をブロックごとに再度リセットする(ステップS919)。ステップS918またはS919の後、不揮発性メモリ200は、ステップS913に戻る。
図22は、第2の実施の形態におけるセット処理の一例を示すフローチャートである。第2の実施の形態のセット処理は、ステップS926、S927、および、S929をさらに実行する点において第1の実施の形態と異なる。セット対象の全ビットの書換えに成功していない場合には(ステップS925:No)、不揮発性メモリ200は、書込みに失敗したビット数を計数する(ステップS926)。そして、不揮発性メモリ200は、失敗ビット数CNTが閾値未満であるか否かを判断する(ステップS927)。
失敗ビット数CNTが閾値未満である場合には(ステップS927:Yes)、不揮発性メモリ200は、メモリブロック#1乃至#16を一括して再度セットする(ステップS928)。一方、失敗ビット数CNTが閾値未満でない場合には(ステップS927:No)、不揮発性メモリ200は、メモリブロック#1乃至#16をブロックごとに再度セットする(ステップS929)。ステップS928またはS929の後、不揮発性メモリ200は、ステップS923に戻る。
このように、本技術の第2の実施の形態によれば、不揮発性メモリ200は、失敗ビット数が閾値未満であれば、所定数のメモリブロックに一括してライトデータを書き込むことができる。このため、リトライのビット数を閾値未満に抑止しつつ、スループットを向上させることができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
なお、本技術は以下のような構成もとることができる。
(1)複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御部と、
前記指定されたメモリブロックにライトデータを書き込むライト処理部と、
前記ライトデータが書き込まれた前記メモリブロックからリードデータを読み出して当該リードデータが前記ライトデータと一致するか否かを前記複数のメモリセルの各々において検証する検証部と、
前記ライトデータを再度書き込むリトライ処理の実行を前記複数のメモリセルのうち前記リードデータが前記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止部と、
前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させるリトライ制御部と
を具備する記憶制御装置。
(2)前記ベリファイ部は、前記リードデータが前記ライトデータと一致するか否かを検証するとともに前記リードデータが前記ライトデータと一致しない前記メモリセルの数を失敗ビット数として計数し、
前記リトライ制御部は、前記失敗ビット数が1より多く、かつ、当該失敗ビット数が所定の閾値未満である場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させる
前記(1)記載の記憶制御装置。
(3)前記リトライ制御部は、前記失敗ビット数が前記所定の閾値未満でない場合には前記複数のメモリセルを前記メモリブロックごとに順に指定して前記リトライ処理を実行させる
前記(2)記載の記憶制御装置。
(4)前記所定の閾値は、前記ライト処理部が同時に前記ライトデータを書き込むことが許容されるメモリセルの個数を超えない値である
前記(2)または(3)記載の記憶制御装置。
(5)前記ライト処理部は、前記指定されたメモリブロック内のメモリセルの各々に前記ライトデータを供給することにより前記ライトデータを書込み、
前記リトライ抑止部は、前記リードデータが前記ライトデータと一致したメモリセルへの前記データの供給を遮断することにより前記リトライ処理の実行を抑止する
前記(1)乃至(4)のいずれかに記載の記憶制御装置。
(6)前記リトライ制御部は、前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックの全てを指定して前記リトライ処理を同時に実行させる
前記(1)乃至(5)のいずれかに記載の記憶制御装置。
(7)複数のメモリセルと、
前記複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御部と、
前記指定されたメモリブロックにライトデータを書き込むライト処理部と、
前記ライトデータが書き込まれた前記メモリブロックからリードデータを読み出して当該リードデータが前記ライトデータと一致するか否かを前記複数のメモリセルの各々において検証する検証部と、
前記ライトデータを再度書き込むリトライ処理の実行を前記複数のメモリセルのうち前記リードデータが前記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止部と、
前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックの少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させるリトライ制御部と
を具備する不揮発性メモリ。
(8)ライト制御部が、複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御手順と、
ライト処理部が、前記指定されたメモリブロックにライトデータを書き込むライト処理手順と、
検証部が、前記ライトデータが書き込まれた前記メモリブロックからリードデータを読み出して当該リードデータが前記ライトデータと一致するか否かを前記複数のメモリセルの各々において検証する検証手順と、
リトライ抑止部が、前記ライトデータを再度書き込むリトライ処理の実行を前記複数のメモリセルのうち前記リードデータが前記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止手順と、
リトライ制御部が、前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロッククを指定して前記リトライ処理を同時に実行させるリトライ制御手順と
を具備するメモリ制御方法。
100 ホストコンピュータ
150 メモリコントローラ
200 不揮発性メモリ
210 書換制御部
211 ライト制御部
212 リトライ制御部
220 アドレス回路
230 データ入出力回路
240 ロウドライバ
250 プレートドライバ
260 メモリセルアレイ
261 メモリブロック
262 メモリセル
263 アクセストランジスタ
264 可変セル抵抗
270 ロウデコーダ
280 カラムデコーダ
300 カラムドライバ
310 リトライ抑止部
311 抑止制御トランジスタ
320 センスアンプユニット
330 ドライバ制御部
340 検証部
341 NORゲート
342 ANDゲート
343 失敗ビットカウンタ
350 ライトドライバユニット
351 ライトドライバブロック
352 ライトドライバ
353、354、355、356 書換制御トランジスタ
400 メモリ制御部

Claims (8)

  1. 複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御部と、
    前記指定されたメモリブロックにライトデータを書き込むライト処理部と、
    前記ライトデータが書き込まれた前記メモリブロックからリードデータを読み出して当該リードデータが前記ライトデータと一致するか否かを前記複数のメモリセルの各々において検証する検証部と、
    前記ライトデータを再度書き込むリトライ処理の実行を前記複数のメモリセルのうち前記リードデータが前記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止部と、
    前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させるリトライ制御部と
    を具備する記憶制御装置。
  2. 前記検証部は、前記リードデータが前記ライトデータと一致するか否かを検証するとともに前記リードデータが前記ライトデータと一致しない前記メモリセルの数を失敗ビット数として計数し、
    前記リトライ制御部は、前記失敗ビット数が1より多く、かつ、当該失敗ビット数が所定の閾値未満である場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させる
    請求項1記載の記憶制御装置。
  3. 前記リトライ制御部は、前記失敗ビット数が前記所定の閾値未満でない場合には前記複数のメモリセルを前記メモリブロックごとに順に指定して前記リトライ処理を実行させる
    請求項2記載の記憶制御装置。
  4. 前記所定の閾値は、前記ライト処理部が同時に前記ライトデータを書き込むことが許容されるメモリセルの個数を超えない値である
    請求項2記載の記憶制御装置。
  5. 前記ライト処理部は、前記指定されたメモリブロック内のメモリセルの各々に前記ライトデータを供給することにより前記ライトデータを書込み、
    前記リトライ抑止部は、前記リードデータが前記ライトデータと一致したメモリセルへの前記データの供給を遮断することにより前記リトライ処理の実行を抑止する
    請求項1記載の記憶制御装置。
  6. 前記リトライ制御部は、前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックの全てを指定して前記リトライ処理を同時に実行させる
    請求項1記載の記憶制御装置。
  7. 複数のメモリセルと、
    前記複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御部と、
    前記指定されたメモリブロックにライトデータを書き込むライト処理部と、
    前記ライトデータが書き込まれた前記メモリブロックからリードデータを読み出して当該リードデータが前記ライトデータと一致するか否かを前記複数のメモリセルの各々において検証する検証部と、
    前記ライトデータを再度書き込むリトライ処理の実行を前記複数のメモリセルのうち前記リードデータが前記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止部と、
    前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させるリトライ制御部と
    を具備する不揮発性メモリ。
  8. ライト制御部が、複数のメモリセルにおけるデータの書込み単位であるメモリブロックを順に指定するライト制御手順と、
    ライト処理部が、前記指定されたメモリブロックにライトデータを書き込むライト処理手順と、
    検証部が、前記ライトデータが書き込まれた前記メモリブロックからリードデータを読み出して当該リードデータが前記ライトデータと一致するか否かを前記複数のメモリセルの各々において検証する検証手順と、
    リトライ抑止部が、前記ライトデータを再度書き込むリトライ処理の実行を前記複数のメモリセルのうち前記リードデータが前記ライトデータと一致したメモリセルにおいて抑止するリトライ抑止手順と、
    リトライ制御部が、前記ライトデータの全てが書き込まれた前記複数のメモリセルのいずれかにおいて前記リードデータと前記ライトデータとが一致しない場合には複数の前記メモリブロックにおいて少なくとも一部のメモリブロックを指定して前記リトライ処理を同時に実行させるリトライ制御手順と
    を具備するメモリ制御方法。
JP2012184742A 2012-08-24 2012-08-24 記憶制御装置、不揮発性メモリ、および、メモリ制御方法 Expired - Fee Related JP5892000B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012184742A JP5892000B2 (ja) 2012-08-24 2012-08-24 記憶制御装置、不揮発性メモリ、および、メモリ制御方法
US13/945,987 US9280455B2 (en) 2012-08-24 2013-07-19 Memory control device, non-volatile memory, and memory control method
CN201310359855.9A CN103632732B (zh) 2012-08-24 2013-08-16 存储器控制设备、非易失性存储器及存储器控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012184742A JP5892000B2 (ja) 2012-08-24 2012-08-24 記憶制御装置、不揮発性メモリ、および、メモリ制御方法

Publications (2)

Publication Number Publication Date
JP2014041683A JP2014041683A (ja) 2014-03-06
JP5892000B2 true JP5892000B2 (ja) 2016-03-23

Family

ID=50149067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012184742A Expired - Fee Related JP5892000B2 (ja) 2012-08-24 2012-08-24 記憶制御装置、不揮発性メモリ、および、メモリ制御方法

Country Status (3)

Country Link
US (1) US9280455B2 (ja)
JP (1) JP5892000B2 (ja)
CN (1) CN103632732B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150043800A (ko) * 2013-10-15 2015-04-23 에스케이하이닉스 주식회사 전자 장치 및 그의 구동방법
US9411668B2 (en) * 2014-01-14 2016-08-09 Nvidia Corporation Approach to predictive verification of write integrity in a memory driver
US9859013B2 (en) * 2014-05-06 2018-01-02 Sandisk Technologies Llc Data operations in non-volatile memory
JP6457792B2 (ja) * 2014-11-19 2019-01-23 ルネサスエレクトロニクス株式会社 半導体記憶装置
CN105808444B (zh) * 2015-01-19 2019-01-01 东芝存储器株式会社 存储装置及非易失性存储器的控制方法
CN105513640B (zh) * 2015-12-03 2020-04-14 深圳佰维存储科技股份有限公司 一种固态硬盘数据擦除方法及其系统
KR102636091B1 (ko) * 2016-10-14 2024-02-14 에스케이하이닉스 주식회사 저항성 메모리 장치, 이를 위한 선택적 쓰기 장치 및 동작 방법
JP6356837B1 (ja) * 2017-01-13 2018-07-11 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
KR20190007928A (ko) * 2017-07-14 2019-01-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
JP6904918B2 (ja) * 2018-03-29 2021-07-21 ファナック株式会社 制御装置およびそのデータ書き込み方法
JP6612392B1 (ja) * 2018-06-08 2019-11-27 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11170853B2 (en) * 2020-03-04 2021-11-09 Micron Technology, Inc. Modified write voltage for memory devices
CN112420114B (zh) * 2020-11-04 2023-07-18 深圳市宏旺微电子有限公司 一种存储芯片的故障检测方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
US20060080515A1 (en) * 2004-10-12 2006-04-13 Lefthand Networks, Inc. Non-Volatile Memory Backup for Network Storage System
JP2007213664A (ja) * 2006-02-08 2007-08-23 Nec Electronics Corp 不揮発性半導体記憶装置、及び不揮発性半導体記憶装置の書込み方法
KR100764738B1 (ko) * 2006-04-06 2007-10-09 삼성전자주식회사 향상된 신뢰성을 갖는 상변화 메모리 장치, 그것의 쓰기방법, 그리고 그것을 포함한 시스템
KR100834738B1 (ko) * 2006-08-31 2008-06-05 삼성전자주식회사 상변화 메모리 장치의 구동 방법 및 그 방법을 사용하는상변화 메모리 장치
KR100809333B1 (ko) * 2006-09-04 2008-03-05 삼성전자주식회사 상변화 메모리 장치의 기입 검증 방법 및 그 방법을사용하는 상변화 메모리 장치
US7911824B2 (en) * 2007-08-01 2011-03-22 Panasonic Corporation Nonvolatile memory apparatus
JP4464454B1 (ja) * 2008-11-27 2010-05-19 Necエレクトロニクス株式会社 半導体装置及び半導体装置におけるベリファイ方法
JP2010182373A (ja) * 2009-02-05 2010-08-19 Sony Corp 不揮発性半導体メモリデバイスと、そのベリファイ書き込み方法
JP5197448B2 (ja) * 2009-03-13 2013-05-15 株式会社東芝 抵抗変化メモリ装置
WO2010134141A1 (ja) * 2009-05-19 2010-11-25 パナソニック株式会社 半導体記憶装置
JP5416079B2 (ja) * 2010-12-16 2014-02-12 株式会社日立製作所 半導体記憶装置、およびメモリモジュール
KR20140076128A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템

Also Published As

Publication number Publication date
CN103632732B (zh) 2017-07-11
US9280455B2 (en) 2016-03-08
JP2014041683A (ja) 2014-03-06
CN103632732A (zh) 2014-03-12
US20140059268A1 (en) 2014-02-27

Similar Documents

Publication Publication Date Title
JP5892000B2 (ja) 記憶制御装置、不揮発性メモリ、および、メモリ制御方法
US9720771B2 (en) Methods and systems for nonvolatile memory data management
US9747997B2 (en) Non-volatile memory devices and methods of operating the same
US11024378B2 (en) Memory systems and memory programming methods
EP3098815B1 (en) Methods and systems for detecting and correcting errors in nonvolatile memory
US10068649B2 (en) Apparatuses and methods for performing multiple memory operations
EP3479242B1 (en) Error correction code event detection
US10304531B2 (en) Memory programming methods and memory systems
US8817515B2 (en) Nonvolatile semiconductor memory device
US10622067B2 (en) Memory systems and memory writing methods
US20190267082A1 (en) Resistance and gate control in decoder circuits for read and write optimization
US10395731B2 (en) Memory cells, memory systems, and memory programming methods
JP5347806B2 (ja) 抵抗変化型メモリデバイスおよびその動作方法
CN111199766B (zh) 存储器设备
JP6416421B1 (ja) 磁気メモリ
WO2011008652A1 (en) Hierarchical cross-point array of non-volatile memory
US9588888B2 (en) Memory device and method for altering performance characteristic based on bandwidth demand
US20230317155A1 (en) Memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151225

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: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R151 Written notification of patent or utility model registration

Ref document number: 5892000

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

LAPS Cancellation because of no payment of annual fees