JP2016520937A - 組み込みeccアドレスマッピング - Google Patents

組み込みeccアドレスマッピング Download PDF

Info

Publication number
JP2016520937A
JP2016520937A JP2016517087A JP2016517087A JP2016520937A JP 2016520937 A JP2016520937 A JP 2016520937A JP 2016517087 A JP2016517087 A JP 2016517087A JP 2016517087 A JP2016517087 A JP 2016517087A JP 2016520937 A JP2016520937 A JP 2016520937A
Authority
JP
Japan
Prior art keywords
memory
data
error correction
correction code
code information
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
JP2016517087A
Other languages
English (en)
Other versions
JP6231194B2 (ja
Inventor
ディー. フォクト、ピート
ディー. フォクト、ピート
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2016520937A publication Critical patent/JP2016520937A/ja
Application granted granted Critical
Publication of JP6231194B2 publication Critical patent/JP6231194B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F11/1052Bypassing or disabling error detection or correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

メモリページにECCデータをキャッシュラインデータと一緒に組み込む装置、複数のシステム、及び複数の方法が説明される。一実施形態において、電子デバイスは、プロセッサ及びメモリ制御ロジックを備える。メモリ制御ロジックは、メモリデバイスにおける複数のキャッシュラインを含むメモリページにマッピングされるデータの読み取りまたは書き込み要求を受信し、データと共にエラー訂正コード情報を組み込むように複数のキャッシュラインの少なくとも一部を移動し、複数のキャッシュラインの一部を別のメモリ位置にリマッピングし、データ及びエラー訂正コード情報をメモリページから取得しまたはその上に格納する。複数の他の実施形態もまた開示され、特許請求される。

Description

本開示は、概してエレクトロニクス分野に関する。より具体的には、本発明のいくつかの実施形態は概して、組み込みエラー訂正コード(ECC)アドレスマッピングに関する。
様々な電子デバイスは、メモリ技術を取り込み得る。例えば、複数のスマートフォン及び複数のタブレットのような、いくつかの電子デバイスには大容量なメモリの使用が駆り立てられている。しかし、これらは、メモリに対して複数のエラー訂正コード(ECC)ビットを追加するオーバヘッドが容認されないコストに敏感な複数の用途である。複数の大容量デバイスは、複数の電子デバイスの複数の他のマーケットに、例えば、サーバプロダクトスペースには有用であり得る。しかし、このような複数のマーケットは、複数のメモリデバイスからの一貫して高信頼性を要求し、これは複数のメモリデバイスにおける複数のECC機能を必要とする。
従って、複数の大容量メモリデバイスにECCを実装する複数の技術の有用性は期待され得る。
詳細な説明は添付の複数の図を参照して提供される。複数の図において、参照番号の最左端の数字は、その参照番号が最初に現れる図を特定する。複数の異なる図において複数の同一の参照番号が用いられる場合は、複数の同様のまたは同一のアイテムを示す。
本明細書において説明される様々な実施形態に係る組み込みECCアドレスマッピングを実装する装置の複数のコンポーネントの概略ブロック図である。 本明細書において説明される様々な実施形態に係る組み込みECCアドレスマッピングを実装するのに適合され得る典型的なメモリの概略ブロック図である。 本明細書において説明される様々な実施形態に係るメモリページの模式図である。 本明細書において説明される様々な実施形態に係るメモリマッピングスキームの模式図である。 本明細書において説明される様々な実施形態に係る組み込みECCアドレスマッピングを実装する方法における複数の動作を示すフローチャートである。 本明細書において説明される様々な実施形態に係る組み込みECCアドレスマッピングを実装する方法における複数の動作を示すフローチャートである。 本明細書において説明される様々な実施形態に係る組み込みECCアドレスマッピング用のメモリマッピングスキームの模式図である。 本明細書において説明される様々な実施形態に係る組み込みECCメモリ管理を実装するのに適合され得る複数の電子デバイスの概略ブロック図である。 本明細書において説明される様々な実施形態に係る組み込みECCメモリ管理を実装するのに適合され得る複数の電子デバイスの概略ブロック図である。 本明細書において説明される様々な実施形態に係る組み込みECCメモリ管理を実装するのに適合され得る複数の電子デバイスの概略ブロック図である。 本明細書において説明される様々な実施形態に係る組み込みECCメモリ管理を実装するのに適合され得る複数の電子デバイスの概略ブロック図である。 本明細書において説明される様々な実施形態に係る組み込みECCメモリ管理を実装するのに適合され得る複数の電子デバイスの概略ブロック図である。
以下の説明において、様々な実施形態の完全な理解を提供すべく、多数の具体的な詳細が記載される。しかし、本発明の様々な実施形態は、複数の具体的な詳細がなくても実施され得る。複数の他の例において、複数の周知の方法、複数の手順、複数のコンポーネント及び複数の回路は、本発明の複数の特定の実施形態を曖昧にしないように、詳細に説明されてはいない。さらに、本発明の複数の実施形態の様々な態様は、複数の集積半導体回路(「ハードウェア」)、1つまたは複数のプログラムにまとめられる複数のコンピュータ可読命令(「ソフトウェア」)、またはハードウェア及びソフトウェアのいくつかの組み合わせのような、様々な手段を用いて実行され得る。本開示の複数の目的のため、「ロジック」という記載は、ハードウェア、ソフトウェア、またはそれらのいくつかの組み合わせの何れかを意味するものとする。
本明細書において、複数のECCビットを、専用ECC容量を含まないメモリデバイス(例えば、ダイナミックランダムアクセスメモリ(DRAM)デバイス)の一部内にマッピングする複数の技術が説明される。様々な実施形態において、任意の提示されたキャッシュライン用の複数のECCビットは、当該キャッシュラインと同一のDRAMページ(または行)に配置されてよい。これは、キャッシュラインデータ及びECCデータの両方のアクセスに用いられる共通DRAMアクティブ化コマンドを可能にし、これにより、電力を節約し、レイテンシを減少する。ページにおけるECCデータの構成は、最初のキャッシュライン用に読み取られる複数のECCデータビットの同一のブロックを共有し得る複数のページヒットレートを増加させるように構成されてよい。さらに、複数のECCデータビット用空間を生成するように移動される複数のキャッシュラインは、移動されたキャッシュラインを保護するのに必要な複数のECCデータビットと一緒に代替的DRAMページに再配置される。
いくつかの実施形態において、複数のキャッシュラインの複数のブロックは、メモリコントローラと共に用いられる場合、待機電力の低減を可能にするように、DRAM物理スペース内にマッピングされ得る。複数の低電力モードをサポートするのに必要なデータがDRAMのほんの一部内に割り当てられることが可能であれば、そうして、残りのDRAMを、複数のパーシャルアレイセルフリフレッシュ(PASR)技術を用いて電源遮断のような状態に置くことが可能である。
本明細書において説明される複数の技術は、デュアルインラインメモリモジュール(DIMM)に一般的に組み込まれる複数のDRAMチップを含むメモリシステムを有してよい様々な電子デバイス(例えば、複数のサーバ、複数のデスクトップ、複数のノートブック、複数のスマートフォン、複数のタブレット、複数のポータブルゲームコンソールなど)に提供され得る。いくつかの実施形態において、ロジックは、電子デバイスに集積されるメモリコントローラに実装され得る。代替的に、ロジックは、DIMMにおける複数のDRAMに対する複数の動作を制御するDIMMレベルで実装されてよい。
図1は、本明細書において説明される様々な実施形態に係る組み込みECCアドレスマッピングを実装するのに適合され得る電子デバイスの複数のコンポーネントの概略ブロック図である。図1を参照すれば、いくつかの実施形態において、中央処理装置(CPU)パッケージ100は、制御ハブ120に連結される1つまたは複数のCPU110を備えてよい。制御ハブ120は、メモリコントローラ122及びメモリインタフェース124を有してよい。メモリコントローラ122は、バス120を通じてローカルメモリ130に連結される。
メモリインタフェース124は、通信バス160によって1つまたは複数の遠隔メモリデバイス140に連結される。メモリデバイス140は、コントローラ142及び1つまたは複数のメモリバンク150を有してよい。様々な実施形態において、複数のメモリバンク150は、コントローラ142に通信リンクを提供するメモリチャネル144に連結される1つまたは複数のデュアルインラインメモリモジュール(DIMM)を用いて実装され得る。メモリデバイス140におけるメモリバンク150の具体的構成は、重要ではない。
様々な実施形態において、メモリデバイス140は、メモリシステムとして、1つまたは複数のDRAMメモリモジュールを用いて実装され得る。図2Aは、本明細書において説明される様々な実施形態に係るECCメモリ管理を実装するのに適合され得る典型的なメモリデバイス140の概略ブロック図である。図2Aを参照すれば、いくつかの実施形態において、メモリデバイス140は、メモリコントローラ142に通信リンクを提供するメモリチャネル270に連結される1つまたは複数のデュアルインラインメモリモジュールDIMM250を有してよい。図2Aに示される実施形態において、各DIMMは、第1ランク255及び第2ランク260を含み、それらの各々は、複数のDRAMモジュール265を含む。当業者は、メモリデバイス140はより多くの、またはより少ないDIMM250を含んでよく、DIMMごとにより多くの、またはより少ないランクを含んでよいことを認識するであろう。さらに、いくつかの電子デバイス(例えば、複数のスマートフォン、複数のタブレットコンピュータなど)は、1つまたは複数のDRAMを含む複数のより簡易なメモリシステムを備えてよい。
図2Bは、DRAM265に格納されてよいメモリのページの模式図である。いくつかの実施形態において、メモリの2048Bの各ページは30のキャッシュラインのデータを保持し、それらの各々はキャッシュラインごとに64バイト及び4BのECCデータである。つまり、2048Bのうちの1920Bはデータ用に用いられ、残りはECCデータ及びメタデータに割り当てられる。いくつかの実施形態において、図2Bに示されるように、ECCデータはページの最後に格納される。
いくつかの実施形態において、64Bのキャッシュライン及び32BのECCデータは、同一のデータチャネルを渡って伝送され得る。BL8のバースト長さは、キャッシュラインを読み取るのに用いられてよく、一方で、BL4は、ECCデータを読み取るのに用いられてよい。
上述に説明されたように、いくつかの実施形態において、メモリコントローラ122またはメモリデバイス140におけるコントローラ142のうちの少なくとも1つは、複数の組み込みECCアドレスマッピング動作を実装するロジックを有する。メモリコントローラ122及び/またはコントローラ142に実装される複数のECCアドレスマッピング動作は、図3から5を参照して説明される。図3は、メモリコントローラ122またはメモリデバイス140におけるコントローラ142のうちの少なくとも1つによって実装され得る、組み込みECCアドレスマッピングを実装する複数のキャッシュライン書き込み動作を示している。キャッシュライン読み取り、ECC書き込み及びECC読み取りのような複数の他の動作は、同様の複数のフローを含む。図3を参照すれば、動作310では、メモリコントローラ122またはコントローラ142は、キャッシュラインデータをローカルメモリ130またはメモリデバイス140のページに書き込む要求を受信する。
動作320では、複数の移動されたキャッシュラインは、代替的メモリ位置にリマッピングされる。図2Cを参照すれば、いくつかの実施形態において、メモリデバイスは、複数のパーシャルアレイ280内にパーティション化され、複数の移動されたキャッシュラインは、書き込み動作が渡されたパーシャルアレイのトップにリマッピングされる。動作325では、キャッシュラインデータは、メモリのページに格納される。
図2Cに示されるように、得られるメモリは、各パーシャルアレイが当該パーシャルアレイのデータを保護するのに必要なデータ及び全てのECC情報の両方を含むように構造化される。つまり、各パーシャルアレイは、パーシャルアレイセルフリフレッシュ(PASR)ロジックを用いて独立して低電力状態に置かれてよく、これにより、メモリデバイス140による電力消費を減少する。
複数のメモリマッピング動作の複数のさらなる態様は、図4から5を参照して説明される。図4から5を参照すれば、メモリアクセス要求が到着する場合、ホストシステムは、選択されたページ及びインタリーブポリシーに基づいたDRAM線形バンクアドレスマップにマッピングされる。
動作415では、列アドレスの最上位ビットが全て1ではない場合、そうして、標準アドレスマッピングは適用され、制御は動作420に渡される。動作420では、要求がキャッシュラインアクセス用の場合、そうして、制御は動作425に渡され、標準キャッシュラインマッピングは適用される。これに対し、動作420では、メモリ要求がECCアクセス用の場合、そうして、制御は動作430に渡され、標準ECCアドレッシングは生成される。
戻して動作415を参照すれば、線形バンクアドレスの最上位ビットが全て1である場合、そうして、代替的マッピングは適用され、制御は動作440に渡される。動作440では、メモリ要求がキャッシュラインアクセス用の場合、そうして、制御は動作445に渡され、代替的キャッシュラインマッピングは適用される。これに対し、動作440で、メモリ要求がECCアクセス用の場合、制御は動作450に渡され、代替的ECCアドレッシングは生成される。
図5は、2048Bのページサイズ及び8つのパーティションを有するメモリデバイスに関する具体的実施形態を示す。この例において、上位4列アドレスビットは、キャッシュラインまたはECCアクセスが標準または代替的マッピングを用いるか否かを決定するように用いられる。この図示はまた、複数のキャッシュラインアクセス及び複数のECCアクセス用の標準及び代替的マッピングを示している。この図示は、ECCに関連付けられたキャッシュラインの8つのブロックのうちの1つを8つのDRAMパーティションのうちの1つに配置するように標準及び代替的にマッピングされた複数のアドレスが如何に操作されるか、をさらに示している。この例において、行アドレスの上位3ビットは、パーティションを選択するようにDRAMによって用いられる。
上述に説明されたように、いくつかの実施形態において、電子デバイスは、コンピュータシステムとして、具現化されてよい。図6は、本発明の実施形態に係るコンピューティングシステム600のブロック図を示す。コンピューティングシステム600は、1つまたは複数の中央処理装置(CPU)602または相互接続ネットワーク(またはバス)604を介して通信を行う複数のプロセッサを含んでよい。複数のプロセッサ602は、汎用プロセッサ、(コンピュータネットワーク603と通信を行われたデータを処理する)ネットワークプロセッサ、または(縮小命令セットコンピュータ(RISC)プロセッサもしくは複合命令セットコンピュータ(CISC)プロセッサを含む)複数の他の種類のプロセッサを含んでよい。さらに、複数のプロセッサ602は、単一または複数コア設計を有してよい。複数コア設計を有する複数のプロセッサ602は、複数の異なる種類のプロセッサコアを同一の集積回路(IC)ダイ上に集積し得る。また、複数コア設計を有する複数のプロセッサ602は、複数の対称または非対称マルチプロセッサとして、実装されてよい。実施形態において、1つまたは複数のプロセッサ602は、図1の複数のプロセッサ102と同一または同様のものであってよい。例えば、1つまたは複数のプロセッサ602は、図1から3を参照して説明された制御ユニット120を含んでよい。また、図3から5を参照して説明された複数の動作は、システム600の1つまたは複数のコンポーネントによって実行されてよい。
チップセット606はまた、相互接続ネットワーク604と通信を行い得る。チップセット606は、メモリ制御ハブ(MCH)608を含んでよい。MCH608は、(図1のメモリ130と同一または同様のものであってよい)メモリ612と通信を行うメモリコントローラ610を含んでよい。メモリ412は、複数の命令の複数のシーケンスを含むデータを格納してもよく、これは、CPU602またはコンピューティングシステム600に含まれる任意の他のデバイスによって実行され得る。本発明の一実施形態において、メモリ612は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、または複数の他の種類のストレージデバイスのような、1つまたは複数の揮発性ストレージ(またはメモリ)デバイスを含んでよい。不揮発性メモリはまた、ハードディスクのように利用可能である。複数の追加のデバイスは、複数のCPU及び/または複数のシステムメモリのように、相互接続ネットワーク604を介して通信を行ってよい。
MCH608はまた、ディスプレイデバイス616と通信を行うグラフィックスインタフェース614を含んでよい。本発明の一実施形態において、グラフィックスインタフェース614は、アクセラレーテッドグラフィクスポート(AGP)を介して、ディスプレイデバイス616と通信を行ってもよい。本発明の実施形態において、(フラットパネルディスプレイのような)ディスプレイ616は、例えば、ビデオメモリまたはシステムメモリのようなストレージデバイスに格納された画像のデジタル表現を、ディスプレイ616によって解読及び表示される複数の表示信号に変換する信号コンバータを通じて、グラフィックスインタフェース614と通信を行ってよい。ディスプレイデバイスによって生成される複数の表示信号は、ディスプレイ616によって解読され、次にその上に表示される前に、様々な制御デバイスを通して渡されてよい。
ハブインタフェース618は、MCH608と入力/出力制御ハブ(ICH)620とが通信を行うことを可能にし得る。ICH620は、コンピューティングシステム600と通信を行うI/Oデバイスにインタフェースを提供し得る。ICH620は、周辺機器相互接続(PCI)ブリッジ、ユニバーサルシリアルバス(USB)コントローラ、または複数の他の種類の周辺ブリッジもしくは複数のコントローラのような、周辺ブリッジ(またはコントローラ)624を通じて、バス622と通信を行ってよい。ブリッジ624は、CPU602と複数の周辺デバイスとの間にデータパスを提供してよい。複数の他の種類のトポロジは利用可能である。また、複数のバスは、例えば、複数のブリッジまたは複数のコントローラを通じて、ICH620と通信を行ってよい。さらに、本発明の様々な実施形態において、ICH620と通信を行う複数の他の周辺機器は、統合ドライブエレクトロニクス(IDE)またはスモールコンピュータシステムインタフェース(SCSI)ハードドライブ、USBポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー(登録商標)ディスクドライブ、デジタル出力サポート(例えば、デジタルビデオインタフェース(DVI))、または複数の他のデバイスを含んでよい。
バス622は、オーディオデバイス626、1つまたは複数のディスクドライブ628、及び(コンピュータネットワーク603と通信を行う)ネットワークインタフェースデバイス630と通信を行ってよい。複数の他のデバイスは、バス622を介して通信を行ってよい。また、(ネットワークインタフェースデバイス630のような)様々なコンポーネントは、本発明のいくつかの実施形態においてMCH608と通信を行い得る。さらに、プロセッサ602及び本明細書において説明されている1つまたは複数の他のコンポーネントは、単一のチップを形成する(例えば、システムオンチップ(SoC)を提供する)ように組み合わせられてよい。さらに、グラフィックスアクセラレータ616は、本発明の複数の他の実施形態において、MCH608内に含まれてよい。
さらに、コンピューティングシステム600は、揮発性及び/または不揮発性メモリ(またはストレージ)を含んでよい。例えば、不揮発性メモリは、以下のリードオンリメモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的EPROM(EEPROM)、ディスクドライブ(例えば、628)、フロッピー(登録商標)ディスク、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)、フラッシュメモリ、光磁気ディスク、または電子データ(例えば、複数の命令を含む)を格納可能な複数の他の種類の不揮発性機械可読メディアのうちの1つまたは複数を含んでよい。
図7は、本発明の実施形態に係るコンピューティングシステム700のブロック図を示す。システム700は、1つまたは複数のプロセッサ702―1から702―N(本明細書において概して「複数のプロセッサ702」または「プロセッサ702」と称される)を含んでよい。複数のプロセッサ702は、相互接続ネットワークまたはバス704を介し通信を行ってよい。各プロセッサは、様々なコンポーネントを含んでよく、それらのいくつかは、明確にすべく、プロセッサ702―1のみを参照して説明される。従って、残りのプロセッサ702―2から702―Nの各々は、プロセッサ702−1を参照して説明される同一または同様の複数のコンポーネントを含んでもよい。
実施形態において、プロセッサ702―1は、プロセッサコア706―1から706―M(本明細書において「複数のコア706」またはより概して「コア706」と称される)のうちの1つまたは複数、共有キャッシュ708、ルータ710、及び/またはプロセッサ制御ロジックもしくはユニット720を含んでよい。プロセッサコア706は、単一の集積回路(IC)チップ上に実装されてよい。さらに、チップは、1つまたは複数の共有及び/または専用のキャッシュ(例えばキャッシュ708)、複数のバスまたは複数の相互接続(例えばバスまたは相互接続ネットワーク712)、複数のメモリコントローラ、もしくは複数の他のコンポーネントを含んでよい。
一実施形態において、ルータ710は、プロセッサ702―1の様々なコンポーネント及び/またはシステム700の間で通信を行うように用いられてよい。さらに、プロセッサ702―1は、1つより多くのルータ710を含んでよい。さらに、多数のルータ710は、プロセッサ702―1の内部または外部の様々なコンポーネントの間におけるデータルーティングを可能にするように通信を行ってよい。
共有キャッシュ708は、複数のコア706のような、プロセッサ702―1の1つまたは複数のコンポーネントによって利用可能なデータ(例えば、複数の命令を含む)を格納してよい。例えば、共有キャッシュ708は、プロセッサ702の複数のコンポーネントによるアクセスをより高速にすべく、メモリ714に格納されたデータをローカルにキャッシュし得る。実施形態において、キャッシュ708は、中レベルキャッシュ(例えば、レベル2(L2)、レベル3(L3)、レベル4(L4)または他の複数のレベルのキャッシュ)、ラストレベルキャッシュ(LLC)、及び/またはそれらの複数の組み合わせを含んでよい。さらに、プロセッサ702―1の様々なコンポーネントは、バス(例えば、バス712)及び/またはメモリコントローラもしくはハブを通じて、直接に共有キャッシュ708と通信を行ってよい。図7に示されるように、いくつかの実施形態において、1つまたは複数のコア706は、レベル1(L1)キャッシュ716―1(本明細書において概して「L1キャッシュ716」と称される)を含んでよい。一実施形態において、制御ユニット720は、図1のメモリコントローラ122を参照して上述に説明された複数の動作を実装するロジックを含んでよい。
図8は、本発明の実施形態に係るプロセッサコア706の複数の一部及びコンピューティングシステムの複数の他のコンポーネントのブロック図を示す。一実施形態において、図8に示される複数の矢印は、コア706を通じた複数の命令のフローの方向を示す。1つまたは複数のプロセッサコア(例えばプロセッサコア706)は、図7を参照して説明されたもののような単一の集積回路チップ(またはダイ)上に実装されてよい。さらに、チップは、1つまたは複数の共有及び/または専用キャッシュ(例えば、図7のキャッシュ708)、複数の相互接続(例えば、図7の相互接続704及び/または712)、複数の制御ユニット、複数のメモリコントローラ、または複数の他のコンポーネントを含んでよい。
図8に示されるように、プロセッサコア706は、コア706による実行をすべく、(複数の条件付き分岐を有する複数の命令を含む)複数の命令をフェッチするフェッチユニット802を含んでよい。複数の命令は、メモリ714のような複数の任意のストレージデバイスからフェッチされてよい。コア706もまた、フェッチされた命令をデコードするデコードユニット804を含んでよい。例えば、デコードユニット804は、フェッチされた命令を複数のuop(複数のマイクロオーぺレーション)内にデコードしてよい。
さらに、コア706は、スケジューリングユニット806を含んでよい。スケジューリングユニット806は、複数の命令がディスパッチ可能となるまで、例えば、デコードされた命令の全てのソース値が適用可能となるまで、複数のデコードされた命令(例えば、デコードユニット804から受信されたもの)の格納に関連付けられた様々な動作を実行してもよい。一実施形態において、スケジューリングユニット806は、複数のデコードされた命令をスケジューリングし、及び/またはこれらを実行すべく、実行ユニット808に発し(またはディスパッチし)てよい。実行ユニット808は、複数のディスパッチされた命令が(例えば、デコードユニット804によって)デコードされ、(例えば、スケジューリングユニット806によって)ディスパッチされた後に、これらを実行してよい。実施形態において、実行ユニット808は、1つより多くの実行ユニットを含んでよい。実行ユニット808はまた、加算、減算、乗算、及び/または除算のような様々な算術演算を実行してよく、1つまたは複数の算術論理演算装置(ALU)を含んでよい。実施形態において、コプロセッサ(図示せず)は、実行ユニット808と共に様々な算術演算を実行してよい。
さらに、実行ユニット808は、アウトオブオーダで複数の命令を実行してよい。よって、プロセッサコア706は、一実施形態において、アウトオブオーダプロセッサコアであってよい。コア706はまた、リタイアメントユニット810を含んでよい。リタイアメントユニット810は、複数の実行された命令がコミットされた後にこれらをリタイアしてよい。実施形態において、複数の実行された命令のリタイアは、プロセッサの状態が複数の命令の実行からコミットされること、複数の命令によって用いられる複数の物理レジスタが解放されることなどをもたらしてよい。
コア706はまた、1つまたは複数のバス(例えば、バス804及び/または812)を介して、プロセッサコア706の複数のコンポーネントと(図8を参照して説明された複数のコンポーネントのような)複数の他のコンポーネントとの間の通信を可能にするバスユニット714を含んでよい。コア706はまた、コア706の様々なコンポーネントによってアクセスされるデータ(例えば複数の電力消費状態セッティングに関連する複数の値)を格納する1つまたは複数のレジスタ816を含んでよい。
さらに、図7は、制御ユニット720が相互接続812を介してコア706に連結されるものとして示すが、様々な実施形態においては、制御ユニット720は、バス704などを介してコアに連結されるコア706の内部のような他の箇所に配置され得る。
いくつかの実施形態において、本明細書において説明されている1つまたは複数のコンポーネントは、システムオンチップ(SoC)デバイスとして具現化されてよい。図9は、実施形態に係るSoCパッケージのブロック図を示す。図9に示されるように、SoCパッケージ902は、1つまたは複数の中央処理装置(CPU)コア920、1つまたは複数のグラフィックスプロセッサユニット(GPU)コア930、入力/出力(I/O)インタフェース940、及びメモリコントローラ942を含む。SoCパッケージ902の様々なコンポーネントは、本明細書において複数の他の図を参照して説明されるような相互接続またはバスに連結されてよい。また、SoCパッケージ902は、本明細書において複数の他の図を参照して説明されるもののような、より多くのまたはより少ないコンポーネントを含んでよい。さらに、SoCパッケージ902の各コンポーネントは、例えば、本明細書において複数の他の図を参照して説明されるもののような1つまたは複数の他のコンポーネントを含んでよい。一実施形態において、SoCパッケージ902(及びその複数のコンポーネント)は、例えば、単一の半導体デバイス内にパッケージ化される1つまたは複数の集積回路(IC)ダイ上に提供される。
図9に示されるように、SoCパッケージ902は、メモリコントローラ942を介して、(本明細書において複数の他の図を参照して説明されているメモリと同様のまたは同一のものであってよい)メモリ960に連結される。実施形態において、メモリ960(またはその一部)は、SoCパッケージ902上に集積されてよい。
I/Oインタフェース940は、例えば、本明細書において複数の他の図を参照して説明されるような相互接続及び/またはバスを介して、1つまたは複数のI/Oデバイス970に連結される。I/Oデバイス970は、キーボード、マウス、タッチパッド、ディスプレイ、画像/ビデオキャプチャデバイス(例えば、カメラまたはカムコーダ/ビデオレコーダ)、タッチスクリーン、スピーカなどのうちの1つまたは複数を含んでよい。
図10は、本発明の実施形態に係るポイントツーポイント(PtP)構成に構成されるコンピューティングシステム1000を示す。特に、図10は、複数のプロセッサ、メモリ及び複数の入力/出力デバイスが、多数のポイントツーポイントインタフェースによって相互接続されるシステムを示す。図2Aから2Cを参照して説明された複数の動作は、システム1000の1つまたは複数のコンポーネントによって実行されてよい。
図10に示されるように、システム1000は、いくつかのプロセッサを含んでよく、明確にすべく、これらのうちのプロセッサ1002及び1004の2つのみが示される。プロセッサ1002及び1004は、それぞれ、メモリ1010及び1012との通信を可能にするローカルメモリコントローラハブ(MCH)1006及び1008を含んでよい。MCH1006及び1008は、いくつかの実施形態において図1のメモリコントローラ120及び/またはロジック125を含んでよい。
実施形態において、プロセッサ1002及び1004は、図7を参照して説明された複数のプロセッサ702のうちの1つであってよい。プロセッサ1002及び1004は、それぞれ、PtPインタフェース回路1016及び1018を用いて、ポイントツーポイント(PtP)インタフェース1014を介して、データを交換してよい。また、プロセッサ1002及び1004は、それぞれ、ポイントツーポイントインタフェース回路1026、1028、1030及び1032を用いて、個々のPtPインタフェース1022及び1024を介して、チップセット1020とデータを交換してよい。チップセット1020は、例えば、PtPインタフェース回路1037を用いて、高性能グラフィックスインタフェース1036を介して、高性能グラフィックス回路1034とさらにデータを交換してよい。
図10に示されるように、図1の1つまたは複数のコア106及び/またはキャッシュ108は、プロセッサ902及び904内に配置されてよい。しかし、本発明の複数の他の実施形態は、図9のシステム900内の複数の他の回路、複数の論理ユニット、または複数のデバイスに存在してもよい。さらに、本発明の複数の他の実施形態は、図9に示されているいくつかの回路、論理ユニット、またはデバイス全体に分散されてよい。
チップセット920は、PtPインタフェース回路941を用いてバス940と通信を行ってよい。バス940は、バスブリッジ942及び複数のI/Oデバイス943のような、当該バスと通信を行う1つまたは複数のデバイスを有してよい。バス944を介して、バスブリッジ943は、キーボード/マウス945、複数の通信デバイス946(例えば複数のモデム、複数のネットワークインタフェースデバイス、またはコンピュータネットワーク803と通信を行う複数の他の通信デバイス)、オーディオI/Oデバイス、及び/またはデータストレージデバイス948のような、複数の他のデバイスと通信を行ってよい。データストレージデバイス948(ハードディスクドライブまたはNANDフラッシュベースのソリッドステートドライブであってよい)は、プロセッサ902及び/または904によって実行可能なコード949を格納してもよい。
以下の複数の例は、複数のさらなる実施形態に関する。
例1は、プロセッサと、メモリ制御ロジックと、を備える電子デバイスである。メモリ制御ロジックは、メモリデバイスにおける複数のキャッシュラインを含むメモリページにマッピングされるデータにアクセスする要求を受信し、データと一緒にエラー訂正コード情報を組み込むように複数のキャッシュラインの少なくとも一部を移動し、複数のキャッシュラインのその一部を別のメモリ位置にリマッピングし、メモリページにおけるデータ及びエラー訂正コード情報にアクセスする。
例2において、例1の主題は、データバスを任意選択に含むことができ、データ及びエラー訂正コード情報が当該データバスに送信される。
例3において、例1から2の何れか1つの主題は、ロジックを任意選択に含んでよく、当該ロジックは、複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングする。
例4において、例1から3の何れか1つの主題は、メモリデバイスは複数のパーシャルアレイ内にパーティション化され、書き込み要求は選択されたパーシャルアレイに渡されるように構成されてよく、複数のキャッシュラインの一部を選択されたパーシャルアレイにおける所定の位置にリマッピングするロジックをさらに備えてよい。
例5において、例1から4の何れか1つの主題は、所定の位置が選択されたパーシャルアレイのトップセクションに対応するように構成されてよい。
例6において、例1から3の何れか1つの主題は、選択されたパーシャルアレイへの電力をカットするロジックを任意選択に含んでよい。
例7において、例1から6の何れか1つの主題は、メモリデバイスにおけるデータにアクセスする要求は書き込み要求であり、データ及びエラー訂正コード情報は同一のメモリページに格納されるように構成されてよい。
例8において、例1から6の何れか1つの主題は、メモリデバイスにおけるデータにアクセスする要求は読み取り要求であり、データ及びエラー訂正コード情報は同一のメモリページから取得されるように構成されてよい。
例9は、ロジックを有するメモリコントローラである。当該ロジックは、メモリデバイスにおける、複数のキャッシュラインを含むメモリページにマッピングされるデータにアクセスする要求を受信し、データと共にエラー訂正コード情報を組み込むように複数のキャッシュラインの少なくとも一部を移動し、複数のキャッシュラインの当該一部を別のメモリ位置にリマッピングし、メモリページにおけるデータ及びエラー訂正コード情報にアクセスする。
例10において、例9の主題は、データバスを任意選択に含んでよく、データ及びエラー訂正コード情報は当該データバス上に送信される。
例11において、例9から10の何れか1つの主題は、複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングするロジックを任意選択に含んでよい。
例12において、例9から11の何れか1つの主題は、メモリデバイスは複数のパーシャルアレイ内にパーティション化され、書き込み要求は選択されたパーシャルアレイに渡されるように構成されてよく、複数のキャッシュラインのその一部を選択されたパーシャルアレイの所定の位置にリマッピングするロジックをさらに備えてよい。
例13において、例9から12の何れか1つの主題は、所定の位置は選択されたパーシャルアレイのトップセクションに対応するように構成されてよい。
例14において、例9から13の何れか1つの主題は、選択されたパーシャルアレイへの電力をカットするロジックを任意選択に含んでよい。
例15において、例9から14の何れか1つの主題は、メモリデバイスにおけるデータにアクセスする要求は書き込み要求であり、データ及びエラー訂正コード情報は同一のメモリページに格納されるように構成されてよい。
例16において、例9から15の何れか1つの主題は、メモリデバイスにおけるデータにアクセスする要求は読み取り要求であり、データ及びエラー訂正コード情報は同一のメモリページから取得されるように構成されてよい。
例17は、メモリデバイスとメモリ制御ロジックとを備える装置である。メモリデバイスは、1つまたは複数のメモリセルを有し、メモリ制御ロジックは、メモリデバイスにおける複数のキャッシュラインを含むメモリページにマッピングされるデータにアクセスする要求を受信し、データと共にエラー訂正コード情報を組み込むように複数のキャッシュラインの少なくとも一部を移動し、複数のキャッシュラインの当該一部を別のメモリ位置にリマッピングし、メモリページにおけるデータ及びエラー訂正コード情報にアクセスする。
例18において、例17の主題は、データバスを任意選択に含んでよく、データ及びエラー訂正コード情報は当該データバスに送信される。
例19において、例17から18の何れか1つの主題は、複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングするロジックを任意選択に含んでよい。
例20において、例17から19の何れか1つの主題は、メモリデバイスは複数のパーシャルアレイ内にパーティション化され、書き込み要求は選択されたパーシャルアレイに渡されるように構成されてよく、複数のキャッシュラインの当該一部を選択されたパーシャルアレイの所定の位置にリマッピングするロジックをさらに含んでよい。
例21において、例17から20の何れか1つの主題は、所定の位置は選択されたパーシャルアレイのトップセクションに対応するように構成されてよい。
例22において、例17から21の何れか1つの主題は、選択されたパーシャルアレイへの電力をカットするロジックを任意選択に含んでよい。
例23において、例17から22の何れか1つの主題は、メモリデバイスにおけるデータにアクセスする要求は書き込み要求であり、データ及びエラー訂正コード情報は同一のメモリページ上に格納されるように構成されてよい。
例24において、例17から23の何れか1つの主題は、メモリデバイスにおけるデータにアクセスする要求は読み取り要求であり、データ及びエラー訂正コード情報は同一のメモリページから取得されるように構成されてよい。
例25は、メモリデバイスにデータをマッピングする段階を含むプロセッサベース方法であって、当該方法は、処理デバイスにおいて、メモリデバイスにおける複数のキャッシュラインを含むメモリページにマッピングされるデータにアクセスする要求を受信する段階と、データと共にエラー訂正コード情報を組み込むように複数のキャッシュラインの少なくとも一部を移動する段階と、複数のキャッシュラインの当該一部を別のメモリ位置にリマッピングする段階と、メモリページにおけるデータ及びエラー訂正コード情報にアクセスする段階とを含む。
例26において、例25のデータ及びエラー訂正コード情報は共に単一のデータバスに送信される。
例27において、例25から26の何れか1つの主題は、複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングする段階を任意選択に含むことができる。
例28において、例25から27の何れか1つの主題は、メモリデバイスは複数のパーシャルアレイ内にパーティション化され、書き込み要求は選択されたパーシャルアレイに渡されるような構成を任意選択に含んでよく、複数のキャッシュラインの当該一部を選択されたパーシャルアレイにおける所定の位置にリマッピングする段階をさらに含む。
例29において、例25から28の何れか1つの主題は、所定の位置は選択されたパーシャルアレイのトップセクションに対応する構成を任意選択に含むことができる。
例30において、例25から27の何れか1つの主題は、選択されたパーシャルアレイへの電力をカットする段階を任意選択に含むことができる。
本発明の様々な実施形態において、本明細書において説明されている複数の動作は、例えば、図1から9を参照して、ハードウェア(例えば、回路)、ソフトウェア、ファームウェア、マイクロコード、またはそれらの複数の組み合わせとして実装されてよく、これらは、例えば、有形の(例えば、非一時的な)機械可読またはコンピュータ可読で、本明細書において説明されている処理を実行するコンピュータのプログラムに用いられるそこに格納される複数の命令(または複数のソフトウェア手順)を有するメディアを含むようなコンピュータプログラム製品として提供されてよい。また、用語「ロジック」は、例として、ソフトウェア、ハードウェア、またはソフトウェア及びハードウェアの複数の組み合わせを含んでよい。機械可読メディアは、本明細書で説明されるもののようなストレージデバイスを含んでよい。
本明細書における「一実施形態」または「実施形態」という記載は、実施形態に関連して説明された特定の特徴、構造または特性が、少なくとも実装に含まれてもよいことを意味する。本明細書の様々な箇所における「一実施形態において」という表現の出現は、全て同一の実施形態を参照してもよく、しなくてもよい。
また、説明及び特許請求の範囲で、「連結」及び「接続」という用語は、これらの複数の派生形と一緒に用いられてよい。本発明のいくつかの実施形態において、「接続」は、2つまたはそれより多くのエレメントが互いに直接物理的にまたは電気的に接触することを示すために用いられてもよい。「連結」は、2つまたはそれより多くのエレメントが直接物理的にまたは電気的に接触していることを意味し得る。しかし、「連結」はまた、2つまたはそれより多くのエレメントが互いに直接接触しなくてよく、互いに連携または相互作用をさらにしてよいことを意味してよい。
つまり、本発明の複数の実施形態は、複数の構造的な特徴及び/または複数の方法論的な動きに固有の記載で説明されているが、特許請求の範囲に係る主題は、説明された複数の具体的な特徴又は複数の動きに限定されないことを理解されたい。むしろ、複数の具体的な特徴及び複数の動きは、特許請求の範囲に係る主題を実施すべく、例示的な複数の形式として開示される。

Claims (24)

  1. プロセッサと、
    メモリ制御ロジックと、
    を備える
    電子デバイスであって、
    前記メモリ制御ロジックは、
    メモリデバイスにおける複数のキャッシュラインを含むメモリページにマッピングされるデータにアクセスする要求を受信し、
    前記データと共にエラー訂正コード情報を組み込むように前記複数のキャッシュラインの少なくとも一部を移動し、
    前記複数のキャッシュラインの前記一部を別のメモリ位置にリマッピングし、
    前記メモリページにおける前記データ及び前記エラー訂正コード情報にアクセスする、
    電子デバイス。
  2. データバスをさらに備え、
    前記データ及び前記エラー訂正コード情報は前記データバス上に送信される、
    請求項1に記載の電子デバイス。
  3. 前記複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングするロジック、
    をさらに備える
    請求項1または2に記載の電子デバイス。
  4. 前記メモリデバイスは、複数のパーシャルアレイ内にパーティション化され、
    前記書き込み要求は、選択されたパーシャルアレイに渡され、
    前記複数のキャッシュラインの前記一部を前記選択されたパーシャルアレイにおける所定の位置にリマッピングするロジック、
    をさらに備える
    請求項1から3の何れか一項に記載の電子デバイス。
  5. 前記所定の位置は前記選択されたパーシャルアレイのトップセクションに対応する、
    請求項4に記載の電子デバイス。
  6. 前記選択されたパーシャルアレイへの電力をカットするロジック、
    をさらに備える
    請求項4または5に記載の電子デバイス。
  7. 前記メモリデバイスにおけるデータにアクセスする前記要求は、書き込み要求であり、
    前記データ及び前記エラー訂正コード情報は、同一のメモリページに格納される、
    請求項1に記載の電子デバイス。
  8. 前記メモリデバイスにおけるデータにアクセスする前記要求は、読み取り要求あり、
    前記データ及び前記エラー訂正コード情報は、同一のメモリページから取得される、
    請求項1に記載の電子デバイス。
  9. ロジックを有するメモリコントローラであって、
    前記ロジックは、
    メモリデバイスにおける複数のキャッシュラインを含むメモリページにマッピングされるデータにアクセスする要求を受信し、
    前記データと共にエラー訂正コード情報を組み込むように前記複数のキャッシュラインの少なくとも一部を移動し、
    前記複数のキャッシュラインの前記一部を別のメモリ位置にリマッピングし、
    前記メモリページにおける前記データ及び前記エラー訂正コード情報にアクセスする、
    メモリコントローラ。
  10. データバスをさら有し、
    前記データ及び前記エラー訂正コード情報は、前記データバス上に送信される、
    請求項9のメモリコントローラ。
  11. 前記複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングするロジック、
    をさらに有する
    請求項9または10のメモリコントローラ。
  12. 前記メモリデバイスは、複数のパーシャルアレイ内にパーティション化され、
    前記書き込み要求は、選択されたパーシャルアレイに渡され、
    前記複数のキャッシュラインの前記一部を前記選択されたパーシャルアレイにおける所定の位置にリマッピングするロジック、
    をさらに有する
    請求項9から11の何れか一項に記載のメモリコントローラ。
  13. 前記所定の位置は、前記選択されたパーシャルアレイのトップセクションに対応する、
    請求項12に記載のメモリコントローラ。
  14. 前記選択されたパーシャルアレイへの電力をカットするロジック、
    をさらに有する
    請求項12に記載のメモリコントローラ。
  15. 前記メモリデバイス上のデータにアクセスする前記要求は、書き込み要求であり、
    前記データ及び前記エラー訂正コード情報は、同一のメモリページ上に格納される、
    請求項9に記載のメモリコントローラ。
  16. 前記メモリデバイス上のデータにアクセスする前記要求は、読み取り要求であり、
    前記データ及び前記エラー訂正コード情報は、同一のメモリページから取得される、
    請求項9に記載のメモリコントローラ。
  17. 1つまたは複数のメモリセルを有するメモリデバイスと、
    メモリ制御ロジックと、
    を備える
    装置であって、
    前記メモリ制御ロジックは、
    複数のキャッシュラインを含むメモリページにマッピングされる、メモリデバイスにおけるデータにアクセスする要求を受信し、
    前記データと共にエラー訂正コード情報を組み込むように前記複数のキャッシュラインの少なくとも一部を移動し、
    前記複数のキャッシュラインの前記一部を別のメモリ位置にリマッピングし、
    前記メモリページにおける前記データ及び前記エラー訂正コード情報にアクセスする、
    装置。
  18. データバス、
    をさら備え、
    前記データ及び前記エラー訂正コード情報は、前記データバス上に送信される、
    請求項17に記載の装置。
  19. 前記複数のキャッシュラインに関連付けられるエラー訂正コード情報を別のメモリ位置にリマッピングするロジック、
    をさらに備える
    請求項17または18に記載の装置。
  20. 前記メモリデバイスは、複数のパーシャルアレイ内にパーティション化され、
    前記書き込み要求は、選択されたパーシャルアレイに渡され、
    前記複数のキャッシュラインの前記一部を前記選択されたパーシャルアレイの所定の位置にリマッピングするロジック、
    をさらに備える
    請求項17から19の何れか一項に記載の装置。
  21. 前記所定の位置は、前記選択されたパーシャルアレイのトップセクションに対応する、
    請求項20に記載の装置。
  22. 前記選択されたパーシャルアレイへの電力をカットするロジック、
    をさらに備える
    請求項20に記載の装置。
  23. 前記メモリデバイスにおけるデータにアクセスする前記要求は、書き込み要求であり、
    前記データ及び前記エラー訂正コード情報は、同一のメモリページ上に格納される、
    請求項17に記載の装置。
  24. 前記メモリデバイス上のデータにアクセスする前記要求は、読み取り要求であり、
    前記データ及び前記エラー訂正コード情報は、同一のメモリページから取得される、
    請求項17に記載お装置。
JP2016517087A 2013-06-28 2014-06-24 電子デバイス、メモリコントローラ、装置 Active JP6231194B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/930,600 2013-06-28
US13/930,600 US10031802B2 (en) 2013-06-28 2013-06-28 Embedded ECC address mapping
PCT/US2014/043766 WO2014209936A1 (en) 2013-06-28 2014-06-24 Embedded ecc address mapping

Publications (2)

Publication Number Publication Date
JP2016520937A true JP2016520937A (ja) 2016-07-14
JP6231194B2 JP6231194B2 (ja) 2017-11-15

Family

ID=52116923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016517087A Active JP6231194B2 (ja) 2013-06-28 2014-06-24 電子デバイス、メモリコントローラ、装置

Country Status (8)

Country Link
US (1) US10031802B2 (ja)
EP (1) EP3014227A4 (ja)
JP (1) JP6231194B2 (ja)
KR (1) KR101732841B1 (ja)
CN (1) CN105264342B (ja)
BR (1) BR112015029854A2 (ja)
RU (1) RU2644529C2 (ja)
WO (1) WO2014209936A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10031802B2 (en) 2013-06-28 2018-07-24 Intel Corporation Embedded ECC address mapping
US9954557B2 (en) * 2014-04-30 2018-04-24 Microsoft Technology Licensing, Llc Variable width error correction
US10268541B2 (en) * 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
US10853168B2 (en) * 2018-03-28 2020-12-01 Samsung Electronics Co., Ltd. Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM)
US11307771B2 (en) * 2020-07-10 2022-04-19 Micron Technology, Inc. Configurable link interfaces for a memory device
US11288188B1 (en) * 2021-01-21 2022-03-29 Qualcomm Incorporated Dynamic metadata relocation in memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061684A1 (en) * 2005-08-16 2007-03-15 Intel Corporation Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems
JP2010262537A (ja) * 2009-05-08 2010-11-18 Canon Inc メモリ制御回路

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467048B1 (en) * 1999-10-07 2002-10-15 Compaq Information Technologies Group, L.P. Apparatus, method and system for using cache memory as fail-over memory
US6427188B1 (en) * 2000-02-09 2002-07-30 Hewlett-Packard Company Method and system for early tag accesses for lower-level caches in parallel with first-level cache
US6996766B2 (en) 2002-06-28 2006-02-07 Sun Microsystems, Inc. Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US6961821B2 (en) 2002-10-16 2005-11-01 International Business Machines Corporation Reconfigurable cache controller for nonuniform memory access computer systems
US7234099B2 (en) 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US7149945B2 (en) 2003-05-09 2006-12-12 Hewlett-Packard Development Company, L.P. Systems and methods for providing error correction code testing functionality
JP3714558B2 (ja) 2003-10-10 2005-11-09 ソニー株式会社 ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体
US7124254B2 (en) * 2004-05-05 2006-10-17 Sun Microsystems, Inc. Method and structure for monitoring pollution and prefetches due to speculative accesses
US20060218467A1 (en) 2005-03-24 2006-09-28 Sibigtroth James M Memory having a portion that can be switched between use as data and use as error correction code (ECC)
US7774684B2 (en) 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US7890836B2 (en) 2006-12-14 2011-02-15 Intel Corporation Method and apparatus of cache assisted error detection and correction in memory
US8464138B2 (en) 2008-08-20 2013-06-11 Qualcomm Incorporated Effective utilization of header space for error correction in aggregate frames
US8291259B2 (en) 2009-04-15 2012-10-16 International Business Machines Corporation Delete of cache line with correctable error
US8495464B2 (en) * 2010-06-28 2013-07-23 Intel Corporation Reliability support in memory systems without error correcting code support
US8719664B1 (en) * 2011-04-12 2014-05-06 Sk Hynix Memory Solutions Inc. Memory protection cache
US9003247B2 (en) * 2011-04-28 2015-04-07 Hewlett-Packard Development Company, L.P. Remapping data with pointer
US9391637B2 (en) * 2012-03-30 2016-07-12 Intel Corporation Error correcting code scheme utilizing reserved space
CN103019963B (zh) 2012-12-31 2016-07-06 华为技术有限公司 一种高速缓存的映射方法及存储设备
US10031802B2 (en) 2013-06-28 2018-07-24 Intel Corporation Embedded ECC address mapping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061684A1 (en) * 2005-08-16 2007-03-15 Intel Corporation Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems
JP2010262537A (ja) * 2009-05-08 2010-11-18 Canon Inc メモリ制御回路

Also Published As

Publication number Publication date
RU2015151167A (ru) 2017-06-01
EP3014227A1 (en) 2016-05-04
WO2014209936A1 (en) 2014-12-31
RU2644529C2 (ru) 2018-02-12
EP3014227A4 (en) 2017-02-22
KR101732841B1 (ko) 2017-05-04
BR112015029854A2 (pt) 2017-07-25
US10031802B2 (en) 2018-07-24
US20150006993A1 (en) 2015-01-01
CN105264342A (zh) 2016-01-20
CN105264342B (zh) 2019-05-14
KR20150143598A (ko) 2015-12-23
JP6231194B2 (ja) 2017-11-15

Similar Documents

Publication Publication Date Title
JP6112594B2 (ja) ハイブリッドメモリデバイス、メモリデバイスを含む電子デバイス、および、メモリデバイス用のコントローラ
JP6231194B2 (ja) 電子デバイス、メモリコントローラ、装置
US9875195B2 (en) Data distribution among multiple managed memories
KR101720676B1 (ko) 대용량 저장소 디바이스들을 관리하기 위한 장치 및 방법
US10592445B2 (en) Techniques to access or operate a dual in-line memory module via multiple data channels
US20160351244A1 (en) Memory device and memory system having the same
TWI633436B (zh) 記憶體中之轉譯後備緩衝器
US20160283111A1 (en) Read operations in memory devices
US20140173234A1 (en) Semiconductor memory device and memory system
US9064603B1 (en) Semiconductor memory device and memory system including the same
JP6137582B2 (ja) 電子デバイス、メモリコントローラ、装置
KR101743409B1 (ko) 메모리 관리
TW201923573A (zh) 記憶體控制器、系統及包括記憶體控制器的應用處理器
US20220245066A1 (en) Memory system including heterogeneous memories, computer system including the memory system, and data management method thereof
US9449673B2 (en) Memory device and memory system having the same
US9318168B2 (en) Memory system for continuously mapping addresses of a memory module having defective locations
KR20140067878A (ko) 메모리 장치 및 이를 갖는 메모리 시스템
US9176906B2 (en) Memory controller and memory system including the same
KR102549070B1 (ko) 휘발성 메모리에 대한 극성 기반 데이터 트랜스퍼 기능
US9530466B1 (en) System and method for memory access dynamic mode switching
US20130151766A1 (en) Convergence of memory and storage input/output in digital systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171018

R150 Certificate of patent or registration of utility model

Ref document number: 6231194

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