JP2016129041A - 永続記憶装置へのライトバックを必要とする非トランザクションコード領域の先頭および終端を指し示す命令 - Google Patents
永続記憶装置へのライトバックを必要とする非トランザクションコード領域の先頭および終端を指し示す命令 Download PDFInfo
- Publication number
- JP2016129041A JP2016129041A JP2016025122A JP2016025122A JP2016129041A JP 2016129041 A JP2016129041 A JP 2016129041A JP 2016025122 A JP2016025122 A JP 2016025122A JP 2016025122 A JP2016025122 A JP 2016025122A JP 2016129041 A JP2016129041 A JP 2016129041A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- processor
- instruction
- random access
- 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
Links
- 230000008859 change Effects 0.000 claims abstract description 45
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 302
- 230000008569 process Effects 0.000 claims description 51
- 238000000034 method Methods 0.000 claims description 48
- 230000002085 persistent effect Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 8
- 238000011010 flushing procedure Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 19
- 238000005516 engineering process Methods 0.000 description 18
- 230000005291 magnetic effect Effects 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000002688 persistence Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- JWZQBEUBJXSDPP-UHFFFAOYSA-N 5-cyclohexyl-6-methylpyrimidine-2,4-diamine Chemical compound CC1=NC(N)=NC(N)=C1C1CCCCC1 JWZQBEUBJXSDPP-UHFFFAOYSA-N 0.000 description 2
- 101100072002 Arabidopsis thaliana ICME gene Proteins 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 239000005387 chalcogenide glass Substances 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011982 device technology Methods 0.000 description 2
- CGIGDMFJXJATDK-UHFFFAOYSA-N indomethacin Chemical compound CC1=C(CC(O)=O)C2=CC(OC)=CC=C2N1C(=O)C1=CC=C(Cl)C=C1 CGIGDMFJXJATDK-UHFFFAOYSA-N 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920003227 poly(N-vinyl carbazole) Polymers 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】プロセッサ100は、不揮発性ランダムアクセスメモリおよび論理回路に対するインターフェースを備える。論理回路は、不揮発性ランダムアクセスメモリに書込を行う非トランザクション処理の開始と、キャッシュラインの変更を監視するハードウェアをイネーブルにするトランザクション処理の開始との何れかを検知する。非トランザクション処理の終了を検知した場合に、修正されたキャッシュラインを不揮発性ランダムアクセスメモリにライトバックする。トランザクション処理の終了を検知した場合に、コミットとロールバックとの何れかを行う。
【選択図】図1
Description
今日のコンピュータ分野でのイノベーションが限定されてしまう要因の一つとして、メモリおよび記憶装置に関する技術が挙げられる。従来のコンピュータシステムでは、システムメモリ(メインメモリ、主メモリ、実行可能メモリとも呼ばれる)は通常、ダイナミックランダムアクセスメモリ(DRAM)によって実現される。DRAMベースのメモリは、メモリの読み書きが発生していない場合でも電力を消費する。これは、内部キャパシタを常に充電する必要があるためである。DRAMベースのメモリは、揮発性である。つまり、DRAMメモリに格納されているデータは、電力が無くなると失われてしまう。また、従来のコンピュータシステムは、性能を改善するべく複数のレベルにおけるキャッシュを利用する。キャッシュは、プロセッサとシステムメモリとの間に配置され、システムメモリから対応するよりも高速にメモリアクセス要求に対応する高速メモリである。このようなキャッシュは通常、スタティックランダムアクセスメモリ(SRAM)で実現される。キャッシュ管理プロトコルは、最も高い頻度でアクセスされるデータおよび命令を複数のキャッシュレベルのうち1つに格納するために用いられるとしてよく、これによって、メモリアクセス処理の数を少なくし、性能を向上させる。
相変化メモリ(PCM)は、相変化ランダムアクセスメモリ(PRAMまたはPCRAM)、PCME、オボニックユニファイドメモリまたはカルコゲニドRAM(C−RAM)と呼ばれることもあり、カルコゲニドガラスの独特の挙動を利用する不揮発性コンピュータメモリの一種である。電流が流れることによって熱が発生する結果、カルコゲニドガラスは、結晶状態およびアモルファス状態という2つの状態の間で切り替えることができる。PCMの最近のバージョンは、追加で2つの別箇の状態を実現することができる。
メモリの容量および性能に関する要件は、プロセッサコアの数が増加するにつれて、そして、仮想化等の新しい利用モデルの登場によって、増加の一途をたどっている。また、メモリの電力およびコストは、電子システム全体の電力およびコストに大きな割合を占めるようになっている。
NVRAMとして多くの技術を選択することが可能である。例えば、PCM、相変化メモリおよびスイッチ(PCMS)(PCMSはPCMをより詳細に規定したもの)、バイトアドレッシング可能永続メモリ(BPRAM)、ストレージクラスメモリ(SCM)、ユニバーサルメモリ、Ge2Sb2Te5、プログラマブルメタライゼーションセル(PMC)、抵抗性メモリ(RRAM(登録商標))、RESET(アモルファス)セル、SET(結晶性)セル、PCME、オブシンスキ(Ovshinsky)メモリ、強誘電体メモリ(ポリマーメモリおよびポリ(N−ビニルカルバゾール)としても知られている)、強磁性メモリ(スピントロニクス(Spintronics)としても知られている)、SPRAM(スピン移動トルクRAM)、STRAM(スピントンネリングRAM)、磁気抵抗メモリ、磁気メモリ、磁気ランダムアクセスメモリ(MRAM))および半導体−酸化物−窒化物−酸化物−半導体(SONOS、誘電体メモリとしても知られている)がある。
1)ソリッドステートディスク(SSD)で用いられているフラッシュメモリと同様に、電力供給が無くなっても内容を維持し、揮発性であるSRAMおよびDRAMとは異なる。
2)SRAMおよびDRAM等の揮発性メモリより消費電力が少ない。
3)SRAMおよびDRAMと同様にランダムアクセス(ランダムにアドレッシングが可能、とも呼ばれる)である。
4)SSD内のFLASH(一度に「ブロック」単位でのみ書き換えおよび消去が実行され得る、NOR FLASHでは最小サイズが64キロバイト、NAND FLASHでは16キロバイト)より細かい粒度(例えば、バイトレベル)で書き換え可能および消去可能である。
5)システムメモリとして利用され、システムメモリアドレス空間の全てまたは一部分が割り当てられる。
6)アウトオブオーダ処理をサポートするべく識別子(ID)をサポートするプロトコルを用いるバスであって、システムメモリとしてNVRAMの動作をサポートするために十分細かい粒度(例えば、64バイトまたは128バイト等のキャッシュラインサイズ)でのアクセスを可能とするバスを介してプロセッサに結合可能、例えば、バスは、非アウトオブオーダメモリバスであってよい(例えば、DDR3、DDR4等のDDRバス)。別の例として、バスは、PCI Express(PCIE)バス、デスクトップ管理インターフェース(DMI)バス、または、アウトオブオーダプロトコルを利用し、ペイロードサイズが十分に小さい(例えば、64バイトまたは128バイト等のキャッシュラインサイズ)任意のその他の種類のバスであってよい。
7)以下のうち1以上である。
a)フラッシュ等の不揮発性メモリ/記憶装置技術よりも書込速度が速い。
b)読出速度が超高速(フラッシュよりも早く、DRAM読出速度に近いか、または、同等)である。
c)直接書込可能(SSDで利用されているフラッシュメモリのように、データを書き込む前に消去(1sで上書き)が必要になるのではない)である。
d)故障までの書込回数が増加(ブートROMおよびSSDで用いられるフラッシュよりも多い)する。
本発明の一部の実施形態のファーメモリ122は、NVRAMで実現されるが、任意の特定のメモリ技術には必ずしも限定されない。ファーメモリ122は、メモリ/記憶装置ヒエラルキーにおける特性および/または用途に関して、他の命令およびデータ用のメモリ/記憶装置技術とは区別され得る。例えば、ファーメモリ122は、以下のような相違点を持つ。
1)プロセッサコア101−104のそれぞれに専用のレベル0およびレベル1の内部プロセッサキャッシュ101a−b、102a−b、103a−b、および104a−bに、そして、複数のプロセッサコアが共有する低レベルキャッシュ(LLC)105に利用され得るスタティックランダムアクセスメモリ(SRAM)
2)プロセッサ100の内部にある(例えば、プロセッサ100と同じダイ上にある)キャッシュ106として構成されており、および/または、プロセッサの外部にある(例えば、プロセッサ100と同じパッケージまたは異なるパッケージ内)1以上のキャッシュ107−109として構成されているダイナミックランダムアクセスメモリ(DRAM)
3)大容量記憶装置として適用されるフラッシュメモリ/磁気ディスク/光ディスク(不図示)
4)ファームウェアメモリとして適用されるフラッシュメモリまたはその他のリードオンリーメモリ(ROM)等のメモリ(ブートROM、BIOSフラッシュおよび/またはTPMフラッシュと呼ぶ)(不図示)
「ニアメモリ」121は、ファーメモリ122の前方に設定されている中間レベルのメモリである。ファーメモリに比べて読み書きアクセスレイテンシが低く、および/または、読み書きアクセスレイテンシの対称度がより高い(つまり、読み出し時間は、書き込み時間と大体同じである)。一部の実施形態では、ニアメモリ121は、書き込みレイテンシがファーメモリ122よりもはるかに低いが、読み出しレイテンシは同等である(例えば、わずかに低いだけか、または、同等である)。例えば、ニアメモリ121は、揮発性ランダムアクセスメモリ(VRAM)等の揮発性メモリであってよく、DRAMまたは他の高速キャパシタベースメモリを含むとしてもよい。しかし、本発明の基礎となる原理はこれらの具体的な種類のメモリに限定されないことに留意されたい。これに加えて、ニアメモリ121は、密度が比較的低いとしてよく、および/または、ファーメモリ122よりも製造コストが高いとしてもよい。
図1は、本発明の実施形態において、さまざまなレベルのキャッシュ101−109がシステム物理アドレス(SPA)空間116−119に対してどのように構成されているかを示す図である。記述したように、本実施形態は、1以上のコア101−104を有するプロセッサ100を備える。各コアは、自身の専用の上位キャッシュ(L0)101a−104aおよび中位キャッシュ(MLC)(L1)キャッシュ101b−104bを含む。プロセッサ100はさらに、共有LLC105を含む。これらのさまざまなキャッシュレベルの動作は、広く理解されており、ここでは詳細な説明を省略する。
1)プロセッサキャッシュ150A(例えば、図1におけるキャッシュ101A−105)を含み、および、任意で(本明細書で説明するように特定の動作モードで)ファーメモリのキャッシュとしてニアメモリ150Bを含むキャッシュレベル150
2)ニアメモリが存在する場合ファーメモリ151B(例えば、PCM等のNVRAM)を含み、(または、ニアメモリが存在しない場合には、システムメモリ174としてNVRAMのみを含む)、任意で(本明細書で説明する特定の動作モードにおいて)システムメモリ151Aとして動作するニアメモリを含むシステムメモリレベル151
3)フラッシュ/磁気/光大容量記憶装置152Bおよび/またはNVRAM大容量記憶装置152A(例えば、NVRAM142の一部)を含む大容量記憶装置レベル152
4)BIOSフラッシュ170および/またはBIOS NVRAM172、ならびに、任意でトラステッドプラットフォームモジュール(TPM)NVRAM173を含むファームウェアメモリレベル153
1)ライトバックキャッシュモード、このモードでは、FMキャッシュとして動作しているニアメモリ150Bの全てまたは一部分が、NVRAMファーメモリ(FM)151Bのキャッシュとして用いられる。ライトバックモードでは、どの書込処理も最初にFMのキャッシュとしてのニアメモリ150Bに誘導する(書込の誘導先のキャッシュラインがキャッシュ内に存在すると仮定する)。対応する書込処理は、FMのキャッシュとしてのニアメモリ150B内のキャッシュラインを、別のキャッシュラインで置換すべきである場合にのみ(後述するライトスルーモードとは対照的、ライトスルーモードでは、各書込処理は即座にNVRAM FM151Bに伝搬させる)、NVRAM FM151Bを更新するために実行される。
2)ニアメモリバイパスモード、このモードでは、全ての読み出しおよび書き込みは、FMキャッシュとして動作しているNM150Bをバイパスして、NVRAM FM151Bに直接向かう。このようなモードは、例えば、アプリケーションがキャッシュに寛容でないか、または、キャッシュラインの粒度で永続性にデータをコミットさせる必要がある場合に用いられるとしてよい。一実施形態によると、プロセッサキャッシュ150A、および、FMキャッシュとして動作するNM150Bが実行するキャッシュは、互いに独立して動作する。この結果、データは、FMキャッシュとして動作しているNM150Bにキャッシュされるとしてよい。プロセッサキャッシュ150Aにキャッシュされない(場合によっては、プロセッサキャッシュ150Aにキャッシュすることが許可されていない)。逆も同様である。このように、プロセッサキャッシュに「キャッシュ不可能」と指定されている特定のデータは、FMキャッシュとして動作しているNM150Bにキャッシュされるとしてよい。
3)ニアメモリ読出−キャッシュ書込バイパスモード、これは、NVRAM FM151Bからの永続的データの読出キャッシュが許可される、上記のモードの変形版である(つまり、永続的データは、読み出し限定処理について、ファーメモリのキャッシュとしてのニアメモリ150Bにキャッシュされる)。これは、永続的データの大半が「読み出し限定」であり、アプリケーション利用がキャッシュに寛容である場合に、有用である。
4)ニアメモリ読出−キャッシュライトスルーモード、これは、ニアメモリ読出−キャッシュ書込バイパスモードの変形版である。読出キャッシュに加えて、書込ヒットもキャッシュされる。FMのキャッシュとしてのニアメモリ150Bへの書き込みは全て、FM151Bへの書き込みを発生させる。このため、キャッシュのライトスルー特性のために、キャッシュラインの永続性は依然として保証される。
プロセッサ設計者は現在、マルチスレッドソフトウェアの「トランザクション」サポートを可能とする改良された命令セットを設計している。従来の(つまり、非トランザクション)マルチスレッドソフトウェアでは、プログラムはデータを「ロック」で保護する。どの時点においても1つのスレッドのみがロックを保持することができる。このため、他のスレッドはこのデータを同時に修正できないようにすることができる。これは悲観的になる傾向がある。ロックを持つスレッドは、希望する処理がデータの読み出しのみであっても、または、衝突が発生しない更新を行う場合であっても、どのスレッドでも当該ロックを取得しないように阻止する。
本実施形態の例を下記の各項目として示す。
[項目1]
不揮発性ランダムアクセスメモリに対するインターフェースと、
論理回路と
を備え、
前記論理回路は、
前記不揮発性ランダムアクセスメモリに永続的に保存すべき、トランザクションによって修正されたキャッシュラインを特定し、
前記不揮発性ランダムアクセスメモリに永続的に保存すべき、ソフトウェアプロセスによって修正されたキャッシュラインを特定する、プロセッサ。
[項目2]
前記不揮発性ランダムアクセスメモリは、相変化メモリである項目1に記載のプロセッサ。
[項目3]
前記不揮発性ランダムアクセスメモリは、相変化メモリおよびスイッチである項目2に記載のプロセッサ。
[項目4]
前記ソフトウェアプロセスの開始点を特定する前記ソフトウェアプロセスの第1の命令を実行し、前記ソフトウェアプロセスの終了点を特定する前記ソフトウェアプロセスの第2の命令を実行する命令実行パイプラインをさらに備え、
前記開始点と前記終了点との間で前記ソフトウェアプロセスが行ったデータ変更は、前記不揮発性ランダムアクセスメモリに永続的に保存され、
前記命令実行パイプラインは、前記論理回路に結合されており、前記第1の命令に応じて前記論理回路をイネーブルし、前記第2の命令に応じて前記論理回路をディセーブルする項目1から3のいずれか一項に記載のプロセッサ。
[項目5]
前記命令実行パイプラインおよび前記論理回路に結合されているキャッシュフラッシュ回路をさらに備える項目4に記載のプロセッサ。
[項目6]
前記命令実行パイプラインは、前記キャッシュフラッシュ回路が、前記論理回路が特定した前記キャッシュラインのフラッシュを完了するまでは、更なる命令の実行を阻止する項目5に記載のプロセッサ。
[項目7]
プロセッサでトランザクションを実行する段階と、
ソフトウェアプロセスの一の領域の先頭および終端を指し示す前記ソフトウェアプロセスを前記プロセッサで実行する段階と
を備え、
前記トランザクションを実行する段階は、
1以上のキャッシュレベルにおけるデータ変更を実行する段階と、
前記データ変更が前記1以上のキャッシュレベルのどの箇所に存在するのかを監視する段階と、
前記データ変更は不揮発性ランダムアクセスメモリに永続的に保存されるか否かを判断する段階と、
前記トランザクションによって実行された前記データ変更を前記不揮発性ランダムアクセスメモリに永続的に保存する段階と
を有し、
前記ソフトウェアプロセスが実行したデータ変更は永続的に保存され、前記先頭と前記終端との間において前記ソフトウェアプロセスが実行した前記データ変更を監視し、前記一の領域の前記終端に到達すると、前記ソフトウェアプロセスが実行した前記データ変更を前記不揮発性ランダムアクセスメモリに永続的に保存する方法。
[項目8]
前記先頭は第1の命令で指し示され、前記終端は第2の命令で指し示される項目7に記載の方法。
[項目9]
前記不揮発性ランダムアクセスメモリは、相変化メモリで実現される項目7または8に記載の方法。
[項目10]
前記不揮発性ランダムアクセスメモリは、相変化メモリおよびスイッチで実現される項目9に記載の方法。
[項目11]
前記第1の命令に応じて前記プロセッサのハードウェアをイネーブルする段階をさらに備える項目8に記載の方法。
[項目12]
前記第2の命令に応じて前記プロセッサのハードウェアをディセーブルする段階をさらに備える項目8または11に記載の方法。
[項目13]
コンピュータに、
データ変更を永続性記憶装置に永続的に保存する、コードの一の領域を特定する手順と、
前記一の領域の先頭を第1の命令で指し示し、前記一の領域の終端を第2の命令で指し示す手順と
を実行させるプログラム。
[項目14]
前記第1の命令によって、プロセッサは、前記データ変更を監視するハードウェアをイネーブルする項目13に記載のプログラム。
[項目15]
前記第2の命令によって、プロセッサは、前記データ変更を監視するハードウェアをディセーブルする項目13または14に記載のプログラム。
[項目16]
前記第2の命令によって、前記データ変更を1以上のキャッシュレベルからフラッシュさせて、前記永続性記憶装置に格納させる
項目13から15のいずれか一項に記載のプログラム。
[項目17]
前記第2の命令は、前記データ変更が1以上のキャッシュレベルからのフラッシュおよび前記永続性記憶装置への格納を完了するまでは、更なる命令の実行を阻止する項目13から16のいずれか一項に記載のプログラム。
[項目18]
前記永続性記憶装置は、不揮発性ランダムアクセスメモリである項目13から17のいずれか一項に記載のプログラム。
[項目19]
前記永続性記憶装置は、相変化メモリである項目13から18のいずれか一項に記載のプログラム。
[項目20]
前記相変化メモリは、相変化メモリおよびスイッチである項目19に記載のプログラム。
Claims (19)
- 予め定められたキャッシュラインサイズで、キャッシュとして機能する揮発性メモリにアクセスするインターフェースと、
前記キャッシュラインサイズで不揮発性ランダムアクセスメモリにアクセスするインターフェースと、
論理回路と
を備え、
前記論理回路は、
前記不揮発性ランダムアクセスメモリに永続的に保存すべき、トランザクションによって修正されたキャッシュラインを前記揮発性メモリ内で特定し、
前記不揮発性ランダムアクセスメモリに永続的に保存すべき、ソフトウェアプロセスによって修正されたキャッシュラインを前記揮発性メモリ内で特定する、プロセッサ。 - 前記不揮発性ランダムアクセスメモリは、相変化メモリである請求項1に記載のプロセッサ。
- 前記不揮発性ランダムアクセスメモリは、相変化メモリおよびスイッチである請求項2に記載のプロセッサ。
- 前記ソフトウェアプロセスの開始点を特定する前記ソフトウェアプロセスの第1の命令を実行し、前記ソフトウェアプロセスの終了点を特定する前記ソフトウェアプロセスの第2の命令を実行する命令実行パイプラインをさらに備え、
前記開始点と前記終了点との間で前記ソフトウェアプロセスが行ったデータ変更は、前記不揮発性ランダムアクセスメモリに永続的に保存され、
前記命令実行パイプラインは、前記論理回路に結合されており、前記第1の命令に応じて前記論理回路をイネーブルし、前記第2の命令に応じて前記論理回路をディセーブルする請求項1から3のいずれか一項に記載のプロセッサ。 - 前記命令実行パイプラインおよび前記論理回路に結合されているキャッシュフラッシュ回路をさらに備える請求項4に記載のプロセッサ。
- 前記命令実行パイプラインは、前記キャッシュフラッシュ回路が、前記論理回路が特定した前記キャッシュラインのフラッシュを完了するまでは、更なる命令の実行を阻止する請求項5に記載のプロセッサ。
- キャッシュとして機能する揮発性メモリを用いて、プロセッサでトランザクションを実行する段階と、
キャッシュとして機能する前記揮発性メモリを用いて、ソフトウェアプロセスの一の領域の先頭および終端を指し示す前記ソフトウェアプロセスを前記プロセッサで実行する段階と
を備え、
前記トランザクションを実行する段階は、
1以上のキャッシュレベルにおけるデータ変更を実行する段階と、
前記データ変更が前記1以上のキャッシュレベルのどの箇所に存在するのかを監視する段階と、
前記データ変更は不揮発性ランダムアクセスメモリに永続的に保存されるか否かを判断する段階と、
前記トランザクションによって実行された前記データ変更を前記不揮発性ランダムアクセスメモリに永続的に保存する段階と
を有し、
前記ソフトウェアプロセスを前記プロセッサで実行する段階では、
前記ソフトウェアプロセスが実行したデータ変更は永続的に保存され、前記先頭と前記終端との間において前記ソフトウェアプロセスが実行した前記データ変更を監視し、前記一の領域の前記終端に到達すると、前記ソフトウェアプロセスが実行した前記データ変更を前記不揮発性ランダムアクセスメモリに永続的に保存し、
前記トランザクションを実行する段階及び前記ソフトウェアプロセスを前記プロセッサで実行する段階では、
予め定められたキャッシュラインサイズで前記揮発性メモリ及び前記不揮発性ランダムアクセスメモリに対してアクセスが行われる方法。 - 前記先頭は第1の命令で指し示され、前記終端は第2の命令で指し示される請求項7に記載の方法。
- 前記不揮発性ランダムアクセスメモリは、相変化メモリで実現される請求項7または8に記載の方法。
- 前記不揮発性ランダムアクセスメモリは、相変化メモリおよびスイッチで実現される請求項9に記載の方法。
- 前記第1の命令に応じて前記プロセッサのハードウェアをイネーブルする段階をさらに備える請求項8に記載の方法。
- 前記第2の命令に応じて前記プロセッサのハードウェアをディセーブルする段階をさらに備える請求項8または11に記載の方法。
- コンピュータに、
データ変更を不揮発性ランダムアクセスメモリである永続性記憶装置に永続的に保存する、コードの一の領域を特定する手順と、
前記一の領域の先頭を第1の命令で指し示し、前記一の領域の終端を第2の命令で指し示す手順と
を実行させ、
予め定められたキャッシュラインサイズで、キャッシュとして機能する揮発性メモリと、前記不揮発性ランダムアクセスメモリとに対してアクセスを行わせるプログラム。 - 前記第1の命令によって、プロセッサは、前記データ変更を監視するハードウェアをイネーブルする請求項13に記載のプログラム。
- 前記第2の命令によって、プロセッサは、前記データ変更を監視するハードウェアをディセーブルする請求項13または14に記載のプログラム。
- 前記第2の命令によって、前記データ変更を1以上のキャッシュレベルからフラッシュさせて、前記永続性記憶装置に格納させる
請求項13から15のいずれか一項に記載のプログラム。 - 前記第2の命令は、前記データ変更が1以上のキャッシュレベルからのフラッシュおよび前記永続性記憶装置への格納を完了するまでは、更なる命令の実行を阻止する請求項13から16のいずれか一項に記載のプログラム。
- 前記永続性記憶装置は、相変化メモリである請求項13から17のいずれか一項に記載のプログラム。
- 前記相変化メモリは、相変化メモリおよびスイッチである請求項18に記載のプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/843,760 US9547594B2 (en) | 2013-03-15 | 2013-03-15 | Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage |
US13/843,760 | 2013-03-15 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014052025A Division JP2014182836A (ja) | 2013-03-15 | 2014-03-14 | 永続記憶装置へのライトバックを必要とする非トランザクションコード領域の先頭および終端を指し示す命令 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017062809A Division JP6371431B2 (ja) | 2013-03-15 | 2017-03-28 | プロセッサ、方法、プログラム、およびコンピュータ可読記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016129041A true JP2016129041A (ja) | 2016-07-14 |
JP6121010B2 JP6121010B2 (ja) | 2017-04-26 |
Family
ID=50634767
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014052025A Pending JP2014182836A (ja) | 2013-03-15 | 2014-03-14 | 永続記憶装置へのライトバックを必要とする非トランザクションコード領域の先頭および終端を指し示す命令 |
JP2016025122A Active JP6121010B2 (ja) | 2013-03-15 | 2016-02-12 | 永続記憶装置へのライトバックを必要とする非トランザクションコード領域の先頭および終端を指し示す命令 |
JP2017062809A Active JP6371431B2 (ja) | 2013-03-15 | 2017-03-28 | プロセッサ、方法、プログラム、およびコンピュータ可読記録媒体 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014052025A Pending JP2014182836A (ja) | 2013-03-15 | 2014-03-14 | 永続記憶装置へのライトバックを必要とする非トランザクションコード領域の先頭および終端を指し示す命令 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017062809A Active JP6371431B2 (ja) | 2013-03-15 | 2017-03-28 | プロセッサ、方法、プログラム、およびコンピュータ可読記録媒体 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9547594B2 (ja) |
JP (3) | JP2014182836A (ja) |
KR (2) | KR101673280B1 (ja) |
CN (2) | CN104050112B (ja) |
BR (1) | BR102014006298A2 (ja) |
DE (1) | DE102014003668A1 (ja) |
GB (1) | GB2515146B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10529800B2 (en) | 2017-02-16 | 2020-01-07 | Fuji Electric Co., Ltd. | Semiconductor device |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193537B (zh) | 2011-12-23 | 2020-12-11 | 英特尔公司 | 经改进的插入指令的装置和方法 |
US9946540B2 (en) | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
JP6166616B2 (ja) * | 2013-08-07 | 2017-07-19 | 株式会社東芝 | 情報処理方法、情報処理装置及びプログラム |
US20150095578A1 (en) * | 2013-09-27 | 2015-04-02 | Kshitij Doshi | Instructions and logic to provide memory fence and store functionality |
US10019354B2 (en) * | 2013-12-09 | 2018-07-10 | Intel Corporation | Apparatus and method for fast cache flushing including determining whether data is to be stored in nonvolatile memory |
US20220350495A1 (en) * | 2014-06-04 | 2022-11-03 | Pure Storage, Inc. | Differing erasure coding schemes with non-uniform storage sizes |
GB2529148B (en) * | 2014-08-04 | 2020-05-27 | Advanced Risc Mach Ltd | Write operations to non-volatile memory |
US10489158B2 (en) | 2014-09-26 | 2019-11-26 | Intel Corporation | Processors, methods, systems, and instructions to selectively fence only persistent storage of given data relative to subsequent stores |
US10387259B2 (en) | 2015-06-26 | 2019-08-20 | Intel Corporation | Instant restart in non volatile system memory computing systems with embedded programmable data checking |
US10078448B2 (en) | 2015-07-08 | 2018-09-18 | Samsung Electronics Co., Ltd. | Electronic devices and memory management methods thereof |
US9792224B2 (en) | 2015-10-23 | 2017-10-17 | Intel Corporation | Reducing latency by persisting data relationships in relation to corresponding data in persistent memory |
US9824419B2 (en) * | 2015-11-20 | 2017-11-21 | International Business Machines Corporation | Automatically enabling a read-only cache in a language in which two arrays in two different variables may alias each other |
JP6740607B2 (ja) | 2015-12-18 | 2020-08-19 | 富士通株式会社 | シミュレーションプログラム、情報処理装置、シミュレーション方法 |
US10318295B2 (en) | 2015-12-22 | 2019-06-11 | Intel Corporation | Transaction end plus commit to persistence instructions, processors, methods, and systems |
KR102593362B1 (ko) * | 2016-04-27 | 2023-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN105912486B (zh) * | 2016-04-27 | 2019-03-29 | 联想(北京)有限公司 | 信息处理方法及处理器 |
JP2018049385A (ja) * | 2016-09-20 | 2018-03-29 | 東芝メモリ株式会社 | メモリシステムおよびプロセッサシステム |
US11216396B2 (en) * | 2016-09-29 | 2022-01-04 | Intel Corporation | Persistent memory write semantics on PCIe with existing TLP definition |
US10691803B2 (en) * | 2016-12-13 | 2020-06-23 | Amazon Technologies, Inc. | Secure execution environment on a server |
US20180239725A1 (en) * | 2017-02-17 | 2018-08-23 | Intel Corporation | Persistent Remote Direct Memory Access |
US10621103B2 (en) | 2017-12-05 | 2020-04-14 | Arm Limited | Apparatus and method for handling write operations |
US10481958B2 (en) | 2017-12-29 | 2019-11-19 | Intel IP Corporation | Speculative execution tag for asynchronous DRAM refresh |
US11099995B2 (en) | 2018-03-28 | 2021-08-24 | Intel Corporation | Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory |
EP3807773B1 (en) * | 2018-06-18 | 2024-03-13 | FLC Technology Group Inc. | Method and apparatus for using a storage system as main memory |
US10915404B2 (en) * | 2018-11-02 | 2021-02-09 | Arm Limited | Persistent memory cleaning |
US10909012B2 (en) * | 2018-11-12 | 2021-02-02 | H3 Platform, Inc. | System having persistent memory |
US11740928B2 (en) | 2019-08-26 | 2023-08-29 | International Business Machines Corporation | Implementing crash consistency in persistent memory |
US11928497B2 (en) | 2020-01-27 | 2024-03-12 | International Business Machines Corporation | Implementing erasure coding with persistent memory |
US20220197813A1 (en) * | 2020-12-23 | 2022-06-23 | Intel Corporation | Application programming interface for fine grained low latency decompression within processor core |
US12028094B2 (en) | 2020-12-23 | 2024-07-02 | Intel Corporation | Application programming interface for fine grained low latency decompression within processor core |
CN114356213B (zh) * | 2021-11-29 | 2023-07-21 | 重庆邮电大学 | 一种numa架构下nvm磨损均衡的并行空间管理方法 |
CN116244216B (zh) * | 2023-03-17 | 2024-03-01 | 摩尔线程智能科技(北京)有限责任公司 | 缓存控制方法、装置、缓存行结构、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1196062A (ja) * | 1997-09-19 | 1999-04-09 | Hitachi Ltd | ディレクトリ・アクセス方法 |
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
WO2009122694A1 (ja) * | 2008-03-31 | 2009-10-08 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム |
US20100332807A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Performing escape actions in transactions |
US20110208921A1 (en) * | 2010-02-19 | 2011-08-25 | Pohlack Martin T | Inverted default semantics for in-speculative-region memory accesses |
US20130013899A1 (en) * | 2011-07-06 | 2013-01-10 | International Business Machines Corporation | Using Hardware Transaction Primitives for Implementing Non-Transactional Escape Actions Inside Transactions |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428761A (en) | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
DE69330768T2 (de) * | 1992-04-24 | 2002-07-04 | Compaq Computer Corp., Houston | Verfahren und Vorrichtung zum Betrieb eines Multiprozessor-Rechnersystems mit Cachespeichern |
US7269693B2 (en) | 2003-02-13 | 2007-09-11 | Sun Microsystems, Inc. | Selectively monitoring stores to support transactional program execution |
US7882339B2 (en) * | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
US7937534B2 (en) | 2005-12-30 | 2011-05-03 | Rajesh Sankaran Madukkarumukumana | Performing direct cache access transactions based on a memory access data structure |
US7669015B2 (en) | 2006-02-22 | 2010-02-23 | Sun Microsystems Inc. | Methods and apparatus to implement parallel transactions |
US8180977B2 (en) * | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory in out-of-order processors |
US8219741B2 (en) * | 2008-10-24 | 2012-07-10 | Microsoft Corporation | Hardware and operating system support for persistent memory on a memory bus |
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
JP5608738B2 (ja) * | 2009-06-26 | 2014-10-15 | インテル・コーポレーション | 無制限トランザクショナルメモリ(utm)システムの最適化 |
US8316194B2 (en) | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
KR101639672B1 (ko) * | 2010-01-05 | 2016-07-15 | 삼성전자주식회사 | 무한 트랜잭션 메모리 시스템 및 그 동작 방법 |
JP2011154547A (ja) | 2010-01-27 | 2011-08-11 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
CN101777154A (zh) * | 2010-02-01 | 2010-07-14 | 浪潮集团山东通用软件有限公司 | 一种工作流管理系统中工作流数据的持久化方法 |
US8402227B2 (en) * | 2010-03-31 | 2013-03-19 | Oracle International Corporation | System and method for committing results of a software transaction using a hardware transaction |
US20120079245A1 (en) * | 2010-09-25 | 2012-03-29 | Cheng Wang | Dynamic optimization for conditional commit |
US8352688B2 (en) * | 2010-11-15 | 2013-01-08 | Advanced Micro Devices, Inc. | Preventing unintended loss of transactional data in hardware transactional memory systems |
US8788794B2 (en) | 2010-12-07 | 2014-07-22 | Advanced Micro Devices, Inc. | Programmable atomic memory using stored atomic procedures |
CN107608910B (zh) * | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
US20130091331A1 (en) * | 2011-10-11 | 2013-04-11 | Iulian Moraru | Methods, apparatus, and articles of manufacture to manage memory |
CN103999057B (zh) * | 2011-12-30 | 2016-10-26 | 英特尔公司 | 具有开关的相变存储器(pcms)的元数据管理和支持 |
US9471622B2 (en) * | 2012-04-30 | 2016-10-18 | International Business Machines Corporation | SCM-conscious transactional key-value store |
US20140040588A1 (en) * | 2012-08-01 | 2014-02-06 | International Business Machines Corporation | Non-transactional page in memory |
-
2013
- 2013-03-15 US US13/843,760 patent/US9547594B2/en active Active
-
2014
- 2014-03-14 DE DE102014003668.5A patent/DE102014003668A1/de active Pending
- 2014-03-14 JP JP2014052025A patent/JP2014182836A/ja active Pending
- 2014-03-14 GB GB1404562.9A patent/GB2515146B/en active Active
- 2014-03-17 CN CN201410098020.7A patent/CN104050112B/zh active Active
- 2014-03-17 KR KR1020140031292A patent/KR101673280B1/ko active IP Right Grant
- 2014-03-17 BR BR102014006298-0A patent/BR102014006298A2/pt active Search and Examination
- 2014-03-17 CN CN201710353595.2A patent/CN107193756B/zh active Active
-
2016
- 2016-02-12 JP JP2016025122A patent/JP6121010B2/ja active Active
- 2016-11-01 KR KR1020160144211A patent/KR101779723B1/ko active IP Right Grant
-
2017
- 2017-01-17 US US15/408,324 patent/US9817758B2/en active Active
- 2017-03-28 JP JP2017062809A patent/JP6371431B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1196062A (ja) * | 1997-09-19 | 1999-04-09 | Hitachi Ltd | ディレクトリ・アクセス方法 |
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
JP2009537053A (ja) * | 2006-06-30 | 2009-10-22 | インテル・コーポレーション | 仮想化されたトランザクショナルメモリのグローバルオーバーフロー方法 |
WO2009122694A1 (ja) * | 2008-03-31 | 2009-10-08 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム |
US20110004731A1 (en) * | 2008-03-31 | 2011-01-06 | Panasonic Corporation | Cache memory device, cache memory system and processor system |
US20100332807A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Performing escape actions in transactions |
US20110208921A1 (en) * | 2010-02-19 | 2011-08-25 | Pohlack Martin T | Inverted default semantics for in-speculative-region memory accesses |
US20130013899A1 (en) * | 2011-07-06 | 2013-01-10 | International Business Machines Corporation | Using Hardware Transaction Primitives for Implementing Non-Transactional Escape Actions Inside Transactions |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10529800B2 (en) | 2017-02-16 | 2020-01-07 | Fuji Electric Co., Ltd. | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
GB2515146A (en) | 2014-12-17 |
JP6121010B2 (ja) | 2017-04-26 |
JP2014182836A (ja) | 2014-09-29 |
KR101673280B1 (ko) | 2016-11-07 |
KR20140113605A (ko) | 2014-09-24 |
CN107193756A (zh) | 2017-09-22 |
KR20160130199A (ko) | 2016-11-10 |
CN107193756B (zh) | 2020-12-01 |
CN104050112B (zh) | 2017-06-20 |
US9817758B2 (en) | 2017-11-14 |
US20170123980A1 (en) | 2017-05-04 |
GB201404562D0 (en) | 2014-04-30 |
BR102014006298A2 (pt) | 2018-02-14 |
DE102014003668A1 (de) | 2014-09-18 |
US20140281240A1 (en) | 2014-09-18 |
JP2017130229A (ja) | 2017-07-27 |
CN104050112A (zh) | 2014-09-17 |
JP6371431B2 (ja) | 2018-08-08 |
GB2515146B (en) | 2016-02-17 |
KR101779723B1 (ko) | 2017-09-18 |
US9547594B2 (en) | 2017-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6371431B2 (ja) | プロセッサ、方法、プログラム、およびコンピュータ可読記録媒体 | |
US11200176B2 (en) | Dynamic partial power down of memory-side cache in a 2-level memory hierarchy | |
US10719443B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy | |
US11132298B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes | |
GB2514023B (en) | System and method for intelligently flushing data from a processor into a memory subsystem | |
US9317429B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels | |
EP2761472B1 (en) | Memory channel that supports near memory and far memory access | |
US20140006696A1 (en) | Apparatus and method for phase change memory drift management | |
US20140229659A1 (en) | Thin translation for system access of non volatile semicondcutor storage as random access memory | |
US20140204663A1 (en) | Efficient pcms refresh mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170126 |
|
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: 20170228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6121010 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 |