[发明专利]基于闪存的数据写入方法和装置有效
申请号: | 201410048077.6 | 申请日: | 2014-02-11 |
公开(公告)号: | CN104834477B | 公开(公告)日: | 2019-11-26 |
发明(设计)人: | 高剑林;王银虎;吴高峰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 贾允;肖丁<国际申请>=<国际公布>=< |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 写入 闪存 数据写入请求 聚合 待写入数据 写入请求 原始数据 数据量 物理块 空闲 匹配 接收原始数据 数据写入装置 擦除数据 写入数据 正整数倍 擦除 放大 保证 | ||
本发明提供了一种基于闪存的数据写入方法,所述方法包括:接收原始数据写入请求;根据所述原始数据写入请求对应的待写入数据的数据量聚合多个所述原始数据写入请求,使聚合的数据写入请求对应的待写入数据的数据量总量与块容量的正整数倍匹配;根据所述聚合的数据写入请求,在闪存中确定与所述匹配的块容量的倍数对应的数量的空闲物理块,将所述聚合的数据写入请求对应的待写入数据写入所述确定的空闲物理块。本发明提供的基于闪存的数据写入方法,写入数据与擦除数据都是以块为单位进行,保证了写入与擦除的一致,可有效避免写入放大问题。本发明还提供了一种基于闪存的数据写入装置。
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于闪存的数据写入方法和装置。
背景技术
闪存是一种广泛使用的存储介质,其中Nand Flash(Nand型闪存,一种非挥发性闪存)是一种新型闪存,以Nand型闪存制作的固态硬盘、存储卡等具有读写速度快、无振动的优点,广泛应用于军事、车载、工控、视频监控、电力、医疗、互联网等领域。
Nand型闪存的基本结构包括若干块,每个块又包括若干页。块的尺寸大于页的尺寸,以当前典型Nand型闪存为例,块尺寸一般为2M字节,而页尺寸一般为8K字节。
Nand型闪存可以重复写,但是重复写之前必须执行擦除操作,而对Nand型闪存的擦除操作会影响其使用寿命。其中,Nand型闪存的擦除是以块为单位的,而对Nand型闪存的读写通常以页为单位。如果对Nand型闪存的同一个地址重复写,需要该地址对应的块中的数据读出来,根据待写入的数据内容更新数据后,再执行擦除操作,然后再将更新后的数据写入擦除后的块中。这个过程导致非常慢的重复写速度,同时也带来了写入放大的问题。写入放大问题是指将待写入数据写入Nand型闪存中的过程中,写入的数据量,比待写入数据本身的数据量要多。
传统技术中为解决写入放大的问题,以Nand型闪存为存储介质的固态硬盘和存储卡设计方案引入了硬件映射层。硬件映射层将Nand型闪存的读写地址分为两种地址,物理地址和逻辑地址。用户触发的读写地址是逻辑地址,逻辑地址经过硬件映射层的转换,从逻辑地址转为物理地址,才真正执行读写。重复写同一个逻辑地址,经过硬件映射层的转换后,可以写到不同的物理地址,并将之前的物理地址对应的数据标记为无效数据,因此避免了擦除操作,可减轻写入放大问题。
但Nand型闪存经过多次读写操作后,Nand型闪存中的同一块中,有部分是有效数据,有部分是无效数据,空的块没有或很少,此时就需要进行垃圾回收。垃圾回收需要读出多个块内的有效数据,将多个块内的有效数据整合到Nand型闪存中预留的冗余空间中的块,然后将只有无效数据的块擦除,从而释放无效数据占用的块。但垃圾回收的过程引入了Nand型闪存内部的写操作,放大了写的次数,可能导致Nand型闪存的寿命缩短。而且预留的冗余空间导致用于用户存储数据的存储空间减小,而且冗余空间越大,越容易在用户存储空间满的情况下进行垃圾回收,写入放大问题更严重。
发明内容
基于此,有必要针对Nand型闪存存在写入放大的问题,提供一种基于闪存的数据写入方法和装置。
一种基于闪存的数据写入方法,所述方法包括:
接收原始数据写入请求;
根据所述原始数据写入请求对应的待写入数据的数据量聚合多个所述原始数据写入请求,使聚合的数据写入请求对应的待写入数据的数据量总量与块容量的正整数倍匹配;
根据所述聚合的数据写入请求,在Nand型闪存中确定与所述匹配的块容量的倍数对应的数量的空闲物理块,将所述聚合的数据写入请求对应的待写入数据写入所述确定的空闲物理块。
一种基于闪存的数据写入装置,所述装置包括:
数据写入请求接收模块,用于接收原始数据写入请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410048077.6/2.html,转载请声明来源钻瓜专利网。