CN108646977A - 一种ssd冷热数据判断的方法及垃圾回收方法 - Google Patents
一种ssd冷热数据判断的方法及垃圾回收方法 Download PDFInfo
- Publication number
- CN108646977A CN108646977A CN201810187323.4A CN201810187323A CN108646977A CN 108646977 A CN108646977 A CN 108646977A CN 201810187323 A CN201810187323 A CN 201810187323A CN 108646977 A CN108646977 A CN 108646977A
- Authority
- CN
- China
- Prior art keywords
- page
- temperature
- data
- cold
- temlp
- 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
- 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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种SSD冷热数据判断的方法及垃圾回收方法,其特征在于同时增加了页温度和块温度两级数据冷热判断,增加逻辑页温度表用于记录每个逻辑页的页温度值TemLP,所述页温度值由最近写访问次数决定;块温度值TemBlock由各个块各自所包含的页的页温度值TemLP决定,TemLP具体为有效页和无效页的页温度值的和决定。通过引入该方案,使用写访问频率作为数据冷热程度的判断标准,降低后续垃圾回收时冷数据页的无效迁移,提高垃圾回收的效率,减少写放大,延长NAND flash寿命。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种SSD冷热数据判断的方法及垃圾回收方法。
背景技术
由于NAND flash的固有特性,NAND flash的可擦写次数是有限的,SLC颗粒可擦写次数最多,TLC颗粒可擦写次数最少。SSD的使用寿命取决于NAND flash的使用寿命,为了提高SSD的使用寿命,需要用到磨损均衡策略,而磨损均衡的关键在于冷热数据分离,现行冷热数据分离都是根据HOST写请求数据量大小来判断,这种方法降低了***开销,但是无法有效进行数据的冷热分离,会造成大量无效垃圾回收GC操作。
使用写请求数据大小作为冷热数据阈值判断标准,可以区分部分数据,而且***开销小。缺点是数据写入之后,由于存储冷数据的block擦除次数相对较少,在GC过程中被作为数据迁移目标块使用,需要将冷数据重新迁移,增大写放大。
图1是现有冷热数据判断方法流程图,分开放置冷热数据,依据数据大小,设置数据的冷热程度,将温度相近的数据放在一起,降低垃圾回收的频率;但会增加后续垃圾回收过程中冷数据页的无效迁移。
发明内容
针对以上缺陷,本发明目的在于如何降低垃圾回收操作时冷数据页无效迁移的概率。
为了实现上述目的,本发明提供了一种SSD冷热数据判断的方法,其特征在于同时增加了页温度和块温度两级数据冷热判断,增加逻辑页温度表用于记录每个逻辑页的页温度值TemLP,所述页温度值由最近写访问次数决定;块温度值TemBlock由各个块各自所包含的页的页温度值TemLP决定,TemLP具体为有效页和无效页的页温度值的和决定,其中:有效页的温度就是TemLP,无效页的温度是过期前LP对应的温度值,空闲页的温度为0,sum是valid和invalid之和,valid是一个块中有效页总数,invalid是一个块中无效页总数,TemLP(i)是第i个页的温度,具体为:
所述的SSD冷热数据判断的方法,其特征在于所述逻辑页温度表包括每个逻辑页的温度项,每个温度项至少包括逻辑页编号page_ID、总写入次数Luc、最近写访问次数Tuc、最近写访问时间戳Lts和页温度值TemLP。
所述的SSD冷热数据判断的方法,其特征在于所述逻辑页温度表按如下方式进行数据更新:
当写请求A到达时,根据页序号A.page_ID判断当前逻辑页温度表是否存在该页的温度数据,如果不存在则直接向逻辑页温度表增加页序号A.page_ID的温度数据,A对应的逻辑页编号A.page_ID=A、A对应的总写入次数A.Luc=1、A对应的最近写访问次数A.Tuc、A对应最近写访问时间戳A.Lts=ct和页温度值A.TemLP=0,ct为当前***时间;如果已经存在则执行A.Tuc++,判断当前时间ct与A.Lts的差值是否小于等于更新阀值u,如果小于则A.Luc++,如果大于则设A.Luc=1,A.Lts=ct,A.TemLP=A.Luc。
一种SSD垃圾回收方法,其特征在于根据各个逻辑页温度值和块温度值进行数据冷热程度衡量,将页数据热度在预先设定的范围内页数据写入相同的数据块中,垃圾回收时将同样将有效的页数据热度在预先设定的范围内页数据搬移到相同的数据块中。
本发明有益效果:通过引入该方案,使用写访问频率作为数据冷热程度的判断标准,降低后续垃圾回收时冷数据页的无效迁移,提高垃圾回收的效率,减少写放大,延长NAND flash寿命。
附图说明
图1是现有冷热数据判断方法流程图;
图2是页温度表更新流程。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种将数据进行冷热分离的方法,减少后续GC次数。增加了“页温度”和“块温度”两级考虑,尽可能的将冷热数据分开放置和迁移,降低GC过程中冷数据的无效迁移,提高GC操作的效率,降低写放大,延长SSD的使用寿命。
为实现这一策略,需要维护一张逻辑页(Logical Page,LP)温度表,用于记录每个LP的温度。
表一:
字段 | 含义 |
Page_ID | LP逻辑页编号 |
Tuc | 总写入次数 |
Luc | 最近写访问次数 |
Lts | 最近写访问时间戳 |
TemLP | LP温度值 |
当接收到写命令时,按照下图流程更新LP温度表。其中,ct是***的当前时间,u是用于界定是否是最近访问的时间间隔门限,当本次访问时间距离上次访问时间大于u时,将最近访问次数置1.
TemLP由最近写访问次数决定。
一个block中有三种页温度,有效页的温度就是TemLP,无效页的温度是过期前LP对应的温度值,空闲页的温度为0.为了更好地考虑block中数据情况,将数据更准确地放到温度相近的block中,使用block温度TemBlock来表示一个block的访问频率,
TemBlock的值由有效页温度和无效页温度计算得到,温度相近的页失效速率也相近,以便于减少回收块时的数据迁移,温度越高的块越容易失效。其中sum是valid和invalid之和,valid是一个块中有效页总数,invalid是一个块中无效页总数,TemLP(i)是第i个页的温度。
图2是页温度表更新流程,逻辑页温度表按如下方式进行数据更新:
当写请求A到达时,根据页序号A.page_ID判断当前逻辑页温度表是否存在该页的温度数据,如果不存在则直接向逻辑页温度表增加页序号A.page_ID的温度数据,A对应的逻辑页编号A.page_ID=A、A对应的总写入次数A.Luc=1、A对应的最近写访问次数A.Tuc、A对应最近写访问时间戳A.Lts=ct和页温度值
A.TemLP=0,ct为当前***时间;如果已经存在则执行A.Tuc++,判断当前时间ct与A.Lts的差值是否小于等于更新阀值u,如果小于则A.Luc++,如果大于则设A.Luc=1,A.Lts=ct,A.TemLP=A.Luc。
计算“页温度”和“块温度”,将访问频率相近的数据放到同一个block;
基于“页温度”和“块温度”基础上,使用copy-back命令进行同一plane中的数据迁移。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (4)
1.一种SSD冷热数据判断的方法,其特征在于同时增加了页温度和块温度两级数据冷热判断,增加逻辑页温度表用于记录每个逻辑页的页温度值TemLP,所述页温度值由最近写访问次数决定;块温度值TemBlock由各个块各自所包含的页的页温度值TemLP决定,TemLP具体为有效页和无效页的页温度值的和决定,其中:有效页的温度就是TemLP,无效页的温度是过期前LP对应的温度值,空闲页的温度为0,sum是valid和invalid之和,valid是一个块中有效页总数,invalid是一个块中无效页总数,TemLP(i)是第i个页的温度,具体为:
2.根据权利要求1所述的SSD冷热数据判断的方法,其特征在于所述逻辑页温度表包括每个逻辑页的温度项,每个温度项至少包括逻辑页编号page_ID、总写入次数Luc、最近写访问次数Tuc、最近写访问时间戳Lts和页温度值TemLP。
3.根据权利要求2所述的SSD冷热数据判断的方法,其特征在于所述逻辑页温度表按如下方式进行数据更新:
当写请求A到达时,根据页序号A.page_ID判断当前逻辑页温度表是否存在该页的温度数据,如果不存在则直接向逻辑页温度表增加页序号A.page_ID的温度数据,A对应的逻辑页编号A.page_ID=A、A对应的总写入次数A.Luc=1、A对应的最近写访问次数A.Tuc、A对应最近写访问时间戳A.Lts=ct和页温度值A.TemLP=0,ct为当前***时间;如果已经存在则执行A.Tuc++,判断当前时间ct与A.Lts的差值是否小于等于更新阀值u,如果小于则A.Luc++,如果大于则设A.Luc=1,A.Lts=ct,A.TemLP=A.Luc。
4.一种SSD垃圾回收方法,其特征在于根据权利要求1至3任意一项所述SSD冷热数据判断的方法获得各个逻辑页温度值和块温度值进行数据冷热程度衡量,将页数据热度在预先设定的范围内页数据写入相同的数据块中,垃圾回收时将同样将有效的页数据热度在预先设定的范围内页数据搬移到相同的数据块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810187323.4A CN108646977B (zh) | 2018-03-07 | 2018-03-07 | 一种ssd冷热数据判断的方法及垃圾回收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810187323.4A CN108646977B (zh) | 2018-03-07 | 2018-03-07 | 一种ssd冷热数据判断的方法及垃圾回收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108646977A true CN108646977A (zh) | 2018-10-12 |
CN108646977B CN108646977B (zh) | 2021-02-05 |
Family
ID=63744282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810187323.4A Active CN108646977B (zh) | 2018-03-07 | 2018-03-07 | 一种ssd冷热数据判断的方法及垃圾回收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108646977B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026673A (zh) * | 2019-11-19 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种nand flash垃圾回收动态优化方法 |
CN111414132A (zh) * | 2019-01-07 | 2020-07-14 | 爱思开海力士有限公司 | 带异构存储器的主存储设备、计算机***及数据管理方法 |
CN112988612A (zh) * | 2019-12-18 | 2021-06-18 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN113010091A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
CN114281251A (zh) * | 2021-12-10 | 2022-04-05 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
WO2022088374A1 (zh) * | 2020-10-30 | 2022-05-05 | 北京泽石科技有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010000206A1 (en) * | 2008-07-03 | 2010-01-07 | Silicon Motion, Inc. | Data storing methods and apparatus thereof |
US8161241B2 (en) * | 2010-01-12 | 2012-04-17 | International Business Machines Corporation | Temperature-aware buffered caching for solid state storage |
CN107102954A (zh) * | 2017-04-27 | 2017-08-29 | 华中科技大学 | 一种基于失效概率的固态存储分级管理方法及*** |
-
2018
- 2018-03-07 CN CN201810187323.4A patent/CN108646977B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010000206A1 (en) * | 2008-07-03 | 2010-01-07 | Silicon Motion, Inc. | Data storing methods and apparatus thereof |
US8161241B2 (en) * | 2010-01-12 | 2012-04-17 | International Business Machines Corporation | Temperature-aware buffered caching for solid state storage |
CN107102954A (zh) * | 2017-04-27 | 2017-08-29 | 华中科技大学 | 一种基于失效概率的固态存储分级管理方法及*** |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414132A (zh) * | 2019-01-07 | 2020-07-14 | 爱思开海力士有限公司 | 带异构存储器的主存储设备、计算机***及数据管理方法 |
CN111414132B (zh) * | 2019-01-07 | 2024-03-12 | 爱思开海力士有限公司 | 带异构存储器的主存储设备、计算机***及数据管理方法 |
CN111026673A (zh) * | 2019-11-19 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种nand flash垃圾回收动态优化方法 |
CN111026673B (zh) * | 2019-11-19 | 2023-05-05 | 中国航空工业集团公司西安航空计算技术研究所 | 一种nand flash垃圾回收动态优化方法 |
CN112988612A (zh) * | 2019-12-18 | 2021-06-18 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN112988612B (zh) * | 2019-12-18 | 2024-03-19 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN113010091A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
CN113010091B (zh) * | 2019-12-20 | 2023-06-16 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
WO2022088374A1 (zh) * | 2020-10-30 | 2022-05-05 | 北京泽石科技有限公司 | 数据处理方法及装置 |
CN114281251A (zh) * | 2021-12-10 | 2022-04-05 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
CN114281251B (zh) * | 2021-12-10 | 2023-08-11 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108646977B (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108646977A (zh) | 一种ssd冷热数据判断的方法及垃圾回收方法 | |
TWI489373B (zh) | 資料儲存裝置和快閃記憶體之區塊管理方法 | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
CN106815152B (zh) | 一种优化页级闪存转换层的方法 | |
CN106874213B (zh) | 一种融合多种机器学习算法的固态硬盘热数据识别方法 | |
CN108762664B (zh) | 一种固态硬盘页级缓存区管理方法 | |
US20170139825A1 (en) | Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach | |
CN102831072B (zh) | 闪存设备及其管理方法、数据读写方法及读写装置 | |
CN111708713B (zh) | 一种固态硬盘智能垃圾回收与调度方法 | |
CN105404673A (zh) | 基于nvram的高效文件***构建方法 | |
TW201917581A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 | |
TWI726314B (zh) | 資料儲存裝置與資料處理方法 | |
CN101901189A (zh) | 更新用户数据的方法以及恢复用户数据的方法 | |
CN103246609A (zh) | 一种闪存存储设备中冷热数据区分管理的方法及装置 | |
TW201110129A (en) | Method for accessing a flash memory and associated memory device | |
TW201234176A (en) | Memory management method, memory controller and memory storage apparatus | |
CN111414138A (zh) | 一种固态硬盘磨损均衡方法和装置 | |
CN109284233A (zh) | 一种存储***的垃圾回收方法及相关装置 | |
CN107102954A (zh) | 一种基于失效概率的固态存储分级管理方法及*** | |
CN107391035B (zh) | 一种通过编程错误感知降低固态盘磨损的方法 | |
CN115269451A (zh) | 闪存垃圾回收方法、装置及可读存储介质 | |
CN109815166B (zh) | 一种存储数据的动态回收处理方法及存储装置 | |
CN111078137B (zh) | 清理存储空间的方法 | |
CN111124295B (zh) | 一种基于三元影响因子的农业数据存储处理***及方法 | |
US20230087470A1 (en) | Memory system and control method |
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 |