JP2013196673A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2013196673A JP2013196673A JP2012066734A JP2012066734A JP2013196673A JP 2013196673 A JP2013196673 A JP 2013196673A JP 2012066734 A JP2012066734 A JP 2012066734A JP 2012066734 A JP2012066734 A JP 2012066734A JP 2013196673 A JP2013196673 A JP 2013196673A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- system data
- verification
- unit
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】システムデータが読み出し不可能となるリスクを低減すること。
【解決手段】第1のデータ検証部は、所定のタイミングで不揮発性メモリの第1の番地からシステムデータを読み出して、当該読み出したシステムデータを検証する。番地選択部は、第1のデータ検証部による検証結果が不合格である場合に、第2の番地を選択し、第1のデータ操作部は、第2の番地に第1の番地に記憶されているシステムデータを複製する。第2のデータ検証部は、第2の番地に複製されたシステムデータを読み出して、当該読み出したシステムデータを検証する。第2のデータ操作部は、第2のデータ検証部による検証結果が合格である場合に、第1の番地に記憶されているシステムデータを消去する。
【選択図】図6
【解決手段】第1のデータ検証部は、所定のタイミングで不揮発性メモリの第1の番地からシステムデータを読み出して、当該読み出したシステムデータを検証する。番地選択部は、第1のデータ検証部による検証結果が不合格である場合に、第2の番地を選択し、第1のデータ操作部は、第2の番地に第1の番地に記憶されているシステムデータを複製する。第2のデータ検証部は、第2の番地に複製されたシステムデータを読み出して、当該読み出したシステムデータを検証する。第2のデータ操作部は、第2のデータ検証部による検証結果が合格である場合に、第1の番地に記憶されているシステムデータを消去する。
【選択図】図6
Description
本発明の実施形態は、メモリシステムに関する。
コンピュータシステムに用いられるメモリシステムとして、NAND型の記憶セルを備えるメモリチップを搭載したSSD(Solid State Drive)が注目されている。SSDは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。
本発明の一つの実施形態は、システムデータが読み出し不可能となるリスクを低減したメモリシステムを提供することを目的とする。
本発明の一つの実施形態によれば、メモリシステムは、不揮発性メモリと、第1のデータ検証部と、番地選択部と、第1のデータ操作部と、第2のデータ検証部と、第2のデータ操作部とを備えている。不揮発性メモリは、第1の番地にシステムデータを記憶する。第1のデータ検証部は、所定のタイミングで前記第1の番地からシステムデータを読み出して、前記第1の番地から読み出したシステムデータを検証する。番地選択部は、前記第1のデータ検証部による検証結果が不合格である場合に、前記不揮発性メモリにおける、前記第1の番地と異なる第2の番地を選択する。第1のデータ操作部は、前記番地選択部が選択した前記第2の番地に前記第1の番地に記憶されているシステムデータを複製する。第2のデータ検証部は、前記第2の番地に複製されたシステムデータを読み出して、前記第2の番地から読み出したシステムデータを検証する。第2のデータ操作部は、前記第2のデータ検証部による検証結果が合格である場合に、前記第1の番地に記憶されているシステムデータを消去する。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。以下、実施形態にかかるメモリシステムをSSDに適用した場合について説明するが、実施形態にかかるメモリシステムの適用範囲はSSDだけに限定されない。
(第1の実施形態)
図1は、第1の実施形態のSSDの構成例を示す図である。図示するように、SSD100は、パーソナルコンピュータなどのホスト装置200と所定の通信インタフェースで接続され、ホスト装置200の外部記憶装置として機能する。SSD100がホスト装置200から受信する読み出し要求や書き込み要求は、LBA(Logical Block Addressing)で定義されたアクセス対象の先頭アドレスとアクセス対象の領域の範囲を示すセクタサイズとが含まれている。なお、通信インタフェースはSATA規格に限らず、SAS(Serial Attached SCSI)、PCIe(PCI Express)など様々な通信インタフェース規格を採用することが可能である。
図1は、第1の実施形態のSSDの構成例を示す図である。図示するように、SSD100は、パーソナルコンピュータなどのホスト装置200と所定の通信インタフェースで接続され、ホスト装置200の外部記憶装置として機能する。SSD100がホスト装置200から受信する読み出し要求や書き込み要求は、LBA(Logical Block Addressing)で定義されたアクセス対象の先頭アドレスとアクセス対象の領域の範囲を示すセクタサイズとが含まれている。なお、通信インタフェースはSATA規格に限らず、SAS(Serial Attached SCSI)、PCIe(PCI Express)など様々な通信インタフェース規格を採用することが可能である。
SSD100は、NANDメモリ1と、CPU(Central Processing Unit)2と、ホストインタフェース(ホストI/F)3と、DRAM(Dynamic Random Access Memory)4と、NANDコントローラ(NANDC)5と、ECC(Error Checking and Correcting)回路6と、を備えている。CPU2、ホストI/F3、DRAM4、NANDC5、およびECC回路6は、互いにバスで接続されている。また、NANDメモリ1は、NANDC5に接続されている。
DRAM4は、ホスト装置200とNANDメモリ1との間の転送データを一時格納する揮発性メモリである。ホストI/F3は、ホスト装置200との間の通信インタフェースの制御およびホスト装置200とDRAM4との間のデータ転送を実行する。CPU2は、ファームウェア(ファームウェアプログラム11)に基づいて、SSD100全体の制御を実行する。
NANDC5は、NANDメモリ1とDRAM4との間のデータ転送を実行する。また、NANDC5は、NANDメモリ1に対するアクセス時に発生するエラーを訂正するECC回路51を備えている。ECC回路51は、第2の訂正符号のエンコードを行い、また、第1の誤り訂正符号のエンコードおよびデコードを行う。
ECC回路6は、第2の誤り訂正符号のデコードを行う。第1の誤り訂正符号、第2の誤り訂正符号は、例えば、ハミング符号、BCH(Bose Chaudhuri Hocqenghem)符号、RS(Reed Solomon)符号、或いはLDPC(Low Density Parity Check)符号等であり、第2の誤り訂正符号の訂正能力は、第1の誤り訂正符号の訂正能力よりも高いとする。
NANDメモリ1は、ホスト装置200からの書き込みデータを記憶するメモリセルアレイ10を備えている。
メモリセルアレイ10は、消去の単位となるブロックを複数備えて構成される。図2は、メモリセルアレイ10に含まれる1個のブロックの構成例を示す回路図である。図示するように、各ブロックは、X方向に沿って順に配列された(m+1)個のNANDストリングを備えている(mは、0以上の整数)。(m+1)個のNANDストリングにそれぞれ含まれる選択トランジスタST1は、ドレインがビット線BL0〜BLpに接続され、ゲートが選択ゲート線SGDに共通接続されている。また、選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
各メモリセルトランジスタMTは、半導体基板上に形成された積層ゲート構造を備えたMOSFET(metal oxide semiconductor field effect transistor)から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層(浮遊ゲート電極)、及び電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルトランジスタMTは、浮遊ゲート電極に蓄えられる電子の数に応じてしきい値電圧が変化し、このしきい値電圧の違いに応じてデータを記憶する。メモリセルトランジスタMTは、1ビットを記憶するように構成されていてもよいし、多値(2ビット以上のデータ)を記憶するように構成されていてもよい。
各NANDストリングにおいて、(n+1)個のメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。そして、最もドレイン側に位置するメモリセルトランジスタMTから順に、制御ゲート電極がワード線WL0〜WLqにそれぞれ接続されている。従って、ワード線WL0に接続されたメモリセルトランジスタMTのドレインは選択トランジスタST1のソースに接続され、ワード線WLqに接続されたメモリセルトランジスタMTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLqは、ブロック内のNANDストリング間で、メモリセルトランジスタMTの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタMTの制御ゲート電極は、同一のワード線WLに接続される。この同一のワード線WLに接続される(m+1)個のメモリセルトランジスタMTは1ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。
また、ビット線BL0〜BLpは、ブロック間で、選択トランジスタST1のドレインを共通に接続している。つまり、複数のブロック内において同一列にあるNANDストリングは、同一のビット線BLに接続される。
なお、メモリセルアレイ10は、1つのメモリセルに2ビット以上を記憶する多値メモリ(MLC: Multi Level Cell)であってもよいし、1つのメモリセルに1ビットを記憶する二値メモリ(SLC: Single Level Cell)であってもよい。
図3は、1個のメモリセルトランジスタMTに2ビットの記憶を行う4値データ記憶方式でのしきい値分布の例を示している。4値データ記憶方式では、上位ページデータ“x”と下位ページデータ“y”で定義される4値データ“xy”の何れか一つをメモリセルトランジスタMTに保持可能である。この、4値データ“xy”は、メモリセルトランジスタMTのしきい値電圧の順に、例えば、データ“11”、“01”、“00”、“10”が割り当てられる。データ“11”は、メモリセルトランジスタMTのしきい値電圧が負の消去状態である。
下位ページ書き込み動作においては、データ“11”(消去状態)のメモリセルトランジスタMTに対して選択的に、下位ビットデータ“y”の書き込みによって、データ“10”が書き込まれる。上位ページ書き込み前のデータ“10”のしきい値分布は、上位ページ書き込み後のデータ“01”とデータ“00”のしきい値分布の中間程度に位置しており、上位ページ書き込み後のしきい値分布よりブロードであってもよい。
上位ページ書き込み動作においては、データ“11”のメモリセルと、データ“10”のメモリセルに対して、それぞれ選択的に上位ビットデータ“x”の書き込みが行われて、データ“01”およびデータ“00”が書き込まれる。
図4は、メモリセルアレイ10が記憶するデータを説明する図である。図示するように、メモリセルアレイ10は、ファームウェアプログラム11、アドレス変換テーブル12、およびホスト装置200からの書き込みデータであるユーザデータ13を記憶する。ファームウェアプログラム11は、CPU2にSSD100の制御を実行せしめるプログラムであり、アドレス変換テーブル12は、LBAとメモリセルアレイ10の物理アドレスとの対応関係を記述したテーブルである。
NAND型のメモリセルアレイ10への書き込み方式として、例えば以下に述べる方式が採用される。まず、書き込みの前に、ブロック内の無効データを消去する必要がある。すなわち、消去済みのブロックのうち書き込みがまだ行われていないページに対して順次書き込みが可能であり、既に書き込みが行なわれたページに対する上書きが不可能である。また、上述のように、ホスト装置200から要求される書き込み番地は、ホスト装置200で用いられる論理アドレス(LBA)で指定される。一方、NANDメモリ1へのデータの書き込み番地は、メモリセルアレイ10の物理的な記憶位置(物理アドレス)に基づいて、ページの昇順に書き込みが行なわれる。即ち、物理アドレスは論理アドレスとは無関係に決定される。決定された論理アドレスと物理アドレスとの対応関係は、アドレス変換テーブル12に記録される。そして、データの書き込み要求において指定された論理アドレスが再度指定されて新たなデータの書き込みがホストから要求されると、CPU2は、消去済みのブロックのうちの書き込みがまだ行なわれていないページに対して新たなデータの書き込みを行う。このとき、CPU2は、当該論理アドレスに対応して前回書き込みが行われたページを無効にして、新たなデータの書き込みが行われたページを有効にする。
ここで、メモリセルアレイ10に対する書き込みおよび消去の回数の増加に伴って、フローティングゲート周りの酸化膜が劣化し、その位置に書き込まれたデータが変化しやすくなるという問題がある。また、メモリセルアレイ10に書き込み済みのデータは、プログラムディスターブやリードディスターブにより変化し、データに誤りが生じることがある。一方、ファームウェアプログラム11やアドレス変換テーブル12は、SSD100がホスト装置200の外部記憶装置としての機能を保つために不可欠なデータであり、これらのデータが破壊されると、SSD100の健全性が損なわれる。したがって、これらのデータが訂正不能となるような破壊を防止したり、破壊されてもSSD100が動作するようにこれらのデータを多重化したりすることが望ましい。
そこで、第1の実施形態では、ファームウェアプログラム11およびアドレス変換テーブル12(以降、システムデータ14と総称する)を所定のタイミングで検証し、検証結果がNG(不合格)であった場合にはシステムデータ14をメモリセルアレイ10内の他の位置に移動させるようにした。なお、これらの一連の処理を、信頼性担保処理ということとする。
図5は、信頼性担保処理を実行するためのSSD100の機能構成を説明する図である。図示するように、CPU2は、信頼性担保処理制御部21、コピー先探索部22、データ検証部23、およびデータ操作部24を備えている。信頼性担保処理制御部21は、コピー先探索部22、データ検証部23、およびデータ操作部24を制御する。コピー先探索部22は、システムデータ14の複製先の番地を探索する。データ検証部23は、信頼性担保処理の実行前のシステムデータ14の検証と、複製されたシステムデータ14の検証とを実行する。データ操作部24は、システムデータ14の複製や、複製元のシステムデータ14(即ち信頼性担保処理の実行前のシステムデータ14)の消去などを実行する。なお、これらの機能構成部は、CPU2がファームウェアプログラム11を実行することによって実現される。
図6は、第1の実施形態のSSD100における信頼性担保処理を説明するフローチャートである。
まず、信頼性担保処理制御部21は、現時点でシステムデータ14の検証タイミングに至ったか否かを判定する(ステップS1)。現時点がシステムデータ14の検証タイミングではない場合(ステップS1、No)、信頼性担保処理制御部21は、ステップS1の判定処理を再び実行する。なお、検証タイミングはどのようなタイミングに設定するようにしてもよい。例えば、所定の時間間隔で検証が行われるようにしてよいし、電源オフ時や電源オン時を検証タイミングとするようにしてもよい。
現時点がシステムデータ14の検証タイミングに達した場合(ステップS1、Yes)、信頼性担保処理制御部21の指令により、データ検証部23は、システムデータ14の検証を実行する(ステップS2)。システムデータ14の検証は、例えば以下のようにして実行される。即ち、データ検証部23は、NANDC5に指令して、システムデータ14をNANDメモリ1からDRAM4に転送せしめる(読み出させる)。ECC回路51は、システムデータ14が転送される際に、第1の誤り訂正符号に基づくエラーの検出および訂正を行い、エラーの訂正を行った場合には、第1の誤り訂正符号によって訂正完了したエラー数をデータ検証部23に報告する。また、訂正不可能なエラーがあった場合、ECC回路51は、データ検証部23にその旨を報告し、データ検証部23は、ECC回路6に指令して、第1の誤り訂正符号により訂正不可能なエラーを第2の誤り訂正符号を用いて訂正せしめる。ECC回路6は、訂正完了したエラー数をデータ検証部23に報告する。
続いて、データ検証部23は、検証結果がNGである(即ちシステムデータ14の信頼性が低下している)か否かを判定する(ステップS3)。ステップS3の判定は、どのようにしておこなわれてもよい。例えば、データ検証部23は、第1の誤り訂正符号による訂正数と第2の誤り訂正符号による訂正数の合計値が所定のしきい値に到達している場合に、システムデータ14の信頼性が低下していると判定し、前記合計値が前記しきい値に到達していない場合に、システムデータ14の信頼性が低下していないと判定することができる。また、データ検証部23は、ステップS2を実行する毎に前記合計値を記録しておき、前記合計値が増加する傾向があるか否かに基づいてシステムデータ14の信頼性が低下しているか否かを判定することができる。即ち、データ検証部23は、前記合計値の現在値および/または過去値を用いて、システムデータ14の信頼性が低下しているか否かを判定することができる。
検証結果がOK(合格)であった場合(ステップS3、No)、信頼性担保処理制御部21は、ステップS1の処理を実行する。検証結果がNGであった場合(ステップS3、Yes)、信頼性担保処理制御部21は、ステップS5〜ステップS10のループ処理のためのループインデックスiを0で初期化して(ステップS4)、i=10であるか否かを判定する(ステップS5)。i=10ではない場合(ステップS5、No)、信頼性担保処理制御部21は、コピー先探索部22に指令して、指令を受けたコピー先探索部22は、システムデータ14の複製先の番地を空き領域のうちから選択する(ステップS6)。空き領域のうちのどの番地を選択するかは、ここでは特定の方法に限定されない。例えば、複製先の番地を、空きブロック(即ち有効データを含まないブロック)のうちの1つとしてもよい。
続いて、信頼性担保処理制御部21は、データ操作部24に指令して、指令をうけたデータ操作部24は、システムデータ14をステップS6にて選択された番地に複製する(ステップS7)。その後、データ検証部23は、信頼性担保処理制御部21からの指令により、ステップS6にて選択された番地に複製されたシステムデータ14(以降、複製データ)の検証を実行し(ステップS8)、検証結果がNGであるか否かを判定する(ステップS9)。なお、ステップS8の処理は、ステップS2の処理と同様であってよい。また、ステップS9の処理は、ステップS2の処理によって得られた第1の誤り訂正符号による訂正数と第2の誤り訂正符号による訂正数との合計値に基づいて行われる。検証結果がNGであった場合(ステップS9、Yes)、信頼性担保処理制御部21は、iを1だけインクリメントし(ステップS10)、ステップS5の処理を実行する。
そして、i=10であった場合には(ステップS5、Yes)、信頼性担保処理制御部21は、データ操作部24に指令して、検証結果が最も良好であった複製データを残し、他の複製データを無効化せしめ(ステップS11)、その後、信頼性担保処理制御部21は、ステップS1の判定処理を実行する。
複製データの検証結果がOK(合格)であった場合(ステップS12、No)、信頼性担保処理制御部21は、データ操作部24に指令して、検証結果がOKとなった複製データを残し、複製元のシステムデータ14を無効化せしめる(ステップS12)。なお、ここで、検証結果がOKとなった複製データのほかにも複製データが存在する場合には、信頼性担保処理制御部21は、データ操作部24に指令して、検証結果がOKとなった複製データを除く複製データを無効化する。信頼性担保処理制御部21は、ステップS12の処理の後、ステップS1の判定処理を実行する。
このように、第1の実施形態によれば、データ検証部23は、NANDメモリ1の所定の番地に格納されているシステムデータ14を所定のタイミングでNANDメモリ1から読み出して、前記読み出したシステムデータ14を検証し、コピー先探索部(番地選択部)22は、データ検証部23による検証結果が不合格である場合に、前記NANDメモリ1の複製先の番地を選択し、データ操作部24は、前記選択された複製先の番地に前記システムデータ14を複製する。そして、データ検証部23は、複製データを読み出して、読み出した複製データを検証する。データ操作部24は、複製データの検証結果が合格である場合に、複製元のシステムデータ14を削除する。これにより、SSD100は、システムデータ14の健全性が損なわれる前に当該システムデータ14を他の一定の信頼性が保障された番地に移動させることができるので、システムデータ14が読み出し不可能となるリスクを低減することができる。
また、データ操作部24は、複製データの検証結果が不合格である場合に、複製元のシステムデータ14を消去しないようにしたので、SSD100は、複製元のシステムデータ14がエラー訂正が不可能となる破壊をうけたとしても、複製データをシステムデータ14として使用することができるので、システムデータ14が読み出し不可能となるリスクを低減することができる。
なお、以上の説明においては、データ検証部23は、エラー訂正数に基づいてシステムデータ14または複製データの検証を行うものとして説明したが、エラー検出数に基づいて検証を行うようにしてもよい。
(第2の実施形態)
第2の実施形態では、SSD100は、システムデータ14の信頼性が低下したとき、システムデータ14を、書き換え回数(即ち消去回数と書き込み回数との合計値)が最も少ないブロックに複製し、システムデータ14を多重化する。
第2の実施形態では、SSD100は、システムデータ14の信頼性が低下したとき、システムデータ14を、書き換え回数(即ち消去回数と書き込み回数との合計値)が最も少ないブロックに複製し、システムデータ14を多重化する。
第2の実施形態のSSD100のハードウェア構成は第1の実施形態と同等であり、個々の機能構成部の動作が異なるだけであるので、以下、第1の実施形態の構成要素を用いて説明する。
図7は、第2の実施形態のSSD100における信頼性担保処理を説明するフローチャートである。まず、第2の実施形態のSSD100においては、ステップS21、ステップS22において、既に説明したステップS1、ステップS2と夫々等しい処理が実行される。そして、データ検証部23は、信頼性担保処理制御部21からの指令に基づいて、システムデータ14の検証結果がNGか否かを判定する(ステップS23)。検証結果がNGであった場合(ステップS23、Yes)、信頼性担保処理制御部21は、コピー先探索部22に指令して、指令を受けたコピー先探索部22は、システムデータ14の複製先として、空きブロックのうちの書き換え回数が最も少ないブロックを選択する(ステップS24)。すると、信頼性担保処理制御部21は、データ操作部24に指令して、指令をうけたデータ操作部24は、システムデータ14をステップS24にて選択されたブロックに複製する(ステップS25)。ステップS25の処理の後、または検証結果がOKであった場合(ステップS23、No)、信頼性担保処理制御部21は、ステップS21の判定処理を実行する。
このように、第2の実施形態によれば、データ検証部23は、NANDメモリ1の所定のブロックに格納されているシステムデータ14を読み出して、読み出したシステムデータ14を検証し、コピー先探索部22は、検証結果が不合格である場合には、システムデータ14の複製先として、書き換え回数が最小のブロックを選択し、データ操作部24は、システムデータ14を前記選択された書き換え回数が最小のブロックに複製するようにしたので、SSD100は、複製元のシステムデータ14がエラー訂正が不可能となる破壊をうけたとしても、複製データをシステムデータ14として使用することができるので、システムデータ14が読み出し不可能となるリスクを低減することができる。また、第1の実施形態ではSSD100は複製データの検証を行っていたところ、第2の実施形態によればSSD100は複製データの検証を行うことがないので、信頼性担保処理にかかる処理コストを低減することができる。
(第3の実施形態)
なお、第1の実施形態においては、コピー先探索部22は、任意の方法に基づいてシステムデータ14の複製先の番地を選択するとして説明したが、コピー先探索部22は、第2の実施形態と同様に、空きブロックのうちの書き換え回数が最も少ないブロックを複製先の番地として選択するようにしてもよい。このようにすることによって、出来るだけ健全性が高い番地にシステムデータ14を複製することができるようになるので、一回の信頼性担保処理におけるステップS5〜ステップS10のループ処理の実行回数を低減せしめることができるようになる。
なお、第1の実施形態においては、コピー先探索部22は、任意の方法に基づいてシステムデータ14の複製先の番地を選択するとして説明したが、コピー先探索部22は、第2の実施形態と同様に、空きブロックのうちの書き換え回数が最も少ないブロックを複製先の番地として選択するようにしてもよい。このようにすることによって、出来るだけ健全性が高い番地にシステムデータ14を複製することができるようになるので、一回の信頼性担保処理におけるステップS5〜ステップS10のループ処理の実行回数を低減せしめることができるようになる。
また、第1の実施形態および第2の実施形態においては、コピー先探索部22は、空いている領域から複製先の番地を探索するものとして説明したが、コピー先探索部22は、有効データが途中のページまで書き込まれたブロックの、有効データに後続するページを複製先の番地として選択することもできる。
また、第2の実施形態においては、コピー先探索部22は、空きブロックのうちの書き換え回数が最もすくないブロックをシステムデータ14の複製先のブロックに選択するとして説明したが、全ブロックのうちの書き換え回数が最も少ないブロックが有効データを含むブロックである場合には、当該ブロックに書き込まれている有効データを他の空きブロックに移動した上で、空きブロックとなった前記ブロックをシステムデータ14の複製先として選択するようにしてもよい。
また、第1の実施形態においては、データ操作部24は、ステップS5〜ステップS10のループ処理を10回実施しても複製データの検査結果がOKとならない場合には、システムデータ14を多重化するものとして説明したが、SLCモードで書き込まれたデータはMLCモードで書き込まれたデータよりも失われにくいことを利用して、信頼性担保処理制御部21は、以下のように制御を実行するようにしてもよい。即ち、初期状態においては、システムデータ14は、MLCモードで書き込まれており、ステップS5〜ステップS10のループ処理を10回実施しても複製データの検査結果がOKとならない場合には、信頼性担保処理制御部21は、データ操作部24に指令して、指令をうけたデータ操作部24は、SLCモードでシステムデータ14を複製するようにしてもよい。なお、SLCモードでシステムデータ14を複製した場合には、信頼性担保処理制御部21は、データ操作部24に、元のシステムデータ14を消去せしめるようにしてもよいし、元のシステムデータ14を残しておくようにしてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 NANDメモリ、2 CPU、3 ホストI/F、4 DRAM、5 NANDC、6 ECC回路、10 メモリセルアレイ、11 ファームウェアプログラム、12 アドレス変換テーブル、13 ユーザデータ、14 システムデータ、21 信頼性担保処理制御部、22 コピー先探索部、23 データ検証部、24 データ操作部、200 ホスト装置。
Claims (8)
- 第1の番地にシステムデータを記憶する不揮発性メモリと、
所定のタイミングで前記第1の番地からシステムデータを読み出して、前記第1の番地から読み出したシステムデータを検証する第1のデータ検証部と、
前記第1のデータ検証部による検証結果が不合格である場合に、前記不揮発性メモリにおける、前記第1の番地と異なる第2の番地を選択する番地選択部と、
前記番地選択部が選択した前記第2の番地に前記第1の番地に記憶されているシステムデータを複製する第1のデータ操作部と、
前記第2の番地に複製されたシステムデータを読み出して、前記第2の番地から読み出したシステムデータを検証する第2のデータ検証部と、
前記第2のデータ検証部による検証結果が合格である場合に、前記第1の番地に記憶されているシステムデータを消去する第2のデータ操作部と、
を備えることを特徴とするメモリシステム。 - 前記第2のデータ操作部は、前記第1のデータ検証部による検証結果が不合格である場合に、前記第1の番地に記憶されているシステムデータを消去しない、
ことを特徴とする請求項1に記載のメモリシステム。 - 前記第1のデータ検証部および前記第2のデータ検証部は、前記第1または第2の番地から読み出したシステムデータに対してエラー検出またはエラー訂正を行って、エラー検出数またはエラー訂正数に基づいて前記第1または第2の番地から読み出したシステムデータを検証する、
ことを特徴とする請求項1または請求項2に記載のメモリシステム。 - 前記番地選択部は、前記不揮発性メモリのうちの書き換え回数が最小のブロックを前記第2の番地に選択する、
ことを特徴とする請求項3に記載のメモリシステム。 - 前記番地選択部は、前記第2のデータ検証部による検証結果が合格になるか、または前記第2のデータ検証部による検証回数が所定回数に達するまで、検証毎に、前記第2の番地を新規に選択する、
ことを特徴とする請求項1に記載のメモリシステム。 - 前記第1の番地に記憶されているシステムデータは、MLCモードで記憶されており、前記検証回数が所定回数に達したとき、前記第2のデータ検証部は、前記1の番地に記憶されているシステムデータを前記選択された何れかの第2の番地にSLCモードで複製する、
ことを特徴とする請求項5に記載のメモリシステム。 - 第1のブロックにシステムデータを記憶する不揮発性メモリと、
所定のタイミングで前記第1のブロックからシステムデータを読み出して、前記第1のブロックから読み出したシステムデータを検証するデータ検証部と、
前記データ検証部による検証結果が不合格である場合に、前記不揮発性メモリのうちの書き換え回数が最小の第2のブロックを選択する番地選択部と、
前記第2のブロックに前記第1のブロックに記憶されているシステムデータを複製するデータ操作部と、
を備えることを特徴とするメモリシステム。 - 前記データ検証部は、前記第1のブロックから読み出したシステムデータに対してエラー検出またはエラー訂正を行って、エラー検出数またはエラー訂正数に基づいて前記第1のブロックから読み出したシステムデータを検証する、
ことを特徴とする請求項7に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012066734A JP2013196673A (ja) | 2012-03-23 | 2012-03-23 | メモリシステム |
US13/768,344 US20130254463A1 (en) | 2012-03-23 | 2013-02-15 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012066734A JP2013196673A (ja) | 2012-03-23 | 2012-03-23 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013196673A true JP2013196673A (ja) | 2013-09-30 |
Family
ID=49395459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012066734A Pending JP2013196673A (ja) | 2012-03-23 | 2012-03-23 | メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013196673A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066394A (zh) * | 2017-03-31 | 2017-08-18 | 深圳市金印达科技有限公司 | 一种成像设备的数据读写方法和系统 |
CN110119360A (zh) * | 2018-02-06 | 2019-08-13 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9031A (en) * | 1852-06-15 | Improvement in harvesters | ||
JP2004234052A (ja) * | 2003-01-28 | 2004-08-19 | Renesas Technology Corp | 記憶装置 |
WO2006046425A1 (ja) * | 2004-10-29 | 2006-05-04 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置及び不揮発性記憶システム |
JP2007310916A (ja) * | 2007-09-03 | 2007-11-29 | Renesas Technology Corp | メモリカード |
JP2008021333A (ja) * | 2007-09-28 | 2008-01-31 | Renesas Technology Corp | 不揮発性記憶システム |
WO2009090731A1 (ja) * | 2008-01-16 | 2009-07-23 | Fujitsu Limited | 半導体記憶装置、制御装置、制御方法 |
JP2010015477A (ja) * | 2008-07-07 | 2010-01-21 | Nec Electronics Corp | フラッシュメモリ制御装置及びフラッシュメモリ制御方法 |
JP2011059907A (ja) * | 2009-09-09 | 2011-03-24 | Nec Corp | 端末装置及びそれに用いる不揮発メモリ管理方法並びにそのプログラム |
-
2012
- 2012-03-23 JP JP2012066734A patent/JP2013196673A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9031A (en) * | 1852-06-15 | Improvement in harvesters | ||
JP2004234052A (ja) * | 2003-01-28 | 2004-08-19 | Renesas Technology Corp | 記憶装置 |
WO2006046425A1 (ja) * | 2004-10-29 | 2006-05-04 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置及び不揮発性記憶システム |
JP2007310916A (ja) * | 2007-09-03 | 2007-11-29 | Renesas Technology Corp | メモリカード |
JP2008021333A (ja) * | 2007-09-28 | 2008-01-31 | Renesas Technology Corp | 不揮発性記憶システム |
WO2009090731A1 (ja) * | 2008-01-16 | 2009-07-23 | Fujitsu Limited | 半導体記憶装置、制御装置、制御方法 |
JP2010015477A (ja) * | 2008-07-07 | 2010-01-21 | Nec Electronics Corp | フラッシュメモリ制御装置及びフラッシュメモリ制御方法 |
JP2011059907A (ja) * | 2009-09-09 | 2011-03-24 | Nec Corp | 端末装置及びそれに用いる不揮発メモリ管理方法並びにそのプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066394A (zh) * | 2017-03-31 | 2017-08-18 | 深圳市金印达科技有限公司 | 一种成像设备的数据读写方法和系统 |
CN110119360A (zh) * | 2018-02-06 | 2019-08-13 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147295B (zh) | 存取闪存模块的方法、闪存控制器以及记忆装置 | |
US9298545B2 (en) | Data protection across multiple memory blocks | |
KR101903915B1 (ko) | 블록 기반 아키텍처들에 대해 epwr을 사용하는 부분적 불량 블록 검출 및 재사용 | |
US10915394B1 (en) | Schemes for protecting data in NVM device using small storage footprint | |
US20130254463A1 (en) | Memory system | |
KR20120055725A (ko) | 스트라이프 기반 메모리 작동 | |
US20210264980A1 (en) | Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification | |
JP2013089082A (ja) | メモリコントローラ、半導体記憶システムおよびメモリ制御方法 | |
US12072762B2 (en) | Error-handling management during copyback operations in memory devices | |
US20160077913A1 (en) | Method of controlling nonvolatile memory | |
US11467903B2 (en) | Memory system and operating method thereof | |
JP2013196673A (ja) | メモリシステム | |
US12039190B2 (en) | Memory system and operating method of the memory system for calibrating a history read bias based on a number of error bits generated in a read operation | |
US20170373705A1 (en) | Apparatuses and methods for erasure-assisted ecc decoding | |
US12050533B2 (en) | Memory system and operating method of memory system | |
TWI823649B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置 | |
CN113961141B (zh) | 存储器系统、存储器控制器以及操作存储器系统的方法 | |
US12015425B2 (en) | Controller and operating method thereof for determining reliability data based on syndrome weight | |
TWI691967B (zh) | 解碼方法及相關的快閃記憶體控制器與電子裝置 | |
US11544003B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11050442B2 (en) | Reducing the latency of a syndrome-based quasi-cyclic decoder | |
TWI575530B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 | |
JP5710815B1 (ja) | 半導体記憶装置 | |
TW202328927A (zh) | 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 | |
JP2013196674A (ja) | メモリシステムおよび多重化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140617 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141021 |