JP2008198310A - ビットエラーの修復方法および情報処理装置 - Google Patents

ビットエラーの修復方法および情報処理装置 Download PDF

Info

Publication number
JP2008198310A
JP2008198310A JP2007034848A JP2007034848A JP2008198310A JP 2008198310 A JP2008198310 A JP 2008198310A JP 2007034848 A JP2007034848 A JP 2007034848A JP 2007034848 A JP2007034848 A JP 2007034848A JP 2008198310 A JP2008198310 A JP 2008198310A
Authority
JP
Japan
Prior art keywords
error
semiconductor memory
stored
data
nonvolatile semiconductor
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
JP2007034848A
Other languages
English (en)
Inventor
Takashi Oshikiri
崇 押切
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.)
MegaChips Corp
Original Assignee
MegaChips LSI Solutions Inc
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 MegaChips LSI Solutions Inc filed Critical MegaChips LSI Solutions Inc
Priority to JP2007034848A priority Critical patent/JP2008198310A/ja
Priority to US12/020,187 priority patent/US8914702B2/en
Publication of JP2008198310A publication Critical patent/JP2008198310A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】フラッシュメモリにおいて発生するビットエラーを効果的に修復する。
【解決手段】フラッシュメモリ4から読み出される一時記憶データのエラーをチェックするエラー訂正機能を備える。エラーが発見されると、そのエラー情報は、レジスタ9に一時記憶された後、適切なタイミングで不揮発性メモリ6に記憶される。電源投入時などの適切なタイミングで、不揮発性メモリ6に記憶されたエラー情報に基づき、エラーが発見された一時記憶データを再度読み出してエラー訂正を行ってフラッシュメモリ4に書き戻す。リードディスターブなどの回復可能なビットエラーを修復することができる。通常の読み出し処理が支障なく実行でき、ユーザに不快感を与えなくて済む。
【選択図】図1

Description

本発明は、リードディスターブ等によって、不揮発性半導体メモリにおいて発生するビットエラーの修復方法、およびその修復方法を実現する情報処理装置に関する。
不揮発性半導体メモリ、たとえば、フラッシュメモリは、単純な回路構成による高集積化や製造コスト減、ユーザによる書き込みの容易化を図ることができるため、SDメモリカードなどに大量に採用され、最近では、ゲーム機などに多用されている。
しかし、ゲーム機などでは、ROMのように、記憶された特定のデータが繰り返し読み出されることが多いため、記憶されているビットデータが変化してエラーを生じ、トラブルを招くおそれが指摘され始めている。このような現象はリードディスターブ(Read Disturb)と呼ばれる。本現象が発生するメカニズムについて、以下に簡単に説明する。
図6は、NANDフラッシュメモリの模式図を示している。NANDフラッシュメモリは、格子状に配線されたビット線41とワード線42、43、44、メモリセル52、53、選択レジスタ54などで構成されている。
たとえば、メモリセル52に格納されている“0”または“1”の1ビットのデータ(ビットデータ)を読み出す場合を考える。この場合、メモリセル52は選択セル52、メモリセル53は非選択セル53と呼ばれる。まず、選択レジスタ54により、選択セル52が属するビット線41が指定される。次に、選択セル52が属するワード線42に対して、低ゲート電圧V(Low)、たとえば0Vが印加される。そして、非選択セル53が属するワード線43に対して、高ゲート電圧V(High)、たとえば5Vが印加される。
このとき、非選択セル53のフローティングゲートに電子が蓄積される可能性がある。すなわち、選択セル52に格納されるビットデータが繰り返し読み出されると、経時的に非選択セル53に電子がトラップされて電子が蓄積していき、そこに格納されているビットデータが、たとえば“1”から“0”に意図せず書き換えられてエラーを生じる可能性がある。
仮に、非選択セル53に格納されているビットデータが意図せず書き換えられても、非選択セル53に書き込みや消去が行われれば、非選択セル53は回復する。しかし、非選択セル53に書き込みや消去が発生しない場合には、非選択セル53のビットデータはエラーのまま保持されるため、非選択セル53が関連するプログラムの実行にトラブルが発生するのである。
つまり、ここでいうビットエラーとは、物理的な損傷による不可逆的なエラーではなく、記憶されたビットデータが、経時的に変化して発生する可逆的なエラーである。なかでも、リードディスターブによるビットエラー(リードディスターブエラー)は、書き込みや消去が行われることなく、フラッシュメモリの特定の記憶領域において読み出し処理が繰り返し実行されることで発生する。
リードディスターブエラーの回避に関する文献として、たとえば、以下の特許文献が挙げられる。ただし、そこでは、メモリセル内部の制御によりビットエラーを回避している。
フラッシュメモリでは、読み出したデータにエラーがあれば、そのエラーを訂正して出力するエラー訂正機能を実装することが一般に行われている。エラー訂正機能としては、たとえばECC(Error Check and Correct)がある。それによれば、予めECC(Error−Correcting Code、エラー訂正コード)をフラッシュメモリに組み込むことで、数ビットであれば、フラッシュメモリ内でエラー(ビットエラーを含む)が発生していても、データの読み出し前にエラーをチェックして、エラー訂正を行うことができる。記憶データにエラーがあっても、正しいデータが読み出されるので、フラッシュメモリの信頼性を確保することできる。たとえば、ある方式であれば、64ビットのデータについて8ビットのエラー訂正コードが設定されていた場合、1ビットのエラーであれば訂正して出力することができる。
米国特許出願公開第2005/0210184号明細書
しかし、ビットエラーは、たとえばNAND型フラッシュメモリでは上述のとおり選択セルの周りの非選択セルに発生する。したがって、その発生箇所や発生数は特定が困難なうえ、多数発生するおそれがあるため、ECC等の従来のエラー訂正機能では訂正能力を超えてトラブルを招くリスクが高いと考えられる。さらに、この種のエラー訂正機能は、通常、エラーを訂正して出力するに止まり、不揮発性半導体メモリを修復する機能までは備えていない。
不揮発性半導体メモリを修復するにしても、いつ修復を行うかは、この種の製品特性上、極めて重要な問題である。たとえば、ゲームの実行中に、不揮発性半導体メモリの修復を行えば、その間、ゲームプログラムの読み出しにストレスがかかってゲームは中断、遅延し、ユーザに著しく不快な状況を招くこととなるからである。
そこで、本発明は、ユーザに不快感を与えることなく、不揮発性半導体メモリにおいて発生するビットエラーを効果的に修復できる方法、およびその修復方法を実現する情報処理装置の提供を目的とする。
上記課題を解決するため、請求項1に記載の本発明は、第1不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、前記第1不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、前記記憶データのエラーに関するエラー情報を第2不揮発性半導体メモリに記憶する工程と、所定のタイミングにおいて、前記エラー情報に基づいて、前記第1不揮発性半導体メモリからエラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すビットエラー修復工程と、を含むことを特徴とする。
請求項2に記載の本発明は、第1不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、ホストシステムが、前記第1不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データを一時記憶データとして一時的に記憶する工程と、前記一時記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、前記一時記憶データのエラーに関するエラー情報を揮発性の記憶手段に一時記憶する工程と、所定のタイミングにおいて、前記エラー情報を第2不揮発性半導体メモリに記憶する工程と、所定のタイミングにおいて、前記第2不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第1不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すビットエラー修復工程と、を含むことを特徴とする。
請求項3に記載の本発明は、請求項1または請求項2に記載のビットエラーの修復方法であって、前記ビットエラー修復工程が、電源投入時に実行されることを特徴とする。
請求項4に記載の本発明は、請求項1ないし請求項3のいずれかに記載のビットエラーの修復方法であって、前記ビットエラーが、リードディスターブエラーを含むことを特徴とする。
請求項5に記載の本発明は、第1不揮発性半導体メモリと、前記第1不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行うエラー訂正部と、前記記憶データのエラーに関するエラー情報を記憶する第2不揮発性半導体メモリと、を備え、所定のタイミングにおいて、前記エラー情報に基づいて、前記第1不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置である。
請求項6に記載の本発明は、第1不揮発性半導体メモリと、第2不揮発性半導体メモリと、前記第1不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べ、エラーがあればエラー訂正を行うエラー訂正部と、前記第1不揮発性半導体メモリと前記ホストシステムとの間に設けられるメモリコントローラと、を備え、前記メモリコントローラは、一時記憶データとして前記記憶データを一時的に記憶する一時記憶部と、前記一時記憶データのエラーに関するエラー情報を一時記憶する揮発性の記憶手段と、を含み、前記記憶手段に一時記憶された前記エラー情報が、所定のタイミングにおいて、前記第2不揮発性半導体メモリに記憶され、所定のタイミングにおいて、前記第2不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第1不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを前記一時記憶部に読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置である。
請求項7に記載の本発明は、請求項5または請求項6に記載の情報処理装置であって、ビットエラーの修復が、電源投入時に実行されることを特徴とする。
請求項8に記載の本発明は、請求項5ないし請求項7のいずれかに記載の情報処理装置であって、前記ビットエラーが、リードディスターブエラーを含むことを特徴とする。
読み出されるデータにエラーがあれば、そのエラーを訂正するエラー訂正機能の補完機能として、回復可能なビットエラーを適宜修復する機構を設けたので、エラー訂正能力を超えるリスクを少なくすることができ、より不揮発性半導体メモリの信頼性を向上させることができる。
第2不揮発性半導体メモリにエラー情報を記憶することなどによって、ビットエラーの修復に関わる一連の処理を適切なタイミングで実行できるようにしたので、その処理によってゲームの中断や遅延を招いてユーザに不快感を与えなくて済む。
図1は、本発明にかかるビットエラーの修復方法を実現する情報処理装置の構成を示すブロック図である。図1に示すように、情報処理装置1は、ホストシステム2、メモリコントローラ3、第1不揮発性半導体メモリ4(フラッシュメモリ4)などで構成される。情報処理装置1の具体例を挙げると、たとえば、ゲーム機などである。
本実施の形態では、情報処理装置1としてゲーム機を例に説明する。この場合、メモリコントローラ3とフラッシュメモリ4は、SDカードなどの記憶媒体5に一体に実装されて、ゲームカートリッジの形態でゲーム機に着脱自在に装着される。なお、メモリコントローラ3やフラッシュメモリ4は、情報処理装置1と一体に装着されていてもよい。
{ホストシステム}
ホストシステム2は、情報処理装置1の全体制御を行う中枢処理部であり、演算部、制御部、記憶部、入出力部などで構成されている。具体的には、情報処理装置1には、CPUやROM、モニター、操作ボタンなどが備えられており、ホストシステム2によってこれらが制御されている。たとえば、ユーザが操作する操作ボタンからの指示を受けて、フラッシュメモリ4に記憶されているゲーム等のプログラムを読み出す処理や、読み出されるゲームプログラムに基づいてモニターにゲームの動画等を表示する処理を実行する。
ホストシステム2は、さらに、第2不揮発性半導体メモリ6(不揮発性メモリ6)を備えている。不揮発性メモリ6は、フラッシュメモリ4に記憶されている記憶データに発生するエラー(ビットエラーを含む)に関するエラー情報を記憶する機能を有している。その詳細については後述する。なお、不揮発性メモリ6は、本実施の形態のように、必ずしも情報処理装置1側に備えられている必要はなく、記憶媒体5側に設けられていてもよい。
{メモリコントローラ}
メモリコントローラ3は、ホストシステム2からの要求に応じてフラッシュメモリ4に記憶されているデータの読み出し等の処理を行う処理部である。つまり、メモリコントローラ3は、ホストシステム2とフラッシュメモリ4とに対するインターフェース機能を有し、ホストシステム2との間でコマンドやデータの入出力処理を行う。また、ホストシステム2から出力されたコマンドにより、あるいは自装置の機能に基づいてフラッシュメモリ4からデータの読み出し、フラッシュメモリ4へのデータの書き込み等の処理を行う。
メモリコントローラ3は、フラッシュメモリ4から読み出されたデータを一時的に記憶する一時記憶部7(SRAM:Static Random Access Memory)や、一時記憶部7に記憶されたデータ(一時記憶データ)に存在するエラーを訂正するエラー訂正部8、一時記憶データで発見されたエラーの情報を一時記憶する揮発性メモリからなるレジスタ9(揮発性の記憶手段)などを備える。
メモリコントローラ3は、ホストシステム2からの読み出し要求があれば、それに応じてフラッシュメモリ4から記憶データを読み出し、一時記憶部7に一時記憶する。そして、その一時記憶部7に記憶された一時記憶データが、ホストシステム2によって読み出されるのであるが、その読み出し前に、一時記憶データにエラーがあれば、エラー訂正部8によってエラー訂正が行われ、正しいデータが出力されるようになっている。
すなわち、エラー訂正部8は、たとえば、公知のエラー訂正機能(ECC)に基づく機能を備え、エラー訂正コードを用いて一時記憶部7に記憶される一時記憶データをチェックする。そして、エラーがあれば、そのエラーを訂正する処理を実行する。したがって、フラッシュメモリ4に記憶されているゲームプログラム等の格納領域にビットエラーがあっても、エラー訂正部8によるエラー訂正機能の発揮によって、フラッシュメモリ4の信頼性は確保される。たとえば、一時記憶データ中4ビット以内のエラー訂正が可能な訂正能力であれば、2ビットや3ビットのエラーであれば、正しいデータに訂正して出力される。
しかし、フラッシュメモリ4に存在しているエラーはそのままであるため、エラーが蓄積して4ビットを超えると、訂正は不可能となってしまう。そのため、修復可能なビットエラーを修復する機能を設けることによって、エラー訂正機能を補完し、エラー訂正機能がより効果的に発揮できるようになっている。
本実施の形態のレジスタ9は、エラー訂正部8によって一時記憶データ中にエラーが発見されると、そのエラー情報を一時記憶する。そして、所定の適切なタイミングでレジスタ9に記憶されたエラー情報が、ホストシステム2によって読み出され、不揮発性メモリ6に記憶されるようになっている。レジスタ9に一時記憶させることで、書き込み時間を要する不揮発性メモリへの書き込み処理を適切なタイミングで行えるため、記憶データの読み出し効率の低下を防ぐことができる。
{第1不揮発性半導体メモリ}
第1不揮発性半導体メモリ4は書き換え可能な不揮発性半導体メモリであり、たとえば、フラッシュメモリが該当する。フラッシュメモリには、たとえば、NOR型フラッシュメモリやNAND型フラッシュメモリがある。なかでも本発明は、NAND型フラッシュメモリに好適であるため、以下、第1不揮発性半導体メモリ4はNAND型フラッシュメモリとして説明するが、その型までは限定はしない。なお、第1不揮発性半導体メモリ4に書き戻さずに他のメモリに書き戻す場合には、必ずしも第1不揮発性半導体メモリ4は、書き換え可能でなくともよい。
フラッシュメモリ4には、ゲームのアプリケーションプログラム等、各種プログラムを構成するデータが記憶されており(記憶データ)、フラッシュメモリ4の記憶領域は、この記憶データが記憶されるデータ記憶領域と、エラー訂正コード等のエラー訂正データが記憶される冗長領域とを有する。記憶領域は、書き込み、読み出し単位であるページ10と、複数のページ10で構成されて、データの消去単位であるブロック11とで構成されている(図3参照)。
フラッシュメモリ4のデータ記憶領域には、ゲームプログラム等を記憶する使用領域12に加えて、データが記憶されていない未使用領域13が設けられている。また、フラッシュメモリ4には、これに記憶されているデータの格納情報を管理するFAT(File Allocation Tables)等の管理テーブルが備えられている(図示せず)。
{ビットエラーの修復}
次に、上記構成の情報処理装置1におけるビットエラーの修復について具体的に説明する。
図2は、ビットエラーの修復に関する処理手順を示したものである。本実施の形態では、ビットエラーの修復によってユーザに不快な状況を招くことがないよう、その処理が適切な所定のタイミングで実行できるように工夫されている。以下、図2の処理手順に沿って説明する。
ユーザによってゲーム機である情報処理装置1に電源が投入され、ゲームが起動されると、ホストシステム2からメモリコントローラ3に、フラッシュメモリ4に記憶されているゲームプログラムを読み出すためのリードコマンドが送信される(ステップS1)。メモリコントローラ3は、リードコマンドを受信すると、指示されたゲームプログラムの記憶データをフラッシュメモリ4から読み出して、一時記憶データとして一時記憶部7に一時記憶する(ステップS2)。
一時記憶データの読み出しの際には、その一時記憶データに対応したエラー訂正コードもフラッシュメモリの冗長領域から読み出される。その一時記憶データのエラー訂正記号に基づき、エラー訂正部8によって、エラーがあるか否かがチェックされ、エラーがあればエラー訂正が行われる(ステップS3)。
そして、エラーのない正しい一時記憶データが、ホストシステム2によって一時記憶部7から読み出されるのである(ステップS4)。
このように、フラッシュメモリ4から読み出される一時記憶データは、通常の読み出し処理の下では、フラッシュメモリ4に記憶されている記憶データにエラーがあっても、エラー訂正機能によって訂正されるため、読み出されるデータの信頼性は確保されている。そして、これら一連の読み出し処理の繰り返しにより、フラッシュメモリ4からゲームプログラムが読み出され、ユーザがゲームを楽しめるようになっている。
しかし、フラッシュメモリ4に発生したエラーはそのまま残存するため、経時的にエラーの数が蓄積してエラー訂正能力を超えると、もはや訂正はできず、ゲームにトラブルを生じるおそれがある。また、そのエラーを修復するにしても、ゲームの中断や遅延が度々生じると、ユーザに著しい不快感を与えるため、ゲームプログラムの読み出し中に割り込む処理は極力避けるのが好ましい。そのため、記憶データの読み出しにストレスを与えずビットデータの修復を行うことができる、次のような補完機能が設けられている(ステップS5〜ステップS9)。
すなわち、エラー訂正部8が一時記憶データ中にエラーを発見した場合、そのエラー情報がメモリコントローラ3のレジスタ9に一時記憶される(ステップS5)。この処理は、先のステップS3の処理と連動しており、エラーが発見されるごとに、そのエラー情報はレジスタ9に一時記憶されて蓄積される。ここで、エラー情報とは、たとえば、エラーが発見されたページ10のページ番号やアドレスなどであり、エラーのある記憶データの特定ができる情報である。したがって、その情報量は僅かであるため、これを記憶するレジスタ9の記憶容量は小さくてよい。
情報処理装置1の電源が切断されると、レジスタ9に一時記憶されているエラー情報は消去される。そのため、電源切断前の適切な所定のタイミングで、レジスタ9に一時記憶されているエラー情報は、ホストシステム2によって読み出され、不揮発性メモリ6に記憶される(ステップS6)。
ここでいう適切な所定のタイミングとは、ゲームプログラムの読み出しに中断や遅延を生じない所定のタイミング、あるいは、多少のゲームの中断や遅延を生じてもユーザに不快感を与えないタイミングである。ゲームプログラムの読み出しに支障がなければ、エラー発見時でもよいが、たとえば、情報処理装置1の電源スイッチをオフにするタイミングなどのゲーム終了後の電源切断前、データのバックアップ時、ゲームプログラムのアイドル(idle)時などが好適である。
続いて、適切な所定のタイミングでビットエラーを修復する処理が行われる(ビットエラー修復工程)。ビットエラーの修復処理は、比較的時間を要するうえ、その処理の実行中は記憶データの読み出し処理が行えない。そこで、電源が切断されてもエラー情報が消失しない不揮発性メモリ6にエラー情報を記憶し、先の電源切断前の適切なタイミングだけでなく、電源投入時や、情報処理装置の充電中など、任意のタイミングでビットエラーの修復処理が行えるようにした。
その中でも電源投入の際に実行させるのが好適である。すなわち、電源投入時のゲームの実行前であれば、ゲームプログラムの読み出し処理に優先してビットエラーの修復を行っても、ユーザに不快感を与えることがないからである。また、ゲームの実行前に、フラッシュメモリ4のエラーを修復することで、その後のゲームプログラムの読み出し時のエラー訂正機能を効果的に発揮させることにもなる。
ビットエラーの修復処理は、ホストシステム2が不揮発性メモリ6にエラー情報が記憶されているか否かを調べることから始まる。そして、エラー情報が記憶されていた場合に、ホストシステム2からメモリコントローラ3に、フラッシュメモリ4に存在するビットエラーの修復を指示する修復コマンドが送信される(ステップS7)。
ホストシステム2からメモリコントローラ3に修復コマンドが送信されると、不揮発性メモリ6に記憶されているエラー情報に基づいて、フラッシュメモリ4からエラーが存在する記憶データが一時記憶部7に読み出される(ステップS8)。一時記憶部7に記憶された一時記憶データは、読み出し処理と連動した形でエラー訂正部8によってエラー訂正が行われ、正しいデータが一時記憶部7に保持される。そして、このエラー訂正された一時記憶データを、再度フラッシュメモリ4に書き戻すのである(ステップS9)。エラー情報が複数ある場合は、これら一連の処理が繰り返し実行される。そして、全てのエラー情報についての処理が終了すれば、不揮発性メモリ6に記憶されているエラー情報は消去される(初期化)。
次に、書き戻し処理について具体的に説明する。図3は、フラッシュメモリ4の記憶領域を示す図である。先に説明したとおり、フラッシュメモリ4の記憶領域は、書き込み、読み出し単位であるページ10と、複数のページ10で構成された記憶データの消去単位であるブロック11とを含んで構成されている。すなわち、フラッシュメモリ4では、ブロック単位の一括消去でしか記録データの消去ができず、消去が行われた未使用の領域にしかデータの書き込みができない。同じブロックの他のページを消去せずに、エラーが発生したページだけを書き換えることはできないのである。
ここでは説明上、図3の(a)に示すように、P1〜P3の複数のページ10で一つのブロック11aが形成されていて、その中のP2のページ10aにエラーが発見されたものとする。
書き戻し処理の一つとしては、図3の(b)に示すように、エラーが発見されたP2のページ10aを含むブロック11aの記憶データを、一時記憶部7を含む情報処理装置1の他の記憶装置に別途一時記憶したうえで、そのブロック11aを一括消去する。そして、図3の(c)に示すように、その消去したブロック11aに、エラー訂正を行った新たなP1〜P3のページ10を含むブロック11bを書き込む。とくに、物理的に元のP2のページ10aの周辺に配置されていて、エラーがなくとも潜在的にビットエラーを生じる可能性のあるページ10も同時に書き戻しされてビットデータが回復するため、ビットエラーの予防として効果的である。
図4および図5は、フラッシュメモリ4の未使用領域13を利用した書き戻し処理を示している。この場合、情報処理装置1には、FAT等、フラッシュメモリ4に記憶されている記憶データの格納情報を管理する管理手段を設けておく。
図4は、ブロック単位での処理を示したものであり、エラー訂正を行った新たなP1〜P3のブロック11bを未使用領域13に記憶するとともに、管理手段によって、ページ10の読み出し実行順序をこれら新たなページ10へ組み替えるのである。これによれば、ブロック単位のページ10を別途一時記憶する必要がない分、処理効率上有利である。元のブロック11aは、記憶領域12であっても消去して再利用できるため、別のデータを記憶してもよいし、未使用領域13に記憶した新たなP1〜P3のページ10を再度元のブロック11aに書き戻してもよい。
図5は、ページ単位での処理を示している。この場合、ブロック単位で処理しなくてもよいからである。具体的には、一時記憶部7に記憶されてエラー訂正が行われたP2のページ10aの一時記憶データを、未使用領域13に新たなP2のページ10bとして書き込む。そして、管理手段によって、元のP2のページ10aから新たなP2のページ10bへ、ページの読み出し実行順序を新たに組み替えればよい。
以上のように、通常の使用状態では、エラー訂正機能によって読み出されるデータの信頼性が確保されているため、記憶されているデータにエラーがあっても、そのデータで実現されるゲーム等は適正かつ円滑に動作する。そして、そのエラー訂正機能の補完機能として、回復可能なビットエラーを適宜修復する機構を設けたことで、エラー訂正能力を超えるリスクを少なくすることができ、よりフラッシュメモリ4の信頼性を向上させることができるようになっている。
また、不揮発性メモリ6にエラー情報を記憶することなどによって、適切なタイミングでビットエラーの修復が実行できるようになっているため、その処理によってゲームの中断や遅延を招いてユーザに不快感を与えることがない。
上記の実施の形態では、レジスタ9を介して不揮発性メモリ6にエラー情報を記憶する例を説明したが、レジスタ9は必須ではない。直接不揮発性メモリ6にエラー情報を記憶するようにしてもよい。
不揮発性メモリ6を記憶媒体5側に設け、メモリコントローラ3によってビットエラーの修復処理を実行するようにしてもよい。たとえば、記憶媒体5に実装されているEEPROMや、バックアップデバイスとして実装されているフラッシュメモリなど、既存の記憶手段が不揮発性メモリ6として有効活用できる。
不揮発性メモリ6として、第1不揮発性半導体メモリ4の未使用領域13を利用してもよい。すなわち、上記の実施の形態において、不揮発性メモリ6に代えて、レジスタ9に一時記憶されたエラー情報をフラッシュメモリ4の未使用領域13に記憶するのである。これによれば、別途不揮発性メモリ6を設ける必要がなくなり、コスト面等で有利である。
エラー訂正部8は、必ずしもメモリコントローラ3に備えられている必要はなく、ホストシステム2等、情報処理装置1のいずれかに備えられていればよい。
情報処理装置1がネットワークにアクセスする手段を備えるものであれば、不揮発性メモリ6に代えて、専用サーバ等、ネットワーク上に設けられた記憶手段を利用してもよい。
情報処理装置の構成を示すブロック図である。 ビットエラーの修復の処理手順を示す図である。 第1不揮発性半導体メモリの記憶領域の構成を示す図である。 第1不揮発性半導体メモリの記憶領域の構成を示す図である。 第1不揮発性半導体メモリの記憶領域の構成を示す図である。 リードディスターブを説明するための図である。
符号の説明
1 情報処理装置
2 ホストシステム
4 第1不揮発性半導体メモリ
5 記憶媒体
6 第2不揮発性半導体メモリ
7 一時記憶部
8 エラー訂正部
9 記憶手段

Claims (8)

  1. 第1不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、
    前記第1不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、
    前記記憶データのエラーに関するエラー情報を第2不揮発性半導体メモリに記憶する工程と、
    所定のタイミングにおいて、前記エラー情報に基づいて、前記第1不揮発性半導体メモリからエラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すビットエラー修復工程と、
    を含むことを特徴とするビットエラーの修復方法。
  2. 第1不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、
    ホストシステムが、前記第1不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データを一時記憶データとして一時的に記憶する工程と、
    前記一時記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、
    前記一時記憶データのエラーに関するエラー情報を揮発性の記憶手段に一時記憶する工程と、
    所定のタイミングにおいて、前記エラー情報を第2不揮発性半導体メモリに記憶する工程と、
    所定のタイミングにおいて、前記第2不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第1不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すビットエラー修復工程と、
    を含むことを特徴とするビットエラーの修復方法。
  3. 請求項1または請求項2に記載のビットエラーの修復方法であって、
    前記ビットエラー修復工程が、電源投入時に実行されることを特徴とするビットエラーの修復方法。
  4. 請求項1ないし請求項3のいずれかに記載のビットエラーの修復方法であって、
    前記ビットエラーが、リードディスターブエラーを含むことを特徴とするビットエラーの修復方法。
  5. 第1不揮発性半導体メモリと、
    前記第1不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、
    前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行うエラー訂正部と、
    前記記憶データのエラーに関するエラー情報を記憶する第2不揮発性半導体メモリと、
    を備え、
    所定のタイミングにおいて、前記エラー情報に基づいて、前記第1不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置。
  6. 第1不揮発性半導体メモリと、
    第2不揮発性半導体メモリと、
    前記第1不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、
    前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べ、エラーがあればエラー訂正を行うエラー訂正部と、
    前記第1不揮発性半導体メモリと前記ホストシステムとの間に設けられるメモリコントローラと、
    を備え、
    前記メモリコントローラは、
    一時記憶データとして前記記憶データを一時的に記憶する一時記憶部と、
    前記一時記憶データのエラーに関するエラー情報を一時記憶する揮発性の記憶手段と、
    を含み、
    前記記憶手段に一時記憶された前記エラー情報が、所定のタイミングにおいて、前記第2不揮発性半導体メモリに記憶され、
    所定のタイミングにおいて、前記第2不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第1不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを前記一時記憶部に読み出し、エラー訂正を行って前記第1不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置。
  7. 請求項5または請求項6に記載の情報処理装置であって、
    ビットエラーの修復が、電源投入時に実行されることを特徴とする情報処理装置。
  8. 請求項5ないし請求項7のいずれかに記載の情報処理装置であって、
    前記ビットエラーが、リードディスターブエラーを含むことを特徴とする情報処理装置。
JP2007034848A 2007-02-15 2007-02-15 ビットエラーの修復方法および情報処理装置 Pending JP2008198310A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007034848A JP2008198310A (ja) 2007-02-15 2007-02-15 ビットエラーの修復方法および情報処理装置
US12/020,187 US8914702B2 (en) 2007-02-15 2008-01-25 Bit error repair method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007034848A JP2008198310A (ja) 2007-02-15 2007-02-15 ビットエラーの修復方法および情報処理装置

Publications (1)

Publication Number Publication Date
JP2008198310A true JP2008198310A (ja) 2008-08-28

Family

ID=39733997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007034848A Pending JP2008198310A (ja) 2007-02-15 2007-02-15 ビットエラーの修復方法および情報処理装置

Country Status (2)

Country Link
US (1) US8914702B2 (ja)
JP (1) JP2008198310A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192267A (ja) * 2007-02-07 2008-08-21 Megachips Lsi Solutions Inc ビットエラーの予防方法、情報処理装置
JP2012248054A (ja) * 2011-05-30 2012-12-13 Mega Chips Corp 情報処理端末及び管理サーバ
JP2013097789A (ja) * 2011-10-31 2013-05-20 Apple Inc 不揮発性メモリの正常性情報を取得して使用するためのシステム及び方法
JP2013127682A (ja) * 2011-12-16 2013-06-27 Dainippon Printing Co Ltd セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム
US8656085B2 (en) 2009-06-29 2014-02-18 Samsung Electronics Co., Ltd. Flash memory device and method for programming flash memory device
KR20140062332A (ko) * 2012-11-14 2014-05-23 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
JP2015187896A (ja) * 2015-07-30 2015-10-29 大日本印刷株式会社 セキュリティトークン、セキュリティトークンにおける命令の実行方法、及びコンピュータプログラム
CN105589762A (zh) * 2014-08-19 2016-05-18 三星电子株式会社 存储器装置、存储器模块和用于纠错的方法
US10521113B2 (en) 2015-07-13 2019-12-31 Samsung Electronics Co., Ltd. Memory system architecture
US10824499B2 (en) 2014-08-19 2020-11-03 Samsung Electronics Co., Ltd. Memory system architectures using a separate system control path or channel for processing error information

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5051514B2 (ja) * 2007-02-23 2012-10-17 日本電気株式会社 メモリエラーパターン記録システム、メモリエラーパターン記録方法
KR101543431B1 (ko) * 2008-11-20 2015-08-11 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 액세스 방법
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
US8077508B1 (en) 2009-08-19 2011-12-13 Grandis, Inc. Dynamic multistate memory write driver
US8315090B2 (en) 2010-06-07 2012-11-20 Grandis, Inc. Pseudo page mode memory architecture and method
US9099181B2 (en) 2009-08-19 2015-08-04 Grandis, Inc. Non-volatile static ram cell circuit and timing method
US8077501B2 (en) * 2009-09-11 2011-12-13 Grandis, Inc. Differential read and write architecture
US8625339B2 (en) 2011-04-11 2014-01-07 Grandis, Inc. Multi-cell per memory-bit circuit and method
US8456926B2 (en) 2010-11-18 2013-06-04 Grandis, Inc. Memory write error correction circuit
US8723557B2 (en) 2010-06-07 2014-05-13 Grandis, Inc. Multi-supply symmetric driver circuit and timing method
KR101934892B1 (ko) 2012-10-17 2019-01-04 삼성전자 주식회사 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
US9983972B2 (en) 2015-06-01 2018-05-29 Cisco Technology, Inc. Predictive in-field memory repair scheme
US10303536B2 (en) * 2015-10-28 2019-05-28 Via Technologies, Inc. Non-volatile memory device and control method thereof
US11664084B2 (en) * 2021-08-02 2023-05-30 Micron Technology, Inc. Memory device on-die ECC data

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675864A (ja) * 1992-08-27 1994-03-18 Kofu Nippon Denki Kk メモリエラー回復方式
JPH06110793A (ja) * 1992-09-30 1994-04-22 Toshiba Corp 不揮発性半導体記憶装置
JPH07122087A (ja) * 1993-10-25 1995-05-12 Hitachi Ltd Eepromエラーチェック方式
JPH1097472A (ja) * 1996-09-24 1998-04-14 Hitachi Ltd 強誘電体メモリを含むシステム
JPH10302485A (ja) * 1997-04-28 1998-11-13 Hitachi Inf Technol:Kk フラッシュ・メモリを有する情報処理装置
JP2002169660A (ja) 2000-09-19 2002-06-14 Matsushita Electric Ind Co Ltd データ記憶アレイ装置、その制御方法、プログラム記録媒体及びプログラム
JP2003058432A (ja) 2001-08-09 2003-02-28 Hitachi Ltd メモリカード及びメモリコントローラ
JP2003248631A (ja) * 2002-02-26 2003-09-05 Nec Microsystems Ltd メモリ制御回路及びメモリ制御方法
JP2006079229A (ja) * 2004-09-08 2006-03-23 Hanshin Electric Co Ltd フラッシュメモリマイクロコンピュータのデータ保全方法および保全装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03176019A (ja) 1989-12-04 1991-07-31 Tsurumi Mfg Co Ltd 乾・湿両用クリーナー
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
US5862314A (en) * 1996-11-01 1999-01-19 Micron Electronics, Inc. System and method for remapping defective memory locations
US7170802B2 (en) * 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US20050097288A1 (en) * 2003-10-30 2005-05-05 Richard Holzmann System and method for monitoring and non-disruptive backup of data in a solid state disk system
US7177977B2 (en) 2004-03-19 2007-02-13 Sandisk Corporation Operating non-volatile memory without read disturb limitations
US7099221B2 (en) * 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7890836B2 (en) * 2006-12-14 2011-02-15 Intel Corporation Method and apparatus of cache assisted error detection and correction in memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675864A (ja) * 1992-08-27 1994-03-18 Kofu Nippon Denki Kk メモリエラー回復方式
JPH06110793A (ja) * 1992-09-30 1994-04-22 Toshiba Corp 不揮発性半導体記憶装置
JPH07122087A (ja) * 1993-10-25 1995-05-12 Hitachi Ltd Eepromエラーチェック方式
JPH1097472A (ja) * 1996-09-24 1998-04-14 Hitachi Ltd 強誘電体メモリを含むシステム
JPH10302485A (ja) * 1997-04-28 1998-11-13 Hitachi Inf Technol:Kk フラッシュ・メモリを有する情報処理装置
JP2002169660A (ja) 2000-09-19 2002-06-14 Matsushita Electric Ind Co Ltd データ記憶アレイ装置、その制御方法、プログラム記録媒体及びプログラム
JP2003058432A (ja) 2001-08-09 2003-02-28 Hitachi Ltd メモリカード及びメモリコントローラ
JP2003248631A (ja) * 2002-02-26 2003-09-05 Nec Microsystems Ltd メモリ制御回路及びメモリ制御方法
JP2006079229A (ja) * 2004-09-08 2006-03-23 Hanshin Electric Co Ltd フラッシュメモリマイクロコンピュータのデータ保全方法および保全装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192267A (ja) * 2007-02-07 2008-08-21 Megachips Lsi Solutions Inc ビットエラーの予防方法、情報処理装置
US8656085B2 (en) 2009-06-29 2014-02-18 Samsung Electronics Co., Ltd. Flash memory device and method for programming flash memory device
JP2012248054A (ja) * 2011-05-30 2012-12-13 Mega Chips Corp 情報処理端末及び管理サーバ
JP2013097789A (ja) * 2011-10-31 2013-05-20 Apple Inc 不揮発性メモリの正常性情報を取得して使用するためのシステム及び方法
US10359949B2 (en) 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
JP2013127682A (ja) * 2011-12-16 2013-06-27 Dainippon Printing Co Ltd セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム
KR20140062332A (ko) * 2012-11-14 2014-05-23 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
KR102002385B1 (ko) * 2012-11-14 2019-07-23 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
CN105589762A (zh) * 2014-08-19 2016-05-18 三星电子株式会社 存储器装置、存储器模块和用于纠错的方法
US10824499B2 (en) 2014-08-19 2020-11-03 Samsung Electronics Co., Ltd. Memory system architectures using a separate system control path or channel for processing error information
US10521113B2 (en) 2015-07-13 2019-12-31 Samsung Electronics Co., Ltd. Memory system architecture
JP2015187896A (ja) * 2015-07-30 2015-10-29 大日本印刷株式会社 セキュリティトークン、セキュリティトークンにおける命令の実行方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
US8914702B2 (en) 2014-12-16
US20080215954A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
JP2008198310A (ja) ビットエラーの修復方法および情報処理装置
JP5283845B2 (ja) ビットエラーの予防方法、情報処理装置
TWI570737B (zh) 資料儲存裝置以及快閃記憶體控制方法
JP5675954B2 (ja) メタデータタグを介した不規則なパリティ分布の検出
JP5528782B2 (ja) 停電後の不揮発性メモリの回復
TWI546666B (zh) 資料儲存裝置以及快閃記憶體控制方法
JP4059472B2 (ja) メモリカード及びメモリコントローラ
JP5990430B2 (ja) Ssd(ソリッドステートドライブ)装置
JP5492679B2 (ja) 記憶装置およびメモリコントローラ
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
TW201916018A (zh) 資料儲存裝置與將資料寫入記憶體裝置之方法
US20120166906A1 (en) Memory system and control method thereof
JP2010015197A (ja) ストレージ制御装置、データ復元装置およびストレージシステム
JP2008192054A (ja) 半導体メモリシステム
JP2009211215A (ja) メモリシステム
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
JP2007310916A (ja) メモリカード
JP2007094921A (ja) メモリカードとその制御方法
JP4956230B2 (ja) メモリコントローラ
JP2008191701A (ja) エラー回復処理方法および情報処理装置
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8046529B2 (en) Updating control information in non-volatile memory to control selection of content
JP4661369B2 (ja) メモリコントローラ
JP4235624B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2011018371A (ja) メモリ記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100129

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130514

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130521

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130802