JP2013200919A - 不揮発性半導体メモリ装置、及び、その制御方法 - Google Patents

不揮発性半導体メモリ装置、及び、その制御方法 Download PDF

Info

Publication number
JP2013200919A
JP2013200919A JP2012068748A JP2012068748A JP2013200919A JP 2013200919 A JP2013200919 A JP 2013200919A JP 2012068748 A JP2012068748 A JP 2012068748A JP 2012068748 A JP2012068748 A JP 2012068748A JP 2013200919 A JP2013200919 A JP 2013200919A
Authority
JP
Japan
Prior art keywords
data
state
setting
semiconductor memory
memory
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.)
Granted
Application number
JP2012068748A
Other languages
English (en)
Other versions
JP2013200919A5 (ja
JP5929398B2 (ja
Inventor
Tsubasa Tanaka
翼 田中
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.)
Buffalo Inc
Original Assignee
Buffalo 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 Buffalo Inc filed Critical Buffalo Inc
Priority to JP2012068748A priority Critical patent/JP5929398B2/ja
Publication of JP2013200919A publication Critical patent/JP2013200919A/ja
Publication of JP2013200919A5 publication Critical patent/JP2013200919A5/ja
Application granted granted Critical
Publication of JP5929398B2 publication Critical patent/JP5929398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】長期間アクセスされないメモリセルのデータの保持期間をより効果的に延長することが可能な技術を提供する。
【解決手段】ホスト装置10に接続される不揮発性半導体メモリ装置20に、データを書き換え可能に保持するメモリセル36を複数有するメモリ部(30)と、メモリセル36のアクセス対象でない保持データD1の状態チェックを行う設定(L1)であるか否かを切り替える物理的スイッチ40と、該物理的スイッチ40の設定が前記状態チェックを行う設定(L1)である場合、メモリセル36へのアクセスが無くてもメモリセル36の保持データD1の状態をチェックし、メモリ部(30)への書き込みが必要である状態の保持データD2をメモリ部(30)へ書き込むデータ管理手段U1と、を設ける。
【選択図】図3

Description

本発明は、ホスト装置に接続される不揮発性半導体メモリ装置、及び、その制御方法に関する。
近年、SD(Secure Digital)カードやメモリスティックといった小型メモリカード等の不揮発性半導体メモリ装置が安価で大容量化している。このため、デジタルカメラ等の撮影装置で撮影した画像データ等の撮影データをフラッシュメモリ装置等にそのまま残し、空き容量が少なくなると新しいフラッシュメモリ装置等に交換することが行われるようになっている。フラッシュメモリ装置等に物理的なライトプロテクトスイッチが設けられている場合、ライトプロテクトスイッチをオンにしてフラッシュメモリ装置等を長期間保管し、時々ライトプロテクトスイッチをオンにしたまま記憶データを読み出すことが行われている。
一方、不揮発性半導体メモリは、エンデュランス(データ書き換え回数)に制限があるとともに、データリテンション(データ保持期間)に制限がある。すなわち、データを書き込んでから時間が経過すると、フローティング・ゲートから電荷が徐々に抜け、ビットデータが変わってしまうことがある。特に、NAND型フラッシュメモリは、データの読み書きをページ単位で行う必要があり、データを上書きするためにはページよりも大きいブロック全体を消去したうえでデータを書き込む必要があり、データの消去をブロック単位で行う必要がある。このため、NAND型フラッシュメモリは、NOR型フラッシュメモリもよりもメモリセルの劣化が進み易い。
以上のことから、特に、NAND型フラッシュメモリ装置の場合、メモリ領域に誤り訂正用のデータ領域を設けておき、メモリセルからデータを読み出すときにECC(Error Check and Correct)回路でエラーの有無を検出し、エラー時に記憶データを自動的に訂正することが行われている。この記憶データの訂正は、外部に出力する際に行われ、メモリセルに保持されているデータに対しては行われない。
特許文献1に記載の不揮発性半導体メモリ装置は、状態検知回路と検知周期制御回路とデータ保持制御回路とを備えている。前記状態検知回路は、メモリセルの状態検知を当該メモリセルに保持されているデータを読み出す際に「0」か「1」かを区別する閾値電圧を測定することにより一定周期で実施する。メモリセルに保持されているデータを読み出す際の閾値電圧値が所定の電圧値Vbより大きい「正常」状態と判定されたメモリセルには、何もされない。前記閾値電圧値が所定の電圧値Va以上であり且つ所定の電圧値Vb以下の「注意」状態と判定されたメモリセルには、データの再書き込みが行われる。前記閾値電圧値が所定の電圧値Vaより小さい「危険」状態と判定されたメモリセルには、別のメモリセルへデータが書き込まれる。
特開2010−165434号公報 特開2003−100099号公報 特開2000−11670号公報
上述した閾値電圧の測定には、そのための回路をメモリ外に設ける必要がある。
また、不揮発性半導体メモリ装置は、上述したように長期間のデータ保存用とされることもあれば、頻繁にデータを読み書きするために用いられることもある。上述した技術のように一定周期でメモリセルの状態検知を実施すると、頻繁にデータが読み書きされる不揮発性半導体メモリ装置の場合、状態検知処理のためにホスト装置からのアクセスが遅くなることがある。
なお、特許文献2に記載の技術は、ワンチップマイコンの技術であるが、動作電源の電位レベルを変更するレギュレータを不揮発性半導体メモリ外に設ける必要がある。また、特許文献3の技術は、フラッシュメモリ近傍の温度を測定する温度センサをフラッシュメモリ外に設ける必要がある。
以上を鑑み、本発明は、長期間アクセスされないメモリセルのデータの保持期間をより効果的に延長することが可能な技術を提供する目的を有している。
上記目的を達成するため、本発明は、ホスト装置に接続される不揮発性半導体メモリ装置であって、
データを書き換え可能に保持するメモリセルを複数有するメモリ部と、
前記メモリセルのアクセス対象でない保持データの状態チェックを行う設定であるか否かを切り替える物理的スイッチと、
該物理的スイッチの設定が前記状態チェックを行う設定である場合、前記メモリセルへのアクセスが無くても前記メモリセルの保持データの状態をチェックし、前記メモリ部への書き込みが必要である状態の保持データを前記メモリ部へ書き込むデータ管理手段と、を備えた態様を有する。
また、本発明は、データを書き換え可能に保持するメモリセルを複数有するメモリ部を備えホスト装置に接続される不揮発性半導体メモリ装置の制御方法であって、
前記不揮発性半導体メモリ装置に設けられた物理的スイッチであって前記メモリセルのアクセス対象でない保持データの状態チェックを行う設定であるか否かを切り替える物理的スイッチの設定が前記状態チェックを行う設定である場合、前記メモリセルへのアクセスが無くても前記メモリセルの保持データの状態をチェックし、前記メモリ部への書き込みが必要である状態の保持データを前記メモリ部へ書き込む、態様を有する。
すなわち、物理的スイッチの設定が保持データの状態チェックを行う設定である場合、メモリセルへのアクセスが無くてもメモリセルの保持データの状態がチェックされ、メモリ部への書き込みが必要である状態の保持データがメモリ部へ書き込まれる。従って、長期間アクセスされないメモリセルの保持データが維持される。また、物理的スイッチの設定が保持データの状態チェックを行う設定でない場合、保持データの状態チェックが行われない。
不揮発性半導体メモリ装置が長期間のデータ保存用とされる場合、物理的スイッチの設定が保持データの状態チェックを行う設定にされる可能性が比較的大きい。一方、不揮発性半導体メモリ装置が頻繁にデータを読み書きするために用いられる場合、物理的スイッチの設定が保持データの状態チェックを行う設定にされない可能性が比較的大きい。従って、本態様は、長期間アクセスされないメモリセルのデータの保持期間をより効果的に延長することが可能になる。
ここで、上記不揮発性半導体メモリ装置は、NAND型フラッシュメモリ装置が好適であるものの、NOR型フラッシュメモリ等にも適用可能である。
上記状態チェックには、ECC(Error Check and Correct)による保持データの誤りチェック、メモリセルにデータを書き込んでからの経過時間が設定を超えたか否かのチェック、メモリセルのページにデータを書き込んだ回数が設定を超えたか否かのチェック、これらの組合せ、等が含まれる。
上記保持データをメモリ部へ書き込むことには、メモリセルの保持データに誤りがあるか否かを検出する誤り検出手段により訂正された保持データをメモリ部に書き込むことが含まれる。
上記メモリ部への保持データの書き込みは、同じ場所への書き込みでもよいし、メモリ部内の異なる場所への書き込みでもよい。
ところで、前記物理的スイッチをライトプロテクトスイッチにすると、状態チェックを行う設定であるか否かを切り替える専用の物理的スイッチを不要にすることができる。この場合、不揮発性半導体メモリ装置が長期間のデータ保存用とされると、ライトプロテクトスイッチがオンにされる可能性が比較的大きい。一方、不揮発性半導体メモリ装置が頻繁にデータを読み書きするために用いられる場合、ライトプロテクトスイッチがオフにされる可能性が比較的大きい。従って、本態様は、長期間アクセスされないメモリセルのデータの保持期間をさらに効果的に延長することが可能になる。
上記状態チェックの一例として、前記データ管理手段は、前記物理的スイッチの設定が前記状態チェックを行う設定である場合、前記メモリセルにデータを書き込んでからの期間、前記メモリセルに対して最後にアクセスしてからの期間、及び、前記メモリセルの書き換え回数、から選ばれる一以上が設定を超えたか否かを判断し、超えたと判断したときに前記メモリセルの保持データの状態をチェックしてもよい。メモリセルにデータを書き込んでからの期間やメモリセルに対して最後にアクセスしてからの期間が短いとき、及び、メモリセルの書き換え回数が少ないとき、保持データをメモリ部へ書き込む必要性は小さい。従って、本態様は、保持データの維持処理を効率良く行うことができる。
ここで、上記メモリセルの書き換え回数には、メモリセルのブロック又はページの書き換え回数が含まれる。上記設定には、所定期間、メモリセルの書き換え回数、これらの組合せ、等が含まれる。
前記データ管理手段は、前記メモリセルの保持データに誤りがあるか否かを検出する誤り検出手段を有し、誤りが検出され訂正された保持データを前記メモリ部へ書き込んでもよい。本態様は、不揮発性半導体メモリ装置の誤り検出手段を利用して保持データの維持処理を行うことができる。
前記データ管理手段は、前記メモリ部の保持データのうち書き込んでからの期間の長い保持データから順に状態をチェックしてもよい。すると、保持データの維持処理を効率良く行うことができる。
前記データ管理手段は、本不揮発性半導体メモリ装置への通電が開始されたとき、前記物理的スイッチの設定が前記状態チェックを行う設定であれば前記保持データの状態のチェックを開始してもよい。これにより、保持データをより確実に維持することができる。
前記データ管理手段は、前記物理的スイッチの設定が前記状態チェックを行う設定である場合、本不揮発性半導体メモリ装置への通電が継続して前記状態チェックの行われていない期間が設定を超えたか否かを判断し、超えたと判断したときに再び前記保持データの状態のチェックを開始してもよい。本態様は、不揮発性半導体メモリ装置への通電が継続する場合に保持データをより確実に維持することができる。
前記データ管理手段は、前記メモリ部への書き込みが必要である状態の保持データを元の場所とは異なる場所の前記メモリ部に書き込んでもよい。本態様は、保持データの書き込みの途中で不揮発性半導体メモリ装置への電力供給が遮断されても元の保持データが残されるので、保持データの維持処理をより確実に行うことができる。
前記メモリ部への書き込みが必要である状態の保持データを前記メモリ部へ書き込んでいる状態を知らせる表示手段があると、保持データが書き込まれていることを知ることができるので、不用意な電源遮断を抑制することができる。
本発明によれば、長期間アクセスされないメモリセルのデータの保持期間をより効果的に延長することが可能な技術を提供することができる。
ホスト装置10とともに不揮発性半導体メモリ装置20の構成の概略を例示するブロック図である。 (a)はNAND型フラッシュメモリ30の構造を模式的に例示する図、(b)は各ページ34の構造を模式的に例示する図、(c)は管理領域R1に記録されたブロック32毎の書き換え回数を模式的に例示する図、である。 不揮発性半導体メモリ装置20のコントローラ50が行うデータ管理処理を模式的に例示するフローチャートである。 (a)は代替ブロック処理を模式的に例示する図、(b)はリライト処理を模式的に例示する図、である。 コントローラ50が行うリードコマンド処理を模式的に例示するフローチャートである。 (a),(b)はコントローラ50が行うライトコマンド処理を模式的に例示するフローチャートである。 変形例においてホスト装置10とともに不揮発性半導体メモリ装置20の構成の概略を例示するブロック図である。 リライト処理できないブロック32に代替ブロック処理を適用するデータ管理処理を模式的に例示するフローチャートである。 データを書き込んでからの期間が設定期間を超えたブロック32を選んで状態チェックを行うデータ管理処理を模式的に例示するフローチャートである。 データに対して最後にアクセスしてからの期間が設定期間を超えたブロック32を選んで状態チェックを行うデータ管理処理を模式的に例示するフローチャートである。 設定書き換え回数を超えたブロック32を選んで状態チェックを行うデータ管理処理を模式的に例示するフローチャートである。 書き込んでからの期間の長い保持データD1から順に状態チェックを行うデータ管理処理を模式的に例示するフローチャートである。 電源オン継続時に設定期間を超過したら状態チェックを行うデータ管理処理を模式的に例示するフローチャートである。 保持データD1の書き込み状態を知らせる表示を行うデータ管理処理を模式的に例示するフローチャートである。
以下、本発明の実施形態を説明する。むろん、以下に説明する実施形態は、本発明を例示するものに過ぎない。
(1)不揮発性半導体メモリ装置を有するコンピュータシステムの例:
図1〜6は、不揮発性半導体メモリ装置20を有するコンピュータシステム1の一例を示している。図1に示すコンピュータシステム1は、外付けの不揮発性半導体メモリ装置20がホスト装置10に対して着脱可能に接続されている。コンピュータシステム1の概略は、以下の通りである。
不揮発性半導体メモリ装置20は、フラッシュメモリ(メモリ部)30、ライトプロテクトスイッチ42(物理的スイッチ40)、コントローラ50、を備えるフラッシュメモリ装置である。不揮発性半導体メモリ装置20は、内部に電源が無く、ホスト装置10の電源19から電源端子29に供給される電力により動作する。図1に示す不揮発性半導体メモリ装置20の例として、SDカードやメモリスティックといったメモリカードが挙げられる。この場合、例えば、ホスト装置10に設けたメモリカード用のスロット(ホスト側接続部)18に不揮発性半導体メモリ装置20の挿入端(メモリ側接続部)28を挿入することにより、不揮発性半導体メモリ装置20がホスト装置10に対して電気的に接続される。むろん、不揮発性半導体メモリ装置20は、USB(Universal Serial Bus)メモリ等でもよい。この場合、ホスト装置10のUSB接続口(ホスト側接続部)に不揮発性半導体メモリ装置20のUSB挿入端(メモリ側接続部)を挿入することにより、不揮発性半導体メモリ装置20がホスト装置10に対して電気的に接続される。
コントローラ50のフラッシュインターフェイス(I/F)54に接続されたフラッシュメモリ(メモリ部)30は、データを書き換え可能に保持するメモリセル36を多数有している。図1に示すフラッシュメモリ30は、複数のメモリセル36がユーザに開放されない管理領域R1とユーザに開放された開放領域R2とに区分されている。管理領域R1には、開放領域R2に書き込まれたデータ(例えばファイル)の格納場所等が記録される。図1に示すフラッシュメモリ30の例として、NAND型フラッシュメモリが挙げられる。フラッシュメモリのメモリセルは、SLC(Single Level Cell)でもよいし、MLC(Multi Level Cell)でもよい。
図2(a)はNAND型フラッシュメモリ30の構造を模式的に例示し、図2(b)は各ページ34の構造を模式的に例示し、図2(c)は管理領域R1に記録されたブロック32毎の書き換え回数を模式的に例示している。フラッシュメモリ30のメモリ領域は、ブロック32毎に区分されている。図2(a)では、メモリ領域がBi(iは1からnまでの整数、nは2以上の整数)で表されている。各ブロック32はページ34毎に区分され、各ページ34は複数のメモリセル36を有している。各ページ34は、データ領域R3とスペア領域R4とを有している。データ領域R3は、ユーザが直接扱うデータを記憶する領域であり、特に限定されないが、例えば2〜8キロバイト程度のデータ容量を有する。スペア領域R4は、データの誤りを訂正するための誤り訂正符号(Error Correcting Code)を記憶する領域であり、特に限定されないが、例えば64〜640バイト程度のデータ容量を有する。すなわち、図2(b)に示す例では、ページ34毎に誤り訂正符号が記憶される。各ブロック32は、特に限定されないが、例えば64〜128ページ程度(データ領域が例えば128キロバイト〜1メガバイト程度、スペア領域が例えば4〜80キロバイト程度)を有している。
フラッシュメモリへは、トンネル電流を流してフローティング・ゲート内に電荷を注入することによりデータが書き込まれる。フローティング・ゲート内の電荷は、フローティング・ゲートを覆う絶縁膜により保持される。これにより、電力を供給しなくてもフラッシュメモリにデータが保持される。フローティング・ゲートに対応したP型半導体層に電圧をかけてフローティング・ゲートから電荷を抜くと、データが消去される。
NAND型フラッシュメモリの場合、データの読み出し及び書き込みをページ単位で行う必要がある。また、データの消去は、ページ単位よりも大きいブロック単位で行う必要がある。データを上書きするためには、一旦、ブロック全体を消去したうえでデータを書き込む必要がある。NAND型フラッシュメモリは、NOR型フラッシュメモリよりもデータの読み書き動作が多くなり、メモリセルの劣化が進み易い。このため、NAND型フラッシュメモリは、誤り訂正符号を記憶するスペア領域が内部に設けられるとともに、メモリセルの保持データに誤りがあるか否かを検出するECC(Error Check and Correct)回路(誤り検出手段)が外部に設けられる。
また、メモリセルの劣化が進み易いため、特定のブロックにデータの書き込みや消去が集中すると、そのブロックのみ早く劣化してしまう。使用可能期間を延ばすため、ブロック毎のデータの書き換え回数をなるべく均等に分散させるウエアレベリング(Wear Levelling)が行われる。このウエアレベリングのために、図2(c)に示すように、ブロック32毎のデータの書き換え回数が管理領域R1に記録される。
コントローラ50のGPIO(General Purpose Input/Output)56に接続されたライトプロテクトスイッチ42は、フラッシュメモリ30に対するデータの書き込みを禁止するか否かを切り替えるための機械式スイッチである。図1に示すライトプロテクトスイッチ42は、つまみ41をオン位置L1又はオフ位置L2に切り替え操作可能な2ポジションのスライドスイッチとされている。このライトプロテクトスイッチ42は、メモリセル36のアクセス対象でない保持データD1の状態チェックを行う設定(オン位置L1)であるか否かを切り替える物理的スイッチ40を兼ねている。すなわち、この物理的スイッチ40のつまみ41のオン位置L1はメモリセル36のアクセス対象でない保持データD1の状態チェックを行う設定を意味し、該つまみ41のオフ位置L2はメモリセル36のアクセス対象でない保持データD1の状態チェックを行わない設定を意味する。むろん、物理的スイッチ40は、3ポジション以上のスイッチでもよいし、スライドスイッチ以外にも、ディップスイッチ、トグルスイッチ、レバースイッチ、ロータリスイッチ、ロッカスイッチ、オルタネイト動作型押しボタン、等でもよい。
なお、ホスト装置10がフラッシュメモリ30からデータを読み出す場合、データを読み出すページ34についてはECC回路55が保持データD1の状態をチェックし、誤りのある保持データは訂正されてホスト装置10へ出力される。従って、ページ34がデータ読み出しの対象となれば、保持データのECCチェックが行われる。しかし、ページ34がアクセス対象とならなければ、従来はECCチェックが行われない。
図1に示すコントローラ50は、CPU(Central Processing Unit)51、内部メモリ52、ホストインターフェイス(I/F)53、フラッシュインターフェイス(I/F)54、ECC回路55(誤り検出手段U2)、GPIO56、が少なくとも内部バス50aに接続されて互いにデータを入出力可能とされている。コントローラ50の主要部分は、IC(集積回路)で構成される。このコントローラ50は、データ管理手段U1を少なくとも備える。データ管理手段U1は、物理的スイッチ40の設定が状態チェックを行う設定(オン位置L1)である場合、メモリセル36へのアクセスが無くてもメモリセル36の保持データD1の状態をチェックし、メモリ部(30)への書き込みが必要である状態の保持データ、好ましくは正しい保持データをメモリ部(30)へ書き込む。
不揮発性半導体メモリ装置20が長期間のデータ保存用とされる場合、物理的スイッチ40の設定が保持データD1の状態チェックを行う設定(オン位置L1)にされる可能性が比較的大きい。この場合、メモリセル36へのアクセスが無くてもメモリセル36の保持データD1の状態がチェックされ、メモリ部(30)への書き込みが必要である状態の保持データがメモリ部(30)へ書き込まれる。一方、不揮発性半導体メモリ装置20が頻繁にデータを読み書きするために用いられる場合、物理的スイッチ40の設定が保持データD1の状態チェックを行わない設定(オフ位置L2)にされる可能性が比較的大きい。従って、長期間アクセスされないメモリセル36のデータの保持期間をより効果的に延長することが可能になる。
コントローラ50に設けられた内部メモリ52は、例えばROM(Read Only Memory)とRAM(Random Access Memory)等で構成することができる。このROMには、フラッシュメモリ30に対してデータを読み書きしたり消去したりする機能、データ管理手段U1の機能、等をコントローラ50に実現させるためのプログラムを含む情報が書き込まれている。CPU51は、前記情報に従って不揮発性半導体メモリ装置20全体の動作を制御する。ホスト装置10のホストコントローラ14に接続されるホストI/F53は、シリアル通信規格といった所定の通信規格に従ってホスト装置10と通信を行うための通信I/Fである。むろん、コントローラ50とホスト装置10との通信は、パラレル通信等でもよい。USBメモリの場合、ホストI/Fは、USB規格に従ってホスト装置とシリアル通信を行うUSB I/Fとすることができる。フラッシュメモリ30に接続されたフラッシュI/F54は、所定の仕様に従ってフラッシュメモリ30にアクセスするためのI/Fである。同じくフラッシュメモリ30に接続されたECC回路55(誤り検出手段U2)は、ページ34単位でデータ領域R3の保持データD1とスペア領域の誤り訂正符号とを比較することによりメモリセル36の保持データD1に誤りがあるか否かを検出する。フラッシュメモリ30からデータを読み出す場合、ECC回路55は、誤りが無いと検出した保持データはそのまま内部バス50aへ出力し、誤りがあると検出した保持データは訂正後に内部バス50aへ出力する。ライトプロテクトスイッチ42に接続されたGPIO56は、つまみ41がオン位置L1にあるかオフ位置L2にあるかを読み取る。
ホスト装置10は、パーソナルコンピュータといったコンピュータ、デジタルカメラやデジタルビデオカメラといった撮像装置、スマートフォンを含む携帯電話、テレビジョンや記録再生装置といった放送受信装置、USB充電器といった充電器、等が考えられる。図1に示すホスト装置10は、CPU11、ROM12、RAM13、ホストコントローラ14、等がバス10aに接続されて互いに情報を入出力可能とされている。ホストコントローラ14は、シリアル通信規格といった所定の通信規格に従って不揮発性半導体メモリ装置20と通信を行う。この通信は、パラレル通信等でもよい。ホスト装置10は、不揮発性半導体メモリ装置20を着脱可能に装着するためのスロット18、電源19、等も備えている。スロット18に不揮発性半導体メモリ装置20の挿入端28が挿入されると、ホスト装置10と不揮発性半導体メモリ装置20とが電気的に接続され、電源19から不揮発性半導体メモリ装置20の電源端子29に電力が供給され、コントローラ50が動作を開始する。
図3は、本技術に係る不揮発性半導体メモリ装置20のコントローラ50が行うデータ管理処理を模式的なフローチャートにより例示している。この処理は、不揮発性半導体メモリ装置20がホスト装置10に接続されたりホスト装置10に電源が投入されたりして不揮発性半導体メモリ装置20への通電が開始された電源投入時に開始し、他の処理と並列して行われる。このデータ管理処理を行うコントローラ50は、上述したデータ管理手段U1を構成する。
データ管理処理が開始すると、コントローラ50は、ライトプロテクトスイッチ42のつまみ41の位置に応じて処理を分岐させる(ステップS102。以下、「ステップ」の記載を省略。)。コントローラ50は、GPIO56を介してつまみ41の位置を読み取り、この位置がオン位置L1である場合にS104へ処理を進めて保持データD1の状態のチェックを開始し、読み取った位置がオフ位置L2である場合にはデータ管理処理を終了させる。ここで、つまみ41の位置は物理的スイッチ40の設定であり、オン位置L1は保持データD1の状態チェックを行う設定であり、オフ位置L2は保持データD1の状態チェックを行わない設定である。図3に示す状態チェックは、ECC(Error Check and Correct)による保持データの誤りチェックである。
ライトプロテクトスイッチ42がオン(L1)である場合、コントローラ50は、図2(a)に示す全ブロックB1〜Bnの中から順次、状態チェックとしてECCチェックを行う対象ブロックBiを設定する(S104)。この設定処理は、対象ブロックBiを特定する変数iに数値を入れる処理等とすることができる。ECCチェックは、メモリセル36の保持データD1に誤りがあるか否かのチェックであり、ECC回路55によりページ単位で行われる。S106では、ホスト装置10からのアクセスの有無に関係無く、対象ブロックBiに含まれる全メモリセル36の保持データD1の状態チェックをECC回路55で行い、ECCエラーを検出したか否かを判断する。例えば、対象ブロックBiに含まれる全ページ34のうち1以上のページに保持データD1の誤りがあったときにECCエラーと判断する。図3に示す処理は、このECCエラーを検出したときに対象ブロックBiの保持データD1がフラッシュメモリ30への書き込みが必要である状態と判断し、ECCエラーを検出しないときに対象ブロックBiの保持データD1はフラッシュメモリ30への書き込みが不要であると判断している。対象ブロックBiにECCエラーを検出しなかった場合、コントローラ50は、処理をS112に進める。このように、本技術は、不揮発性半導体メモリ装置20の誤り検出手段U2を利用して保持データD1の維持処理を行うことができる。
対象ブロックBiにECCエラーを検出した場合、コントローラ50は、対象ブロックBiの保持データD1を元の場所(Bi)とは異なる場所のフラッシュメモリ30に書き込む代替ブロック処理を行う(S108)。
図4(a)は、代替ブロック処理を模式的に例示している。図4(a)の上段は、対象ブロックBiのページPk(kは1からmまでの整数、mは2以上の整数)にエラービットのメモリセルMbが生じている例を示している。従って、ページPkの保持データは、フラッシュメモリ30への書き込みが必要である状態の保持データD2である。この場合、ECC回路55は、ページPkの保持データD1に誤りがあることを検出し、スペア領域R4の誤り訂正符号に基づいて保持データD1の誤りを訂正する。図4(a)の中段は、誤りが訂正された保持データD3がECC回路55により生成されることが示されている。訂正後の保持データD3は、一旦、RAM(内部メモリ52)に格納されてもよい。ページPkの訂正後の保持データは、フラッシュメモリ30への書き込みが必要である状態の正しい保持データD2である。代替ブロック処理は、この保持データD2を含む対象ブロックBiの訂正後の保持データD3を対象ブロックBi以外のブロックに書き込む処理である。図4(a)の下段は、代替ブロックBj(jはiを除く1以上n以下の整数)に訂正後の保持データD3が書き込まれることが示されている。代替ブロックBjの全メモリセル36を消去してから訂正後の保持データD3を代替ブロックBjに書き込んでもよい。訂正後の保持データD3が一旦RAMに格納される場合、コントローラ50は、この格納された保持データD3を代替ブロックBjに書き込んでもよい。
上記代替ブロック処理が終了すると、コントローラ50は、対象ブロックBiから代替ブロックBjへ移動したデータの新たな格納場所を管理領域R1に記録し、管理領域R1の代替ブロックBjの書き換え回数を1増やす(S110)。代替ブロック処理の後に管理領域R1を更新することにより、万一、訂正された保持データD3の書き込みの途中で不揮発性半導体メモリ装置20への電力供給が遮断されても元の保持データD1が残されているので、電源再投入後に再び保持データD1を訂正して代替ブロックに書き込むことができる。従って、本データ管理処理は、保持データの確実性の高い維持処理を行うことができる。
むろん、訂正された保持データD3の書き込み途中で不揮発性半導体メモリ装置20への電力供給が遮断されない対策をとることを前提にすれば、図4(b)に示すように、フラッシュメモリ30への書き込みが必要である状態の保持データD2を元の場所に書き込むリライト処理が代替ブロック処理の代わりに行われてもよい。前記対策には、不揮発性半導体メモリ装置の包装等にホスト装置で安全な取り外し操作が完了するまでホスト装置から不揮発性半導体メモリ装置を取り外さない旨の注意書きを入れること等が考えられる。図4(b)に示す場合も、ECC回路55は、ページPkの保持データD1に誤りがあることを検出し、スペア領域R4の誤り訂正符号に基づいて保持データD1の誤りを訂正する。訂正後の保持データD3は、一旦、RAM(内部メモリ52)に格納すればよい。リライト処理は、図4(b)の下段に示すように、元の場所である対象ブロックBiに訂正後の保持データD3を書き込む処理である。例えば、コントローラ50は、対象ブロックBiの全メモリセル36を消去し、RAMに格納した訂正後の保持データD3を対象ブロックBiに書き込み、管理領域R1の対象ブロックBiの書き換え回数を1増やせばよい。
S112では、全ブロックB1〜Bnについて保持データD1の状態チェックを行ったか否かを判断する。状態チェックを行っていないブロックが残っていれば、コントローラ50は、処理をS104に戻す。全ブロックについて状態チェックを行った場合、コントローラ50は、データ管理処理を終了させる。
以上の処理により、コントローラ50は、不揮発性半導体メモリ装置20への通電が開始されたとき、ライトプロテクトスイッチ42がオン(L1)であればメモリセル36へのアクセスが無くてもメモリセル36の保持データD1の状態チェックを開始し、フラッシュメモリ30への書き込みが必要である状態の正しい保持データD2をフラッシュメモリ30へ書き込む。従って、本技術は、保持データをより確実に維持することができる。
不揮発性半導体メモリ装置が低価格化及び大容量化していることから、データを蓄積した不揮発性半導体メモリ装置を長期間保管し、時々、不揮発性半導体メモリ装置から記憶データを読み出すことが行われている。従来であれば、読み出されないデータについては読み出し時のECCチェックが行われない。
不揮発性半導体メモリ装置が長期間のデータ保存用とされる場合、ライトプロテクトスイッチ42がオン(L1)にされる可能性が比較的大きい。この場合、メモリセル36へのアクセスが無くてもメモリセル36の保持データD1の状態がチェックされ、フラッシュメモリ30への書き込みが必要である状態の保持データD2がフラッシュメモリ30へ書き込まれる。従って、長期間アクセスされないメモリセル36の保持データD1が維持される。一方、不揮発性半導体メモリ装置20が頻繁にデータを読み書きするために用いられる場合、ライトプロテクトスイッチ42がオフ(L2)にされる可能性が比較的大きい。この場合、保持データD1の状態チェックが行われない。このように、本技術は、長期間アクセスされずに保管されている可能性の高いライトプロテクトスイッチオン時に限定してアクセスが無くてもメモリセル36の保持データD1の状態がチェックされるので、長期間アクセスされないメモリセルのデータの保持期間をより効果的に延長することが可能となる。
また、本技術は、メモリセルのアクセス対象でない保持データの状態チェックを行う設定であるか否かをライトプロテクトスイッチで切り替えることができるので、状態チェックを行う設定であるか否かを切り替える専用の物理的スイッチが不要である。
なお、上述したデータ管理処理を行っている最中にホスト装置からアクセスの要求がある可能性がある。そこで、データ管理処理の途中でアクセス要求に応じた処理を行うことができると、好都合である。
図5は、コントローラ50が行うリードコマンド処理をフローチャートにより模式的に例示している。
コントローラ50は、ホスト装置10からリードコマンドを受信すると、リードコマンド処理を開始させる。まず、S202では、データ管理処理の途中であるか否かを判断する。データ管理処理の途中である場合、コントローラ50は、データ管理処理を途中で停止させる(S204)。例えば、図3のS104の対象ブロック設定処理の直前は保持データD1の書き込み処理の切れ間となるため、リードコマンドを受信したときにはS104の直前でデータ管理処理を停止させることができる。また、コントローラ50は、データ管理処理が途中停止するまで一旦BUSYやNYETなどデータ管理処理中であることを表す偽装的な返信をホスト装置10へ行ってもよい。
データ管理処理が途中停止すると、コントローラ50は、リードコマンドに従ってフラッシュメモリ30からデータを読み出してホスト装置10へ送出するデータ読み出し処理を行う(S206)。その後、コントローラ50は、データ管理処理を再開し(S208)、リードコマンド処理を終了させる。
一方、S202でデータ管理処理の途中でないと判断した場合、コントローラ50は、S206と同様のデータ読み出し処理を行い(S210)、リードコマンド処理を終了させる。
以上説明したリードコマンド処理によると、データ管理処理の途中でもメモリ部からデータを読み出すことができるので、データ読み出しの待ち時間を少なくすることができる。
一方、図6(a)は、コントローラ50が行うライトコマンド処理を模式的なフローチャートにより例示している。メモリセルの保持データの状態チェックを行う設定であるか否かを切り替える物理的スイッチ40がライトプロテクトスイッチ42である場合、データ管理処理が行われるのはライトプロテクトスイッチ42がオンであるときだけであり、ライトプロテクトスイッチ42がオフであるときにはデータ管理処理が行われない。そこで、コントローラ50は、ホスト装置10からライトコマンドを受信してライトコマンド処理を開始すると、ライトプロテクトスイッチ42のつまみ41の位置に応じて処理を分岐させる(S302)。ライトプロテクトスイッチ42がオン(L1)であると判断した場合、コントローラ50は、書き込み禁止を表す返信をホスト装置10へ行い(S304)、ライトコマンド処理を終了させる。ライトプロテクトスイッチ42がオフ(L2)であると判断した場合、コントローラ50は、ライトコマンドに従ってホスト装置10からデータを受け取ってフラッシュメモリ30へ書き込むデータ書き込み処理を行い(S306)、ライトコマンド処理を終了させる。
なお、フラッシュメモリ30の記憶データを削除するコマンドを受信したときも、ライトコマンド処理と同様の判断処理を行えばよい。例えば、コントローラ50は、ホスト装置10から削除コマンドを受信して削除コマンド処理を開始すると、ライトプロテクトスイッチ42のつまみ41の位置に応じて処理を分岐させるとよい。ライトプロテクトスイッチ42がオン(L1)であると判断した場合、コントローラ50は、削除禁止を表す返信をホスト装置10へ行えばよい。ライトプロテクトスイッチ42がオフ(L2)であると判断した場合、コントローラ50は、削除コマンドに従ってフラッシュメモリ30からデータを削除する処理を行えばよい。
なお、本発明は、種々の変形例が考えられる。
例えば、上記メモリ部は、NAND型フラッシュメモリ以外にも、NOR型フラッシュメモリ、EEPROM(Electrically Erasable and Programmable Read Only Memory)、等でもよい。
図7に例示するコンピュータシステム1のように、ライトプロテクトスイッチ42とは別に専用の物理的スイッチ40を設けてもよい。むろん、不揮発性半導体メモリ装置に対してライトプロテクトスイッチを設けずに物理的スイッチ40を設けてもよい。物理的スイッチ40がライトプロテクトスイッチでない場合、図3のS102の判断処理は、例えば、物理的スイッチ40のつまみ41がオン位置L1であるかオフ位置L2であるかを判断して処理を分岐させる判断処理とすることができる。
また、ライトコマンド処理については、図6(b)に例示するように、データ管理処理の途中でデータ書き込み要求に応じた処理を行えばよい。すなわち、コントローラ50は、ホスト装置10からライトコマンドを受信してライトコマンド処理を開始すると、データ管理処理の途中であるか否かを判断し(S322)、データ管理処理の途中であればデータ管理処理を途中で停止させ(S324)、ライトプロテクトスイッチオフであればデータ書き込み処理を行い、ライトプロテクトスイッチオンであれば書き込み禁止を返信する(S326)。その後、コントローラ50は、データ管理処理を再開し(S328)、ライトコマンド処理を終了させる。一方、データ管理処理の途中でなければ、コントローラ50は、ライトプロテクトスイッチオフであればデータ書き込み処理を行い、ライトプロテクトスイッチオンであれば書き込み禁止を返信し(S330)、ライトコマンド処理を終了させる。
(2)リライト処理できないブロックに代替ブロック処理を適用する例:
図8は、リライト処理できないブロック32に代替ブロック処理を適用するデータ管理処理を模式的なフローチャートにより例示している。この処理は、例えば、不揮発性半導体メモリ装置20への通電が開始された電源投入時に開始し、他の処理と並列して行われる。
ライトプロテクトスイッチ42など物理的スイッチ40がオン(L1)である場合(S102)、コントローラ50は、ECCチェックを行う対象ブロックBiを設定し(S104)、対象ブロックBiについてECCエラーを検出すると(S106)、図4(b)で示したようなリライト処理を行う(S122)。対象ブロックBiの訂正後の保持データD3をRAM(内部メモリ52)に格納したうえで同じ対象ブロックBiに書き込んだ後、コントローラ50は、この対象ブロックBiのデータを読み出し(S124)、書き込んだ保持データD3から変化したか否かを判断する(S126)。この判断処理は、対象ブロックBiにECCエラーが検出されたか否かを判断する処理でもよい。データが変化した場合、対象ブロックBiのメモリセルのいずれかが正しいビットデータを保持することができないことを意味する。そこで、コントローラ50は、対象ブロックBiについて図4(a)で示したような代替ブロック処理を行い(S108)、管理領域R1を更新する(S110)。データが変化していなければ、コントローラ50は、処理をS110に進める。
本データ管理処理は、代替ブロック処理の不要なブロックをリライト処理で済ませることができるので、メモリ部のデータ容量の残量が少ないときにデータの保持期間をより効果的に延長することが可能となる。
(3)設定期間又は設定書き換え回数の超過時にECCチェックを行う例:
図9は、データを書き込んでからの期間が設定期間を超えたブロック32を選んで状態チェックを行うデータ管理処理を模式的なフローチャートにより例示している。この処理における状態チェックは、メモリセルにデータを書き込んでからの期間が設定を超えたか否かのチェックと、メモリセルの保持データに誤りがあるか否かのECCチェックと、の組合せである。このデータ管理処理を行うため、図7に示すコントローラ50は、メモリセル36にデータを書き込んでからの期間と比較するための設定データD4がROM(内部メモリ52)に書き込まれているものとする。図9のデータ管理処理は、例えば、不揮発性半導体メモリ装置20への通電が開始された電源投入時に開始し、他の処理と並列して行われる。
ライトプロテクトスイッチ42など物理的スイッチ40がオン(L1)である場合(S102)、コントローラ50は、ECCチェックを行う対象ブロックBiを設定し(S104)、対象ブロックBiについてデータを最後に書き込んだ日時(t1とする。)を取得する(S142)。NTFS(NT File System)といったファイルシステムの場合、フラッシュメモリ30に保持されているファイルには最後に更新された日時を表す「更新日時」が添付されている。そこで、対象ブロックBiに保持されているデータに添付されている更新日時を取得し、更新日時が複数ある場合には最も古い更新日時を取得すればよい。
S144では、対象ブロックBiについてデータを最後に書き込んでからの期間(ΔT21とする。)が設定を超えたか否かを判断する。不揮発性半導体メモリ装置20への通電が開始された日時をホスト装置10から受信する場合、この通電の開始日時(t2とする)と最後に書き込んだ日時t1との差t2−t1が最後に書き込んでからの期間ΔT21となる。そこで、この期間ΔT21が設定データD4で表される設定期間ΔTth1を超えたか否か、例えば、ΔT21>ΔTth1であるか否かを判断すればよい。期間ΔT21が設定期間ΔTth1を超過していない場合、ECCチェックを行う必要が無いとして、コントローラ50は処理をS112へ進める。期間ΔT21が設定期間ΔTth1を超過している場合、コントローラ50は、ホスト装置10からのアクセスの有無に関係無く、対象ブロックBiに含まれる全メモリセル36の保持データD1の状態チェックをECC回路55で行い、ECCエラーを検出したか否かを判断する(S106)。ECCエラーを検出すると、コントローラ50は、図4(a)で示したような代替ブロック処理を行い(S108)、管理領域R1を更新する(S110)。ECCエラーを検出しなかった場合、コントローラ50は、処理をS112へ進める。
図10は、データに対して最後にアクセスしてからの期間が設定期間を超えたブロック32を選んで状態チェックを行うデータ管理処理を模式的なフローチャートにより例示している。S152,S154以外は、図9で示したデータ管理処理と同様である。
NTFSといったファイルシステムの場合、フラッシュメモリ30に保持されているファイルには最後にアクセスした日時を表す「アクセス日時」が添付されている。そこで、S152では、対象ブロックBiについてデータに対して最後にアクセスした「アクセス日時」(t3とする。)を取得する。S154では、対象ブロックBiについてデータに対して最後にアクセスしてからの期間(ΔT23とする。)が設定(ΔTth2)を超えたか否かを判断し、期間ΔT23が設定期間ΔTth2を超過した場合にECCチェックを行えばよい。
図11は、設定書き換え回数を超えたブロック32を選んで状態チェックを行うデータ管理処理を模式的なフローチャートにより例示している。S162,S164以外は、図9で示したデータ管理処理と同様である。
図2(c)で示したように、管理領域R1にはブロック32毎のデータの書き換え回数が記録されている。そこで、S162では、管理領域R1から対象ブロックBiの書き換え回数(n1とする。)を読み出す。S164では、対象ブロックBiについて書き換え回数n1が設定(ΔTth3)を超えたか否かを判断し、書き換え回数n1が設定回数ΔTth3を超過した場合にECCチェックを行えばよい。
メモリセル36にデータを書き込んでからの期間やデータに対して最後にアクセスしてからの期間が短いとき、及び、メモリセル36のデータの書き換え回数が少ないとき、保持データD1をフラッシュメモリ30へ書き込む必要性は小さい。従って、図9〜11に示すデータ管理処理は、保持データの維持処理を効率良く行うことができる。
なお、図9〜11の処理は、任意の2以上を組み合わせることも可能である。例えば、データを書き込んでからの期間が設定期間を超えるか、又は、データに対して最後にアクセスしてからの期間が設定期間を超えたとき、ECCチェックを行ってもよい。データを書き込んでからの期間が設定期間を超えるか、又は、データの書き換え回数が設定回数を超えたとき、ECCチェックを行ってもよい。データに対して最後にアクセスしてからの期間が設定期間を超えるか、又は、データの書き換え回数が設定回数を超えたとき、ECCチェックを行ってもよい。データを書き込んでからの期間が設定期間を超えるか、データに対して最後にアクセスしてからの期間が設定期間を超えるか、又は、データの書き換え回数が設定回数を超えたとき、ECCチェックを行ってもよい。
(4)古いデータから順に状態チェックを行う例:
図12は、書き込んでからの期間の長い保持データD1から順に状態チェックを行うデータ管理処理を模式的なフローチャートにより例示している。S182,S184以外は、図9で示したデータ管理処理と同様である。
ライトプロテクトスイッチ42など物理的スイッチ40がオン(L1)である場合(S102)、コントローラ50は、ブロック毎にデータを最後に書き込んだ日時(TIMEiとする。)を取得する(S182)。S184では、最後に書き込んだ日時TIMEiに基づいて、古いデータを有するブロックからECCチェック対象のブロックBiを設定する。ブロック毎の日時TIME1,TIME2,…,TIMEi,…,TIMEnを最も古い日時から順に新しくなるように並べ替えると、この順に対象ブロックBiを設定すればよい。S144では、対象ブロックBiについてデータを最後に書き込んでからの期間ΔT21が設定(Δth1)を超えたか否かを判断する。期間ΔT21が設定期間ΔTth1を超過していない場合、状態チェックを行っていないブロックの日時TIMEiは対象ブロックBiの日時であるか又は該日時よりも新しいので、コントローラ50は、データ管理処理を終了させる。期間ΔT21が設定期間ΔTth1を超過している場合、コントローラ50は、ホスト装置10からのアクセスの有無に関係無く、対象ブロックBiに含まれる全メモリセル36の保持データD1の状態チェックをECC回路55で行い、ECCエラーを検出したか否かを判断する(S106)。
以上より、本データ管理処理は、保持データの維持処理を効率良く行うことができる。
なお、図12で示したデータ管理処理についても、「更新日時」を「アクセス日時」に置き換え可能である。
(5)電源オン継続時のデータ管理処理の例:
図13は、電源オン継続時に設定期間を超過したら状態チェックを行うデータ管理処理を模式的なフローチャートにより例示している。例えば、スマートフォンを含む携帯電話に不揮発性半導体メモリ装置を接続するとき、携帯電話から常時、電力が供給されることが想定される。従って、不揮発性半導体メモリ装置への通電が継続しても、ある間隔でデータ管理処理が行われると、好都合である。図13に示すデータ管理処理を行うため、図7に示すコントローラ50は、通電継続時に状態チェックの行われていない期間と比較するための設定データD5がROM(内部メモリ52)に書き込まれているものとする。図13のデータ管理処理は、例えば、不揮発性半導体メモリ装置20への通電が開始された電源投入時に開始し、他の処理と並列して行われる。
ライトプロテクトスイッチ42など物理的スイッチ40がオン(L1)である場合(S402)、コントローラ50は、図3,8〜12で示したようなデータ管理処理を行う(S404)。この処理は、電源投入時のデータ管理処理である。その後、コントローラ50は、S404の処理が終了してからの期間(ΔT1)を計測する(S406)。この計測は、ROM(内部メモリ52)に書き込まれたプログラムによるソフトウェアタイマで行ってもよいし、ハードウェアとして設けられるタイマ回路で行ってもよい。計測期間ΔT1は、不揮発性半導体メモリ装置20への通電が継続して状態チェックの行われていない期間である。S408では、計測期間ΔT1が設定データD5で表される設定期間(ΔTth4とする。)を超えたか否か、例えば、ΔT1>ΔTth4であるか否かを判断する。計測期間ΔT1が設定期間ΔTth4を超過していない場合、コントローラ50は処理をS406に戻す。計測期間ΔT1が設定期間ΔTth4を超過した場合、コントローラ50は、図3,8〜12で示したようなデータ管理処理を行い(S410)、処理をS406に戻す。このデータ管理処理は、設定期間超過時のデータ管理処理である。
以上より、図13に示すデータ管理処理は、不揮発性半導体メモリ装置20への通電が継続する場合に保持データD1をより確実に維持することができる。
(6)保持データの書き込み状態を知らせる表示を行うデータ管理処理の例:
図14は、保持データD1の書き込み状態を知らせる表示を行うデータ管理処理を模式的なフローチャートにより例示している。この処理を行うため、図7に示す不揮発性半導体メモリ装置20は、コントローラ50のGPIO56に接続された発光ダイオード(LED)60を備えているものとする。LED60は、メモリ部(30)への書き込みが必要である状態の保持データD2をメモリ部(30)へ書き込んでいる状態を知らせる表示手段U3を構成する。むろん、表示手段U3は、LED以外の光源でもよいし、液晶等の表示手段でもよい。図14のデータ管理処理は、例えば、不揮発性半導体メモリ装置20への通電が開始された電源投入時に開始し、他の処理と並列して行われる。
ライトプロテクトスイッチ42など物理的スイッチ40がオン(L1)である場合(S102)、コントローラ50は、ECCチェックを行う対象ブロックBiを設定し(S104)、ECCエラーを検出すると(S106)、LED60を点灯させる表示処理を行う(S502)。その後、コントローラ50は、図4(a)で示したような代替ブロック処理を行い(S108)、管理領域R1を更新し(S110)、LED60を消灯させる(S504)。ECCエラーを検出しなかった場合、コントローラ50は、処理をS112へ進める。代替ブロック処理及び管理領域更新処理を行っているときは特に不揮発性半導体メモリ装置への通電が遮断されないほうがよいため、本データ管理処理は、メモリ部への書き込みが必要である状態の保持データをメモリ部へ書き込んでいる状態の表示が効率良く行われる。
図14に示すデータ管理処理は、保持データD1が書き込まれていることをユーザが知ることができるので、不用意な電源遮断を抑制することができる。
(7)結び:
なお、上述した処理の各ステップの順番は、適宜、変更可能である。例えば、図14のデータ管理処理において、S102,S104の間でS502のLED表示処理を行い、S112の後でS504のLED消灯処理を行ってもよい。すると、データ管理処理が行われている間、常時、表示が行われる。従って、メモリ部への書き込みが必要である状態の保持データをメモリ部へ書き込んでいる状態の表示が目立つ。
図9〜14のデータ管理処理も、代替ブロック処理の代わりにリライト処理を行ってもよいし、リライト処理と代替ブロック処理とを組み合わせて行ってもよい。
上述したデータ管理処理の実行開始は、電源投入時でなくてもよい。
上述した状態チェックは、ECC回路55を使用せずに行われてもよい。
むろん、従属請求項に係る構成要件を有しておらず独立請求項に係る構成要件のみからなる不揮発性半導体メモリ装置、不揮発性半導体メモリ装置の制御方法、等でも、上述した基本的な作用、効果が得られる。
以上説明したように、本発明によると、種々の態様により、長期間アクセスされないメモリセルのデータの保持期間をより効果的に延長することが可能な技術等を提供することができる。
また、上述した実施形態及び変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態及び変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
1…コンピュータシステム、
10…ホスト装置、18…スロット(ホスト側接続部)、19…電源、
20…不揮発性半導体メモリ装置、28…挿入端(メモリ側接続部)、29…電源端子、
30…フラッシュメモリ(メモリ部)、
32…ブロック、34…ページ、36…メモリセル、
40…物理的スイッチ、41…つまみ、42…ライトプロテクトスイッチ、
50…コントローラ、55…ECC回路(誤り検出手段)、
60…発光ダイオード(光源、表示手段)、
D1…保持データ、D2…書き込みが必要である状態の保持データ、
D3…訂正された保持データ、D4,D5…設定データ、
L1…オン位置(状態チェックを行う設定)、
L2…オフ位置(状態チェックを行わない設定)、
R1…管理領域、R2…開放領域、R3…データ領域、R4…スペア領域、
U1…データ管理手段、U2…誤り検出手段、U3…表示手段。

Claims (10)

  1. ホスト装置に接続される不揮発性半導体メモリ装置であって、
    データを書き換え可能に保持するメモリセルを複数有するメモリ部と、
    前記メモリセルのアクセス対象でない保持データの状態チェックを行う設定であるか否かを切り替える物理的スイッチと、
    該物理的スイッチの設定が前記状態チェックを行う設定である場合、前記メモリセルへのアクセスが無くても前記メモリセルの保持データの状態をチェックし、前記メモリ部への書き込みが必要である状態の保持データを前記メモリ部へ書き込むデータ管理手段と、を備えた不揮発性半導体メモリ装置。
  2. 前記物理的スイッチがライトプロテクトスイッチである、請求項1に記載の不揮発性半導体メモリ装置。
  3. 前記データ管理手段は、前記物理的スイッチの設定が前記状態チェックを行う設定である場合、前記メモリセルにデータを書き込んでからの期間、前記メモリセルに対して最後にアクセスしてからの期間、及び、前記メモリセルの書き換え回数、から選ばれる一以上が設定を超えたか否かを判断し、超えたと判断したときに前記メモリセルの保持データの状態をチェックする、請求項1又は請求項2に記載の不揮発性半導体メモリ装置。
  4. 前記データ管理手段は、前記メモリセルの保持データに誤りがあるか否かを検出する誤り検出手段を有し、誤りが検出され訂正された保持データを前記メモリ部へ書き込む、請求項1〜請求項3のいずれか一項に記載の不揮発性半導体メモリ装置。
  5. 前記データ管理手段は、前記メモリ部の保持データのうち書き込んでからの期間の長い保持データから順に状態をチェックする、請求項1〜請求項4のいずれか一項に記載の不揮発性半導体メモリ装置。
  6. 前記データ管理手段は、本不揮発性半導体メモリ装置への通電が開始されたとき、前記物理的スイッチの設定が前記状態チェックを行う設定であれば前記保持データの状態のチェックを開始する、請求項1〜請求項5のいずれか一項に記載の不揮発性半導体メモリ装置。
  7. 前記データ管理手段は、前記物理的スイッチの設定が前記状態チェックを行う設定である場合、本不揮発性半導体メモリ装置への通電が継続して前記状態チェックの行われていない期間が設定を超えたか否かを判断し、超えたと判断したときに再び前記保持データの状態のチェックを開始する、請求項6に記載の不揮発性半導体メモリ装置。
  8. 前記データ管理手段は、前記メモリ部への書き込みが必要である状態の保持データを元の場所とは異なる場所の前記メモリ部に書き込む、請求項1〜請求項7のいずれか一項に記載の不揮発性半導体メモリ装置。
  9. 前記メモリ部への書き込みが必要である状態の保持データを前記メモリ部へ書き込んでいる状態を知らせる表示手段を備えた、請求項1〜請求項8のいずれか一項に記載の不揮発性半導体メモリ装置。
  10. データを書き換え可能に保持するメモリセルを複数有するメモリ部を備えホスト装置に接続される不揮発性半導体メモリ装置の制御方法であって、
    前記不揮発性半導体メモリ装置に設けられた物理的スイッチであって前記メモリセルのアクセス対象でない保持データの状態チェックを行う設定であるか否かを切り替える物理的スイッチの設定が前記状態チェックを行う設定である場合、前記メモリセルへのアクセスが無くても前記メモリセルの保持データの状態をチェックし、前記メモリ部への書き込みが必要である状態の保持データを前記メモリ部へ書き込む、制御方法。
JP2012068748A 2012-03-26 2012-03-26 不揮発性半導体メモリ装置、及び、その制御方法 Active JP5929398B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012068748A JP5929398B2 (ja) 2012-03-26 2012-03-26 不揮発性半導体メモリ装置、及び、その制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012068748A JP5929398B2 (ja) 2012-03-26 2012-03-26 不揮発性半導体メモリ装置、及び、その制御方法

Publications (3)

Publication Number Publication Date
JP2013200919A true JP2013200919A (ja) 2013-10-03
JP2013200919A5 JP2013200919A5 (ja) 2015-01-15
JP5929398B2 JP5929398B2 (ja) 2016-06-08

Family

ID=49521049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012068748A Active JP5929398B2 (ja) 2012-03-26 2012-03-26 不揮発性半導体メモリ装置、及び、その制御方法

Country Status (1)

Country Link
JP (1) JP5929398B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690654B2 (en) 2015-01-13 2017-06-27 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory system
WO2018163258A1 (ja) * 2017-03-06 2018-09-13 株式会社日立製作所 フラッシュメモリモジュール、ストレージシステム、及びフラッシュメモリの制御方法
CN115410641A (zh) * 2022-11-02 2022-11-29 合肥康芯威存储技术有限公司 一种存储系统及其测试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204367A (ja) * 1996-01-25 1997-08-05 Mitsubishi Electric Corp フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法
JP2007310916A (ja) * 2007-09-03 2007-11-29 Renesas Technology Corp メモリカード
JP2010515953A (ja) * 2008-03-07 2010-05-13 株式会社東芝 情報処理装置および不揮発性半導体メモリドライブ
JP2012048770A (ja) * 2010-08-24 2012-03-08 Toshiba Corp 不揮発性半導体記憶装置、及び、メモリシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204367A (ja) * 1996-01-25 1997-08-05 Mitsubishi Electric Corp フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法
JP2007310916A (ja) * 2007-09-03 2007-11-29 Renesas Technology Corp メモリカード
JP2010515953A (ja) * 2008-03-07 2010-05-13 株式会社東芝 情報処理装置および不揮発性半導体メモリドライブ
JP2012048770A (ja) * 2010-08-24 2012-03-08 Toshiba Corp 不揮発性半導体記憶装置、及び、メモリシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690654B2 (en) 2015-01-13 2017-06-27 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory system
WO2018163258A1 (ja) * 2017-03-06 2018-09-13 株式会社日立製作所 フラッシュメモリモジュール、ストレージシステム、及びフラッシュメモリの制御方法
US10803972B2 (en) 2017-03-06 2020-10-13 Hitachi, Ltd. Flash memory module, storage system, and method of controlling flash memory
CN115410641A (zh) * 2022-11-02 2022-11-29 合肥康芯威存储技术有限公司 一种存储系统及其测试方法
CN115410641B (zh) * 2022-11-02 2023-03-14 合肥康芯威存储技术有限公司 一种存储系统及其测试方法

Also Published As

Publication number Publication date
JP5929398B2 (ja) 2016-06-08

Similar Documents

Publication Publication Date Title
US10552311B2 (en) Recovery for non-volatile memory after power loss
US8452913B2 (en) Semiconductor memory device and method of processing data for erase operation of semiconductor memory device
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
JP4129381B2 (ja) 不揮発性半導体記憶装置
US9431069B2 (en) Management method for nonvolatile memory system following power-off
JP4472010B2 (ja) 記憶装置
CN101770428B (zh) 非易失性存储器操作方法及使用该方法的数据储存系统
KR101900760B1 (ko) 비휘발성 메모리를 갖는 시스템에 대한 비정상 셧다운의 핸들링
US20080259708A1 (en) Memory controller
US20110119431A1 (en) Memory system with read-disturb suppressed and control method for the same
US7934130B2 (en) System and method for managing non-volatile memory based on health
JP2011070346A (ja) メモリシステム
US20050278480A1 (en) Method of writing data into flash memory
TW201117218A (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
KR20140133427A (ko) 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기
JP5183662B2 (ja) メモリ制御装置及びメモリ制御方法
JP5929398B2 (ja) 不揮発性半導体メモリ装置、及び、その制御方法
JP2015118423A (ja) リフレッシュ装置及び電子機器
KR100823169B1 (ko) 향상된 동작 특성을 갖는 플래시 메모리 시스템 및 그것의액세스 방법
US20180052635A1 (en) Electronic control apparatus and information storage method for the same
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP2006338083A (ja) メモリコントローラ
JP4826232B2 (ja) 情報処理装置およびブートプログラムの書き換え方法
JP2014206905A (ja) 書き込み装置
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151113

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160418

R150 Certificate of patent or registration of utility model

Ref document number: 5929398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250