JP7010809B2 - デデュープ可能なメモリキャッシュ及びそのための動作方法 - Google Patents

デデュープ可能なメモリキャッシュ及びそのための動作方法 Download PDF

Info

Publication number
JP7010809B2
JP7010809B2 JP2018234370A JP2018234370A JP7010809B2 JP 7010809 B2 JP7010809 B2 JP 7010809B2 JP 2018234370 A JP2018234370 A JP 2018234370A JP 2018234370 A JP2018234370 A JP 2018234370A JP 7010809 B2 JP7010809 B2 JP 7010809B2
Authority
JP
Japan
Prior art keywords
cache
deducable
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
Application number
JP2018234370A
Other languages
English (en)
Japanese (ja)
Other versions
JP2019128949A5 (enExample
JP2019128949A (ja
Inventor
牧 天 張
アンドリュー チャン,
冬 岩 姜
宏 忠 鄭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019128949A publication Critical patent/JP2019128949A/ja
Publication of JP2019128949A5 publication Critical patent/JP2019128949A5/ja
Application granted granted Critical
Publication of JP7010809B2 publication Critical patent/JP7010809B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/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)
JP2018234370A 2018-01-19 2018-12-14 デデュープ可能なメモリキャッシュ及びそのための動作方法 Active JP7010809B2 (ja)

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 (3)

Publication Number Publication Date
JP2019128949A JP2019128949A (ja) 2019-08-01
JP2019128949A5 JP2019128949A5 (enExample) 2022-01-11
JP7010809B2 true JP7010809B2 (ja) 2022-01-26

Family

ID=67298141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018234370A Active JP7010809B2 (ja) 2018-01-19 2018-12-14 デデュープ可能なメモリキャッシュ及びそのための動作方法

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)

* Cited by examiner, † Cited by third party
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732403B1 (en) 2012-03-14 2014-05-20 Netapp, Inc. Deduplication of data blocks on storage devices
JP2017208096A (ja) 2016-05-20 2017-11-24 三星電子株式会社Samsung Electronics Co.,Ltd. データの回収方法及び格納方法並びに重複除去モジュール

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023877B1 (ko) * 2009-04-17 2011-03-22 (주)인디링스 캐시 및 디스크 관리 방법 및 상기 방법을 이용한 컨트롤러
WO2011031796A2 (en) * 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
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
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
BR112016003763B1 (pt) * 2014-09-15 2019-04-02 Huawei Technologies Co., Ltd. Método de desduplicação de dados e arranjo de armazenamento.
US9852076B1 (en) * 2014-12-18 2017-12-26 Violin Systems Llc Caching of metadata for deduplicated LUNs
TWI709864B (zh) 2015-01-29 2020-11-11 韓商愛思開海力士有限公司 一種利用重複刪除過程的儲存系統、方法及裝置
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732403B1 (en) 2012-03-14 2014-05-20 Netapp, Inc. Deduplication of data blocks on storage devices
JP2017208096A (ja) 2016-05-20 2017-11-24 三星電子株式会社Samsung Electronics Co.,Ltd. データの回収方法及び格納方法並びに重複除去モジュール

Also Published As

Publication number Publication date
CN110058805B (zh) 2024-10-01
TW201933108A (zh) 2019-08-16
US10705969B2 (en) 2020-07-07
KR20190088864A (ko) 2019-07-29
JP2019128949A (ja) 2019-08-01
TWI761608B (zh) 2022-04-21
US20190227941A1 (en) 2019-07-25
KR102401592B1 (ko) 2022-05-24
CN110058805A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
KR102401592B1 (ko) 중복제거 디램 캐시
US11822813B2 (en) Storage device, operation method of storage device, and storage system using the same
CN108572796B (zh) 具有异构nvm类型的ssd
KR102395360B1 (ko) 비휘발성 데이터 저장장치 내부에서 원자적으로 복수의 기록 트랜잭션을 수행하는 장치 제어기 및 방법
US7117310B2 (en) Systems and methods for cache synchronization between redundant storage controllers
US9836404B2 (en) Write mirroring to storage class memory devices
US8489820B1 (en) Speculative copying of data from main buffer cache to solid-state secondary cache of a storage server
US20210216220A1 (en) Storage device and operation method thereof
US20150339058A1 (en) Storage system and control method
CN107148622A (zh) 智能闪存高速缓存记录器
EP4307127B1 (en) Systems and methods for managing bias mode switching
US8185691B2 (en) Optimized cache coherency in a dual-controller storage array
CN113254363A (zh) 具有部分逻辑到物理地址转换表的非易失性存储控制器
US20260023689A1 (en) Systems, methods, and apparatus for accessing data in versions of memory pages
TW202407547A (zh) 儲存裝置以及處理自主機計算裝置至儲存裝置的命令的方法
US20240211406A1 (en) Systems, methods, and apparatus for accessing data from memory or storage at a storage node
KR20140128824A (ko) 속성 데이터를 이용한 데이터 관리 방법
EP4645090A1 (en) Pre-read assisted write coalescing for parity virtual disks
CN120687382A (zh) 内存访问方法和电子设备
US9864688B1 (en) Discarding cached data before cache flush
EP4044038B1 (en) Cache operation for a persistent storage device
CN117609105A (zh) 用于访问存储器页的版本中的数据的方法和设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211206

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211213

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: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220113

R150 Certificate of patent or registration of utility model

Ref document number: 7010809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250