TWI673608B - 使用反向快取表的基於硬體之映射加速 - Google Patents

使用反向快取表的基於硬體之映射加速 Download PDF

Info

Publication number
TWI673608B
TWI673608B TW107110184A TW107110184A TWI673608B TW I673608 B TWI673608 B TW I673608B TW 107110184 A TW107110184 A TW 107110184A TW 107110184 A TW107110184 A TW 107110184A TW I673608 B TWI673608 B TW I673608B
Authority
TW
Taiwan
Prior art keywords
mapping
cache memory
memory
page
stored
Prior art date
Application number
TW107110184A
Other languages
English (en)
Chinese (zh)
Other versions
TW201903614A (zh
Inventor
傑佛瑞 蒙西爾
傑克森 艾利斯
瑞安 J 戈斯
Original Assignee
美商司固科技公司
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 美商司固科技公司 filed Critical 美商司固科技公司
Publication of TW201903614A publication Critical patent/TW201903614A/zh
Application granted granted Critical
Publication of TWI673608B publication Critical patent/TWI673608B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer Security & Cryptography (AREA)
TW107110184A 2017-03-24 2018-03-26 使用反向快取表的基於硬體之映射加速 TWI673608B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762476178P 2017-03-24 2017-03-24
US62/476,178 2017-03-24
US15/605,442 2017-05-25
US15/605,442 US10126964B2 (en) 2017-03-24 2017-05-25 Hardware based map acceleration using forward and reverse cache tables

Publications (2)

Publication Number Publication Date
TW201903614A TW201903614A (zh) 2019-01-16
TWI673608B true TWI673608B (zh) 2019-10-01

Family

ID=63581054

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107110184A TWI673608B (zh) 2017-03-24 2018-03-26 使用反向快取表的基於硬體之映射加速

Country Status (5)

Country Link
US (1) US10126964B2 (enExample)
JP (1) JP7046669B2 (enExample)
KR (1) KR20180108513A (enExample)
CN (1) CN108628772A (enExample)
TW (1) TWI673608B (enExample)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10229052B2 (en) * 2017-05-31 2019-03-12 Seagate Technology Llc Reverse map logging in physical media
US11138069B2 (en) 2018-06-11 2021-10-05 Seagate Technology, Llc Providing additional parity for non-standard sized parity data sets
US10896002B2 (en) 2018-06-29 2021-01-19 Seagate Technology Llc Reverse directory structure in a garbage collection unit (GCU)
KR102686749B1 (ko) * 2018-11-14 2024-07-22 삼성전자주식회사 맵 스케줄링을 수행하기 위한 스토리지 장치 및 그것을 포함하는 전자 장치
CN109684238A (zh) * 2018-12-19 2019-04-26 湖南国科微电子股份有限公司 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘
CN111475429B (zh) * 2019-01-24 2023-08-29 爱思开海力士有限公司 存储器访问方法
KR102818164B1 (ko) * 2019-04-01 2025-06-10 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
CN112835820B (zh) * 2019-11-22 2025-09-30 北京忆芯科技有限公司 快速访问hmb的方法与存储设备
US11016889B1 (en) 2019-12-13 2021-05-25 Seagate Technology Llc Storage device with enhanced time to ready performance
CN111190835B (zh) * 2019-12-29 2022-06-10 北京浪潮数据技术有限公司 一种数据写入方法、装置、设备及介质
US11537515B2 (en) 2020-03-25 2022-12-27 SK Hynix Inc. Reordering a descriptor queue while searching the queue of descriptors corresponding to map segments
US11726921B2 (en) 2020-05-21 2023-08-15 Seagate Technology Llc Combined page footer for parallel metadata storage
US11392304B2 (en) 2020-05-29 2022-07-19 Seagate Technology Llc Data storage device with adaptive object storage capabilities
CN111966298B (zh) * 2020-08-24 2021-07-27 深圳三地一芯电子有限责任公司 一种基于Flash存储器的倒序编程实现方法及装置
US11392499B2 (en) 2020-09-18 2022-07-19 Kioxia Corporation Dynamic buffer caching of storage devices
KR20220082509A (ko) * 2020-12-10 2022-06-17 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
JP2022144314A (ja) * 2021-03-18 2022-10-03 キオクシア株式会社 メモリシステム及びストレージ装置
TWI771079B (zh) * 2021-06-24 2022-07-11 群聯電子股份有限公司 記憶體存取方法、記憶體儲存裝置及記憶體控制電路單元
US11966336B2 (en) * 2021-11-08 2024-04-23 Sap Se Caching data based on greenhouse gas data
US11669449B1 (en) 2021-11-30 2023-06-06 Dell Products L.P. Ghost list cache eviction
CN114415966B (zh) * 2022-01-25 2022-08-12 武汉麓谷科技有限公司 一种kv ssd存储引擎的构建方法
US12105627B2 (en) 2022-02-09 2024-10-01 Dell Products L.P. Methods for cache insertion using ghost lists
US12105626B2 (en) 2022-02-09 2024-10-01 Dell Products L.P. Method for optimized cache insertion
US12169456B2 (en) 2022-04-13 2024-12-17 Dell Products L.P. Methods for cache insertion and cache eviction using ghost list in a cache system that includes a reverse cache and a main cache
US12105639B2 (en) * 2022-05-17 2024-10-01 Dell Products L.P. Methods for cache insertion and cache eviction in a cache system that includes a reverse cache and a main cache

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200502767A (en) * 2002-12-27 2005-01-16 Ibm A log-structured write cache for data storage devices and systems
TW200809495A (en) * 2006-06-08 2008-02-16 Bitmicro Networks Inc Hybrid multi-tiered caching storage system
TW201137612A (en) * 2009-09-30 2011-11-01 Intel Corp Memory mirroring and migration at home agent
TW201232260A (en) * 2010-12-16 2012-08-01 Toshiba Kk Semiconductor storage device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5933857A (en) * 1997-04-25 1999-08-03 Hewlett-Packard Co. Accessing multiple independent microkernels existing in a globally shared memory system
US6804741B2 (en) 2002-01-16 2004-10-12 Hewlett-Packard Development Company, L.P. Coherent memory mapping tables for host I/O bridge
US8533401B2 (en) 2002-12-30 2013-09-10 Intel Corporation Implementing direct access caches in coherent multiprocessors
US7844778B2 (en) 2006-07-11 2010-11-30 International Business Machines Corporation Intelligent cache replacement mechanism with varying and adaptive temporal residency requirements
US9003159B2 (en) * 2009-10-05 2015-04-07 Marvell World Trade Ltd. Data caching in non-volatile memory
US8495299B2 (en) 2009-11-16 2013-07-23 Microsoft Corporation Non-blocking data transfer via memory cache manipulation
JP5295286B2 (ja) * 2011-02-23 2013-09-18 株式会社日立製作所 記憶装置およびそれを搭載した計算機
US9218281B2 (en) 2012-05-04 2015-12-22 Seagate Technology Llc Maintaining ordering via a multi-level map of a solid-state media
US9250901B2 (en) 2013-03-12 2016-02-02 Intel Corporation Execution context swap between heterogeneous functional hardware units
CN105493051B (zh) * 2013-06-25 2019-03-08 马维尔国际贸易有限公司 自适应高速缓冲存储器控制器
US9405672B2 (en) 2013-06-25 2016-08-02 Seagate Technology Llc Map recycling acceleration
US9880939B2 (en) * 2015-09-04 2018-01-30 Toshiba Memory Corporation Memory system and information processing system
US10282138B2 (en) * 2016-09-27 2019-05-07 International Business Machines Corporation Secondary read cache optimization in data replication environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200502767A (en) * 2002-12-27 2005-01-16 Ibm A log-structured write cache for data storage devices and systems
TW200809495A (en) * 2006-06-08 2008-02-16 Bitmicro Networks Inc Hybrid multi-tiered caching storage system
TW201137612A (en) * 2009-09-30 2011-11-01 Intel Corp Memory mirroring and migration at home agent
TW201232260A (en) * 2010-12-16 2012-08-01 Toshiba Kk Semiconductor storage device

Also Published As

Publication number Publication date
CN108628772A (zh) 2018-10-09
US10126964B2 (en) 2018-11-13
JP7046669B2 (ja) 2022-04-04
TW201903614A (zh) 2019-01-16
JP2018163659A (ja) 2018-10-18
US20180275899A1 (en) 2018-09-27
KR20180108513A (ko) 2018-10-04

Similar Documents

Publication Publication Date Title
TWI673608B (zh) 使用反向快取表的基於硬體之映射加速
US10379746B2 (en) Information processing apparatus, storage device, and computer program product
US8688894B2 (en) Page based management of flash storage
JP6224253B2 (ja) フラッシュメモリ内に記憶されたデータの推測的プリフェッチ
TWI526829B (zh) 電腦系統、用於存取儲存裝置之方法及電腦可讀儲存媒體
US9507719B2 (en) Garbage collection in hybrid memory system
US8966155B1 (en) System and method for implementing a high performance data storage system
US10613985B2 (en) Buffer management in a data storage device wherein a bit indicating whether data is in cache is reset after updating forward table with physical address of non-volatile memory and jettisoning the data from the cache
CN117369715B (zh) 基于存储设备中的引用更新使用回收单元的系统、方法和设备
TW201729105A (zh) 混合模式存取固態硬碟驅動器之方法及裝置
US11733931B1 (en) Software defined hybrid flash storage memory controller
CN102915208A (zh) 信息处理装置、半导体存储装置及半导体存储装置的控制方法
US11003580B1 (en) Managing overlapping reads and writes in a data cache
US11836092B2 (en) Non-volatile storage controller with partial logical-to-physical (L2P) address translation table
US20210365384A1 (en) Combined page footer for parallel metadata storage
US8762636B2 (en) Data storage system having a global cache memory distributed among non-volatile memories within system disk drives
JP2016057763A (ja) キャッシュ装置、及びプロセッサ
KR20240173164A (ko) 스토리지 장치에서 캐시 동작을 위한 시스템, 방법 및 장치
US20150067237A1 (en) Memory controller, semiconductor memory system, and memory control method
US20230019878A1 (en) Systems, methods, and devices for page relocation for garbage collection
US20240402924A1 (en) Systems, methods, and apparatus for cache configuration based on storage placement
CN117369718A (zh) 在存储装置中形成和选择回收单元的系统、方法和装置
JP2022143762A (ja) メモリシステム、制御方法およびメモリコントローラ

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees