JP2019071064A - スイッチへのアドレスキャッシュ - Google Patents
スイッチへのアドレスキャッシュ Download PDFInfo
- Publication number
- JP2019071064A JP2019071064A JP2018209836A JP2018209836A JP2019071064A JP 2019071064 A JP2019071064 A JP 2019071064A JP 2018209836 A JP2018209836 A JP 2018209836A JP 2018209836 A JP2018209836 A JP 2018209836A JP 2019071064 A JP2019071064 A JP 2019071064A
- Authority
- JP
- Japan
- Prior art keywords
- switch
- address
- physical address
- memory
- mapping
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/264—Remote server
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F2212/604—Details relating to cache allocation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F2212/608—Details relating to cache mapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
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)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本明細書は、スイッチ、たとえばスイッチチップに関する。
は、変換要求に応じて、仮想マシンを走らせるシステムにおける保護のために、ページテーブルウォークを行なってデバイスアドレスを変換する。いくつかの例において、IOMMUは、部分ページウォークキャッシュを行なう場合がある。部分ページウォークキャッシュを行なうのは、たとえば、a)利用できるメモリが限られているときに空間を節約するため、b)IOMMUが多数のデバイスのための変換要求に応じるとき、または、これら双方の場合である。
バス、たとえばPCIまたは周辺コンポーネント相互接続エクスプレス(PCIe)バスに対して使用されるスイッチチップは、変換されたアドレスを受信し、この変換されたアドレスを使用して、当該スイッチチップによって少なくとも一部が管理される上記バスに接続されているデバイスからのメモリアクセス要求が有効であるか否かを検査する。たとえば、スイッチチップは、ページテーブルをキャッシュに格納し、または、仮想アドレスから物理アドレスへのマッピングを変換ルックアサイドバッファ(TLB)に格納し、このページテーブルまたはTLBからのアドレスを用いることにより、当該スイッチチップによって少なくとも一部が管理される上記バスに接続されているデバイスからの変換要求に応じるか、これらのデバイスからのアクセス要求を検査するか、またはこれら双方を行なう。簡略化のために、本明細書では、「スイッチチップに接続されている」デバイスと言う場合、これは、メモリ要求およびアドレス変換要求が少なくとも一部スイッチチップによって制御または管理される、バスへの接続、または、ポイント・ツー・ポイント接続を意味すると理解される。
は、対応する記憶場所にアクセスすることができる。ページテーブルが上記物理アドレスを含まない場合、スイッチチップは、デバイスが上記記憶場所にアクセスすることを阻止する。
いるバスとを備え、マザーボードに対し、スイッチは、ソースデバイスからの要求を宛先デバイスにルーティングすることにより、周辺装置がマザーボードに接続することを可能にするように構成されている。上記複数の動作は、特定の物理アドレスを含むメモリアクセス要求をデバイスから受信することと、デバイスは特定の物理アドレスによって特定される記憶場所にアクセスすることを許可されないと判断することと、デバイスは特定の物理アドレスによって特定される記憶場所にアクセスすることを許可されないと判断したことに応じて、メモリアクセス要求を破棄することとを含み得る。上記複数の動作は、特定の物理アドレスがメモリに格納されていないと判断したことに応じてデバイスをリセットすることを含み得る。
詳細な説明
概観
いくつかの実装例において、スイッチチップ、たとえば周辺コンポーネント相互接続エクスプレス(PCIe)スイッチチップは、当該スイッチチップが管理するバスに接続されているデバイスに代わってアドレス変換サービス(ATS)変換をキャッシュする。たとえば、あるデバイスが、周辺コンポーネント相互接続(PCI)読出または書込要求を、バス上に出力した場合、スイッチチップは、この要求に含まれている仮想アドレスを求めて、当該スイッチチップに含まれている変換ルックアサイドバッファ(TLB)を調べ、ヒットした場合はこの仮想アドレスを変換して物理アドレスを求める。当該スイッチチップは、この物理アドレスを上記デバイスに与える、または、この物理アドレスを上記要求に含めてこの要求をたとえばサービスのために別のデバイスに転送することができる。
図1は、仮想アドレスから物理アドレスへのマッピングをスイッチチップA 102aが格納する環境100の一例である。いくつかの実装例において、スイッチチップA 102aは、スイッチチップA 102aがマッピングを格納するTLB104を含む。
グを含み得る。これらのマッピングは、デバイスA 108aに割当てられ、各々が、デバイスA 108aがアクセスできる対応する物理アドレスに対するマッピングである。
メモリから同じ最も長く使用されていないエントリを追出すよう指示する。スイッチチップA 102aは、デバイスA 108aがエントリを追出したという確認を受けてもよい。スイッチチップA 102aは、たとえば最も長く使用されていないエントリをデバイスA 108aが追出したという確認を受けたことに応じて、コントローラ110から受けた変換をデバイスA 108aに送信する。
108aがATS機能を使用することを許可してもしなくてもよい。たとえば、デバイスA 108aがATS機能を使用することを環境100が許可する場合、スイッチチップA 102aは、デバイスA 108aに関する設定をチェックすることにより、確実にATSビットがイネーブルされる、たとえば1に設定されるようにしてもよく、ATSビットがイネーブルされると判断すると、ATSビットを修正しなくてもよい。スイッチチップA 102aは、アドレス変換要求をデバイスA 108aから受けて上記のようにアドレス変換要求に応じてもよい。
102aは、この要求がメモリアクセス要求であって、たとえば変換要求ではないと判断する。スイッチチップA 102aは、この要求に含まれる1つまたは複数の物理アドレスを求めこれらのアドレスがTLB104に含まれているか否かを判断する。これらのアドレスがTLB104に含まれている場合、スイッチチップA 102aはこの要求を、サービスのために、別のデバイス、たとえば、プロセッサ114、キャッシュ116、
またはランダムアクセスメモリ118に転送する。
108bのための1つ以上のページテーブルを要求してもよい。いくつかの例において、スイッチチップA 102aは、デバイスB 108bからアドレス変換要求を受けたことに応じて、またはデバイスB 108bからメモリアクセス要求を受けたことに応じて、または、これら両方を受けたことに応じて、デバイスB 108bのためのページテーブルを要求する。
102aは、仮想アドレスを含むアドレス変換要求をデバイスB 108bから受ける。スイッチチップA 102aは、IOMMU106がこの仮想アドレスから対応する物理アドレスへのマッピングを含むか否かを、たとえばIOMMU106に含まれるページ
テーブル記憶装置にアクセスするページテーブルウォーカーを用いて判断する。IOMMU106がこのマッピングを含む場合、スイッチチップA 102aは、対応する物理アドレスを求め、この物理アドレスをデバイスB 108bに与える。IOMMU106がこのマッピングを含まない場合、スイッチチップA 102aは、別のデバイス、たとえばキャッシュ116、ランダムアクセスメモリ118、またはコントローラ110内のIOMMU112に、追加のページテーブルを要求する。
108bから受けたときは、この物理アドレスを検証する。たとえば、スイッチチップA 102aは、IOMMU106内のデバイスB 108b用のページテーブルを求め、求めたページテーブルにこの物理アドレスが含まれるか否かを判断する。スイッチチップA 102aは、デバイスB 108bに関するポート番号またはバス−デバイス−機能番号を用いて、IOMMU106内のデバイスB 108b用のページテーブルを求める。スイッチチップA 102aは、デバイスB 108b用のページテーブルを用いることにより、デバイスA 108aまたは別のデバイスはアクセスできるがデバイスB 108bはアクセスできない物理記憶場所にデバイスB 108bがアクセスしないことを保証する。
図2は、変換要求に応答するプロセス200のフロー図である。たとえば、プロセス200は、環境100のスイッチA 102aによって使用されてもよい。
する。
がメモリに格納されていると判断し、第1の物理アドレスを第1のデバイスに与えてもよい。スイッチは、第2のアドレス変換要求を第1のデバイスまたはそれとは異なる第2のデバイスから受け、第2の要求に応じた第2の物理アドレスがメモリに格納されていないと判断し、たとえば、第2の要求からの仮想アドレスがメモリに格納されていないと判断し、この仮想アドレスに対するマッピングを、別のデバイスたとえばルートコンプレックスまたはキャッシュに要求してもよい。スイッチは、上記別のデバイスから、この要求に対する、マッピングを含む応答を受け、第2の物理アドレスを、要求を出したデバイスに与える。
図3は、物理アドレスがメモリに格納されているか否かを判断するためのプロセス300のフロー図である。たとえば、プロセス300は、環境100のスイッチチップA 102aまたはコントローラ110によって使用されてもよい。
特定の物理アドレスへのアクセスを許可されるべきではない場合、スイッチは要求を検証しない。
いくつかの実装例において、スイッチチップは、デバイスごとにアドレスマッピングを格納しデバイスごとにTLBを含んでいてもよく、たとえば、スイッチチップが管理するバスにデバイスが接続できるようにする各ポートであってそのためにスイッチチップがアドレスマッピングを格納する各ポートについて、TLBを含んでいてもよい。スイッチチップは、ポート情報を用いることにより、どのTLBにアクセスすべきかを判断してもよく、たとえば、特定のデバイス用のアドレスマッピングを求めてもよく、または、特定のデバイスのメモリアクセス要求を検証してもよい。スイッチチップは、適切な方法を用いることにより、特定のデバイスのためにどのTLBにアクセスするかを判断してもよい。
よびスイッチチップがそのデバイスからのアドレス変換要求に応じるべきか否かを示すビットを、ポートごとに含む。
本明細書に記載の主題および機能的動作の実施形態は、デジタル電子回路において、有形に実現されたコンピュータソフトウェアまたはファームウェアにおいて、本明細書に開示されている構造およびそれらの構造的均等物を含むコンピュータハードウェアにおいて、または、これらのうちの1つ以上を組合わせたものにおいて、実現することができる。本明細書に記載の主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行されるかまたはデータ処理装置の動作を制御するための有形の非一時的なプログラムキャリア上で符号化されているコンピュータプログラム命令の1つ以上のモジュールとして、実現することができる。コンピュータ記憶媒体は、機械読取可能な記憶装置、機械読取可能な記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、または、これらのうちの1つ以上を組合わせたものであってもよい。
ブルゲートアレイ)またはASIC(特定用途向け集積回路)であってもよく、これをさらに含んでいてもよい。この装置は、任意で、ハードウェアに加えて、コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つ以上を組合わせたものを構成するコードを、含み得る。
びメモリに、専用論理回路を補充してもよくまたは組込んでもよい。
または、示されているすべての動作を実行することを、要求しているのではない。特定の状況では、マルチタスキングおよび並列処理が好都合であろう。加えて、上記実施形態ではさまざまなシステムコンポーネントが分離されているが、これは、すべての実施形態においてこのような分離が必要であると理解されるべきものではなく、記載されているプログラムコンポーネントおよびシステムは概ね1つのソフトウェアプロダクトに統合することができるまたは複数のソフトウェアプロダクトにパッケージングすることができると理解されるべきものである。
Claims (25)
- バスに接続された1つ以上のデバイスからパケットを受信し前記1つ以上のデバイスにパケットを渡すスイッチを備え、前記スイッチと前記デバイス各々との間における前記バス上にコンポーネントは存在しておらず、
前記スイッチに組込まれ仮想アドレスから物理アドレスへのマッピングを格納するためのメモリと、
前記スイッチに組込まれ前記スイッチによって実行可能な命令を格納する非一時的なコンピュータ読取可能な記憶媒体とを備え、前記命令は実行されると前記スイッチに複数の動作を実行させ、前記複数の動作は、
前記スイッチが、前記バスによって前記スイッチに接続されているデバイスのためのアドレス変換要求に対する応答を受信することを含み、前記応答は、仮想アドレスから物理アドレスへのマッピングを含み、前記複数の動作は、
前記デバイスのための前記アドレス変換要求に対する前記応答を受信したことに応じて、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記メモリに格納することを含む、システム。 - 前記スイッチに組込まれIOMMUメモリを含む入出力メモリ管理ユニット(IOMMU)を備え、
前記メモリは前記IOMMUメモリを含み、
前記スイッチが、前記デバイスのためのアドレス変換要求に対する応答を受信することは、前記スイッチが、前記デバイスのためのページテーブルの一部を受信することを含み、
前記仮想アドレスから前記物理アドレスへの前記マッピングを前記メモリに格納することは、前記ページテーブルの前記一部を前記IOMMUに格納することを含む、請求項1に記載のシステム。 - 前記メモリは変換ルックアサイドバッファ(TLB)を含み、
前記仮想アドレスから前記物理アドレスへの前記マッピングを前記メモリに格納することは、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記TLBに格納することを含む、請求項1に記載のシステム。 - 前記スイッチのための予め定められた数のポートを備え、前記ポートは各々、特定のデバイスに対応し、前記スイッチは、前記特定のデバイスに対して1つのTLBを含む、請求項3に記載のシステム。
- 前記複数の動作は、
前記デバイスのための前記アドレス変換要求に対する前記応答を受信したことに応じて、前記TLBが空の場所を含まないと判断することと、
前記TLB内の場所からエントリを削除することと、
前記TLB内の前記場所に、前記仮想アドレスを前記物理アドレスにマッピングする新たなエントリを格納することとを含む、請求項3に記載のシステム。 - 前記複数の動作は、
前記デバイスがTLBを含むと判断するとともに仮想アドレスから物理アドレスへのマッピングを前記デバイスが前記デバイスのTLBに現在格納していることを前記デバイスのための設定が示すと判断することと、
前記デバイスがTLBを含むと判断するとともに仮想アドレスから物理アドレスへのマッピングを前記デバイスが前記デバイスのTLBに現在格納していることを前記デバイスのための設定が示すと判断したことに応じて、前記デバイスのTLBからエントリを削除
することを前記デバイスに指示するメッセージを前記デバイスに送信することと、
前記デバイスがTLBを含むと判断するとともに仮想アドレスから物理アドレスへのマッピングを前記デバイスが前記デバイスのTLBに現在格納していることを前記デバイスのための設定が示すと判断したことに応じて、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記デバイスに与えることとを含む、請求項3に記載のシステム。 - 前記複数の動作は、前記デバイスが前記デバイスのTLBから前記エントリを削除したという確認を、前記デバイスから受信することを含み、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記デバイスに与えることは、前記デバイスが前記デバイスのTLBから前記エントリを削除したという確認を受信したことに応じて、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記デバイスに与えることを含む、請求項6に記載のシステム。
- 前記複数の動作は、
特定の物理アドレスを含むメモリアクセス要求を前記デバイスから受信することと、
前記特定の物理アドレスが前記メモリに格納されていると判断することと、
前記特定の物理アドレスが前記メモリに格納されていると判断したことに応じて、前記メモリアクセス要求をサービスのために別のデバイスに転送することとを含む、請求項1に記載のシステム。 - 前記メモリは、前記デバイスに固有のメモリであり、前記バスによって前記スイッチに接続されているその他のデバイスのための仮想アドレスから物理アドレスへのマッピングを含まない、請求項8に記載のシステム。
- 前記スイッチに組込まれている1つ以上の追加のメモリを備え、前記追加のメモリ各々と、特定のデバイスに固有の前記メモリとは、前記バスによって前記スイッチに接続されており、
前記特定の物理アドレスが前記メモリに格納されていると判断することは、
前記スイッチにおける特定のポートが前記メモリアクセス要求を受信したと判断することと、
前記特定のポートを用いて前記デバイスのための前記メモリを選択することと、
前記特定のポートを用いて前記デバイスのための前記メモリを選択したことに応じて、前記特定の物理アドレスが前記メモリに格納されていると判断することとを含む、請求項8に記載のシステム。 - 中央処理装置と、
キャッシュとを備え、
前記デバイスのためのアドレス変換要求に対する応答を受信することは、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記キャッシュから受信することを含み、
前記メモリアクセス要求をサービスのために別のデバイスに転送することは、前記メモリアクセス要求を前記中央処理装置に転送することを含む、請求項8に記載のシステム。 - 第2のバス上のコントローラを備え、前記コントローラは、前記第2のバスを介して、前記スイッチを、前記中央処理装置および前記キャッシュに接続し、前記スイッチと前記中央処理装置および前記キャッシュとの間でやり取りされる応答および要求を、前記第2のバスを用いてルーティングする、請求項11に記載のシステム。
- 前記コントローラはルートコンプレックスを含む、請求項12に記載のシステム。
- 前記スイッチを含む複数のスイッチと、
第2のバス上のコントローラとを備え、前記コントローラは、前記第2のバスを介して、前記複数のスイッチ各々を、前記中央処理装置および前記キャッシュに接続し、前記複数のスイッチ各々と前記中央処理装置および前記キャッシュとの間でやり取りされる応答および要求を、前記第2のバスを用いてルーティングする、請求項11に記載のシステム。 - マザーボードと、
前記マザーボードに組込まれている前記バスとを備え、前記マザーボードに対し、前記スイッチは、ソースデバイスからの要求を宛先デバイスにルーティングすることにより、周辺装置が前記マザーボードに接続することを可能にするように構成されている、請求項1に記載のシステム。 - 前記複数の動作は、
特定の物理アドレスを含むメモリアクセス要求を前記デバイスから受信することと、
前記デバイスは前記特定の物理アドレスによって特定される記憶場所にアクセスすることを許可されないと判断することと、
前記デバイスは前記特定の物理アドレスによって特定される記憶場所にアクセスすることを許可されないと判断したことに応じて、前記メモリアクセス要求を破棄することとを含む、請求項1に記載のシステム。 - 前記複数の動作は、前記特定の物理アドレスが前記メモリに格納されていないと判断したことに応じて前記デバイスをリセットすることを含む、請求項16に記載のシステム。
- 前記複数の動作は、
前記スイッチが、前記デバイスから、前記仮想アドレスを含む前記アドレス変換要求を受信することと、
前記仮想アドレスは前記メモリに格納されていないと判断することと、
前記仮想アドレスから前記物理アドレスへの前記マッピングを要求することとを含み、前記スイッチが、前記デバイスのためのアドレス変換要求に対する応答を受信することは、前記仮想アドレスから前記物理アドレスへの前記マッピングを要求したことに応じて、前記応答を受信することを含む、請求項1に記載のシステム。 - 前記複数の動作は、
前記仮想アドレスから前記物理アドレスへの前記マッピングを用いて、前記仮想アドレスに対応する物理アドレスを求めることと、
前記対応する物理アドレスを含む、前記変換要求に対する応答を、前記デバイスに与えることとを含む、請求項18に記載のシステム。 - 前記複数の動作は、前記仮想アドレスから前記物理アドレスへの前記マッピングを要求するのと同時に、前記仮想アドレスから前記物理アドレスへの前記マッピングを前記メモリが含むか否かを判断することを含む、請求項18に記載のシステム。
- 前記仮想アドレスから前記物理アドレスへの前記マッピングを要求することは、前記仮想アドレスから前記物理アドレスへの前記マッピングを中央処理装置に要求することを含む、請求項18に記載のシステム。
- 前記仮想アドレスから前記物理アドレスへの前記マッピングを要求することは、前記仮想アドレスから前記物理アドレスへの前記マッピングをメモリに要求することを含む、請求項18に記載のシステム。
- 前記仮想アドレスから前記物理アドレスへの前記マッピングを要求することは、前記仮想アドレスから前記物理アドレスへの前記マッピングを入出力メモリ管理ユニット(IOMMU)に要求することを含む、請求項18に記載のシステム。
- 前記スイッチに組込まれた予め定められた数のポートを備え、前記ポートは各々、特定のデバイスに対応し、前記特定のデバイスに対し、前記メモリは、仮想アドレスから物理アドレスへの対応するマッピングを格納するように構成され、前記メモリのサイズは前記予め定められた数のポートに対応する、請求項1に記載のシステム。
- コンピュータによって実現される方法であって、
スイッチが、バスによって前記スイッチに接続されているデバイスのためのアドレス変換要求に対する応答を受信するステップを含み、前記スイッチは、前記バスに接続された1つ以上のデバイスからパケットを受信し前記1つ以上のデバイスにパケットを渡し、前記スイッチと前記デバイス各々との間における前記バス上にコンポーネントは存在しておらず、前記応答は、仮想アドレスから物理アドレスへのマッピングを含み、
前記デバイスのための前記アドレス変換要求に対する前記応答を受信したことに応じて、前記仮想アドレスから前記物理アドレスへの前記マッピングを、前記スイッチに組込まれ仮想アドレスから物理アドレスへのマッピングを格納するためのメモリに、格納するステップを含む、方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/810,062 US9626300B2 (en) | 2015-07-27 | 2015-07-27 | Address caching in switches |
| US14/810,062 | 2015-07-27 | ||
| JP2017556872A JP6434168B2 (ja) | 2015-07-27 | 2016-06-24 | スイッチへのアドレスキャッシュ |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017556872A Division JP6434168B2 (ja) | 2015-07-27 | 2016-06-24 | スイッチへのアドレスキャッシュ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019071064A true JP2019071064A (ja) | 2019-05-09 |
| JP6913663B2 JP6913663B2 (ja) | 2021-08-04 |
Family
ID=56373146
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017556872A Active JP6434168B2 (ja) | 2015-07-27 | 2016-06-24 | スイッチへのアドレスキャッシュ |
| JP2018209836A Active JP6913663B2 (ja) | 2015-07-27 | 2018-11-07 | スイッチへのアドレスキャッシュ |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017556872A Active JP6434168B2 (ja) | 2015-07-27 | 2016-06-24 | スイッチへのアドレスキャッシュ |
Country Status (10)
| Country | Link |
|---|---|
| US (2) | US9626300B2 (ja) |
| EP (3) | EP3923145B1 (ja) |
| JP (2) | JP6434168B2 (ja) |
| KR (2) | KR102015077B1 (ja) |
| CN (2) | CN107949833B (ja) |
| DE (2) | DE202016107024U1 (ja) |
| DK (3) | DK4131013T3 (ja) |
| FI (2) | FI4131013T3 (ja) |
| GB (1) | GB2556458B (ja) |
| WO (1) | WO2017019216A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021026421A (ja) * | 2019-08-02 | 2021-02-22 | 株式会社日立製作所 | ストレージ装置 |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10007435B2 (en) | 2015-05-21 | 2018-06-26 | Micron Technology, Inc. | Translation lookaside buffer in memory |
| US9626300B2 (en) * | 2015-07-27 | 2017-04-18 | Google Inc. | Address caching in switches |
| US10678702B2 (en) * | 2016-05-27 | 2020-06-09 | Advanced Micro Devices, Inc. | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations |
| WO2018100363A1 (en) | 2016-11-29 | 2018-06-07 | Arm Limited | Memory address translation |
| US11082523B2 (en) * | 2017-02-09 | 2021-08-03 | International Business Machines Corporation | System, method and computer program product for a distributed virtual address space |
| US20190044227A1 (en) * | 2017-08-01 | 2019-02-07 | Bby Solutions, Inc. | Active Antenna |
| US10929308B2 (en) | 2017-11-22 | 2021-02-23 | Arm Limited | Performing maintenance operations |
| US10866904B2 (en) * | 2017-11-22 | 2020-12-15 | Arm Limited | Data storage for multiple data types |
| US10831673B2 (en) | 2017-11-22 | 2020-11-10 | Arm Limited | Memory address translation |
| US10990554B2 (en) | 2018-03-02 | 2021-04-27 | Samsung Electronics Co., Ltd. | Mechanism to identify FPGA and SSD pairing in a multi-device environment |
| US10635609B2 (en) * | 2018-03-02 | 2020-04-28 | Samsung Electronics Co., Ltd. | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
| US12505053B2 (en) * | 2018-03-02 | 2025-12-23 | Samsung Electronics Co., Ltd. | Method for supporting erasure code data protection with embedded PCIe switch inside FPGA+SSD |
| US12481612B2 (en) | 2018-03-02 | 2025-11-25 | Samsung Electronics Co., Ltd. | Mechanism to identify FPGA and SSD pairing in a multi-device environment |
| US10929310B2 (en) | 2019-03-01 | 2021-02-23 | Cisco Technology, Inc. | Adaptive address translation caches |
| CN110716886B (zh) * | 2019-09-29 | 2022-12-13 | 惠州市仲恺Tcl智融科技小额贷款股份有限公司 | 数据处理的方法、装置、存储介质以及终端 |
| CN111988394B (zh) * | 2020-08-18 | 2022-11-01 | 北京金山云网络技术有限公司 | 一种虚拟化环境中优化p2p数据传输的方法、装置及设备 |
| CN115525596A (zh) * | 2021-06-25 | 2022-12-27 | 许继电气股份有限公司 | 多主交换式高速互联背板总线及其控制方法、处理系统 |
| CN114553797B (zh) * | 2022-02-25 | 2023-05-09 | 星宸科技股份有限公司 | 具有命令转发机制的多芯片系统及地址产生方法 |
| CN114817081A (zh) * | 2022-03-02 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 内存访问方法、装置和输入输出内存管理单元 |
| GB202309776D0 (en) * | 2023-06-28 | 2023-08-09 | Prevayl Innovations Ltd | Communication system |
| CN119341984B (zh) * | 2024-12-20 | 2025-03-18 | 云合智网(上海)技术有限公司 | 一种跨设备流量处理方法、装置、设备及存储介质 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060277348A1 (en) * | 2005-06-01 | 2006-12-07 | Microsoft Corporation | Scalable DMA remapping on a computer bus |
| US20080091855A1 (en) * | 2006-10-17 | 2008-04-17 | Moertl Daniel F | Apparatus and Method for Communicating with an I/O Adapter Using Cached Address Translations |
| WO2008120325A1 (ja) * | 2007-03-28 | 2008-10-09 | Fujitsu Limited | スイッチ、情報処理装置およびアドレス変換方法 |
| JP2009181418A (ja) * | 2008-01-31 | 2009-08-13 | Hitachi Ltd | 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法 |
| JP2009199420A (ja) * | 2008-02-22 | 2009-09-03 | Panasonic Corp | メモリ制御装置 |
| JP2013500524A (ja) * | 2009-07-24 | 2013-01-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 周辺相互接続におけるi/o及び計算負荷軽減デバイスのための2レベルのアドレストランスレーションを用いるiommu |
| JP2014197295A (ja) * | 2013-03-29 | 2014-10-16 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード |
| JP2014531672A (ja) * | 2011-09-25 | 2014-11-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04308953A (ja) * | 1991-04-05 | 1992-10-30 | Kyocera Corp | 仮想アドレス計算機装置 |
| JPH06187286A (ja) * | 1992-12-15 | 1994-07-08 | Hitachi Ltd | バス変換アダプタ |
| JP3296240B2 (ja) * | 1997-03-28 | 2002-06-24 | 日本電気株式会社 | バス接続装置 |
| US7457897B1 (en) | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
| US20010049732A1 (en) * | 2000-06-01 | 2001-12-06 | Raciborski Nathan F. | Content exchange apparatus |
| US7487327B1 (en) | 2005-06-01 | 2009-02-03 | Sun Microsystems, Inc. | Processor and method for device-specific memory address translation |
| US7917723B2 (en) | 2005-12-01 | 2011-03-29 | Microsoft Corporation | Address translation table synchronization |
| US7779197B1 (en) | 2006-05-09 | 2010-08-17 | Integrated Device Technology, Inc. | Device and method for address matching with post matching limit check and nullification |
| US7707383B2 (en) * | 2006-11-21 | 2010-04-27 | Intel Corporation | Address translation performance in virtualized environments |
| CN102111459B (zh) | 2009-12-28 | 2013-11-06 | 中兴通讯股份有限公司 | Ip语音设备主备切换中的通话维护方法及装置 |
| US8639976B2 (en) * | 2011-02-15 | 2014-01-28 | Coraid, Inc. | Power failure management in components of storage area network |
| US8930715B2 (en) | 2011-05-26 | 2015-01-06 | International Business Machines Corporation | Address translation unit, device and method for remote direct memory access of a memory |
| US9110830B2 (en) * | 2012-01-18 | 2015-08-18 | Qualcomm Incorporated | Determining cache hit/miss of aliased addresses in virtually-tagged cache(s), and related systems and methods |
| US8837476B2 (en) * | 2012-09-07 | 2014-09-16 | International Business Machines Corporation | Overlay network capable of supporting storage area network (SAN) traffic |
| CN103931144B (zh) * | 2013-07-08 | 2015-11-25 | 华为技术有限公司 | 一种在虚拟域中通信的方法、设备和系统 |
| US9626300B2 (en) * | 2015-07-27 | 2017-04-18 | Google Inc. | Address caching in switches |
-
2015
- 2015-07-27 US US14/810,062 patent/US9626300B2/en active Active
-
2016
- 2016-06-24 DE DE202016107024.4U patent/DE202016107024U1/de active Active
- 2016-06-24 FI FIEP22190860.1T patent/FI4131013T3/fi active
- 2016-06-24 EP EP21188542.1A patent/EP3923145B1/en active Active
- 2016-06-24 DK DK22190860.1T patent/DK4131013T3/da active
- 2016-06-24 EP EP22190860.1A patent/EP4131013B1/en active Active
- 2016-06-24 JP JP2017556872A patent/JP6434168B2/ja active Active
- 2016-06-24 DK DK16736686.3T patent/DK3329378T3/da active
- 2016-06-24 CN CN201680028182.0A patent/CN107949833B/zh active Active
- 2016-06-24 CN CN202010138874.9A patent/CN111522755B/zh active Active
- 2016-06-24 DK DK21188542.1T patent/DK3923145T3/da active
- 2016-06-24 EP EP16736686.3A patent/EP3329378B1/en active Active
- 2016-06-24 WO PCT/US2016/039333 patent/WO2017019216A1/en not_active Ceased
- 2016-06-24 DE DE112016002006.6T patent/DE112016002006B4/de active Active
- 2016-06-24 FI FIEP21188542.1T patent/FI3923145T3/fi active
- 2016-06-24 KR KR1020187021861A patent/KR102015077B1/ko active Active
- 2016-06-24 GB GB1717591.0A patent/GB2556458B/en active Active
- 2016-06-24 KR KR1020177031683A patent/KR101885185B1/ko active Active
-
2017
- 2017-03-08 US US15/453,179 patent/US9747241B2/en active Active
-
2018
- 2018-11-07 JP JP2018209836A patent/JP6913663B2/ja active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060277348A1 (en) * | 2005-06-01 | 2006-12-07 | Microsoft Corporation | Scalable DMA remapping on a computer bus |
| US20080091855A1 (en) * | 2006-10-17 | 2008-04-17 | Moertl Daniel F | Apparatus and Method for Communicating with an I/O Adapter Using Cached Address Translations |
| JP2008102930A (ja) * | 2006-10-17 | 2008-05-01 | Internatl Business Mach Corp <Ibm> | データ処理システム内でシステム・イメージとローカルに接続された外部記憶装置との間の動作を実行するための方法、コンピュータ・プログラム、および装置(キャッシュされたアドレス変換を使用して入出力アダプタと通信するための装置および方法) |
| WO2008120325A1 (ja) * | 2007-03-28 | 2008-10-09 | Fujitsu Limited | スイッチ、情報処理装置およびアドレス変換方法 |
| US20090327645A1 (en) * | 2007-03-28 | 2009-12-31 | Fujitsu Limited | Switch, information processing apparatus, and address translation method |
| JP2009181418A (ja) * | 2008-01-31 | 2009-08-13 | Hitachi Ltd | 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法 |
| JP2009199420A (ja) * | 2008-02-22 | 2009-09-03 | Panasonic Corp | メモリ制御装置 |
| JP2013500524A (ja) * | 2009-07-24 | 2013-01-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 周辺相互接続におけるi/o及び計算負荷軽減デバイスのための2レベルのアドレストランスレーションを用いるiommu |
| JP2014531672A (ja) * | 2011-09-25 | 2014-11-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット |
| JP2014197295A (ja) * | 2013-03-29 | 2014-10-16 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021026421A (ja) * | 2019-08-02 | 2021-02-22 | 株式会社日立製作所 | ストレージ装置 |
| JP7080863B2 (ja) | 2019-08-02 | 2022-06-06 | 株式会社日立製作所 | ストレージ装置 |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6913663B2 (ja) | スイッチへのアドレスキャッシュ | |
| US10853277B2 (en) | Systems and methods for isolating input/output computing resources | |
| JP5573829B2 (ja) | 情報処理装置およびメモリアクセス方法 | |
| EP2472412B1 (en) | Explicitly regioned memory organization in a network element | |
| US20160077976A1 (en) | Address translation services for direct accessing of local memory over a network fabric | |
| US10762137B1 (en) | Page table search engine | |
| US9336158B2 (en) | Method and system for simplified address translation support for static infiniband host channel adaptor structures | |
| US10810133B1 (en) | Address translation and address translation memory for storage class memory | |
| US10310759B2 (en) | Use efficiency of platform memory resources through firmware managed I/O translation table paging | |
| CN105335308A (zh) | 对存储设备的访问信息处理方法和装置、系统 | |
| JP2019509554A (ja) | ソリッドステート装置のための多重アドレスレジスタ用の装置および方法 | |
| JP2014160502A (ja) | 情報処理装置およびメモリアクセス方法 | |
| US10754789B1 (en) | Address translation for storage class memory in a system that includes virtual machines | |
| HK40035512A (en) | Address caching in switches | |
| HK40035512B (en) | Address caching in switches | |
| HK40088267A (en) | Address caching in switches | |
| HK40088267B (en) | Address caching in switches | |
| TW202338619A (zh) | 定義用於經轉譯存取請求的權限資訊的裝置權限表 | |
| HK1253044B (zh) | 交换机中的地址缓存 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190108 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190108 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191125 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191217 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200317 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20201006 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210205 |
|
| C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210205 |
|
| C11 | Written invitation by the commissioner to file amendments |
Free format text: JAPANESE INTERMEDIATE CODE: C11 Effective date: 20210216 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20210319 |
|
| C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20210323 |
|
| 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: 20210615 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210712 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6913663 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 |