SG10201903332RA - Memory Management Supporting Huge Pages - Google Patents
Memory Management Supporting Huge PagesInfo
- Publication number
- SG10201903332RA SG10201903332RA SG10201903332RA SG10201903332RA SG10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA
- Authority
- SG
- Singapore
- Prior art keywords
- page
- data
- main memory
- memory management
- management supporting
- Prior art date
Links
- 230000000977 initiatory effect Effects 0.000 abstract 1
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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/04—Addressing variable-length words or parts of words
-
- 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/0871—Allocation or management of cache space
-
- 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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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
- 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
- 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/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1024—Latency reduction
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/304—In main memory subsystem
- G06F2212/3042—In main memory subsystem 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/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/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page size control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
MEMORY MANAGEMENT SUPPORTING HUGE PAGES Methods, systems, and apparatus for receiving a request to access, from a main memory, data contained in a first portion of a first page of data, the first page of data having a first page size; initiating a page fault based on determining that the first page of data is not stored in the main memory; allocating a portion of the main memory equivalent to the first page size; transferring the first portion of the first page of data from the secondary memory to the allocated portion of the main memory without transferring the entire first page of data; and updating a first page table entry associated with the first portion of the first page of data to point to a location of the allocated portion of the main memory to which the first portion of the first page of data is transferred. FIG. 1
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/273,433 US10108550B2 (en) | 2016-09-22 | 2016-09-22 | Memory management supporting huge pages |
Publications (1)
Publication Number | Publication Date |
---|---|
SG10201903332RA true SG10201903332RA (en) | 2019-05-30 |
Family
ID=59772830
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SG10201707699VA SG10201707699VA (en) | 2016-09-22 | 2017-09-18 | Memory Management Supporting Huge Pages |
SG10201903332RA SG10201903332RA (en) | 2016-09-22 | 2017-09-18 | Memory Management Supporting Huge Pages |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SG10201707699VA SG10201707699VA (en) | 2016-09-22 | 2017-09-18 | Memory Management Supporting Huge Pages |
Country Status (9)
Country | Link |
---|---|
US (2) | US10108550B2 (en) |
EP (1) | EP3516526B1 (en) |
JP (1) | JP6719027B2 (en) |
KR (1) | KR102273622B1 (en) |
CN (2) | CN109791523B (en) |
DK (1) | DK3516526T3 (en) |
IE (2) | IE20170188A1 (en) |
SG (2) | SG10201707699VA (en) |
WO (1) | WO2018057235A1 (en) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427340B (en) * | 2018-04-28 | 2023-08-04 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer storage medium for file storage |
US20190354470A1 (en) * | 2018-05-16 | 2019-11-21 | Sap Se | Reduced Database Backup Memory Usage |
US10956058B2 (en) * | 2018-08-03 | 2021-03-23 | Western Digital Technologies, Inc. | Tiered storage system with tier configuration by peer storage devices |
US10949356B2 (en) * | 2019-06-14 | 2021-03-16 | Intel Corporation | Fast page fault handling process implemented on persistent memory |
US11593186B2 (en) * | 2019-07-17 | 2023-02-28 | Memverge, Inc. | Multi-level caching to deploy local volatile memory, local persistent memory, and remote persistent memory |
US20210019069A1 (en) * | 2019-10-21 | 2021-01-21 | Intel Corporation | Memory and storage pool interfaces |
JP6972202B2 (en) * | 2020-02-14 | 2021-11-24 | 株式会社日立製作所 | Computer system and memory management method |
US11829298B2 (en) * | 2020-02-28 | 2023-11-28 | Apple Inc. | On-demand memory allocation |
CN111666230B (en) * | 2020-05-27 | 2023-08-01 | 江苏华创微***有限公司 | Method for supporting macro page in set associative TLB |
CN111913893A (en) * | 2020-06-22 | 2020-11-10 | 成都菁蓉联创科技有限公司 | Mapping method and device for reserved memory, equipment and storage medium |
CN114253873A (en) * | 2020-09-22 | 2022-03-29 | 华为技术有限公司 | Memory management method, device, equipment and storage medium |
CN112148736B (en) * | 2020-09-23 | 2024-03-12 | 抖音视界有限公司 | Method, device and storage medium for caching data |
US20220382478A1 (en) * | 2021-06-01 | 2022-12-01 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for page migration in memory systems |
CN113641464A (en) * | 2021-10-15 | 2021-11-12 | 云宏信息科技股份有限公司 | Memory configuration method and system of XEN platform and computer readable storage medium |
CN115794397A (en) * | 2022-11-29 | 2023-03-14 | 阿里云计算有限公司 | Cold and hot page management accelerating device and method, MMU, processor and electronic device |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5361345A (en) | 1991-09-19 | 1994-11-01 | Hewlett-Packard Company | Critical line first paging system |
US5987561A (en) * | 1995-08-31 | 1999-11-16 | Advanced Micro Devices, Inc. | Superscalar microprocessor employing a data cache capable of performing store accesses in a single clock cycle |
US5960463A (en) * | 1996-05-16 | 1999-09-28 | Advanced Micro Devices, Inc. | Cache controller with table walk logic tightly coupled to second level access logic |
US6112285A (en) | 1997-09-23 | 2000-08-29 | Silicon Graphics, Inc. | Method, system and computer program product for virtual memory support for managing translation look aside buffers with multiple page size support |
US6804729B2 (en) | 2002-09-30 | 2004-10-12 | International Business Machines Corporation | Migrating a memory page by modifying a page migration state of a state machine associated with a DMA mapper based on a state notification from an operating system kernel |
US7447869B2 (en) * | 2005-04-07 | 2008-11-04 | Ati Technologies, Inc. | Method and apparatus for fragment processing in a virtual memory system |
US7519781B1 (en) | 2005-12-19 | 2009-04-14 | Nvidia Corporation | Physically-based page characterization data |
US8543792B1 (en) | 2006-09-19 | 2013-09-24 | Nvidia Corporation | Memory access techniques including coalesing page table entries |
US7917725B2 (en) | 2007-09-11 | 2011-03-29 | QNX Software Systems GmbH & Co., KG | Processing system implementing variable page size memory organization using a multiple page per entry translation lookaside buffer |
US9244855B2 (en) * | 2007-12-31 | 2016-01-26 | Intel Corporation | Method, system, and apparatus for page sizing extension |
US9208084B2 (en) * | 2009-06-29 | 2015-12-08 | Oracle America, Inc. | Extended main memory hierarchy having flash memory for page fault handling |
US8195917B2 (en) | 2009-07-01 | 2012-06-05 | Advanced Micro Devices, Inc. | Extended page size using aggregated small pages |
US8615642B2 (en) | 2009-10-14 | 2013-12-24 | International Business Machines Corporation | Automatic page promotion and demotion in multiple page size environments |
US8533382B2 (en) * | 2010-01-06 | 2013-09-10 | Vmware, Inc. | Method and system for frequent checkpointing |
US9158701B2 (en) | 2012-07-03 | 2015-10-13 | International Business Machines Corporation | Process-specific views of large frame pages with variable granularity |
US10133677B2 (en) | 2013-03-14 | 2018-11-20 | Nvidia Corporation | Opportunistic migration of memory pages in a unified virtual memory system |
US20150058520A1 (en) | 2013-08-22 | 2015-02-26 | International Business Machines Corporation | Detection of hot pages for partition migration |
US9864698B2 (en) | 2013-11-04 | 2018-01-09 | International Business Machines Corporation | Resolving cache lookup of large pages with variable granularity |
US9535831B2 (en) | 2014-01-10 | 2017-01-03 | Advanced Micro Devices, Inc. | Page migration in a 3D stacked hybrid memory |
US9501422B2 (en) | 2014-06-11 | 2016-11-22 | Vmware, Inc. | Identification of low-activity large memory pages |
CN105095099B (en) | 2015-07-21 | 2017-12-29 | 浙江大学 | A kind of big page integration method based on the change of page bitmap |
US10152427B2 (en) | 2016-08-12 | 2018-12-11 | Google Llc | Hybrid memory management |
US10037173B2 (en) | 2016-08-12 | 2018-07-31 | Google Llc | Hybrid memory management |
-
2016
- 2016-09-22 US US15/273,433 patent/US10108550B2/en active Active
-
2017
- 2017-08-25 JP JP2019536814A patent/JP6719027B2/en active Active
- 2017-08-25 CN CN201780058759.7A patent/CN109791523B/en active Active
- 2017-08-25 KR KR1020197011367A patent/KR102273622B1/en active IP Right Grant
- 2017-08-25 DK DK17761767.7T patent/DK3516526T3/en active
- 2017-08-25 EP EP17761767.7A patent/EP3516526B1/en active Active
- 2017-08-25 CN CN202310717151.8A patent/CN116701250A/en active Pending
- 2017-08-25 WO PCT/US2017/048663 patent/WO2018057235A1/en unknown
- 2017-09-18 SG SG10201707699VA patent/SG10201707699VA/en unknown
- 2017-09-18 SG SG10201903332RA patent/SG10201903332RA/en unknown
- 2017-09-20 IE IE20170188A patent/IE20170188A1/en not_active IP Right Cessation
- 2017-09-20 IE IE20180302A patent/IE87058B1/en unknown
-
2018
- 2018-08-27 US US16/113,285 patent/US10474580B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2018057235A1 (en) | 2018-03-29 |
KR20190052106A (en) | 2019-05-15 |
US10108550B2 (en) | 2018-10-23 |
IE87058B1 (en) | 2019-10-16 |
US20180365157A1 (en) | 2018-12-20 |
IE20180302A1 (en) | 2018-10-31 |
CN109791523A (en) | 2019-05-21 |
CN109791523B (en) | 2023-07-14 |
JP2019532450A (en) | 2019-11-07 |
CN116701250A (en) | 2023-09-05 |
KR102273622B1 (en) | 2021-07-06 |
SG10201707699VA (en) | 2018-04-27 |
DK3516526T3 (en) | 2020-11-30 |
US10474580B2 (en) | 2019-11-12 |
EP3516526A1 (en) | 2019-07-31 |
IE20170188A1 (en) | 2018-04-04 |
JP6719027B2 (en) | 2020-07-08 |
EP3516526B1 (en) | 2020-10-14 |
US20180081816A1 (en) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SG10201903332RA (en) | Memory Management Supporting Huge Pages | |
PH12020550686A1 (en) | Asset Management Method And Apparatus, And Electronic Device | |
GB2544903A (en) | Storing and transferring application data between devices | |
BR112016021485A2 (en) | HASH-BASED ENCRYPTOR SEARCH FOR INTRA-BLOCK COPY | |
SG11201811458SA (en) | Object allocation method and device | |
MX363170B (en) | Method for storage device storing data and storage device. | |
GB2558794A (en) | Systems and methods for allocating sharable orders | |
EP3291097A3 (en) | Hybrid memory management | |
IN2015KN00221A (en) | ||
BR112016022636A2 (en) | DISTRIBUTED STORAGE SYSTEM, SESSION MANAGEMENT METHOD IN DISTRIBUTED STORAGE SYSTEM, AND NON-TRANSITORY COMPUTER ACCESSIBLE STORAGE MEDIA | |
BR112016025156A8 (en) | COMPUTER DEPLOYED METHOD TO ACCESS FILES IN A DISTRIBUTED FILE SYSTEM | |
WO2015061625A3 (en) | System and method for learning management | |
GB2519015A (en) | Managing accessing page table entries | |
BR112015019003A2 (en) | device for a website building system, and method for a website building system | |
MX2015012672A (en) | Systems and methods of reserving space at attended delivery/pickup locations. | |
EP2598996A4 (en) | Apparatus, system, and method for conditional and atomic storage operations | |
CN106687911A8 (en) | The online data movement of data integrity is not damaged | |
PH12017500241A1 (en) | File access method, device and storage system | |
MX2016012529A (en) | Address expansion and contraction in a multithreading computer system. | |
BR112016011434A8 (en) | communication system to carry out communication events between end points connected through a communication network, method of allocating resources in a communication system and a computer-readable medium | |
GB2565495A (en) | Page fault resolution | |
GB2525551A (en) | Boosting remote direct memory access performance using cryptographic hash based approach | |
BR112017010328A2 (en) | energy-efficient wireless data transfer | |
TW201643715A (en) | Byte level granularity buffer overflow detection for memory corruption detection architectures | |
EP4236253A3 (en) | Slice allocating method |