WO2015179591A1 - Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods - Google Patents
Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods Download PDFInfo
- Publication number
- WO2015179591A1 WO2015179591A1 PCT/US2015/031885 US2015031885W WO2015179591A1 WO 2015179591 A1 WO2015179591 A1 WO 2015179591A1 US 2015031885 W US2015031885 W US 2015031885W WO 2015179591 A1 WO2015179591 A1 WO 2015179591A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- cache
- data
- controller
- compressed
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/602—Details relating to cache prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/657—Virtual address space management
-
- 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
Definitions
- MEMORY CONTROLLERS EMPLOYING MEMORY CAPACITY AND/OR BANDWIDTH COMPRESSION WITH NEXT READ ADDRESS PREFETCHING, AND RELATED PROCESSOR-BASED SYSTEMS AND
- FIG. 2 is a schematic diagram of a SOC that includes an exemplary CPU- based system having a plurality of CPUs and a memory controller employing memory capacity and/or memory bandwidth compression;
- Figure 7 is a schematic diagram of an exemplary free list buffer that can be employed in a page-based or line-based buffer memory capacity compression scheme, including in Figures 4-6;
- Figure 10 is a flowchart illustrating an exemplary process of the compressed memory controller in Figure 3 translating a PA to an allocated DB within an allocated data page (DP) in Figure 9 according to the hybrid line/page-based buffer memory capacity compression scheme in Figure 8 for a memory access;
- Figure 11 A illustrates an example of the SOC in Figure 3 that additionally includes an optional L4 cache to compensate for performance loss due to address translation in the compressed memory controller;
- aspects disclosed in the detailed description include memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods.
- memory controllers are employed that can provide memory capacity compression.
- a next read address prefetching scheme may be combined with a memory bandwidth compression scheme and/or a memory capacity compression scheme.
- the next read address prefetching scheme can be used by a memory controller to speculatively prefetch data from system memory at another address beyond the currently accessed address.
- the next read address to be prefetched from system or main memory can be stored as metadata in association with compressed memory data stored in compressed memory, since there may be left over space in a memory block that holds compressed memory data in the compressed memory.
- the compressed controller 50 can perform any number of compression techniques and algorithms to provide memory capacity and/or bandwidth compression.
- Local memory 52 is provided for data structures and other information needed by the compressed controller 50 to perform such compression techniques and algorithms.
- the local memory 52 provided in the form of a static random access memory (SRAM) 54 in this example, is also provided in the compressed memory controller 36 to store data structures and other information needed by the compressed controller 50 to perform compression techniques and algorithms.
- SRAM static random access memory
- the local memory 52 is of sufficient size to be used for data structures and other data storage that may be needed for the compressed controller 50 to perform compression techniques and algorithms.
- the additional internal memory 56 is external to the compressed memory controller 36, such as on a different semiconductor die for example, the memory access latency to the additional internal memory 56 may be greater than to the local memory 52, although an increased size of the additional internal memory 56 may allow for enhanced compression and/or a larger number of CPUs 16(1), 16(2) and/or hardware threads per CPU 16 to be accommodated.
- Each of the resources provided for memory capacity and/or bandwidth compression in the compressed memory controller 36 in Figure 3, including the local memory 52 and the additional internal memory 56 can be used individually or in conjunction with each other to achieve the desired balance among resources and area, power consumption, increased memory capacity through memory capacity compression, and increased performance through memory bandwidth compression. Memory capacity and memory bandwidth compression can be enabled or disabled, as desired.
- the compressed memory controller 36 can be configured to assign a PA to other PBAs in another PB pool 62(1)-62(Q). This functionality may be provided as part of a background task by the compressed memory controller 36. Depletion means that the available PBs in a particular PB pool 62(1)-62(Q) drops below a threshold, because it may be desired to assign a PA to other PBAs in another PB pool 62(1)-62(Q) before there are no remaining PBs available in a given PB pool 62(1)-62(Q).
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)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP15728287.2A EP3146435A1 (en) | 2014-05-21 | 2015-05-21 | Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods |
| CN201580026261.3A CN106462495B (zh) | 2014-05-21 | 2015-05-21 | 存储器控制器以及基于处理器的系统和方法 |
| JP2016568009A JP2017516234A (ja) | 2014-05-21 | 2015-05-21 | 次の読取りアドレスプリフェッチングによるメモリ容量圧縮および/またはメモリ帯域幅圧縮を利用するメモリコントローラ、ならびに関連するプロセッサベースシステムおよび方法 |
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462001545P | 2014-05-21 | 2014-05-21 | |
| US62/001,545 | 2014-05-21 | ||
| US201462092409P | 2014-12-16 | 2014-12-16 | |
| US201462092326P | 2014-12-16 | 2014-12-16 | |
| US62/092,409 | 2014-12-16 | ||
| US62/092,326 | 2014-12-16 | ||
| US14/716,108 US9740621B2 (en) | 2014-05-21 | 2015-05-19 | Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods |
| US14/716,108 | 2015-05-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015179591A1 true WO2015179591A1 (en) | 2015-11-26 |
Family
ID=53373596
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2015/031885 Ceased WO2015179591A1 (en) | 2014-05-21 | 2015-05-21 | Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9740621B2 (enExample) |
| EP (1) | EP3146435A1 (enExample) |
| JP (1) | JP2017516234A (enExample) |
| CN (1) | CN106462495B (enExample) |
| WO (1) | WO2015179591A1 (enExample) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3185127A1 (en) * | 2015-12-24 | 2017-06-28 | Renesas Electronics Corporation | Semiconductor device, data processing system, and semiconductor device control method |
| WO2018144184A1 (en) * | 2017-01-31 | 2018-08-09 | Qualcomm Incorporated | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur |
| WO2018208526A1 (en) * | 2017-05-11 | 2018-11-15 | Qualcomm Incorporated | Reducing metadata size used for address mapping in compressed memory systems of processor-based systems |
| EP3903176A4 (en) * | 2018-12-28 | 2022-11-09 | Micron Technology, Inc. | CALCULATOR TILE |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9740621B2 (en) * | 2014-05-21 | 2017-08-22 | Qualcomm Incorporated | Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods |
| US10838862B2 (en) | 2014-05-21 | 2020-11-17 | Qualcomm Incorporated | Memory controllers employing memory capacity compression, and related processor-based systems and methods |
| US10503661B2 (en) | 2014-05-21 | 2019-12-10 | Qualcomm Incorporated | Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system |
| US9652384B2 (en) * | 2014-12-16 | 2017-05-16 | Intel Corporation | Apparatus, system and method for caching compressed data |
| US10191850B2 (en) | 2016-03-31 | 2019-01-29 | Qualcomm Incorporated | Providing memory bandwidth compression using multiple last-level cache (LLC) lines in a central processing unit (CPU)-based system |
| US10067706B2 (en) | 2016-03-31 | 2018-09-04 | Qualcomm Incorporated | Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system |
| US10176090B2 (en) * | 2016-09-15 | 2019-01-08 | Qualcomm Incorporated | Providing memory bandwidth compression using adaptive compression in central processing unit (CPU)-based systems |
| US10126979B2 (en) | 2016-10-04 | 2018-11-13 | Qualcomm Incorporated | Bus encoding using metadata |
| WO2018165939A1 (en) * | 2017-03-16 | 2018-09-20 | Intel Corporation | Flash data compression decompression method and apparatus |
| CN108268381B (zh) * | 2017-12-15 | 2021-12-24 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种安全实现数据快速寻址的方法 |
| US11449428B2 (en) * | 2018-06-19 | 2022-09-20 | Western Digital Technologies, Inc. | Enhanced read-ahead capability for storage devices |
| US11086534B2 (en) | 2018-06-28 | 2021-08-10 | Apple Inc. | Memory data distribution based on communication channel utilization |
| US10664325B1 (en) * | 2018-09-06 | 2020-05-26 | Rockwell Collins, Inc. | System for limiting shared resource access in multicore system-on-chip (SoC) |
| SE544272C2 (en) * | 2018-11-14 | 2022-03-22 | Zeropoint Tech Ab | Accessing compressed computer memory |
| CN109857463B (zh) * | 2019-01-30 | 2020-12-01 | 上海兆芯集成电路有限公司 | 加速压缩方法以及加速压缩装置 |
| US11010059B2 (en) * | 2019-07-30 | 2021-05-18 | EMC IP Holding Company LLC | Techniques for obtaining metadata and user data |
| TWI739227B (zh) * | 2019-12-03 | 2021-09-11 | 智成電子股份有限公司 | 避免多餘記憶體存取的系統單晶片模組 |
| US11422934B2 (en) | 2020-07-14 | 2022-08-23 | Micron Technology, Inc. | Adaptive address tracking |
| US11409657B2 (en) | 2020-07-14 | 2022-08-09 | Micron Technology, Inc. | Adaptive address tracking |
| US12147341B2 (en) | 2020-08-06 | 2024-11-19 | Alibaba Group Holding Limited | Memory controller prioritizing writing compressed data |
| US11507516B2 (en) * | 2020-08-19 | 2022-11-22 | Micron Technology, Inc. | Adaptive cache partitioning |
| CN114168495B (zh) * | 2020-09-10 | 2025-09-23 | 桑迪士克科技股份有限公司 | 存储设备的增强的预读能力 |
| CN114428764B (zh) * | 2022-01-26 | 2024-04-02 | 重庆紫光华山智安科技有限公司 | 文件写入方法、系统、电子设备及可读存储介质 |
| US12379841B2 (en) | 2022-09-20 | 2025-08-05 | Samsung Electronics Co., Ltd. | Systems and methods for performing data compression in memory |
| US20250293704A1 (en) * | 2024-03-14 | 2025-09-18 | Qualcomm Incorporated | Bandwidth Compressed Data Movement and Footprint Compression |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130138867A1 (en) * | 2011-11-30 | 2013-05-30 | International Business Machines Corporation | Storing Multi-Stream Non-Linear Access Patterns in a Flash Based File-System |
Family Cites Families (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2831602B2 (ja) | 1995-01-13 | 1998-12-02 | 富士通株式会社 | 圧縮データ管理装置及び圧縮データ管理方法 |
| US5696927A (en) | 1995-12-21 | 1997-12-09 | Advanced Micro Devices, Inc. | Memory paging system and method including compressed page mapping hierarchy |
| JPH09259040A (ja) * | 1996-03-25 | 1997-10-03 | Sharp Corp | キャッシュメモリ装置 |
| US6353871B1 (en) | 1999-02-22 | 2002-03-05 | International Business Machines Corporation | Directory cache for indirectly addressed main memory |
| US6523102B1 (en) | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
| US7047382B2 (en) | 2000-11-29 | 2006-05-16 | Quickshift, Inc. | System and method for managing compression and decompression and decompression of system memory in a computer system |
| US6735673B2 (en) | 2002-01-10 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Apparatus and methods for cache line compression |
| US6640283B2 (en) | 2002-01-16 | 2003-10-28 | Hewlett-Packard Development Company, L.P. | Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size |
| US6944740B2 (en) | 2002-03-27 | 2005-09-13 | International Business Machines Corporation | Method for performing compressed I/O with memory expansion technology |
| US6795897B2 (en) | 2002-05-15 | 2004-09-21 | International Business Machines Corporation | Selective memory controller access path for directory caching |
| US6981119B1 (en) | 2002-08-29 | 2005-12-27 | Advanced Micro Devices, Inc. | System and method for storing performance-enhancing data in memory space freed by data compression |
| US7512750B2 (en) | 2003-12-31 | 2009-03-31 | Intel Corporation | Processor and memory controller capable of use in computing system that employs compressed cache lines' worth of information |
| US7225297B2 (en) * | 2004-05-28 | 2007-05-29 | International Business Machines Corporation | Compressed cache lines incorporating embedded prefetch history data |
| US7636813B2 (en) | 2006-05-22 | 2009-12-22 | International Business Machines Corporation | Systems and methods for providing remote pre-fetch buffers |
| US8122216B2 (en) | 2006-09-06 | 2012-02-21 | International Business Machines Corporation | Systems and methods for masking latency of memory reorganization work in a compressed memory system |
| US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
| US8595437B1 (en) | 2008-11-21 | 2013-11-26 | Nvidia Corporation | Compression status bit cache with deterministic isochronous latency |
| TWI435215B (zh) * | 2009-08-26 | 2014-04-21 | Phison Electronics Corp | 下達讀取指令與資料讀取方法、控制器與儲存系統 |
| US8341380B2 (en) | 2009-09-22 | 2012-12-25 | Nvidia Corporation | Efficient memory translator with variable size cache line coverage |
| US8539163B1 (en) | 2010-12-17 | 2013-09-17 | Amazon Technologies, Inc. | Speculative reads |
| US10031850B2 (en) * | 2011-06-07 | 2018-07-24 | Sandisk Technologies Llc | System and method to buffer data |
| WO2012168960A1 (en) | 2011-06-07 | 2012-12-13 | Hitachi, Ltd. | Semiconductor storage apparatus and method of controlling semiconductor storage apparatus |
| KR101888074B1 (ko) | 2012-01-09 | 2018-08-13 | 삼성전자주식회사 | 저장 장치 및 불휘발성 메모리 장치, 그리고 그것의 동작 방법 |
| US8751830B2 (en) | 2012-01-23 | 2014-06-10 | International Business Machines Corporation | Memory address translation-based data encryption/compression |
| US8830716B2 (en) | 2012-09-29 | 2014-09-09 | Intel Corporation | Intelligent far memory bandwith scaling |
| CN104133780B (zh) * | 2013-05-02 | 2017-04-05 | 华为技术有限公司 | 一种跨页预取方法、装置及系统 |
| CN107608912B (zh) * | 2013-08-20 | 2020-10-16 | 华为技术有限公司 | 内存物理地址查询方法和装置 |
| US10503661B2 (en) | 2014-05-21 | 2019-12-10 | Qualcomm Incorporated | Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system |
| US10838862B2 (en) | 2014-05-21 | 2020-11-17 | Qualcomm Incorporated | Memory controllers employing memory capacity compression, and related processor-based systems and methods |
| US9740621B2 (en) * | 2014-05-21 | 2017-08-22 | Qualcomm Incorporated | Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods |
| US10372613B2 (en) * | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
| KR20160104387A (ko) * | 2015-02-26 | 2016-09-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| JP2017072981A (ja) * | 2015-10-07 | 2017-04-13 | 富士通株式会社 | 情報処理装置、キャッシュ制御方法およびキャッシュ制御プログラム |
-
2015
- 2015-05-19 US US14/716,108 patent/US9740621B2/en not_active Expired - Fee Related
- 2015-05-21 WO PCT/US2015/031885 patent/WO2015179591A1/en not_active Ceased
- 2015-05-21 EP EP15728287.2A patent/EP3146435A1/en not_active Withdrawn
- 2015-05-21 JP JP2016568009A patent/JP2017516234A/ja active Pending
- 2015-05-21 CN CN201580026261.3A patent/CN106462495B/zh not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130138867A1 (en) * | 2011-11-30 | 2013-05-30 | International Business Machines Corporation | Storing Multi-Stream Non-Linear Access Patterns in a Flash Based File-System |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3185127A1 (en) * | 2015-12-24 | 2017-06-28 | Renesas Electronics Corporation | Semiconductor device, data processing system, and semiconductor device control method |
| JP2017117145A (ja) * | 2015-12-24 | 2017-06-29 | ルネサスエレクトロニクス株式会社 | 半導体装置、データ処理システム及び半導体装置の制御方法 |
| US10229063B2 (en) | 2015-12-24 | 2019-03-12 | Renesas Electronics Corporation | Semiconductor device, data processing system, and semiconductor device control method |
| WO2018144184A1 (en) * | 2017-01-31 | 2018-08-09 | Qualcomm Incorporated | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur |
| US10061698B2 (en) | 2017-01-31 | 2018-08-28 | Qualcomm Incorporated | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur |
| CN110235110A (zh) * | 2017-01-31 | 2019-09-13 | 高通股份有限公司 | 当停顿的写入操作发生时减少或避免来自压缩存储器系统中的未压缩高速缓冲存储器的经逐出高速缓冲存储数据的缓冲 |
| WO2018208526A1 (en) * | 2017-05-11 | 2018-11-15 | Qualcomm Incorporated | Reducing metadata size used for address mapping in compressed memory systems of processor-based systems |
| US10169246B2 (en) | 2017-05-11 | 2019-01-01 | Qualcomm Incorporated | Reducing metadata size in compressed memory systems of processor-based systems |
| EP3903176A4 (en) * | 2018-12-28 | 2022-11-09 | Micron Technology, Inc. | CALCULATOR TILE |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150339237A1 (en) | 2015-11-26 |
| US9740621B2 (en) | 2017-08-22 |
| JP2017516234A (ja) | 2017-06-15 |
| CN106462495A (zh) | 2017-02-22 |
| CN106462495B (zh) | 2019-06-04 |
| EP3146435A1 (en) | 2017-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9740621B2 (en) | Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods | |
| US10838862B2 (en) | Memory controllers employing memory capacity compression, and related processor-based systems and methods | |
| EP3146434B1 (en) | Providing memory bandwidth compression using compressed memory controllers in a central processing unit (cpu)-based system | |
| EP3722959A1 (en) | Scalable application-customized memory compression | |
| USRE43483E1 (en) | System and method for managing compression and decompression of system memory in a computer system | |
| CN108885585B (zh) | 在基于中央处理单元(cpu)的系统中使用多个末级高速缓冲存储器(llc)线提供存储器带宽压缩 | |
| US11803482B2 (en) | Process dedicated in-memory translation lookaside buffers (TLBs) (mTLBs) for augmenting memory management unit (MMU) TLB for translating virtual addresses (VAs) to physical addresses (PAs) in a processor-based system | |
| US20160224241A1 (en) | PROVIDING MEMORY BANDWIDTH COMPRESSION USING BACK-TO-BACK READ OPERATIONS BY COMPRESSED MEMORY CONTROLLERS (CMCs) IN A CENTRAL PROCESSING UNIT (CPU)-BASED SYSTEM | |
| US20180173623A1 (en) | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compressed memory system to avoid stalling write operations | |
| US10198362B2 (en) | Reducing bandwidth consumption when performing free memory list cache maintenance in compressed memory schemes of processor-based systems | |
| US9507729B2 (en) | Method and processor for reducing code and latency of TLB maintenance operations in a configurable processor | |
| WO2018052653A1 (en) | Providing memory bandwidth compression using adaptive compression in central processing unit (cpu)-based systems | |
| US9934150B1 (en) | Data caching circuit and method | |
| US20050071566A1 (en) | Mechanism to increase data compression in a cache | |
| US10067706B2 (en) | Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15728287 Country of ref document: EP Kind code of ref document: A1 |
|
| DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
| REEP | Request for entry into the european phase |
Ref document number: 2015728287 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2015728287 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2016568009 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |