CN110226158A - 一种数据预取方法、装置和存储设备 - Google Patents
一种数据预取方法、装置和存储设备 Download PDFInfo
- Publication number
- CN110226158A CN110226158A CN201780002811.7A CN201780002811A CN110226158A CN 110226158 A CN110226158 A CN 110226158A CN 201780002811 A CN201780002811 A CN 201780002811A CN 110226158 A CN110226158 A CN 110226158A
- Authority
- CN
- China
- Prior art keywords
- length
- prefetch
- degree
- access request
- threshold
- 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.)
- Granted
Links
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/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; 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
- 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; 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
-
- 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/1021—Hit rate 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/602—Details relating to cache prefetching
-
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据预取方法和装置。该数据预取方法应用于存储设备中,当第一数据访问请求执行完毕之后,获取目标逻辑块的第一顺序流长度和第一访问次数,所述存储设备的缓存中包括多个逻辑块,所述目标逻辑块以及所述相邻逻辑块均是所述多个逻辑块中的其中之一。接收第二数据访问请求时,将所述第一顺序流长度修改为第二顺序流长度并且将第一访问次数修改为第二访问次数,所述第二数据访问请求用于访问所述目标逻辑块。根据所述第二顺序流长度以及所述第二访问次数计算所述目标逻辑块的顺序度,当所述目标逻辑块的顺序度超过第一预取门限时,执行数据预取操作。可以准确地识别并行顺序流以触发数据预取操作,提高数据命中率。
Description
PCT国内申请,说明书已公开。
Claims (33)
- PCT国内申请,权利要求书已公开。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/120200 WO2019127487A1 (zh) | 2017-12-29 | 2017-12-29 | 一种数据预取方法、装置和存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110226158A true CN110226158A (zh) | 2019-09-10 |
CN110226158B CN110226158B (zh) | 2021-06-29 |
Family
ID=67064385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780002811.7A Active CN110226158B (zh) | 2017-12-29 | 2017-12-29 | 一种数据预取方法、装置和存储设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11099997B2 (zh) |
CN (1) | CN110226158B (zh) |
WO (1) | WO2019127487A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651120A (zh) * | 2020-04-28 | 2020-09-11 | 中国科学院微电子研究所 | 预取数据的方法及装置 |
WO2022143692A1 (zh) * | 2020-12-31 | 2022-07-07 | 华为技术有限公司 | 数据预取的方法、装置和设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210152831A (ko) * | 2020-06-09 | 2021-12-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
TWI755878B (zh) * | 2020-09-30 | 2022-02-21 | 威聯通科技股份有限公司 | 動態改變資料預取量的方法及使用其之終端裝置 |
JP2022142843A (ja) * | 2021-03-17 | 2022-10-03 | 富士通株式会社 | 制御装置及びデータ読出方法 |
US11567872B1 (en) * | 2021-07-08 | 2023-01-31 | Advanced Micro Devices, Inc. | Compression aware prefetch |
WO2023013649A1 (ja) * | 2021-08-06 | 2023-02-09 | 株式会社エヌエスアイテクス | データキャッシュ装置およびプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023931A (zh) * | 2010-12-17 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN102779098A (zh) * | 2012-06-14 | 2012-11-14 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的协同式自适应预取方法、中间件和系统 |
CN104156321A (zh) * | 2014-07-23 | 2014-11-19 | 华为技术有限公司 | 一种数据预取的方法以及装置 |
CN106021128A (zh) * | 2016-05-31 | 2016-10-12 | 东南大学—无锡集成电路技术研究所 | 一种基于步幅和数据相关性的数据预取器及其预取方法 |
US20170357587A1 (en) * | 2016-06-13 | 2017-12-14 | Advanced Micro Devices, Inc. | Up/down prefetcher |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557734A (en) * | 1994-06-17 | 1996-09-17 | Applied Intelligent Systems, Inc. | Cache burst architecture for parallel processing, such as for image processing |
US6816946B2 (en) * | 2002-07-01 | 2004-11-09 | Sony Computer Entertainment, Inc. | Methods and apparatus for controlling a cache memory |
CN101266578A (zh) * | 2008-02-22 | 2008-09-17 | 浙江大学 | 基于增量式闭合序列挖掘的高速缓存数据预取方法 |
CN102111448B (zh) * | 2011-01-13 | 2013-04-24 | 华为技术有限公司 | 分布式哈希表dht存储系统的数据预取方法、节点和系统 |
US9354989B1 (en) * | 2011-10-03 | 2016-05-31 | Netapp, Inc | Region based admission/eviction control in hybrid aggregates |
US9529724B2 (en) * | 2012-07-06 | 2016-12-27 | Seagate Technology Llc | Layered architecture for hybrid controller |
WO2015039352A1 (zh) * | 2013-09-23 | 2015-03-26 | 华为技术有限公司 | 缓存数据的方法和存储系统 |
CN104063330B (zh) * | 2014-06-25 | 2017-04-26 | 华为技术有限公司 | 数据预取方法及装置 |
CN107273053A (zh) * | 2017-06-22 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种数据读取的方法与装置 |
-
2017
- 2017-12-29 CN CN201780002811.7A patent/CN110226158B/zh active Active
- 2017-12-29 WO PCT/CN2017/120200 patent/WO2019127487A1/zh active Application Filing
-
2020
- 2020-06-26 US US16/913,680 patent/US11099997B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023931A (zh) * | 2010-12-17 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN102779098A (zh) * | 2012-06-14 | 2012-11-14 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的协同式自适应预取方法、中间件和系统 |
CN104156321A (zh) * | 2014-07-23 | 2014-11-19 | 华为技术有限公司 | 一种数据预取的方法以及装置 |
CN106021128A (zh) * | 2016-05-31 | 2016-10-12 | 东南大学—无锡集成电路技术研究所 | 一种基于步幅和数据相关性的数据预取器及其预取方法 |
US20170357587A1 (en) * | 2016-06-13 | 2017-12-14 | Advanced Micro Devices, Inc. | Up/down prefetcher |
Non-Patent Citations (1)
Title |
---|
刘洋: "《层次混合存储系统中缓存和预取技术研究》", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651120A (zh) * | 2020-04-28 | 2020-09-11 | 中国科学院微电子研究所 | 预取数据的方法及装置 |
CN111651120B (zh) * | 2020-04-28 | 2023-08-08 | 中国科学院微电子研究所 | 预取数据的方法及装置 |
WO2022143692A1 (zh) * | 2020-12-31 | 2022-07-07 | 华为技术有限公司 | 数据预取的方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019127487A1 (zh) | 2019-07-04 |
CN110226158B (zh) | 2021-06-29 |
US11099997B2 (en) | 2021-08-24 |
US20200327061A1 (en) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110226158B (zh) | 一种数据预取方法、装置和存储设备 | |
US11392297B2 (en) | Automatic stream detection and assignment algorithm | |
US10380035B2 (en) | Using an access increment number to control a duration during which tracks remain in cache | |
TWI648622B (zh) | 快閃記憶體之壓縮、讀取方法及應用其方法的裝置 | |
JP6018725B2 (ja) | コントローラ、フラッシュメモリ装置及びデータをフラッシュメモリ装置に書き込む方法 | |
US9122607B1 (en) | Hotspot detection and caching for storage devices | |
US9477607B2 (en) | Adaptive record caching for solid state disks | |
JP6106028B2 (ja) | サーバ及びキャッシュ制御方法 | |
TWI714800B (zh) | 固態硬碟、非暫時性儲存媒體以及操作固態硬碟的方法 | |
KR20180115614A (ko) | Ssd의 백그라운드 동작들을 위한 기회 윈도우 힌트들 | |
WO2015039352A1 (zh) | 缓存数据的方法和存储系统 | |
WO2017100748A1 (en) | Software defined fifo buffer for multithreaded access | |
US10146783B2 (en) | Using file element accesses to select file elements in a file system to defragment | |
JP6160240B2 (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム | |
CN112256599A (zh) | 一种数据预取方法、装置及存储设备 | |
CN112199304B (zh) | 数据预取方法及装置 | |
CN112395223A (zh) | 基于对高速缓存列表的不同区域的访问来管理被访问磁道到高速缓存列表的mru端的指示 | |
US20160239421A1 (en) | Memory nest efficiency with cache demand generation | |
CN109144431B (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
JP6394231B2 (ja) | データ配置制御プログラム、データ配置制御装置およびデータ配置制御方法 | |
CN113742131B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
WO2017054714A1 (zh) | 磁盘阵列的读方法及装置 | |
JP2015184883A (ja) | 計算機システム | |
CN113435601A (zh) | 数据预取方法、装置以及存储设备 | |
WO2016147279A1 (ja) | データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |