JP2019525354A - アドレスを圧縮するための方法及び装置 - Google Patents
アドレスを圧縮するための方法及び装置 Download PDFInfo
- Publication number
- JP2019525354A JP2019525354A JP2019508974A JP2019508974A JP2019525354A JP 2019525354 A JP2019525354 A JP 2019525354A JP 2019508974 A JP2019508974 A JP 2019508974A JP 2019508974 A JP2019508974 A JP 2019508974A JP 2019525354 A JP2019525354 A JP 2019525354A
- Authority
- JP
- Japan
- Prior art keywords
- memory address
- cache
- stored
- tag
- way
- 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; CALCULATING OR 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/0638—Organizing or formatting or addressing of data
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- 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
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)
- Memory System Of A Hierarchy Structure (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本願は、2016年8月17日に出願された米国仮特許出願第62/376,096号及び2016年11月8日に出願された米国特許出願第15/345,639号の利益を主張し、その内容は、完全に記載されているかのように、参照により本明細書に組み込まれる。
Claims (44)
- 第1デバイスから第2デバイスへリンクを介して送信するためにアドレスを圧縮する方法であって、
前記第1デバイスにおいて、前記第2デバイス上のメモリ位置に対するメモリアドレスの要求であって、第1部分と第2部分とを含むメモリアドレスの要求を含むトランザクションをソースから受信することと、
前記メモリアドレスの第1部分が前記第1デバイスに配置されたキャッシュに記憶されているかどうかを判別することと、
前記メモリアドレスの第1部分が前記第1デバイスに配置されたキャッシュに記憶されていない場合に、前記メモリアドレスの第1部分を前記第1デバイスの前記キャッシュに記憶し、前記メモリアドレス全体と、前記第1部分の記憶に関する情報と、を前記第2デバイスに送信することと、
前記メモリアドレスの第1部分が前記第1デバイスに配置されたキャッシュに記憶されている場合に、前記メモリアドレスの第2部分のみと、前記メモリアドレスの第1部分が記憶されている前記第1デバイスの前記キャッシュのウェイを示す識別子と、を前記第2デバイスに送信することと、を含む、
方法。 - 前記第2デバイスが、前記第1部分の記憶に関する情報を受信すると、前記第1部分の記憶に関する情報を、前記第2デバイスに配置されたキャッシュに記憶することをさらに含む、
請求項1の方法。 - 前記第2デバイスが、前記メモリアドレスの第2部分と、前記メモリアドレスの第1部分が記憶されている前記第1デバイスの前記キャッシュのウェイを示す識別子と、を受信すると、
前記識別子に基づいて、前記第2デバイスに配置されたキャッシュから前記メモリアドレスの第1部分を読み出すことと、
前記メモリアドレス全体を再構成することと、をさらに含む、
請求項2の方法。 - 前記再構成することは、前記第1部分と前記第2部分とを連結することを含む、
請求項3の方法。 - 前記第1部分は、前記メモリアドレス全体の上位ビットを含むタグである、
請求項1の方法。 - 前記タグを、前記第1デバイスに配置された前記キャッシュのテーブル内の場所であって、前記トランザクションを生成した前記ソースに関連付けられた場所に記憶することをさらに含む、
請求項5の方法。 - 前記タグが記憶されているウェイに関連するテーブルに前記タグを記憶することをさらに含む、
請求項6の方法。 - 前記タグは、前記テーブル内の行に記憶されており、前記行は、前記テーブル内の前記タグの記憶場所を示すインデックスによって識別されており、前記タグは、前記タグが記憶されているウェイに関連する列に記憶される、
請求項7の方法。 - 1つ以上のインデックス行が、特定のソースに関連付けられている、
請求項8の方法。 - 前記ソースは、プロセッサ、又は、前記第1デバイスの入出力(I/O)デバイスのうち何れかを含む、
請求項9の方法。 - インデックス行が、複数のウェイ列に関連付けられている、
請求項10の方法。 - トランザクションタイプが、プログラム実行スレッド、読み出し要求、書き込み要求のうち1つ以上を含む、
請求項11の方法。 - 前記I/Oデバイスに関連する特定の行インデックスが、読み出し要求又は書き込み要求のうち1つ以上のトランザクションに関連付けられている、
請求項10の方法。 - 第1リンクコントローラと、
前記第1リンクコントローラに動作可能に接続された第1キャッシュと、を備える装置であって、
前記第1リンクコントローラは、
第2装置上のメモリ位置に対するメモリアドレスの要求であって、第1部分と第2部分とを含むメモリアドレスの要求を含むトランザクションをソースから受信し、
前記メモリアドレスの第1部分が前記第1キャッシュに記憶されているかどうかを判別し、
前記メモリアドレスの第1部分が前記第1キャッシュに記憶されていない場合に、前記メモリアドレスの第1部分を前記第1キャッシュに記憶し、前記メモリアドレス全体と、前記第1部分の記憶に関する情報と、を前記第2装置に送信し、
前記メモリアドレスの第1部分が前記第1キャッシュに記憶されている場合に、前記メモリアドレスの第2部分のみと、前記メモリアドレスの第1部分が記憶されている前記第1キャッシュのウェイを示す識別子と、を前記第2装置に送信する、
装置。 - 前記第1部分は、前記メモリアドレス全体の上位ビットを含むタグである、
請求項14の装置。 - 前記タグを、前記第1キャッシュのテーブル内の場所であって、前記トランザクションを生成した前記ソースに関連付けられた場所に記憶することをさらに含む、
請求項15の装置。 - 前記タグが記憶されているウェイに関連するテーブルに前記タグを記憶することをさらに含む、
請求項16の装置。 - 前記タグは、前記テーブル内の行に記憶されており、前記行は、前記テーブル内の前記タグの記憶場所を示すインデックスによって識別されており、前記タグは、前記タグが記憶されているウェイに関連する列に記憶される、
請求項17の装置。 - 1つ以上のインデックス行が、特定のソースに関連付けられている、
請求項18の装置。 - インデックス行が、複数のウェイ列に関連付けられている、
請求項19の装置。 - プロセッサをさらに備える、
請求項14の装置。 - 前記プロセッサは、前記トランザクションを生成した前記ソースである、
請求項21の装置。 - トランザクションタイプが、プログラム実行スレッド、読み出し要求、書き込み要求のうち1つ以上を含む、
請求項22の装置。 - 入出力(I/O)デバイスをさらに備える、
請求項14の装置。 - 前記I/Oデバイスは、前記トランザクションを生成した前記ソースである、
請求項24の装置。 - 前記I/Oデバイスに関連する特定の行インデックスが、読み出し要求又は書き込み要求のうち1つ以上のトランザクションに関連付けられている、
請求項25の装置。 - 前記第1リンクコントローラは、メモリアドレスの第1部分の記憶に関する情報を前記第2装置から受信すると、前記第1部分の記憶に関する情報を前記第1キャッシュに記憶する、
請求項14の装置。 - 前記第1リンクコントローラは、前記メモリアドレスの第2部分と、前記メモリアドレスの第1部分が記憶されている前記第2装置のキャッシュのウェイを示す識別子と、を受信すると、
前記識別子に基づいて、前記第1キャッシュから前記メモリアドレスの第1部分を取り出し、
前記メモリアドレス全体を再構成する、
請求項27の装置。 - 前記再構成することは、前記第1部分と前記第2部分とを連結することを含む、
請求項28の装置。 - コンピューティングデバイスによって実行されると、コンピューティングデバイスに動作を実行させる命令を記憶するコンピュータ可読記憶媒体であって、
前記動作は、
前記コンピューティングデバイスにおいて、第2デバイス上のメモリ位置に対するメモリアドレスの要求であって、第1部分と第2部分とを含むメモリアドレスの要求を含むトランザクションをソースから受信することと、
前記メモリアドレスの第1部分が前記コンピューティングデバイスに配置されたキャッシュに記憶されているかどうかを判別することと、
前記メモリアドレスの第1部分が前記コンピューティングデバイスに配置されたキャッシュに記憶されていない場合に、前記メモリアドレスの第1部分を前記コンピューティングデバイスの前記キャッシュに記憶し、前記メモリアドレス全体と、前記第1部分の記憶に関する情報と、を前記第2デバイスに送信することと、
前記メモリアドレスの第1部分が前記コンピューティングデバイスに配置されたキャッシュに記憶されている場合に、前記メモリアドレスの第2部分のみと、前記メモリアドレスの第1部分が記憶されている前記コンピューティングデバイスの前記キャッシュのウェイを示す識別子と、を前記第2デバイスに送信することと、を含む、
コンピュータ可読記憶媒体。 - 前記第2デバイスが、前記第1部分の記憶に関する情報を受信すると、前記第1部分の記憶に関する情報を、前記第2デバイスに配置されたキャッシュに記憶することをさらに含む、
請求項30のコンピュータ可読記憶媒体。 - 前記第2のデバイスが、前記メモリアドレスの第2部分と、前記メモリアドレスの第1部分が記憶されている前記コンピューティングデバイスの前記キャッシュのウェイを示す識別子と、を受信すると、
前記識別子に基づいて、前記第2デバイスに配置されたキャッシュから前記メモリアドレスの第1部分を読み出すことと、
前記メモリアドレス全体を再構成することと、をさらに含む、
請求項31のコンピュータ可読記憶媒体。 - 前記再構成することは、前記第1部分と前記第2部分とを連結することを含む、
請求項32のコンピュータ可読記憶媒体。 - 前記第1部分は、前記メモリアドレス全体の上位ビットを含むタグである、
請求項30のコンピュータ可読記憶媒体。 - 前記タグを、前記コンピューティングデバイスに配置された前記キャッシュのテーブル内の場所であって、前記トランザクションを生成した前記ソースに関連付けられた場所に記憶することをさらに含む、
請求項34のコンピュータ可読記憶媒体。 - 前記タグが記憶されているウェイに関連するテーブルに前記タグを記憶することをさらに含む、
請求項35のコンピュータ可読記憶媒体。 - 前記タグは、前記テーブル内の行に記憶されており、前記行は、前記テーブル内の前記タグの記憶場所を示すインデックスによって識別されており、前記タグは、前記タグが記憶されているウェイに関連する列に記憶される、
請求項36のコンピュータ可読記憶媒体。 - 1つ以上のインデックス行が、特定のソースに関連付けられている、
請求項37のコンピュータ可読記憶媒体。 - 前記ソースは、プロセッサ、又は、前記第1デバイスの入出力(I/O)デバイスのうち何れかを含む、
請求項38のコンピュータ可読記憶媒体。 - インデックス行が、複数のウェイ列に関連付けられている、
請求項39のコンピュータ可読記憶媒体。 - トランザクションタイプが、プログラム実行スレッド、読み出し要求、書き込み要求のうち1つ以上を含む、
請求項40のコンピュータ可読記憶媒体。 - 前記I/Oデバイスに関連付する特定の行インデックスが、読み出し要求又は書き込み要求のうち1つ以上のトランザクションに関連付けられている、
請求項39のコンピュータ可読記憶媒体。 - 第1リンクコントローラと、第1キャッシュと、第1プロセッサと、第1入出力(I/O)デバイスと、を含む第1デバイスと、
第2リンクコントローラと、第2キャッシュと、第2プロセッサと、第2入出力(I/O)デバイスと、を含む第2デバイスと、を備えるシステムであって、
前記第1リンクコントローラは、
前記第2デバイス上のメモリ位置に対するメモリアドレスの要求であって、第1部分と第2部分とを含むメモリアドレスの要求を含むトランザクションを、前記第1プロセッサ又は前記第1I/Oデバイスから受信し、
前記メモリアドレスの第1部分が前記第1キャッシュに記憶されているかどうかを判別し、
前記メモリアドレスの第1部分が前記第1キャッシュに記憶されていない場合に、前記メモリアドレスの第1部分を前記第1キャッシュに記憶し、前記メモリアドレス全体と、前記第1部分の記憶に関する情報と、を前記第2デバイスに送信し、
前記メモリアドレスの第1部分が前記第1キャッシュに記憶されている場合に、前記メモリアドレスの第2部分のみと、前記メモリアドレスの第1部分が記憶されている前記第1キャッシュのウェイを示す識別子と、を前記第2デバイスに送信し、
前記第2リンクコントローラは、
前記第1部分の記憶に関する情報を受信すると、前記第1部分の記憶に関する情報を前記第2キャッシュに記憶し、又は、
前記メモリアドレスの第2部分と、前記アドレスの第1部分が記憶されている前記第1キャッシュのウェイを示す識別子と、を受信すると、
前記第2デバイスに配置された前記第2キャッシュから前記メモリアドレスの第1部分を前記識別子に基づいて取り出し、
前記メモリアドレス全体を再構成する、
システム。 - 前記再構成することは、前記第1部分と前記第2部分とを連結することを含む、
請求項43のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662376096P | 2016-08-17 | 2016-08-17 | |
US62/376,096 | 2016-08-17 | ||
US15/345,639 US10042576B2 (en) | 2016-08-17 | 2016-11-08 | Method and apparatus for compressing addresses |
US15/345,639 | 2016-11-08 | ||
PCT/US2017/045639 WO2018034875A1 (en) | 2016-08-17 | 2017-08-04 | Method and apparatus for compressing addresses |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019525354A true JP2019525354A (ja) | 2019-09-05 |
JP2019525354A5 JP2019525354A5 (ja) | 2020-09-10 |
JP6768928B2 JP6768928B2 (ja) | 2020-10-14 |
Family
ID=61191652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019508974A Active JP6768928B2 (ja) | 2016-08-17 | 2017-08-04 | アドレスを圧縮するための方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10042576B2 (ja) |
EP (2) | EP4220415A3 (ja) |
JP (1) | JP6768928B2 (ja) |
KR (1) | KR102219845B1 (ja) |
CN (1) | CN109564545B (ja) |
WO (1) | WO2018034875A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022511377A (ja) * | 2018-10-03 | 2022-01-31 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 並び替えの間のキャッシュ一貫性を維持する方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10031834B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10042737B2 (en) | 2016-08-31 | 2018-08-07 | Microsoft Technology Licensing, Llc | Program tracing for time travel debugging and analysis |
US10310963B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using index bits in a processor cache |
US10489273B2 (en) | 2016-10-20 | 2019-11-26 | Microsoft Technology Licensing, Llc | Reuse of a related thread's cache while recording a trace file of code execution |
US10310977B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using a processor cache |
US10540250B2 (en) * | 2016-11-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Reducing storage requirements for storing memory addresses and values |
US10318332B2 (en) | 2017-04-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Virtual machine execution tracing |
CN109240944B (zh) * | 2018-08-16 | 2021-02-19 | 上海天数智芯半导体有限公司 | 一种基于可变长缓存行的数据读写方法 |
CN111126589B (zh) * | 2019-12-31 | 2022-05-20 | 昆仑芯(北京)科技有限公司 | 神经网络数据处理装置、方法和电子设备 |
KR102494444B1 (ko) * | 2020-11-17 | 2023-02-06 | 성균관대학교산학협력단 | 어드레스 압축 방법 및 장치 |
JP2023079640A (ja) * | 2021-11-29 | 2023-06-08 | 富士通株式会社 | 演算処理装置および演算処理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0735487B1 (en) * | 1995-03-31 | 2001-10-31 | Sun Microsystems, Inc. | A fast, dual ported cache controller for data processors in a packet switched cache coherent multiprocessor system |
US6477613B1 (en) | 1999-06-30 | 2002-11-05 | International Business Machines Corporation | Cache index based system address bus |
US6449689B1 (en) | 1999-08-31 | 2002-09-10 | International Business Machines Corporation | System and method for efficiently storing compressed data on a hard disk drive |
US6795897B2 (en) | 2002-05-15 | 2004-09-21 | International Business Machines Corporation | Selective memory controller access path for directory caching |
US7143238B2 (en) * | 2003-09-30 | 2006-11-28 | Intel Corporation | Mechanism to compress data in a cache |
US7512750B2 (en) | 2003-12-31 | 2009-03-31 | Intel Corporation | Processor and memory controller capable of use in computing system that employs compressed cache lines' worth of information |
US20080229026A1 (en) | 2007-03-15 | 2008-09-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | System and method for concurrently checking availability of data in extending memories |
US20090006757A1 (en) | 2007-06-29 | 2009-01-01 | Abhishek Singhal | Hierarchical cache tag architecture |
US9026568B2 (en) | 2012-03-30 | 2015-05-05 | Altera Corporation | Data compression for direct memory access transfers |
US9558120B2 (en) * | 2014-03-27 | 2017-01-31 | Intel Corporation | Method, apparatus and system to cache sets of tags of an off-die cache memory |
-
2016
- 2016-11-08 US US15/345,639 patent/US10042576B2/en active Active
-
2017
- 2017-08-04 JP JP2019508974A patent/JP6768928B2/ja active Active
- 2017-08-04 EP EP23158871.6A patent/EP4220415A3/en active Pending
- 2017-08-04 WO PCT/US2017/045639 patent/WO2018034875A1/en unknown
- 2017-08-04 CN CN201780048506.1A patent/CN109564545B/zh active Active
- 2017-08-04 EP EP17841858.8A patent/EP3500935A4/en not_active Ceased
- 2017-08-04 KR KR1020197005418A patent/KR102219845B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022511377A (ja) * | 2018-10-03 | 2022-01-31 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 並び替えの間のキャッシュ一貫性を維持する方法 |
JP7108135B2 (ja) | 2018-10-03 | 2022-07-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 並び替えの間のキャッシュ一貫性を維持する方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109564545A (zh) | 2019-04-02 |
EP4220415A3 (en) | 2023-09-06 |
JP6768928B2 (ja) | 2020-10-14 |
CN109564545B (zh) | 2021-02-02 |
EP3500935A1 (en) | 2019-06-26 |
US10042576B2 (en) | 2018-08-07 |
KR20190032527A (ko) | 2019-03-27 |
WO2018034875A1 (en) | 2018-02-22 |
EP4220415A2 (en) | 2023-08-02 |
US20180052631A1 (en) | 2018-02-22 |
KR102219845B1 (ko) | 2021-02-24 |
EP3500935A4 (en) | 2020-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6768928B2 (ja) | アドレスを圧縮するための方法及び装置 | |
US9996466B2 (en) | Apparatus, system and method for caching compressed data | |
US9734085B2 (en) | DMA transmission method and system thereof | |
US20170177497A1 (en) | Compressed caching of a logical-to-physical address table for nand-type flash memory | |
US10339079B2 (en) | System and method of interleaving data retrieved from first and second buffers | |
EP2732374B1 (en) | Mobile memory cache read optimization | |
JP6859361B2 (ja) | 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと | |
KR102147356B1 (ko) | 캐시 메모리 시스템 및 그 동작방법 | |
JP6945544B2 (ja) | プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス | |
WO2017041570A1 (zh) | 向缓存写入数据的方法及装置 | |
KR20190033284A (ko) | PCIe P2P 접속된 스토리지 장치들 사이의 데이터 전송 방법 및 시스템 | |
KR20170075359A (ko) | 메모리 시스템 및 메모리 콘트롤러의 동작 방법 | |
JP2017527877A (ja) | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 | |
KR102617360B1 (ko) | 바이트 어드레스 지정 가능한 메모리로서 비-휘발성 메모리에 액세스하는 방법 및 장치 | |
KR20180126656A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
WO2018052718A1 (en) | Method and apparatus for masking and transmitting data | |
US10922239B2 (en) | Device for performing iterator operation in database | |
US20230409332A1 (en) | Devices transferring cache lines, including metadata on external links | |
CN113821162A (zh) | 存储对象操作方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200731 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200731 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200731 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200807 |
|
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: 20200825 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200923 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6768928 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |