JP2015060589A - ヘテロジニアスメモリアクセス - Google Patents

ヘテロジニアスメモリアクセス Download PDF

Info

Publication number
JP2015060589A
JP2015060589A JP2014166408A JP2014166408A JP2015060589A JP 2015060589 A JP2015060589 A JP 2015060589A JP 2014166408 A JP2014166408 A JP 2014166408A JP 2014166408 A JP2014166408 A JP 2014166408A JP 2015060589 A JP2015060589 A JP 2015060589A
Authority
JP
Japan
Prior art keywords
memory
data
attributes
area
areas
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
JP2014166408A
Other languages
English (en)
Other versions
JP5883089B2 (ja
Inventor
サラスワット、ルチル
Saraswat Ruchir
グリース、マティアス
Gries Matthias
ピー. カウリー、ニコラス
P Cowley Nicholas
ピー. カウリー、ニコラス
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 JP2015060589A publication Critical patent/JP2015060589A/ja
Application granted granted Critical
Publication of JP5883089B2 publication Critical patent/JP5883089B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)

Abstract

【課題】各々が異なる属性を表すメモリの領域に対する選択的メモリアクセスに関して動作可能なメモリコントローラを提供する。【解決手段】メモリコントローラ110は、アクセス速度、保持時間、および電力消費量を変える異なるメモリ機能を利用する。メモリ120の異なる領域は、異なる属性を有する一方で、アドレス可能メモリの単一の連続範囲として用途に利用可能な状態を保つ。メモリコントローラ110は、速度、節電、または効率など、コンピューティング装置の操作優先順位を特定する動作モードを用いる。メモリコントローラ110は、領域に格納されているデータの予想使用量(例えば、今後の検索を示すアクセス頻度)に基づいて、メモリ120の領域を特定する。したがって、メモリコントローラ110は、メモリの領域を優先するヒューリスティックにより、動作モードと領域に格納されるデータの予想使用量とに基づいてメモリの領域を選択する。【選択図】図1

Description

コンピュータシステムは、メインメモリ、すなわちプログラム(用途)実行時におけるアクセス用のランダムアクセスメモリ(RAM)と、主として、プログラム全体の保存/検索用および現在の実行よりも多くの格納が求められるデータファイル書き込み用のディスクメモリ(大容量ストレージ)とを、用いる。しばしば、これらのタイプは、揮発性および不揮発性ストレージと称され、メインメモリ内に格納値を保つのに一定の電力が必要であることを意味している。一方、ディスクメモリは、プログラムおよびデータの永続的な格納に用いられる。これらのタイプの各々に対するアクセス方法もまた、基本的に異なる。なぜなら、ディスクメモリがコンピュータの入出力(I/O)サブシステムに依存する一方で揮発性メモリがプログラム命令によりアクセスされるからである。一般に揮発性メモリのほうがより速いが、そのようなメモリは、動作性能が実質的に類似している任意の利用可能な位置の格納および検索をメモリコントローラが実施するように、複数のホモジニアスメモリ位置からなる単一のブロックとして参照される。
本発明の前述および他の目的、特徴、ならびに利点は、異なる図面全体にわたる同一部品が同様の参照符号によって言及される添付の図面に図示されるように、本発明の特定の実施形態に関する以下の説明から明らかであろう。図面は、寸法どおりである必要はないが、その代わりに本発明の原理を説明することに重点が置かれている。
本明細書中の構成による使用に適したコンピュータメモリ環境のコンテクスト図である。 図1の環境におけるメモリアクセスのフローチャートである。 図1の環境のメモリアクセスのヒューリスティックを示す計算およびデータフローである。 図1の環境のメモリアクセスのヒューリスティックを示す計算およびデータフローである。 図1の環境のメモリアクセスのヒューリスティックを示す計算およびデータフローである。 図1の環境のメモリアクセスのヒューリスティックを示す計算およびデータフローである。 図1の環境におけるメモリ領域の積層実装を示す。
各々が異なる属性を表す揮発性および不揮発性メモリの領域に対する選択的メモリアクセスに関して動作可能なメモリコントローラは、いくつかの例を挙げると、アクセス速度、保持時間、および電力消費量を変える異なるメモリ機能を利用する。メモリの異なる領域は、アドレス可能メモリの単一の連続範囲として用途に利用可能な状態を保ちつつ、異なる属性を有する。メモリコントローラは、速度、節電、または効率(すなわち、熱/電力消費を最小限にすること)等のコンピューティング装置の操作優先順位を特定する動作モードを用いる。メモリコントローラは、格納されているデータの予想使用量(expected usage)(例えば、いつデータが検索されるかを示すアクセス頻度)に基づいて、メモリの領域を特定する。センサまたはカウンタなどの他の要素を用いて、温度の問題を生じ得る頻繁に用いられる、メモリの領域を特定してもよい。このように、メモリは、(揮発性/不揮発性アクセス命令と対照的に)用途が領域を特定する必要がないように、用途には単一の連続したメモリバンクとして現れる。メモリコントローラは、データの予想使用量との相関性が高い属性を示している領域に基づいて、メモリの領域を優先するヒューリスティックにより、動作モードと予想使用量とに基づいてメモリの領域を選択する。
DRAMがバイトアドレス可能不揮発性メモリ(NVM)に取って変わられる可能性がある。このようなNVMとして、限定されるものではないが、強誘電ランダムアクセスメモリ(FeTRAM)、ナノワイヤをベースとした不揮発性メモリ、位相変化メモリ(PCM)などの3次元(3D)クロスポイントメモリ、メモリスタ技術を取り込んだメモリ磁気抵抗ランダムアクセスメモリ(MRAM)およびスピン注入(STT)MRAMが挙げられる。 これらのNVM、およびダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリを、広範囲にわたる保持時間(ミリ秒から数年にわたる情報の保持)に対して、調整および製造することができる。 同様に、範囲が広いことは、これらのメモリ技術の性能動作点および電力動作点に対しても表面化するもので、深く根付いている低性能使用から高性能配置にまで及び、例えばより良好な性能を得るために保持時間および熱負担(例えば発熱)がトレードオフになり得る。 本明細書中の構成は、バッテリの最長待機時間、アクティブフェーズ中の高い応答性、および最良性能などのシステムの動作点に動的に適応するべく、異なる性能、保持率、及び熱的に最適化されたメモリ領域を活用する。
メモリ領域(揮発性および/または不揮発性)を、任意の適当なやり方で、例えば単一のダイ内にスタック化(パッケージ内)、または別々のパッケージ内に配列することができる。さらに、開示された方法を、属性認識と属性に基づく選択的呼出しに応答する任意の適当なメモリ技術に用いてもよい。メモリコントローラ(MC)は、データを格納するべく領域の選択にアクセスを組織化することにおいて、中心的な役割を果たす。なぜなら、領域は、静的に最適化(例えば、製造時)または動的に、例えば電圧レールの構成によって、最適化され得るからである。メモリコントローラ(MC)の新しい機能は、現在の動作モード(最良の性能または最小の電力など)に従ってメモリアクセスが最も良好に供給され得るように、センサ入力、統計用カウンタ、およびタイマーに自立的に基づいてメモリ領域の間でデータを移動させることを含んでもよい。そのような解決策は、メモリサブシステムの電力/熱、性能、および保持時間に対するきめ細やかな制御を提供する。
従来のメモリコントローラ(MC)は、性能および効率に関する所定の静的特性によって、1つのホモジニアス領域として、メモリを処理する。アクセスが他のメモリ領域にオフロードされないので、熱イベントは性能に対して負の影響を与えつつメモリ領域へのアクセスの数を絞ることになる。従来のアプローチにおいて、全てのメモリサブシステムが揮発性であると考えられることから、保持時間は現在のところ設計目標とは考えられていない。メモリに関する従来の性能状態は大ざっぱであり、ホモジニアスメモリ領域全体でのみ動作し、(たとえ可能であっても)たまに再構成されるのみである。
ヘテロジニアス(heterogeneous)な能力を有するメモリサブシステムは、揮発性RAMを兼ねるDRAM、DRAM、およびNVMのような技術を含むべく、発展している。永続メモリの現在の発展は、ロード/格納バイトアドレス可能NVMを、プラットホームアーキテクチャにおける永続的な階層としてプログラマの目にさらす。しかし、揮発性または永続メモリ/不揮発性メモリに従来のデータを配置して異なる動作点を扱うべく、プログラマに対して負担がのしかかる。加えて、従来の永続メモリは1段階の保持時間(無制限)のみを定義し、性能の保持時間と熱特性との間のトレードオフを調整可能にしない。
本明細書中の構成は、部分的には、アドレス可能メモリに対する従来のアプローチが連続アドレスのモノリシックブロックを定義するという観察に、基づいている。従来のメモリコントローラは、性能または効率属性のためにメモリを区別または区画化しないホモジニアスな記憶領域として、メモリにアクセスする。残念なことに、メモリコントローラをベースとしたアクセスに対する従来のアプローチには欠点がある。この欠点とは、不揮発性記憶装置の単一の段(またはカテゴリ)のみが与えられ、用途は揮発性記憶装置または不揮発性(例えばディスク)記憶装置のいずれかを選択せざるを得ないことである。
したがって、本明細書中の構成は、メモリの異なる領域または部分のヘテロジニアスな配列を提供することによって、メモリアクセスに対する上記欠点を実質的に解決する。それらの領域または部分は、各々、アクセス速度(性能)、保持時間、および電力消費量などの特徴について異なる属性を持つ。メモリは、データの予想使用量と特定の属性の認知された属性とに基づいて、データの格納を選択可能である。例えば、頻繁に使われるデータまたは速い応答コンテクストの一部は、速い検索メモリ領域に格納され得る。その一方で、よりゆっくりとしたアクセスが許容され得ることから、しばらくは必要でないと思われるデータは、高保持時間領域に格納される可能性がある。
本明細書中の構成では、メモリコントローラ(MC)は、性能、保持時間、およびエネルギー効率を含む属性によって特徴づけられ得るメモリ領域の制御および選択を行う。メモリコントローラ(MC)は、性能、効率、および保持時間に関して、メモリ領域の動作点を調整することができる。このような調整は、これらの属性のプラットフォームレベル方針に応じて、さらに、センサ入力(例えば熱効果)、統計用カウンタ(例えばアクセスの頻度およびアドレス分布)、ならびにタイムアウトカウンタなどのさらなる要素に基づいて、行われる。メモリコントローラ(MC)のアクセスヒューリスティックは、これらの異なる動作モードを活用することができる。加えて、メモリコントローラ(MC)は、1つのメモリ領域から別のメモリ領域へコンテンツ/データを移動させてもよい。この移動は上記のセンサ入力および静的/測定入力により引き起こされ、プラットフォームレベル方針に従ってメモリサブシステムの全体的な挙動を改善する。ヒューリスティック論理は、フィードバックの反復性評価を利用するアクセス技術を実現して、適当なまたは最も適合度が高いメモリ領域に対する属性の性能および相関を改善する。
メモリを、性能領域および電力領域、またはより長い保持時間を有する領域に分割してもよい。このことは、生産中、回路アーキテクチャによって、または、異なる領域の属性を変更するための回路アーキテクチャによって十分な柔軟性が現れる場合には実行中に動的に、行われる。
開示されたメモリコントローラは、キャッシュメモリコントローラとは異なる。なぜなら、キャッシュメモリコントローラが予想使用量に基づいてキャッシュメモリ内の異なる領域を選択しないからである。また、全てのデータは、同一基準、典型的には、最短時間未使用(most recently used)または最大頻度使用(most frequently used)に基づくキャッシングの候補である。さらに、開示されたメモリコントローラは、揮発性および不揮発性記憶装置のみを有するアーキテクチャとは異なる。なぜなら、揮発性および不揮発性記憶装置に対するアクセスは、すなわち変数割当てまたはファイル操作により、明示的に指定されるからである。従来の揮発性記憶装置と不揮発性記憶装置との間の選択は、通常、データ使用量に応じて定義される用途である。その一方で、用途は不揮発性記憶装置を制御せず、従来のメモリコントローラはホモジニアス揮発性メモリの単一のブロックとしてメモリを割り当てるだけである。さらに留意すべきことは、複数のメモリコントローラを階層的または並列的配置で示すアーキテクチャに、本明細書中に概説される操作およびアプローチが等しく適用可能であるという点である。したがって、メモリ領域の選択は、記憶装置の操作に求められる。予想使用量に基づいた1つの領域または別の領域のマッピングは、存在しない。
図1は、本明細書中の構成による使用に適したコンピュータメモリ環境のコンテクスト図である。図1を参照すると、コンピュータメモリ環境100では、メモリコントローラ110はメモリ120に対するアクセスを制御する。メモリコントローラ110は、要求132について1または複数のCPU130に応答し、応答134を与えることでデータ項目(データ)の格納および検索を行う。また、CPU130は、ユーザ入力を受信するとともに実行用途の出力をレンダリングするユーザディスプレイおよびグラフィカルユーザインターフェース(GUI)140にも応答する。後述のメモリ環境の大きさおよび可搬性に応じて、ディスク142または他の長期/不揮発性記憶媒体も含まれてもよい。
メモリ120は、複数の領域150−1〜150−N(全体として150)を有し、アクセス媒体122を介してメモリコントローラ(MC)110によりアクセス可能(読出し/書込み)である。任意の適当なアクセス媒体は、後述するように、電気的または光学的伝送を用いる、あるいは積層実装に見られるようなスルーシリコンビア(TSV)に連結される、パラレルまたはシリアルバスなどである。MC110は、要求132に従ってデータを格納すべきメモリの領域150を選択し、応答134を実現すべく同一位置から検索する。コントローラ論理112は、データを格納すべき適用可能な領域150を演算するためのヒューリスティックを、領域150−Nの属性に関する統計と同様に、格納および適用する。メモリ領域150は、温度およびアクセスカウントなどの態様のために、センサ121−1〜121−N(全体として121)も有してもよい。ヒューリスティック論理のセンサハブ113は、センサ121の入力とともに、位置、温度、湿度、前部カメラで測定される使用者の注意、その他のような種々の適当なソースからの他の関連する要素を集める。
開示されたヘテロジニアスメモリのアプローチおよび対応するヒューリスティックは、キャッシュおよび/またはページマップと相互操作可能であり、これは最新のオペレーティングシステムにおいて典型的である。したがって、メモリコントローラ110は、キャッシュ114および/またはアドレスマップ116も有し、これらは本明細書中の構成とともに動作可能である。例えば、キャッシュコントローラおよびアレイは、キャッシュアレイとして、メモリ内の1または複数の領域を用いてもよいので、専用のキャッシュメモリとしてメモリ素子またはバンクを追加することが回避される。
当該技術分野で知られているように、キャッシュ114は、同一データに対する後続の操作が容易になるように、メモリ120から最近読み出されたデータや、任意にメモリ120に最近書き込まれたデータを格納する。本明細書中に開示したメモリ領域150の選択は異なっている。なぜなら、キャッシュ114が入出力操作の直接性のみに目を向け、ヒューリスティックに基づく意図された使用または使用パターンには目を向けないからである。しかし、メモリ領域の選択の一部は、高速属性を持つ領域を有してもよく、選択論理の一部としての頻繁な使用または最近の使用を含んでもよい。同様に、ページング機構は、読出し/書込み並列としてメモリの複数のセクション(例えば複数のページ、例えば4K)を単に集めるので、データが特定のページに出現した時に、開示されたヒューリスティックに適用可能である。例えば、任意のページ属性は、関連したページの性能および保持率に関してプログラマにより特定された必要条件を反映することができる。メモリコントローラ110は、同等またはより良好な属性を持つ領域に対してデータをマッピングするガイダンスとして、この情報を用いてもよい。そのような機構は、本明細書中に開示されたMC110の自律的な操作に加えて、プログラマとの意思疎通を可能にする。
アドレスマップ116は、ソフトウェアサポートまたはより多くのハードウェアをベースとしたアプローチを使用するマッピングの形態をとってもよい。ソフトウェアサポートを用いる実装では、構成はオペレーティングシステム(OS)ページテーブルウォークに依存してもよい。一方で、MC110は、アドレスマッピングをトラッキングするべく別個のテーブルを単独で(自律的に)用いてもよい(なぜなら、このコントローラはコンテンツを移動させる能力を持つからである)。実際は、ハードウェア内でアドレスをマッピング/変換するためのこのインフラストラクチャは、NVMのウェアレベリング機構と共有され得る。なぜなら、ウェアレベリングがアドレス(例えば、ページ)あたりの書き込みアクセスを明示的にトラッキングし、限られた耐久性に基づいてコンテンツを移動させるからである。
強調すべきことは、データが格納されるメモリ領域150を考慮することなく同じやり方(すなわち、アドレッシング可能なワードまたはバイト)で、分割されたメモリ120の各領域150がメモリコントローラ110からアドレッシング可能な状態を保つことである。要求132を作成する用途(それ故、用途を構築するプログラマ/開発者)は、メモリの異なる範囲を区別する必要がなく、またはさもなければ、領域選択を示す必要がない。ユーザ/用途メモリ120の全ての範囲は、アドレッシング可能な状態を保つ。したがって、データは、検索が実行される領域をはっきり特定することなしに複数の領域150のいずれかから、格納可能および検索可能である。同じく留意すべきことは、本明細書で用いた「区画化」は、同時にアドレッシング可能な領域150へメモリ120を細分することを意味しており、単一のマシンにインストールされるオペレーティングシステムを分けることを意味するものではなく、それらの領域は、ディスクパーティションによってサポートされる互いに相容れない環境に、概してキャストされることである。
コンピュータメモリ環境100は、任意の適当なコンピューティングプラットホーム、例えば、携帯多機能電話および携帯型コンピューティング装置、タブレット、ラップトップ、ならびにデスクトップ型要素であってもよい。物理的制約は、様々な装置のオペレーティングパラメータに影響を及ぼす可能性がある。例えば、より小さな装置は、コンパクト性のため、より多く発熱する傾向にあり、またはバッテリの制約により、電力節約の必要性がより高くなる可能性がある。より小さな装置は、物理ディスクドライブ142を持たなくてもよい。しかし、全ての装置は、ネットワークブーティングも可能ではあるが、少なくともスタートアップ/ブート用の永続的な(不揮発性)構成要素を備えていると考えられる。
図2は、図1のコンピュータメモリ環境におけるメモリアクセスのフローチャートである。図1および2を参照すると、後述する特定の構成において、メモリにアクセスする方法は、ステップ200で検討されるように各々の領域150が属性によって定義されるように、メモリを複数の領域150に区画化することを含む。各々の領域は、メモリ120の任意の適当な領域150であってもよく、設計段階から決められている属性を有するものであってもよい。あるいは、各々の領域は、矢印118−1〜118〜2(全体として118)によって示されるように、例えば、電力消費量を少なくしたり、アクセス速度を上げたりするための電圧などの属性を変更するべく、メモリ領域に命令を出すために実行中に変更され得る動的な属性を有してよい。構成例では、属性は、性能(速度)、保持率、および効率(電力消費量)を含む。他の属性は、メモリ120の設計およびサポートに応じて使用されてもよい。
ヒューリスティック論理112は、ステップ201に示すように、データの予想使用量によってデータを特徴付けし、そのデータを、ステップ202に示すように、複数の領域150−Nのうちの領域150に、予想使用量に基づいて、および/またはその領域の属性の相関と共に、マッピングする。ここに示した例では、属性と予想使用量との間のマッピング、すなわち相関は、メモリの領域からデータが再呼び出しされる速度を性能属性が特定するようにして実行され、タイミング感度が高い計算において頻繁にアクセスされたデータに使用される。この属性は、ユーザ応答が最も重要で電力および温度の回復力が十分である場合に、優先される。保持属性は、データが電力再生なしにメモリの領域に残る持続時間を特定し、待ち時間許容計算において、まれにアクセスされたデータ、例えば、さらに後で検討される、すぐには必要とされない計算結果に、またはまれに統計学的にアクセスされた計算結果に、使用される。効率属性は、メモリの領域内にデータを保つための電力消費量を示しており、熱またはバッテリ上の問題がメモリアクセスを制限する場合に使用される。したがって、効率は、限定された電力ドレインと発熱とを伴う許容速度を意味する二面的な特徴である。効率は、空間許容度が熱集積を悪化させ得る携帯デバイスで重要であり、バッテリ電力ドレインは考慮すべき事柄である。
属性のセットは、一般的状況を示す動作モードに従って束ねられてもよく、動作モードに許容可能な属性の「地帯(corridors)」または範囲を設定してもよい。しがたって、動作モードは、属性に基づく使用に関して領域に優先順位をつける。ここで、動作モードは、速い検索を行うメモリ領域に有利な性能モードと、許容可能な検索時間を有する低電力消費量の領域が優先される効率モードと、応答性を保ちながら最小の電力および熱負荷で動作を保つための高保持時間を有する領域を優先するレジリエンスモードとを含む。他の属性を集め、および/または属性範囲内の異なる地帯を特定する他の動作モードもまた、呼び出される。
特定の構成では、計算または予想された使用量に応じて実行時に、メモリ領域は属性を変更するべく構成されている。したがって、コントローラ110は、予想使用量に応じて領域150の属性を動的に変更するべく、ヒューリスティック論理112に応答してもよい。例えば、まれに必要であるメモリは、メモリの領域のアクセス期間と保持期間とを特定し、その領域の電圧属性を変更することから利益を得てもよい。その際、保持期間中、データを保つために、電圧がより低くなるようにし、アクセス期間中、データを速く検索するために、電圧がより高くなるようにする。したがって、データの待ち時間延長の間、比較的低い電力と最小限に抑えられた発熱が求められる。しかし、データが必要な場合、電圧を上げてアクセス期間中、速いアクセスが可能になる。
同様に、所望の属性を持つ領域150の間でデータの移動を行ってもよい。ヒューリスティック論理112は、メモリの領域150に格納されているデータの今後のアクセス期間を特定し、このアクセス期間に先立ってそのデータをメモリの代替領域150へ移動する。ここで、代替領域は、まれに使用されるが使用中に速いアクセスを必要とするデータに応じて速いアクセスに対応する属性を有する。
別の例では、アクセスの頻度または密度により、メモリの領域が高動作温度にさらされていると決定する場合がある。それに応答して、ヒューリスティック論理112は、メモリの領域150が高温であることを特定し、特定された高温に応じて電力消費量および発熱を少なくするために、その領域150の属性を変更する。このようにして、電力および温度がより低くなる属性ではあるが、同一の領域150を続けて使用することが可能なる。
図3a〜図3dは、図1のコンピュータメモリ環境のメモリアクセスのヒューリスティックを示す計算およびデータフローである。概して、ヒューリスティック論理112(論理)は、属性の値または状態を監視して、別の領域150にメモリ使用量を再配分するべく、調整措置を行うことで、動作モードの動作地帯(operating corridor)の中に属性を戻す。図1および図3a〜図3dを参照すると、ステップ300で、ヒューリスティック論理112は、まれに使用される領域またはデータを特定するべく、期間データアクセスまたはメモリ領域アクセスを監視する。ステップ303で、チェックを実行し、現在のプロファイルにおいて、監視された属性が動作地帯の外側で遅延を示すかどうかを決定する。そうであれば、ステップ302に示されるように、メモリコントローラ(MC)110(または従属の管理機能、例えばDMAもしくはアドレスマップ作成処理)は、動作プロファイルに従って異なる保持率により、データをメモリ120の領域150(部分)に移動し、アクセス間の時間をより厳密に一致させる。したがって、延長時間においてデータ項目がアクセスされない場合、電力低下の利益を導き出すべく、より長い保持時間で領域150に格納することが許容されてもよい。制御は、ステップ300で、モニタリングまたはポーリングサイクルに従って繰り返す。したがって、予想使用量に基づくマッピングは、頻繁にアクセスされた領域150の温度に対するセンサフィードバックを受信するためのヒューリスティックを呼び出すこと、および、受信したセンサフィードバックに基づいて使用量がより少ない領域150にメモリ使用量をリダイレクトすることを、さらに含む。
ステップ310で、図3bにおいて、ヒューリスティック論理112は、アクセス密度(アクセス頻度を意味する)、読出し/書込み比率、平均到着時間間隔、全容量、または使用中のメモリ領域(一般に使用量または利用率を意味する)を監視する。概して、そのような属性は、全体的な電力ドレインおよび対応する発熱を指し、このことは,小さな携帯デバイスでは特に考慮すべき事柄であると思われる。ステップ311で、アクセス密度が動作地帯(範囲)の外側にあるかを決定するべく、チェックを実行する。そうであれば、ステップ312に示されるように、動作の状態を変えること(すなわち、電圧を下げて全体的な熱/電力需要を減らすこと)により、新たな動作地帯が適合し得るかどうかを特定するべく、さらなるチェックを実行する。そうであれば、論理112は、ステップ313に示すように、性能を上昇または減少させることにより制御を変えるべく、新しい動作地帯を設定する。新たな動作地帯が適合できない場合(使用が大幅に中断することなく)、ステップ314に示すように、メモリコントローラは、プロファイルに従って異なる電力/性能(すなわち効率)状態により、メモリの領域150へデータを移動させる。メモリの領域を移動させることよりも電圧を変更することによって状態を変えるには、オーバーヘッドが概して少ないので、電圧変化を最初に考慮する。したがって、ヒューリスティック112は、領域へのアクセスのためのカウンタを保持してもよく、アクセス数が多い領域からアクセス数が少ない領域へメモリ使用量をリダイレクトしてもよい。
領域移動が求められる両方のケース(ステップ302、314)について、メモリセンサおよび/またはカウンタから集めた統計的使用量データを用いてもよい。メッセージ350で示すように、メモリタイプの保持時間に基づくメモリのアドレス/領域区分の情報は、論理に送られる。同様に、メモリの電力/性能状態に基づくメモリのアドレス/領域区分の情報は、メッセージ352により、受信される。したがって、データの予想使用量は、データのアクセス頻度、データ検索の有用性、およびデータの寿命の少なくとも1つに基づいている。領域150の選択は、動作モードを特定することをさらに含み、この動作モードは、優先度がより高い属性を示す領域が優先されるように、属性の優先度を表す。論理112に応答するMC110は、属性の優先度に基づいてデータをマッピングする。ここで、高優先度に対応している属性を示す領域150が優先されるとともに、より低い優先度に対応している属性を示す領域はより低い頻度で用いられているか、領域の間を一斉に移動させられる。
したがって、論理112は、複数のメモリ領域150から動作統計を受信することを含み得るヒューリスティックを実現する。ここで、属性は、受信した動作統計に基づいている。構成例では、動作統計は、メモリバンク/モジュールの搭載センサからのパラメータ、例えば温度(すなわち、熱効果)、統計用カウンタ(すなわち、アクセス頻度およびアドレス分布)、ならびにタイムアウトカウンタを含んでもよい。
ステップ320で、論理112は、メモリ領域150のアクセス密度を監視する。アクセス密度は、例えば、DRAM内の多数の属性(パラメータ)に影響を与え、処理スケーリングでよりいっそう顕著になる。論理は、ステップ323で示されるように、NVMメモリのウェアレベルも監視する。ウェアレベリングは、特定の位置にアクセスが不均衡に分配されないように、メモリ全体でアクセスサイクルの緩和を試みる。そのような不均衡の分配は、いくつかの位置が読出し/書込みライフサイクルを早期に使い果たす原因になり得る。両方の属性について、ステップ321に示すように、アクセス密度がより低い領域150へデータを移すことが可能であるかを決定するべく、チェックを行う。そうであれば、メモリコントローラ(MC)110は、アクセスサイクルに対してより許容度が高い別のメモリ領域150に、そのデータを移動する(より長い読出し/書出し寿命が利用可能)。したがって、マッピングは、データ保持時間に対応してタイマー入力を受信するためのヒューリスティックをさらに呼び出すことが可能である。また、マッピングは、限界に近づいているデータが領域150の保持時間に存在する場合、そのデータを特定する。MC110は、メモリ使用量を、受信したタイマー入力に基づいて、より高い保持時間を持つ領域にリダイレクトする。
図4は、図1のコンピュータメモリ環境におけるメモリ領域の積層実装を示す。図1および4を参照して、異なるアーキテクチャは、異なるアクセス媒体(例えばスルーシリコンビア(TSV)122')によりメモリ領域を配置してもよい。他の構成では、領域150は、上記のように、スタックダイメモリ配列120'によりアクセス可能なTSV領域150−11〜150−14とバスがアクセス可能なバンクとを含む。さらに、異なる領域は、異なる電力ドメインに対応してもよく、電力消費量および発熱の制御をさらに強化する。
当業者は、本明細書中で定義されたプログラムおよび方法が多くの形態でユーザプロセッシングおよびレンダリングデバイスに到達可能であることを容易に理解する。これらの形態は、限定されるものではないが、a)ROMデバイスのなどの書込不可記憶媒体に永久的に格納されている情報、b)フロッピー(登録商標)ディスク、磁気テープ、CD、RAMデバイス、ならびに他の磁気および光学媒体などの書き込み可能な持続性記憶媒体上に、変更可能なかたちで格納された情報、あるいはc)インターネットまたは電話モデム回線などの電子ネットワークに見られるように、通信媒体を介してコンピュータに伝えられる情報が含まれる。操作および方法はソフトウェア実行可能なオブジェクトに実装されてもよく、または命令に応答するプロセッサによる実行のための1セットの符号化命令として実装されてもよい。あるいは、本明細書中に開示された操作および方法は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、状態機械、コントローラなどのハードウェア構成要素または他のハードウェア構成要素もしくはデバイス、あるいはハードウェア、ソフトウェア、およびファームウェア構成要素の組み合わせを用いて、全体的または部分的に具体化されてもよい。
本明細書中に定義されたシステムおよび方法がそれらの実施形態を参照して示され、かつ説明されているとはいえ、添付した特許請求の範囲に包含される発明の範囲から逸脱することなく種々の変更を形態および詳細に加えることが可能であることを当業者は容易に理解されよう。

Claims (25)

  1. 各々の領域が複数の属性により定義されてプロセッサに応答する、複数の領域にメモリを区画化する段階と、
    データの予想使用量に従って前記データを特徴付ける段階と、
    前記データの前記予想使用量に基づいて前記データを格納すべく前記複数の領域から1つの領域を選択する段階とを備える、
    メモリにアクセスする方法。
  2. 前記データの前記予想使用量は、前記データのアクセス頻度、前記データの検索における有用性、および前記データの寿命の少なくとも1つに基づく、請求項1に記載の方法。
  3. 前記データは、検索が実行される前記領域をはっきり特定することなしに前記複数の領域のいずれかから、格納可能および検索可能である、請求項1または2に記載の方法。
  4. 前記予想使用量に応じて前記領域の前記複数の属性を動的に変更する段階をさらに備える、請求項1から3のいずれか一項に記載の方法。
  5. 前記メモリの前記領域のアクセス期間と保持期間とを特定する段階と、
    前記領域の電圧属性を、電力消費量および速度の必要性に基づいて前記予想使用量に従って電圧の値が変更されるように、変更する段階をさらに備える、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記データを保つための前記保持期間中、前記電圧がより低くなり、前記データを速く検索するための前記アクセス期間中、前記電圧がより高くなるように、前記領域の電圧属性を変更する段階をさらに備える、請求項5に記載の方法。
  7. 前記メモリの前記領域に格納されている前記データの今後のアクセス期間を特定する段階と、
    前記アクセス期間に先立って前記データを前記メモリの代替領域へ移動する段階とをさらに備え、
    前記代替領域は、まれに使用されるが、使用中に速いアクセスを必要とするデータに応じて速いアクセスに対応する複数の属性を有する、請求項1から6のいずれか一項に記載の方法。
  8. 電力補正の必要を示す前記メモリの領域のメモリセンサ入力に基づいて特定する段階と、
    前記特定された高温に応じて電力消費量および発熱を少なくするために前記領域の前記複数の属性を変更する段階とをさらに備える、請求項1から7のいずれか一項に記載の方法。
  9. より優先度が高い属性を示す複数の領域が有利であるように前記複数の属性の優先度を示す動作モードを特定する段階と、
    高い優先度に対応している複数の属性を示す複数の領域を優先するとともに、より低い優先度に対応している複数の属性を示す複数の領域はより低い頻度で使用されるように、前記属性の優先度に基づいて前記データをマッピングする段階とをさらに備える、請求項1から8のいずれか一項に記載の方法。
  10. 動作モードは、前記複数の属性に基づく使用に関して前記複数の領域に優先順位をつけ、前記動作モードは、
    速い検索を行う複数のメモリ領域を優先する性能モードと、
    許容可能な検索時間を有する低電力消費量の複数の領域を優先する効率モードと、
    応答性を保ちながら最小の電力および熱負荷で動作を保つための高保持時間を有する複数の領域を優先するレジリエンスモードとを含む、請求項1から8のいずれか一項に記載の方法。
  11. 前記選択する段階は、前記複数の属性と前記予想使用量との間をマッピングする段階を備え、
    性能属性は、前記メモリの領域から前記データが再呼び出しされる速度を特定し、複数のタイミング感度が高い計算において頻繁にアクセスされたデータに使用され、
    保持属性は、前記データが電力再生なしに前記メモリの領域に残る持続時間を特定し、複数の待ち時間許容計算においてまれにアクセスされたデータに使用され、ならびに、
    効率属性は、前記メモリの領域内に前記データを維持するための電力消費量を示しており、熱またはバッテリ上の複数の問題がメモリアクセスを制限する場合に使用される、請求項1から10のいずれか一項に記載の方法。
  12. 前記メモリの複数の領域から複数の動作統計を受信する段階をさらに含み、前記複数の属性は、前記受信した複数の動作統計に基づく、請求項1から11のいずれか一項に記載の方法。
  13. 前記複数の動作統計は、温度、複数の統計用カウンタ、および複数のタイムアウトカウンタを含む、請求項12に記載の方法。
  14. マッピングの段階は、
    頻繁にアクセスされた複数の領域の温度に対するセンサフィードバックを受信し、
    前記受信したセンサフィードバックに基づいて使用量がより低い複数の領域にメモリ使用量をリダイレクトするためのヒューリスティックを呼び出す段階をさらに備える、請求項1から13のいずれか一項に記載の方法。
  15. マッピングの段階は、
    複数の領域へのアクセスのための複数のカウンタを保ち、
    アクセス数が多い複数の領域からアクセス数が少ない複数の領域へメモリ使用量をリダイレクトするためのヒューリスティックを呼び出す段階をさらに備える、請求項1から13のいずれか一項に記載の方法。
  16. マッピングの段階は、
    複数のデータ保持時間に対応してタイマー入力を受信し、前記領域の保持時間に存在する場合、限界に近づいているデータを特定し、
    前記受信したタイマー入力に基づいて、より高い保持時間を持つ複数の領域にメモリ使用量をリダイレクトするためのヒューリスティックを呼び出す段階をさらに備える、
    請求項1から13のいずれか一項に記載の方法。
  17. 前記複数の領域は、複数のスタックダイメモリ配列によりアクセス可能な複数のスルーシリコンビア(TSV)領域とバスがアクセス可能な複数のバンクとを有する、請求項1から16のいずれか一項に記載の方法。
  18. 各々の領域が複数の属性により定義されて複数のメモリ領域に分割されるメモリと、
    データの予想使用量に従って前記データを特徴付けるヒューリスティック論理と、
    前記領域の前記複数の属性との前記予想使用量の相関に基づいて前記複数のメモリ領域の1つの領域へ前記データをマッピングするためのメモリアクセス媒体と、
    前記マッピングされたデータをレンダリングするためのディスプレイとを備える、メモリコントローラ。
  19. 前記データの予想使用量は、前記データのアクセス頻度、前記データの検索における有用性、および前記データの寿命の少なくとも1つに基づく、請求項18に記載のメモリコントローラ。
  20. 前記分割されたメモリの各領域は、前記データが格納される前記メモリの領域を考慮することなく同じやり方でメモリコントローラからアドレッシング可能な状態を保つ、請求項18または19に記載のメモリコントローラ。
  21. 前記複数のメモリ領域は、前記予想使用量に応じて前記複数の属性の動的変更用である、請求項18から20のいずれか一項に記載のメモリコントローラ。
  22. ヒューリスティック論理は動作モードを定義し、
    前記動作モードは、より優先度の高い属性を示す複数の領域が有利であるように前記複数の属性の優先度を表し、
    前記メモリアクセス媒体は、高い優先度に対応している複数の属性を示す複数の領域が望まれるとともに、より低い優先度に対応している複数の属性を示す複数の領域はより低い頻度で使用されるように、前記属性の優先度に基づいて前記データをマッピングするために、前記ヒューリスティック論理に応答する、請求項18から21のいずれか一項に記載のメモリコントローラ。
  23. 前記ヒューリスティック論理は、前記複数の属性に基づいて前記複数のメモリ領域に優先順位をつけるための複数の動作モードを備え、
    前記複数の動作モードは、速い検索を行う複数のメモリ領域を優先する性能モードと、
    許容可能な検索時間を有する低電力消費量の複数の領域を優先する効率モードと、
    応答性を保ちながら最小の電力および熱負荷で動作を保つための高保持時間を有する複数の領域を優先するレジリエンスモードとを含む、請求項18から22のいずれか一項に記載のメモリコントローラ。
  24. 前記ヒューリスティック論理は、複数の属性と使用量との間のマッピングが実行されるようにし、
    性能属性は、前記メモリの領域からデータが再呼び出しされる速度を特定し、複数のタイミング感度が高い計算において頻繁にアクセスされたデータに使用され、
    保持属性は、前記データが電力再生なしに前記メモリの領域に残る持続時間を特定し、複数の待ち時間許容計算においてまれにアクセスされたデータに使用され、ならびに、
    効率属性は、メモリの領域内にデータを保つための電力消費量を示しており、熱またはバッテリ上の問題がメモリアクセスを制限する場合に使用される、請求項18から23のいずれか一項に記載のメモリコントローラ。
  25. メモリにアクセスするためのプログラムであって、
    コンピュータに、メモリを、各々の領域が複数の属性により定義される複数の領域に区画化する段階と、
    データの予想使用量に従って前記データを特徴付ける段階と、
    前記領域の前記複数の属性との前記予想使用量の相関に基づいて前記複数の領域の1つの領域へ前記データをマッピングする段階と、を実行させる、プログラム。
JP2014166408A 2013-09-18 2014-08-19 ヘテロジニアスメモリアクセス Active JP5883089B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/030,515 US9513692B2 (en) 2013-09-18 2013-09-18 Heterogenous memory access
US14/030,515 2013-09-18

Publications (2)

Publication Number Publication Date
JP2015060589A true JP2015060589A (ja) 2015-03-30
JP5883089B2 JP5883089B2 (ja) 2016-03-09

Family

ID=51726972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014166408A Active JP5883089B2 (ja) 2013-09-18 2014-08-19 ヘテロジニアスメモリアクセス

Country Status (7)

Country Link
US (1) US9513692B2 (ja)
JP (1) JP5883089B2 (ja)
KR (1) KR101675199B1 (ja)
CN (1) CN104636263B (ja)
DE (1) DE102014111990B4 (ja)
GB (1) GB2519641B (ja)
TW (1) TWI536256B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021043654A (ja) * 2019-09-10 2021-03-18 富士通株式会社 情報処理装置及びプロセス配置決定プログラム

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014044527A (ja) * 2012-08-24 2014-03-13 Canon Inc 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP2016177689A (ja) * 2015-03-20 2016-10-06 株式会社東芝 メモリシステム
CN104978303B (zh) * 2015-06-19 2019-06-04 上海兆芯集成电路有限公司 单芯片整合的传感器集线器和多传感器管理方法
US9575671B1 (en) * 2015-08-11 2017-02-21 International Business Machines Corporation Read distribution in a three-dimensional stacked memory based on thermal profiles
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US11294588B1 (en) * 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
JP6690829B2 (ja) * 2015-08-28 2020-04-28 国立大学法人 東京大学 計算機システム、省電力化方法及び計算機
KR20170030307A (ko) * 2015-09-09 2017-03-17 삼성전자주식회사 분리 배치된 커패시터를 갖는 메모리 장치
US10013174B2 (en) * 2015-09-30 2018-07-03 Western Digital Technologies, Inc. Mapping system selection for data storage device
US20170131947A1 (en) * 2015-11-06 2017-05-11 Pho Hoang Data and collection methods to analyze life acceleration of SSD with real usages
US20170162235A1 (en) * 2015-12-02 2017-06-08 Qualcomm Incorporated System and method for memory management using dynamic partial channel interleaving
US9747049B2 (en) * 2015-12-03 2017-08-29 Huawei Technologies Co., Ltd. Computer memory management method and system
US10079650B2 (en) 2015-12-04 2018-09-18 Infineon Technologies Ag Robust high speed sensor interface for remote sensors
US10896138B2 (en) * 2016-05-27 2021-01-19 Apple Inc. Dynamically controlling random access memory retention in a wireless device
US10534545B2 (en) * 2017-12-20 2020-01-14 International Business Machines Corporation Three-dimensional stacked memory optimizations for latency and power
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US10880401B2 (en) 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
WO2019172622A1 (ko) * 2018-03-09 2019-09-12 삼성전자(주) 전자장치 및 그 제어방법
KR102091409B1 (ko) * 2018-03-09 2020-03-20 삼성전자 주식회사 전자장치 및 그 제어방법
US10877892B2 (en) 2018-07-11 2020-12-29 Micron Technology, Inc. Predictive paging to accelerate memory access
US10720217B1 (en) * 2019-01-29 2020-07-21 Silicon Storage Technology, Inc. Memory device and method for varying program state separation based upon frequency of use
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US11144467B2 (en) * 2019-05-17 2021-10-12 Intel Corporation Bypassing cache memory in a write transaction in a system with multi-level memory
CN112882646A (zh) * 2019-11-29 2021-06-01 北京金山云网络技术有限公司 一种资源缓存方法、装置、电子设备及存储介质
KR20220003837A (ko) * 2020-07-02 2022-01-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11561907B2 (en) * 2020-08-18 2023-01-24 Micron Technology, Inc. Access to data stored in quarantined memory media
KR20220030348A (ko) 2020-08-27 2022-03-11 삼성전자주식회사 메모리 장치
US11928509B2 (en) * 2021-01-07 2024-03-12 Micron Technology, Inc. Memory system workload allocation

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216053A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 最適メモリ配置演算装置及び最適メモリ配置方法
JP2008040606A (ja) * 2006-08-02 2008-02-21 Hitachi Ltd 低消費電力メモリ管理方法及びその方法を用いた計算機
US20080276051A1 (en) * 2007-05-04 2008-11-06 Atmel Corporation Configurable Memory Protection
JP2009048613A (ja) * 2007-08-14 2009-03-05 Samsung Electronics Co Ltd ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
JP2009064112A (ja) * 2007-09-04 2009-03-26 Fujitsu Microelectronics Ltd メモリへのコード転送方法
JP2010518546A (ja) * 2007-02-16 2010-05-27 モサイド・テクノロジーズ・インコーポレーテッド ダイナミックマルチモード動作を有する不揮発性メモリ
JP2011022933A (ja) * 2009-07-17 2011-02-03 Toshiba Corp メモリ管理装置を含む情報処理装置及びメモリ管理方法
JP2011513805A (ja) * 2008-01-10 2011-04-28 ディスキーパー・コーポレイション 保存耐用年数および速度に基づいたファイル保存のための保存場所の選択
JP2011095974A (ja) * 2009-10-29 2011-05-12 Toshiba Corp 情報処理装置およびメモリ制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7830690B2 (en) * 2006-10-30 2010-11-09 Intel Corporation Memory module thermal management
JP4620722B2 (ja) 2007-12-26 2011-01-26 富士通株式会社 データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム
US20100138677A1 (en) * 2008-12-01 2010-06-03 International Business Machines Corporation Optimization of data distribution and power consumption in a data center
US7653826B1 (en) * 2009-01-20 2010-01-26 International Business Machines Corporation Method and apparatus for query optimization and management of sleepy drives
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
US8589650B2 (en) * 2010-05-17 2013-11-19 Texas Instruments Incorporated Dynamically configurable memory system
US8472274B2 (en) 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
US8983911B2 (en) 2011-06-20 2015-03-17 Microsoft Technology Licensing, Llc Storage media abstraction for uniform data storage
WO2013048518A1 (en) 2011-09-30 2013-04-04 Intel Corporation Dynamic operations for 3d stacked memory using thermal data
US9703500B2 (en) * 2012-04-25 2017-07-11 International Business Machines Corporation Reducing power consumption by migration of data within a tiered storage system
US9626126B2 (en) * 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216053A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 最適メモリ配置演算装置及び最適メモリ配置方法
JP2008040606A (ja) * 2006-08-02 2008-02-21 Hitachi Ltd 低消費電力メモリ管理方法及びその方法を用いた計算機
JP2010518546A (ja) * 2007-02-16 2010-05-27 モサイド・テクノロジーズ・インコーポレーテッド ダイナミックマルチモード動作を有する不揮発性メモリ
US20080276051A1 (en) * 2007-05-04 2008-11-06 Atmel Corporation Configurable Memory Protection
JP2009048613A (ja) * 2007-08-14 2009-03-05 Samsung Electronics Co Ltd ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
JP2009064112A (ja) * 2007-09-04 2009-03-26 Fujitsu Microelectronics Ltd メモリへのコード転送方法
JP2011513805A (ja) * 2008-01-10 2011-04-28 ディスキーパー・コーポレイション 保存耐用年数および速度に基づいたファイル保存のための保存場所の選択
JP2011022933A (ja) * 2009-07-17 2011-02-03 Toshiba Corp メモリ管理装置を含む情報処理装置及びメモリ管理方法
JP2011095974A (ja) * 2009-10-29 2011-05-12 Toshiba Corp 情報処理装置およびメモリ制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021043654A (ja) * 2019-09-10 2021-03-18 富士通株式会社 情報処理装置及びプロセス配置決定プログラム

Also Published As

Publication number Publication date
TWI536256B (zh) 2016-06-01
US9513692B2 (en) 2016-12-06
CN104636263A (zh) 2015-05-20
CN104636263B (zh) 2021-05-28
KR101675199B1 (ko) 2016-11-10
GB2519641B (en) 2018-05-02
TW201523435A (zh) 2015-06-16
JP5883089B2 (ja) 2016-03-09
GB2519641A (en) 2015-04-29
GB201414980D0 (en) 2014-10-08
DE102014111990B4 (de) 2023-11-30
KR20150032478A (ko) 2015-03-26
DE102014111990A1 (de) 2015-03-19
US20150082062A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
JP5883089B2 (ja) ヘテロジニアスメモリアクセス
US11966581B2 (en) Data management scheme in virtualized hyperscale environments
US10572150B2 (en) Memory network with memory nodes controlling memory accesses in the memory network
US9128845B2 (en) Dynamically partition a volatile memory for a cache and a memory partition
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
US20160085585A1 (en) Memory System, Method for Processing Memory Access Request and Computer System
JP7482905B2 (ja) ストレージシステム、メモリ管理方法、および管理ノード
JP2017138853A (ja) 情報処理装置およびプログラム
US10528462B2 (en) Storage device having improved write uniformity stability
US11182100B2 (en) SSD temperature control technique
Dong et al. Correlation based file prefetching approach for hadoop
CN115904212A (zh) 数据处理的方法、装置、处理器和混合内存系统
CN108139983B (zh) 用于在多级系统存储器中固定存储器页面的方法和设备
KR20180078512A (ko) 반도체 장치
CN115495433A (zh) 一种分布式存储系统、数据迁移方法及存储装置
JP2018206377A (ja) 書き換え可能なインプレースメモリを有するデータ記憶装置
WO2024098795A1 (zh) 内存管理方法、装置和相关设备
US20230315293A1 (en) Data management scheme in virtualized hyperscale environments
CN118276771A (zh) 一种numa架构下nvm文件并行访问方法
Rai et al. Challenges in Design, Data Placement, Migration and Power-Performance Trade-offs in DRAM-NVM-based Hybrid Memory Systems
Jung et al. Temporal Locality with a Long Interval: Hybrid Memory System for High-Performance and Low-Power
Huang A New Write Caching Algorithm for Solid State Disks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151113

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160204

R150 Certificate of patent or registration of utility model

Ref document number: 5883089

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250