CN109783019B - 一种数据智能存储管理方法与装置 - Google Patents
一种数据智能存储管理方法与装置 Download PDFInfo
- Publication number
- CN109783019B CN109783019B CN201811623251.XA CN201811623251A CN109783019B CN 109783019 B CN109783019 B CN 109783019B CN 201811623251 A CN201811623251 A CN 201811623251A CN 109783019 B CN109783019 B CN 109783019B
- Authority
- CN
- China
- Prior art keywords
- random
- writing
- write
- data
- storage medium
- 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
Abstract
本发明提供了一种数据智能存储管理方法与装置,包括IO写请求分类单元、IO随机写更新统计单元、冷热数据识别单元和执行单元;对输入的IO写请求分为IO顺序写和IO随机写;IO顺序写进入执行单元,执行IO写操作;IO随机写进入缓存队列,统计每个IO随机写在两个时间周期内的更新次数,分为四类,记为热数据、冷数据、冷热待定数据;当随机写队列所占缓存空间达到所分配缓存容量的阀值水位线,触发将缓存中的部分队列移出并写入存储介质的操作。本发明能提高冷热数据识别成功率,以及确保写入闪存介质物理块的数据具有相同或近似的更新频率,减少闪存介质垃圾回收过程的写放大效应,延长闪存介质使用寿命。
Description
技术领域
本发明属于数据固态存储领域,涉及到数据IO写请求的冷热智能识别与管理,具体涉及一种数据智能存储管理方法与装置。
背景技术
固态硬盘(SSD)由存储控制器和存储介质组成,如图1所示。固态存储的介质工作机理,表征0/1的介质状态转换是单向的,这决定了它不能在原地址采用覆盖写入的方式更新数据,而是必须写入另一个空闲物理页。同时,更新逻辑地址到物理地址的映射表,把原来物理页上包含的旧数据标记为无效。
操作系统通过逻辑地址块(LBA)访问固态存储的存储控制器,单位是 512B/1KB/4KB或者更大。存储控制器通过物理地址访问存储介质,单位是4KB 或8KB大小的页(page)。而存储介质的擦除操作是以块(block)为单位,块的大小是256或128个页大小(1024KB)。随着数据的持续写入以及非覆盖写入更新数据的方式,存储介质内可用的空间越来越小。一个块内包含有效页和无效页,无效页可以回收。存储控制器把块内所有页的数据读到缓存,擦除转化为空白块;再把有效数据写回存储介质。
上述过程,无效数据的读回浪费了控制器的处理能力和带宽。现在的固态硬盘支持Trim技术,其工作机理是操作系统删除文件的同时,将文件的逻辑地址通知存储控制器,使其知道这个地址的数据无效。控制器在进行块删除时,避免对该无效数据的复制,达到减少写放大的问题。但是,这个过程仍然存在有效数据的读回、再写入带来的写放大问题。如果块内数据在近似的时间内同时失效,则能完全避免写放大,从而提高存储介质带宽的利用效率,减少无效的写操作,提高固态硬盘的使用寿命。
为了减少写放大效应,现有技术根据最近最少使用页面策略对待写入数据进行排序,将活跃程度低的数据页从缓存移入闪存介质。这种方法至少在逻辑推理将产生冷热数据误判、最近最少使用并不代表其活跃程度就低,以及冷数据量少导致写入同一物理块的数据仍有不同的更新频率等问题。
发明内容
为了解决现有技术存在的缺陷,本发明提出一种数据存储管理方法与装置。本发明所述的数据存储管理方法是,对输入的IO写请求按类型区分为IO顺序写和IO随机写。IO顺序写进入执行单元,执行IO写操作。IO随机写进入缓存队列。统计每个IO随机写在至少两个时间周期内的更新次数。统计结果分为至少四类,分别是两个时间周期内都有更新、有且仅有当前时间周期内有更新、有且仅有上一个时间周期内有更新、两个时间周期内都无更新,分别记为第一、二、三、四类IO随机写,其中称第一类IO随机写为热数据,称第四类IO随机写为冷数据,称第二、三类IO随机写为冷热待定数据。当随机写队列所占缓存空间达到所分配缓存容量的阀值水位线,触发将缓存中的部分队列移出并写入存储介质的操作。移出的方法是,若第一、四类中任一类的IO随机写能写满存储介质的一个块,将其作为一个整体移出并写入存储介质空白块,其中优先将第四类数据移出;若第一类与第四类IO随机写不能写满存储介质的一个块,将全部的第一类IO随机写与部分的第二类IO随机写拼接成能写满存储介质一个块的组成,或者将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成,其中优先将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成移出。
本发明所述的数据存储管理装置,包括IO写请求分类单元、IO随机写更新统计单元、冷热数据识别单元和执行单元。IO写请求分类单元对输入的IO写请求按类型区分为IO顺序写和IO随机写。IO随机写更新统计单元,对每个IO随机写,统计其在至少两个时间周期内的更新次数。冷热数据判断单元根据上一个单元的统计结果,按下述规则识别IO随机写的冷热属性:统计结果至少分为四类,分别是两个时间周期内都有更新、有且仅有当前时间周期内有更新、有且仅有上一个时间周期内有更新、两个时间周期内都无更新,分别记为第一、二、三、四类IO随机写,其中称第一类IO随机写为热数据,称第四类IO随机写为冷数据,称第二、三类IO随机写为冷热待定数据。执行单元是当队列所占缓存空间达到缓存容量的阀值水位线,执行IO随机写移出和写入存储介质的操作。移出的方法是,若第一、四类中任一类的IO随机写能写满存储介质的一个块,将其作为一个整体移出并写入存储介质空白块,其中优先将第四类数据移出;若第一类与第四类IO随机写不能写满存储介质的一个块,将全部的第一类IO随机写与部分的第二类IO随机写拼接成能写满存储介质一个块的组成,或者将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成,其中优先将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成移出。
本发明具有实用、易实现的优点。通过本发明,能提高冷热数据识别成功率,以及确保写入闪存介质物理块的数据具有相同或近似的更新频率,减少闪存介质垃圾回收过程的写放大效应,延长闪存介质使用寿命。
本发明要解决的技术问题是闪存介质垃圾回收过程中存在的写放大效应。与现有技术相比,本发明技术方案创造性体现在:冷热数据的判定方法上,对更新进行了统计并作了平滑操作,以及从缓存移入闪存介质的数据选定方法。
本发明技术方案有益效果,能提高冷热数据识别成功率,以及确保写入闪存介质物理块的数据具有相同或近似的更新频率,减少闪存介质垃圾回收过程的写放大效应,延长闪存介质使用寿命。
附图说明
图1是固态硬盘的硬件结构图;
图2是本发明一种数据智能存储管理装置结构图;
图3是IO写请求分类方法;
图4是IO写请求更新统计方法;
图5是冷热数据判定规则;
图6是冷热数据写入闪存介质的方法;
具体实施方式
图1是本发明涉及到的固态硬盘硬件结构示意图,包括存储控制器和以阵列形式存在的存储介质。存储介质通常是非易失性闪存。存储控制器是一颗SoC 芯片,包括嵌入式处理器、SRAM、DDR控制器、FLASH/NVSRAM和通信接口等基本部件。本发明的数据存储方法是运行在嵌入式处理器的算法,装置则是保存在 FLASH/NVSRAM资源上的固件程序。
考察下表的计算机网络数据存取IO模型,IO请求包括读和写两类。其中IO 写又分为随机写和顺序写。顺序写是大容量的连续的数据写入,在时间上通常也是连续的。随机写的数据块小,通常不大于8KB,在时间上非连续。
*on-line transaction processing,在线交易。
顺序写的数据量大,在本发明中不对其进行缓存和冷热数据判断,这主要是基于以下两点考虑:一方面是缓存资源有限;另一方面,顺序写的数据能够覆盖整个的存储介质物理块(1024KB)。存储控制器对接收到的IO随机写进行区分,其中顺序写进入执行单元,随机写进入IO随机写更新统计单元,如图2、图3。
IO随机写更新统计单元是个缓存队列,数据存储在缓存资源内。对同一逻辑地址的IO随机写,统计其在两个时间周期内的更新次数。在本实施例,一个时间周期是24小时。在24小时内,统计IO随机写更新次数并记录,如图4所示。
对统计结果进行分析。统计结果分为四类,分别是两个时间周期内都有更新、有且仅有当前时间周期内有更新、有且仅有上一个时间周期内有更新、两个时间周期内都无更新,分别记为第一、二、三、四类IO随机写,其中称第一类IO随机写为热数据,称第四类IO随机写为冷数据,称第二、三类IO随机写为冷热待定数据,如图5所示。
缓存是有容量限制的。假定所有的IO随机写平均大小是4KB,则1G缓存容量可以存储256k个IO随机写。以95%的缓存容量作为阀值水位线。当随机写队列所占缓存空间达到所分配缓存容量的阀值水位线,触发将缓存中的部分队列移出并写入存储介质的操作。移出的方法是,若第一、四类中任一类的IO随机写能写满存储介质的一个块,即有256个IO随机写热数据,或有256个IO随机写冷数据,将其作为一个整体移出并写入存储介质空白块,其中优先将第四类数据移出;若第一类与第四类IO随机写不能写满存储介质的一个块,将全部的第一类IO随机写与部分的第二类IO随机写拼接成能写满存储介质一个块的组成,或者将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成。其中优先将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成移出。上述过程如图6所示。
Claims (2)
1.一种数据智能存储管理方法,其特征在于,包括:
对输入的IO写请求按类型区分为IO顺序写和IO随机写;
IO顺序写进入执行单元,执行IO写操作;IO随机写进入缓存队列;
统计每个IO随机写在至少两个时间周期内的更新次数,统计结果分为至少四类,分别是两个时间周期内都有更新、有且仅有当前时间周期内有更新、有且仅有上一个时间周期内有更新、两个时间周期内都无更新,并分别记为第一、二、三、四类IO随机写,其中称第一类IO随机写为热数据,称第四类IO随机写为冷数据,称第二、三类IO随机写为冷热待定数据;
当随机写队列所占缓存空间达到所分配缓存容量的阀值水位线时,触发将缓存中的部分队列移出并写入存储介质的操作;其中移出的方法为:
若第一、四类中任一类的IO随机写能写满存储介质的一个块,将其作为一个整体移出并写入存储介质空白块,其中优先将第四类数据移出;若第一类与第四类IO随机写不能写满存储介质的一个块,则将全部的第一类IO随机写与部分的第二类IO随机写拼接成能写满存储介质一个块的组成,或者将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成,其中优先将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成移出。
2.一种数据智能存储管理装置,其特征在于,包括:IO写请求分类单元、IO随机写更新统计单元、冷热数据识别单元和执行单元;
所述IO写请求分类单元对输入的IO写请求按类型区分为IO顺序写和IO随机写;
所述IO随机写更新统计单元,对每个IO随机写,统计其在至少两个时间周期内的更新次数;
所述冷热数据识别单元根据所述IO随机写更新统计单元的统计结果,识别IO随机写的冷热属性,识别规则为将统计结果至少分为四类,分别是两个时间周期内都有更新、有且仅有当前时间周期内有更新、有且仅有上一个时间周期内有更新、两个时间周期内都无更新,并分别记为第一、二、三、四类IO随机写,其中称第一类IO随机写为热数据,称第四类IO随机写为冷数据,称第二、三类IO随机写为冷热待定数据;
所述执行单元是当队列所占缓存空间达到缓存容量的阀值水位线时,执行IO随机写移出和写入存储介质的操作;其中移出方法为,若第一、四类中任一类的IO随机写能写满存储介质的一个块,将其作为一个整体移出并写入存储介质空白块,其中优先将第四类数据移出;若第一类与第四类IO随机写不能写满存储介质的一个块,将全部的第一类IO随机写与部分的第二类IO随机写拼接成能写满存储介质一个块的组成,或者将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成,其中优先将全部的第四类IO随机写与部分的第三类IO随机写拼接成能写满存储介质一个块的组成移出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623251.XA CN109783019B (zh) | 2018-12-28 | 2018-12-28 | 一种数据智能存储管理方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623251.XA CN109783019B (zh) | 2018-12-28 | 2018-12-28 | 一种数据智能存储管理方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783019A CN109783019A (zh) | 2019-05-21 |
CN109783019B true CN109783019B (zh) | 2022-08-19 |
Family
ID=66498632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811623251.XA Active CN109783019B (zh) | 2018-12-28 | 2018-12-28 | 一种数据智能存储管理方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783019B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413228B (zh) * | 2019-07-09 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、系统及电子设备和存储介质 |
CN110795396A (zh) * | 2019-10-24 | 2020-02-14 | 深圳市硅格半导体有限公司 | 一种冷热数据区分方法、系统及其存储介质 |
CN111309267B (zh) * | 2020-02-26 | 2023-10-03 | Oppo广东移动通信有限公司 | 存储空间的分配方法、装置、存储设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012109145A2 (en) * | 2011-02-11 | 2012-08-16 | Velobit, Inc. | Pre-cache similarity-based delta compression for use in a data storage system |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775216B2 (en) * | 2000-08-29 | 2004-08-10 | Zoran Corporation | Method and apparatus for restarting a write operation in a disk drive system |
US7154140B2 (en) * | 2002-06-21 | 2006-12-26 | Micron Technology, Inc. | Write once read only memory with large work function floating gates |
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
US8537613B2 (en) * | 2011-03-31 | 2013-09-17 | Sandisk Technologies Inc. | Multi-layer memory system |
US8909859B2 (en) * | 2012-03-01 | 2014-12-09 | HGST Netherlands B.V. | Implementing large block random write hot spare SSD for SMR RAID |
CN103577339B (zh) * | 2012-07-27 | 2018-01-30 | 深圳市腾讯计算机系统有限公司 | 一种数据存储方法及系统 |
US9098400B2 (en) * | 2012-10-31 | 2015-08-04 | International Business Machines Corporation | Dynamic tuning of internal parameters for solid-state disk based on workload access patterns |
US20140122774A1 (en) * | 2012-10-31 | 2014-05-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method for Managing Data of Solid State Storage with Data Attributes |
US9448924B2 (en) * | 2014-01-08 | 2016-09-20 | Netapp, Inc. | Flash optimized, log-structured layer of a file system |
CN104035751B (zh) * | 2014-06-20 | 2016-10-12 | 深圳市腾讯计算机系统有限公司 | 基于多图形处理器的数据并行处理方法及装置 |
US9632927B2 (en) * | 2014-09-25 | 2017-04-25 | International Business Machines Corporation | Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes |
CN104503710B (zh) * | 2015-01-23 | 2018-02-13 | 福州瑞芯微电子股份有限公司 | 一种提高闪存写入速度的方法和装置 |
CN104699424B (zh) * | 2015-03-26 | 2018-06-12 | 华中科技大学 | 一种基于页面热度的异构内存管理方法 |
CN104991743B (zh) * | 2015-07-02 | 2018-01-19 | 西安交通大学 | 应用于固态硬盘阻变存储器缓存的损耗均衡方法 |
CN107015763A (zh) * | 2017-03-03 | 2017-08-04 | 北京中存超为科技有限公司 | 混合存储系统中ssd管理方法及装置 |
CN108845957B (zh) * | 2018-03-30 | 2020-10-09 | 杭州电子科技大学 | 一种置换和回写自适应的缓冲区管理方法 |
CN108845770A (zh) * | 2018-06-22 | 2018-11-20 | 深圳忆联信息系统有限公司 | 降低ssd写放大的方法、装置及计算机设备 |
-
2018
- 2018-12-28 CN CN201811623251.XA patent/CN109783019B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012109145A2 (en) * | 2011-02-11 | 2012-08-16 | Velobit, Inc. | Pre-cache similarity-based delta compression for use in a data storage system |
Also Published As
Publication number | Publication date |
---|---|
CN109783019A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8225044B2 (en) | Storage system which utilizes two kinds of memory devices as its cache memory and method of controlling the storage system | |
CN105930282B (zh) | 一种用于nand flash的数据缓存方法 | |
US20130346672A1 (en) | Multi-Tiered Cache with Storage Medium Awareness | |
CN109783019B (zh) | 一种数据智能存储管理方法与装置 | |
CN107943719B (zh) | 一种基于请求分类的闪存转换层控制方法 | |
KR20120090965A (ko) | 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법 | |
US10936203B2 (en) | Memory storage device and system employing nonvolatile read/write buffers | |
CN111984188B (zh) | 混合内存数据的管理方法、装置及存储介质 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
CN111580754B (zh) | 一种写友好的闪存固态盘缓存管理方法 | |
US11138104B2 (en) | Selection of mass storage device streams for garbage collection based on logical saturation | |
CN108664217B (zh) | 一种降低固态盘存储系统写性能抖动的缓存方法及系统 | |
US11693570B2 (en) | Machine learning to improve caching efficiency in a storage system | |
CN105630699B (zh) | 一种使用mram的固态硬盘及读写缓存管理方法 | |
US20240020014A1 (en) | Method for Writing Data to Solid-State Drive | |
CN115203079A (zh) | 一种将数据写入固态硬盘的方法 | |
CN105138277A (zh) | 一种固态盘阵列的缓存管理方法 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
CN114185492A (zh) | 一种基于强化学习的固态硬盘垃圾回收算法 | |
Liu et al. | Page replacement algorithm based on counting bloom filter for NAND flash memory | |
CN116364148A (zh) | 一种面向分布式全闪存储系统的磨损均衡方法及系统 | |
US10503651B2 (en) | Media cache band cleaning | |
CN106205708A (zh) | 高速缓冲存储器装置 | |
EP4231131A1 (en) | Data storage method and device | |
US11494303B1 (en) | Data storage system with adaptive, memory-efficient cache flushing structure |
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 |