JP2015032316A - データ記憶装置、および、データメンテナンス方法 - Google Patents

データ記憶装置、および、データメンテナンス方法 Download PDF

Info

Publication number
JP2015032316A
JP2015032316A JP2014160778A JP2014160778A JP2015032316A JP 2015032316 A JP2015032316 A JP 2015032316A JP 2014160778 A JP2014160778 A JP 2014160778A JP 2014160778 A JP2014160778 A JP 2014160778A JP 2015032316 A JP2015032316 A JP 2015032316A
Authority
JP
Japan
Prior art keywords
storage device
maintenance
data storage
block
error bit
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
JP2014160778A
Other languages
English (en)
Other versions
JP5986607B2 (ja
Inventor
介信 簡
Jieh-Hsin Chien
介信 簡
▲いつ▼華 包
Yi-Hua Pao
▲いつ▼華 包
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
Priority claimed from TW102146530A external-priority patent/TWI490870B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of JP2015032316A publication Critical patent/JP2015032316A/ja
Application granted granted Critical
Publication of JP5986607B2 publication Critical patent/JP5986607B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

【課題】データ記憶装置、および、データメンテナンス方法を提供する。【解決手段】本発明は、フラッシュメモリ、温度センサーとコントローラーを備えるデータ記憶装置を提供する。フラッシュメモリは複数のブロックを有し、各ブロックは複数のページを有する。温度センサーは周辺の環境温度を検出し、環境温度変化に伴った温度パラメータを生成する。コントローラーは、データ記憶装置上で、所定時間後、第一メンテナンス工程を実行する。第一メンテナンス工程において、コントローラーは温度センサーを読み取り、第一温度パラメータを獲得し、第一温度パラメータを含む第一所定条件にしたがって第一期間を決定して、第一メンテナンス工程が完了した後第一期間の経過後に、第二メンテナンス工程を実行する。【選択図】 図1

Description

本発明は、メモリデバイスのデータメンテナンス方法(維持、管理、保守方法)に関するものであって、特に、フラッシュメモリを自動的に監視することができるデータメンテナンス方法に関するものである。
フラッシュメモリは不揮発性データ記憶装置であり、電気的手法により、消去、および、プログラム化をする。NANDフラッシュメモリを例とすると、メモリカード、USBフラッシュメモリ装置、ソリッドステート装置、eMMC等に用いられている。
たとえば、NANDフラッシュメモリのようなフラッシュメモリは、複数のブロック構造を用いてデータを記憶し、また、浮遊ゲートトランジスタから構成される。浮遊ゲートトランジスタ中の浮遊ゲートは電子電荷を捕捉して、データを記憶する。しかし、フラッシュメモリの動作、および、フラッシュメモリの各種環境パラメータのために、浮遊ゲートは電子電荷を損失し、読み込み及び書き込みエラーを引き起こす可能性があり、データ保持(data retention)の問題を生じる。
本発明は、フラッシュメモリの動作や各種環境パラメータのために浮遊ゲートの電子電荷が損失することに起因するデータ保持の問題を解決し、読み込み及び書き込みエラーを生じないデータ記憶装置およびデータメンテナンス方法を提供することを目的とする。
本発明に係るデータ記憶装置は、フラッシュメモリ、温度センサー、および、コントローラーを備える。フラッシュメモリは複数のブロックを有し、各ブロックは複数のページを有する。温度センサーは周辺の環境温度を検出し、環境温度変化に伴った温度パラメータを生成する。コントローラーは、データ記憶装置がオンになって所定時間(オン後所定時間)の後、第一メンテナンス工程を実行する。第一メンテナンス工程においてコントローラーは、温度センサーを読み取り第一温度パラメータを獲得し、その第一温度パラメータを含む第一所定条件にしたがって第一期間を決定して、第一メンテナンス工程が完了した後第一期間経過後に第二メンテナンス工程を実行する。
第一メンテナンス工程において、コントローラーはさらに、ブロックに対し第一ブロックスキャンを実行して、それぞれのブロックに対応する複数の第一エラービット数を獲得すると共に、所定のエラービットスレショルド値を超過する第一エラービット数のブロックに対し更新を実行する。
第二メンテナンス工程において、コントローラーは、温度センサーを読み取って第二温度パラメータを獲得し、その第二温度パラメータを有する第二所定条件、および、第一エラービット数および第一メンテナンス工程中で更新されたブロックの数量を含む第一履歴にしたがって第二期間を決定して、第ニメンテナンス工程が完了した後第二期間経過後に第三メンテナンス工程を実行する。
このほか、第二メンテナンス工程において、コントローラーはさらに、第一履歴にしたがって、第一エラービットスレショルドを決定し、ブロックに対し第二ブロックスキャンを実行して、それぞれのブロックに対応する複数の第二エラービット数を獲得すると共に、第一エラービットスレショルドを超過する第二エラービット数のブロックに更新を実行する。
第一所定条件、および、第二所定条件は、さらに、データストレージデバイスが最後にホストによりアクセスされた時間、データストレージデバイスがオンの時間、および/または、ブロック消去の回数を含んでよい。
別の実施形態において、データ記憶装置がオンになった後の前記所定時間中(オン後所定時間中)、コントローラーはさらに、所定周期毎に温度センサー装置を読み取って、その時の温度パラメータを獲得すると共に、読み取った温度パラメータに基づいて、第一メンテナンス工程を最初に実行する時間を調整する。
本発明は、また、フラッシュメモリを有するデータ記憶装置に適用するデータメンテナンス方法を提供する。フラッシュメモリは複数のブロックを有し、各ブロックは複数のページを有する。本発明のデータメンテナンス方法は、データ記憶装置がオンになって所定時間(オン後所定時間)の後、第一メンテナンス工程を実行する工程と、第一メンテナンス工程において温度センサーを読み取り周囲の環境温度に対応する第一温度パラメータを獲得する工程と、第一メンテナンス工程において、その第一温度パラメータを含む第一所定条件にしたがって第一期間を決定して、第一メンテナンス工程が完了した後第一期間経過後に第二メンテナンス工程を実行する工程と、を含む。
本発明のデータメンテナンス方法は、さらに、第一メンテナンス工程において、ブロックに対し第一ブロックスキャンを実行して、それぞれのブロックに対応する複数の第一エラービット数を獲得する工程と、所定のエラービットスレショルド値を超過する第一エラービット数のブロックに対し更新を実行する工程と、を含んでよい。
また、第二メンテナンス工程は、温度センサーを読み取って周囲の環境温度に対応する第二温度パラメータを獲得する工程と、第二温度パラメータを有する第二所定条件、および、第一エラービット数および第一メンテナンス工程中で更新されたブロックの数量を含む第一履歴にしたがって第二期間を決定して、第二メンテナンス工程が完了した後第二期間経過後に第三メンテナンス工程を実行する工程と、を含む。
さらに、本発明のデータメンテナンス方法は、第二メンテナンス工程において、第一履歴にしたがって、第一エラービットスレショルドを決定する工程と、ブロックに対し第二ブロックスキャンを実行して、それぞれのブロックに対応する複数の第二エラービット数を獲得する工程と、第一エラービットスレショルドを超過する第二エラービット数のブロックに更新を実行する工程と、を含む。
別の実施形態において、本発明のデータメンテナンス方法は、さらに、所定周期毎に温度センサー装置を読み取って、その時の温度パラメータを獲得する工程と、読み取った温度パラメータに基づいて、第一メンテナンス工程を最初に実行する時間を調整する工程、を含む。
本発明によれば、電子電荷の損失により生じるデータ保持(data retention)の問題を解決し、読み込み及び書き込みエラーを生じないデータ記憶装置およびデータメンテナンス方法を提供することができる。
図1は、本発明の一実施形態による電子システムの構成を示す図である。 図2は、本発明の一実施形態によるデータメンテナンス方法のフローチャートである。 図3は、本発明の別の実施形態によるデータメンテナンス方法のフローチャートである。
本発明の一実施形態および利点を以下の詳細な説明に述べるが、この説明は本発明を限定するものではなく、本発明は請求項によって定められるものである。
図1は、本発明の一実施形態による電子システムを示す図である。電子システム100は、ホスト(ホストコンピュータ)120とデータ記憶装置140を備える。データ記憶装置140は、コントローラー160、フラッシュメモリ180、および、温度センサー190を備える。データ記憶装置140は、ホスト120からの命令に対応して動作する。コントローラー160は、演算器162、不揮発性メモリ164(たとえば、ROM)、ランダムアクセスメモリ(RAM)165、および、計時装置166を備える。
なお、上記のホストコンピュータ(ホスト120)は、ネットワークや任意のインターフェイスを介して他の装置やユニット(データ記憶装置140を含む)に処理やサービス等を提供する演算処理装置を意味するものであって、パーソナルコンピュータ(PC)、メインフレーム、サーバー装置、ネットワーク制御装置等の種々の汎用コンピュータ、あるいは、それら汎用コンピュータや任意の特定用途の処理装置の中央処理装置(CPU)、算術論理演算装置(ALU)、制御装置等を含むものである。
不揮発性メモリ(ROM)164中に記憶されたプログラムコードとデータはファームウェアを構成し、演算器162により実行され、コントローラー160はファームウェアにより、フラッシュメモリ180を制御する。たとえば、コントローラー160は、ホスト120から受信される命令にしたがって、フラッシュメモリ180にアクセスし、本発明のメンテナンス工程を自動的に実行する。注意すべきことは、本実施形態においては、メンテナンス工程は、バックグラウンドで繰り返し実行されることである。たとえば、コントローラー160は、アイドルの時だけ、メンテナンス工程を実行すると共に、ホスト120からの命令を受信時には、メンテナンス工程を中断する。
フラッシュメモリ180は複数のブロックを有し、各ブロックは複数のページを有する。
計時装置166は、データ記憶装置180がオンになる時間、および、工程間の時間等を計時する。
温度センサー190はデータ記憶装置140の周辺の環境温度を検出し、周辺の環境温度変化に伴う温度パラメータを生成する。本実施形態において、温度センサー190は、データ記憶装置140中のフラッシュメモリ180のすぐ近傍(例えば、横)に設置され、フラッシュメモリ180の周辺の環境温度を検出するが、温度センサー190の設置位置はこれに限定されない。たとえば、別の実施形態において、温度センサー190は、データ記憶装置140外部に設置され、データ記憶装置140の周辺の環境温度を検出する。
なお、温度センサー190が生成する温度パラメータは、検出した温度に対応する数値、換言すれば検出した温度に基づいた任意の数値ある。より具体的には、検出した温度そのものを表す数値(データ)でもよいし、検出した温度に何らかの変換を行った数値(データ)であってもよい。また、温度センサー190の構成として、検出素子単体でもよいし、上記した変換を行える構成を具備した構成でもよい。また、検出した温度に何らかの変換を行い温度パラメータを生成する場合、その変換処理は実質的にはコントローラ160側で行うような構成であってもよい。本実施形態において温度センサー190の機能として説明するものは、まさに温度センサー190で行ってもよいし、実際の回路構成等としては温度センサー190とコントローラ160とが協働して実現するものであってもよい。これらは、当業者の通常の技術常識の範囲で、適宜改変可能なものである。
このほか、フラッシュメモリ180は、さらに、少なくともひとつのパラメータ表(パラメータテーブル)、および、少なくともひとつのスキャン条件表を記憶(保存)する。たとえば一実施形態として、パラメータ表は、異なる周辺の環境温度に対応する、すなわち、異なる周辺の環境温度ごとの、現在のメンテナンス工程から次のメンテナンス工程までの時間(間隔、期間。たとえば、第一期間、第二期間等)を記憶するが、これに限定されない。別の実施形態として、パラメータ表は、異なる周辺の環境温度ごと、異なるエラービット値ごと、更新あるいは消去されるブロックの異なる数量ごと、データ記憶装置140が最後にホスト120によりアクセスされた異なる時間ごと、データ記憶装置140がオンにされてからの異なる時間ごと、および/または、ブロックが消去される異なる回数ごと、に各々対応する次のメンテナンス工程を実行する間隔時間を記憶する。
スキャン条件表は、異なるエラービット値、および/または、更新されたブロックの異なる数量に対応するスキャン条件を記憶する。たとえば、スキャン条件はエラービット値のスレショルド値であるが、これに限定されない。別の実施形態において、スキャン条件は異なるECCコードである。
別の実施形態において、フラッシュメモリ180は、パラメータ関数とスキャン条件関数を記憶する。この実施形態において、前のメンテナンス工程と次のメンテナンス工程との間の期間(第一期間、第二期間、第三期間・・・)はパラメータ関数により決定される。たとえば、異なる周辺の環境温度値にもとづく温度パラメータに対応して、パラメータ関数が計算され、現在のメンテナンス工程と次のメンテナンス工程間の期間が算出(獲得)されるが、これに限定されない。別の実施形態において、パラメータ関数は、異なる周辺の環境温度、異なるエラービット値、更新されるブロックの異なる数量、データ記憶装置140が最後にホスト120によりアクセスされた異なる時間、データ記憶装置140がオンにされてからの異なる時間、および/または、ブロックが消去される異なる回数に対応する、現在のメンテナンス工程と次のメンテナンス工程との間の期間を算出する。
このほか、スキャン条件関数は、さらに、異なるエラービット値、および/または、更新されたブロックの異なる数量にしたがって、異なるスキャン条件を決定する。
注意すべきことは、周辺の環境温度が高くなることは、エラービット値が高くなり、更新されたブロック数が多くなり、データ記憶装置140がオンになる時間が長くなることを意味し、ブロックが消去される回数が大きくなることは、現在のメンテナンス工程と次のメンテナンス工程間の期間が短くなることに対応する。エラービット値が高くなること、および、更新されたブロック数が多くなることは、エラービット値のスレショルドが低くなることに対応する。
一実施形態において、コントローラー160は、データ記憶装置140がオンになって所定時間(オン後所定時間)の後、第一メンテナンス工程を実行する。本実施形態において、この所定時間はあらかじめ定めた時間であるが、これに限定されない。たとえば、この所定時間は4分か5分であるが、これに限定されない。
第一メンテナンス工程において、コントローラー160は温度センサー190を読み取り、第一温度パラメータを獲得し、その第一温度パラメータを含む第一所定条件にしたがって第一期間を決定し、ブロックに第一ブロックスキャンを実行して、それぞれのブロックに対応する複数の第一エラービット値を獲得する。
本実施形態において、第一所定条件は第一温度パラメータを含むが、これに限定されない。別の実施形態において、第一所定条件は、さらに、データ記憶装置140が最後にホスト120によりアクセスされた時間、データ記憶装置140がオンにされた時間、および/または、ブロックが消去された回数を含む。
コントローラー160は、第一メンテナンス工程において、パラメータ表、または、パラメータ関数にしたがって、第一期間を決定し、第一メンテナンス工程が終了して第一期間経過の後、第二メンテナンス工程を実行することができる。注意すべきことは、第一所定条件中のパラメータは、現在の検出されたパラメータであることである。よって、第一メンテナンス工程中のパラメータは第二メンテナンス工程のパラメータと異なり、第二メンテナンス工程中のパラメータは第三メンテナンス工程のパラメータと異なる。
しかし、ある条件下では、異なるメンテナンス工程は同じパラメータを有する。たとえば、ホスト120が、第二メンテナンス工程と第三メンテナンス工程間のフラッシュメモリ180のブロックを消去しない時、第二メンテナンス工程と第三メンテナンス工程においてブロックが消去された回数は同じである。反対に、ホスト120が、第二メンテナンス工程と第三メンテナンス工程間のフラッシュメモリ180のブロックを消去するとき、ブロックが第二メンテナンス工程で消去される回数は、ブロックが第三メンテナンス工程で消去される回数と異なる。注意すべきことは、コントローラー160は、少なくともひとつのブロックに対応する第一エラービット値が所定のエラービット値のスレショルドより大きいとき、さらに、少なくともひとつのブロックを更新することである。本実施形態において、所定のエラービット値のスレショルドはあらかじめ定めたスレショルドであるが、これに限定されない。
別の実施形態において、所定時間(オン後所定時間)において、コントローラー160は、さらに、所定の時間間隔で、温度センサー190を読み取り、現在の温度パラメータを獲得すると共に、現在の温度パラメータにしたがって、第一メンテナンス工程の開始の時間を調整する。すなわち、データ記憶装置140がオンになってから、コントローラー160は、所定の時間間隔で、温度センサー190を読み取り、現在の温度パラメータを獲得すると共に、現在の温度パラメータにしたがって、パラメータ表、または、パラメータ関数を調べることにより、第一メンテナンス工程の開始の時間を決定する。
このときの所定の時間間隔のスパンは所定時間(オン後所定時間)より短い。たとえば、このときの所定の時間間隔のスパンは1秒か2秒であるが、これに限定されない。第一メンテナンス工程の開始の決定時間が所定時間(オン後所定時間)より短い時、コントローラー160は、さらに、第一メンテナンス工程を開始する決定時間にしたがって、所定時間(オン後所定時間)を調整する。たとえば、所定時間(オン後所定時間)は5分で、各所定の時間間隔のスパンは2秒である。データ記憶装置140がオンになった後5分の間、コントローラー160は、2秒毎に、温度センサー190を読み取り、現在の温度パラメータを得ると共に、現在の温度パラメータにしたがって、第一メンテナンス工程を実行する時間を決定する。
たとえば、コントローラー160が、第一メンテナンス工程が、データ記憶装置140の電源オンから6分 (所定時間(オン後所定時間)より長い)後に開始されるべきであると判断する時、コントローラー160は決定時間を無視して、所定時間(オン後所定時間)が終了するまで、2秒ごとに、温度センサー190の読み取りステップを繰り返す。コントローラー160が、第一メンテナンス工程が、データ記憶装置140がオンになり3分後(所定時間(オン後所定時間)より短い)に開始されるべきだと判断する時、コントローラー160は所定時間(オン後所定時間)を3分に調整し、その調整した所定時間(調整後オン後所定時間)が終了するまで、2秒ごとに、温度センサー190の読み取りステップを繰り返す。すなわち、コントローラー160は、第一メンテナンス工程を、データ記憶装置140上で3分後に実行されるように変更する。
コントローラー160は、さらに、第一メンテナンス工程が終了した後第一期間経過後に、第二メンテナンス工程を実行する。第二メンテナンス工程において、コントローラー160は温度センサー190を読み取り、第二温度パラメータを獲得し、第二温度パラメータを含む第二所定条件と、第一エラービット値およびブロックが第一メンテナンス工程において更新された数量を含む第一履歴記録(単に第一履歴と称する)にしたがって、第二期間を決定する。また、コントローラー160は、第一履歴にしたがって、第一エラービット値のスレショルドを決定し、ブロックに、第二ブロックスキャンを実行する。
本実施形態において、第二所定条件は第二温度パラメータを含み、第一履歴は、第一エラービット値、および、ブロックが、第一メンテナンス工程において更新された数量を含むが、これに限定されない。別の実施形態において、第二所定条件は、さらに、データ記憶装置140が最後にホスト120によりアクセスされた時間、データ記憶装置140がオンになった時間、および/または、ブロックが消去された回数を含む。
コントローラー160は、第二メンテナンス工程において、パラメータ表、または、パラメータ関数にしたがって、第二期間を決定し、第二メンテナンス工程が終了した後第二期間経過後、第三メンテナンス工程を実行する。
注意すべきことは、第二所定条件中のパラメータは現在の検出されたパラメータであると共に、第三メンテナンス工程と第二メンテナンス工程の処理は同じであることである。
同様に、第三メンテナンス工程は第三期間を決定し、第四メンテナンス工程を開始する時間を決定し、第二エラービット値のスレショルドを決定し、ブロックに第三ブロックスキャンを実行する。
さらに、第四メンテナンス工程と第二メンテナンス工程の処理は同じである。注意すべきことは、コントローラー160はさらに、ブロックの第二エラービット値が第一エラービット値のスレショルドより大きいとき、ブロックを更新することである。
本実施形態において、コントローラー160は、ブロックスキャンの結果 (たとえば、エラービット値、および/または、更新されたブロックの数量)、または、ブロックが消去された回数(erase counts)を、フラッシュメモリ180中の少なくともひとつの特定のブロック中に記憶して、メンテナンス工程を提供する。ただし、これに限定されるものではない。
ブロックスキャンにおいて、コントローラー160はフラッシュメモリ180の各ブロックをスキャンして、それぞれのブロックに対応するエラービット値を獲得する。さらに特に、コントローラー160は、フラッシュメモリ180の各ブロックを読み取り、各ブロックのエラー修正(ECC)のエラービット値を獲得する。
次に、コントローラー160はさらに、対応するエラービット値が、スレショルド、たとえば、所定のエラービット値のスレショルド、第一エラービット値のスレショルド、および、第二エラービット値のスレショルド等より大きい時、ブロックを更新する。更新工程において、コントローラー160は、ブロックのデータを読み出し、読み出されたデータを修正し、フラッシュメモリ180のもうひとつのブロック(他のブロック)中に修正データを記憶する。
注意すべきことは、エラービット値のスレショルドは、エラー修正(ECC)により修正できるエラービット値の最大値より小さいことである。たとえば、エラービットが43ビットより小さい時、エラービット値のスレショルドは35ビット、または、38ビットであるが、これに限定されない。当業者は、エラー修正(ECC)により修正されるエラービット値の最大値にしたがって、所定のエラービット値のスレショルドを決定することができる。たとえば、所定のエラービット値のスレショルドを、エラー修正(ECC)により修正されるエラービット値の最大値に等しく、またはそれより小さく設計する。
図2は、本発明の新規実施形態によるデータメンテナンス方法のフローチャートである。データメンテナンス方法は、図1のデータ記憶装置140に適用される。プロセスはステップS202から開始される。
ステップS202において、コントローラー160は、データ記憶装置140がオンになって所定時間(オン後所定時間)後、第一メンテナンス工程を実行する。本実施形態において、所定時間(オン後所定時間)はあらかじめ定めた特定の時間であるが、これに限定されない。また、たとえば、所定時間(オン後所定時間)は4分か5分であるが、これに限定されない。
第一メンテナンス工程において、コントローラー160は温度センサー190を読み取り第一温度パラメータを獲得して、第一温度パラメータを含む第一所定条件にしたがって第一期間を決定し、ブロックに第一ブロックスキャンを実行し、それぞれのブロックに対応する複数の第一エラービット値を獲得する。本実施形態において、第一所定条件は第一温度パラメータを含むが、これに限定されない。別の実施形態において、第一所定条件は、さらに、データ記憶装置140が最後にホスト120によりアクセスされる時間、データ記憶装置140がオンになった時間、および/または、ブロックが消去される回数を含む。
コントローラー160は、第一メンテナンス工程において、パラメータ表、または、パラメータ関数にしたがって、第一期間を決定してもよい。この場合も、第一メンテナンス工程が終了して第一期間の経過後、第二メンテナンス工程を実行する。次のメンテナンス工程は、順次、第二メンテナンス工程、第三メンテナンス工程等となる。
注意すべきことは、第一所定条件中のパラメータは、現在の検出されたパラメータであることである。また、注意すべきことは、少なくともひとつのブロックに対応する対応する第一エラービット値が所定のエラービット値のスレショルドより大きいとき、コントローラー160はさらに、少なくともひとつのブロックを更新することである。本実施形態において、所定のエラービット値のスレショルドは所定のスレショルドであるが、これに限定されない。
次に、決定した期間の経過後、コントローラー160は、次のメンテナンス工程の実行を開始する。たとえば、第一メンテナンス工程が終了してステップS202により決定される期間(第一期間)の経過後、コントローラー160は、第二メンテナンス工程を実行する。
まず、ステップS204において、コントローラー160は温度センサー190を読み取って、現在の温度パラメータを獲得する。さらに、コントローラー160は、その現在の温度パラメータを含む現在の所定条件と前のブロックスキャンのエラービット値、および、前のメンテナンス工程中で更新されたブロック数量を含む履歴記録(単に履歴と称する)にしたがって、次の期間を決定する。また、履歴にしたがって、エラービット値のスレショルドを決定する。
本実施形態において、所定条件は現在の温度パラメータを含み、履歴は、前のブロックスキャンのエラービット値、および、前のメンテナンス工程中で更新されたブロック数量を含むが、これに限定されない。別の実施形態において、現在の所定条件は、さらに、データ記憶装置140が最後にホスト120によりアクセスされる時間、データ記憶装置140がオンになった時間、および/または、ブロックが消去される回数を含む。コントローラー160は、現在のメンテナンス工程において、パラメータ表、または、パラメータ関数にしたがって、期間を決定し、現在のメンテナンス工程が終了した所定期間後、コントローラー160は、次のメンテナンス工程を実行することができる。
次に、ステップS206において、コントローラー160は、エラービット値のスレショルドにしたがって、ブロックに、ブロックスキャンを実行し、それぞれのブロックに対応するエラービット値を獲得すると共に、エラービット値のスレショルドより大きいエラービットのブロックを更新する。
そして、プロセスはステップS204に戻る。
図3は、本発明の別の実施形態によるデータメンテナンス方法のフローチャートである。このデータメンテナンス方法も、図1のデータ記憶装置140に適用される。
プロセスはステップS300から開始される。図3のデータメンテナンス方法は、ステップS300を除いて、図2のデータメンテナンス方法と同じである。よって、ステップS302−S306の詳細は、ステップS202−S206の説明を参照するものとし、説明は省略する。
S300において、コントローラー160は、データ記憶装置140がオンになってから所定時間(オン後所定時間)中、所定の時間間隔で、温度センサー190を読み取り、現在の温度パラメータを獲得すると共に、現在の温度パラメータにしたがって、第一メンテナンス工程を実行する所定時間(オン後所定時間)を調整する。すなわち、データ記憶装置140がオンになるので、コントローラー160は温度センサー190を読み取り、所定の時間間隔で、現在の温度パラメータを獲得し、パラメータ表、または、パラメータ関数を調べることにより、現在の温度パラメータにしたがって、第一メンテナンス工程の開始の時間を決定する。所定の時間間隔のスパンは所定時間(オン後所定時間)より短い。たとえば、所定の時間間隔のスパンは1秒か2秒であるが、これに限定されない。
第一メンテナンス工程を開始する決定時間が所定時間(オン後所定時間)より短いとき、コントローラー160は、第一メンテナンス工程を開始する決定時間にしたがって、所定時間(オン後所定時間)を調整する。たとえば、所定時間(オン後所定時間)は5分で、各所定の時間間隔のスパンは2秒である。データ記憶装置140がオンになってから5分の間、コントローラー160は、2秒毎に、温度センサー190を読み取り、現在の温度パラメータを獲得すると共に、現在の温度パラメータにしたがって、第一メンテナンス工程を実行する時間を決定する。
たとえば、コントローラー160が、第一メンテナンス工程が、データ記憶装置140がオンになってから6分 (所定時間(オン後所定時間)より長い)後に開始されるべきであると判断する時、コントローラー160は決定時間を無視すると共に、所定時間(オン後所定時間)が終了するまで、2秒ごとに、温度センサー190の読み取りステップを繰り返す。
コントローラー160が、第一メンテナンス工程が、データ記憶装置140がオンになり3分後(所定時間(オン後所定時間)より短い)に開始されるべきだと判断する時、コントローラー160は所定時間(オン後所定時間)を3分に調整し(調整後オン後所定時間)、所定時間(調整後オン後所定時間)が終了するまで、2秒ごとに、温度センサー190の読み取りステップを繰り返す。すなわち、コントローラー160は、第一メンテナンス工程を、データ記憶装置140上で3分後に実行されるように変更する。
上述からわかるように、本発明に係るデータ記憶装置140とデータメンテナンス方法は、現在の温度にしたがって、ブロックをスキャン、および、更新することができる。
本発明の方法、または、特定の実施形態やその部分は、プログラムコードの形式で存在する。プログラムコードは、有形的表現媒体、たとえば、フロッピーディスク、CD−ROM、ハードドライブ、または、その他の機器読み取り可能(たとえば、コンピュータ読み取り可能)記憶媒体に記憶される。プログラムコードがロードされ、機械、たとえば、コンピュータにより実行される時、この機械は、本発明の装置を実施する装置となる。プログラムコードは、また、ある伝送媒体、たとえば、電気配線、または、ケーブル、または、光ファイバー、または、その他の伝送形式で伝送される。プログラムコードが受信され、機械、たとえば、コンピュータにロード、および、実行されるとき、その機械等は、本開示方法を実行する装置となる。汎用プロセッサで実施される時、プログラムコードはプロセッサと結合して、アプリケーション特有のロジック回路に類似して動作する特定用途、特定目的の装置を提供する。
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
100 電子システム
120 ホスト
140 データ記憶装置
160 コントローラー
162 演算器
164 不揮発性メモリ(ROM)
165 ランダムアクセスメモリ
166 計時装置
180 フラッシュメモリ
190 温度センサー

Claims (16)

  1. データ記憶装置であって、
    複数のブロックを有し、各ブロックが複数のページを有するフラッシュメモリ;
    周辺の環境温度を検出して、環境温度変化に伴った温度パラメータを生成する温度センサー; および
    前記データ記憶装置がオンになった後所定時間の経過後、第一メンテナンス工程であって、前記温度センサーを読み取り第一温度パラメータを獲得し、前記第一温度パラメータを含む第一所定条件にしたがって第一期間を決定する第一メンテナンス工程を実行し、前記第一メンテナンス工程が完了して前記第一期間の経過後に、第二メンテナンス工程を実行するコントローラー、を含むことを特徴とするデータ記憶装置。
  2. 前記第一メンテナンス工程において、前記コントローラーは、さらに、前記ブロックに第一ブロックスキャンを実行して、それぞれの前記ブロックに対応する複数の第一エラービット値を獲得すると共に、前記対応する第一エラービット値が所定エラービット値のスレショルドより大きい時、前記ブロックを更新することを特徴とする請求項1に記載のデータ記憶装置。
  3. 前記データ記憶装置がオンになった後の所定時間において、前記コントローラーは、所定の時間間隔で前記温度センサーを読み取り現在の温度パラメータを獲得すると共に、前記現在の温度パラメータにしたがって、前記第一メンテナンス工程の開始の時間を調整することを特徴とする請求項1に記載のデータ記憶装置。
  4. 前記第二メンテナンス工程において、前記コントローラーは前記温度センサーを読み取り第二温度パラメータを獲得し、前記第二温度パラメータを含む第二所定条件と、前記第一エラービット値および前記第一メンテナンス工程で更新される前記ブロックの数量を含む第一履歴にしたがって第二期間を決定して、前記第二メンテナンス工程が完了して前記第二期間の経過後に、第三メンテナンス工程を実行することを特徴とする請求項2に記載のデータ記憶装置。
  5. 前記第二メンテナンス工程において、前記コントローラーはさらに、前記第一履歴にしたがって第一エラービット値のスレショルドを決定し、前記ブロックに第二ブロックスキャンを実行し、前記ブロックに対応する複数の第二エラービット値を獲得すると共に、前記対応する第二エラービット値が前記第一エラービット値のスレショルドより大きい時、前記ブロック を更新することを特徴とする請求項4に記載のデータ記憶装置。
  6. 前記第一所定条件と前記第二所定条件は、さらに、前記データ記憶装置がホストに最後にアクセスされる時間を含むことを特徴とする請求項4に記載のデータ記憶装置。
  7. 前記第一所定条件と前記第二所定条件は、さらに、前記データ記憶装置がオンになる時間を含むことを特徴とする請求項4に記載のデータ記憶装置。
  8. 前記第一所定条件と前記第二所定条件は、さらに、前記ブロックが消去される回数を含むことを特徴とする請求項4に記載のデータ記憶装置。
  9. フラッシュメモリを有するデータ記憶装置に適用されるデータメンテナンス方法であって、前記フラッシュメモリは複数のブロックを有し、各ブロックは複数のページを有し、前記データメンテナンス方法は:
    前記データ記憶装置がオンになった後所定時間の経過後、第一メンテナンス工程を実行する工程;
    前記第一メンテナンス工程において、温度センサーを読み取り、第一温度パラメータを獲得する工程;
    前記第一メンテナンス工程において、前記第一温度パラメータを含む第一所定条件にしたがって第一期間を決定する工程; および
    前記第一メンテナンス工程が終了して前記第一期間後、前記第二メンテナンス工程を実行する工程と、
    を含むことを特徴とするデータメンテナンス方法。
  10. 前記第一メンテナンス工程はさらに:
    前記ブロックに、第一ブロックスキャンを実行して、前記ブロックに対応する複数の第一エラービット値を獲得する工程; および
    前記対応する第一エラービット値が、所定エラービット値のスレショルドより大きい時、前記ブロックを更新する工程、
    を含むことを特徴とする請求項9に記載のデータメンテナンス方法。
  11. さらに:
    前記データ記憶装置がオンになった後の所定時間中、前記コントローラーが、所定の時間間隔で、前記温度センサーを読み取り、前記現在の温度パラメータを獲得する工程; および
    前記現在の温度パラメータにしたがって、前記第一メンテナンス工程の開始の時間を調整する工程と、
    を含むことを特徴とする請求項10に記載のデータメンテナンス方法。
  12. 前記第二メンテナンス工程はさらに:
    前記温度センサーを読み取り、前記現在の周辺の環境温度に対応する第二温度パラメータを獲得する工程;
    前記第二温度パラメータを有する第二所定条件と、前記第一エラービット値および前記第一メンテナンス工程で更新された前記ブックの数量を含む第一履歴にしたがって、第二期間を決定する工程;および
    前記第二メンテナンス工程が完了して前記第二期間の経過後に、第三メンテナンス工程を実行する工程、を含むことを特徴とする請求項10に記載のデータメンテナンス方法。
  13. 前記第二メンテナンス工程はさらに:
    前記第一履歴にしたがって、第一エラービット値のスレショルドを決定する工程と;
    前記ブロックに、第二ブロックスキャンを実行して、前記ブロックの複数の第二エラービット値を獲得する工程; および
    前記対応する第二エラービット値が前記第一エラービット値のスレショルドより大きい時、前記ブロックを更新する工程、
    を含むことを特徴とする請求項12に記載のデータメンテナンス方法。
  14. 前記第一所定条件と前記第二所定条件は、さらに、前記データ記憶装置が最後にホストにアクセスされる時間を含むことを特徴とする請求項12に記載のデータメンテナンス方法。
  15. 前記第一所定条件と前記第二所定条件は、さらに、前記データ記憶装置がオンになる時間を含むことを特徴とする請求項12に記載のデータメンテナンス方法。
  16. 前記第一所定条件と前記第二所定条件は、さらに、前記ブロックが消去される回数を含むことを特徴とする請求項12に記載のデータメンテナンス方法。
JP2014160778A 2013-08-06 2014-08-06 データ記憶装置、および、データメンテナンス方法 Active JP5986607B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361862858P 2013-08-06 2013-08-06
US61/862,858 2013-08-06
TW102146530 2013-12-17
TW102146530A TWI490870B (zh) 2013-08-06 2013-12-17 資料儲存裝置及其資料維護方法

Publications (2)

Publication Number Publication Date
JP2015032316A true JP2015032316A (ja) 2015-02-16
JP5986607B2 JP5986607B2 (ja) 2016-09-06

Family

ID=52449688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014160778A Active JP5986607B2 (ja) 2013-08-06 2014-08-06 データ記憶装置、および、データメンテナンス方法

Country Status (3)

Country Link
US (1) US9368226B2 (ja)
JP (1) JP5986607B2 (ja)
CN (1) CN104346236B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI569275B (zh) * 2015-07-17 2017-02-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
CN107818025B (zh) * 2017-10-31 2021-06-29 郑州云海信息技术有限公司 硬盘冷数据校验方法、装置、设备及计算机可读存储介质
TWI638262B (zh) * 2017-11-17 2018-10-11 慧榮科技股份有限公司 資料儲存裝置及應用於其上的操作方法
JP7214464B2 (ja) 2018-12-20 2023-01-30 キオクシア株式会社 半導体記憶装置
KR20220039404A (ko) * 2020-09-22 2022-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN112151107B (zh) * 2020-09-28 2023-03-21 深圳忆联信息系统有限公司 基于异步事件的SSD Critical Warning字段测试方法和装置
US11521686B2 (en) * 2021-03-31 2022-12-06 Sandisk Technologies Llc Memory apparatus and method of operation using state bit-scan dependent ramp rate for peak current reduction during program operation
CN117369730B (zh) * 2023-12-07 2024-02-20 合肥康芯威存储技术有限公司 一种存储器及其控制方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310888A (ja) * 2007-06-15 2008-12-25 Panasonic Corp 不揮発性半導体記録装置
JP2009026119A (ja) * 2007-07-20 2009-02-05 Denso Corp メモリ制御装置、信頼性判定期間の更新方法、及びデータの書込み方法
US20090132875A1 (en) * 2007-11-21 2009-05-21 Jun Kitahara Method of correcting error of flash memory device, and, flash memory device and storage system using the same
JP2009251627A (ja) * 2008-04-01 2009-10-29 Panasonic Corp メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2010160816A (ja) * 2010-03-29 2010-07-22 Toshiba Corp 半導体記憶装置の制御方法
JP2011100519A (ja) * 2009-11-06 2011-05-19 Toshiba Corp メモリシステム
US20110219203A1 (en) * 2008-11-11 2011-09-08 Nokia Corporation Method and device for temperature-based data refresh in non-volatile memories
US20110302353A1 (en) * 2008-12-30 2011-12-08 Emanuele Confalonieri Non-volatile memory with extended operating temperature range

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7079422B1 (en) 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
US6396744B1 (en) 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US7089349B2 (en) 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
KR100967003B1 (ko) * 2008-05-29 2010-07-02 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
US8745314B1 (en) * 2008-06-24 2014-06-03 Virident Systems, Inc. Methods for a random read and read/write block accessible memory
US20090327581A1 (en) 2008-06-30 2009-12-31 Coulson Richard L Nand memory
KR101434400B1 (ko) * 2008-07-09 2014-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법
US7859932B2 (en) 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
JP5470608B2 (ja) 2008-12-30 2014-04-16 マイクロン テクノロジー, インク. 不揮発性メモリのための温度警報および低レートリフレッシュ
US8261136B2 (en) 2009-06-29 2012-09-04 Sandisk Technologies Inc. Method and device for selectively refreshing a region of a memory of a data storage device
KR101649395B1 (ko) 2009-12-02 2016-08-19 마이크론 테크놀로지, 인크. 비휘발성 메모리에 대한 리프레시 아키텍처 및 알고리즘
US8656086B2 (en) 2010-12-08 2014-02-18 Avocent Corporation System and method for autonomous NAND refresh
US8472274B2 (en) 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
US8542537B2 (en) * 2011-04-29 2013-09-24 Spansion Llc Method and apparatus for temperature compensation for programming and erase distributions in a flash memory
KR20120125791A (ko) * 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
US8650353B2 (en) 2011-07-01 2014-02-11 Intel Corporation Apparatus, system, and method for refreshing non-volatile memory
US9176800B2 (en) 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310888A (ja) * 2007-06-15 2008-12-25 Panasonic Corp 不揮発性半導体記録装置
JP2009026119A (ja) * 2007-07-20 2009-02-05 Denso Corp メモリ制御装置、信頼性判定期間の更新方法、及びデータの書込み方法
US20090132875A1 (en) * 2007-11-21 2009-05-21 Jun Kitahara Method of correcting error of flash memory device, and, flash memory device and storage system using the same
JP2009129070A (ja) * 2007-11-21 2009-06-11 Hitachi Ltd フラッシュメモリ記憶装置の制御方法、その方法を用いたフラッシュメモリ記憶装置及びストレージシステム
JP2009251627A (ja) * 2008-04-01 2009-10-29 Panasonic Corp メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US20110219203A1 (en) * 2008-11-11 2011-09-08 Nokia Corporation Method and device for temperature-based data refresh in non-volatile memories
US20110302353A1 (en) * 2008-12-30 2011-12-08 Emanuele Confalonieri Non-volatile memory with extended operating temperature range
JP2011100519A (ja) * 2009-11-06 2011-05-19 Toshiba Corp メモリシステム
US20120268994A1 (en) * 2009-11-06 2012-10-25 Hiroyuki Nagashima Memory system
JP2010160816A (ja) * 2010-03-29 2010-07-22 Toshiba Corp 半導体記憶装置の制御方法

Also Published As

Publication number Publication date
CN104346236A (zh) 2015-02-11
US9368226B2 (en) 2016-06-14
US20150046762A1 (en) 2015-02-12
CN104346236B (zh) 2018-03-23
JP5986607B2 (ja) 2016-09-06

Similar Documents

Publication Publication Date Title
JP5986607B2 (ja) データ記憶装置、および、データメンテナンス方法
CN104572489B (zh) 磨损均衡方法及装置
JP5891274B2 (ja) データ記憶装置とその異常電圧からの保護方法
US20160283711A1 (en) eMMC Monitoring Method and Apparatus
JP2015032317A (ja) データ記憶装置とアクセス制御方法
US20150178001A1 (en) Data Storage Device and Data Maintenance Method Thereof
KR102179829B1 (ko) 런 타임 배드 셀을 관리하는 스토리지 시스템
JP5981906B2 (ja) 画像形成装置
US20160179392A1 (en) Non-volatile memory device
US20210397531A1 (en) Apparatus with temperature mitigation mechanism and methods for operating the same
TW201426297A (zh) 基板管理控制器安全保護系統及方法
US20070005860A1 (en) Interrupt control system and method
CN113539345A (zh) 调整修整设定以改善存储器性能或可靠性
JP2010097432A (ja) Ram診断装置、そのプログラム
KR101677532B1 (ko) 데이터 저장 디바이스 및 이의 액세스 제한 방법
CN112631854B (zh) 存储控制器、存储装置及其控制方法
TW201913391A (zh) 快閃記憶體裝置的重新啟動方法以及使用該方法的裝置
JP2010205167A (ja) 不揮発性メモリ、その制御方法及びプログラム
TWI450275B (zh) 可提升寫入保護之記憶體系統及相關方法
TWI511148B (zh) 電腦系統及控制方法
CN105786670A (zh) 一种操作系统重启方法及装置
CN108614663B (zh) 基于NAND flash的数据处理方法和装置
CN118136086A (zh) 芯片测试方法及相关设备
JP6263068B2 (ja) 半導体記憶装置
CN116225331A (zh) 固态硬盘性能优化方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160705

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: 20160726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160805

R150 Certificate of patent or registration of utility model

Ref document number: 5986607

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