JP2017021877A - 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法 - Google Patents

不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法 Download PDF

Info

Publication number
JP2017021877A
JP2017021877A JP2015139554A JP2015139554A JP2017021877A JP 2017021877 A JP2017021877 A JP 2017021877A JP 2015139554 A JP2015139554 A JP 2015139554A JP 2015139554 A JP2015139554 A JP 2015139554A JP 2017021877 A JP2017021877 A JP 2017021877A
Authority
JP
Japan
Prior art keywords
data
cell
memory
deterioration
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015139554A
Other languages
English (en)
Inventor
森 健太郎
Kentaro Mori
健太郎 森
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 JP2015139554A priority Critical patent/JP2017021877A/ja
Priority to PCT/JP2016/063542 priority patent/WO2017010147A1/ja
Publication of JP2017021877A publication Critical patent/JP2017021877A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】不揮発メモリにおけるデータの劣化によるデータの破壊を防止するためのリフレッシュを行うタイミングを簡便な処理により取得する。【解決手段】不揮発メモリは、データセルおよびリファレンスセルを備える。この不揮発メモリにおいて、データセルは、書き込まれたデータを記憶する。リファレンスセルは、データセルと同一チップに形成されてデータと略同時に所定の値をリファレンスデータとして記憶してデータの劣化を検出するためにリファレンスデータを出力する。【選択図】図3

Description

本技術は、不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法に関する。詳しくは、不揮発メモリおよび不揮発メモリに対してデータの書込みを行うメモリコントローラ、記憶装置、情報処理システムおよびこれらにおける制御方法に関する。
従来、情報処理装置の記憶装置として不揮発メモリが使用されている。この不揮発メモリは、電源の供給の有無に関わらずデータの記憶が可能であり、データストレージ等の用途に広く使用されている。このような不揮発メモリの例として、EEPROM(Electrically Erasable and Programmable Read Only Memory)およびNAND型フラッシュメモリ等を挙げることができる。また、このような不揮発メモリの他の例として、MRAM(Magnetoresistive RAM)およびReRAM(Resistance RAM)等を挙げることができる。これらの不揮発メモリにおいて、データを長期間記憶した場合には、データの記憶状態が徐々に変化する、いわゆるデータの劣化を生じることが知られている。このデータの劣化が進行すると、当初記憶させたデータとは異なるデータが読み出される状態になり、記憶データが破壊される。これを防ぐために、例えば、データの劣化による記憶データの破壊に至る前に、データの書直しであるリフレッシュを行い、データの記憶状態を元に戻すシステムが提案されている(例えば、特許文献1参照。)。
米国特許出願公開第2012/0278533号明細書
上述の従来技術では、NAND型フラッシュメモリを用いた半導体記憶装置において、アクセスの単位であるブロック毎の劣化度およびデータ読出しの頻度であるリード頻度に基づいて信頼性維持期間を取得する。次に、この信頼性維持期間に応じて、ブロック毎にリフレッシュを行う。すなわち、ブロックに記憶されたデータの信頼性維持期間が経過する前にリフレッシュを行う。これにより、記憶データの破壊を防止する。しかし、信頼性維持期間を取得するためには、ブロック毎の劣化度やリード頻度を記録しておく必要がある。このため、上述の従来技術には、リフレッシュを行うタイミングを取得するための処理が複雑になるという問題がある。
本技術はこのような状況に鑑みて生み出されたものであり、不揮発メモリにおいて、リフレッシュを行うタイミングを簡便な処理により取得することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、書き込まれたデータを記憶するデータセルと、上記データセルと同一チップに形成されて上記データと略同時に所定の値をリファレンスデータとして記憶して上記データの劣化を検出するために上記リファレンスデータを出力するリファレンスセルとを具備する不揮発メモリおよび不揮発メモリの制御方法である。これにより、リファレンスセルからデータの劣化を検出するためのリファレンスデータが出力されるという作用をもたらす。
また、この第1の側面において、上記所定の値とは異なる値が上記リファレンスセルから読み出された際に上記データの劣化の検出を行う劣化検出部をさらに具備してもよい。これにより、所定の値とは異なる値がリファレンスセルから読み出された際に劣化検出部によりデータの劣化が検出されるという作用をもたらす。
また、この第1の側面において、上記劣化検出部における上記検出の際に上記データセルのデータを書直すリフレッシュの制御と上記リファレンスデータの書直しの制御とを略同時に行う書込み制御部をさらに具備してもよい。これにより、リフレッシュとリファレンスデータの書直しが略同時に行われるという作用をもたらす。
また、この第1の側面において、上記書込み制御部は、上記データセルへの書込みと上記劣化が早い上記所定の値を上記リファレンスデータとする上記リファレンスセルへの書込みとをさらに行ってもよい。これにより、劣化が早いリファレンスデータによりデータの劣化の検出が行われるという作用をもたらす。
また、この第1の側面において、上記データセルおよび上記リファレンスセルは、書込み電圧を印加することにより書込みが行われ、上記書込み制御部は、上記データセルへの上記書込み電圧とは異なる第2の書込み電圧を印加することにより上記リファレンスデータを上記リファレンスセルに書き込んでもよい。これにより、リファレンスデータの書込みの際に第2の書込み電圧がリファレンスセルに印加されるという作用をもたらす。
また、この第1の側面において、上記データセルおよび上記リファレンスセルは、読出し電圧が印加された際に流れる電流である読出し電流を閾値に基づいて判別することにより読出しが行われ、上記データセルからの読出しと当該データセルからの読出しの際の上記閾値とは異なる第2の閾値に基づく判別による上記リファレンスセルからの読出しとを行う読出し制御部をさらに具備し、上記書込み制御部は、上記第2の閾値により近い値の上記読出し電流となる上記所定の値を上記リファレンスデータとして書き込んでもよい。これにより、第2の閾値に近い値の読出し電流となる値がリファレンスデータとしてリファレンスセルに書き込まれ、この第2の閾値に基づいてリファレンスセルからの読出しが行われるという作用をもたらす。
また、この第1の側面において、上記書込み制御部は、上記データセルに記憶された値を反転させた後に上記データを書き込むことにより上記リフレッシュを行ってもよい。これにより、リフレッシュの際にデータセルのデータが反転されるという作用をもたらす。
また、この第1の側面において、上記書込み制御部は、上記所定の値とは異なる値を書き込んだ後に上記所定の値をリファレンスデータとして書き込むことにより上記リファレンスデータの書直しを行ってもよい。これにより、リファレンスデータの書直しの際にリファレンスセルの値が反転されるという作用をもたらす。
また、この第1の側面において、上記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、上記リファレンスセルは、上記ページ毎に配置され、上記劣化検出部は、上記ページ毎に上記検出を行ってもよい。これにより、ページ毎にデータの劣化が検出されるという作用をもたらす。
また、この第1の側面において、上記リファレンスセルは、上記ページ毎に複数配置されてもよい。これにより、複数のリファレンスセルによりページ毎にデータの劣化が検出されるという作用をもたらす。
また、この第1の側面において、上記劣化検出部は、上記複数のリファレンスセルから読み出された複数の上記リファレンスデータの多数決演算に基づいて上記検出を行ってもよい。これにより、複数のリファレンスセルの多数決演算の結果に基づいてデータの劣化が検出されるという作用をもたらす。
また、この第1の側面において、上記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、上記リファレンスセルは、複数の上記ページからなるブロック毎に配置され、上記劣化検出部は、上記ブロック毎に上記検出を行ってもよい。これにより、複数のページにより構成されたブロック毎にデータの劣化が検出されるという作用をもたらす。
また、本技術の第2の側面は、書き込まれたデータを記憶するデータセルと上記データセルと同一チップに形成されて上記データと略同時に所定の値をリファレンスデータとして記憶して上記データの劣化を検出するために上記リファレンスデータを出力するリファレンスセルとを備える不揮発メモリの上記リファレンスセルから上記所定の値とは異なる値が読み出された際に上記データの劣化を検出する劣化検出部を具備するメモリコントローラである。これにより、リファレンスセルから出力されたリファレンスデータに基づいてデータの劣化が検出されるという作用をもたらす。
また、本技術の第3の側面は、書き込まれたデータを記憶するデータセルと、上記データセルと同一チップに形成されて上記データと略同時に所定の値をリファレンスデータとして記憶して上記データの劣化を検出するために上記リファレンスデータを出力するリファレンスセルと、上記所定の値とは異なる値が上記リファレンスセルから読み出された際に上記データの劣化の検出を行う劣化検出部とを具備する記憶装置である。これにより、リファレンスセルから出力されたリファレンスデータに基づいてデータの劣化が検出されるという作用をもたらす。
また、本技術の第4の側面は、書き込まれたデータを記憶するデータセルと、上記データセルと同一チップに形成されて上記データと略同時に所定の値をリファレンスデータとして記憶して上記データの劣化を検出するために上記リファレンスデータを出力するリファレンスセルと、上記所定の値とは異なる値が上記リファレンスセルから読み出された際に上記データの劣化の検出を行う劣化検出部とを備える記憶装置と、上記記憶装置にアクセスするホストコンピュータとを具備する情報処理システムである。これにより、リファレンスセルから出力されたリファレンスデータに基づいてデータの劣化が検出されるという作用をもたらす。
本技術によれば、不揮発メモリにおいて、リフレッシュを行うタイミングを簡便な処理により取得するという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の実施の形態における情報処理装置の構成例を示す図である。 本技術の第1の実施の形態におけるメモリコントローラ200の構成例を示す図である。 本技術の第1の実施の形態におけるメモリ300の構成例を示す図である。 本技術の実施の形態におけるメモリセルの構成例を示す図である。 本技術の実施の形態における記憶素子351の特性を示す図である。 本技術の実施の形態におけるデータの書込みを示す図である。 本技術の第1の実施の形態におけるメモリセルアレイ350の構成例を示す図である。 本技術の第1の実施の形態における読出し処理の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第1の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理(ステップS910)の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第1の実施の形態における書込み処理の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第1の実施の形態における読出し処理の処理手順(メモリ)の一例を示す図である。 本技術の第1の実施の形態における書込み処理の処理手順(メモリ)の一例を示す図である。 本技術の第1の実施の形態におけるリファレンスデータ書直し処理の処理手順(メモリ)の一例を示す図である。 本技術の第1の実施の形態におけるリフレッシュ処理の処理手順(メモリ)の一例を示す図である。 本技術の第2の実施の形態におけるリフレッシュ処理の処理手順(メモリ)の一例を示す図である。 本技術の第3の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理の処理手順の一例を示す図である。 本技術の第4の実施の形態における記憶素子351の特性を示す図である。 本技術の第5の実施の形態における記憶素子351の特性を示す図である。 本技術の第6の実施の形態におけるメモリコントローラ200の構成例を示す図である。 本技術の第6の実施の形態におけるメモリ300の構成例を示す図である。 本技術の第6の実施の形態における読出し処理の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第6の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理(ステップS810)の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第6の実施の形態における書込み処理の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第6の実施の形態における読出し処理の処理手順(メモリ)の一例を示す図である。 本技術の第6の実施の形態における書込み処理の処理手順(メモリ)の一例を示す図である。 本技術の第7の実施の形態における読出し処理の処理手順(メモリコントローラ)の一例を示す図である。 本技術の第7の実施の形態における読出し処理の処理手順(メモリ)の一例を示す図である。 本技術の第7の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理(ステップS750)の処理手順(メモリ)の一例を示す図である。 本技術の第7の実施の形態における書込み処理の処理手順(メモリ)の一例を示す図である。 本技術の第8の実施の形態におけるメモリセルアレイ350の構成例を示す図である。 本技術の第9の実施の形態におけるメモリセルアレイ350の構成例を示す図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(メモリがデータの劣化の検出を行う場合の例)
2.第2の実施の形態(1度の書込みによりリフレッシュを行う場合の例)
3.第3の実施の形態(1度のリクエストによりリファレンスデータの書直しおよびリフレッシュ処理を行う場合の例)
4.第4の実施の形態(データセルとは異なる書込み電圧をリファレンスセルに印加する場合の例)
5.第5の実施の形態(データセルとは異なる閾値に基づいてリファレンスセルからの読出しを行う場合の例)
6.第6の実施の形態(メモリコントローラがデータの劣化を検出する場合の例)
7.第7の実施の形態(メモリがデータの劣化の検出、リファレンスデータ書直しおよびリフレッシュの処理を行う場合の例)
8.第8の実施の形態(ページ毎に複数のリファレンスセルが配置された場合の例)
9.第9の実施の形態(ブロック毎にリファレンスセルが配置された場合の例)
<1.第1の実施の形態>
図1は、本技術の実施の形態における情報処理装置の構成例を示す図である。同図の情報処理装置は、ホストコンピュータ100と、メモリコントローラ200と、メモリ300とを備える。なお、メモリコントローラ200およびメモリ300は、記憶装置を構成する。
ホストコンピュータ100は、情報処理システムにおける各種の処理を行うものである。このホストコンピュータ100は、メモリコントローラ200を介して、メモリ300に対して書込みまたは読出し等のコマンドを発行してアクセスを行う。信号線109は、ホストコンピュータ100とメモリコントローラ200とを電気的に接続する信号線である。
また、ホストコンピュータ100は、プロセッサ110と、メモリコントローラインターフェース120とを備える。プロセッサ110は、ホストコンピュータ100の全体を制御するものである。このプロセッサ110は、図示しないROM(Read Only Memory)に記憶されたプログラムに基づいて動作し、書込みコマンドの生成等の処理を行う。
メモリコントローラインターフェース120は、メモリコントローラ200とのやり取りを行うインターフェースである。生成された書込みコマンド等は、メモリコントローラインターフェース120を介してメモリコントローラ200に発行される。
メモリコントローラ200は、メモリ300を制御するものである。このメモリコントローラ200は、ホストコンピュータ100から発行された書込みおよび読出しコマンドを解釈し、これに基づく書込みおよび読出しリクエストをメモリ300に対して要求する。信号線209は、メモリコントローラ200とメモリ300とを電気的に接続する信号線である。
メモリ300は、データを記憶するものである。このメモリ300は、内部に記憶領域を有しており、メモリコントローラ200から要求されたリクエストに基づいて、この記憶領域に対するアクセスを行う。この際、メモリ300とメモリコントローラ200との間でデータの転送が行われる。このメモリ300には不揮発メモリを想定する。なお、メモリ300は、特許請求の範囲に記載の不揮発メモリの一例である。
ホストコンピュータ100は、読出しを行う際に、読出しコマンドとこれに付随する読出し先アドレスおよび読出しデータ数をメモリコントローラ200に対して発行する。メモリコントローラ200がこのコマンドを解釈して、これに付随する読出し先アドレスおよび読出しデータ数に基づいてメモリ300に対して読出しリクエストを要求する。メモリ300は、このリクエストに基づいて読出しを行い、読み出したデータをメモリコントローラ200に対して出力する。また、メモリ300は、読出し処理の結果をレスポンスとしてメモリコントローラ200に出力する。その後、メモリコントローラ200は、読出し処理の結果をホストコンピュータ100に通知する。また、メモリコントローラ200は、メモリ300から出力されたデータを読出しデータとしてホストコンピュータ100に出力する。
一方、書込みの際には、ホストコンピュータ100は、書込みコマンドとこれに付随する書込みデータ、書込み先アドレスおよび書込みデータ数をメモリコントローラ200に対して発行する。メモリコントローラ200は、発行された書込みコマンドを解釈し、これに付随する書込みデータ、書込み先アドレスおよび書込みデータ数に基づいてメモリ300に対して書込みリクエストを要求する。メモリ300は、このリクエストに基づいて書込みを行い、書込み処理の結果をレスポンスとしてメモリコントローラ200に出力する。最後に、メモリコントローラ200は、書込み処理の結果をホストコンピュータ100に対して通知する。
[メモリコントローラの構成]
図2は、本技術の第1の実施の形態におけるメモリコントローラ200の構成例を示す図である。このメモリコントローラ200は、プロセッサ210と、ECC処理部240と、アドレス変換部250と、代替処理部260と、バッファ280と、ホストインターフェース230と、メモリインターフェース270とを備える。
プロセッサ210は、メモリコントローラ200の全体を制御するものである。このプロセッサ210は、ホストコンピュータ100が発行したコマンドの解釈、メモリ300に要求するリクエストの生成等の処理を行う。プロセッサ210が生成するリクエストには、前述の書込みリクエストおよび読出しリクエストのほかにリファレンスデータ書直しリクエスト、リフレッシュリクエストおよび代替書込みリクエストが存在する。これらのリクエストについては、後述する。なお、プロセッサ210は、ROM(不図示)に記憶されたファームウェアに基づいて処理を行う。
ホストインターフェース230は、ホストコンピュータ100とのやり取りを行うインターフェースである。ホストコンピュータ100が発行した読出しコマンド等は、ホストインターフェース230を介してメモリコントローラ200に入力される。また、読出しコマンドに基づく読出しデータ等は、ホストインターフェース230を介してホストコンピュータ100に出力される。
メモリインターフェース270は、メモリ300とのやり取りを行うインターフェースである。メモリコントローラ200において生成されたリクエスト等は、メモリインターフェース270を介してメモリ300に出力される。また、メモリ300が出力した読出しデータ等は、メモリインターフェース270を介してメモリコントローラ200に入力される。
ECC処理部240は、ホストコンピュータ100から発行された書込みコマンドに付随する書込みデータのECC符号化およびメモリ300から出力された読出しデータのECC復号を行うものである。ここで、ECC符号化とは、書込みデータにパリティを付加してECC符号にする処理である。このパリティには、例えば、BCH(Bose Chaudhuri Hocquenghem)符号を使って生成されたパリティを使用することができる。また、ECC復号とは、ECC符号から元のデータを取り出す処理である。この復号の際、データの誤り検出および誤り訂正が行われる。
アドレス変換部250は、ホストコンピュータ100により発行されたコマンドに含まれるアドレスである論理アドレスをメモリ300におけるアドレスである物理アドレスに変換するものである。このアドレス変換部250は、論理アドレスと物理アドレスとの対応を示すアドレス変換テーブルを有しており、このアドレス変換テーブルに基づいて上述の変換を行う。後述するようにメモリ300は、ページを単位としてページアドレスによりアクセスされる。このため、アドレス変換部250は、論理アドレスをページアドレスからなる物理アドレスに変換する。
代替処理部260は、代替処理を行うものである。ここで、代替処理とは、書込みが可能でないページを未使用のページと置き換える処理である。この代替処理部260は、アドレス変換部250に保持されたアドレス変換テーブルを変更することより、代替を行う。なお、未使用のページが存在しない場合には、代替処理が不可能となる。
バッファ280は、ホストコンピュータから発行された書込みコマンドに付随する書込みデータおよびメモリ300から出力された読出しデータを一時的に保持するバッファである。また、バス201は、メモリコントローラ200内の各部を相互に接続するバスである。
[メモリの構成]
図3は、本技術の第1の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、書込制御部310と、読出制御部340と、劣化検出部320と、メモリコントローラインターフェース330と、ページバッファ380と、メモリセルアレイ350とを備える。
メモリセルアレイ350は、メモリセルが2次元アレイ状に配置されて構成されたものである。このメモリセルには、データを記憶するメモリセルであるデータセルとリファレンスデータを記憶するメモリセルであるリファレンスセルとが含まれる。ここで、リファレンスデータとは、データセルに記憶されたデータの劣化を検出するためにリファレンスセルに記憶される所定の値である。データセルにおけるデータの記憶状態は、書込みが行われた当初の状態から時間の経過とともに変化する。この変化が進行すると、記憶されたデータの維持が困難になる。このような、データの記憶状態の変化をデータの劣化と称する。リファレンスセルは、このデータの劣化を検出するためにリファレンスデータを出力する。本技術の実施の形態では、上述した所定の値とリファレンスセルから読み出した値とが異なる場合にデータセルに記憶されたデータの劣化が検出される。なお、データの劣化は、後述する劣化検出部320により検出される。
これらデータセルおよびリファレンスセルは、同一のチップに形成されることを想定する。リファレンスセルによりデータセルに記憶されたデータの劣化を検出するため、両者の特性を揃える必要があるためである。
データセルは、ページサイズにより分割されたページを単位としてページアドレスによりアクセスされる。このページは、例えば、4223ビットの大きさである。また、リファレンスセルはページ毎に配置することができる。リファレンスデータの書込みはデータの書込みと略同時に行われる。これらの書込み時期が大きく異なった場合、リファレンスデータによるデータの劣化の検出精度が低下するためである。なお、メモリセルアレイ350は、不揮発メモリであるReRAMにより構成されることを想定する。メモリセルアレイ350の構成の詳細については、後述する。
劣化検出部320は、メモリセルアレイ350のデータセルに記憶されたデータの劣化を検出するものである。この劣化検出部320は、上述したリファレンスデータの所定の値を保持し、リファレンスセルから読み出された値とこの保持した値とを比較して、両者が不一致の場合にデータの劣化を検出する。この際、劣化検出部320は、データの劣化をメモリコントローラ200に通知する。データの劣化の詳細については、後述する。
書込制御部310は、メモリセルアレイ350に対するデータ等の書込みを制御するものである。この書込制御部310は、メモリコントローラ200が要求した書込みリクエストを解釈し、ページを単位としてデータの書込みを行う。その後、書込みの結果をメモリコントローラ200に対して出力する。また、書込制御部310は、メモリセルアレイ350のリフレッシュの制御ならびにリファレンスデータの書込みおよび書直しの制御をさらに行う。ここで、リフレッシュとは、データセルに記憶された値を反転させた後にデータを書き込む処理である。リフレッシュおよびリファレンスデータの書直しは、劣化検出部320においてデータの劣化が検出された際に略同時に行われる。データの劣化の検出精度の低下を防ぐためである。書込制御部310における書込み、リフレッシュおよびリファレンスデータの書直しの詳細については、後述する。
読出制御部340は、メモリセルアレイ350に対するデータの読出しを制御するものである。この読出制御部340は、メモリコントローラ200が要求した読出しリクエストを解釈し、ページを単位としてデータの読出しを行う。その後、読み出したデータをメモリコントローラ200に出力する。読出制御部340における読出しの詳細については、後述する。
ページバッファ380は、メモリセルアレイ350の書込みデータおよび読出しデータを一時的に保持するバッファである。このページバッファ380は、ページを単位としてデータを保持する。
メモリコントローラインターフェース330は、メモリコントローラ200とのやり取りを行うインターフェースである。メモリコントローラ200が要求したリクエストは、メモリコントローラインターフェース330を介してメモリ300に入力される。また、読出しリクエストに基づく読出しデータ等は、メモリコントローラインターフェース330を介してメモリコントローラ200に出力される。また、バス301は、メモリ300内の各部を相互に接続するバスである。なお、書込制御部310は、特許請求の範囲に記載の書込み制御部の一例である。読出制御部340は、特許請求の範囲に記載の読出し制御部の一例である。
[メモリセルの構成]
図4は、本技術の実施の形態におけるメモリセルの構成例を示す図である。同図は、図3において説明したメモリセルアレイ350におけるメモリセルの構成を表したものである。同図に表したように、記憶素子351およびMOS(Metal Oxide Semiconductor)トランジスタ352により1ビットのメモリセル353が構成される。記憶素子351は、データ等を記憶する素子である。MOSトランジスタ352は、記憶素子351を駆動するトランジスタである。
記憶素子351の一端は共通の信号線であるプレート線に接続され、他端はMOSトランジスタ352のドレインに接続されている。MOSトランジスタ352のゲートは複数のワード線のうちの1本に接続され、ソースは複数のビット線のうちの1本に接続されている。ワード線およびビット線は、メモリセル353を構成するMOSトランジスタ352に対してXYマトリクス状に配線されている。これにより、ワード線およびビット線からそれぞれ1本を選択して信号を入力することにより、1個のメモリセル353が選択されてデータ等の書込みまたは読出しが行われる。例えば、同図において左端に記載されたメモリセル353を選択する場合には、ワード線#0およびビット線#0を選択する。
記憶素子351は、印加された電圧の極性により抵抗値が変化する。例えば、記憶素子351のプレート線に接続された端子を基準として、記憶素子351の他の端子に正の極性となる電圧(書込み電圧)を印加することにより記憶素子351を高抵抗の状態にすることができる。この高抵抗の状態の記憶素子351に逆極性の書込み電圧を印加することにより、記憶素子351を低抵抗の状態にすることができる。なお、以後の説明では、高抵抗の状態をHRS(High Resistance State)、低抵抗の状態をLRS(Low Resistance State)と称する。
これらHRSおよびLRSを論理値に対応させて、データ等の記憶が行われる。例えば、記憶素子351がHRSの場合を値「1」、記憶素子351がLRSの場合を値「0」とすることができる。また、記憶素子351がHRSの場合を値「0」、記憶素子351がLRSの場合を値「1」に対応させることも可能である。本技術の実施の形態では、HRSの場合を値「0」、LRSの場合を値「1」に対応させる場合を想定する。このように記憶素子351の抵抗値を可逆的に変化させて、メモリセル353にデータ等を書き込むことができる。
ここで、メモリセルをHRSからLRSに遷移させる処理をセット処理と称し、LRSからHRSに遷移させる処理をリセット処理と称する。これらのセット処理およびリセット処理は、複数のメモリセル353に対して同時に行われる。セット処理を行う際には、複数のワード線のうちの1本を選択する。例えばワード線#0を選択し、オン電圧を印加する。これにより、ワード線#0に接続されたMOSトランジスタ352がオン状態になる。次に、セット処理を行うメモリセル353に接続されたビット線を選択し、プレート線に対して負の極性となる書込み電圧を印加する。すると、選択されたビット線に接続されたメモリセル353の記憶素子351は、LRSになり、値「1」が書き込まれる。リセット処理を行う際には、セット処理と同様にワード線#0を選択してオン電圧を印加する。次に、リセット処理を行うメモリセル353に接続されたビット線を選択し、プレート線に対して正の極性となる書込み電圧を印加する。すると、選択されたビット線に接続されたメモリセル353の記憶素子351は、HRSになり、値「0」が書き込まれる。
このようにして、1本のワード線に接続された複数のメモリセルに対して書込みを行うことができる。この1度の書込み操作により書込み可能なメモリセル353の数が前述したページサイズに該当する。同図の例では、ページサイズとしてはmビットを想定する。このような操作により、メモリセルアレイ350からのページを単位とするデータの書込みが行われる。
[記憶素子の特性と読出し操作]
図5は、本技術の実施の形態における記憶素子351の特性を示す図である。同図は、記憶素子351の抵抗値の分布を表したものである。同図のグラフ401はLRSの場合の特性を表し、グラフ402はHRSの場合の特性を表している。また、同図の破線は、HRSとLRSとを分離する閾値403を表している。メモリセル353からデータを読み出す際、この閾値403に相当する抵抗値によりHRSおよびLRSが判別される。具体的には、書込み電圧より低い電圧の読出し電圧を記憶素子351に印加して流れる電流値を取得する。この電流値に応じた抵抗値が閾値403に相当する抵抗より高い場合にはHRSと判断され、逆の場合にはLRSと判断される。このような読出しはページを単位として行われる。読出制御部340は、図4において説明したページを構成するメモリセル353に対して読出し電圧を同時に印加する。例えば、リセット処理と同じ極性の読出し電圧を記憶素子351に印加することができる。同時に、各ビット線を流れる電流が閾値403に基づいて判別される。このような操作により、メモリセルアレイ350からのページを単位とする読出しが行われる。
[書込み操作]
図6は、本技術の実施の形態におけるデータの書込みを示す図である。同図はページを単位とするデータセルへの書込み操作を表したものである。便宜上、ページサイズは8ビットを想定する。同図に表したように、データの書込みは、書込みデータの転送、データセルからのデータの読出しおよびデータの書込みの順に実行される。また、図4において説明したように、データの書込みはセット処理およびリセット処理により行われる。これらの処理は、対象となるビットの位置を特定するためのマスクデータを用いて行われる。
ReRAMのような不揮発メモリでは、データの書換えを行うたびに記憶素子351が徐々に劣化することが知られている。劣化が進んだ記憶素子351では正常な書込みおよび読出しができなくなる。この記憶素子351の劣化を防止するため、不要なセット処理およびリセット処理を削減する。これは、マスクデータを使用して、対象となるビットを限定することより行うことができる。同図に表したマスクデータでは、値「0」のビットにより対象となるビットの位置が特定され、当該ビットに対してセット処理およびリセット処理が行われる。
書込みデータがメモリ300のページバッファ380に転送された後、書込み対象のページのデータセルに対して読出し(プレリード)を行う。この時読み出されたデータをプレリードデータと称する。このプレリードデータおよび転送された書込みデータからリセット処理用マスクデータおよびセット処理用マスクデータが生成される。リセット処理用マスクデータは、下記の式に基づいて生成することができる。
RMask=〜R|W
ただし、RMaskは、リセット処理用マスクデータを表す。Rは、プレリードデータを表す。Wは、書込みデータを表す。また、|および〜は、それぞれビット毎の論理和演算およびビット毎の否定演算を表す演算子である。また、セット処理用マスクデータは、下記の式に基づいて生成することができる。
SMask=R|〜W
ただし、SMaskは、セット処理用マスクデータを表す。
次に、生成したマスクデータによるリセット処理およびセット処理を順に行う。これらの操作により、データの書込みが行われる。
その後、書込みが正しく行われた否かについて検証が行われる。これは、書込みが行われたページに対して読出しを行い、読み出したデータと書込みデータとが一致するか否かにより判断することができる。この検証の際の書込みデータには、ページバッファ380に保持されている書込みデータを使用することができる。読み出したデータと書込みデータとが一致する場合には、書込みが成功したものと判断され、書込み処理は終了する。しかし、両者が不一致の場合には、書込みが失敗したものと判断される。この場合、メモリ300は、書込みが失敗した旨をレスポンスとしてメモリコントローラ200に出力する。なお、書込みが失敗した場合の処理として、再度のメモリセルアレイ350への書込みを行うこともできる。
[記憶データの劣化]
前述のように、ReRAM等の不揮発メモリには、データの記憶状態が時間の経過とともに徐々に変化する、いわゆるデータの劣化現象が存在する。このデータの劣化が進行すると、当初記憶させたデータとは異なるデータが読み出されるようになり、記憶されたデータが破壊される。ReRAMを例に挙げて説明すると、セット処理によりLRSとなった記憶素子351の抵抗値が時間の経過とともに上昇し、図5において説明した閾値403を超えてHRSの状態に変化する現象が存在する。図2において説明したように、メモリコントローラ200にはECC処理部240が配置されており、読み出したデータの誤り訂正が行われる。しかし、データの劣化に基づくデータの破壊が多くのビットにおいて発生した場合には、この誤り訂正が不可能となる。
上述した記憶素子351の抵抗値の変化は、書込みからの経過時間に略比例する。そこで、データの破壊に至る前に、記憶されたデータを書直すリフレッシュを行う。このリフレッシュを行うことにより、記憶素子351の抵抗値を正規の値に戻すことができ、記憶データの破壊を防ぐことができる。しかし、図6において説明したように、データの書込みはページ単位で行われ、マスクデータにより対象となるビットのメモリセルにのみ書込みが行われる。このため、ページに対する書込みが行われた場合において、書込み対象のメモリセルと書込み対象ではないメモリセルとでは、記憶素子351の抵抗値の変化の度合いが異なることとなる。すなわち、ページを構成するメモリセル毎に記憶素子351の抵抗値の変化の度合いが異なる。このため、リフレッシュを実行するタイミングが問題となる。
そこで、前述したリファレンスセルをページ毎に配置してリファレンスデータを記憶させる。このリファレンスデータにより対応するページのデータの劣化を検出し、リフレッシュを行う。具体的には、ページにおいて最初に書込みを行った際に、対応するリファレンスセルに所定の値、例えば、値「1」をリファレンスデータとして書き込む。その後、ページにおいて読出しが行われる際に、リファレンスセルからの読出しを行う。後述するように、データセルおよびリファレンスセルは、ページアドレス毎にそれぞれ割り当てられており、ページに対する読出しが行われた際、データおよびリファレンスデータが同時に読み出される。この時リファレンスセルから読み出した値が書き込んだ所定の値と異なる場合、すなわち、値「0」が読み出された場合に、データの劣化が進行していると判断し、リフレッシュを行う。
一方、リファレンスセルにおいても、リファレンスデータの再度の書込みを行う。劣化したリファレンスデータを書直すためである。これらリフレッシュおよびリファレンスデータの書直しを略同時に行うことにより、データの劣化の検出精度を向上させることができる。前述のように、リファレンスデータとしてリファレンスセルに書き込む所定の値は、メモリ300における既定値として劣化検出部320等に保持させることができる。
なお、メモリセルへの書込みは、マスクデータを使用して行われるため、ページに記憶されたデータによる再度の書込みを行ってもページを構成するメモリセルに対する書込みは実行されない。そこで、ページに記憶された値を反転させた後に、ページに記憶されていたデータを書き込むことにより、リフレッシュを行う。これにより、ページを構成する全てのメモリセルにおいて書直しを行うことができる。リファレンスデータの書直しにおいても上述した所定の値とは異なる値の書込みを行った後に所定の値の書込みを行う。上述の例に即して説明すると、値「0」の書込みを行った後に値「1」の書込みを行う。データセルと同じ条件の書込みを行うためである。
データセルおよびリファレンスセルは、ページアドレス毎にそれぞれ割り当てられているため、ページに対する書込みが行われた際のリファレンスセルへの書込みを防ぐ必要がある。上述したリファレンスデータの書直し以外の不要な書込みを防止するためである。これは、マスクデータを使用することにより行うことができる。図6のリセット処理用マスクデータおよびセット処理用マスクデータのうちリファレンスセルに該当するビットを常に値「1」にする。例えば、同図の8ビットのマスクデータのうち右端のビットがリファレンスセルに該当するビットの場合、セット処理用マスクデータを「11111011」に変更する。なお、同図のリセット処理用マスクデータは、右端のビットが値「1」であるため、変更の必要はない。一方、リファレンスデータの書直しの際には、リファレンスセルに該当するビット以外のビットを値「1」としたマスクデータを使用してセット処理およびリセット処理を行う。これにより、ページにおけるリファレンスセルにのみ書込みを行うことができる。
リファレンスデータとしてリファレンスセルに記憶させる所定の値には、早くデータが劣化する値を採用すると好適である。データセルにおいてデータの劣化によるデータの破壊が発生する前に、リファレンスセルによるデータの劣化の検出を行うことができ、データの劣化の検出精度を向上させることができるためである。図5において説明したように、読出しの際に記憶素子351に対してリセット処理と同じ極性の読出し電圧が印加される場合には、読出しを行うたびにリセット処理と同様の効果を生じる。このため、LRSからHRSへの変化が生じ易いと考えることができる。このような場合には、LRSに対応する値「1」の方がHRSに対応する値「0」より早く劣化すると考えられるため、この値「1」をリファレンスデータの所定の値として採用することができる。
[メモリセルアレイの構成]
図7は、本技術の第1の実施の形態におけるメモリセルアレイ350の構成例を示す図である。同図のメモリセルアレイ350は、データセル354と、リファレンスセル355とを備える。また、同図に表した例では、メモリセルアレイ350には、4223ビットのデータセル354と1ビットのリファレンスセル355とがページ毎に配置されている。同図において、「RD」はリファレンスデータを表している。また、データセルには4096ビットのデータおよび127ビットの冗長が記憶される。この冗長にはパリティの他にデータの管理情報、例えば、データのアドレス変換情報を記憶させることができる。
[読出し処理(メモリコントローラの処理)]
図8は、本技術の第1の実施の形態における読出し処理の処理手順(メモリコントローラ)の一例を示す図である。同図の処理は、ホストコンピュータ100からの読出しコマンドがホストインターフェース230を介して入力されることにより開始される。まず、プロセッサ210が読出しコマンドを解釈し、これに基づく読出しリクエストを生成してメモリ300に対して要求する(ステップS901)。次に、メモリコントローラ200は、メモリ300から読出しデータが出力されるまで待機し(ステップS902)、出力された読出しデータを取得すると(ステップS902:Yes)ステップS903の処理に移行する。ステップS903において、ECC処理部240は、出力された読出しデータに対してECC復号を行う(ステップS903)。この際、読出しデータの誤りが検出された場合には、ECC処理部240が誤り訂正をさらに行う。この誤り訂正に失敗した場合にはECCエラーとなり(ステップS904:Yes)、プロセッサ210は、読出しコマンドの処理が異常終了した旨をホストコンピュータ100に通知する(ステップS908)。その後、読出し処理を終了する。
一方、読出しデータに誤りが検出されなかった場合または誤り訂正に成功した場合は(ステップS904:No)、プロセッサ210は、ステップS905の処理に移行する。ステップS905において、プロセッサ210は、読出しデータをホストコンピュータ100に対して出力するとともに、読出しコマンドの処理が正常終了した旨をホストコンピュータ100に通知する(ステップS905)。次に、メモリ300からデータの劣化が通知された場合には(ステップS909:Yes)、プロセッサ210は、リファレンスデータ書直しおよびリフレッシュを行い(ステップS910)、読出し処理を終了する。一方、メモリ300からデータの劣化が通知されなかった場合には(ステップS909:No)、プロセッサ210は、ステップS910の処理をスキップして読出し処理を終了する。
なお、メモリコントローラ200は、メモリ300からデータ劣化の通知があった場合において、ステップS910の処理を任意のタイミングで行うことができる。例えば、メモリ300へのリクエストの要求が連続する場合には、連続するこれらの処理の終了後にステップS910の処理を行うことができる。このような場合、メモリコントローラ200は、データの劣化が検出されたページアドレスを保持する必要がある。
[リファレンスデータ書直しおよびリフレッシュ処理(メモリコントローラの処理)]
図9は、本技術の第1の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理(ステップS910)の処理手順(メモリコントローラ)の一例を示す図である。同図の処理手順は、図8におけるステップS910に相当する処理手順である。まず、プロセッサ210は、リファレンスデータ書直しリクエストをメモリ300に対して要求する(ステップS911)。このリクエストは、データの劣化の検出に係るリファレンスセルに対して、リファレンスデータの書直しを要求するリクエストである。次に、プロセッサ210は、リフレッシュリクエストをメモリ300に対して要求する(ステップS912)。このリクエストは、データの劣化が検出されたページのデータセルに対してリフレッシュを要求するリクエストである。その後、プロセッサ210は、リファレンスデータ書直しおよびリフレッシュ処理を終了する。
[書込み処理(メモリコントローラの処理)]
図10は、本技術の第1の実施の形態における書込み処理の処理手順(メモリコントローラ)の一例を示す図である。同図の処理は、ホストコンピュータ100からの書込みコマンドがホストインターフェース230を介して入力されることにより開始される。まず、プロセッサ210が書込みコマンドを解釈し、これに基づく書込みリクエストを生成してメモリ300に要求する(ステップS921)。次に、メモリコントローラ200は、メモリ300からのレスポンスを受信するまで待機し(ステップS922)、レスポンスの受信後(ステップS922:Yes)、ステップS924の処理に移行する。ステップS924において、レスポンスが書込みエラーを示すものである場合には(ステップS924:Yes)、代替処理部260により代替処理が可能か否について判断される(ステップS926)。
その結果、代替処理が可能である場合には(ステップS926:Yes)、代替処理部260による代替処理が行われ、代替されたページアドレスに基づく代替書込みリクエストが要求される(ステップS927)。このリクエストは、メモリ300に対して代替されたページアドレスに基づく再度の書込みを要求するリクエストである。その後、プロセッサ210は、ステップS922からの処理に移行する。一方、ステップS926において、代替処理が可能でない場合には(ステップS926:No)、プロセッサ210は、書込みコマンドが異常終了した旨をホストコンピュータ100に対して通知し(ステップS928)、書込み処理を終了する。
一方、ステップS924において、レスポンスが書込みエラーを示すものでない場合には(ステップS924:No)、プロセッサ210は、書込みコマンドが正常終了した旨をホストコンピュータ100に通知する(ステップS925)。次に、メモリ300からデータの劣化が通知された場合には(ステップS929:Yes)、プロセッサ210は、図9において説明したリファレンスデータ書直しおよびリフレッシュ処理(ステップS910)を行い、書込み処理を終了する。一方、メモリ300からデータの劣化が通知されていない場合には(ステップS929:No)、プロセッサ210は、ステップS910の処理をスキップして書込み処理を終了する。
なお、メモリコントローラ200は、読出し処理の場合と同様に、メモリ300からデータ劣化の通知があった場合において、ステップS910の処理を任意のタイミングで行うことができる。
[読出し処理(メモリの処理)]
図11は、本技術の第1の実施の形態における読出し処理の処理手順(メモリ)の一例を示す図である。同図の処理は、メモリコントローラ200からの読出しリクエストがメモリコントローラインターフェース330を介して入力されることにより開始される。まず、読出制御部340がデータの読出しを行う(ステップS931)。この際、読出制御部340は、読出しリクエストに基づくページアドレスのデータをメモリセルアレイ350から読み出してページバッファ380に保持させる。なお、この際、リファレンスセルからのリファレンスデータの読出しも行われる。すなわち、リファレンスセルからリファレンスデータが出力される。次に、読出制御部340は、読み出したデータをメモリコントローラ200に対して出力する(ステップS932)。このデータは、メモリコントローラインターフェース330を介して出力される。
次に、劣化検出部320により、データが劣化しているか否かが判断される(ステップS933)。これは、読出し対象のページに対応するリファレンスセルからリファレンスデータとして書き込んだ所定の値とは異なる値が読み出されたか否かにより判断される。その結果、データが劣化していた場合には(ステップS933:Yes)、読出制御部340は、データの劣化をレスポンスとしてメモリコントローラ200に通知し(ステップS934)。読出し処理を終了する。一方、データが劣化していない場合には(ステップS933:No)、読出制御部340は、ステップS934の処理をスキップして読出し処理を終了する。
[書込み処理(メモリの処理)]
図12は、本技術の第1の実施の形態における書込み処理の処理手順(メモリ)の一例を示す図である。同図の処理は、メモリコントローラ200からの書込みリクエストがメモリコントローラインターフェース330を介して入力されることにより開始される。まず、書込制御部310は、書込みリクエストに付随する書込みデータをページバッファ380に転送する(ステップS941)。次に、書込制御部310は、図6において説明したプレリードを行う(ステップS942)。これにより、書込みリクエストに基づくページアドレスのデータがメモリセルアレイ350から読み出される。このプレリードの際、リファレンスセルからリファレンスデータが出力される。劣化検出部320により、データの劣化が検出された場合には(ステップS943:Yes)、書込制御部310は、データの劣化をレスポンスとしてメモリコントローラ200に通知する(ステップS944)。その後、書込制御部310は、ステップS945の処理に移行する。
一方、データの劣化が検出されなかった場合には(ステップS943:No)、書込制御部310は、ステップS944の処理をスキップしてステップS945の処理に移行する。ステップS945において、書込制御部310は、データの書込みを行う(ステップS945)。これは、図6において説明したマスクデータの生成、リセット処理およびセット処理により構成させる処理である。
次に、書込制御部310は、検証を行う(ステップS947)。これは、前述のように、書込み対象のデータセルから読出しを行い、読み出したデータと書込みデータとが一致するか否かを判断することにより行われる。書込制御部310は、この検証の結果をレスポンスとしてメモリコントローラ200に通知し(ステップS948)、書込み処理を終了する。
[リファレンスデータ書直し処理(メモリの処理)]
図13は、本技術の第1の実施の形態におけるリファレンスデータ書直し処理の処理手順(メモリ)の一例を示す図である。同図の処理は、メモリコントローラ200からのリファレンスデータ書直しリクエストがメモリコントローラインターフェース330を介して入力されることにより開始される。まず、書込制御部310がリファレンスデータの反転値をリファレンスセルに書き込む(ステップS952)。この際、書込制御部310は、読出しリクエストまたは書込みリクエストの対象となったページアドレスのリファレンスセルに対して書込みを行う。次に、書込制御部310がリファレンスデータをリファレンスセルに書き込む(ステップS953)。その後、書込制御部310は、リファレンスデータ書直し処理を終了する。
[リフレッシュ処理(メモリの処理)]
図14は、本技術の第1の実施の形態におけるリフレッシュ処理の処理手順(メモリ)の一例を示す図である。同図の処理は、メモリコントローラ200からのリフレッシュリクエストがメモリコントローラインターフェース330を介して入力されることにより開始される。まず、書込制御部310が、リフレッシュ処理の対象となるページからデータの読出しを行う(ステップS961)。この際読み出されたデータは、ページバッファ380に保持される。次に、書込制御部310は、ページを構成するデータセルの全ビットに対して値「1」を書き込む(ステップS964)。次に、書込制御部310は、ページを構成するデータセルの全ビットに対して値「0」を書き込む(ステップS965)。これらにより、データセルの値の反転が行われる。最後に、書込制御部310は、ステップS961において読出したデータ(ページバッファ380に保持させたデータ)の書込みを行い(ステップS969)、リフレッシュ処理を終了する。
このように、本技術の第1の実施の形態では、ページ毎にリファレンスセルを配置し、このリファレンスセルに記憶させたリファレンスデータに基づいてデータセルにおけるデータの劣化を検出し、リフレッシュを行う。これにより、リフレッシュを行うタイミングを簡便な処理により取得することができる。
<2.第2の実施の形態>
上述の実施の形態では、リフレッシュの際、値「1」および値「0」の2度の書込みを行うことにより、データセルの値の反転を行っていた。これに対し本技術の第2の実施の形態では、1度の書込みによりデータセルの値の反転を行う。これにより、リフレッシュ処理を簡略化することができる。
[リフレッシュ処理(メモリの処理)]
図15は、本技術の第2の実施の形態におけるリフレッシュ処理の処理手順(メモリ)の一例を示す図である。まず、書込制御部310が、リフレッシュ処理の対象となるページからのデータの読出しを行う(ステップS971)。次に、書込制御部310は、読み出したデータの全ビットを反転したデータの書込みを行う(ステップS976)。最後に、書込制御部310は、読み出したデータの書込みを行い(ステップS979)、リフレッシュ処理を終了する。
これ以外のメモリ300における処理は図11乃至13において説明した処理と同様であるため、説明を省略する。また、これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
このように、本技術の第2の実施の形態によれば、1度の書込み(ステップS976)によりデータセルの値の反転を行うことができる。これにより、リフレッシュ処理の簡略化が可能となる。
<3.第3の実施の形態>
上述の第1の実施の形態では、メモリ300に対してリファレンスデータ書直しおよびリフレッシュの処理がそれぞれ異なるリクエストにより要求されていた。これに対し、本技術の第3の実施の形態では、単一のリクエストによりこれらの処理を行う。これにより、メモリコントローラ200の処理を簡略化する。
[メモリコントローラの処理]
本技術の第3の実施の形態におけるメモリコントローラ200は、リファレンスデータ書直しリクエストおよびリフレッシュリクエストに代えてリファレンスデータ書直しおよびリフレッシュリクエストをメモリ300に対して要求する。具体的には、図9において説明したステップS911およびステップS912の代わりにリファレンスデータ書直しおよびリフレッシュリクエストをメモリ300に対して要求する。
これ以外のメモリコントローラ200における処理は、図8および10において説明した処理と同様であるため説明を省略する。
[リファレンスデータ書直しおよびリフレッシュ処理]
図16は、本技術の第3の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理の処理手順の一例を示す図である。まず、書込制御部310がリフレッシュ処理の対象となるページからのデータの読出しを行う(ステップS981)。次に、書込制御部310は、リファレンスデータの反転値をデータセルおよびリファレンスセルに対して書き込む(ステップS982)。次に、書込制御部310は、リファレンスデータをデータセルおよびリファレンスセルに対して書き込む(ステップS983)。最後に、書込制御部310は、読み出したデータの書込みを行い(ステップS989)、リファレンスデータ書直しおよびリフレッシュ処理を終了する。
これ以外のメモリ300における処理は図11および12において説明した処理と同様であるため、説明を省略する。また、これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
このように、本技術の第3の実施の形態によれば、1度のリクエストによりリファレンスデータ書直しおよびリフレッシュを行うことができる。これにより、メモリコントローラ200の処理の簡略化が可能となる。
<4.第4の実施の形態>
上述の第1の実施の形態では、データセルおよびリファレンスセルに同じ電圧の書込み電圧を印加して書込みを行っていた。これに対し、本技術の第4の実施の形態では、データセルとは異なる電圧の書込み電圧をリファレンスセルに印加する。これにより、データの劣化の検出精度を向上させる。
[記憶素子の特性]
図17は、本技術の第4の実施の形態における記憶素子351の特性を示す図である。同図は、本技術の第4の実施の形態におけるリファレンスセルの記憶素子351の特性を表したものである。本技術の第4の実施の形態では、リファレンスセルには、データセルとは異なる書込み電圧を印加して書込みを行う。ここで、データセルとは異なる書込み電圧を第2の書込み電圧と称する。図6において説明したように、書込みは、セット処理およびリセット処理により行われる。セット処理の際には、データセルの書込み電圧と同じ電圧の書込み電圧がリファレンスセルに印加される。一方、リセット処理の際には、データセルの書込み電圧より低い電圧の書込み電圧がリファレンスセルに印加される。ここで、低い電圧とは、絶対値が低い電圧を表す。この書込み電圧が、上述の第2の書込み電圧に該当する。リセット処理の際の書込み電圧がセット処理の際の書込み電圧より低いため、同図に表したように、HRSの時の記憶素子351の抵抗値が低下し、同図のグラフ404の位置は、図5において説明したグラフ404と比べて閾値403に近いものとなる。ここで、同図に記載された一点鎖線は、図5におけるグラフ404の位置を表したものである。
このような場合には、閾値に近い抵抗値となるHRSの方がLRSより速く劣化する。この速く劣化する状態に対応する値をリファレンスデータの所定の値にする。例えば、HRSが値「0」に対応する場合には、値「0」をリファレンスデータの所定の値としてリファレンスセルに書き込む。データセルにおいてデータの劣化によるデータの破壊が発生する前に、リファレンスセルによるデータの劣化の検出を行うことができ、データの劣化の検出精度を向上させることができる。
これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
このように、本技術の第4の実施の形態では、データセルにおける書込み電圧とは異なる第2の書込み電圧を印加して書込みを行うことにより、劣化を早めたリファレンスデータを使用する。これにより、データの劣化の検出精度を向上させることができる。
[変形例]
上述の本技術の第4の実施の形態では、リセット処理の際に、データセルとは異なる書込み電圧をリファレンスセルに印加していた。これに対し、セット処理の際にもデータセルとは異なる書込み電圧をリファレンスセルに印加してもよい。
図4において説明したメモリセル353において、製造直後の記憶素子351は、HRSの状態にある。このメモリセル353に書込み電圧を印加し、LRSに遷移させる。この処理は、フォーミングと称される。また、この時印加される書込み電圧は、フォーミング電圧と称され、通常の書込み電圧より高い値の電圧である。このフォーミングにより記憶素子351は、図17におけるグラフ401により表されるLRSとなる。データセルおよびリファレンスセルのフォーミングにおいて同じ値のこのフォーミング電圧を使用することにより、LRSについてはデータセルおよびリファレンスセルにおいて同じ特性になる。そして、リファレンスセルのセット処理およびリセット処理の際に印加する電圧をデータセルにおける書込み電圧より絶対値が低い電圧である第2の書込み電圧にする。これにより、図17において説明したグラフ404により表されるHRSにすることができる。本技術の第4の実施の形態と同様に、データの劣化の検出精度の向上が可能になる。
<5.第5の実施の形態>
上述の本技術の第4の実施の形態では、リファレンスセルに印加する書込み電圧を変更していた。これに対し、本技術の第5の実施の形態では、リファレンスセルからの読出しの際の閾値を変更する。これにより、データの劣化の検出精度を向上させる。
[記憶素子の特性]
図18は、本技術の第5の実施の形態における記憶素子351の特性を示す図である。同図は、本技術の第5の実施の形態におけるリファレンスセルの記憶素子351の特性を表したものである。本技術の第5の実施の形態では、データセルとは異なる閾値に基づいてリファレンスセルからの読出しを行う。ここで、データセルとは異なる閾値を第2の閾値と称する。同図の閾値403は、図5において説明した閾値403と比較して、グラフ402に接近した値になっている。この閾値403が上述の第2の閾値に該当する。ここで、同図に記載された一点鎖線は、図5における閾値403の位置を表したものである。このため、HRSの方がLRSより劣化が早くなる。リファレンスデータの所定の値としてHRSに対応する値「0」を採用することにより、データの劣化の検出精度を向上させることができる。
これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
このように、本技術の第5の実施の形態では、データセルにおける閾値とは異なる第2の閾値に基づいてリファレンスセルからの読出しを行うことにより、劣化を早めたリファレンスデータを使用する。これにより、データの劣化の検出精度を向上させることができる。
<6.第6の実施の形態>
上述の第1の実施の形態では、メモリ300がデータの劣化を検出していた。これに対し、本技術の第6の実施の形態では、メモリコントローラ200がデータの劣化の検出を行い、リフレッシュ等の処理を行う。これにより、メモリ300におけるデータの劣化の検出の処理を削減することができる。
[メモリコントローラの構成]
図19は、本技術の第6の実施の形態におけるメモリコントローラ200の構成例を示す図である。このメモリコントローラ200は、劣化検出部220をさらに備える点で、図2において説明したメモリコントローラ200とは異なる。
劣化検出部220は、メモリ300に記憶されたデータの劣化を検出するものである。後述するように、本技術の第6の実施の形態におけるメモリコントローラ200は、メモリ300のページ毎に所定の値をリファレンスデータとしてデータに付加し、書込みを行う。読出し処理の際、読み出した値がリファレンスデータとして書き込んだ値と異なる場合に、劣化検出部220は、当該読出しの対象のページにおいてデータの劣化を検出する。
[メモリの構成]
図20は、本技術の第6の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、図2において説明したメモリ300と比較して、劣化検出部320を備える必要はない。
メモリコントローラ200は、ページを構成するデータの所定の領域をリファレンスデータの記憶領域として処理する。具体的には、メモリコントローラ200は、書込みを行う際、このリファレンスデータの記憶領域に該当するビットの位置にリファレンスデータを付加したデータを書込みデータとしてメモリ300に書き込む。その後、メモリコントローラ200は、読出しを行った際、読み出したデータからリファレンスデータを削除し、残りのデータを読出しデータとしてホストコンピュータに出力する。同時に、劣化検出部220により、データの劣化が検出される。また、リファレンスデータの書直しおよびリフレッシュの処理は、通常の書込み処理により実行される。このように、データの劣化の検出をメモリコントローラ200において行うため、本技術の第1の実施の形態における記憶装置とは異なり、書込みの際のプレリード時には、データの劣化の検出を行うことができない。しかし、本技術の第6の実施の形態では、通常の不揮発メモリをメモリ300として使用し、記憶装置を構成することができる。
これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
[読出し処理(メモリコントローラの処理)]
図21は、本技術の第6の実施の形態における読出し処理の処理手順(メモリコントローラ)の一例を示す図である。まず、プロセッサ210が読出しコマンドを解釈し、これに基づく読出しリクエストを生成してメモリ300に要求する(ステップS801)。次に、メモリコントローラ200は、メモリ300から読出しデータが出力されるまで待機し(ステップS802)、出力された読出しデータを取得すると(ステップS802:Yes)、ステップS803の処理に移行する。ステップS803において、ECC処理部240は、出力された読出しデータに対してECC復号、誤り検出および誤り訂正を行う。この誤り訂正に失敗した場合にはECCエラーとなり(ステップS804:Yes)、プロセッサ210は、読出しコマンドの処理が異常終了した旨をホストコンピュータ100に通知する(ステップS808)。その後、読出し処理を終了する。
一方、読出しデータに誤りが検出されなかった場合または誤り訂正に成功した場合は(ステップS804:No)、プロセッサ210は、ステップS805の処理に移行する。ステップS805において、プロセッサ210は、読出しデータをホストコンピュータ100に対して出力するとともに、読出しコマンドの処理が正常終了した旨をホストコンピュータ100に通知する(ステップS805)。次に、劣化検出部220がデータの劣化を検出した場合には(ステップS809:Yes)、プロセッサ210は、リファレンスデータ書直しおよびリフレッシュを行う(ステップS810)。その後、プロセッサ210は、読出し処理を終了する。一方、劣化検出部220がデータの劣化を検出しなかった場合には(ステップS809:No)、プロセッサ210は、ステップS810の処理をスキップして読出し処理を終了する。
[リファレンスデータ書直しおよびリフレッシュ処理(メモリコントローラの処理)]
図22は、本技術の第6の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理(ステップS810)の処理手順(メモリコントローラ)の一例を示す図である。同図の処理手順は、図21におけるステップS810に相当する処理手順である。まず、プロセッサ210は、リファレンスデータの反転値の書込みを行う(ステップS812)。これは、全てのビットをリファレンスデータの反転値とした書込みデータを該当するページに書き込むことにより行われる。次に、プロセッサ210は、リファレンスデータの書込みを行う(ステップS813)。これは、全てのビットをリファレンスデータとした書込みデータを該当するページに書き込むことにより行われる。最後に、プロセッサ210は、メモリ300から読み出したデータにリファレンスデータを付加したデータの書込みを行い(ステップS819)、リファレンスデータ書直しおよびリフレッシュ処理を終了する。
[書込み処理(メモリコントローラの処理)]
図23は、本技術の第6の実施の形態における書込み処理の処理手順(メモリコントローラ)の一例を示す図である。まず、プロセッサ210が書込みコマンドを解釈し、これに基づく書込みリクエストを生成してメモリ300に要求する(ステップS821)。次に、メモリコントローラ200は、メモリ300からのレスポンスを受信するまで待機する(ステップS822)。受信したレスポンスが書込みエラーを示すものである場合には(ステップS824:Yes)、代替処理部260により代替処理が可能か否について判断される(ステップS826)。代替処理が可能である場合には(ステップS826:Yes)、代替処理部260による代替処理が行われ、代替されたページアドレスに基づく代替書込みリクエストが要求される(ステップS827)。その後、プロセッサ210は、ステップS822からの処理に移行する。一方、ステップS826において、代替処理が可能でない場合には(ステップS826:No)、プロセッサ210は、書込みコマンドが異常終了した旨をホストコンピュータ100に対して通知し(ステップS828)、書込み処理を終了する。
一方、ステップS824において、レスポンスが書込みエラー示すものでない場合には(ステップS824:No)、プロセッサ210は、書込みコマンドが正常終了した旨をホストコンピュータ100に通知する(ステップS825)。その後、プロセッサ210は、書込み処理を終了する。
[読出し処理(メモリの処理)]
図24は、本技術の第6の実施の形態における読出し処理の処理手順(メモリ)の一例を示す図である。まず、読出制御部340がデータの読出しを行う(ステップS831)。次に、読出制御部340は、読み出したデータをメモリコントローラ200に対して出力し(ステップS832)、読出し処理を終了する。
[書込み処理(メモリの処理)]
図25は、本技術の第6の実施の形態における書込み処理の処理手順(メモリ)の一例を示す図である。まず、書込制御部310は、書込みリクエストに付随する書込みデータをページバッファ380に転送する(ステップS841)。次に、書込制御部310は、プレリードを行う(ステップS842)。次に、書込制御部310は、データの書込みを行う(ステップS845)。次に、書込制御部310は、検証を行う(ステップS847)。最後に、書込制御部310は、この検証の結果をメモリコントローラ200に通知し(ステップS848)、書込み処理を終了する。
このように、本技術の第6の実施の形態によれば、メモリコントローラにおいてデータの劣化の検出が行われるため、メモリ300におけるデータの劣化の検出を省略することができる。これにより、メモリ300の処理を簡略化することができる。
[変形例]
上述の第6の実施の形態では、本技術の第1の実施の形態とは異なり、メモリ300におけるデータの書込み(リセットおよびセット等の処理)がデータセルおよびリファレンスセルを区別することなく行われる。このため、プレリードの際、劣化により所定の値とは異なる値がリファレンスデータとして読み出された場合、リファレンスデータの書込みが発生する。すなわち、意図しないリファレンスデータの書直しがメモリ300により実行される。このため、メモリコントローラ200によるデータの劣化の検出が正確に行われない場合がある。
そこで、本技術の第1の実施の形態におけるメモリ300のように、データの書込みの際には、マスクデータによりリファレンスセルへの書込みを防止する方式を使用することができる。具体的には、図25において説明した書込み処理のうち、データの書込み(ステップS845)において、マスクデータによりリファレンスデータを記憶する領域(ビット)への書込みを防止する処理を採用する。さらに、リファレンスデータ書直しおよびリフレッシュ処理をメモリコントローラ200が要求するリクエストに基づいて実行する方式とする。具体的には、図22において説明したステップS810の処理の代わりに図9において説明したステップS910の処理をメモリコントローラ200が実行する。メモリ300は、本技術の第1の実施の形態と同様に、リファレンスデータの書直しを要求するリクエストとリフレッシュを要求するリクエストを実行できるように構成する。これにより、上述したデータの書込みの際のリファレンスデータの書直しを防止することができ、メモリコントローラ200によるデータの劣化の検出精度を向上させることができる。
<7.第7の実施の形態>
上述の第1の実施の形態では、メモリコントローラ200がメモリ300にリクエストを要求してリフレッシュ等の処理を行っていた。これに対し、本技術の第7の実施の形態では、メモリ300が独立してリフレッシュ等の処理を行う。これにより、メモリコントローラ200におけるリフレッシュ等の処理を削減することができる。
なお、本技術の第7の実施の形態におけるメモリコントローラ200には、図2において説明したメモリコントローラ200を使用することができる。また、メモリ300には、図3において説明したメモリ300を使用することができる。
[読出し処理(メモリコントローラの処理)]
図26は、本技術の第7の実施の形態における読出し処理の処理手順(メモリコントローラ)の一例を示す図である。まず、プロセッサ210が読出しコマンドを解釈し、これに基づく読出しリクエストを生成してメモリ300に要求する(ステップS701)。次に、メモリコントローラ200は、メモリ300から読出しデータが出力されるまで待機し(ステップS702)、出力された読出しデータを取得すると(ステップS702:Yes)、ステップS703の処理に移行する。ステップS703において、ECC処理部240は、出力された読出しデータに対してECC復号、誤り検出および誤り訂正を行う(ステップS703)。この誤り訂正に失敗した場合にはECCエラーとなり(ステップS704:Yes)、プロセッサ210は、読出しコマンドの処理が異常終了した旨をホストコンピュータ100に通知し(ステップS708)、読出し処理を終了する。
一方、読出しデータに誤りが検出されなかった場合または誤り訂正に成功した場合は(ステップS704:No)、プロセッサ210は、ステップS705の処理に移行する。ステップS705において、プロセッサ210は、読出しデータをホストコンピュータ100に対して出力するとともに、読出しコマンドの処理が正常終了した旨をホストコンピュータ100に通知し(ステップS705)、読出し処理を終了する。
なお、メモリコントローラ200における書込み処理の処理手順は、図23において説明した書込み処理の処理手順と同様であるため、説明を省略する。
[読出し処理(メモリの処理)]
図27は、本技術の第7の実施の形態における読出し処理の処理手順(メモリ)の一例を示す図である。まず、読出制御部340がデータの読出しを行う(ステップS731)。次に、読出制御部340は、読み出したデータをメモリコントローラ200に対して出力する(ステップS732)。次に、劣化検出部320により、データが劣化しているか否かが判断される(ステップS733)。その結果、データが劣化していた場合には(ステップS733:Yes)、読出制御部340は、リファレンスデータ書直しおよびリフレッシュ処理を行う(ステップS750)。次に、読出制御部340は、読み出したデータをデータセルに書き込む(ステップS739)。その後、読出制御部340は、読出し処理を終了する。一方、データが劣化していない場合には(ステップS733:No)、読出制御部340は、ステップS750およびS739の処理をスキップして読出し処理を終了する。
[リファレンスデータ書直しおよびリフレッシュ処理(メモリの処理)]
図28は、本技術の第7の実施の形態におけるリファレンスデータ書直しおよびリフレッシュ処理(ステップS750)の処理手順(メモリ)の一例を示す図である。同図の処理手順は、図27におけるステップS750に相当する処理手順である。まず、書込制御部310は、リファレンスデータの反転値をデータセルおよびリファレンスセルに書き込む(ステップS752)。これは、全てのビットをリファレンスデータの反転値とした書込みデータを該当するデータセルおよびリファレンスセルに書き込むことにより行われる。次に、書込制御部310は、リファレンスデータをデータセルおよびリファレンスセルに書き込む(ステップS753)。これは、全てのビットをリファレンスデータとした書込みデータを該当するデータセルおよびリファレンスセルに書き込むことにより行われる。その後、書込制御部310は、リファレンスデータ書直しおよびリフレッシュ処理を終了する。
[書込み処理(メモリの処理)]
図29は、本技術の第7の実施の形態における書込み処理の処理手順(メモリ)の一例を示す図である。まず、書込制御部310は、書込みリクエストに付随する書込みデータをページバッファ380に転送する(ステップS741)。次に、書込制御部310は、プレリードを行う(ステップS742)。このプレリードの際、劣化検出部320により、データの劣化が検出された場合には(ステップS743:Yes)、書込制御部310は、リファレンスデータ書直しおよびリフレッシュを行う(ステップS750)。その後、書込制御部310は、ステップS745の処理に移行する。一方、データの劣化が検出されなかった場合には(ステップS743:No)、書込制御部310は、ステップS750の処理をスキップしてステップS745の処理に移行する。ステップS745において、書込制御部310は、データの書込みを行う(ステップS745)。次に、書込制御部310は、検証を行い(ステップS747)、この検証の結果をメモリコントローラ200に通知し(ステップS748)、書込み処理を終了する。
このように、本技術の第7の実施の形態によれば、データの劣化の検出、リファレンスデータ書直しおよびリフレッシュの処理をメモリ300が行うため、メモリコントローラ200の処理を簡略化することができる。
<8.第8の実施の形態>
上述の第1の実施の形態では、ページ毎に1つのリファレンスセルが配置されたメモリセルアレイ350を使用していた。これに対し、本技術の第8の実施の形態では、ページ毎に複数のリファレンスセルが配置されたメモリセルアレイ350を使用する。これにより、データの劣化の検出精度を向上させることができる。
[メモリセルアレイの構成]
図30は、本技術の第8の実施の形態におけるメモリセルアレイ350の構成例を示す図である。同図のメモリセルアレイ350は、ページ毎に3ビットのリファレンスセル355が配置されて構成されている。これらのリファレンスセルから読み出されたリファレンスデータに基づいて、劣化検出部320により、データの劣化が検出される。本技術の第8の実施の形態の劣化検出部320は、リファレンスデータの多数決演算の結果に基づいて劣化の検出を行う。具体的には、過半数のリファレンスセルからリファレンスデータとして書き込んだ所定の値とは異なる値が読み出された場合に、劣化検出部320は、データが劣化したものと判断する。すなわち、複数のリファレンスセルの特性が平準化され、これに基づいてデータの劣化が検出される。これにより、リファレンスセルの特性のばらつきが大きい場合において、データの劣化の検出精度を向上させることができる。なお、多数決演算を行うため、ページ毎に配置されるリファレンスセルの個数は、奇数個にする必要がある。
これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
このように、本技術の第8の実施の形態によれば、ページ毎の複数のリファレンスデータの多数決演算の結果に基づいてデータの劣化の検出が行われるため、データの劣化の検出精度を向上させることができる。
[変形例]
上述の本技術の第8の実施の形態では、多数決演算を行っていたが、書き込んだ所定の値とは異なる値が読み出されたリファレンスセルの個数と所定の閾値とを比較することにより、データの劣化を検出してもよい。この場合においても、リファレンスセルの特性のばらつきが平準化されるためである。例えば、ページ毎に10個のリファレンスセルが配置され、閾値として7を選択することができる。この場合、7個以上のリファレンスセルにおいて異なる値が読み出された場合に、データの劣化が検出される。
<9.第9の実施の形態>
上述の第1の実施の形態では、ページ毎に1つのリファレンスセルが配置されていた。これに対し、本技術の第9の実施の形態では、複数のページ毎に1つのリファレンスセルが配置されたメモリセルアレイ350を使用する。これにより、メモリセルアレイ350のリファレンスセルの個数を削減することができる。
[メモリセルアレイの構成]
図31は、本技術の第9の実施の形態におけるメモリセルアレイ350の構成例を示す図である。同図のメモリセルアレイ350は、2つのページからなるブロック毎にリファレンスセル355が配置されて構成されている。
[メモリアクセス方法]
(a)リファレンスセルが配置されていないページに対するアクセスの場合
例えば、図31に表したページのうちの奇数アドレスのページにアクセスする場合には、次のように処理を行う。メモリコントローラ200は、図26において説明した読出し処理および図23において説明した書込み処理を実行する。また、メモリ300は、図24において説明した読出し処理および図25において説明した書込み処理を実行する。
(b)リファレンスセルが配置されているページに対するアクセスの場合
例えば、図31に表したページのうちの偶数アドレスのページにアクセスする場合には、次のように処理を行う。メモリコントローラ200は、図8において説明した読出し処理および図10において説明した書込み処理を実行する。また、メモリ300は、図11において説明した読出し処理および図12において説明した書込み処理を実行する。なお、データの劣化が検出された場合には、ブロックに含まれる全てのページに対してリフレッシュが行われる。
これらにより、メモリ300に対するアクセスを行うことができる。このアクセスはページを単位として行われるため、図31に表したブロックにおいてリファレンスセルが配置されたページと配置されていないページとはデータの劣化の度合いが異なる。しかし、これらのページは隣接するため、同一の用途に使用するデータが記憶される可能性が高い。このため、これらのページに記憶されるデータの劣化の度合いは略等しいと考えることができる。これにより、1つリファレンスセルによりブロックに記憶されたデータの劣化を検出することができる。
なお、ブロックを構成するページ数は、図31に表した例に限られない。例えば、4ページを1つのブロックにすることもできる。さらに、1つのメモリチップによりブロックを構成することもできる。この場合には、1つリファレンスセルによりメモリチップに記憶された全てのデータの劣化が検出される。また、リファレンスセルの配置は、同図に表した例に限られない。例えば、所定のページにリファレンスセルのみを配置した構成を採ることもできる。この場合には、メモリコントローラ200は、所定のタイミングでリファレンスセルからの読出しを行い、データの劣化を検出する必要がある。通常のメモリ300に対するアクセスでは、リファレンスセルに対する読出しが行われないためである。
これ以外のメモリコントローラ200およびメモリ300の構成は本技術の第1の実施の形態において説明したメモリコントローラ200およびメモリ300の構成と同様であるため、説明を省略する。
このように、本技術の第9の実施の形態によれば、複数のページにより構成されたブロック毎にリファレンスセルが配置されるため、リファレンスセルの個数を削減することができ、メモリセルアレイ350を小型化することができる。
上述のように、本技術の実施の形態によれば、リファレンスセルから読み出したリファレンスデータに基づいてデータの劣化を検出し、リフレッシュを行う。これにより、リフレッシュを行うタイミングを簡便な処理により取得することができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray(登録商標)Disc)等を用いることができる。
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
なお、本技術は以下のような構成もとることができる。
(1)書き込まれたデータを記憶するデータセルと、
前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルと
を具備する不揮発メモリ。
(2)前記所定の値とは異なる値が前記リファレンスセルから読み出された際に前記データの劣化の検出を行う劣化検出部をさらに具備する前記(1)に記載の不揮発メモリ。
(3)前記劣化検出部における前記検出の際に前記データセルのデータを書直すリフレッシュの制御と前記リファレンスデータの書直しの制御とを略同時に行う書込み制御部をさらに具備する前記(2)に記載の不揮発メモリ。
(4)前記書込み制御部は、前記データセルへの書込みと前記劣化が早い前記所定の値を前記リファレンスデータとする前記リファレンスセルへの書込みとをさらに行う前記(3)に記載の不揮発メモリ。
(5)前記データセルおよび前記リファレンスセルは、書込み電圧を印加することにより書込みが行われ、
前記書込み制御部は、前記データセルへの前記書込み電圧とは異なる第2の書込み電圧を印加することにより前記リファレンスデータを前記リファレンスセルに書き込む
前記(4)に記載の不揮発メモリ。
(6)前記データセルおよび前記リファレンスセルは、読出し電圧が印加された際に流れる電流である読出し電流を閾値に基づいて判別することにより読出しが行われ、
前記データセルからの読出しと当該データセルからの読出しの際の前記閾値とは異なる第2の閾値に基づく判別による前記リファレンスセルからの読出しとを行う読出し制御部をさらに具備し、
前記書込み制御部は、前記第2の閾値により近い値の前記読出し電流となる前記所定の値を前記リファレンスデータとして書き込む
前記(4)に記載の不揮発メモリ。
(7)前記書込み制御部は、前記データセルに記憶された値を反転させた後に前記データを書き込むことにより前記リフレッシュを行う前記(3)から(6)のいずれかに記載の不揮発メモリ。
(8)前記書込み制御部は、前記所定の値とは異なる値を書き込んだ後に前記所定の値をリファレンスデータとして書き込むことにより前記リファレンスデータの書直しを行う前記(3)から(7)のいずれかに記載の不揮発メモリ。
(9)前記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、
前記リファレンスセルは、前記ページ毎に配置され、
前記劣化検出部は、前記ページ毎に前記検出を行う
前記(2)から(8)のいずれかに記載の不揮発メモリ。
(10)前記リファレンスセルは、前記ページ毎に複数配置される前記(9)に記載の不揮発メモリ。
(11)前記劣化検出部は、前記複数のリファレンスセルから読み出された複数の前記リファレンスデータの多数決演算に基づいて前記検出を行う前記(10)に記載の不揮発メモリ。
(12)前記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、
前記リファレンスセルは、複数の前記ページからなるブロック毎に配置され、
前記劣化検出部は、前記ブロック毎に前記検出を行う
前記(2)から(8)のいずれかに記載の不揮発メモリ。
(13)書き込まれたデータを記憶するデータセルと前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルとを備える不揮発メモリの前記リファレンスセルから前記所定の値とは異なる値が読み出された際に前記データの劣化を検出する劣化検出部を具備するメモリコントローラ。
(14)書き込まれたデータを記憶するデータセルと、
前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルと、
前記所定の値とは異なる値が前記リファレンスセルから読み出された際に前記データの劣化の検出を行う劣化検出部と
を具備する記憶装置。
(15)書き込まれたデータを記憶するデータセルと、
前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルと、
前記所定の値とは異なる値が前記リファレンスセルから読み出された際に前記データの劣化の検出を行う劣化検出部と
を備える記憶装置と、
前記記憶装置にアクセスするホストコンピュータと
を具備する情報処理システム。
(16)書き込まれたデータを記憶するデータセルと前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスデータ出力手順を具備する不揮発メモリの制御方法。
100 ホストコンピュータ
110、210 プロセッサ
120、330 メモリコントローラインターフェース
200 メモリコントローラ
220 劣化検出部
230 ホストインターフェース
240 ECC処理部
250 アドレス変換部
260 代替処理部
270 メモリインターフェース
280 バッファ
300 メモリ
310 書込制御部
320 劣化検出部
340 読出制御部
350 メモリセルアレイ
351 記憶素子
352 MOSトランジスタ
353 メモリセル
354 データセル
355 リファレンスセル
380 ページバッファ

Claims (16)

  1. 書き込まれたデータを記憶するデータセルと、
    前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルと
    を具備する不揮発メモリ。
  2. 前記所定の値とは異なる値が前記リファレンスセルから読み出された際に前記データの劣化の検出を行う劣化検出部をさらに具備する請求項1記載の不揮発メモリ。
  3. 前記劣化検出部における前記検出の際に前記データセルのデータを書直すリフレッシュの制御と前記リファレンスデータの書直しの制御とを略同時に行う書込み制御部をさらに具備する請求項2記載の不揮発メモリ。
  4. 前記書込み制御部は、前記データセルへの書込みと前記劣化が早い前記所定の値を前記リファレンスデータとする前記リファレンスセルへの書込みとをさらに行う請求項3記載の不揮発メモリ。
  5. 前記データセルおよび前記リファレンスセルは、書込み電圧を印加することにより書込みが行われ、
    前記書込み制御部は、前記データセルへの前記書込み電圧とは異なる第2の書込み電圧を印加することにより前記リファレンスデータを前記リファレンスセルに書き込む
    請求項4記載の不揮発メモリ。
  6. 前記データセルおよび前記リファレンスセルは、読出し電圧が印加された際に流れる電流である読出し電流を閾値に基づいて判別することにより読出しが行われ、
    前記データセルからの読出しと当該データセルからの読出しの際の前記閾値とは異なる第2の閾値に基づく判別による前記リファレンスセルからの読出しとを行う読出し制御部をさらに具備し、
    前記書込み制御部は、前記第2の閾値により近い値の前記読出し電流となる前記所定の値を前記リファレンスデータとして書き込む
    請求項4記載の不揮発メモリ。
  7. 前記書込み制御部は、前記データセルに記憶された値を反転させた後に前記データを書き込むことにより前記リフレッシュを行う請求項3記載の不揮発メモリ。
  8. 前記書込み制御部は、前記所定の値とは異なる値を書き込んだ後に前記所定の値をリファレンスデータとして書き込むことにより前記リファレンスデータの書直しを行う請求項3記載の不揮発メモリ。
  9. 前記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、
    前記リファレンスセルは、前記ページ毎に配置され、
    前記劣化検出部は、前記ページ毎に前記検出を行う
    請求項2記載の不揮発メモリ。
  10. 前記リファレンスセルは、前記ページ毎に複数配置される請求項9記載の不揮発メモリ。
  11. 前記劣化検出部は、前記複数のリファレンスセルから読み出された複数の前記リファレンスデータの多数決演算に基づいて前記検出を行う請求項10記載の不揮発メモリ。
  12. 前記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、
    前記リファレンスセルは、複数の前記ページからなるブロック毎に配置され、
    前記劣化検出部は、前記ブロック毎に前記検出を行う
    請求項2記載の不揮発メモリ。
  13. 書き込まれたデータを記憶するデータセルと前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルとを備える不揮発メモリの前記リファレンスセルから前記所定の値とは異なる値が読み出された際に前記データの劣化を検出する劣化検出部を具備するメモリコントローラ。
  14. 書き込まれたデータを記憶するデータセルと、
    前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルと、
    前記所定の値とは異なる値が前記リファレンスセルから読み出された際に前記データの劣化の検出を行う劣化検出部と
    を具備する記憶装置。
  15. 書き込まれたデータを記憶するデータセルと、
    前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスセルと、
    前記所定の値とは異なる値が前記リファレンスセルから読み出された際に前記データの劣化の検出を行う劣化検出部と
    を備える記憶装置と、
    前記記憶装置にアクセスするホストコンピュータと
    を具備する情報処理システム。
  16. 書き込まれたデータを記憶するデータセルと前記データセルと同一チップに形成されて前記データと略同時に所定の値をリファレンスデータとして記憶して前記データの劣化を検出するために前記リファレンスデータを出力するリファレンスデータ出力手順を具備する不揮発メモリの制御方法。
JP2015139554A 2015-07-13 2015-07-13 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法 Pending JP2017021877A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015139554A JP2017021877A (ja) 2015-07-13 2015-07-13 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法
PCT/JP2016/063542 WO2017010147A1 (ja) 2015-07-13 2016-05-02 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015139554A JP2017021877A (ja) 2015-07-13 2015-07-13 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法

Publications (1)

Publication Number Publication Date
JP2017021877A true JP2017021877A (ja) 2017-01-26

Family

ID=57756933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015139554A Pending JP2017021877A (ja) 2015-07-13 2015-07-13 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法

Country Status (2)

Country Link
JP (1) JP2017021877A (ja)
WO (1) WO2017010147A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018163731A1 (ja) * 2017-03-09 2018-09-13 ソニーセミコンダクタソリューションズ株式会社 制御回路、半導体記憶装置、情報処理装置及び制御方法
WO2018163737A1 (ja) * 2017-03-09 2018-09-13 ソニーセミコンダクタソリューションズ株式会社 制御回路、半導体記憶装置、情報処理装置及び制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4282612B2 (ja) * 2005-01-19 2009-06-24 エルピーダメモリ株式会社 メモリ装置及びそのリフレッシュ方法
US8872542B2 (en) * 2010-09-21 2014-10-28 Nec Corporation Semiconductor device and semiconductor device control method
JP5138836B2 (ja) * 2011-04-13 2013-02-06 パナソニック株式会社 参照セル回路とそれを用いた抵抗変化型不揮発性記憶装置
JP5853906B2 (ja) * 2012-08-24 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018163731A1 (ja) * 2017-03-09 2018-09-13 ソニーセミコンダクタソリューションズ株式会社 制御回路、半導体記憶装置、情報処理装置及び制御方法
WO2018163737A1 (ja) * 2017-03-09 2018-09-13 ソニーセミコンダクタソリューションズ株式会社 制御回路、半導体記憶装置、情報処理装置及び制御方法
KR20190125320A (ko) * 2017-03-09 2019-11-06 소니 세미컨덕터 솔루션즈 가부시키가이샤 제어 회로, 반도체 기억 장치, 정보 처리 장치 및 제어 방법
US10971197B2 (en) 2017-03-09 2021-04-06 Sony Semiconductor Solutions Corporation Control circuit, semiconductor memory device, information processing device, and control method
US11087813B2 (en) 2017-03-09 2021-08-10 Sony Semiconductor Solutions Corporation Control circuit, semiconductor memory device, information processing device, and control method
KR102432411B1 (ko) 2017-03-09 2022-08-16 소니 세미컨덕터 솔루션즈 가부시키가이샤 제어 회로, 반도체 기억 장치, 정보 처리 장치 및 제어 방법

Also Published As

Publication number Publication date
WO2017010147A1 (ja) 2017-01-19

Similar Documents

Publication Publication Date Title
US11231992B2 (en) Memory systems for performing failover
US8892981B2 (en) Data recovery using outer codewords stored in volatile memory
KR101950758B1 (ko) 반도체 장치
US20100269000A1 (en) Methods and apparatuses for managing bad memory cell
EP2800097B1 (en) Storage control device, storage device, information processing system, and processing methods therefor
CN101763904A (zh) 非易失性存储装置及其操作方法
KR102535110B1 (ko) 저장 장치 및 그 동작 방법
WO2017033534A1 (ja) メモリ、情報処理システムおよびメモリの制御方法
CN114446375A (zh) 计算系统及其操作方法
EP2799998A1 (en) Storage control device, storage device, information processing system, and processing methods in same
JP2015011421A (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
US20180211696A1 (en) Semiconductor systems performing double-write operations and methods of operating the same
CN112052116A (zh) 存储器系统、存储器控制器和元信息存储装置
WO2017010147A1 (ja) 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法
JP6711281B2 (ja) メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
KR20200056880A (ko) 저장 장치 및 그 동작 방법
CN103577341A (zh) 存储控制装置、存储装置及其处理方法
KR20170133545A (ko) 반도체장치 및 반도체시스템
CN112349315A (zh) 存储器系统、存储器控制器和操作方法
WO2016035451A1 (ja) 記憶制御装置、記憶装置、および、記憶制御方法
US20220276802A1 (en) Nonvolatile memory device, memory controller, and reading method of storage device including the same
WO2017073127A1 (ja) メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
KR20180055148A (ko) 반도체장치 및 반도체시스템
KR20180027655A (ko) 테스트방법 및 이를 이용한 반도체시스템
US10002673B2 (en) Flash memory data storage device and programming method thereof