JP2007035035A - ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステム - Google Patents
ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステム Download PDFInfo
- Publication number
- JP2007035035A JP2007035035A JP2006201734A JP2006201734A JP2007035035A JP 2007035035 A JP2007035035 A JP 2007035035A JP 2006201734 A JP2006201734 A JP 2006201734A JP 2006201734 A JP2006201734 A JP 2006201734A JP 2007035035 A JP2007035035 A JP 2007035035A
- Authority
- JP
- Japan
- Prior art keywords
- refresh
- memory device
- error
- memory
- scrub
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステムを提供すること。
【解決手段】ダイナミックメモリデバイスに格納されたデータの保全性を保持するための方法は、ダイナミックメモリデバイスのリフレッシュ速度要件およびエラースクラビング速度要件に基づき、複数のメモリ素子を有するダイナミックメモリデバイスのリフレッシュ−スクラブアクセス時間間隔を決定するステップと、リフレッシュ−スクラブアクセス時間間隔を超えない周期でダイナミックメモリデバイスの各メモリ素子にエラースクラビング機能を実行するステップとを備える。
【選択図】図1
【解決手段】ダイナミックメモリデバイスに格納されたデータの保全性を保持するための方法は、ダイナミックメモリデバイスのリフレッシュ速度要件およびエラースクラビング速度要件に基づき、複数のメモリ素子を有するダイナミックメモリデバイスのリフレッシュ−スクラブアクセス時間間隔を決定するステップと、リフレッシュ−スクラブアクセス時間間隔を超えない周期でダイナミックメモリデバイスの各メモリ素子にエラースクラビング機能を実行するステップとを備える。
【選択図】図1
Description
本発明は一般に、デジタルコンピュータに関し、具体的にはダイナミックメモリデバイスに関する。
高高度および大気圏外におけるような高い放射線環境の影響を受けやすいメモリデバイスは、放射線粒子による衝撃を受けた結果メモリセル値が変化(つまり反転)する可能性があるという、シングルイベント効果(single event effect)感受性の損害を被る。この問題に対する従来の解決策は、各記憶域が定期的に読み取られ、エラーがないかチェックされるエラースクラビングを含む。エラーが検出された場合、正しい値は冗長ソースから取り出され、記憶域に書き戻される。さらに、ダイナミックランダムアクセスメモリ(DRAM)など、多くのメモリデバイスは、適切に機能するために定期的にリフレッシュされる必要がある。メモリデバイスのリフレッシュおよびエラースクラビングはそれぞれ、他の場合であればメモリデバイスにデータを格納するアプリケーションに使用されていたはずのメモリアクセス時間を消費する。放射線に対して堅固なメモリ技術は、シングルイベント効果の影響を受けにくいが、一般的に集積度が小さいので、非堅固なデバイスの場合の少ない数で使用可能な記憶容量と同等の容量を得るために、さらに多くのデバイスが必要となる。
前述の理由および本明細書を読み理解すれば当業者には明らかとなる以下に述べるその他の理由から、当技術分野においてリフレッシュおよびエラースクラビングメモリデバイスの改良された方法およびシステムが必要とされている。
本発明の実施形態は、メモリデバイスをリフレッシュおよびエラースクラビングするための方法およびシステムを提供し、以下の明細書を読み、検討することによって理解されよう。
一実施形態において、メモリデバイスのリフレッシュ−エラースクラビング機能を実施する方法が提供される。方法は、メモリデバイスの複数の記憶域に収容されているデータを順次読み取るステップと、複数の記憶域に格納されているデータにエラーがないかチェックするステップと、エラーが検出された場合に記憶域データを修正するステップとを備える。複数の記憶域内のすべての記憶域は、リフレッシュ−スクラブアクセス時間間隔を超えない周期で繰り返し読み取られる。
別の実施形態において、データを格納するシステムが提供される。システムは、1つまたは複数のダイナミックメモリデバイス、および1つまたは複数のメモリデバイスに結合されたメモリ管理モジュールを備える。メモリ管理モジュールは、1つまたは複数のメモリデバイス内の記憶域がリフレッシュ−スクラブアクセス時間間隔に必要とされる時間内にエラースクラビングされるように、1つまたは複数のメモリデバイスでリフレッシュ−スクラビング機能を定期的に実行するように適合される。
さらに別の実施形態において、データを格納するシステムが提供される。システムは、複数のメモリ素子にデータ値を格納するデータを格納する手段と、複数のメモリ素子に格納されたデータ値を読み取る手段と、複数のメモリ素子に格納されたデータ値のエラーを識別する手段と、エラーが検出された場合にデータ値を修正する手段とを備える。読み取る手段は、複数のメモリ素子をそれぞれ、リフレッシュ−スクラブアクセス時間間隔を超えない周期で読み取る。
さらに別の実施形態において、ダイナミックメモリデバイスに格納されたデータの保全性を保持する方法のためのコンピュータ実行可能プログラム命令を有するコンピュータ可読媒体が提供される。方法は、複数のメモリ素子を有するダイナミックメモリデバイスの各メモリ素子にリフレッシュ−スクラブアクセス時間間隔を超えない周期でエラースクラビング機能を実行するステップを備える。
本発明は、好ましい実施形態の説明および以下の図を考慮して検討すれば、さらに容易に理解され、更なるその利点および用途が容易に明らかになるであろう。
一般的な慣行に従い、説明されるさまざまな機能は一定の縮尺で描かれておらず、本発明に関連する特徴を強調するように描かれている。参照文字は、図面および本文全体を通じて類似した要素を示す。
以下の詳細な説明において、その一部を形成する添付の図への参照が行われ、図において本発明が実施されうる特定の実施形態が例示により示されている。これらの実施形態は、当業者が本発明を実施できるようにするのに十分詳細に説明されており、他の実施形態が使用されることができ、本発明の範囲を逸脱することなく論理的、機構的、および電気的変更を行うことができることを理解されたい。したがって、以下の詳細な説明は、限定的な意味で把握されるべきではない。
本発明の実施形態は、エラースクラビングおよびメモリリフレッシュの機能を単一のアクティビティに一体化することにより、アプリケーションを使用するためのメモリデバイスの可用性を高める。エラースクラビング機能は、エラーの発生確率に基づいて最小間隔内に各メモリデバイス位置をチェックする必要がある。この確率は、メモリデバイスの特性および環境因子両方の関数である。エラーが検出された場合、正しい値は冗長ソースから取り出され、記憶域に書き戻される。
メモリデバイスのエラースクラビング速度は、累積的な反転の数がもはや修正できない地点に達する前に、反転が確実に発見されて修正されるように選択される。通常、所定の環境における所定の素子の動作に対して、反転発生の確率および反転が予想されうる頻度を判別するために放射線効果の分析が使用される。エラースクラビング速度は通常、1つの反転が予想される見込み時間内にメモリ全体がスクラビングされるように選択される。見込み時間は、エラースクラビングの間隔内で特定の要素(つまりデバイスアドレス)が繰り返される必要のある要素エラースクラビング間隔を確立する。たとえば、1600要素のデバイスで1つの反転を予想する見込み時間が1.6秒である場合、そのデバイスのエラースクラビング速度は1600(要素)/1.6(秒)、つまり毎秒1000要素と等しい。エラースクラビング機能は、1.6秒の要素エラースクラビング間隔を満たすために少なくとも毎秒1000要素の速度でエラースクラビングを行う必要がある。
DRAMなどのダイナミックメモリデバイスは、メモリデバイスの内容の損失を防ぐために、ある最小間隔内にメモリデバイスの全内容をリフレッシュする必要がある。一実施形態において、メモリデバイスのリフレッシュ速度は、製造者の指定した行リフレッシュ間隔に基づいて決められ、この間隔は特定の行に対してリフレッシュサイクルを繰り返す最大時間間隔を指定する。メモリデバイスの全内容は、メモリデバイスの内容の損失を防ぐために、製造者によって指定された時間間隔内にリフレッシュされる必要がある。たとえば、6400行メモリデバイスの製造者の行リフレッシュ間隔が64ミリ秒である場合、そのデバイスのリフレッシュ速度は6400(行)/64(ミリ秒)、つまり毎秒100,000行と等しい。リフレッシュ機能は、64ミリ秒の行リフレッシュ間隔の要件を満足するために少なくとも毎秒100,000行の速度でリフレッシュを行う必要がある。
本発明の実施形態は、リフレッシュおよびエラースクラビング間隔を適切に整合させ、結果としてリフレッシュおよびエラースクラビングの両方の機能を同時に達成するメモリデバイスアクセスパターンを定義し、それによりこれらのオーバーヘッドアクティビティによって浪費されるメモリアクセス時間を減少させる。
本発明の実施形態は、記憶域からの読み取りが記憶域の内容のリフレッシュを実行するDRAMの特性を利用する。メモリデバイス内の記憶域が周期的パターンで継続的に読み取られる限り、別個のリフレッシュ操作は必要ではない。コンピュータアプリケーションの通常の実行では、すべての必要とされる記憶域読み取りを実行してメモリデバイス全体をリフレッシュすることを当てにすることはできない。なぜなら、通常のコンピュータアプリケーションは、必要に応じて特定の記憶域との間で読み取りおよび書き込みを行うことによってメモリにアクセスするのみであるからである。したがって、アプリケーションによるメモリデバイスのアクセスは、メモリデバイスのリフレッシュ速度の要件を満足するのに十分な頻度ですべての記憶域が確実にリフレッシュされるようにするには不十分な、ほとんどランダムな読み取りおよび書き込みのパターンをもたらす。対照的に、エラースクラビング機能は、修正すべき反転を探しながら、すべての記憶域にアクセスするので、メモリデバイスのリフレッシュをエラースクラビング機能に依存することができる。本発明の実施形態はエラースクラビング速度およびリフレッシュ速度の両方を満足し、別個のリフレッシュ操作を実行する必要をなくし、それによりメモリデバイスのオーバーヘッド時間要件を軽減しながら同時にアプリケーションのアクセスにメモリデバイスが使用可能な時間を増大させるのに十分な頻度およびパターンのエラースクラビングメモリアクセスを実行する方法を提供する。
図1は、本発明の一実施形態のメモリデバイスに対する一体化されたリフレッシュ−エラースクラビング機能を実施する方法100を示す流れ図である。図1の方法100は、記憶域からのデータ読み取りが記憶域のリフレッシュも行うダイナミックメモリの特性を利用する。方法は最初に、リフレッシュ−スクラブアクセス時間間隔を選択するステップを備える(110)。リフレッシュ−スクラブアクセス時間間隔は、メモリデバイスのリフレッシュ速度要件および反転修正のためのエラースクラビング速度要件が共に確実に満たされるように、メモリデバイス内のすべての記憶域がエラースクラビング機能によって読み取られる必要がある時間間隔である。一実施形態において、リフレッシュ−スクラブアクセス時間間隔は単に、行リフレッシュ間隔と要素エラースクラビング間隔のうち短いほうの間隔である。方法は次に、リフレッシュ−エラースクラビング機能を実行するステップを備える(120)。リフレッシュ−エラースクラビング機能は、エラースクラビングアクセスを実行するメモリデバイスのすべての記憶域を通して周期的に繰り返す。方法100は最初に、エラーを識別するために記憶域の内容を読み取る(122)。ダイナミックメモリデバイスの性質により、記憶域に収容されたデータを読み取ることによって、記憶域は同時にリフレッシュされる。エラーが検出された場合(123)、正しい値は冗長ソースから取り出され(124)、記憶域に書き戻される(126)。リフレッシュ−エラースクラビング機能は、すべての場所がエラースクラビングされるまで(128)各記憶域を通して引き続き周期的に繰り返す。方法は、リフレッシュ−エラースクラビング機能を実行するステップ(120)を再開する。
一実施形態において、方法100は時間間隔Tの間一時停止し(130)、アプリケーションがメモリデバイスにアクセスできるようにする。一時停止時間間隔は、リフレッシュ−スクラビング機能が、リフレッシュ−スクラブアクセス時間間隔によって必要とされる時間内に各記憶域の内容を確実に読み取る(122)ように選択される。一実施形態において、時間間隔Tの一時停止(130)は、リフレッシュ−スクラブアクセス時間間隔全体にわたりエラースクラビングアクセスを均一に分散するために、各後続エラースクラビングアクセスの間に配置される。間隔全体にわたり遅延を分散することで、アプリケーションのメモリアクセスに対するアクセス待ち時間が減少する。リフレッシュ−スクラビングがすべて一度に実行される場合、メモリへのアプリケーションアクセスは、継続期間中は中断される必要がある。一部のアプリケーションには、そのような動作を許容できないものもある。代替として、アプリケーションが制限付きメモリアクセスの期間を有することが知られている場合は、それらの期間中にリフレッシュ−スクラビング機能を実行するように選択することは有益である。リフレッシュ−スクラビングアクションのタイミングおよび細分性は、リフレッシュ−スクラブアクセス時間の制約が満たされる限り、アプリケーション固有であるとみなされるべきである。ほとんどのアプリケーションは、メモリに機能アクセスの最小待ち時間をもたらす、細分化され、分散された動作を好む傾向がある。
図2は、記憶域の行内の記憶域からデータを読み取ることがその記憶域をリフレッシュするだけでなく行全体もリフレッシュするというダイナミックメモリデバイスの特性をさらに利用するアルゴリズムの一実施形態の方法200を示す。図3Aに示されるように、一実施形態において、メモリデバイス350の記憶域は、各行が複数の記憶域要素382を備える複数の行380を有するマトリクスで構成される(簡単にするために、図3A、図3B、および図3Cにおいては、4つの要素を備える4つの行のみが示される)。方法200は、リフレッシュ速度要件およびエラースクラビング速度要件を満たすためにメモリデバイス350の記憶域を通じて周期的に繰り返す場合、エラースクラビングアクセスを実行する効率的なパターンを提供する。第1の行310の第1の記憶域(つまり行1の要素1)で始まり、方法200は、同時に行1のすべての記憶域のリフレッシュをもたらすエラースクラブアクセスをその要素で実行する。次に方法200は続行し、最終行312の最初の記憶域(たとえば行4の要素1)を完了するまで、次の隣接する行(320−1で示される)の最初の記憶域を通して周期的に繰り返し、エラースクラブグアクセスを実行する。このパターンの結果は、各行の1つの要素をエラースクラビングするために要する時間の間に、メモリデバイス350内のすべての記憶域がリフレッシュされるということである。次に方法はこのシーケンスを繰り返し、各行の2番目の要素を通して周期的に繰り返し(320−2で示される)、すべての記憶域がエラースクラビングされるまで、各行のn番目の要素(320−3および320−4で示される)を通して周期的に繰り返す。
方法200のアルゴリズムは、LOC_INC、LOC_RANGE、およびINNER_LOOP_lTERATION_RANGE(ILIR)という3つの定数を定義する。LOC_INCは、ある行の1番目の要素と隣接する行の1番目の要素との間のメモリデバイス位置における差異(つまり、行あたり含まれる記憶域要素の数)として定義される。LOC_RANGEは、リフレッシュ−スクラブアクセス時間間隔内にリフレッシュされエラースクラビングされる必要のある記憶域要素の合計数として定義される。INNER_LOOP_ITERATION_RANGEは、LOC_INCで除算されたLOC_RANGEと等しい。
200のアルゴリズムは、1からLOC_INCまで1ステップ増分で繰り返す第1のループシーケンス(210)を備える。変数OUTER_INDEXは、第1のループシーケンスの現行値から1を減算したものと等しい(220)。第1のループシーケンス内で、第2のループシーケンス(230)は、1からILIRまで1ステップ増分で繰り返す。INNER_INDEXは、第2のループシーケンスの現行値から1を減算しものと等しい(240)。第2の各ループシーケンス内で、アルゴリズムは、メモリデバイス350の行を通して(320−1から4で示される)周期的に繰り返し、各行内の1つの記憶域でエラースクラブアクセスを実行する(270)。一実施形態において、方法200はさらに、関数POSITIONをOUTER_INDEX+(INNER_INDEX*LOC_INC)と等しくなるよう定義する(250)。POSITION関数は、次にエラースクラビングされるべき、現在のOUTER_INDEX値およびINNER_INDEX値を記憶域に相関させる整数値を(図3Bに示されるように)計算する。各要素のPOSITION値は、通常355において示される。たとえば、POSITIONが0と等しい場合、メモリデバイス350内の対応するメモリ素子は行1、要素1である。POSITIONが15と等しい場合、メモリデバイス350内の対応するメモリ素子は行4、要素4である。メモリデバイス350の場合、第1のループシーケンスは1からLOC_INC(この例では4)まで周期的に繰り返し、第2のループシーケンスは1からILIR(この例では同様に4)まで周期的に繰り返すので、POSITIONは0、4、8、12、1、5、9、13、2、6、10、14、3、7、11、および15の値を通して繰り返し、それぞれの第1および第2のループ反復中にどの記憶域をエラースクラビングするかを示す。これらのPOSITION値に対してそれぞれの相関する行:要素は、1:1、2:1、3:1、4:1、1:2、2:2、3:2、4:2、1:3、2:3、3:3、4:3、1:4、2:4、3:4、および4:4である。一実施形態において、方法200はさらに、POSITION関数からの整数値を標準メモリアドレス形式に変換するステップ(260)を備える。そのメモリアドレスに対してエラースクラブアクセスが実行される場合、メモリの行全体がリフレッシュされる。当業者であれば、この明細書を読めば標準的なメモリデバイスのアドレスデコード構造へのPOSITION値のマッピングがデバイスアーキテクチャに固有であることを理解するであろう。図3Bは、1つの一般的な例を表すが、他のデバイスアーキテクチャも、本発明の実施形態の範囲内で可能である。
リフレッシュ−スクラビング−アクセス時間間隔を満たすために、第2のループ(230)シーケンスを完了するために必要な時間は、メモリデバイスの行リフレッシュ間隔よりも短い必要がある。さらに、第1のループ(210)シーケンスを完了するために必要な時間は、要素エラースクラビング間隔よりも短い必要がある。しかし、方法200が連続的に繰り返すことができるようにすることで、アプリケーションがデータを格納または取り出すためにメモリデバイス350にアクセスするのを防げる。したがって、方法200はさらに、アプリケーションが、各エラースクラブアクセスの後にT1の時間間隔の間メモリデバイス350にアクセスできるようにする時間遅延(280)を備える。時間間隔T1は、方法200のリフレッシュ−スクラビング機能全体が、リフレッシュ−スクラブアクセス時間間隔によって必要とされる時間内に実行されるように選択される。一実施形態において、時間間隔T1は、リフレッシュ速度およびエラースクラビング速度の要件を依然として満たす可能な最大時間間隔として選択される。各エラースクラブアクセスの後の一時停止は、リフレッシュ−スクラブアクセス時間間隔全体にわたりさらに均一にエラースクラブアクセスを分散するので、メモリデバイス350にアクセスする必要のあるアプリケーションのアクセス待ち時間が減少する。
当業者には本明細書を読めば理解されるように、メモリ素子内のデータの順次読み取りは、連続するメモリデバイスの行または列に制限されないが、リフレッシュ速度およびエラースクラビング速度の要件が満たされる限り、任意のシーケンスを備えることができる。一実施形態において、方法200のアルゴリズムは、使用される特定のメモリデバイスのさらに他の特有の性質を利用するように変更されうる。たとえば、SDRAM(synchronous dynamic random access memory)などの特定のダイナミックメモリデバイスは、メモリ素子へのバーストアクセス用に最適化されるが、これに限定されることはない。一実施形態において、メモリデバイスは、バーストあたり約2から8の順次アドレスのバーストアクセス用に最適化される。アドレスあたりの合計アクセスオーバーヘッドは、一度に1つの素子位置ではなく、バースト単位でエラースクラブアクセスを実行することにより減少させることができる。たとえば、一実施形態において、メモリデバイス350は、バーストあたり約2つのアドレスのバーストアクセス用に最適化される。この2つの要素のバーストアクセス最適化を利用するため、本発明の一実施形態の代替アルゴリズムは、図3Cに示されるように、0、1、4、5、8、9、12、13、2、3、6、7、10、11、14、15のPOSITION値を通して周期的に繰り返す。デバイスの構成に応じて、各バーストは1つまたは複数の行に作用し、作用される各行をリフレッシュすることができる。1つの行のみが作用される場合、過度のエラースクラブアクセスはリフレッシュについては冗長であるが、エラースクラビングにとって有益である。
図4は、バーストアクセス最適化をさらに利用する、方法200のようなアルゴリズムの一実施形態の方法400を示す。方法400のアルゴリズムは、上述の方法200の場合と同様に定数LOC_INC、LOC_RANGE、およびILIRを定義し、メモリデバイス350がバーストアクセスするように最適化された順次アドレスアクセスの数を指定する定数BURSTをさらに定義する。方法400のアルゴリズムは、1からLOC_INCまでBURSTの値と等しい増分ステップで周期的に繰り返す第1のループシーケンス(410)を備える。変数OUTER_INDEXは、第1のループシーケンスの現行値から1を引いたものと等しい(420)。第1のループシーケンス内で、第2のループシーケンス(430)は、1からILIRまで1ステップ増分で周期的に繰り返す。INNER_INDEXは、第2のループシーケンスの現行値から1を引いたものと等しい(440)。第2のループシーケンス内で、第3のループシーケンス(442)は、バーストアクセスに対するアドレスのバーストカウントを確立し、1からBURSTまで周期的に繰り返す。BURST_INDEXは、第3のループシーケンスの現行値から1を引いたものと等しい(444)。
第3の各ループシーケンス内に、アルゴリズムは、メモリデバイス350を通して(330−1から330−3で示される)周期的に繰り返し、BURSTと等しい記憶域の合計数までエラースクラブアクセス(470)を実行する。一実施形態において、方法400はさらに、(OUTER_INDEX+(INNER_INDEX*LOC_INC))+BURST_INDEXと等しくなるようにPOSITIONを定義する(450)。POSITION関数は、上記の図3Bに関して説明されるように、現在のOUTER_INDEX値、INNER_INDEX値、およびBURST_INDEX値を記憶域に相関させる整数値を計算する。メモリデバイス350に適用される方法400のアルゴリズムの場合、POSITIONは、0、1、4、5、8、9、12、13、2、3、6、7、10、11、14、15の値を通して周期的に繰り返し、エラースクラビングする記憶域の順序を示す。一実施形態において、方法400はさらに、POSITION関数からの整数値を標準メモリアドレス形式に変換するステップ(460)を備える。
方法400はさらに、アプリケーションが、各エラースクラブアクセスバーストの後にT2の時間間隔の間メモリデバイス350にアクセスできるようにする時間遅延(480)を備える。方法200の場合と同様に、リフレッシュ−スクラブアクセス時間間隔を満たすため、第2のループ(430)シーケンスを完了するために必要な時間は、メモリデバイス350の行リフレッシュ間隔よりも短い必要がある。さらに、第1のループ(410)シーケンスを完了するために必要な時間は、要素エラースクラビング間隔よりも短い必要がある。したがって、時間間隔T2は、方法(400)のリフレッシュ−スクラビング機能全体が、リフレッシュ−スクラブアクセス時間間隔によって必要とされる時間内に確実に実行されるように選択される。一実施形態において、時間間隔T2は、リフレッシュ速度およびエラースクラビング速度の要件を依然として満たす可能な最大時間間隔として選択される。各エラースクラブアクセスバーストの後の一時停止は、リフレッシュ−スクラブアクセス時間間隔全体にわたりさらに均一にエラースクラブアクセスを分散するので、メモリデバイス350にアクセスする必要のあるアプリケーションのアクセス待ち時間が減少する。
図2、図3A〜図3C、および図4は、4つの要素の4つの行から成る仮定のメモリデバイスによる方法の適用を示すが、当業者であれば、本明細書を読めば本発明の実施形態がこの仮定のデバイスに限定されないことが容易に理解されよう。逆に、本発明の実施形態は、記憶域からのデータの読み取りがリフレッシュを提供する特性を有する任意のダイナミックメモリデバイスに適用可能である。たとえば、一実施形態において、メモリデバイス350は、必要なリフレッシュ間隔が64ミリ秒で4バンクに8192行を有するDDR SDRAM(倍速シンクロナスDRAM)メモリデバイスである。
図5は、本発明の一実施形態のデジタルデータを格納するシステム500を示すブロック図である。システム500は、1つまたは複数のメモリデバイス510、メモリデバイス510に結合されたメモリ管理モジュール520を備える。メモリデバイス510は、DRAM、SDRAM、DDR SDRAM、またはメモリデバイスの記憶域から読み取ることがその記憶域のリフレッシュを実行するという特性を有する同様のメモリデバイスなど、1つまたは複数のメモリデバイスを備えるが、これらに限定されることはない。一実施形態において、メモリ管理モジュール520は、エラースクラブアクセスをメモリリフレッシュと組み合わせるメモリデバイス510上のリフレッシュ−エラースクラビング機能を実行する。一実施形態において、リフレッシュ−エラースクラビング機能は、図1、図2、図3A〜3C、および図4に関して説明されているようなアルゴリズムを実行する。一実施形態において、エラースクラブアクセスは、エラーを識別するために記憶域の内容を読み取るメモリ管理モジュール520を備える。記憶域に収容されたデータを読み取ることによって、その記憶域はリフレッシュされる。エラーが検出された場合、メモリ管理モジュール520は、正しい値を取り出して、記憶域に正しい値を書き戻す。
一実施形態において、メモリ管理モジュール520は、リフレッシュ−スクラブアクセス時間間隔によって必要とされる時間内にすべての記憶域でエラースクラブアクセスが確実に実行されるようにするため、周期的にエラースクラブアクセスを実行する。リフレッシュ−スクラブアクセス時間間隔は、メモリデバイス510のリフレッシュ速度要件および反転修正のためのエラースクラビング速度要件が共に確実に満たされるように、メモリデバイス510内のすべての記憶域が読み取られる必要がある時間間隔である。
いくつかの手段が、方法およびアルゴリズムを実施するために使用することができ、前述のようなメモリ管理モジュールを実現する。これらの手段は、デジタルコンピュータシステム、プログラマブルコントローラ、またはフィールドプログラマブルゲートアレイなどのコントローラを含むが、これらに限定されることはない。したがって、本発明の他の実施形態は、そのようなコントローラによって実施されればコントローラが本発明の実施形態を実施できるようにするコンピュータ可読媒体上に常駐するプログラム命令である。コンピュータ可読媒体は、パンチカード、磁気ディスクまたはテープ、任意の光データ記憶システム、フラッシュ読み出し専用メモリ(ROM)、不揮発性ROM、プログラマブルROM(PROM)、消去可能プログラマブルROM(E−PROM)、ランダムアクセスメモリ(RAM)、または他の形態の永続、半永続、または一次記憶装置システムまたはデバイスを含む任意の形態のコンピュータメモリを含むが、これらに限定されることはない。プログラム命令は、コンピュータシステムプロセッサによって実行されるコンピュータ実行可能命令、およびVery High Speed Integrated Circuit(VHSIC) Hardware Description Language(VHDL)などのハードウェア記述言語を含むが、これらに限定されることはない。
特定の実施形態が本明細書に示され説明されてきたが、同一の目的を達成するために予想される任意の構成が、示されている特定の実施形態に代用されうることが当業者には理解されるであろう。本出願は、本発明の任意の適合または変種を網羅することが意図されている。したがって、本発明が特許請求の範囲およびその等価物によってのみ限定されることが明白に意図される。
110 リフレッシュ−スクラブアクセス時間間隔を選択
120 リフレッシュ−スクラビング機能を実行
122 エラーがないか記憶域の内容を読み取る
123 エラーが検出されたか
124 正しいデータを取得
126 正しいデータを記憶域に書き込む
128 すべての記憶域がエラースクラビングされたか
130 時間間隔Tの間一時停止
120 リフレッシュ−スクラビング機能を実行
122 エラーがないか記憶域の内容を読み取る
123 エラーが検出されたか
124 正しいデータを取得
126 正しいデータを記憶域に書き込む
128 すべての記憶域がエラースクラビングされたか
130 時間間隔Tの間一時停止
Claims (10)
- メモリデバイス(350、510)のリフレッシュ−エラースクラビング機能を実施する方法(100)であって、
リフレッシュ−スクラブアクセス時間間隔を、前記メモリデバイス(350、510)のリフレッシュ速度要件および反転修正のためのエラースクラビング速度要件が共に満たされるように選択するステップ(110)と、
メモリデバイスの複数の記憶域に収容されたデータを順次読み取るステップ(122)と、
前記複数の記憶域に格納されたデータのエラーをチェックするステップ(123)と、
エラーが検出された場合記憶域データを修正するステップ(124)とを備え、
前記複数の記憶域内のすべての記憶域は、前記リフレッシュ−スクラブアクセス時間間隔を超えない周期で繰り返し読み取られる方法。 - 前記メモリデバイス(350、510)はそれぞれ複数の要素(382)を有する複数の行(380)をさらに備え、各要素(382)は前記メモリデバイス(350、510)の記憶域を備え、データを順次読み取るステップはさらに、
前記メモリデバイス(350、510)の行リフレッシュ時間間隔よりも短い時間間隔内に前記複数の各行(380)のn番目の要素(382)に含まれるデータを読み取るステップを備える請求項1に記載の方法。 - データを順次読み取るステップはさらに、要素のエラースクラビング間隔よりも短い時間間隔内に前記複数の各行(380)のすべての要素(382)に含まれるデータを読み取るステップを備える請求項2に記載の方法。
- 前記メモリデバイス(350、510)はそれぞれ複数の要素(382)を有する複数の行(380)をさらに備え、各要素(382)は前記メモリデバイス(350、510)の記憶域を備え、前記メモリデバイス(350、510)はn個の要素のバーストアクセス用に最適化され、データを順次読み取るステップはさらに、
前記メモリデバイス(350、510)の行リフレッシュ時間間隔よりも短い時間間隔内に前記複数の各行(380)からn個の要素(382)までのバーストに含まれるデータを読み取るステップを備える請求項1に記載の方法。 - データを順次読み取るステップはさらに、要素のエラースクラビング間隔よりも短い時間間隔内に前記複数の各行(380)のすべての要素(382)に含まれるデータを読み取るステップを備える請求項4に記載の方法。
- ダイナミックメモリデバイスに格納されたデータの保全性を保持する方法(100)であって、
複数のメモリ素子を有するダイナミックメモリデバイス(350、510)のリフレッシュ−スクラブアクセス時間間隔を、前記ダイナミックメモリデバイス(350、510)のリフレッシュ速度要件およびエラースクラビング速度要件に基づいて決定するステップと、
前記ダイナミックメモリデバイス(350、510)の各メモリ素子に前記リフレッシュ−スクラブアクセス時間間隔を超えない周期でエラースクラビング機能を実行するステップとを備える方法。 - データを格納するシステムであって、
1つまたは複数のダイナミックメモリデバイス(350、510)と、
前記1つまたは複数のメモリデバイス(350、510)に結合されたメモリ管理モジュール(520)であって、前記1つまたは複数のメモリデバイス(350、510)内の記憶域がリフレッシュ−スクラブアクセス時間間隔に必要とされる時間内にエラースクラビングされるように、1つまたは複数のメモリデバイス(350、510)でリフレッシュ−スクラビング機能を周期的に実行するように適合されたメモリ管理モジュール(520)とを備えるシステム。 - 前記メモリ管理モジュール(520)はさらに、前記1つまたは複数のメモリデバイス(350、510)のすべての記憶域を通して周期的に繰り返し、前記各記憶域の内容を読み取り、エラーを識別するように適合される請求項7に記載のシステム。
- データを格納するシステムであって、
データを格納する手段(350、510)であって、前記データを格納する手段(350、510)は複数のメモリ素子にデータ値を格納する手段と、
前記複数の記憶域に格納された前記データ値を読み取る手段(520)と、
前記複数の記憶域に格納されたデータ値のエラーを識別する手段(520)と、
エラーが検出された場合データ値を修正する手段(520)とを備え、
前記読み取る手段は、前記複数のメモリ素子をそれぞれ、リフレッシュ−スクラブアクセス時間間隔を超えない周期で読み取るシステム。 - 前記リフレッシュ−スクラブアクセス時間間隔は、データを格納する前記手段のリフレッシュ速度の要件およびエラースクラビング速度の要件を満たすことに基づく請求項9に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/188,312 US20070022244A1 (en) | 2005-07-25 | 2005-07-25 | Methods and systems for refresh and error scrubbing of dynamic memory devices |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007035035A true JP2007035035A (ja) | 2007-02-08 |
Family
ID=37500041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006201734A Withdrawn JP2007035035A (ja) | 2005-07-25 | 2006-07-25 | ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070022244A1 (ja) |
EP (1) | EP1748362A3 (ja) |
JP (1) | JP2007035035A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009011052A1 (ja) * | 2007-07-18 | 2009-01-22 | Fujitsu Limited | メモリリフレッシュ装置およびメモリリフレッシュ方法 |
JP2012256414A (ja) * | 2011-06-09 | 2012-12-27 | Samsung Electronics Co Ltd | エラー訂正回路を具備したオンチップ・データ・スクラビング装置及び方法 |
JP2014502771A (ja) * | 2010-12-10 | 2014-02-03 | クアルコム,インコーポレイテッド | 低電力の自己訂正能力を有する埋込みdram |
US9583219B2 (en) | 2014-09-27 | 2017-02-28 | Qualcomm Incorporated | Method and apparatus for in-system repair of memory in burst refresh |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6851070B1 (en) * | 2001-08-13 | 2005-02-01 | Network Appliance, Inc. | System and method for managing time-limited long-running operations in a data storage system |
US7698591B2 (en) * | 2005-08-26 | 2010-04-13 | International Business Machines Corporation | Method and apparatus for ensuring data integrity in redundant mass storage systems |
US7975170B2 (en) * | 2007-06-15 | 2011-07-05 | Qimonda Ag | Memory refresh system and method |
US7873883B2 (en) * | 2007-12-19 | 2011-01-18 | International Business Machines Corporation | Method for scrubbing storage in a computer memory |
US7661045B2 (en) * | 2007-12-19 | 2010-02-09 | International Business Machines Corporation | Method and system for enterprise memory management of memory modules |
US7971093B1 (en) * | 2008-01-16 | 2011-06-28 | Network Appliance, Inc. | Apparatus and method to proactively address hard disk drive inefficiency and failure |
RU2477880C1 (ru) * | 2011-12-08 | 2013-03-20 | Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) | Способ регенерации и защиты от сбоев динамической памяти и устройство для его осуществления |
JP5978860B2 (ja) * | 2012-08-31 | 2016-08-24 | 富士通株式会社 | 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム |
US9318182B2 (en) * | 2013-01-30 | 2016-04-19 | Intel Corporation | Apparatus, method and system to determine memory access command timing based on error detection |
US9747166B2 (en) * | 2013-10-10 | 2017-08-29 | Adobe Systems Incorporated | Self healing cluster of a content management system |
US10628248B2 (en) | 2016-03-15 | 2020-04-21 | International Business Machines Corporation | Autonomous dram scrub and error counting |
US10429536B2 (en) * | 2016-04-04 | 2019-10-01 | Baker Hughes, A Ge Company, Llc | T2 inversions with reduced motion artifacts |
DE102017004349A1 (de) * | 2017-05-08 | 2018-11-08 | Tdk-Micronas Gmbh | Magnetfeldkompensationseinrichtung |
KR102658230B1 (ko) | 2018-06-01 | 2024-04-17 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
US11119850B2 (en) * | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform error checking of a storage unit by using a machine learning module |
US11119662B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform a data integrity check of copies of a data set using a machine learning module |
US11099743B2 (en) | 2018-06-29 | 2021-08-24 | International Business Machines Corporation | Determining when to replace a storage device using a machine learning module |
KR20210088917A (ko) | 2020-01-07 | 2021-07-15 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
US11322218B2 (en) * | 2020-06-08 | 2022-05-03 | Micron Technology, Inc. | Error control for memory device |
KR20220021097A (ko) | 2020-08-13 | 2022-02-22 | 삼성전자주식회사 | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
KR20220090794A (ko) | 2020-12-23 | 2022-06-30 | 삼성전자주식회사 | 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 메모리 시스템 및 그것의 동작 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4888773A (en) * | 1988-06-15 | 1989-12-19 | International Business Machines Corporation | Smart memory card architecture and interface |
DE69230134T2 (de) * | 1991-08-16 | 2000-06-29 | Cypress Semiconductor Corp | Dynamisches hochleistungsspeichersystem |
US5495491A (en) * | 1993-03-05 | 1996-02-27 | Motorola, Inc. | System using a memory controller controlling an error correction means to detect and correct memory errors when and over a time interval indicated by registers in the memory controller |
US6687247B1 (en) * | 1999-10-27 | 2004-02-03 | Cisco Technology, Inc. | Architecture for high speed class of service enabled linecard |
US6838331B2 (en) * | 2002-04-09 | 2005-01-04 | Micron Technology, Inc. | Method and system for dynamically operating memory in a power-saving error correction mode |
US7320100B2 (en) * | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
-
2005
- 2005-07-25 US US11/188,312 patent/US20070022244A1/en not_active Abandoned
-
2006
- 2006-07-24 EP EP06117717A patent/EP1748362A3/en not_active Withdrawn
- 2006-07-25 JP JP2006201734A patent/JP2007035035A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009011052A1 (ja) * | 2007-07-18 | 2009-01-22 | Fujitsu Limited | メモリリフレッシュ装置およびメモリリフレッシュ方法 |
KR101043013B1 (ko) | 2007-07-18 | 2011-06-21 | 후지쯔 가부시끼가이샤 | 메모리 리프레시 장치 및 메모리 리프레시 방법 |
JP5012898B2 (ja) * | 2007-07-18 | 2012-08-29 | 富士通株式会社 | メモリリフレッシュ装置およびメモリリフレッシュ方法 |
US8549366B2 (en) | 2007-07-18 | 2013-10-01 | Fujitsu Limited | Memory refreshing circuit and method for memory refresh |
JP2014502771A (ja) * | 2010-12-10 | 2014-02-03 | クアルコム,インコーポレイテッド | 低電力の自己訂正能力を有する埋込みdram |
KR20150126726A (ko) * | 2010-12-10 | 2015-11-12 | 퀄컴 인코포레이티드 | 낮은 전력 자체-정정 능력을 갖는 임베딩된 dram |
KR101688180B1 (ko) | 2010-12-10 | 2016-12-20 | 퀄컴 인코포레이티드 | 낮은 전력 자체-정정 능력을 갖는 임베딩된 dram |
JP2012256414A (ja) * | 2011-06-09 | 2012-12-27 | Samsung Electronics Co Ltd | エラー訂正回路を具備したオンチップ・データ・スクラビング装置及び方法 |
US9583219B2 (en) | 2014-09-27 | 2017-02-28 | Qualcomm Incorporated | Method and apparatus for in-system repair of memory in burst refresh |
Also Published As
Publication number | Publication date |
---|---|
US20070022244A1 (en) | 2007-01-25 |
EP1748362A2 (en) | 2007-01-31 |
EP1748362A3 (en) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007035035A (ja) | ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステム | |
US20220165347A1 (en) | Apparatuses and methods for tracking word line accesses | |
US10685696B2 (en) | Apparatuses and methods for access based refresh timing | |
US8606991B2 (en) | Method and system for refreshing dynamic random access memory | |
KR20220000958A (ko) | 스틸 속도를 제어하기 위한 장치 및 방법 | |
WO2019027544A1 (en) | PARTIAL REFRESH TECHNOLOGY TO SAVE THE MEMORY REFRESHMENT POWER | |
KR101049312B1 (ko) | 휘발성 메모리 성능에 대한 리프레쉬 동작들의 영향을 최소화하기 위한 방법 및 시스템 | |
US20160180917A1 (en) | Techniques to Reduce Memory Cell Refreshes for a Memory Device | |
EP2075706A1 (en) | Memory device and refresh adjusting method | |
KR102398209B1 (ko) | 반도체 메모리 장치, 메모리 시스템 그리고 그것의 리프레쉬 방법 | |
JP2007287314A (ja) | 半導体メモリ素子及びその駆動方法 | |
US11417384B2 (en) | Apparatuses and methods for control of refresh operations | |
US8489807B2 (en) | Techniques for performing refresh operations in high-density memories | |
US8244972B2 (en) | Optimizing EDRAM refresh rates in a high performance cache architecture | |
US11195568B1 (en) | Methods and systems for controlling refresh operations of a memory device | |
TWI524344B (zh) | 記憶體存取速率相關技術 | |
KR20170130402A (ko) | 저장 엘리먼트들을 리프레시하는 시스템들 및 방법들 | |
US20230047007A1 (en) | Apparatuses and methods for countering memory attacks | |
US20160103726A1 (en) | Memory error determination | |
CN113921055B (zh) | 确定dram自刷新次数的方法及装置 | |
JP7219397B2 (ja) | 情報処理装置、記憶制御装置および記憶制御プログラム | |
US7085882B2 (en) | SRAM-compatible memory and method of driving the same | |
JPH03134900A (ja) | 記憶装置 | |
WO2016126264A1 (en) | Refreshing an identified partial array | |
US20090043954A1 (en) | Information Recording/Playback Apparatus and Memory Control Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091006 |