JP6796304B2 - 最終レベルキャッシュシステム及び対応する方法 - Google Patents
最終レベルキャッシュシステム及び対応する方法 Download PDFInfo
- Publication number
- JP6796304B2 JP6796304B2 JP2018207296A JP2018207296A JP6796304B2 JP 6796304 B2 JP6796304 B2 JP 6796304B2 JP 2018207296 A JP2018207296 A JP 2018207296A JP 2018207296 A JP2018207296 A JP 2018207296A JP 6796304 B2 JP6796304 B2 JP 6796304B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- cache
- controller
- dram
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 55
- 230000015654 memory Effects 0.000 claims description 142
- 238000012546 transfer Methods 0.000 claims description 32
- 239000007787 solid Substances 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 9
- 229910052571 earthenware Inorganic materials 0.000 claims 1
- 238000012545 processing Methods 0.000 description 62
- 230000006870 function Effects 0.000 description 9
- 238000013519 translation Methods 0.000 description 9
- 230000014616 translation Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
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号の利益を主張する。上記参照された複数の出願の開示全体は、参照によって本明細書に組み込まれる。
[項目1]
第1の物理アドレスにアクセスするための要求を生成するプロセッサと、
最終レベルキャッシュモジュールとを備え、
上記最終レベルキャッシュモジュールは、
ダイナミックランダムアクセスメモリと、
(i)上記プロセッサからの上記要求を受信し、(ii)上記第1の物理アドレスを第1の仮想アドレスに変換する最終レベルキャッシュコントローラと、
(i)上記第1の仮想アドレスを第2の物理アドレスに変換し、(ii)上記第2の物理アドレスに基づいて上記ダイナミックランダムアクセスメモリにアクセスするダイナミックランダムアクセスメモリコントローラとを有する、
データアクセスシステム。
[項目2]
上記最終レベルキャッシュコントローラは、上記第1の物理アドレスの上記第1の仮想アドレスへのフルセットアソシアティブ変換を実行する、
項目1に記載のデータアクセスシステム。
[項目3]
記憶ドライブを更に備え、
上記記憶ドライブは上記ダイナミックランダムアクセスメモリから分離しており、
上記第2の物理アドレスは上記ダイナミックランダムアクセスメモリ又は上記記憶ドライブ中のアドレスであり、
上記最終レベルキャッシュコントローラは、上記第2の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするか、又は上記記憶ドライブにアクセスするかを決定する、
項目1又は2に記載のデータアクセスシステム。
[項目4]
上記記憶ドライブは、上記ダイナミックランダムアクセスメモリより大きい記憶容量を有する、
項目3に記載のデータアクセスシステム。
[項目5]
上記記憶ドライブは、上記ダイナミックランダムアクセスメモリより1桁大きい記憶容量を有する、
項目3に記載のデータアクセスシステム。
[項目6]
上記ダイナミックランダムアクセスメモリへの、又は上記ダイナミックランダムアクセスメモリからのデータの転送速度は、上記記憶ドライブへの、又は上記記憶ドライブからのデータの転送速度より高速である、
項目3から5の何れか一項に記載のデータアクセスシステム。
[項目7]
上記記憶ドライブはソリッドステートメモリ又は回転記憶媒体を含む、
項目3から6の何れか一項に記載のデータアクセスシステム。
[項目8]
上記記憶ドライブはダイナミックランダムアクセスメモリを含み、
上記記憶ドライブの上記ダイナミックランダムアクセスメモリは、上記最終レベルキャッシュモジュールの上記ダイナミックランダムアクセスメモリより遅いデータ転送速度を有する、
項目3から7の何れか一項に記載のデータアクセスシステム。
[項目9]
記憶ドライブを更に備え、
上記ダイナミックランダムアクセスメモリは、キャッシュとして実装され、上記記憶ドライブとは分離しており、
上記最終レベルキャッシュコントローラは、(i)上記第1の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定し、(ii)上記第1の物理アドレスについて、キャッシュミスが発生したと決定し、(iii)上記キャッシュミスに基づいて、上記キャッシュミスが発生したことを上記プロセッサに信号で伝える、又は上記記憶ドライブにアクセスする、
項目1に記載のデータアクセスシステム。
[項目10]
記憶ドライブを更に備え、
上記ダイナミックランダムアクセスメモリは、キャッシュとして実装され、上記記憶ドライブとは分離しており、
上記ダイナミックランダムアクセスメモリコントローラは、(i)上記第1の仮想アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定し、(ii)上記第1の仮想アドレスについて、キャッシュミスが発生したと決定し、(iii)上記キャッシュミスに基づいて、上記キャッシュミスが発生したことを上記最終レベルキャッシュコントローラに信号で伝え、
上記最終レベルキャッシュコントローラは、上記キャッシュミスが発生したことを示す上記信号に応答して上記記憶ドライブにアクセスする、
項目1に記載のデータアクセスシステム。
[項目11]
上記ダイナミックランダムアクセスメモリはキャッシュとして実装され、
上記ダイナミックランダムアクセスメモリコントローラは、(i)上記第1の仮想アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定し、(ii)上記第1の仮想アドレスについて、キャッシュミスが発生したと決定し、(iii)上記キャッシュミスに基づいて、上記キャッシュミスが発生したことを上記最終レベルキャッシュに示すべく第1の信号を生成し、
上記最終レベルキャッシュコントローラは、上記第1の信号に応答して、上記キャッシュミスが発生したことを上記プロセッサに示すべく第2の信号を生成し、
上記プロセッサは、上記第2の信号に応答して、記憶ドライブにアクセスする、
項目1から8の何れか一項に記載のデータアクセスシステム。
[項目12]
記憶ドライブを更に備え、
上記記憶ドライブは、上記ダイナミックランダムアクセスメモリとは分離しており、
上記プロセッサは、データを転送するための要求を生成し、
上記要求は、上記第1の物理アドレスを示し、
上記最終レベルキャッシュコントローラは、
上記要求に基づいて、上記第1の物理アドレスを上記第1の仮想アドレスに変換し、
上記最終レベルキャッシュコントローラは、上記第2の物理アドレスに基づいて、(i)上記プロセッサと上記ダイナミックランダムアクセスメモリとの間で上記データを転送するか、又は(ii)上記プロセッサと上記記憶ドライブとの間で上記データを転送するかを決定する、
項目1に記載のデータアクセスシステム。
[項目13]
上記プロセッサと上記記憶ドライブとの間で転送される前に、上記データを暗号化する暗号化デバイスを更に備える
項目12に記載のデータアクセスシステム。
[項目14]
上記プロセッサは、(i)第2の仮想アドレスを生成し、(ii)上記第2の仮想アドレスを上記第1の物理アドレスに変換する、
項目1から13の何れか一項に記載のデータアクセスシステム。
[項目15]
上記ダイナミックランダムアクセスメモリは第1の部分及び第2の部分を含み、
上記第1の部分は、最終レベルキャッシュとして実装され、
上記第2の部分は、キャッシュとしては実装されず、上記第1の部分より低い階層レベルを有する、
項目1から14の何れか一項に記載のデータアクセスシステム。
[項目16]
上記ダイナミックランダムアクセスメモリコントローラは、複数の上記階層レベルに基づいて、上記第1の部分及び上記第2の部分にアクセスする、
項目15に記載のデータアクセスシステム。
[項目17]
上記ダイナミックランダムアクセスメモリは、第1の部分及び第2の部分を含み、
上記第1の部分は、仮想メモリとして実装され、
上記第2の部分は、仮想メモリとしては実装されず、上記第1の部分より低い階層レベルを有する、
項目1から14の何れか一項に記載のデータアクセスシステム。
[項目18]
記憶ドライブを更に備え、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離しており、上記最終レベルキャッシュコントローラは、
第2のデータを転送するための、上記プロセッサからの第1の複数の物理アドレスを示す複数の要求を受信し、
上記第1の複数の物理アドレスを複数の仮想アドレスに変換し、
上記複数の仮想アドレスを第2の複数の物理アドレスに変換し、
上記第2の複数の物理アドレスに基づいて、(i)上記プロセッサと上記ダイナミックランダムアクセスメモリとの間で、上記第2のデータを転送するか、又は(ii)上記プロセッサと上記記憶ドライブとの間で、上記第2のデータを転送するかを決定し、
上記第2の複数の物理アドレスのうちのいくつかのアドレスは上記ダイナミックランダムアクセスメモリ中にあり、上記第2の複数の物理アドレスのうちのその他のアドレスは上記記憶ドライブ中にある、
項目1に記載のデータアクセスシステム。
[項目19]
上記最終レベルキャッシュモジュールはただ1つの集積回路によって実装される、
項目1から18の何れか一項に記載のデータアクセスシステム。
[項目20]
記憶ドライブを更に備え、
上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離しており、
上記ダイナミックランダムアクセスメモリは第1の複数のエントリを含み、
上記記憶ドライブは、上記第1の複数のエントリにマッピングされる第2の複数のエントリを含み、
上記最終レベルキャッシュコントローラは、上記第1の複数のエントリのうちの1つのエントリにおける残りの記憶容量に基づいて、上記プロセッサと、上記記憶ドライブの上記第2の複数のエントリのうちの1つのエントリとの間でデータを転送し、
上記第2の複数のエントリのうちの上記1つのエントリは、上記第1の複数のエントリのうちの上記1つのエントリにマッピングされる、
項目1に記載のデータアクセスシステム。
[項目21]
上記ダイナミックランダムアクセスメモリ中の各エントリは、上記記憶ドライブ中の1又は複数のエントリにマッピングされる、
項目20に記載のデータアクセスシステム。
[項目22]
上記ダイナミックランダムアクセスメモリ中の1又は複数のエントリは、上記記憶ドライブ中の1又は複数のエントリにマッピングされる、
項目20又は21に記載のデータアクセスシステム。
[項目23]
上記最終レベルキャッシュコントローラは、(i)データの使用頻度、(ii)上記データの優先レベル、又は(iii)上記データがロックされた状態にあるかどうか、のうち少なくとも1つに基づいて、上記ダイナミックランダムアクセスメモリ中に上記データを格納する、
項目1から22の何れか一項に記載のデータアクセスシステム。
[項目24]
最終レベルキャッシュモジュールのダイナミックランダムアクセスメモリにアクセスするための方法であって、
第1の物理アドレスにアクセスするための要求をプロセッサによって生成する段階と、
上記プロセッサからの上記要求を最終レベルキャッシュコントローラにおいて受信する段階と、
上記最終レベルキャッシュコントローラによって上記第1の物理アドレスを第1の仮想アドレスに変換する段階と、
ダイナミックランダムアクセスメモリコントローラによって上記第1の仮想アドレスを第2の物理アドレスに変換する段階と、
上記第2の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスする段階とを備える
方法。
[項目25]
上記第1の物理アドレスを上記第1の仮想アドレスに変換する段階は、上記第1の物理アドレスの上記第1の仮想アドレスへのフルセットアソシアティブ変換を実行する段階を有する、
項目24に記載の方法。
[項目26]
上記第2の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするか、又は記憶ドライブにアクセスするかを上記最終レベルキャッシュコントローラによって決定する段階を更に備え、
上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離しており、
上記第2の物理アドレスは上記ダイナミックランダムアクセスメモリ又は上記記憶ドライブ中のアドレスである、
項目24又は25に記載の方法。
[項目27]
上記記憶ドライブは、上記ダイナミックランダムアクセスメモリより大きい記憶容量を有する、
項目26に記載の方法。
[項目28]
上記記憶ドライブは、上記ダイナミックランダムアクセスメモリより1桁大きい記憶容量を有する、
項目26に記載の方法。
[項目29]
上記ダイナミックランダムアクセスメモリへの、又は上記ダイナミックランダムアクセスメモリからのデータの転送速度は、上記記憶ドライブへの、又は上記記憶ドライブからのデータの転送速度より高速である、
項目26から28の何れか一項に記載の方法。
[項目30]
上記記憶ドライブはソリッドステートメモリ又は回転記憶媒体を含む、
項目26から29の何れか一項に記載の方法。
[項目31]
上記記憶ドライブはダイナミックランダムアクセスメモリを含み、
上記記憶ドライブの上記ダイナミックランダムアクセスメモリは、上記最終レベルキャッシュモジュールの上記ダイナミックランダムアクセスメモリより遅いデータ転送速度を有する、
項目26から30の何れか一項に記載の方法。
[項目32]
上記第1の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定する段階であって、上記ダイナミックランダムアクセスメモリはキャッシュとして実装される、段階と、
上記第1の物理アドレスについて、キャッシュミスが発生したと決定する段階と、
上記キャッシュミスに基づいて、上記キャッシュミスが発生したことを上記プロセッサに信号で伝える、又は記憶ドライブにアクセスする段階であって、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
項目24から31の何れか一項に記載の方法。
[項目33]
上記第2の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定する段階であって、上記ダイナミックランダムアクセスメモリはキャッシュとして実装される、段階と、
上記第1の仮想アドレスについて、キャッシュミスが発生したと決定する段階と、
上記キャッシュミスに基づいて、上記キャッシュミスが発生したことを上記最終レベルキャッシュコントローラに信号で伝える段階と、
上記キャッシュミスが発生したことを示す上記信号に応答して、記憶ドライブにアクセスする段階であって、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
項目24から32の何れか一項に記載の方法。
[項目34]
上記第2の物理アドレスに基づいて、上記ダイナミックランダムアクセスメモリにアクセスするかどうかを決定する段階であって、上記ダイナミックランダムアクセスメモリはキャッシュとして実装される、段階と、
上記第1の仮想アドレスについて、キャッシュミスが発生したと上記ダイナミックランダムアクセスメモリコントローラによって決定する段階と、
上記キャッシュミスに基づいて、上記キャッシュミスが発生したことを上記最終レベルキャッシュに示すべく第1の信号を生成する段階と、
上記第1の信号に応答して、上記キャッシュミスが発生したことを上記プロセッサに示す第2の信号を上記最終レベルキャッシュコントローラにおいて生成する段階と、
上記第2の信号に応答して、記憶ドライブにアクセスする段階であって、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
項目24から33の何れか一項に記載の方法。
[項目35]
データを転送するための上記要求を生成する階であって、上記要求は上記第1の物理アドレスを示す、段階と、
上記要求に基づいて、上記第1の物理アドレスを上記第1の仮想アドレスに変換する段階と、
上記第2の物理アドレスに基づいて、(i)上記プロセッサと上記ダイナミックランダムアクセスメモリとの間で上記データを転送するか、又は(ii)上記プロセッサと記憶ドライブとの間で上記データを転送するかを決定する段階であって、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離している、段階とを更に備える
項目24から34の何れか一項に記載の方法。
[項目36]
上記プロセッサと上記記憶ドライブとの間で転送される前に、上記データを暗号化する段階を更に備える
項目35に記載の方法。
[項目37]
上記プロセッサにおいて第2の仮想アドレスを生成する段階と、
上記第2の仮想アドレスを上記第1の物理アドレスに変換する段階とを更に備える
項目24から36の何れか一項に記載の方法。
[項目38]
上記ダイナミックランダムアクセスメモリの複数の部分に、上記複数の部分の複数の階層レベルに基づいてアクセスする段階を更に備え、
上記ダイナミックランダムアクセスメモリは第1の部分及び第2の部分を含み、
上記第1の部分は、最終レベルキャッシュとして実装され、
上記第2の部分は、キャッシュとしては実装されず、上記第1の部分より低い階層レベルを有する、
項目24から37の何れか一項に記載の方法。
[項目39]
上記ダイナミックランダムアクセスメモリの複数の部分に、上記複数の部分の複数の階層レベルに基づいてアクセスする段階を更に備え、
上記ダイナミックランダムアクセスメモリは、第1の部分及び第2の部分を含み、
上記第1の部分は、仮想メモリとして実装され、
上記第2の部分は、仮想メモリとしては実装されず、上記第1の部分より低い階層レベルを有する、
項目24から37の何れか一項に記載の方法。
[項目40]
第2のデータを転送するための、上記プロセッサからの複数の要求を受信する段階であって、上記複数の要求は第1の複数の物理アドレスを示す、段階と、
上記第1の複数の物理アドレスを複数の仮想アドレスに変換する段階と、
上記複数の仮想アドレスを第2の複数の物理アドレスに変換する段階であって、上記第2の複数の物理アドレスのうちのいくつかのアドレスは上記ダイナミックランダムアクセスメモリ中にあり、上記第2の複数の物理アドレスのうちのその他のアドレスは記憶ドライブ中にあり、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離している、段階と、
上記第2の複数の物理アドレスに基づいて、(i)上記プロセッサと上記ダイナミックランダムアクセスメモリとの間で上記第2のデータを転送するか、又は(ii)上記プロセッサと上記記憶ドライブとの間で上記第2のデータを転送するかを決定する段階とを更に備える
項目24から39の何れか一項に記載の方法。
[項目41]
上記最終レベルキャッシュモジュールはただ1つの集積回路によって実装される、
項目24から40の何れか一項に記載の方法。
[項目42]
上記ダイナミックランダムアクセスメモリの第1の複数のエントリのうちの1つのエントリにおける残りの記憶容量に基づいて、上記プロセッサと、記憶ドライブの第2の複数のエントリのうちの1つのエントリとの間でデータを転送する段階を更に備え、上記記憶ドライブは上記ダイナミックランダムアクセスメモリとは分離しており、上記第2の複数のエントリは上記第1の複数のエントリにマッピングされ、
上記第2の複数のエントリのうちの上記1つのエントリは、上記第1の複数のエントリのうちの上記1つのエントリにマッピングされる、
項目24から41の何れか一項に記載の方法。
[項目43]
上記ダイナミックランダムアクセスメモリ中の各エントリは、上記記憶ドライブ中の1又は複数のエントリにマッピングされる、
項目42に記載の方法。
[項目44]
上記ダイナミックランダムアクセスメモリ中の1又は複数のエントリは、上記記憶ドライブ中の1又は複数のエントリにマッピングされる、
項目42又は43に記載の方法。
[項目45]
(i)データの使用頻度、(ii)上記データの優先レベル、又は、(iii)上記データがロックされた状態にあるかどうか、のうち少なくとも1つに基づいて、上記ダイナミックランダムアクセスメモリ中に上記データを格納する段階を更に備える
項目24から44の何れか一項に記載の方法。
Claims (22)
- データアクセス及び格納システムであって、
記憶ドライブと、
キャッシュコントローラと、ダイナミックランダムアクセスメモリ(DRAM)コントローラと、非プロセッサキャッシュとを有するキャッシュモジュールであって、前記キャッシュモジュールの前記非プロセッサキャッシュは、前記キャッシュコントローラによってアクセスされるよう構成される、キャッシュモジュールと、
プロセッサキャッシュを有し、前記キャッシュコントローラと通信するプロセッサであって、前記プロセッサキャッシュは、前記記憶ドライブ及び前記非プロセッサキャッシュから分離している、プロセッサと、
を備え、
前記プロセッサは、前記プロセッサによって必要とされ、前記プロセッサキャッシュにキャッシュされていないデータに応答して、前記キャッシュコントローラに対する前記データの要求を生成するよう構成され、
前記キャッシュコントローラは、前記要求を受信し、前記要求において提供される第1の物理アドレスを仮想アドレスに変換するよう構成され、
前記DRAMコントローラは、前記仮想アドレスを受信し、前記仮想アドレスを第2の物理アドレスに変換し、前記第2の物理アドレスが前記非プロセッサキャッシュ中に存在するかどうかを決定し、
前記DRAMコントローラは、前記第2の物理アドレスが前記非プロセッサキャッシュ中に存在するという決定に応答して、前記第2の物理アドレスを使用して、前記非プロセッサキャッシュから前記データを読み出し、前記データが前記プロセッサに提供され、
前記キャッシュコントローラは、前記第2の物理アドレスが前記非プロセッサキャッシュ中に存在しないという決定に応答して、前記第2の物理アドレスを使用して、前記プロセッサによって必要とされる前記データを前記記憶ドライブから読み出す、
データアクセス及び格納システム。 - 前記プロセッサによって必要とされる前記データを前記記憶ドライブから読み出すことは、前記キャッシュモジュールが前記記憶ドライブから前記プロセッサによって必要とされる前記データをフェッチしてそれを前記プロセッサに提供し、前記データを前記非プロセッサキャッシュに格納することも含む、請求項1に記載のデータアクセス及び格納システム。
- 前記プロセッサによって必要とされる前記データを前記記憶ドライブから読み出すことは、前記キャッシュモジュールが非プロセッサキャッシュのキャッシュミスが発生したことを前記プロセッサに示すことを含む、請求項1に記載のデータアクセス及び格納システム。
- 前記非プロセッサキャッシュに格納されるデータは、前記プロセッサによって最近使用されたデータである、請求項1から3の何れか一項に記載のデータアクセス及び格納システム。
- 前記記憶ドライブは、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)、又はハイブリッドドライブを有する、請求項1から4の何れか一項に記載のデータアクセス及び格納システム。
- 前記キャッシュモジュールは、将来前記プロセッサによって要求されると予期されるデータに対して、前記記憶ドライブに格納されるデータの予測的なフェッチを実行するよう構成される、請求項1から5の何れか一項に記載のデータアクセス及び格納システム。
- 前記データの予測的なフェッチは、前記プロセッサからのデータの要求を受信することとは無関係に、前記キャッシュモジュールが前記記憶ドライブ内に格納されるデータを読み出し、読み出した前記データを前記非プロセッサキャッシュに転送することを含む、請求項6に記載のデータアクセス及び格納システム。
- 前記データの予測的なフェッチは、データの要求を受信することとは無関係に、前記キャッシュモジュールが前記非プロセッサキャッシュ内に格納されるデータにアクセスし、読み出した前記データを前記プロセッサキャッシュに転送することを含む、請求項6に記載のデータアクセス及び格納システム。
- 前記キャッシュコントローラは、1又は複数のフルセットアソシアティブルックアップテーブル(fully set associative lookup table)を有する、請求項1から8の何れか一項に記載のデータアクセス及び格納システム。
- 第1のサーバと第2のサーバとを備え、
前記第1のサーバは、請求項1から9の何れか一項に記載のキャッシュモジュールを有し、
前記第2のサーバは、請求項1から9の何れか一項に記載の記憶ドライブを有する、
ネットワーク。 - データアクセスシステムが格納システムとプロセッサキャッシュを有するプロセッサとを備え、前記格納システムが記憶ドライブとキャッシュモジュールとを有するように、前記キャッシュモジュールがキャッシュコントローラとダイナミックランダムアクセスメモリ(DRAM)コントローラと非プロセッサキャッシュとを含み、前記プロセッサが前記キャッシュモジュールと通信するように、前記データアクセスシステムを動作する方法であって、
前記方法は、
前記プロセッサが、前記プロセッサによって必要とされるデータが前記プロセッサキャッシュにキャッシュされていないことに応答して、前記キャッシュコントローラに対する前記データの要求を生成する段階と、
前記キャッシュコントローラが、前記要求を受信する段階と、
前記キャッシュコントローラが、前記要求において提供される第1の物理アドレスを仮想アドレスに変換する段階と、
前記DRAMコントローラが、前記仮想アドレスを第2の物理アドレスに変換する段階と、
前記DRAMコントローラが、前記プロセッサによって必要とされる前記データが前記非プロセッサキャッシュ中に存在するかどうかを決定する段階と、
前記DRAMコントローラが、前記プロセッサによって必要とされる前記データが前記非プロセッサキャッシュ中に存在するという決定に応答して、前記第2の物理アドレスに基づいて、前記プロセッサによって必要とされる前記データを前記非プロセッサキャッシュから読み出す段階と、
前記キャッシュコントローラが、前記プロセッサによって必要とされる前記データが前記非プロセッサキャッシュ中に存在しないという決定に応答して、前記プロセッサによって必要とされる前記データを前記記憶ドライブから読み出し、前記プロセッサによって必要とされる前記データを前記プロセッサに提供する段階と、
を備える、方法。 - 前記プロセッサによって必要とされる前記データを前記記憶ドライブから読み出す前記段階は、前記キャッシュモジュールが、前記記憶ドライブからデータをフェッチし、前記データを前記非プロセッサキャッシュに格納する段階を含む、請求項11に記載の方法。
- 前記プロセッサによって必要とされる前記データを前記記憶ドライブから読み出す前記段階は、前記キャッシュモジュールが、前記非プロセッサキャッシュのキャッシュミスが発生したことを前記プロセッサに示す段階を含む、請求項11に記載の方法。
- 前記非プロセッサキャッシュに格納されるデータは、前記プロセッサによって直近に要求されているデータである、請求項11から13の何れか一項に記載の方法。
- 前記記憶ドライブは、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)、又はハイブリッドドライブを含む、請求項11から14の何れか一項に記載の方法。
- 前記キャッシュモジュールが、将来アクセスされると予期される複数のアドレスに格納されるデータの予測的なフェッチを実行する段階をさらに備える、請求項11から15の何れか一項に記載の方法。
- 前記データの予測的なフェッチは、データの要求を受信することとは無関係に及び前記キャッシュモジュールが、前記記憶ドライブ内に格納されるデータにアクセスし、読み出したデータを前記キャッシュモジュールに転送することを含む、請求項16に記載の方法。
- 前記データの予測的なフェッチは、データの要求を受信することとは無関係に及び前記キャッシュモジュールで、前記非プロセッサキャッシュ内に格納されるデータにアクセスし、読み出したデータを前記プロセッサに転送することを含む、請求項16に記載の方法。
- 前記キャッシュモジュールは、第1のサーバに実装され、
前記記憶ドライブは、第2のサーバに実装され、
ネットワークは、前記第1のサーバと前記第2のサーバとを含む、
請求項11から18の何れか一項に記載の方法。 - データアクセス及び格納システムであって、
記憶ドライブと、
キャッシュコントローラとダイナミックランダムアクセスメモリ(DRAM)コントローラと非プロセッサキャッシュとを有するキャッシュモジュールであって、前記キャッシュモジュールは、プロセッサに必要なデータがプロセッサキャッシュにない場合、プロセッサキャッシュコントローラから前記プロセッサに必要なデータの要求を受信するよう構成される、キャッシュモジュールと、
前記キャッシュコントローラと通信するプロセッサモジュールであって、前記プロセッサモジュールは、前記プロセッサと、前記プロセッサキャッシュコントローラと前記プロセッサキャッシュとを有し、前記プロセッサキャッシュは前記記憶ドライブ及び前記非プロセッサキャッシュから分離している、プロセッサモジュールと、
を備え、
前記キャッシュコントローラは、前記要求において提供される第1の物理アドレスを仮想アドレスに変換するよう構成され、
前記DRAMコントローラは、前記仮想アドレスを第2の物理アドレスに変換し、前記プロセッサに必要なデータが前記非プロセッサキャッシュ中に存在するかどうかを決定するよう構成され、
前記DRAMコントローラは、前記プロセッサに必要なデータが前記非プロセッサキャッシュ中に存在するという決定に応答して、前記第2の物理アドレスに基づいて、前記プロセッサに必要なデータを前記非プロセッサキャッシュから読み出し、
前記キャッシュコントローラは、前記プロセッサに必要なデータが前記非プロセッサキャッシュ中に存在しないという決定に応答して、前記プロセッサに必要なデータを前記記憶ドライブから読み出す、
データアクセス及び格納システム。 - 前記記憶ドライブから読み出される前記プロセッサに必要なデータは、前記非プロセッサキャッシュにも格納される、請求項20に記載のデータアクセス及び格納システム。
- 前記データが前記プロセッサによって要求される前に、データの予測的なフェッチが前記記憶ドライブから前記データを読み出して前記非プロセッサキャッシュに前記データを格納することを含むように、前記キャッシュモジュールは、将来プロセッサに必要なデータであると予期されるデータの予測的なフェッチを実行するよう構成される、請求項20又は21に記載のデータアクセス及び格納システム。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361893662P | 2013-10-21 | 2013-10-21 | |
US201361893675P | 2013-10-21 | 2013-10-21 | |
US201361893683P | 2013-10-21 | 2013-10-21 | |
US61/893,683 | 2013-10-21 | ||
US61/893,662 | 2013-10-21 | ||
US61/893,675 | 2013-10-21 | ||
US201361895049P | 2013-10-24 | 2013-10-24 | |
US61/895,049 | 2013-10-24 | ||
US14/519,826 | 2014-10-21 | ||
US14/519,826 US9477611B2 (en) | 2013-10-21 | 2014-10-21 | Final level cache system and corresponding methods |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525567A Division JP6431536B2 (ja) | 2013-10-21 | 2014-10-21 | 最終レベルキャッシュシステム及び対応する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019067417A JP2019067417A (ja) | 2019-04-25 |
JP6796304B2 true JP6796304B2 (ja) | 2020-12-09 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525567A Active JP6431536B2 (ja) | 2013-10-21 | 2014-10-21 | 最終レベルキャッシュシステム及び対応する方法 |
Country Status (6)
Country | Link |
---|---|
US (7) | US9477611B2 (ja) |
EP (1) | EP3060993B1 (ja) |
JP (2) | JP6431536B2 (ja) |
KR (3) | KR102329269B1 (ja) |
CN (2) | CN117215971A (ja) |
WO (1) | WO2015061337A1 (ja) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9454991B2 (en) | 2013-10-21 | 2016-09-27 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
US10097204B1 (en) | 2014-04-21 | 2018-10-09 | Marvell International Ltd. | Low-density parity-check codes for WiFi networks |
KR102329269B1 (ko) | 2013-10-21 | 2021-11-22 | 에프엘씨 글로벌 리미티드 | 최종 레벨 캐시 시스템 및 이에 대응하는 방법 |
US11822474B2 (en) | 2013-10-21 | 2023-11-21 | Flc Global, Ltd | Storage system and method for accessing same |
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 |
JP7089505B2 (ja) * | 2016-08-26 | 2022-06-22 | サンライズ メモリー コーポレイション | 3次元アレイにおける容量結合型不揮発性薄膜トランジスタストリング |
KR101777660B1 (ko) * | 2016-10-25 | 2017-09-12 | 주식회사 티에스피글로벌 | 플래시 스토리지 디바이스 및 그 동작 제어 방법 |
EP3553665B1 (en) * | 2016-12-28 | 2024-05-15 | Huawei Technologies Co., Ltd. | Non-volatile memory access method, device, and system |
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 |
US10608008B2 (en) | 2017-06-20 | 2020-03-31 | Sunrise Memory Corporation | 3-dimensional nor strings with segmented shared source regions |
US10692874B2 (en) | 2017-06-20 | 2020-06-23 | Sunrise Memory Corporation | 3-dimensional NOR string arrays in segmented stacks |
EP3642841A4 (en) | 2017-06-20 | 2021-07-28 | Sunrise Memory Corporation | 3-DIMENSIONAL NOR MEMORY ARCHITECTURE AND MANUFACTURING PROCESS FOR IT |
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) |
EP4345635A3 (en) * | 2018-06-18 | 2024-05-29 | FLC Technology Group Inc. | Method and apparatus for using a storage system as main memory |
KR20210039394A (ko) | 2018-07-31 | 2021-04-09 | 마벨 아시아 피티이 엘티디. | 스토리지 에지에서의 메타데이터 생성 |
KR102518095B1 (ko) * | 2018-09-12 | 2023-04-04 | 삼성전자주식회사 | 스토리지 장치 및 시스템 |
CN111240581B (zh) * | 2018-11-29 | 2023-08-08 | 北京地平线机器人技术研发有限公司 | 存储器访问控制方法、装置和电子设备 |
CN113424319A (zh) | 2019-02-11 | 2021-09-21 | 日升存储公司 | 垂直薄膜晶体管以及作为用于三维存储器阵列的位线连接器的应用 |
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 |
US11675500B2 (en) | 2020-02-07 | 2023-06-13 | Sunrise Memory Corporation | High capacity memory circuit with low effective latency |
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 |
Family Cites Families (42)
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 |
EP0772829A1 (en) * | 1995-05-26 | 1997-05-14 | National Semiconductor Corporation | 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 |
US6658538B2 (en) * | 2001-06-21 | 2003-12-02 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control |
US6978355B2 (en) | 2001-11-13 | 2005-12-20 | Seagate Technology Llc | Cache memory transfer during a requested data retrieval operation |
US20040117587A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Hardware managed virtual-to-physical address translation mechanism |
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 |
JP4673584B2 (ja) * | 2004-07-29 | 2011-04-20 | 富士通株式会社 | キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法 |
US7752521B2 (en) | 2004-10-12 | 2010-07-06 | Nortel Networks Limited | Low density parity check (LDPC) code |
WO2006039801A1 (en) | 2004-10-12 | 2006-04-20 | Nortel Networks Limited | System and method for low density parity check encoding of data |
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 |
WO2008055270A2 (en) | 2006-11-04 | 2008-05-08 | Virident Systems, Inc. | Writing to asymmetric 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 |
WO2012174128A1 (en) * | 2011-06-13 | 2012-12-20 | 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 |
KR101572403B1 (ko) * | 2011-12-22 | 2015-11-26 | 인텔 코포레이션 | 메모리 채널 셧다운에 의한 전력 절약 |
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 |
WO2014189680A1 (en) * | 2013-05-19 | 2014-11-27 | 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 |
KR102329269B1 (ko) | 2013-10-21 | 2021-11-22 | 에프엘씨 글로벌 리미티드 | 최종 레벨 캐시 시스템 및 이에 대응하는 방법 |
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 |
US9454991B2 (en) | 2013-10-21 | 2016-09-27 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
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 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 KR1020227027674A patent/KR102614631B1/ko active IP Right Grant
- 2014-10-21 CN CN202311023201.9A patent/CN117215971A/zh active Pending
- 2014-10-21 CN CN201480066082.8A patent/CN106462504B/zh active Active
- 2014-10-21 KR KR1020217027701A patent/KR102432754B1/ko active IP Right Grant
- 2014-10-21 JP JP2016525567A patent/JP6431536B2/ja active Active
- 2014-10-21 EP EP14792704.0A patent/EP3060993B1/en active Active
- 2014-10-21 WO PCT/US2014/061603 patent/WO2015061337A1/en active Application Filing
-
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
Also Published As
Publication number | Publication date |
---|---|
EP3060993A1 (en) | 2016-08-31 |
US20200301836A1 (en) | 2020-09-24 |
US9182915B2 (en) | 2015-11-10 |
JP2019067417A (ja) | 2019-04-25 |
WO2015061337A1 (en) | 2015-04-30 |
CN106462504A (zh) | 2017-02-22 |
US20150242137A1 (en) | 2015-08-27 |
CN106462504B (zh) | 2023-09-01 |
EP3060993B1 (en) | 2023-03-08 |
KR102432754B1 (ko) | 2022-08-16 |
KR20220116362A (ko) | 2022-08-22 |
US20160239429A1 (en) | 2016-08-18 |
US20170177481A1 (en) | 2017-06-22 |
US9477611B2 (en) | 2016-10-25 |
US9928172B2 (en) | 2018-03-27 |
US20150113214A1 (en) | 2015-04-23 |
JP6431536B2 (ja) | 2018-11-28 |
US20180293167A1 (en) | 2018-10-11 |
KR20160074648A (ko) | 2016-06-28 |
JP2016541046A (ja) | 2016-12-28 |
US9323688B2 (en) | 2016-04-26 |
KR102614631B1 (ko) | 2023-12-19 |
US11360894B2 (en) | 2022-06-14 |
CN117215971A (zh) | 2023-12-12 |
KR20210111881A (ko) | 2021-09-13 |
US20160062906A1 (en) | 2016-03-03 |
US9594693B2 (en) | 2017-03-14 |
KR102329269B1 (ko) | 2021-11-22 |
US10684949B2 (en) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6796304B2 (ja) | 最終レベルキャッシュシステム及び対応する方法 | |
US11880305B2 (en) | Method and apparatus for using a storage system as main memory | |
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 | |
US20240220411A1 (en) | Method and apparatus for using a storage system as main memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20200221 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200424 |
|
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: 20200915 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6796304 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |