JP5989908B2 - 不揮発性メモリにコードをキャッシュする方法、システムおよび装置 - Google Patents
不揮発性メモリにコードをキャッシュする方法、システムおよび装置 Download PDFInfo
- Publication number
- JP5989908B2 JP5989908B2 JP2015528725A JP2015528725A JP5989908B2 JP 5989908 B2 JP5989908 B2 JP 5989908B2 JP 2015528725 A JP2015528725 A JP 2015528725A JP 2015528725 A JP2015528725 A JP 2015528725A JP 5989908 B2 JP5989908 B2 JP 5989908B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- cache
- ram
- condition
- threshold
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000015654 memory Effects 0.000 title description 64
- 238000004590 computer program Methods 0.000 claims 10
- 238000013519 translation Methods 0.000 description 12
- 238000005457 optimization Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- C—CHEMISTRY; METALLURGY
- C09—DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
- C09K—MATERIALS FOR MISCELLANEOUS APPLICATIONS, NOT PROVIDED FOR ELSEWHERE
- C09K8/00—Compositions for drilling of boreholes or wells; Compositions for treating boreholes or wells, e.g. for completion or for remedial operations
- C09K8/50—Compositions for plastering borehole walls, i.e. compositions for temporary consolidation of borehole walls
- C09K8/504—Compositions based on water or polar solvents
- C09K8/506—Compositions based on water or polar solvents containing organic compounds
- C09K8/508—Compositions based on water or polar solvents containing organic compounds macromolecular compounds
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- C—CHEMISTRY; METALLURGY
- C09—DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
- C09K—MATERIALS FOR MISCELLANEOUS APPLICATIONS, NOT PROVIDED FOR ELSEWHERE
- C09K8/00—Compositions for drilling of boreholes or wells; Compositions for treating boreholes or wells, e.g. for completion or for remedial operations
- C09K8/50—Compositions for plastering borehole walls, i.e. compositions for temporary consolidation of borehole walls
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B33/00—Sealing or packing boreholes or wells
- E21B33/10—Sealing or packing boreholes or wells in the borehole
- E21B33/12—Packers; Plugs
- E21B33/127—Packers; Plugs with inflatable sleeve
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B33/00—Sealing or packing boreholes or wells
- E21B33/10—Sealing or packing boreholes or wells in the borehole
- E21B33/12—Packers; Plugs
- E21B33/128—Packers; Plugs with a member expanded radially by axial pressure
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B33/00—Sealing or packing boreholes or wells
- E21B33/10—Sealing or packing boreholes or wells in the borehole
- E21B33/13—Methods or devices for cementing, for plugging holes, crevices or the like
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/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
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Geology (AREA)
- Mining & Mineral Resources (AREA)
- Chemical & Material Sciences (AREA)
- Fluid Mechanics (AREA)
- Geochemistry & Mineralogy (AREA)
- Environmental & Geological Engineering (AREA)
- Organic Chemistry (AREA)
- Materials Engineering (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Devices For Executing Special Programs (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/630,651 | 2012-09-28 | ||
US13/630,651 US20140095778A1 (en) | 2012-09-28 | 2012-09-28 | Methods, systems and apparatus to cache code in non-volatile memory |
PCT/US2013/060624 WO2014052157A1 (fr) | 2012-09-28 | 2013-09-19 | Procédés, systèmes et appareil de cache de code dans une mémoire non volatile |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015525940A JP2015525940A (ja) | 2015-09-07 |
JP5989908B2 true JP5989908B2 (ja) | 2016-09-07 |
Family
ID=50386348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015528725A Expired - Fee Related JP5989908B2 (ja) | 2012-09-28 | 2013-09-19 | 不揮発性メモリにコードをキャッシュする方法、システムおよび装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140095778A1 (fr) |
EP (1) | EP2901289A4 (fr) |
JP (1) | JP5989908B2 (fr) |
KR (1) | KR101701068B1 (fr) |
CN (1) | CN104662519B (fr) |
WO (1) | WO2014052157A1 (fr) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581052B (zh) * | 2012-08-02 | 2017-07-21 | 华为技术有限公司 | 一种数据处理方法、路由器及ndn系统 |
KR101846757B1 (ko) * | 2013-12-27 | 2018-05-28 | 맥아피, 엘엘씨 | 빈도-기반 평판도 |
US9268543B1 (en) | 2014-09-23 | 2016-02-23 | International Business Machines Corporation | Efficient code cache management in presence of infrequently used complied code fragments |
JP2016170682A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US9811324B2 (en) * | 2015-05-29 | 2017-11-07 | Google Inc. | Code caching system |
US10282182B2 (en) | 2016-09-23 | 2019-05-07 | Intel Corporation | Technologies for translation cache management in binary translation systems |
US10599985B2 (en) * | 2017-09-01 | 2020-03-24 | Capital One Services, Llc | Systems and methods for expediting rule-based data processing |
US11164078B2 (en) * | 2017-11-08 | 2021-11-02 | International Business Machines Corporation | Model matching and learning rate selection for fine tuning |
JP6881330B2 (ja) * | 2018-01-24 | 2021-06-02 | 京セラドキュメントソリューションズ株式会社 | 電子機器及びメモリー制御プログラム |
US11372764B2 (en) | 2019-11-14 | 2022-06-28 | International Business Machines Corporation | Single-copy cache using heterogeneous memory types |
US11210227B2 (en) | 2019-11-14 | 2021-12-28 | International Business Machines Corporation | Duplicate-copy cache using heterogeneous memory types |
CN111258656B (zh) * | 2020-01-20 | 2022-06-28 | 展讯通信(上海)有限公司 | 数据处理装置及终端 |
JPWO2023013649A1 (fr) * | 2021-08-06 | 2023-02-09 | ||
CN114138333B (zh) * | 2021-11-27 | 2023-04-18 | 深圳曦华科技有限公司 | 程序加载的方法及相关装置 |
CN118276763A (zh) * | 2022-12-30 | 2024-07-02 | 华为技术有限公司 | 程序存储位置的调整方法及相关装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175842A (en) * | 1988-05-31 | 1992-12-29 | Kabushiki Kaisha Toshiba | Data storage control system capable of reading data immediately after powered on |
JP3766181B2 (ja) * | 1996-06-10 | 2006-04-12 | 株式会社東芝 | 半導体記憶装置とそれを搭載したシステム |
JPWO2003042837A1 (ja) * | 2001-11-16 | 2005-03-10 | 株式会社ルネサステクノロジ | 半導体集積回路 |
JP3642772B2 (ja) * | 2002-09-25 | 2005-04-27 | 三菱電機株式会社 | コンピュータ装置及びプログラム実行方法 |
US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US20110179219A1 (en) * | 2004-04-05 | 2011-07-21 | Super Talent Electronics, Inc. | Hybrid storage device |
US7231497B2 (en) * | 2004-06-15 | 2007-06-12 | Intel Corporation | Merging write-back and write-through cache policies |
US7882499B2 (en) * | 2005-10-24 | 2011-02-01 | Microsoft Corporation | Caching dynamically compiled code to storage |
WO2007056669A2 (fr) * | 2005-11-04 | 2007-05-18 | Sandisk Corporation | Cache de stockage de premier niveau ameliore utilisant une memoire non volatile |
US7568189B2 (en) * | 2006-05-03 | 2009-07-28 | Sony Computer Entertainment Inc. | Code translation and pipeline optimization |
US7568068B2 (en) * | 2006-11-13 | 2009-07-28 | Hitachi Global Storage Technologies Netherlands B. V. | Disk drive with cache having volatile and nonvolatile memory |
JP4575346B2 (ja) * | 2006-11-30 | 2010-11-04 | 株式会社東芝 | メモリシステム |
US7975107B2 (en) * | 2007-06-22 | 2011-07-05 | Microsoft Corporation | Processor cache management with software input via an intermediary |
US8321850B2 (en) * | 2008-06-06 | 2012-11-27 | Vmware, Inc. | Sharing and persisting code caches |
US8433854B2 (en) * | 2008-06-25 | 2013-04-30 | Intel Corporation | Apparatus and method for cache utilization |
CN102473140B (zh) * | 2009-07-17 | 2015-05-13 | 株式会社东芝 | 存储器管理装置 |
JP2011059777A (ja) * | 2009-09-07 | 2011-03-24 | Toshiba Corp | タスクスケジューリング方法及びマルチコアシステム |
US8893280B2 (en) * | 2009-12-15 | 2014-11-18 | Intel Corporation | Sensitive data tracking using dynamic taint analysis |
JP5520747B2 (ja) * | 2010-08-25 | 2014-06-11 | 株式会社日立製作所 | キャッシュを搭載した情報装置及びコンピュータ読み取り可能な記憶媒体 |
US8984216B2 (en) * | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
KR101717081B1 (ko) * | 2011-03-23 | 2017-03-28 | 삼성전자주식회사 | 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치 |
US8539463B2 (en) * | 2011-07-28 | 2013-09-17 | Qualcomm Innovation Center, Inc. | Apparatus and method for improving the performance of compilers and interpreters of high level programming languages |
-
2012
- 2012-09-28 US US13/630,651 patent/US20140095778A1/en not_active Abandoned
-
2013
- 2013-09-19 EP EP13840642.6A patent/EP2901289A4/fr not_active Withdrawn
- 2013-09-19 KR KR1020157001860A patent/KR101701068B1/ko active IP Right Grant
- 2013-09-19 CN CN201380044831.2A patent/CN104662519B/zh active Active
- 2013-09-19 WO PCT/US2013/060624 patent/WO2014052157A1/fr active Application Filing
- 2013-09-19 JP JP2015528725A patent/JP5989908B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2901289A4 (fr) | 2016-04-13 |
EP2901289A1 (fr) | 2015-08-05 |
KR20150036176A (ko) | 2015-04-07 |
CN104662519A (zh) | 2015-05-27 |
US20140095778A1 (en) | 2014-04-03 |
KR101701068B1 (ko) | 2017-01-31 |
JP2015525940A (ja) | 2015-09-07 |
WO2014052157A1 (fr) | 2014-04-03 |
CN104662519B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5989908B2 (ja) | 不揮発性メモリにコードをキャッシュする方法、システムおよび装置 | |
Weiner et al. | TMO: Transparent memory offloading in datacenters | |
US7707359B2 (en) | Method and apparatus for selectively prefetching based on resource availability | |
US7934114B2 (en) | Method of controlling information processing device, information processing device, program, and program converting method | |
US7991956B2 (en) | Providing application-level information for use in cache management | |
US7383417B2 (en) | Prefetching apparatus, prefetching method and prefetching program product | |
KR101936453B1 (ko) | 새로운 애플리케이션을 위한 메모리 관리 모델 및 인터페이스 | |
US7502890B2 (en) | Method and apparatus for dynamic priority-based cache replacement | |
CA2680601C (fr) | Gestion de multiples threads assistees speculatives a differents niveaux de cache | |
KR101976221B1 (ko) | 수정되지 않은 애플리케이션을 위한 메모리 관리 모델 및 인터페이스 | |
US20220075736A1 (en) | Dynamic application of software data caching hints based on cache test regions | |
US8874853B2 (en) | Local and global memory request predictor | |
WO2020040857A1 (fr) | Structures de prédiction de branchement filtrées d'un processeur | |
WO2023173991A1 (fr) | Prédiction de compression de ligne de mémoire cache et compression adaptative | |
US20240037031A1 (en) | Dynamic performance adjustment | |
US7353337B2 (en) | Reducing cache effects of certain code pieces | |
WO2023173995A1 (fr) | Prédiction de compression de ligne de mémoire cache et compression adaptative | |
JP2015127869A (ja) | 電子機器、制御方法、及び、プログラム | |
CN116088662A (zh) | 功耗管理方法、多处理单元系统和功耗管理模组 | |
KR101024073B1 (ko) | 공유 2차 캐시의 누설 에너지 관리 방법 및 장치 | |
JP2013003934A (ja) | メモリ管理方法、計算機及びメモリ管理プログラム | |
CN114968076A (zh) | 用于存储管理的方法、设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150218 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160614 |
|
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: 20160712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160810 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5989908 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |