(57)【要約】      （修正有）【課題】エラーを修正し、潜在する問題をできるだけ早くホストに知らせることができるデータ記憶装置を提供する。【解決手段】データ記憶装置１０は、エラー修正能を有する第１メモリ１２１と第１メモリに接続されたコントローラ１１０とを備える。コントローラは、第１メモリのエラー件数を計算する。アラーム条件が満たされているとコントローラが判定するときに、コントローラは、ホスト９０にメッセージを送る。アラーム条件は、第１メモリのエラー件数および件数の閾値に関連する。【選択図】図１
2019096281.tif 000002
【特許請求の範囲】
【請求項１】
エラー修正能を有する第１メモリと、
前記第１メモリに接続されたコントローラとを備え、
前記コントローラは、前記第１メモリのエラー件数を計算し、前記第１メモリの前記エラー件数および件数の閾値に関連するアラーム条件が満たされていると前記コントローラが判定するときに、ホストにメッセージを送るように構成される、データ記憶装置。
【請求項２】
前記アラーム条件が満たされていると前記コントローラが判定するときに、前記データ記憶装置は、リードオンリーモードを入力する、請求項１記載のデータ記憶装置。
【請求項３】
前記アラーム条件が満たされていると前記コントローラが判定するときに、前記コントローラは、データ記憶装置の読取り機能および書込み機能をロックするように構成される、請求項１記載のデータ記憶装置。
【請求項４】
前記コントローラは、汎用入力出力ターミナルにおいて電圧を変えることによって前記ホストにメッセージを送るように構成される、請求項１記載のデータ記憶装置。
【請求項５】
前記コントローラによって前記ホストに送られたメッセージは、ＳＭＡＲＴエラー状態を含む、請求項１記載のデータ記憶装置。
【請求項６】
前記第１メモリは、ランダムアクセスメモリまたはフラッシュメモリである、請求項１記載のデータ記憶装置。
【請求項７】
前記第１メモリの前記エラー件数は、ある期間中にエラービットが前記第１メモリによって検出される回数を表わす第１総エラー件数である、請求項１記載のデータ記憶装置。
【請求項８】
前記第１メモリの前記エラー件数は、前記第１メモリによって検出されるエラービットの数がある期間中に警告値を超える回数を表わす第１総エラー件数である、請求項１記載のデータ記憶装置。
【請求項９】
前記第１メモリの前記エラー件数は、前記第１メモリの履歴における総エラー数である、請求項１記載のデータ記憶装置。
【請求項１０】
エラー修正能を有する第２メモリをさらに備え、
前記コントローラは、前記第２メモリに接続され、前記コントローラは、前記第２メモリがエラービットを検出するエラー件数を計数するように構成され、前記アラーム条件は、第１総エラー件数が第１件数閾値よりも多いか、または、第２総エラー件数が第２件数閾値よりも多く、
前記第１総エラー件数は、ある期間中にエラービットが前記第１メモリによって検出される回数を表わし、前記第２総エラー件数は、前記期間中にエラービットが前記第２メモリによって検出される回数を表わす、請求項１記載のデータ記憶装置。
【請求項１１】
データ記憶装置において用いられる操作方法であり、前記データ記憶装置がコントローラおよび第１メモリを備え、前記操作方法は、
前記コントローラによって前記第１メモリのエラー件数を計数し、
前記第１メモリの前記エラー件数および件数の閾値に関連するアラーム条件が満たされていると前記コントローラが判定するときに、前記コントローラは、ホストにメッセージを送ることを含む、操作方法。
【請求項１２】
前記アラーム条件が満たされていると前記コントローラが判定するときに、リードオンリーモードを入力する前記データ記憶装置をさらに含む、請求項１１記載の操作方法。
【請求項１３】
前記アラーム条件が満たされていると前記コントローラが判定するときに、前記コントローラによって、前記データ記憶装置の読取り機能および書込み機能をロックすることをさらに含む、請求項１１記載の操作方法。
【請求項１４】
前記ホストに前記メッセージを送る前記工程は、
汎用入力出力ターミナルにおいて電圧を変えることを含む、請求項１１記載の操作方法。
【請求項１５】
前記ホストに送られた前記メッセージは、ＳＭＡＲＴエラー状態を含む、請求項１１記載の操作方法。
【請求項１６】
前記第１メモリの前記エラー件数は、ある期間中にエラービットが前記第１メモリによって検出される回数を表わす第１総エラー件数である、請求項１１記載の操作方法。
【請求項１７】
前記第１メモリの前記エラー件数は、前記第１メモリによって検出されたエラービットの数がある期間中に警告値を超える回数を表わす第１総エラー件数である、請求項１１記載の操作方法。
【請求項１８】
前記第１メモリの前記エラー件数は、前記第１メモリの履歴における総エラー数である、請求項１１記載の操作方法。
【請求項１９】
前記データ記憶装置は第２メモリをさらに備え、前記操作方法は、
前記第２メモリがエラービットを検出するエラー件数をコントローラによって計数する
ことをさらに含み、
前記アラーム条件は、第１総エラー件数が第１件数閾値よりも多いか、または、第２総エラー件数が第２件数閾値よりも多く、
前記第１総エラー件数は、ある期間中にエラービットが前記第１メモリによって検出される回数を表わし、前記第２総エラー件数は、前記期間中にエラービットが前記第２メモリによって検出される回数を表わす、請求項１１記載の操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には、データ記憶装置および関連する操作方法、より詳しくは、エラーを修正し、潜在する問題をできるだけ早くホストに知らせることができるデータ記憶装置に関する。
【背景技術】
【０００２】
半導体処理技術が進歩するにつれて、記憶容量および密度が急速に増大し、メモリに記憶されるデータにおけるエラーの確率も増加している。それに対応して、メモリに記憶されたデータを効果的に保護するために、データのエラーによる影響を避けるために、およびデータ記憶装置の信頼性を改善するために、データ記憶装置は、一般的にエラー検出およびエラー修正技術を用いる。たとえば、特許文献１では、フラッシュメモリの物理ブロックナンバー（ＰＢＮ）からデータにアクセスすることによって、エラー修正情報を提供するエラー修正キャッシュを用いてフラッシュメモリにおけるエラーを検出、修正するシステムおよび方法が開示されていて、データのエラーが発生したときには、アクセスされたＰＢＮに対応するキャッシュに記憶されたエラー修正情報を適用して、データのエラーが修正される。本発明は、できるだけ早くメモリに潜在する問題を見つけ出せるように、エラー修正能を有するデータ記憶装置に適した操作方法を提供する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７，８４４，８８０号明細書
【発明の概要】
【０００４】
本開示は、メモリに潜在する問題ができるだけ早く見つけ出されて、ホストに知らせることができるようなデータ記憶装置および関連する操作方法を提供する。
【０００５】
一実施形態によれば、データ記憶装置が提供される。データ記憶装置は、エラー修正能を有する第１メモリと第１メモリに接続されたコントローラとを備える。コントローラは、第１メモリのエラー件数を計算するように構成される。アラーム条件が満たされているとコントローラが判定するときに、コントローラは、ホストにメッセージを送るように構成される。アラーム条件は、第１メモリのエラー件数および件数の閾値に関連する。
【０００６】
他の実施形態によれば、データ記憶装置において用いられる操作方法が提供される。データ記憶装置は、コントローラおよび第１メモリを備える。操作方法は、次の工程を含む。コントローラによる第１メモリのエラー件数の計数。アラーム条件が満たされているとコントローラが判定するときに、コントローラがホストにメッセージを送ること。アラーム条件は、第１メモリのエラー件数および件数の閾値に関連する。
【図面の簡単な説明】
【０００７】
【図１】本開示の一実施形態によるデータ記憶装置を示す図である。
【図２】本開示の一実施形態によるコントローラを示す図である。
【図３】本開示の一実施形態によるデータ記憶装置に使用される操作方法の工程図である。
【図４】本開示の一実施形態による、第１メモリおよび第２メモリを含むデータ記憶装置を示す図である。
【図５】本開示の一実施形態による、第１メモリ、第２メモリおよび第３メモリを含むデータ記憶装置を示す図である。
【図６】本開示の一実施形態によるデータ記憶装置を示す図である。
【図７Ａ】本開示の一実施形態による、図６に示すデータ記憶装置に使用される操作方法の工程図である。
【図７Ｂ】本開示の一実施形態による、図６に示すデータ記憶装置に使用される操作方法の工程図である。
【０００８】
以下の詳細な説明において、説明目的のために、多数の特定の細目が、開示された実施形態の完全な理解を提供するために述べられている。しかしながら、１つまたは複数の実施形態が、これらの特定の細目なしに実行され得ることが明らかであろう。他の例では、公知の構造および装置が、図面を簡略化するために、概略的に示される。
【発明を実施するための形態】
【０００９】
メモリは、揮発性メモリおよび不揮発性メモリに分類され得る。揮発性メモリは、たとえば、ランダムアクセスメモリ（ＲＡＭ）を含む。不揮発性メモリは、たとえば、リードオンリーメモリ（ＲＯＭ）およびフラッシュメモリを含む。メモリに記憶されたデータの量が増加するにつれて、ほとんどのメモリは、信頼性を改善するためにエラー修正能を有する。たとえば、エラー修正コード（ＥＣＣ）は、データ記憶におけるエラーを修正するために用いられる。メモリによって使用されるエラー修正コードは、たとえば、ＢＣＨコードおよび低密度パリティーチェック（ＬＤＰＣ）を含み得る。エラー修正コードは、早いエラー修正を達成するために、メモリ内のハードウェア回路として実行され得る。以下の開示におけるエラー修正回路は、ＥＣＣ回路という。
【００１０】
一般に、ＥＣＣ回路は、限定的なエラー修正能を有する。たとえば、Ｎビットのビット幅を有するデータに対して、ｍビットのエラーが修正され得る（Ｎおよびｍは正の整数で、ｍ＜Ｎ）。メモリに記憶されたデータ内にエラーがあるとき、メモリ内のＥＣＣ回路は、もしエラービットの数がエラー修正能の範囲内であれば、うまく修正され得る。エラーがうまく修正されるので、データ記憶装置は、通常の読取りおよび書込み操作を実行し得る。しかしながら、ＥＣＣ回路がエラー修正を実行するときに、メモリのデータ記憶能が損なわれ、メモリ内にいくつかの問題があるかもしれない。フラッシュメモリを例にとると、フラッシュメモリへの多重プログラムおよび消去操作の後、データ保持の問題が生じて、エラービットの数が増加する。加えて、メモリプログラムの乱れおよび書込みの乱れも、エラービットの数を増加させ得る。さらに、宇宙線からの帯電粒子または材料中の微量放射線元素が、またメモリ内のソフトエラーを生じさせ得る。エラービットの数が増加するとき、電流回路の通常の操作は、ＥＣＣ回路によって維持され得るが、メモリ内の潜在的な問題が生じ得ることをも示している。これらの問題が無視されるならば、メモリ内のエラービットの数がＥＣＣ回路のエラー修正能によって回復されるには多くなり過ぎるかもしれず、したがってエラーをうまく修正することができない。本発明において開示されたデータ記憶装置および操作方法は、これらのエラーを、できるだけ早くホストに知らせるべき有益なアラーム情報として利用することができ、それによって、ホストまたはユーザがデータ記憶装置の次の対応する処理工程の実行を容易にする。
【００１１】
図１は、本開示の一実施形態によるデータ記憶装置を示す図である。データ記憶装置１０は、第１メモリ１２１およびコントローラ１１０を含む。第１メモリ１２１は、エラー修正能を有する。第１メモリ１２１は、フラッシュメモリ、位相変化メモリ、磁気抵抗ラム（ＲＡＭ）、強誘電性ラム（ＲＡＭ）、ダイナミックラム（ＤＲＡＭ）、スタティックラム（ＳＲＡＭ）であり得る。たとえば、第１メモリ１２１は、内部にＥＣＣ回路を有する。
【００１２】
コントローラ１１０は、第１メモリ１２１に接続される。コントローラ１１０は、第１メモリ１２１に記憶されたデータ内のエラービットを計数し修正するように構成される。たとえば、コントローラ１１０がエラービットを検出すると、コントローラ１１０は、ＥＣＣ回路にデータ修正を実行させることができるか、またはコントローラ１１０は、第１メモリ１２１に記憶されたデータを再読取りするために第１メモリ１２１の操作電圧を変更し得る。コントローラ１１０は、上記の条件が生ずると、エラー件数を１つ増やす。アラーム条件が満たされていること、たとえば、エラー件数の数値が件数の閾値（たとえば、１０）よりも多いかまたは同等であることをコントローラ１１０が判定すると、コントローラ１１０は、メッセージをホスト９０に送る。ホスト９０は、たとえば、アドレス情報によってデータ記憶装置１０にアクセスできるコンピュータ、携帯電話、プロセッサ、またはその他のハードウェアデバイスである。ホスト９０は、読取り指令または書込み指令をデータ記憶装置１０に送り得る。コントローラ１１０は、できるだけ早く第１メモリ１２１内の潜在的な問題を見つけるために、第１メモリ１２１のエラー件数を計数することによって、アラーム条件が満たされているかどうかを判定する。コントローラ１１０は、第１メモリ１２１がまだ現在も通常通りに作動するが、第１メモリ１２１は、潜在的にリスクの状態にあるかもしれないということをホスト９０に分からせるために、ホスト９０にかかる問題を知らせ得る。このように、ある種のフォローアップ処理工程が、より早めにデータ記憶装置１０に実行され得る。たとえば、データ記憶装置は、リードオンリーモードを入力し、データ記憶装置の操作が中断し、またはデータ記憶装置に記憶されたデータが他のデータ記憶装置にコピーされる。
【００１３】
コントローラ１１０と第１メモリ１２１との間の通信インタフェースは、たとえば、オープンＮＡＮＤフラッシュインタフェース（ＯＮＦＩ）、ＤＤＲ  ＰＨＹインタフェース（ＤＦＩ），またはメモリ通信に関するその他のインタフェースである。コントローラ１１０とホスト９０との間の通信インタフェースは、たとえば、シリアルＡＴＡ（ＳＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、ユニバーサルシリアルバス（ＵＳＢ）、セキュアデジタル（ＳＤ）カード、ユニバーサルフラッシュストレージ（ＵＦＳ）、コンパクトフラッシュ（ＣＦ）（登録商標）カード、ペリフェラルコンポーネントインタコネクトエキスプレス（ＰＣＩエキスプレス）、シリアルアタッチドＳＣＳＩ（ＳＡＳ）である。コントローラ１１０およびホスト９０に採用された通信プロトコルは、たとえば、不揮発性メモリエキスプレス（ＮＶＭｅ）またはアドバンストホストコントローラインタフェース（ＡＨＣＩ）である。
【００１４】
図２は、本開示の一実施形態によるコントローラを示す図である。コントローラ１１０は、リードオンリーメモリ（ＲＯＭ）１１２および処理ユニット１１４を含む。ＲＯＭ１１２は、プログラムコード、パラメータおよびコントローラ１１０のブート処理に必要なデータを記憶する。コントローラ１１０の起動後、プログラムコード、パラメータおよびコントローラ１１０の操作に必要なデータが、第１メモリ１２１から取り出され得る。コントローラ１１０は、ファームウェアに基づいて、第１メモリ１２１を制御する。処理ユニット１１４は、たとえば、マイクロプロセッサ、マイクロコントローラ、演算回路、またはプログラムコードを実行できるその他の回路である。
【００１５】
図３は、本開示の一実施形態によるデータ記憶装置に使用される操作方法の工程図である。操作方法は、以下の工程を含む。工程Ｓ２０１：コントローラ１１０が、第１メモリのエラー件数を計算する。工程Ｓ２０３：アラーム条件が満たされているとコントローラ１１０が判定するときに、コントローラ１１０は、ホストにメッセージを送る。アラーム条件は、たとえば、エラー件数の値が件数の閾値よりも多いか、または同等であることである。
【００１６】
一実施形態において、アラーム条件が満たされているとコントローラ１１０が判定するときに、コントローラ１１０は、リードオンリーモードを入力（開始）する。すなわち、データ記憶装置１０がリードオンリーモードを入力する。リードオンリーモードでは、第１メモリ１２１に記憶されたデータは修正されない。第１メモリ１２１に書き込まれた新しいデータはないであろう。ホスト９０は、データ記憶装置１０に読取り操作を実行することのみが可能である。一実施形態において、リードオンリーモードは、ダミー書込みモードとして実行され得る。ダミー書込みモードにおいて、ホスト９０がデータ記憶装置１０に書込み要求を送ると、コントローラ１１０は、書込み操作を実行しない。代わりに、コントローラ１１０は、書込み不可を示すメッセージを直接ホスト９０に返送する。このように、第１メモリ１２１に記憶されたデータは変更されず、データに対するさらなるダメージを防ぐ。加えて、ホスト９０は、受け取った書込み不可のメッセージに基づいて、データ記憶装置１０の異常事態を知り得る。たとえば、データ記憶装置１０がリードオンリーモードで作動すると、ホスト９０への適用は、その適用がデータ記憶装置１０からデータを読取ることのみ必要な場合、通常通り実行され得る。しかしながら、ホスト９０は、この適用に対応するログデータをデータ記憶装置１０内の第１メモリ１２１に書き込むことができないであろう。
【００１７】
他の実施形態において、アラーム条件が満たされているとコントローラ１１０が判定すると、コントローラ１１０は、データ記憶装置１０の読取り機能および書込み機能をロックする。データ記憶装置１０は、ロックされた状態では読取りまたは書込みできない。ホスト９０がデータ記憶装置１０に読取り要求を送ると、コントローラ１１０は、読取り不可を示すメッセージをホスト９０に返送し；ホスト９０がデータ記憶装置１０に書込み要求を送ると、コントローラ１１０は、書込み不可を示すメッセージをホスト９０に返送する。第１メモリ１２１に記憶されたデータに対するさらなるダメージは、したがって、データ記憶装置１０をロックすることによって防がれ得る。
【００１８】
一実施形態において、アラーム条件が満たされているとコントローラ１１０が判定すると、コントローラ１１０は、汎用入力出力（ＧＰＩＯ）ターミナルにおいて電圧を変えることによって、たとえば、ＧＰＩＯターミナルの１つにおいて電圧レベルを引き上げるかまたは引き下げることによって、ホスト９０にメッセージを送る。
【００１９】
他の実施形態において、コントローラ１１０によってホスト９０に送られたメッセージは、セルフモニタリングアナリシスアンドレポーティングテクノロジー（ＳＭＡＲＴ）エラー状態を含む。ＳＭＡＲＴエラー状態は、データ記憶装置１０、コントローラ１１０または第１メモリ１２１に対応する物理的パラメータを含み得る。ＳＭＡＲＴエラー状態は、特定のフォーマットを有し、したがって、ホスト９０によって識別され得る。ホスト９０は、コントローラ１１０からメッセージを受取り後、ホスト９０自身によるフォローアップ処理を決定し得る。たとえば、ホスト９０は、ユーザに状況を分からせるために、エラー状態に対応するメッセージをユーザインタフェースに表示することができ、これによって、ユーザは、データ記憶装置１０または第１メモリ１２１を取り換えるなど、問題を手動で処理し得る。代わりに、ホスト９０は、データ記憶装置１０をロックし、データ記憶装置１０へのアクセスを停止し得る。
【００２０】
一実施形態において、コントローラ１１０によって用いられるアラーム条件は、総エラー件数Ｅf1が第１エラー件数閾値Ｆth1より多いことであり、総エラー件数Ｅf1は、ある期間Ｔp中にエラービットが第１メモリ１２１によって検出される回数を示す。期間Ｔpおよび第１エラー件数閾値Ｆth1は共に予め決められていてもよい。たとえば、期間Ｔpが３０分で、第１エラー件数閾値Ｆth1が、２であってもよい。本明細書において用いられる数値は、本発明を限定するというよりも単なる例示であるということに留意すべきである。他の実施形態において、異なる数値が用いられ得る。期間Ｔp中にエラービットが第１メモリ１２１によって検出される回数を示す総エラー件数Ｅf1が、第１エラー件数閾値Ｆth1よりも多いとき、それは、エラービットが第１メモリ１２１に頻繁に生じすぎて、したがって、ホスト９０がその状況について知らされることを示す。他方、期間Ｔp中にエラービットが第１メモリ１２１によって検出される回数を示す総エラー件数Ｅf1が、第１エラー件数閾値Ｆth1よりも少ないとき、この期間Ｔpが終了後に、総エラー件数Ｅf1がゼロにリセットされ得る。総エラー件数Ｅf1は、次の期間Ｔpにおいて再計算され得る。
【００２１】
他の実施形態において、コントローラ１１０は、検出されたエラービットの数が警告値を超えるとき、総エラー件数Ｅf1を増やすだけである。たとえば、総エラー件数Ｅf1は、エラービットの数が６０を超えるときのみに、１だけ増やされる。このように、第１メモリ１２１の通常のエージングにより生じるエラービットの数の通常の増加は、不必要なトラブルを避けるために、エラービットの数が６０よりも少ないとき、総エラー件数Ｅf1が増加することにならない。
【００２２】
他の実施形態において、総エラー件数Ｅt1の履歴の計算は製造後に最初にデータ記憶装置１０の電源を入れたときから開始してもよい。この値（総エラー件数Ｅt1の履歴）は、ゼロにリセットされず、データ記憶装置１０が製造された後に、第１メモリ１２１のデータ読取り操作中にエラービットが検出される総回数を記録するために使用され得る。この実施形態において、総エラー件数Ｅf1および総エラー件数Ｅt1の履歴の１つが第１エラー件数閾値Ｆth1よりも多い場合に、アラーム条件が満たされる。
【００２３】
上記の説明は、データ記憶装置１０が１つのメモリを含む実施形態に関する。図１に示されるように、第１メモリ１２１は、ランダムアクセスメモリまたはフラッシュメモリであってもよい。たとえば、データ記憶装置１０がコンピュータと外部で接続されていてもよく、第１メモリ１２１は、フラッシュメモリである。本開示において提案される操作方法は、また、多重メモリを含むデータ記憶装置１０に適用されてもよく、対応する実施形態が以下に示される。
【００２４】
図４は、本開示の一実施形態による、第１メモリ１２１および第２メモリ１２２を含むデータ記憶装置１０を示す図である。第２メモリ１２２は、エラー修正能を有する。たとえば、第１メモリ１２１はフラッシュメモリであり、第２メモリはダイナミックランダムアクセスメモリ（ＤＲＡＭ）であり、データ記憶装置１０がソリッドステートドライブ（ＳＳＤ）である。コントローラ１１０は、第２メモリ１２２に接続される。コントローラ１１０は、第２メモリ１２２がエラービットを検出するエラー件数を計数するように構成される。この実施形態において、コントローラ１１０によって用いられるアラーム条件は、第１メモリ１２１がエラービットを検出するエラー件数および第２メモリ１２２がエラービットを検出するエラー件数に関連する。コントローラ１１０は、ホスト９０が早めに問題を処理できるように、第１メモリ１２１がエラービットを検出するエラー件数および第２メモリ１２２がエラービットを検出するエラー件数のうちの少なくとも１つが大きすぎるときに、ホスト９０に知らせる。
【００２５】
一実施形態において、アラーム条件は、第１総エラー件数Ｅf1が第１エラー件数閾値Ｆth1より多いことであるか、または第２総エラー件数Ｅf2が第２エラー件数閾値Ｆth2より多いことである。第１総エラー件数Ｅf1は、期間Ｔp中にエラービットが第１メモリ１２１によって検出される回数を示す。第２総エラー件数Ｅf2は、期間Ｔp中にエラービットが第２メモリ１２２によって検出される回数を示す。第１メモリ１２１および第２メモリ１２２によって用いられる期間Ｔpは、この例において、容易に実行するために同じものである。しかしながら、本発明は、これらに限定されるものではない。一実施形態において、第１メモリ１２１および第２メモリ１２２が異なる長さの期間を用いてもよい。第１エラー件数閾値Ｆth1および第２エラー件数閾値Ｆth2は、同じでも、異なっていてもよい。
【００２６】
図５は、本開示の一実施形態による、第１メモリ１２１、第２メモリ１２２および第３メモリ１２３を含むデータ記憶装置１０を示す図である。コントローラ１１０は、第３メモリ１２３を有する。たとえば、第３メモリ１２３は、コントローラ１１０に埋め込まれていてもよい。第３メモリ１２３は、スタティックランダムアクセスメモリ（ＳＲＡＭ）であってもよい。第３メモリ１２３は、エラー修正能を有する。コントローラ１１０は、第３メモリ１２３がエラービットを検出するエラー件数を計数するように構成される。この実施形態において、アラーム条件は、第１総エラー件数Ｅf1が第１エラー件数閾値Ｆth1より多いことであるか、第２総エラー件数Ｅf2が第２エラー件数閾値Ｆth2より多いことであるか、または第３総エラー件数Ｅf3が第３エラー件数閾値Ｆth3より多いことである。第１総エラー件数Ｅf1は、期間Ｔp中にエラービットが第１メモリ１２１によって検出される回数を示し、第２総エラー件数Ｅf2は、期間Ｔp中にエラービットが第２メモリ１２２によって検出される回数を示し、第３総エラー件数Ｅf3は、期間Ｔp中にエラービットが第３メモリ１２３によって検出される回数を示す。上記のように、各メモリにより用いられるエラー件数閾値Ｆth1、Ｆth2、Ｆth3は、同じでも、異なっていてもよい。
【００２７】
図６は、本開示の一実施形態によるデータ記憶装置を示す図である。コントローラ１１０は、ロム１１２、処理ユニット１１４およびＳＲＡＭ１３３を含む。ロム１１２は、処理ユニット１１４により実行されたプログラムコードを記憶し得る。ＳＲＡＭ１３３は、たとえば、コントローラ１１０の埋込みメモリである。コントローラ１１０は、通信インタフェースを介してＮＡＮＤフラッシュ１３１およびＤＲＡＭ１３２に接続される。この実施形態において、コントローラ１１０は、エンドツーエンドトランスミッションのエラー件数を計数するように構成される。エンドツーエンドトランスミッションにおけるエラーは、たとえば、ホスト９０とデータ記憶装置１０との間のデータ伝達エラーである。エラー検出コードが、ホスト９０とデータ記憶装置１０との間のエンドツーエンドトランスミッションにおけるエラーがあるかどうかを判定するために使用し得る。エラー検出コードは、たとえば、パリティーコード、チェックサム、または巡回冗長検査（ＣＲＣ）である。
【００２８】
図６に示す実施形態において、コントローラ１１０によって用いられるアラーム条件は、エラービットが期間Ｔp中にＮＡＮＤフラッシュ１３１によって検出される回数が、第１エラー件数閾値Ｆth1より多いか、エラービットが期間Ｔp中にＤＲＡＭ１３２によって検出される回数が、第２エラー件数閾値Ｆth2より多いか、エラービットが期間Ｔp中にＳＲＡＭ１３３によって検出される回数が、第３エラー件数閾値Ｆth3より多いか、または期間Ｔp中のエンドツーエンドトランスミッションエラーの数が、第４エラー件数閾値Ｆth4より多いことである。
【００２９】
図７Ａおよび図７Ｂは、本開示の一実施形態による、図６に示すデータ記憶装置に使用される操作方法の工程図である。工程Ｓ３００：データ記憶装置１０は通常モードで作動する。工程Ｓ３０１：エラーがＳＲＡＭ１３３で検出されるかどうかを判定する。すなわち、ＳＲＡＭ１３３に記憶されたユーザデータがエラービットを有するかどうかを判定する。イエスなら、工程Ｓ３１１：ＳＲＡＭのエラー件数を増やす、に進み、そうでない場合は、工程Ｓ３３０に飛ぶ。同様に、工程３０２：エラーがＤＲＡＭ１３２で検出されるかどうかを判定する。すなわち、ＤＲＡＭ１３２に記憶されたユーザデータがエラービットを有するかどうかを判定する。イエスなら、工程Ｓ３１２：ＤＲＡＭのエラー件数を増やす、に進む。工程３０３：エンドツーエンドエラーが検出されるかどうかを判定する。すなわち、エンドツーエンドトランスミッションデータがエラービットを有するかどうかを判定する。イエスなら、工程Ｓ３１３：エンドツーエンドトランスミッションのエラー件数を増やす、に進む。工程Ｓ３０４：エラーがＮＡＮＤ型フラッシュ１３１で検出されるかどうかを判定する。すなわち、ＮＡＮＤ型フラッシュ１３１に記憶されたユーザデータがエラービットを有するかどうかを判定する。イエスなら、工程Ｓ３１４：ＮＡＮＤ型フラッシュのエラー件数を増やす、に進む。
【００３０】
コントローラ１１０は、工程Ｓ３２０において、アラーム条件が満たされているかどうかを判定する。この例において、期間Ｔpは、１時間であり、各エラーカテゴリーのエラー件数閾値Ｆthは、３である。アラーム条件は、（ＳＲＡＭのエラー件数）＞３）または（ＤＲＡＭのエラー件数）＞３）または（エンドツーエンドトランスミッションのエラー件数）＞３）または（ＮＡＮＤ型フラッシュのエラー件数）＞３）である。言い換えれば、工程Ｓ３２０において示された４つの判定条件のうちの１つが満たされる限り、データ記憶装置１０に潜在的な問題があり得るため、工程Ｓ３２１が実行される。そうでなければ、もし工程３２０の判定結果がノーの場合、工程Ｓ３３０に進む。
【００３１】
工程Ｓ３２１において、２つの下位工程が示される。これらの下位工程のうちの少なくとも１つが、実施において、実行される。第１の下位工程：データ記憶装置１０がダミーの読取り／書込みモード、たとえば、ダミーの読取りモード、ダミーの書込みモード、またはダミーの読取りおよび書込みモードを入力する。第２の下位工程：ＳＭＡＲＴエラー状態をホスト９０に報告し、ＧＰＩＯに出力してホスト９０に知らせる。工程Ｓ３２１は、アラーム条件が満たされているときの処理工程を示す。工程Ｓ３３０：経過時間が１時間（期間Ｔp）を超えているかどうかが判定される。もし、経過時間が１時間を超えている場合、工程３３１に進み、経過時間をゼロに設定し、すべてのエラー件数（工程Ｓ３１１、Ｓ３１２、Ｓ３１３、Ｓ３１４における各エラー件数を含む）をゼロに設定する。次の期間Ｔpにおけるエラー件数の計算に進む。もし、工程Ｓ３３０の判定結果がノーの場合、工程Ｓ３４０：コントローラ１１０において記録された各エラー件数は同じのままで、データ記憶装置１０は、作動し続けて、エラー事象をモニタする、に進む。
【００３２】
上述した実施形態によれば、メモリにおいてエラーが起こる回数を計算することにより、メモリにおける潜在的な問題が、メモリが使用不可になる前に早めに検出され得て、この情報がホストに報告され得る。ホストまたはホストを操作するユーザが警告情報を知った後に、ホストまたはホストを操作するユーザは、現在使用中のメモリをロックすることができるか、または、現在使用中のメモリを新しいメモリに取り換えることができる。メモリを取り換える操作は簡単で、コストも低く、データロスのリスクもまた少ない。結果として、記憶されたデータを守るためにより高い費用を支払う必要のある突然のロスからメモリに記憶されたデータを保護するための防止対策をとり得る。
【００３３】
開示された実施形態に対して様々な修正および変更がなされ得ることは、当業者には明らかであろう。本明細書および実施例は例示のみとして考慮され、開示の真の範囲は、以下の請求の範囲およびそれらの均等物によって示される。
【図１】
2019096281.tif 000003
【図２】
2019096281.tif 000004
【図３】
2019096281.tif 000005
【図４】
2019096281.tif 000006
【図５】
2019096281.tif 000007
【図６】
2019096281.tif 000008
【図７Ａ】
2019096281.tif 000009
【図７Ｂ】
2019096281.tif 000010