CN108563586A - 一种分离固态盘中垃圾回收数据与用户数据的方法 - Google Patents
一种分离固态盘中垃圾回收数据与用户数据的方法 Download PDFInfo
- Publication number
- CN108563586A CN108563586A CN201810325906.9A CN201810325906A CN108563586A CN 108563586 A CN108563586 A CN 108563586A CN 201810325906 A CN201810325906 A CN 201810325906A CN 108563586 A CN108563586 A CN 108563586A
- Authority
- CN
- China
- Prior art keywords
- block
- user
- data
- attribute value
- user data
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分离固态盘中垃圾回收数据与用户数据的方法,包括:在固态盘中分配一个活动块作为存储垃圾回收数据的专用块,并设置专用块的热属性值为0;在固态盘中分配N个活动块作为存储用户数据的用户块,并依次设置N个用户块的热属性值为1~N;写请求到达时,若写请求由垃圾回收操作产生,则由专用块处理垃圾回收数据;若写请求由用户写请求产生,则根据用户数据的冷热程度判定用户数据所对应的热属性值,并由具有相同热属性值的用户块处理用户数据。本发明实现了垃圾回收数据和用户数据的分离,有效减少了垃圾回收引起的写操作数量,进而有效提升了NAND型固态盘的寿命和性能。
Description
技术领域
本发明属于计算机存储领域,更具体地,涉及一种分离固态盘中垃圾回收数据与用户数据的方法。
背景技术
在NAND型固态盘中,读写操作的基本单位是页,擦除操作的基本单位是块。NAND型固态盘不支持定点更新,当需要更新一个页面中的数据时,把新数据写到另外一个空闲页面,包含旧数据的页面被标记为无效。当空闲页数目小于一个预定义的阈值时,执行垃圾回收操作。回收一个块时,首先把该块中有效页的数据迁移出来,写到其他块中,然后擦除此块,释放空间。因此,垃圾回收会引起写放大问题,并且由于固态盘并行度有限,用户的写请求和垃圾回收引起的写操作请求会严重地相互干扰,进而影响固态盘的性能。
现有的NAND型固态盘的请求处理方法,在处理垃圾回收写请求和用户写请求时,对要写入介质的数据进行统一存储。研究表明,在垃圾回收过程中需要迁移的有效页数据再次更新的几率比较小,所以与用户写入的用户数据相比,垃圾回收数据具有冷属性。将垃圾回收数据和用户数据统一存储,会导致垃圾回收数据被频繁地迁移,对NAND型固态盘的寿命和性能产生很大的影响。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种分离固态盘中垃圾回收数据与用户数据的方法,其目的在于将垃圾回收请求需要写入的垃圾回收数据和用户写请求需要写入的用户数据分离开来并分别存储,从而减少垃圾回收引起的写操作数量,进而提升NAND型固态盘的寿命和性能。垃圾回收数据为垃圾回收操作中需要迁移的有效数据。
为实现上述目的,本发明提供了一种分离固态盘中垃圾回收数据与用户数据的方法,包括:
(1)在固态盘中分配一个活动块作为专用块,用于存储垃圾回收数据,并设置所述专用块的热属性值为0;
(2)在固态盘中分配N个活动块作为用户块,用于根据用户数据的冷热程度存储用户数据,并依次设置N个用户块的热属性值为1~N;用户数据为用户写请求中需要写入介质的数据,N为大于或等于1的正整数;
(3)当写请求到达时,判断写请求是由垃圾回收操作产生,还是由用户写请求产生,若写请求由垃圾回收操作产生,则转入步骤(4);否则,转入步骤(5);
(4)若专用块中空闲页数量为0,则将专用块设置为非活动块,并重新分配一个活动块作为专用块,设置新分配的专用块的热属性值为0,将垃圾回收数据写入新分配的专用块,操作结束;否则,直接将垃圾回收数据写入专用块,操作结束;
(5)根据用户数据的冷热程度判定用户数据所对应的热属性值i,1≤i≤N;若热属性值为i的用户块中空闲页数量为0,则将对应的用户块设置为非活动块,并重新分配一个活动块作为用户块,设置新分配的用户块的热属性值为i,然后将用户数据写入新分配的用户块,操作结束;否则,直接将用户数据写入热属性值为i的用户块,操作结束。
进一步地,N的取值为1,因此,步骤(2)中需要分配1个活动块作为用户块,且所设置的该用户块的热属性值为1;并且,步骤(5)中,用户数据所对应的热属性值为1。当固态盘所存储的用户数据没有明显的冷热区分时,该方法能快速、高效地实现其中垃圾回收数据与用户数据的分离。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的分离固态盘中垃圾回收数据和用户数据的方法,分配一个活动块作为专用块,用于存储垃圾回收数据,并分配多个活动块作为用户块,用于根据用户数据的冷热程度存储用户数据,实现了垃圾回收数据和用户数据的分离,从而充分利用了垃圾回收数据相对于用户数据具有冷属性的特点,避免了垃圾回收数据未被更新就被频繁迁移,有效减少了垃圾回收引起的写操作数量,因此,能够有效提升NAND型固态盘的寿命和性能。
(2)本发明所提供的分离固态盘中垃圾回收数据和用户数据的方法,在其优选方案里,对于要写入介质的用户数据,会根据用户数据的冷热程度判定用户数据所对应的热属性值,并将用户数据存储到具有相同热属性值的用户块中,实现了冷热数据的分离,从而有效减少了垃圾回收引起的写操作数量,进一步提升了NAND型固态盘的寿命和性能。
附图说明
图1为本发明所提供的分离固态盘中垃圾回收数据和用户数据的方法示意图;
图2为本发明第一实施例提供的分离固态盘中垃圾回收数据和用户数据的方法示意图;
图3为本发明第二实施例提供的分离固态盘中垃圾回收数据和用户数据的方法示意图;
图4为本发明第三实施例提供的分离固态盘中垃圾回收数据和用户数据的方法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供的分离固态盘中垃圾回收数据和用户数据的方法,如图1所示,包括如下步骤:
(1)在固态盘中分配一个活动块作为专用块,用于存储垃圾回收数据,并设置所述专用块的热属性值为0;垃圾回收数据为垃圾回收操作中需要迁移的有效数据;
(2)在固态盘中分配N个活动块作为用户块,用于根据用户数据的冷热程度存储用户数据,并依次设置N个用户块的热属性值为1~N;用户数据为用户写请求中需要写入介质的数据,N为大于或等于1的正整数;
(3)当写请求到达时,判断写请求是由垃圾回收操作产生,还是由用户写请求产生,若写请求由垃圾回收操作产生,则转入步骤(4);否则,转入步骤(5);
(4)若专用块中空闲页数量为0,则将专用块设置为非活动块,并重新分配一个活动块作为专用块,设置新分配的专用块的热属性值为0,将垃圾回收数据写入新分配的专用块,操作结束;否则,直接将垃圾回收数据写入专用块,操作结束;
(5)根据用户数据的冷热程度判定用户数据所对应的热属性值i,1≤i≤N;若热属性值为i的用户块中空闲页数量为0,则将对应的用户块设置为非活动块,并重新分配一个活动块作为用户块,设置新分配的用户块的热属性值为i,然后将用户数据写入新分配的用户块,操作结束;否则,直接将用户数据写入热属性值为i的用户块,操作结束。
如图2所示,在本发明的第一实施例中,对于用户数据,不区分其冷热程度,在任一时刻,活动的用户块的数量为1,因此,只需要为每个闪存芯片维护两个活动块:一个为存储垃圾回收数据的专用块,另一个为存储用户数据的用户块。当一个写请求到达时,闪存转换层首先判断该请求是否由垃圾回收产生。如果是,则使用专用块处理垃圾回收引起的写操作,否则使用用户块处理用户写请求。
把分离垃圾回收数据和用户数据的方法应用到不区分冷数据和热数据的固态盘中的成本是很低的。每个闪存芯片仅一个额外的活动块标识符需要记录。固态盘中闪存芯片的数量是有限的,几百字节的内存空间用来记录这些标识符是足够的。固态盘的固件(闪存转换层)只需做少量更改就可以区分垃圾回收导致的写操作和用户写操作,并且分开处理这些写请求。
如图3所示,在本发明的第二实施例中,将用户数据分为冷数据和热数据,在一个最近时间窗口内(例如最近一千次写操作),已经被更新两次或两次以上的数据被视为热数据,其余的数据被视为冷数据。在任一时刻,活动的用户块数量为2,因此,每个闪存芯片需要维护三个活动块:一个为存储垃圾回收数据的专用块,另外两个为存储用户数据的用户块,其中,专用块的热属性值为0,两个用户块的热属性值分别为1和2。
当一个写请求到达时,判断待写入的数据是垃圾回收数据还是用户数据,若为垃圾回收数据,则由专用块处理;若为用户数据且为冷数据,则由热属性值为1的用户块处理;若为用户数据且为热数据,则由热属性值为2的用户块处理。
如图4所示,在本发明的第三实施例中,将用户数据依据其冷热程度分为15个层次,在任一时刻,活动的用户块的数量为15,因此,每个闪存芯片需要维护16个活动块:一个为存储垃圾回收数据的专用块,另外15个为存储用户数据的用户块,其中,专用块的热属性值为0,用户块的热属性值为1~15,用户块的热属性值越高,其存储的用户数据越热。
当一个写请求到达时,判断待写入的数据是垃圾回收数据还是用户数据,若为垃圾回收数据,热属性值为i,则把热属性值设置为0,由专用块处理;若为用户数据且是新增数据,热属性值设置为8,并由具有相同热属性值的用户块处理;若为用户数据且不是新增数据,把原热属性值i增加1,并由热属性值为i+1的用户块处理。
在上述三个实施例中,专用块或者用户块在处理待写入的数据时,若块中的空闲页数量为0,则将当前的专用块或者用户块设置为非活动块,并重新分配一个活动块并设置新分配的活动块的热属性值与对应的块相同,然后利用新分配的活动块处理待写入的数据。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种分离固态盘中垃圾回收数据与用户数据的方法,其特征在于,包括如下步骤:
(1)在固态盘中分配一个活动块作为专用块,用于存储垃圾回收数据,并设置所述专用块的热属性值为0;所述垃圾回收数据为垃圾回收操作中需要迁移的有效数据;
(2)在固态盘中分配N个活动块作为用户块,用于根据用户数据的冷热程度存储用户数据,并依次设置N个用户块的热属性值为1~N;所述用户数据为用户写请求中需要写入介质的数据,N为大于或等于1的正整数;
(3)当写请求到达时,判断写请求是由垃圾回收操作产生,还是由用户写请求产生,若写请求由垃圾回收操作产生,则转入步骤(4);否则,转入步骤(5);
(4)若所述专用块中空闲页数量为0,则将所述专用块设置为非活动块,并重新分配一个活动块作为专用块,设置新分配的专用块的热属性值为0,将垃圾回收数据写入新分配的专用块,操作结束;否则,直接将垃圾回收数据写入所述专用块,操作结束;
(5)根据用户数据的冷热程度判定用户数据所对应的热属性值i,1≤i≤N;若热属性值为i的用户块中空闲页数量为0,则将对应的用户块设置为非活动块,并重新分配一个活动块作为用户块,设置新分配的用户块的热属性值为i,然后将用户数据写入新分配的用户块,操作结束;否则,直接将用户数据写入热属性值为i的用户块,操作结束。
2.如权利要求1所述的分离固态盘中垃圾回收数据与用户数据的方法,其特征在于,N的取值为1,且所述步骤(5)中,用户数据所对应的热属性值为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810325906.9A CN108563586B (zh) | 2018-04-12 | 2018-04-12 | 一种分离固态盘中垃圾回收数据与用户数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810325906.9A CN108563586B (zh) | 2018-04-12 | 2018-04-12 | 一种分离固态盘中垃圾回收数据与用户数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108563586A true CN108563586A (zh) | 2018-09-21 |
CN108563586B CN108563586B (zh) | 2021-11-02 |
Family
ID=63534857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810325906.9A Active CN108563586B (zh) | 2018-04-12 | 2018-04-12 | 一种分离固态盘中垃圾回收数据与用户数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108563586B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376094A (zh) * | 2018-09-27 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种存储系统中垃圾回收冷热数据迁移的方法 |
CN111324303A (zh) * | 2020-01-21 | 2020-06-23 | 深圳忆联信息系统有限公司 | Ssd垃圾回收方法、装置、计算机设备及存储介质 |
CN111352858A (zh) * | 2018-12-21 | 2020-06-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627373A (zh) * | 2006-12-20 | 2010-01-13 | 诺基亚公司 | 通过预擦除机制的存储器设备性能增强 |
CN102163175A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102222046A (zh) * | 2011-06-09 | 2011-10-19 | 清华大学 | 一种磨损均衡方法及装置 |
CN102473135A (zh) * | 2009-07-29 | 2012-05-23 | 国际商业机器公司 | 存储设备的写入擦除耐久寿命 |
CN102511044A (zh) * | 2011-09-06 | 2012-06-20 | 华为技术有限公司 | 一种数据删除方法及装置 |
CN103136116A (zh) * | 2011-12-05 | 2013-06-05 | 财团法人工业技术研究院 | 存储器存储系统及其中控装置、管理方法与断电恢复方法 |
CN104933153A (zh) * | 2015-06-24 | 2015-09-23 | 华中科技大学 | 一种基于协作的固态盘存储系统性能提高方法 |
US20160357480A1 (en) * | 2015-06-05 | 2016-12-08 | SK Hynix Inc. | Memory system and operating method thereof |
CN106708744A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储系统和存储系统的操作方法 |
CN107015917A (zh) * | 2015-12-18 | 2017-08-04 | 三星电子株式会社 | 储存装置和其读取回收方法 |
US20180004656A1 (en) * | 2016-06-29 | 2018-01-04 | HGST Netherlands B.V. | Efficient Management of Paged Translation Maps In Memory and Flash |
-
2018
- 2018-04-12 CN CN201810325906.9A patent/CN108563586B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627373A (zh) * | 2006-12-20 | 2010-01-13 | 诺基亚公司 | 通过预擦除机制的存储器设备性能增强 |
CN102473135A (zh) * | 2009-07-29 | 2012-05-23 | 国际商业机器公司 | 存储设备的写入擦除耐久寿命 |
CN102163175A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102222046A (zh) * | 2011-06-09 | 2011-10-19 | 清华大学 | 一种磨损均衡方法及装置 |
CN102511044A (zh) * | 2011-09-06 | 2012-06-20 | 华为技术有限公司 | 一种数据删除方法及装置 |
CN103136116A (zh) * | 2011-12-05 | 2013-06-05 | 财团法人工业技术研究院 | 存储器存储系统及其中控装置、管理方法与断电恢复方法 |
US20160357480A1 (en) * | 2015-06-05 | 2016-12-08 | SK Hynix Inc. | Memory system and operating method thereof |
CN106250052A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN104933153A (zh) * | 2015-06-24 | 2015-09-23 | 华中科技大学 | 一种基于协作的固态盘存储系统性能提高方法 |
CN106708744A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储系统和存储系统的操作方法 |
CN107015917A (zh) * | 2015-12-18 | 2017-08-04 | 三星电子株式会社 | 储存装置和其读取回收方法 |
US20180004656A1 (en) * | 2016-06-29 | 2018-01-04 | HGST Netherlands B.V. | Efficient Management of Paged Translation Maps In Memory and Flash |
Non-Patent Citations (1)
Title |
---|
马骏等: "一种基于热数据识别技术的UBIFS优化方案", 《计算机科学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376094A (zh) * | 2018-09-27 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种存储系统中垃圾回收冷热数据迁移的方法 |
CN111352858A (zh) * | 2018-12-21 | 2020-06-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111352858B (zh) * | 2018-12-21 | 2023-04-14 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111324303A (zh) * | 2020-01-21 | 2020-06-23 | 深圳忆联信息系统有限公司 | Ssd垃圾回收方法、装置、计算机设备及存储介质 |
CN111324303B (zh) * | 2020-01-21 | 2023-07-04 | 深圳忆联信息系统有限公司 | Ssd垃圾回收方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108563586B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783020B (zh) | 一种基于ssd-smr混合键值存储系统的垃圾回收方法 | |
KR101257691B1 (ko) | 메모리 컨트롤러 및 이의 데이터 관리방법 | |
CN1295591C (zh) | 用于管理存储单元中数据的方法和系统 | |
CN106548789A (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
CN112346666B (zh) | 基于ocssd的键值存储系统的写、块粒度压缩合并方法和系统 | |
CN104346357A (zh) | 一种嵌入式终端的文件存取方法及系统 | |
CN106708427A (zh) | 一种适用于键值对数据的存储方法 | |
US20060010290A1 (en) | Logical disk management method and apparatus | |
CN111026329B (zh) | 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法 | |
US20100082537A1 (en) | File system for storage device which uses different cluster sizes | |
CN105138286A (zh) | 一种在磁盘文件系统中混合利用ssd和smr硬盘的方法 | |
CN102511044A (zh) | 一种数据删除方法及装置 | |
CN103455435A (zh) | 数据写入方法及装置 | |
CN107015763A (zh) | 混合存储系统中ssd管理方法及装置 | |
US10754549B2 (en) | Append only streams for storing data on a solid state device | |
CN108089825B (zh) | 一种基于分布式集群的存储系统 | |
CN110347613B (zh) | 多租户固态盘中实现raid的方法、控制器及多租户固态盘 | |
CN108563586A (zh) | 一种分离固态盘中垃圾回收数据与用户数据的方法 | |
WO2021082422A1 (zh) | 一种存储系统空间回收的兼容处理方法、系统及设备 | |
CN110968269A (zh) | 基于scm与ssd的键值存储系统及读写请求处理方法 | |
CN109240939A (zh) | 一种快速处理固态硬盘trim的方法 | |
CN102902709A (zh) | 一种固定空间分配的文件存储系统及实现方法 | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
Ma et al. | Alleviating hot data write back effect for shingled magnetic recording storage systems | |
CN111078143B (zh) | 基于段映射进行数据布局和调度的混合存储方法及系统 |
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 |