[发明专利]数据写入方法及装置在审
申请号: | 201310386086.1 | 申请日: | 2013-08-29 |
公开(公告)号: | CN103455435A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 周猛;张颇;王斐 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 写入 方法 装置 | ||
技术领域
本发明涉及数据存储领域,尤其涉及一种数据写入方法及装置。
背景技术
一些存储设备例如固态存储设备(Solid State Drive,简称SSD)和缓存(Cache)可以利用闪存(Flash)芯片作为数据存储的介质,可以是一种非易失性闪存,例如:与非门闪存(Nand Flash)和与或门闪存(Nor Flash)等类型的芯片。目前比较常见的以Nand Flash为存储介质的居多。其中,每个片选(CE)包含8192个块(Block),每个块包含128或64个页(Page),块是Nand Flash的最小擦除(Erase)单元,页是Nand Flash的最小读写单元,每个页大小为4K字节(Byte)。
对于机械硬盘来说,硬盘可以直接用磁头将对应的区域磁化为“0”或者“1”,而Nand Flash的物理特性决定了以Nand Flash为存储介质的存储设备在写入目标数据之前,必须执行擦除操作(Erase before Overwrite)。若需要向某个块中写入目标数据,即使只更改1位(bit)也必须先对该块整个进行擦除操作,这种先擦后写导致了写放大。写放大对存储设备的性能造成很大的影响,尤其是在小输入/输出(I/O)情况下,存储设备的写特性效率低。
为了降低写放大的影响,SSD可以定期进行垃圾回收(Garbage Collection,简称GC),缓存可以定期启动淘汰机制。垃圾回收过程的一个例子为:假设SSD包括Block1和Block3,其中,Block1被写入数据、Block3未被写入数据,若需要修改Block1中的原有数据,则需要将Block1中原有的有效数据搬移至SSD的其他Block例如Block3,再擦除Block1。若SSD初始预留了部分块作为冗余空间(free space)使用,且SSD并不告知操作系统,那么在目标数据写入时,SSD可以将该目标数据写入到全新的块中并将原有数据所占用的页标记为“Garbage”(可以回收再利用)。但是,由于可用冗余空间随着SSD中写入目标数据的增加而减少,直至最终耗尽,继而需要SSD定期回收,即将未被标记为“Garbage”的无效页复制到SSD的缓存并集中起来重新写入一个新的擦除过的块,再将全部页都被标记为“Garbage”的块进行擦除使之变成可用空白块,进而实现循环利用。该过程为垃圾回收过程,虽然垃圾回收降低了写放大对SSD造成的影响,但是写放大仍然存在,而且垃圾回收的时机和频率可能会对主机的性能稳定性和I/O延时造成影响。如何提升垃圾回收的效率是目前SSD亟待解决的问题。
目前可以采用两种方法提升垃圾回收的效率,第一种方法是可以通过增加冗余空间的比例来提升垃圾回收效率,例如Intel X25-E系列企业的SSD拥有超过20%的冗余空间,需要进行垃圾回收的块上标记为“Garbage”的无效页,随着冗余空间的增加而增加,只需要搬移少量页即可回收该块,进而满足实际使用的需求。举例而言,若Block1拥有3.125%的冗余空间,Block2拥有96.875%的冗余空间,则Block1搬移64-2=62个页才回收两个空白页,而Block2仅搬移64-62=2个页就回收62个空白页。该方法存在以牺牲存储容量为前提的问题,增加的冗余空间实际上是SSD容量的损失。另一种方法是可以通过分梯度进行垃圾回收,即根据当前可用于冗余空间的块的数量确定垃圾回收力度,换言之,当可用于冗余空间的块较多时,例如SSD全容量没有用完时,垃圾回收几乎不启动,以此来降低垃圾回收力度进而降低垃圾回收对SSD业务的影响。该方法存在垃圾回收难以一直保持在较低力度的问题,若持续有业务写入,垃圾回收保持在较低力度对SSD业务的影响会增加。
综上所述,现有技术在不影响SSD性能如不增加冗余空间的情况下,垃圾回收过程中数据清理的效率低。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何提升数据清理效率,降低数据清理对于系统业务的影响。
解决方案
为了解决上述技术问题,在第一方面,本发明提出了一种数据写入方法,包括:
在有目标数据需要写入的情况下,确定所述目标数据对应的关联数据块,所述关联数据块的原有数据与所述目标数据具有关联关系;
将所述目标数据写入所述关联数据块的空白页中。
结合第一方面,在第一种可能的实现方式中,所述确定所述目标数据对应的关联数据块,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310386086.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置