JP2016541046A - 最終レベルキャッシュシステム及び対応する方法 - Google Patents
最終レベルキャッシュシステム及び対応する方法 Download PDFInfo
- Publication number
- JP2016541046A JP2016541046A JP2016525567A JP2016525567A JP2016541046A JP 2016541046 A JP2016541046 A JP 2016541046A JP 2016525567 A JP2016525567 A JP 2016525567A JP 2016525567 A JP2016525567 A JP 2016525567A JP 2016541046 A JP2016541046 A JP 2016541046A
- Authority
- JP
- Japan
- Prior art keywords
- dynamic random
- random access
- access memory
- data
- storage drive
- 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
- 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/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
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/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
- 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; 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/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; 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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
- 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
-
- 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/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; 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40607—Refresh operations in memory devices with an internal cache or data buffer
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- 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/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- 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/16—General purpose computing application
- G06F2212/161—Portable computer, e.g. notebook
-
- 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/17—Embedded application
- G06F2212/171—Portable consumer electronics, e.g. mobile phone
-
- 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
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/22—Employing cache memory using specific memory technology
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—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/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
-
- 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/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- 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
- G06F2212/6032—Way prediction in set-associative cache
-
- 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
- G06F2212/608—Details relating to cache mapping
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本出願は、2014年10月21日出願の米国特許出願第14/519,826号への優先権を主張し、また、2013年10月21日出願の米国特許仮出願第61/893,662号、2013年10月21日出願の米国特許仮出願第61/893,675号、2013年10月21日出願の米国特許仮出願第61/893,683号、及び2013年10月24日出願の米国特許仮出願第61/895,049号の利益を主張する。上記参照された複数の出願の開示全体は、参照によって本明細書に組み込まれる。
Claims (45)
- 第1の物理アドレスにアクセスするための要求を生成するプロセッサと、
最終レベルキャッシュモジュールとを備え、
前記最終レベルキャッシュモジュールは、
ダイナミックランダムアクセスメモリと、
(i)前記プロセッサからの前記要求を受信し、(ii)前記第1の物理アドレスを第1の仮想アドレスに変換する最終レベルキャッシュコントローラと、
(i)前記第1の仮想アドレスを第2の物理アドレスに変換し、(ii)前記第2の物理アドレスに基づいて前記ダイナミックランダムアクセスメモリにアクセスするダイナミックランダムアクセスメモリコントローラとを有する、
データアクセスシステム。 - 前記最終レベルキャッシュコントローラは、前記第1の物理アドレスの前記第1の仮想アドレスへのフルセットアソシアティブ変換を実行する、
請求項1に記載のデータアクセスシステム。 - 記憶ドライブを更に備え、
前記記憶ドライブは前記ダイナミックランダムアクセスメモリから分離しており、
前記第2の物理アドレスは前記ダイナミックランダムアクセスメモリ又は前記記憶ドライブ中のアドレスであり、
前記最終レベルキャッシュコントローラは、前記第2の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするか、又は前記記憶ドライブにアクセスするかを決定する、
請求項1又は2に記載のデータアクセスシステム。 - 前記記憶ドライブは、前記ダイナミックランダムアクセスメモリより大きい記憶容量を有する、
請求項3に記載のデータアクセスシステム。 - 前記記憶ドライブは、前記ダイナミックランダムアクセスメモリより1桁大きい記憶容量を有する、
請求項3に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリへの、又は前記ダイナミックランダムアクセスメモリからのデータの転送速度は、前記記憶ドライブへの、又は前記記憶ドライブからのデータの転送速度より高速である、
請求項3から5の何れか一項に記載のデータアクセスシステム。 - 前記記憶ドライブはソリッドステートメモリ又は回転記憶媒体を含む、
請求項3から6の何れか一項に記載のデータアクセスシステム。 - 前記記憶ドライブはダイナミックランダムアクセスメモリを含み、
前記記憶ドライブの前記ダイナミックランダムアクセスメモリは、前記最終レベルキャッシュモジュールの前記ダイナミックランダムアクセスメモリより遅いデータ転送速度を有する、
請求項3から7の何れか一項に記載のデータアクセスシステム。 - 記憶ドライブを更に備え、
前記ダイナミックランダムアクセスメモリは、キャッシュとして実装され、前記記憶ドライブとは分離しており、
前記最終レベルキャッシュコントローラは、(i)前記第1の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定し、(ii)前記第1の物理アドレスについて、キャッシュミスが発生したと決定し、(iii)前記キャッシュミスに基づいて、前記キャッシュミスが発生したことを前記プロセッサに信号で伝える、又は前記記憶ドライブにアクセスする、
請求項1に記載のデータアクセスシステム。 - 記憶ドライブを更に備え、
前記ダイナミックランダムアクセスメモリは、キャッシュとして実装され、前記記憶ドライブとは分離しており、
前記ダイナミックランダムアクセスメモリコントローラは、(i)前記第1の仮想アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定し、(ii)前記第1の仮想アドレスについて、キャッシュミスが発生したと決定し、(iii)前記キャッシュミスに基づいて、前記キャッシュミスが発生したことを前記最終レベルキャッシュコントローラに信号で伝え、
前記最終レベルキャッシュコントローラは、前記キャッシュミスが発生したことを示す前記信号に応答して前記記憶ドライブにアクセスする、
請求項1に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリはキャッシュとして実装され、
前記ダイナミックランダムアクセスメモリコントローラは、(i)前記第1の仮想アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定し、(ii)前記第1の仮想アドレスについて、キャッシュミスが発生したと決定し、(iii)前記キャッシュミスに基づいて、前記キャッシュミスが発生したことを前記最終レベルキャッシュに示すべく第1の信号を生成し、
前記最終レベルキャッシュコントローラは、前記第1の信号に応答して、前記キャッシュミスが発生したことを前記プロセッサに示すべく第2の信号を生成し、
前記プロセッサは、前記第2の信号に応答して、記憶ドライブにアクセスする、
請求項1から8の何れか一項に記載のデータアクセスシステム。 - 記憶ドライブを更に備え、
前記記憶ドライブは、前記ダイナミックランダムアクセスメモリとは分離しており、
前記プロセッサは、データを転送するための要求を生成し、
前記要求は、前記第1の物理アドレスを示し、
前記最終レベルキャッシュコントローラは、
前記要求に基づいて、前記第1の物理アドレスを前記第1の仮想アドレスに変換し、
前記最終レベルキャッシュコントローラは、前記第2の物理アドレスに基づいて、(i)前記プロセッサと前記ダイナミックランダムアクセスメモリとの間で前記データを転送するか、又は(ii)前記プロセッサと前記記憶ドライブとの間で前記データを転送するかを決定する、
請求項1に記載のデータアクセスシステム。 - 前記プロセッサと前記記憶ドライブとの間で転送される前に、前記データを暗号化する暗号化デバイスを更に備える
請求項12に記載のデータアクセスシステム。 - 前記プロセッサは、(i)第2の仮想アドレスを生成し、(ii)前記第2の仮想アドレスを前記第1の物理アドレスに変換する、
請求項1から13の何れか一項に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリは第1の部分及び第2の部分を含み、
前記第1の部分は、最終レベルキャッシュとして実装され、
前記第2の部分は、キャッシュとしては実装されず、前記第1の部分より低い階層レベルを有する、
請求項1から14の何れか一項に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリコントローラは、複数の前記階層レベルに基づいて、前記第1の部分及び前記第2の部分にアクセスする、
請求項15に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリは、第1の部分及び第2の部分を含み、
前記第1の部分は、仮想メモリとして実装され、
前記第2の部分は、仮想メモリとしては実装されず、前記第1の部分より低い階層レベルを有する、
請求項1から14の何れか一項に記載のデータアクセスシステム。 - 記憶ドライブを更に備え、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離しており、前記最終レベルキャッシュコントローラは、
第2のデータを転送するための、前記プロセッサからの第1の複数の物理アドレスを示す複数の要求を受信し、
前記第1の複数の物理アドレスを複数の仮想アドレスに変換し、
前記複数の仮想アドレスを第2の複数の物理アドレスに変換し、
前記第2の複数の物理アドレスに基づいて、(i)前記プロセッサと前記ダイナミックランダムアクセスメモリとの間で、前記第2のデータを転送するか、又は(ii)前記プロセッサと前記記憶ドライブとの間で、前記第2のデータを転送するかを決定し、
前記第2の複数の物理アドレスのうちのいくつかのアドレスは前記ダイナミックランダムアクセスメモリ中にあり、前記第2の複数の物理アドレスのうちのその他のアドレスは前記記憶ドライブ中にある、
請求項1に記載のデータアクセスシステム。 - 前記最終レベルキャッシュモジュールはただ1つの集積回路によって実装される、
請求項1から18の何れか一項に記載のデータアクセスシステム。 - 記憶ドライブを更に備え、
前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離しており、
前記ダイナミックランダムアクセスメモリは第1の複数のエントリを含み、
前記記憶ドライブは、前記第1の複数のエントリにマッピングされる第2の複数のエントリを含み、
前記最終レベルキャッシュコントローラは、前記第1の複数のエントリのうちの1つのエントリにおける残りの記憶容量に基づいて、前記プロセッサと、前記記憶ドライブの前記第2の複数のエントリのうちの1つのエントリとの間でデータを転送し、
前記第2の複数のエントリのうちの前記1つのエントリは、前記第1の複数のエントリのうちの前記1つのエントリにマッピングされる、
請求項1に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリ中の各エントリは、前記記憶ドライブ中の1又は複数のエントリにマッピングされる、
請求項20に記載のデータアクセスシステム。 - 前記ダイナミックランダムアクセスメモリ中の1又は複数のエントリは、前記記憶ドライブ中の1又は複数のエントリにマッピングされる、
請求項20又は21に記載のデータアクセスシステム。
- 前記最終レベルキャッシュコントローラは、(i)データの使用頻度、(ii)前記データの優先レベル、又は(iii)前記データがロックされた状態にあるかどうか、のうち少なくとも1つに基づいて、前記ダイナミックランダムアクセスメモリ中に前記データを格納する、
請求項1から22の何れか一項に記載のデータアクセスシステム。 - 最終レベルキャッシュモジュールのダイナミックランダムアクセスメモリにアクセスするための方法であって、
第1の物理アドレスにアクセスするための要求をプロセッサによって生成する段階と、
前記プロセッサからの前記要求を最終レベルキャッシュコントローラにおいて受信する段階と、
前記最終レベルキャッシュコントローラによって前記第1の物理アドレスを第1の仮想アドレスに変換する段階と、
ダイナミックランダムアクセスメモリコントローラによって前記第1の仮想アドレスを第2の物理アドレスに変換する段階と、
前記第2の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスする段階とを備える
方法。 - 前記第1の物理アドレスを前記第1の仮想アドレスに変換する段階は、前記第1の物理アドレスの前記第1の仮想アドレスへのフルセットアソシアティブ変換を実行する段階を有する、
請求項24に記載の方法。 - 前記第2の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするか、又は記憶ドライブにアクセスするかを前記最終レベルキャッシュコントローラによって決定する段階を更に備え、
前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離しており、
前記第2の物理アドレスは前記ダイナミックランダムアクセスメモリ又は前記記憶ドライブ中のアドレスである、
請求項24又は25に記載の方法。 - 前記記憶ドライブは、前記ダイナミックランダムアクセスメモリより大きい記憶容量を有する、
請求項26に記載の方法。 - 前記記憶ドライブは、前記ダイナミックランダムアクセスメモリより1桁大きい記憶容量を有する、
請求項26に記載の方法。 - 前記ダイナミックランダムアクセスメモリへの、又は前記ダイナミックランダムアクセスメモリからのデータの転送速度は、前記記憶ドライブへの、又は前記記憶ドライブからのデータの転送速度より高速である、
請求項26から28の何れか一項に記載の方法。 - 前記記憶ドライブはソリッドステートメモリ又は回転記憶媒体を含む、
請求項26から29の何れか一項に記載の方法。 - 前記記憶ドライブはダイナミックランダムアクセスメモリを含み、
前記記憶ドライブの前記ダイナミックランダムアクセスメモリは、前記最終レベルキャッシュモジュールの前記ダイナミックランダムアクセスメモリより遅いデータ転送速度を有する、
請求項26から30の何れか一項に記載の方法。 - 前記第1の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定する段階であって、前記ダイナミックランダムアクセスメモリはキャッシュとして実装される、段階と、
前記第1の物理アドレスについて、キャッシュミスが発生したと決定する段階と、
前記キャッシュミスに基づいて、前記キャッシュミスが発生したことを前記プロセッサに信号で伝える、又は記憶ドライブにアクセスする段階であって、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
請求項24から31の何れか一項に記載の方法。 - 前記第2の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定する段階であって、前記ダイナミックランダムアクセスメモリはキャッシュとして実装される、段階と、
前記第1の仮想アドレスについて、キャッシュミスが発生したと決定する段階と、
前記キャッシュミスに基づいて、前記キャッシュミスが発生したことを前記最終レベルキャッシュコントローラに信号で伝える段階と、
前記キャッシュミスが発生したことを示す前記信号に応答して、記憶ドライブにアクセスする段階であって、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
請求項24から32の何れか一項に記載の方法。 - 前記第2の物理アドレスに基づいて、前記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定する段階であって、前記ダイナミックランダムアクセスメモリはキャッシュとして実装される、段階と、
前記第1の仮想アドレスについて、キャッシュミスが発生したと前記ダイナミックランダムアクセスメモリコントローラによって決定する段階と、
前記キャッシュミスに基づいて、前記キャッシュミスが発生したことを前記最終レベルキャッシュに示すべく第1の信号を生成する段階と、
前記第1の信号に応答して、前記キャッシュミスが発生したことを前記プロセッサに示す第2の信号を前記最終レベルキャッシュコントローラにおいて生成する段階と、
前記第2の信号に応答して、記憶ドライブにアクセスする段階であって、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
請求項24から33の何れか一項に記載の方法。 - データを転送するための前記要求を生成する階であって、前記要求は前記第1の物理アドレスを示す、段階と、
前記要求に基づいて、前記第1の物理アドレスを前記第1の仮想アドレスに変換する段階と、
前記第2の物理アドレスに基づいて、(i)前記プロセッサと前記ダイナミックランダムアクセスメモリとの間で前記データを転送するか、又は(ii)前記プロセッサと記憶ドライブとの間で前記データを転送するかを決定する段階であって、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
請求項24から34の何れか一項に記載の方法。 - 前記プロセッサと前記記憶ドライブとの間で転送される前に、前記データを暗号化する段階を更に備える
請求項35に記載の方法。 - 前記プロセッサにおいて第2の仮想アドレスを生成する段階と、
前記第2の仮想アドレスを前記第1の物理アドレスに変換する段階とを更に備える
請求項24から36の何れか一項に記載の方法。 - 前記ダイナミックランダムアクセスメモリの複数の部分に、前記複数の部分の複数の階層レベルに基づいてアクセスする段階を更に備え、
前記ダイナミックランダムアクセスメモリは第1の部分及び第2の部分を含み、
前記第1の部分は、最終レベルキャッシュとして実装され、
前記第2の部分は、キャッシュとしては実装されず、前記第1の部分より低い階層レベルを有する、
請求項24から37の何れか一項に記載の方法。 - 前記ダイナミックランダムアクセスメモリの複数の部分に、前記複数の部分の複数の階層レベルに基づいてアクセスする段階を更に備え、
前記ダイナミックランダムアクセスメモリは、第1の部分及び第2の部分を含み、
前記第1の部分は、仮想メモリとして実装され、
前記第2の部分は、仮想メモリとしては実装されず、前記第1の部分より低い階層レベルを有する、
請求項24から37の何れか一項に記載の方法。 - 第2のデータを転送するための、前記プロセッサからの複数の要求を受信する段階であって、前記複数の要求は第1の複数の物理アドレスを示す、段階と、
前記第1の複数の物理アドレスを複数の仮想アドレスに変換する段階と、
前記複数の仮想アドレスを第2の複数の物理アドレスに変換する段階であって、前記第2の複数の物理アドレスのうちのいくつかのアドレスは前記ダイナミックランダムアクセスメモリ中にあり、前記第2の複数の物理アドレスのうちのその他のアドレスは記憶ドライブ中にあり、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離している、段階と、
前記第2の複数の物理アドレスに基づいて、(i)前記プロセッサと前記ダイナミックランダムアクセスメモリとの間で前記第2のデータを転送するか、又は(ii)前記プロセッサと前記記憶ドライブとの間で前記第2のデータを転送するかを決定する段階とを更に備える
請求項24から39の何れか一項に記載の方法。 - 前記最終レベルキャッシュモジュールはただ1つの集積回路によって実装される、
請求項24から40の何れか一項に記載の方法。 - 前記ダイナミックランダムアクセスメモリの第1の複数のエントリのうちの1つのエントリにおける残りの記憶容量に基づいて、前記プロセッサと、記憶ドライブの第2の複数のエントリのうちの1つのエントリとの間でデータを転送する段階を更に備え、前記記憶ドライブは前記ダイナミックランダムアクセスメモリとは分離しており、前記第2の複数のエントリは前記第1の複数のエントリにマッピングされ、
前記第2の複数のエントリのうちの前記1つのエントリは、前記第1の複数のエントリのうちの前記1つのエントリにマッピングされる、
請求項24から41の何れか一項に記載の方法。 - 前記ダイナミックランダムアクセスメモリ中の各エントリは、前記記憶ドライブ中の1又は複数のエントリにマッピングされる、
請求項42に記載の方法。 - 前記ダイナミックランダムアクセスメモリ中の1又は複数のエントリは、前記記憶ドライブ中の1又は複数のエントリにマッピングされる、
請求項42又は43に記載の方法。 - (i)データの使用頻度、(ii)前記データの優先レベル、又は、(iii)前記データがロックされた状態にあるかどうか、のうち少なくとも1つに基づいて、前記ダイナミックランダムアクセスメモリ中に前記データを格納する段階を更に備える
請求項24から44の何れか一項に記載の方法。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361893675P | 2013-10-21 | 2013-10-21 | |
US201361893662P | 2013-10-21 | 2013-10-21 | |
US201361893683P | 2013-10-21 | 2013-10-21 | |
US61/893,683 | 2013-10-21 | ||
US61/893,675 | 2013-10-21 | ||
US61/893,662 | 2013-10-21 | ||
US201361895049P | 2013-10-24 | 2013-10-24 | |
US61/895,049 | 2013-10-24 | ||
US14/519,826 US9477611B2 (en) | 2013-10-21 | 2014-10-21 | Final level cache system and corresponding methods |
PCT/US2014/061603 WO2015061337A1 (en) | 2013-10-21 | 2014-10-21 | Final level cache system and corresponding method |
US14/519,826 | 2014-10-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018207296A Division JP6796304B2 (ja) | 2013-10-21 | 2018-11-02 | 最終レベルキャッシュシステム及び対応する方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016541046A true JP2016541046A (ja) | 2016-12-28 |
JP2016541046A5 JP2016541046A5 (ja) | 2017-11-30 |
JP6431536B2 JP6431536B2 (ja) | 2018-11-28 |
Family
ID=52827224
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525567A Active JP6431536B2 (ja) | 2013-10-21 | 2014-10-21 | 最終レベルキャッシュシステム及び対応する方法 |
JP2018207296A Active JP6796304B2 (ja) | 2013-10-21 | 2018-11-02 | 最終レベルキャッシュシステム及び対応する方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018207296A Active JP6796304B2 (ja) | 2013-10-21 | 2018-11-02 | 最終レベルキャッシュシステム及び対応する方法 |
Country Status (6)
Country | Link |
---|---|
US (7) | US9477611B2 (ja) |
EP (1) | EP3060993B1 (ja) |
JP (2) | JP6431536B2 (ja) |
KR (3) | KR102614631B1 (ja) |
CN (2) | CN106462504B (ja) |
WO (1) | WO2015061337A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021530028A (ja) * | 2018-06-18 | 2021-11-04 | エフ・エル・シィ・テクノロジー・グループ・インコーポレイテッドFlc Technology Group Inc. | 記憶システムをメインメモリとして使用するための方法および装置 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097204B1 (en) | 2014-04-21 | 2018-10-09 | Marvell International Ltd. | Low-density parity-check codes for WiFi networks |
US9559722B1 (en) | 2013-10-21 | 2017-01-31 | Marvell International Ltd. | Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data |
US11822474B2 (en) | 2013-10-21 | 2023-11-21 | Flc Global, Ltd | Storage system and method for accessing same |
US9454991B2 (en) | 2013-10-21 | 2016-09-27 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
JP6431536B2 (ja) | 2013-10-21 | 2018-11-28 | マーベル インターナショナル リミテッド | 最終レベルキャッシュシステム及び対応する方法 |
CN104765587B (zh) * | 2014-01-08 | 2018-12-14 | 雅特生嵌入式计算有限公司 | 用于使处理器同步到相同的计算点的***和方法 |
US9888077B2 (en) * | 2014-04-22 | 2018-02-06 | Western Digital Technologies, Inc. | Metadata based data alignment in data storage systems |
TWI540871B (zh) * | 2014-04-29 | 2016-07-01 | 緯創資通股份有限公司 | 混合式資料傳輸之方法及其相關混合式系統 |
CN106463145B (zh) | 2014-05-02 | 2019-08-30 | 马维尔国际贸易有限公司 | 用于硬盘驱动器和混合驱动器的高速缓存***和方法 |
US10013352B2 (en) * | 2014-09-26 | 2018-07-03 | Intel Corporation | Partner-aware virtual microsectoring for sectored cache architectures |
KR102314138B1 (ko) * | 2015-03-05 | 2021-10-18 | 삼성전자 주식회사 | 모바일 장치 및 모바일 장치의 데이터 관리 방법 |
JP5992592B1 (ja) | 2015-09-16 | 2016-09-14 | 株式会社東芝 | キャッシュメモリシステム |
US9910482B2 (en) * | 2015-09-24 | 2018-03-06 | Qualcomm Incorporated | Memory interface with adjustable voltage and termination and methods of use |
US11120884B2 (en) | 2015-09-30 | 2021-09-14 | Sunrise Memory Corporation | Implementing logic function and generating analog signals using NOR memory strings |
US9892800B2 (en) | 2015-09-30 | 2018-02-13 | Sunrise Memory Corporation | Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates |
US9842651B2 (en) | 2015-11-25 | 2017-12-12 | Sunrise Memory Corporation | Three-dimensional vertical NOR flash thin film transistor strings |
US10121553B2 (en) | 2015-09-30 | 2018-11-06 | Sunrise Memory Corporation | Capacitive-coupled non-volatile thin-film transistor NOR strings in three-dimensional arrays |
US10416887B1 (en) | 2016-05-18 | 2019-09-17 | Marvell International Ltd. | Hybrid storage device and system |
US10056147B1 (en) * | 2016-06-02 | 2018-08-21 | Marvell International Ltd. | Two-level storage device with faster front end |
US10268395B1 (en) * | 2016-06-09 | 2019-04-23 | Marvell International Ltd. | Systems and methods for communicating addressable requests to a programmable input/output memory over a hardware bridge |
US9927975B2 (en) | 2016-08-03 | 2018-03-27 | Micron Technology, Inc. | Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive |
CN109863575B (zh) * | 2016-08-26 | 2024-01-30 | 日升存储公司 | 三维阵列中电容耦接非易失性薄膜晶体管串 |
KR101777660B1 (ko) * | 2016-10-25 | 2017-09-12 | 주식회사 티에스피글로벌 | 플래시 스토리지 디바이스 및 그 동작 제어 방법 |
WO2018119773A1 (zh) * | 2016-12-28 | 2018-07-05 | 华为技术有限公司 | 非易失内存访问方法、装置和*** |
US10649943B2 (en) * | 2017-05-26 | 2020-05-12 | Dell Products, L.P. | System and method for I/O aware processor configuration |
US20180343934A1 (en) * | 2017-06-05 | 2018-12-06 | Worcester Polytechnic Institute | Weatherproof cover |
US10692874B2 (en) | 2017-06-20 | 2020-06-23 | Sunrise Memory Corporation | 3-dimensional NOR string arrays in segmented stacks |
US10608008B2 (en) | 2017-06-20 | 2020-03-31 | Sunrise Memory Corporation | 3-dimensional nor strings with segmented shared source regions |
CN111033625B (zh) | 2017-06-20 | 2024-02-06 | 日升存储公司 | 三维nor存储器阵列架构及其制造方法 |
KR102319189B1 (ko) | 2017-06-21 | 2021-10-28 | 삼성전자주식회사 | 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법 |
CN109254794A (zh) * | 2017-06-29 | 2019-01-22 | Nvxl技术股份有限公司 | 数据软件***辅助 |
US20190057045A1 (en) * | 2017-08-16 | 2019-02-21 | Alibaba Group Holding Limited | Methods and systems for caching based on service level agreement |
US10372371B2 (en) * | 2017-09-14 | 2019-08-06 | International Business Machines Corporation | Dynamic data relocation using cloud based ranks |
US10671460B2 (en) | 2018-02-05 | 2020-06-02 | Micron Technology, Inc. | Memory access communications through message passing interface implemented in memory systems |
US10853168B2 (en) * | 2018-03-28 | 2020-12-01 | Samsung Electronics Co., Ltd. | Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM) |
JP7326667B2 (ja) | 2018-07-31 | 2023-08-16 | マーベル アジア ピーティーイー、リミテッド | ストレージエッジにおけるメタデータ生成 |
KR102518095B1 (ko) * | 2018-09-12 | 2023-04-04 | 삼성전자주식회사 | 스토리지 장치 및 시스템 |
CN111240581B (zh) * | 2018-11-29 | 2023-08-08 | 北京地平线机器人技术研发有限公司 | 存储器访问控制方法、装置和电子设备 |
EP3925004A4 (en) | 2019-02-11 | 2023-03-08 | Sunrise Memory Corporation | VERTICAL THIN FILM TRANSISTOR AND USE AS BITLINE CONNECTOR FOR THREE DIMENSIONAL MEMORY ARRANGEMENTS |
WO2021127218A1 (en) | 2019-12-19 | 2021-06-24 | Sunrise Memory Corporation | Process for preparing a channel region of a thin-film transistor |
US20200136943A1 (en) * | 2019-12-27 | 2020-04-30 | Intel Corporation | Storage management in a data management platform for cloud-native workloads |
CN115413367A (zh) | 2020-02-07 | 2022-11-29 | 日升存储公司 | 具有低有效延迟的高容量存储器电路 |
US11507301B2 (en) | 2020-02-24 | 2022-11-22 | Sunrise Memory Corporation | Memory module implementing memory centric architecture |
US11508693B2 (en) | 2020-02-24 | 2022-11-22 | Sunrise Memory Corporation | High capacity memory module including wafer-section memory circuit |
WO2021207050A1 (en) | 2020-04-08 | 2021-10-14 | Sunrise Memory Corporation | Charge-trapping layer with optimized number of charge-trapping sites for fast program and erase of a memory cell in a 3-dimensional nor memory string array |
US11842777B2 (en) | 2020-11-17 | 2023-12-12 | Sunrise Memory Corporation | Methods for reducing disturb errors by refreshing data alongside programming or erase operations |
US11848056B2 (en) | 2020-12-08 | 2023-12-19 | Sunrise Memory Corporation | Quasi-volatile memory with enhanced sense amplifier operation |
KR20230000638A (ko) * | 2021-06-25 | 2023-01-03 | 한국전자통신연구원 | 저전력 시스템 온 칩 |
TW202310429A (zh) | 2021-07-16 | 2023-03-01 | 美商日升存儲公司 | 薄膜鐵電電晶體的三維記憶體串陣列 |
US11979176B2 (en) | 2021-09-09 | 2024-05-07 | Hughes Network Systems, Llc | Configurable modem architecture for satellite communications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009640A1 (en) * | 2001-06-21 | 2003-01-09 | International Business Machines Corp. | Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control |
US20040117587A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Hardware managed virtual-to-physical address translation mechanism |
US7428617B2 (en) * | 2004-07-29 | 2008-09-23 | Fujitsu Limited | Cache memory and method to maintain cache-coherence between cache memory units |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1325288C (en) * | 1989-02-03 | 1993-12-14 | Ricky C. Hetherington | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system |
KR970705086A (ko) * | 1995-05-26 | 1997-09-06 | 존 엠. 클락3세 | 같은 클락 사이클 동안에 캐쉬 메모리와 외부 메모리 제어기로 메모리 요청을 하는 파이프라인 마이크로프로세서(A Pipelined Microprocessor that Makes Memory Requests to a Cache Memory and an external Memory Controller During the Same Clock Cycle) |
US6490658B1 (en) * | 1997-06-23 | 2002-12-03 | Sun Microsystems, Inc. | Data prefetch technique using prefetch cache, micro-TLB, and history file |
US6795894B1 (en) | 2000-08-08 | 2004-09-21 | Hewlett-Packard Development Company, L.P. | Fast disk cache writing system |
US6978355B2 (en) | 2001-11-13 | 2005-12-20 | Seagate Technology Llc | Cache memory transfer during a requested data retrieval operation |
WO2004095201A2 (en) | 2003-04-09 | 2004-11-04 | Intervideo Inc. | Systems and methods for caching multimedia data |
US7111153B2 (en) | 2003-09-30 | 2006-09-19 | Intel Corporation | Early data return indication mechanism |
US7395495B2 (en) | 2004-01-12 | 2008-07-01 | Intel Corporation | Method and apparatus for decoding forward error correction codes |
US7165205B2 (en) | 2004-05-14 | 2007-01-16 | Motorola, Inc. | Method and apparatus for encoding and decoding data |
WO2006039801A1 (en) | 2004-10-12 | 2006-04-20 | Nortel Networks Limited | System and method for low density parity check encoding of data |
US7752521B2 (en) | 2004-10-12 | 2010-07-06 | Nortel Networks Limited | Low density parity check (LDPC) code |
US7783961B2 (en) | 2005-07-01 | 2010-08-24 | Nec Laboratories America, Inc. | Rate-compatible low density parity check coding for hybrid ARQ |
JP4160589B2 (ja) * | 2005-10-31 | 2008-10-01 | 富士通株式会社 | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
US8132072B2 (en) | 2006-01-06 | 2012-03-06 | Qualcomm Incorporated | System and method for providing H-ARQ rate compatible codes for high throughput applications |
WO2008055269A2 (en) * | 2006-11-04 | 2008-05-08 | Virident Systems, Inc. | Asymmetric memory migration in hybrid main memory |
US8015361B2 (en) * | 2007-12-14 | 2011-09-06 | International Business Machines Corporation | Memory-centric page table walker |
KR101449524B1 (ko) * | 2008-03-12 | 2014-10-14 | 삼성전자주식회사 | 스토리지 장치 및 컴퓨팅 시스템 |
US7800856B1 (en) | 2009-03-24 | 2010-09-21 | Western Digital Technologies, Inc. | Disk drive flushing write cache to a nearest set of reserved tracks during a power failure |
US8255742B2 (en) * | 2009-11-18 | 2012-08-28 | Microsoft Corporation | Dynamically replicated memory |
US8688897B2 (en) | 2010-05-28 | 2014-04-01 | International Business Machines Corporation | Cache memory management in a flash cache architecture |
US10133676B2 (en) * | 2010-07-28 | 2018-11-20 | Rambus Inc. | Cache memory that supports tagless addressing |
US8599510B1 (en) | 2011-05-04 | 2013-12-03 | Western Digital Technologies, Inc. | Disk drive adjusting data track density based on write condition when writing to contiguous data tracks |
US20130086328A1 (en) * | 2011-06-13 | 2013-04-04 | Paneve, Llc | General Purpose Digital Data Processor, Systems and Methods |
US9229879B2 (en) | 2011-07-11 | 2016-01-05 | Intel Corporation | Power reduction using unmodified information in evicted cache lines |
CN104115132B (zh) * | 2011-12-22 | 2018-02-06 | 英特尔公司 | 借助于存储器通道关闭的功率节约 |
US20140317337A1 (en) * | 2011-12-30 | 2014-10-23 | Leena K. Puthiyedath | Metadata management and support for phase change memory with switch (pcms) |
US9081706B2 (en) * | 2012-05-10 | 2015-07-14 | Oracle International Corporation | Using a shared last-level TLB to reduce address-translation latency |
US8593748B1 (en) | 2012-06-04 | 2013-11-26 | HGST Netherlands B.V. | Shingled magnetic recording disk drive with compensation for the effect of far track erasure (FTE) on adjacent data bands |
US8797672B2 (en) | 2012-06-14 | 2014-08-05 | HGST Netherlands B.V. | Dynamic track pitch control for shingled magnetic recording (SMR) |
US20140181402A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Selective cache memory write-back and replacement policies |
US9286223B2 (en) * | 2013-04-17 | 2016-03-15 | Advanced Micro Devices, Inc. | Merging demand load requests with prefetch load requests |
US20150013025A1 (en) * | 2013-05-19 | 2015-01-08 | Mice With Horns, Llc | Transgenic animals with customizable traits |
US9785564B2 (en) * | 2013-08-20 | 2017-10-10 | Seagate Technology Llc | Hybrid memory with associative cache |
US9454991B2 (en) | 2013-10-21 | 2016-09-27 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
US9559722B1 (en) | 2013-10-21 | 2017-01-31 | Marvell International Ltd. | Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data |
JP6431536B2 (ja) | 2013-10-21 | 2018-11-28 | マーベル インターナショナル リミテッド | 最終レベルキャッシュシステム及び対応する方法 |
CN106463145B (zh) | 2014-05-02 | 2019-08-30 | 马维尔国际贸易有限公司 | 用于硬盘驱动器和混合驱动器的高速缓存***和方法 |
US9129628B1 (en) | 2014-10-23 | 2015-09-08 | Western Digital Technologies, Inc. | Data management for data storage device with different track density regions |
US9703493B2 (en) | 2015-12-14 | 2017-07-11 | Qualcomm Incorporated | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache |
-
2014
- 2014-10-21 JP JP2016525567A patent/JP6431536B2/ja active Active
- 2014-10-21 KR KR1020227027674A patent/KR102614631B1/ko active IP Right Grant
- 2014-10-21 CN CN201480066082.8A patent/CN106462504B/zh active Active
- 2014-10-21 WO PCT/US2014/061603 patent/WO2015061337A1/en active Application Filing
- 2014-10-21 EP EP14792704.0A patent/EP3060993B1/en active Active
- 2014-10-21 CN CN202311023201.9A patent/CN117215971A/zh active Pending
- 2014-10-21 KR KR1020167013471A patent/KR102329269B1/ko active IP Right Grant
- 2014-10-21 US US14/519,826 patent/US9477611B2/en active Active
- 2014-10-21 KR KR1020217027701A patent/KR102432754B1/ko active IP Right Grant
-
2015
- 2015-05-13 US US14/710,988 patent/US9182915B2/en active Active
- 2015-11-10 US US14/937,330 patent/US9323688B2/en active Active
-
2016
- 2016-04-25 US US15/137,611 patent/US9594693B2/en active Active
-
2017
- 2017-03-09 US US15/454,306 patent/US9928172B2/en active Active
-
2018
- 2018-03-23 US US15/934,886 patent/US10684949B2/en active Active
- 2018-11-02 JP JP2018207296A patent/JP6796304B2/ja active Active
-
2020
- 2020-05-15 US US16/875,870 patent/US11360894B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009640A1 (en) * | 2001-06-21 | 2003-01-09 | International Business Machines Corp. | Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control |
JP2003067357A (ja) * | 2001-06-21 | 2003-03-07 | Internatl Business Mach Corp <Ibm> | 不均一メモリ・アクセス(numa)データ処理システムおよびその操作方法 |
US20040117587A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Hardware managed virtual-to-physical address translation mechanism |
JP2004192615A (ja) * | 2002-12-12 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | ハードウェア管理仮想−物理アドレス変換機構 |
US7428617B2 (en) * | 2004-07-29 | 2008-09-23 | Fujitsu Limited | Cache memory and method to maintain cache-coherence between cache memory units |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021530028A (ja) * | 2018-06-18 | 2021-11-04 | エフ・エル・シィ・テクノロジー・グループ・インコーポレイテッドFlc Technology Group Inc. | 記憶システムをメインメモリとして使用するための方法および装置 |
JP7407134B2 (ja) | 2018-06-18 | 2023-12-28 | エフ・エル・シィ・テクノロジー・グループ・インコーポレイテッド | 記憶システムをメインメモリとして使用するための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
US9928172B2 (en) | 2018-03-27 |
US20180293167A1 (en) | 2018-10-11 |
KR20220116362A (ko) | 2022-08-22 |
US9323688B2 (en) | 2016-04-26 |
US20170177481A1 (en) | 2017-06-22 |
US20160062906A1 (en) | 2016-03-03 |
KR102432754B1 (ko) | 2022-08-16 |
KR102614631B1 (ko) | 2023-12-19 |
KR20210111881A (ko) | 2021-09-13 |
CN106462504B (zh) | 2023-09-01 |
US20150242137A1 (en) | 2015-08-27 |
US20150113214A1 (en) | 2015-04-23 |
CN117215971A (zh) | 2023-12-12 |
JP2019067417A (ja) | 2019-04-25 |
US9182915B2 (en) | 2015-11-10 |
US9477611B2 (en) | 2016-10-25 |
CN106462504A (zh) | 2017-02-22 |
US10684949B2 (en) | 2020-06-16 |
US20160239429A1 (en) | 2016-08-18 |
EP3060993A1 (en) | 2016-08-31 |
JP6796304B2 (ja) | 2020-12-09 |
EP3060993B1 (en) | 2023-03-08 |
WO2015061337A1 (en) | 2015-04-30 |
JP6431536B2 (ja) | 2018-11-28 |
US20200301836A1 (en) | 2020-09-24 |
KR102329269B1 (ko) | 2021-11-22 |
US11360894B2 (en) | 2022-06-14 |
US9594693B2 (en) | 2017-03-14 |
KR20160074648A (ko) | 2016-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6796304B2 (ja) | 最終レベルキャッシュシステム及び対応する方法 | |
US20120110251A1 (en) | Processor-bus-connected flash storage module | |
US11880305B2 (en) | Method and apparatus for using a storage system as main memory | |
WO2013101158A1 (en) | Metadata management and support for phase change memory with switch (pcms) | |
US20240193084A1 (en) | Storage System and Method for Accessing Same | |
US20230144038A1 (en) | Memory pooling bandwidth multiplier using final level cache system | |
US10331385B2 (en) | Cooperative write-back cache flushing for storage devices | |
US20170153994A1 (en) | Mass storage region with ram-disk access and dma access | |
WO2023241655A1 (zh) | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171020 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171020 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180720 |
|
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: 20180904 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6431536 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |