KR102401592B1 - 중복제거 디램 캐시 - Google Patents
중복제거 디램 캐시 Download PDFInfo
- Publication number
- KR102401592B1 KR102401592B1 KR1020180116617A KR20180116617A KR102401592B1 KR 102401592 B1 KR102401592 B1 KR 102401592B1 KR 1020180116617 A KR1020180116617 A KR 1020180116617A KR 20180116617 A KR20180116617 A KR 20180116617A KR 102401592 B1 KR102401592 B1 KR 102401592B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- deduplication
- data
- read
- write
- 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
Images
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/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
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- 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/60—Details of cache memory
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862619723P | 2018-01-19 | 2018-01-19 | |
| US62/619,723 | 2018-01-19 | ||
| US15/934,940 US10705969B2 (en) | 2018-01-19 | 2018-03-23 | Dedupe DRAM cache |
| US15/934,940 | 2018-03-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20190088864A KR20190088864A (ko) | 2019-07-29 |
| KR102401592B1 true KR102401592B1 (ko) | 2022-05-24 |
Family
ID=67298141
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020180116617A Active KR102401592B1 (ko) | 2018-01-19 | 2018-09-28 | 중복제거 디램 캐시 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10705969B2 (enExample) |
| JP (1) | JP7010809B2 (enExample) |
| KR (1) | KR102401592B1 (enExample) |
| CN (1) | CN110058805B (enExample) |
| TW (1) | TWI761608B (enExample) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11068406B2 (en) * | 2017-07-27 | 2021-07-20 | EMC IP Holding Company LLC | Maintaining a single copy of data within a read cache |
| CN110764697B (zh) * | 2019-09-29 | 2023-08-29 | 望海康信(北京)科技股份公司 | 一种数据管理方法及装置 |
| US20200133884A1 (en) * | 2019-12-19 | 2020-04-30 | Intel Corporation | Nvram system memory with memory side cache that favors written to items and/or includes regions with customized temperature induced speed settings |
| CN111263240B (zh) * | 2020-02-12 | 2022-07-19 | 青岛海信宽带多媒体技术有限公司 | Iptv 4k音视频播放管理方法、装置、显示设备 |
| US11720484B2 (en) * | 2020-07-28 | 2023-08-08 | EMC IP Holding Company, LLC | System and method for efficient background deduplication during hardening |
| US11442911B2 (en) | 2020-08-31 | 2022-09-13 | Google Llc | Moving window data deduplication in distributed storage |
| CN112351293B (zh) * | 2020-10-26 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 一种检测状态信令丢失的方法、装置及介质 |
| US11403212B1 (en) * | 2021-05-05 | 2022-08-02 | Vmware, Inc. | Deduplication assisted caching policy for content based read cache (CBRC) |
| US12117939B2 (en) * | 2021-12-21 | 2024-10-15 | Advanced Micro Devices, Inc. | Stochastic optimization of surface cacheability in parallel processing units |
| US20240311315A1 (en) * | 2023-03-14 | 2024-09-19 | Samsung Electronics Co., Ltd. | Systems and methods for computing with multiple nodes |
| US12210453B2 (en) | 2023-06-30 | 2025-01-28 | Genesys Cloud Services, Inc. | Technologies for configurable caching, deduplication, and rate limit handling |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8719501B2 (en) * | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
| KR101023877B1 (ko) * | 2009-04-17 | 2011-03-22 | (주)인디링스 | 캐시 및 디스크 관리 방법 및 상기 방법을 이용한 컨트롤러 |
| US9401967B2 (en) | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
| US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
| US8732403B1 (en) * | 2012-03-14 | 2014-05-20 | Netapp, Inc. | Deduplication of data blocks on storage devices |
| US9898410B2 (en) | 2013-09-10 | 2018-02-20 | Intel Corporation | Hybrid main memory using a fine-grain level of remapping |
| US9304914B1 (en) | 2013-09-26 | 2016-04-05 | Emc Corporation | Deduplicated cache system of a storage system |
| US9390116B1 (en) | 2013-09-26 | 2016-07-12 | Emc Corporation | Insertion and eviction schemes for deduplicated cache system of a storage system |
| CA2920004C (en) * | 2014-09-15 | 2019-10-22 | Huawei Technologies Co., Ltd. | Data deduplication method and storage array |
| US9852076B1 (en) * | 2014-12-18 | 2017-12-26 | Violin Systems Llc | Caching of metadata for deduplicated LUNs |
| US10176190B2 (en) | 2015-01-29 | 2019-01-08 | SK Hynix Inc. | Data integrity and loss resistance in high performance and high capacity storage deduplication |
| CN105095113B (zh) * | 2015-07-21 | 2018-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法和系统 |
| US20170091117A1 (en) | 2015-09-25 | 2017-03-30 | Qualcomm Incorporated | Method and apparatus for cache line deduplication via data matching |
| US10169232B2 (en) * | 2016-02-19 | 2019-01-01 | Seagate Technology Llc | Associative and atomic write-back caching system and method for storage subsystem |
| KR102190403B1 (ko) * | 2016-05-20 | 2020-12-11 | 삼성전자주식회사 | 물리적 메모리 크기보다 큰 메모리 용량을 가능하게 하기 위한 방법 및 장치 |
-
2018
- 2018-03-23 US US15/934,940 patent/US10705969B2/en active Active
- 2018-09-28 KR KR1020180116617A patent/KR102401592B1/ko active Active
- 2018-10-08 TW TW107135421A patent/TWI761608B/zh active
- 2018-12-14 JP JP2018234370A patent/JP7010809B2/ja active Active
- 2018-12-24 CN CN201811583661.6A patent/CN110058805B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| TWI761608B (zh) | 2022-04-21 |
| TW201933108A (zh) | 2019-08-16 |
| KR20190088864A (ko) | 2019-07-29 |
| JP2019128949A (ja) | 2019-08-01 |
| US10705969B2 (en) | 2020-07-07 |
| CN110058805A (zh) | 2019-07-26 |
| JP7010809B2 (ja) | 2022-01-26 |
| CN110058805B (zh) | 2024-10-01 |
| US20190227941A1 (en) | 2019-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102401592B1 (ko) | 중복제거 디램 캐시 | |
| CN108572796B (zh) | 具有异构nvm类型的ssd | |
| US9836404B2 (en) | Write mirroring to storage class memory devices | |
| US9817765B2 (en) | Dynamic hierarchical memory cache awareness within a storage system | |
| US8583853B1 (en) | Error-handling for write-distribute command in raid mirroring | |
| US9280478B2 (en) | Cache rebuilds based on tracking data for cache entries | |
| CN107148622B (zh) | 智能闪存高速缓存记录器 | |
| US9804971B2 (en) | Cache management of track removal in a cache for storage | |
| KR102784548B1 (ko) | 메모리 시스템에서 맵 데이터를 전송하는 방법 및 장치 | |
| US20150339058A1 (en) | Storage system and control method | |
| CN102906714A (zh) | 缓存存储适配器架构 | |
| US20110202708A1 (en) | Integrating A Flash Cache Into Large Storage Systems | |
| CN113254363B (zh) | 具有部分逻辑到物理地址转换表的非易失性存储控制器 | |
| TW202407547A (zh) | 儲存裝置以及處理自主機計算裝置至儲存裝置的命令的方法 | |
| CN108228088B (zh) | 用于管理存储系统的方法和设备 | |
| US20140325168A1 (en) | Management of stored data based on corresponding attribute data | |
| US11474750B2 (en) | Storage control apparatus and storage medium | |
| US9864688B1 (en) | Discarding cached data before cache flush | |
| EP4307127B1 (en) | Systems and methods for managing bias mode switching | |
| US20250335296A1 (en) | Pre-Read Assisted Write Coalescing for Parity Virtual Disks | |
| JP5591406B2 (ja) | ロー・レイテンシ内容アドレス記憶装置 | |
| EP4432106A1 (en) | Systems and methods for a cache-coherent interconnect protocol storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20180928 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| A302 | Request for accelerated examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20210928 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20180928 Comment text: Patent Application |
|
| PA0302 | Request for accelerated examination |
Patent event date: 20210928 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20180928 Patent event code: PA03021R01I Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20211014 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220222 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220519 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20220520 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |