JP2019096281A - データ記憶装置および関連する操作方法 - Google Patents

データ記憶装置および関連する操作方法 Download PDF

Info

Publication number
JP2019096281A
JP2019096281A JP2018049674A JP2018049674A JP2019096281A JP 2019096281 A JP2019096281 A JP 2019096281A JP 2018049674 A JP2018049674 A JP 2018049674A JP 2018049674 A JP2018049674 A JP 2018049674A JP 2019096281 A JP2019096281 A JP 2019096281A
Authority
JP
Japan
Prior art keywords
memory
errors
data storage
storage device
controller
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
JP2018049674A
Other languages
English (en)
Inventor
▲いつ▼華 包
Yi-Hua Pao
▲いつ▼華 包
文基 胡
Wen Ji Hu
文基 胡
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of JP2019096281A publication Critical patent/JP2019096281A/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Abstract

【課題】エラーを修正し、潜在する問題をできるだけ早くホストに知らせることができるデータ記憶装置を提供する。【解決手段】データ記憶装置10は、エラー修正能を有する第1メモリ121と第1メモリに接続されたコントローラ110とを備える。コントローラは、第1メモリのエラー件数を計算する。アラーム条件が満たされているとコントローラが判定するときに、コントローラは、ホスト90にメッセージを送る。アラーム条件は、第1メモリのエラー件数および件数の閾値に関連する。【選択図】図1

Description

本開示は、一般的には、データ記憶装置および関連する操作方法、より詳しくは、エラーを修正し、潜在する問題をできるだけ早くホストに知らせることができるデータ記憶装置に関する。
半導体処理技術が進歩するにつれて、記憶容量および密度が急速に増大し、メモリに記憶されるデータにおけるエラーの確率も増加している。それに対応して、メモリに記憶されたデータを効果的に保護するために、データのエラーによる影響を避けるために、およびデータ記憶装置の信頼性を改善するために、データ記憶装置は、一般的にエラー検出およびエラー修正技術を用いる。たとえば、特許文献1では、フラッシュメモリの物理ブロックナンバー(PBN)からデータにアクセスすることによって、エラー修正情報を提供するエラー修正キャッシュを用いてフラッシュメモリにおけるエラーを検出、修正するシステムおよび方法が開示されていて、データのエラーが発生したときには、アクセスされたPBNに対応するキャッシュに記憶されたエラー修正情報を適用して、データのエラーが修正される。本発明は、できるだけ早くメモリに潜在する問題を見つけ出せるように、エラー修正能を有するデータ記憶装置に適した操作方法を提供する。
米国特許第7,844,880号明細書
本開示は、メモリに潜在する問題ができるだけ早く見つけ出されて、ホストに知らせることができるようなデータ記憶装置および関連する操作方法を提供する。
一実施形態によれば、データ記憶装置が提供される。データ記憶装置は、エラー修正能を有する第1メモリと第1メモリに接続されたコントローラとを備える。コントローラは、第1メモリのエラー件数を計算するように構成される。アラーム条件が満たされているとコントローラが判定するときに、コントローラは、ホストにメッセージを送るように構成される。アラーム条件は、第1メモリのエラー件数および件数の閾値に関連する。
他の実施形態によれば、データ記憶装置において用いられる操作方法が提供される。データ記憶装置は、コントローラおよび第1メモリを備える。操作方法は、次の工程を含む。コントローラによる第1メモリのエラー件数の計数。アラーム条件が満たされているとコントローラが判定するときに、コントローラがホストにメッセージを送ること。アラーム条件は、第1メモリのエラー件数および件数の閾値に関連する。
本開示の一実施形態によるデータ記憶装置を示す図である。 本開示の一実施形態によるコントローラを示す図である。 本開示の一実施形態によるデータ記憶装置に使用される操作方法の工程図である。 本開示の一実施形態による、第1メモリおよび第2メモリを含むデータ記憶装置を示す図である。 本開示の一実施形態による、第1メモリ、第2メモリおよび第3メモリを含むデータ記憶装置を示す図である。 本開示の一実施形態によるデータ記憶装置を示す図である。 本開示の一実施形態による、図6に示すデータ記憶装置に使用される操作方法の工程図である。 本開示の一実施形態による、図6に示すデータ記憶装置に使用される操作方法の工程図である。
以下の詳細な説明において、説明目的のために、多数の特定の細目が、開示された実施形態の完全な理解を提供するために述べられている。しかしながら、1つまたは複数の実施形態が、これらの特定の細目なしに実行され得ることが明らかであろう。他の例では、公知の構造および装置が、図面を簡略化するために、概略的に示される。
メモリは、揮発性メモリおよび不揮発性メモリに分類され得る。揮発性メモリは、たとえば、ランダムアクセスメモリ(RAM)を含む。不揮発性メモリは、たとえば、リードオンリーメモリ(ROM)およびフラッシュメモリを含む。メモリに記憶されたデータの量が増加するにつれて、ほとんどのメモリは、信頼性を改善するためにエラー修正能を有する。たとえば、エラー修正コード(ECC)は、データ記憶におけるエラーを修正するために用いられる。メモリによって使用されるエラー修正コードは、たとえば、BCHコードおよび低密度パリティーチェック(LDPC)を含み得る。エラー修正コードは、早いエラー修正を達成するために、メモリ内のハードウェア回路として実行され得る。以下の開示におけるエラー修正回路は、ECC回路という。
一般に、ECC回路は、限定的なエラー修正能を有する。たとえば、Nビットのビット幅を有するデータに対して、mビットのエラーが修正され得る(Nおよびmは正の整数で、m<N)。メモリに記憶されたデータ内にエラーがあるとき、メモリ内のECC回路は、もしエラービットの数がエラー修正能の範囲内であれば、うまく修正され得る。エラーがうまく修正されるので、データ記憶装置は、通常の読取りおよび書込み操作を実行し得る。しかしながら、ECC回路がエラー修正を実行するときに、メモリのデータ記憶能が損なわれ、メモリ内にいくつかの問題があるかもしれない。フラッシュメモリを例にとると、フラッシュメモリへの多重プログラムおよび消去操作の後、データ保持の問題が生じて、エラービットの数が増加する。加えて、メモリプログラムの乱れおよび書込みの乱れも、エラービットの数を増加させ得る。さらに、宇宙線からの帯電粒子または材料中の微量放射線元素が、またメモリ内のソフトエラーを生じさせ得る。エラービットの数が増加するとき、電流回路の通常の操作は、ECC回路によって維持され得るが、メモリ内の潜在的な問題が生じ得ることをも示している。これらの問題が無視されるならば、メモリ内のエラービットの数がECC回路のエラー修正能によって回復されるには多くなり過ぎるかもしれず、したがってエラーをうまく修正することができない。本発明において開示されたデータ記憶装置および操作方法は、これらのエラーを、できるだけ早くホストに知らせるべき有益なアラーム情報として利用することができ、それによって、ホストまたはユーザがデータ記憶装置の次の対応する処理工程の実行を容易にする。
図1は、本開示の一実施形態によるデータ記憶装置を示す図である。データ記憶装置10は、第1メモリ121およびコントローラ110を含む。第1メモリ121は、エラー修正能を有する。第1メモリ121は、フラッシュメモリ、位相変化メモリ、磁気抵抗ラム(RAM)、強誘電性ラム(RAM)、ダイナミックラム(DRAM)、スタティックラム(SRAM)であり得る。たとえば、第1メモリ121は、内部にECC回路を有する。
コントローラ110は、第1メモリ121に接続される。コントローラ110は、第1メモリ121に記憶されたデータ内のエラービットを計数し修正するように構成される。たとえば、コントローラ110がエラービットを検出すると、コントローラ110は、ECC回路にデータ修正を実行させることができるか、またはコントローラ110は、第1メモリ121に記憶されたデータを再読取りするために第1メモリ121の操作電圧を変更し得る。コントローラ110は、上記の条件が生ずると、エラー件数を1つ増やす。アラーム条件が満たされていること、たとえば、エラー件数の数値が件数の閾値(たとえば、10)よりも多いかまたは同等であることをコントローラ110が判定すると、コントローラ110は、メッセージをホスト90に送る。ホスト90は、たとえば、アドレス情報によってデータ記憶装置10にアクセスできるコンピュータ、携帯電話、プロセッサ、またはその他のハードウェアデバイスである。ホスト90は、読取り指令または書込み指令をデータ記憶装置10に送り得る。コントローラ110は、できるだけ早く第1メモリ121内の潜在的な問題を見つけるために、第1メモリ121のエラー件数を計数することによって、アラーム条件が満たされているかどうかを判定する。コントローラ110は、第1メモリ121がまだ現在も通常通りに作動するが、第1メモリ121は、潜在的にリスクの状態にあるかもしれないということをホスト90に分からせるために、ホスト90にかかる問題を知らせ得る。このように、ある種のフォローアップ処理工程が、より早めにデータ記憶装置10に実行され得る。たとえば、データ記憶装置は、リードオンリーモードを入力し、データ記憶装置の操作が中断し、またはデータ記憶装置に記憶されたデータが他のデータ記憶装置にコピーされる。
コントローラ110と第1メモリ121との間の通信インタフェースは、たとえば、オープンNANDフラッシュインタフェース(ONFI)、DDR PHYインタフェース(DFI),またはメモリ通信に関するその他のインタフェースである。コントローラ110とホスト90との間の通信インタフェースは、たとえば、シリアルATA(SATA)、パラレルATA(PATA)、ユニバーサルシリアルバス(USB)、セキュアデジタル(SD)カード、ユニバーサルフラッシュストレージ(UFS)、コンパクトフラッシュ(CF)(登録商標)カード、ペリフェラルコンポーネントインタコネクトエキスプレス(PCIエキスプレス)、シリアルアタッチドSCSI(SAS)である。コントローラ110およびホスト90に採用された通信プロトコルは、たとえば、不揮発性メモリエキスプレス(NVMe)またはアドバンストホストコントローラインタフェース(AHCI)である。
図2は、本開示の一実施形態によるコントローラを示す図である。コントローラ110は、リードオンリーメモリ(ROM)112および処理ユニット114を含む。ROM112は、プログラムコード、パラメータおよびコントローラ110のブート処理に必要なデータを記憶する。コントローラ110の起動後、プログラムコード、パラメータおよびコントローラ110の操作に必要なデータが、第1メモリ121から取り出され得る。コントローラ110は、ファームウェアに基づいて、第1メモリ121を制御する。処理ユニット114は、たとえば、マイクロプロセッサ、マイクロコントローラ、演算回路、またはプログラムコードを実行できるその他の回路である。
図3は、本開示の一実施形態によるデータ記憶装置に使用される操作方法の工程図である。操作方法は、以下の工程を含む。工程S201:コントローラ110が、第1メモリのエラー件数を計算する。工程S203:アラーム条件が満たされているとコントローラ110が判定するときに、コントローラ110は、ホストにメッセージを送る。アラーム条件は、たとえば、エラー件数の値が件数の閾値よりも多いか、または同等であることである。
一実施形態において、アラーム条件が満たされているとコントローラ110が判定するときに、コントローラ110は、リードオンリーモードを入力(開始)する。すなわち、データ記憶装置10がリードオンリーモードを入力する。リードオンリーモードでは、第1メモリ121に記憶されたデータは修正されない。第1メモリ121に書き込まれた新しいデータはないであろう。ホスト90は、データ記憶装置10に読取り操作を実行することのみが可能である。一実施形態において、リードオンリーモードは、ダミー書込みモードとして実行され得る。ダミー書込みモードにおいて、ホスト90がデータ記憶装置10に書込み要求を送ると、コントローラ110は、書込み操作を実行しない。代わりに、コントローラ110は、書込み不可を示すメッセージを直接ホスト90に返送する。このように、第1メモリ121に記憶されたデータは変更されず、データに対するさらなるダメージを防ぐ。加えて、ホスト90は、受け取った書込み不可のメッセージに基づいて、データ記憶装置10の異常事態を知り得る。たとえば、データ記憶装置10がリードオンリーモードで作動すると、ホスト90への適用は、その適用がデータ記憶装置10からデータを読取ることのみ必要な場合、通常通り実行され得る。しかしながら、ホスト90は、この適用に対応するログデータをデータ記憶装置10内の第1メモリ121に書き込むことができないであろう。
他の実施形態において、アラーム条件が満たされているとコントローラ110が判定すると、コントローラ110は、データ記憶装置10の読取り機能および書込み機能をロックする。データ記憶装置10は、ロックされた状態では読取りまたは書込みできない。ホスト90がデータ記憶装置10に読取り要求を送ると、コントローラ110は、読取り不可を示すメッセージをホスト90に返送し;ホスト90がデータ記憶装置10に書込み要求を送ると、コントローラ110は、書込み不可を示すメッセージをホスト90に返送する。第1メモリ121に記憶されたデータに対するさらなるダメージは、したがって、データ記憶装置10をロックすることによって防がれ得る。
一実施形態において、アラーム条件が満たされているとコントローラ110が判定すると、コントローラ110は、汎用入力出力(GPIO)ターミナルにおいて電圧を変えることによって、たとえば、GPIOターミナルの1つにおいて電圧レベルを引き上げるかまたは引き下げることによって、ホスト90にメッセージを送る。
他の実施形態において、コントローラ110によってホスト90に送られたメッセージは、セルフモニタリングアナリシスアンドレポーティングテクノロジー(SMART)エラー状態を含む。SMARTエラー状態は、データ記憶装置10、コントローラ110または第1メモリ121に対応する物理的パラメータを含み得る。SMARTエラー状態は、特定のフォーマットを有し、したがって、ホスト90によって識別され得る。ホスト90は、コントローラ110からメッセージを受取り後、ホスト90自身によるフォローアップ処理を決定し得る。たとえば、ホスト90は、ユーザに状況を分からせるために、エラー状態に対応するメッセージをユーザインタフェースに表示することができ、これによって、ユーザは、データ記憶装置10または第1メモリ121を取り換えるなど、問題を手動で処理し得る。代わりに、ホスト90は、データ記憶装置10をロックし、データ記憶装置10へのアクセスを停止し得る。
一実施形態において、コントローラ110によって用いられるアラーム条件は、総エラー件数Ef1が第1エラー件数閾値Fth1より多いことであり、総エラー件数Ef1は、ある期間Tp中にエラービットが第1メモリ121によって検出される回数を示す。期間Tpおよび第1エラー件数閾値Fth1は共に予め決められていてもよい。たとえば、期間Tpが30分で、第1エラー件数閾値Fth1が、2であってもよい。本明細書において用いられる数値は、本発明を限定するというよりも単なる例示であるということに留意すべきである。他の実施形態において、異なる数値が用いられ得る。期間Tp中にエラービットが第1メモリ121によって検出される回数を示す総エラー件数Ef1が、第1エラー件数閾値Fth1よりも多いとき、それは、エラービットが第1メモリ121に頻繁に生じすぎて、したがって、ホスト90がその状況について知らされることを示す。他方、期間Tp中にエラービットが第1メモリ121によって検出される回数を示す総エラー件数Ef1が、第1エラー件数閾値Fth1よりも少ないとき、この期間Tpが終了後に、総エラー件数Ef1がゼロにリセットされ得る。総エラー件数Ef1は、次の期間Tpにおいて再計算され得る。
他の実施形態において、コントローラ110は、検出されたエラービットの数が警告値を超えるとき、総エラー件数Ef1を増やすだけである。たとえば、総エラー件数Ef1は、エラービットの数が60を超えるときのみに、1だけ増やされる。このように、第1メモリ121の通常のエージングにより生じるエラービットの数の通常の増加は、不必要なトラブルを避けるために、エラービットの数が60よりも少ないとき、総エラー件数Ef1が増加することにならない。
他の実施形態において、総エラー件数Et1の履歴の計算は製造後に最初にデータ記憶装置10の電源を入れたときから開始してもよい。この値(総エラー件数Et1の履歴)は、ゼロにリセットされず、データ記憶装置10が製造された後に、第1メモリ121のデータ読取り操作中にエラービットが検出される総回数を記録するために使用され得る。この実施形態において、総エラー件数Ef1および総エラー件数Et1の履歴の1つが第1エラー件数閾値Fth1よりも多い場合に、アラーム条件が満たされる。
上記の説明は、データ記憶装置10が1つのメモリを含む実施形態に関する。図1に示されるように、第1メモリ121は、ランダムアクセスメモリまたはフラッシュメモリであってもよい。たとえば、データ記憶装置10がコンピュータと外部で接続されていてもよく、第1メモリ121は、フラッシュメモリである。本開示において提案される操作方法は、また、多重メモリを含むデータ記憶装置10に適用されてもよく、対応する実施形態が以下に示される。
図4は、本開示の一実施形態による、第1メモリ121および第2メモリ122を含むデータ記憶装置10を示す図である。第2メモリ122は、エラー修正能を有する。たとえば、第1メモリ121はフラッシュメモリであり、第2メモリはダイナミックランダムアクセスメモリ(DRAM)であり、データ記憶装置10がソリッドステートドライブ(SSD)である。コントローラ110は、第2メモリ122に接続される。コントローラ110は、第2メモリ122がエラービットを検出するエラー件数を計数するように構成される。この実施形態において、コントローラ110によって用いられるアラーム条件は、第1メモリ121がエラービットを検出するエラー件数および第2メモリ122がエラービットを検出するエラー件数に関連する。コントローラ110は、ホスト90が早めに問題を処理できるように、第1メモリ121がエラービットを検出するエラー件数および第2メモリ122がエラービットを検出するエラー件数のうちの少なくとも1つが大きすぎるときに、ホスト90に知らせる。
一実施形態において、アラーム条件は、第1総エラー件数Ef1が第1エラー件数閾値Fth1より多いことであるか、または第2総エラー件数Ef2が第2エラー件数閾値Fth2より多いことである。第1総エラー件数Ef1は、期間Tp中にエラービットが第1メモリ121によって検出される回数を示す。第2総エラー件数Ef2は、期間Tp中にエラービットが第2メモリ122によって検出される回数を示す。第1メモリ121および第2メモリ122によって用いられる期間Tpは、この例において、容易に実行するために同じものである。しかしながら、本発明は、これらに限定されるものではない。一実施形態において、第1メモリ121および第2メモリ122が異なる長さの期間を用いてもよい。第1エラー件数閾値Fth1および第2エラー件数閾値Fth2は、同じでも、異なっていてもよい。
図5は、本開示の一実施形態による、第1メモリ121、第2メモリ122および第3メモリ123を含むデータ記憶装置10を示す図である。コントローラ110は、第3メモリ123を有する。たとえば、第3メモリ123は、コントローラ110に埋め込まれていてもよい。第3メモリ123は、スタティックランダムアクセスメモリ(SRAM)であってもよい。第3メモリ123は、エラー修正能を有する。コントローラ110は、第3メモリ123がエラービットを検出するエラー件数を計数するように構成される。この実施形態において、アラーム条件は、第1総エラー件数Ef1が第1エラー件数閾値Fth1より多いことであるか、第2総エラー件数Ef2が第2エラー件数閾値Fth2より多いことであるか、または第3総エラー件数Ef3が第3エラー件数閾値Fth3より多いことである。第1総エラー件数Ef1は、期間Tp中にエラービットが第1メモリ121によって検出される回数を示し、第2総エラー件数Ef2は、期間Tp中にエラービットが第2メモリ122によって検出される回数を示し、第3総エラー件数Ef3は、期間Tp中にエラービットが第3メモリ123によって検出される回数を示す。上記のように、各メモリにより用いられるエラー件数閾値Fth1、Fth2、Fth3は、同じでも、異なっていてもよい。
図6は、本開示の一実施形態によるデータ記憶装置を示す図である。コントローラ110は、ロム112、処理ユニット114およびSRAM133を含む。ロム112は、処理ユニット114により実行されたプログラムコードを記憶し得る。SRAM133は、たとえば、コントローラ110の埋込みメモリである。コントローラ110は、通信インタフェースを介してNANDフラッシュ131およびDRAM132に接続される。この実施形態において、コントローラ110は、エンドツーエンドトランスミッションのエラー件数を計数するように構成される。エンドツーエンドトランスミッションにおけるエラーは、たとえば、ホスト90とデータ記憶装置10との間のデータ伝達エラーである。エラー検出コードが、ホスト90とデータ記憶装置10との間のエンドツーエンドトランスミッションにおけるエラーがあるかどうかを判定するために使用し得る。エラー検出コードは、たとえば、パリティーコード、チェックサム、または巡回冗長検査(CRC)である。
図6に示す実施形態において、コントローラ110によって用いられるアラーム条件は、エラービットが期間Tp中にNANDフラッシュ131によって検出される回数が、第1エラー件数閾値Fth1より多いか、エラービットが期間Tp中にDRAM132によって検出される回数が、第2エラー件数閾値Fth2より多いか、エラービットが期間Tp中にSRAM133によって検出される回数が、第3エラー件数閾値Fth3より多いか、または期間Tp中のエンドツーエンドトランスミッションエラーの数が、第4エラー件数閾値Fth4より多いことである。
図7Aおよび図7Bは、本開示の一実施形態による、図6に示すデータ記憶装置に使用される操作方法の工程図である。工程S300:データ記憶装置10は通常モードで作動する。工程S301:エラーがSRAM133で検出されるかどうかを判定する。すなわち、SRAM133に記憶されたユーザデータがエラービットを有するかどうかを判定する。イエスなら、工程S311:SRAMのエラー件数を増やす、に進み、そうでない場合は、工程S330に飛ぶ。同様に、工程302:エラーがDRAM132で検出されるかどうかを判定する。すなわち、DRAM132に記憶されたユーザデータがエラービットを有するかどうかを判定する。イエスなら、工程S312:DRAMのエラー件数を増やす、に進む。工程303:エンドツーエンドエラーが検出されるかどうかを判定する。すなわち、エンドツーエンドトランスミッションデータがエラービットを有するかどうかを判定する。イエスなら、工程S313:エンドツーエンドトランスミッションのエラー件数を増やす、に進む。工程S304:エラーがNAND型フラッシュ131で検出されるかどうかを判定する。すなわち、NAND型フラッシュ131に記憶されたユーザデータがエラービットを有するかどうかを判定する。イエスなら、工程S314:NAND型フラッシュのエラー件数を増やす、に進む。
コントローラ110は、工程S320において、アラーム条件が満たされているかどうかを判定する。この例において、期間Tpは、1時間であり、各エラーカテゴリーのエラー件数閾値Fthは、3である。アラーム条件は、(SRAMのエラー件数)>3)または(DRAMのエラー件数)>3)または(エンドツーエンドトランスミッションのエラー件数)>3)または(NAND型フラッシュのエラー件数)>3)である。言い換えれば、工程S320において示された4つの判定条件のうちの1つが満たされる限り、データ記憶装置10に潜在的な問題があり得るため、工程S321が実行される。そうでなければ、もし工程320の判定結果がノーの場合、工程S330に進む。
工程S321において、2つの下位工程が示される。これらの下位工程のうちの少なくとも1つが、実施において、実行される。第1の下位工程:データ記憶装置10がダミーの読取り/書込みモード、たとえば、ダミーの読取りモード、ダミーの書込みモード、またはダミーの読取りおよび書込みモードを入力する。第2の下位工程:SMARTエラー状態をホスト90に報告し、GPIOに出力してホスト90に知らせる。工程S321は、アラーム条件が満たされているときの処理工程を示す。工程S330:経過時間が1時間(期間Tp)を超えているかどうかが判定される。もし、経過時間が1時間を超えている場合、工程331に進み、経過時間をゼロに設定し、すべてのエラー件数(工程S311、S312、S313、S314における各エラー件数を含む)をゼロに設定する。次の期間Tpにおけるエラー件数の計算に進む。もし、工程S330の判定結果がノーの場合、工程S340:コントローラ110において記録された各エラー件数は同じのままで、データ記憶装置10は、作動し続けて、エラー事象をモニタする、に進む。
上述した実施形態によれば、メモリにおいてエラーが起こる回数を計算することにより、メモリにおける潜在的な問題が、メモリが使用不可になる前に早めに検出され得て、この情報がホストに報告され得る。ホストまたはホストを操作するユーザが警告情報を知った後に、ホストまたはホストを操作するユーザは、現在使用中のメモリをロックすることができるか、または、現在使用中のメモリを新しいメモリに取り換えることができる。メモリを取り換える操作は簡単で、コストも低く、データロスのリスクもまた少ない。結果として、記憶されたデータを守るためにより高い費用を支払う必要のある突然のロスからメモリに記憶されたデータを保護するための防止対策をとり得る。
開示された実施形態に対して様々な修正および変更がなされ得ることは、当業者には明らかであろう。本明細書および実施例は例示のみとして考慮され、開示の真の範囲は、以下の請求の範囲およびそれらの均等物によって示される。

Claims (19)

  1. エラー修正能を有する第1メモリと、
    前記第1メモリに接続されたコントローラとを備え、
    前記コントローラは、前記第1メモリのエラー件数を計算し、前記第1メモリの前記エラー件数および件数の閾値に関連するアラーム条件が満たされていると前記コントローラが判定するときに、ホストにメッセージを送るように構成される、データ記憶装置。
  2. 前記アラーム条件が満たされていると前記コントローラが判定するときに、前記データ記憶装置は、リードオンリーモードを入力する、請求項1記載のデータ記憶装置。
  3. 前記アラーム条件が満たされていると前記コントローラが判定するときに、前記コントローラは、データ記憶装置の読取り機能および書込み機能をロックするように構成される、請求項1記載のデータ記憶装置。
  4. 前記コントローラは、汎用入力出力ターミナルにおいて電圧を変えることによって前記ホストにメッセージを送るように構成される、請求項1記載のデータ記憶装置。
  5. 前記コントローラによって前記ホストに送られたメッセージは、SMARTエラー状態を含む、請求項1記載のデータ記憶装置。
  6. 前記第1メモリは、ランダムアクセスメモリまたはフラッシュメモリである、請求項1記載のデータ記憶装置。
  7. 前記第1メモリの前記エラー件数は、ある期間中にエラービットが前記第1メモリによって検出される回数を表わす第1総エラー件数である、請求項1記載のデータ記憶装置。
  8. 前記第1メモリの前記エラー件数は、前記第1メモリによって検出されるエラービットの数がある期間中に警告値を超える回数を表わす第1総エラー件数である、請求項1記載のデータ記憶装置。
  9. 前記第1メモリの前記エラー件数は、前記第1メモリの履歴における総エラー数である、請求項1記載のデータ記憶装置。
  10. エラー修正能を有する第2メモリをさらに備え、
    前記コントローラは、前記第2メモリに接続され、前記コントローラは、前記第2メモリがエラービットを検出するエラー件数を計数するように構成され、前記アラーム条件は、第1総エラー件数が第1件数閾値よりも多いか、または、第2総エラー件数が第2件数閾値よりも多く、
    前記第1総エラー件数は、ある期間中にエラービットが前記第1メモリによって検出される回数を表わし、前記第2総エラー件数は、前記期間中にエラービットが前記第2メモリによって検出される回数を表わす、請求項1記載のデータ記憶装置。
  11. データ記憶装置において用いられる操作方法であり、前記データ記憶装置がコントローラおよび第1メモリを備え、前記操作方法は、
    前記コントローラによって前記第1メモリのエラー件数を計数し、
    前記第1メモリの前記エラー件数および件数の閾値に関連するアラーム条件が満たされていると前記コントローラが判定するときに、前記コントローラは、ホストにメッセージを送ることを含む、操作方法。
  12. 前記アラーム条件が満たされていると前記コントローラが判定するときに、リードオンリーモードを入力する前記データ記憶装置をさらに含む、請求項11記載の操作方法。
  13. 前記アラーム条件が満たされていると前記コントローラが判定するときに、前記コントローラによって、前記データ記憶装置の読取り機能および書込み機能をロックすることをさらに含む、請求項11記載の操作方法。
  14. 前記ホストに前記メッセージを送る前記工程は、
    汎用入力出力ターミナルにおいて電圧を変えることを含む、請求項11記載の操作方法。
  15. 前記ホストに送られた前記メッセージは、SMARTエラー状態を含む、請求項11記載の操作方法。
  16. 前記第1メモリの前記エラー件数は、ある期間中にエラービットが前記第1メモリによって検出される回数を表わす第1総エラー件数である、請求項11記載の操作方法。
  17. 前記第1メモリの前記エラー件数は、前記第1メモリによって検出されたエラービットの数がある期間中に警告値を超える回数を表わす第1総エラー件数である、請求項11記載の操作方法。
  18. 前記第1メモリの前記エラー件数は、前記第1メモリの履歴における総エラー数である、請求項11記載の操作方法。
  19. 前記データ記憶装置は第2メモリをさらに備え、前記操作方法は、
    前記第2メモリがエラービットを検出するエラー件数をコントローラによって計数する
    ことをさらに含み、
    前記アラーム条件は、第1総エラー件数が第1件数閾値よりも多いか、または、第2総エラー件数が第2件数閾値よりも多く、
    前記第1総エラー件数は、ある期間中にエラービットが前記第1メモリによって検出される回数を表わし、前記第2総エラー件数は、前記期間中にエラービットが前記第2メモリによって検出される回数を表わす、請求項11記載の操作方法。
JP2018049674A 2017-11-17 2018-03-16 データ記憶装置および関連する操作方法 Pending JP2019096281A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106139990 2017-11-17
TW106139990A TWI638262B (zh) 2017-11-17 2017-11-17 資料儲存裝置及應用於其上的操作方法

Publications (1)

Publication Number Publication Date
JP2019096281A true JP2019096281A (ja) 2019-06-20

Family

ID=64797567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018049674A Pending JP2019096281A (ja) 2017-11-17 2018-03-16 データ記憶装置および関連する操作方法

Country Status (4)

Country Link
US (1) US10915388B2 (ja)
JP (1) JP2019096281A (ja)
CN (1) CN109801668B (ja)
TW (1) TWI638262B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022126966A (ja) * 2021-02-19 2022-08-31 Necプラットフォームズ株式会社 メモリ障害検出装置、検出プログラム、および検出方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648618B1 (ko) * 2018-03-28 2024-03-19 에스케이하이닉스 주식회사 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
US11144385B2 (en) * 2018-08-21 2021-10-12 Micron Technology, Inc. Transmission failure feedback schemes for reducing crosstalk
FR3104754B1 (fr) * 2019-12-17 2021-12-24 Thales Sa Systeme electronique comportant un dispositif d'estimation de defauts d'une memoire electronique soumise aux conditions de vol a haute altitude

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02135533A (ja) * 1988-11-16 1990-05-24 Nec Corp 障害処理方式
JPH07182250A (ja) * 1993-12-22 1995-07-21 Hitachi Ltd 磁気ディスクの自動交代処理方式
JPH10187354A (ja) * 1996-12-26 1998-07-14 Toshiba Corp 情報処理装置および同装置に適用される記録メディアの管理方法
JPH10307686A (ja) * 1997-05-01 1998-11-17 Nec Corp 磁気ディスク装置データバックアップ/リストアシステム
JP2000181805A (ja) * 1998-12-16 2000-06-30 Hagiwara Sys-Com:Kk 記憶装置
JP2004259324A (ja) * 2003-02-24 2004-09-16 Alpine Electronics Inc 記録装置の動作制御装置および記録装置の動作制御方法
JP2006059002A (ja) * 2004-08-18 2006-03-02 Nec Electronics Corp 記憶装置
JP2009217603A (ja) * 2008-03-11 2009-09-24 Toshiba Corp メモリシステム
JP2014010607A (ja) * 2012-06-29 2014-01-20 Nec Corp 情報機器、データ保証システム、処理装置、データ保証方法およびプログラム
JP2015032317A (ja) * 2013-08-06 2015-02-16 慧榮科技股▲分▼有限公司 データ記憶装置とアクセス制御方法
US20160055056A1 (en) * 2014-08-21 2016-02-25 Jong-Pil Son Memory device having error notification function
JP2016157470A (ja) * 2016-04-15 2016-09-01 株式会社東芝 情報記録システム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4077993B2 (ja) * 1999-07-30 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 性能評価方法及び性能評価装置並びにこれらを用いた記録再生装置
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US7296213B2 (en) 2002-12-11 2007-11-13 Nvidia Corporation Error correction cache for flash memory
US20050120265A1 (en) * 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
WO2008076214A2 (en) * 2006-12-14 2008-06-26 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US8230255B2 (en) * 2009-12-15 2012-07-24 International Business Machines Corporation Blocking write acces to memory modules of a solid state drive
US8700970B2 (en) * 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
CN102567177B (zh) * 2010-12-25 2014-12-10 鸿富锦精密工业(深圳)有限公司 计算机系统错误侦测系统及方法
US8910310B2 (en) * 2012-05-17 2014-12-09 Silicon Motion, Inc. Embedded flash memory card and electronic device using the same, and engineering board for embedded flash memory card
JP2014220576A (ja) * 2013-05-01 2014-11-20 富士通株式会社 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法
CN104346236B (zh) * 2013-08-06 2018-03-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN104346296B (zh) * 2013-08-09 2019-02-01 慧荣科技股份有限公司 数据储存装置及其电压保护方法
US9904591B2 (en) * 2014-10-22 2018-02-27 Intel Corporation Device, system and method to restrict access to data error information
US10332613B1 (en) * 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9703624B2 (en) * 2015-10-12 2017-07-11 Bank Of America Corporation Event correlation and calculation engine
JP6502832B2 (ja) * 2015-11-13 2019-04-17 株式会社東芝 検査装置、通信システム、移動体および検査方法
KR20170101368A (ko) 2016-02-26 2017-09-06 에스케이하이닉스 주식회사 에러 정정 회로 및 에러 정정 방법
US9840161B2 (en) * 2016-03-10 2017-12-12 Ford Global Technologies, Llc Circuit and method for detection of battery cell degradation events
US20170346596A1 (en) * 2016-05-27 2017-11-30 Intel Corporation Method, apparatus, and system for signal equalization

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02135533A (ja) * 1988-11-16 1990-05-24 Nec Corp 障害処理方式
JPH07182250A (ja) * 1993-12-22 1995-07-21 Hitachi Ltd 磁気ディスクの自動交代処理方式
JPH10187354A (ja) * 1996-12-26 1998-07-14 Toshiba Corp 情報処理装置および同装置に適用される記録メディアの管理方法
JPH10307686A (ja) * 1997-05-01 1998-11-17 Nec Corp 磁気ディスク装置データバックアップ/リストアシステム
JP2000181805A (ja) * 1998-12-16 2000-06-30 Hagiwara Sys-Com:Kk 記憶装置
JP2004259324A (ja) * 2003-02-24 2004-09-16 Alpine Electronics Inc 記録装置の動作制御装置および記録装置の動作制御方法
JP2006059002A (ja) * 2004-08-18 2006-03-02 Nec Electronics Corp 記憶装置
JP2009217603A (ja) * 2008-03-11 2009-09-24 Toshiba Corp メモリシステム
JP2014010607A (ja) * 2012-06-29 2014-01-20 Nec Corp 情報機器、データ保証システム、処理装置、データ保証方法およびプログラム
JP2015032317A (ja) * 2013-08-06 2015-02-16 慧榮科技股▲分▼有限公司 データ記憶装置とアクセス制御方法
US20160055056A1 (en) * 2014-08-21 2016-02-25 Jong-Pil Son Memory device having error notification function
JP2016157470A (ja) * 2016-04-15 2016-09-01 株式会社東芝 情報記録システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022126966A (ja) * 2021-02-19 2022-08-31 Necプラットフォームズ株式会社 メモリ障害検出装置、検出プログラム、および検出方法
JP7283784B2 (ja) 2021-02-19 2023-05-30 Necプラットフォームズ株式会社 メモリ障害検出装置、検出プログラム、および検出方法

Also Published As

Publication number Publication date
CN109801668B (zh) 2021-11-30
CN109801668A (zh) 2019-05-24
US10915388B2 (en) 2021-02-09
TW201923571A (zh) 2019-06-16
US20190155671A1 (en) 2019-05-23
TWI638262B (zh) 2018-10-11

Similar Documents

Publication Publication Date Title
US7765426B2 (en) Emerging bad block detection
US10984882B2 (en) Run-time memory device failure detection enhancement
US9037946B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
TWI683252B (zh) 資料儲存設備及其操作方法
TW201928684A (zh) 具有機器學習機制的儲存系統及其操作方法
US20170177259A1 (en) Techniques to Use Open Bit Line Information for a Memory System
CN109801668B (zh) 数据储存装置及应用于其上的操作方法
US9858002B1 (en) Open block stability scanning
TWI661427B (zh) 記憶體管理方法以及儲存控制器
US20220406395A1 (en) Defective memory unit screening in a memory system
US20230297464A1 (en) Abnormal power loss recovery method, memory control circuit unit, and memory storage device
TW202009943A (zh) 記憶體管理方法以及儲存控制器
CN109426582B (zh) 用于存储装置为错误处置进行数据处理的方法及控制器
KR101512927B1 (ko) 비휘발성 메모리의 페이지 관리 방법 및 장치
CN106847342B (zh) 非易失性存储器装置及其空页检测方法
TWI597731B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI748214B (zh) 快閃記憶體控制器、儲存裝置及其讀取方法
US9880926B1 (en) Log structured reserved zone for a data storage device
CN111324291A (zh) 一种存储器
US11023316B2 (en) DRAM-based storage device and associated data processing method
CN117558332A (zh) 数据恢复方法及相关数据读取方法和电子设备、存储介质
CN116126210A (zh) 数据存取方法、存储器存储装置及存储器控制器
CN114822664A (zh) 基于数据优先级的风险评估方法、存储装置及控制电路
CN110874281A (zh) 存储器管理方法以及存储控制器
KR20160107381A (ko) 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201006