将数据写入存储设备的方法、装置及存储设备的制造方法

文档序号:9471081阅读:431来源:国知局
将数据写入存储设备的方法、装置及存储设备的制造方法
【技术领域】
[0001]本发明涉及固态存储设备(Solid Storage Device, SSD),更具体地,本发明涉及将数据写入固态存储设备的方法、装置以及实现了该方法的存储设备。
【背景技术】
[0002]同机械式硬盘相类似,固态存储设备也是用于计算机系统的大容量、非易失性存储设备。固态存储设备一般以闪存(Flash)作为存储介质。高性能的固态存储设备被用于高性能计算机。
[0003]在使用闪存的存储设备中,一般将数据的存储空间组织为块和或页,在每一存储块中可包括多个页。可对数据以页为单位进行写入操作。但当进行数据更新时,即使更新的是单一页的数据,一般也需要先擦除整个块,再将块中原有的数据以及更新的数据写入块中的每一页。为提高更新操作的性能,可选择存储设备中空闲的块来承载新写入的数据,以推后擦除操作的发生。当空闲块被耗尽或者其他一些条件下,实施垃圾回收操作来得到空闲块。
[0004]闪存块还具有有限的擦除次数。为延长使用闪存的存储设备的寿命,采用擦除均衡技术来将闪存块的磨损分散在整个闪存设备的多个或全部闪存块中。
[0005]垃圾回收和擦除均衡会增加对闪存块的擦除次数,这被称为写放大。写放大会降低闪存的使用寿命和性能。因而仔细设计存储设备的数据写入过程是非常有必要的。
[0006]公开号为CN102693184A的中国专利申请中公开了识别待写入的数据是否为动态数据;将动态数据写入到动态流块中。公开号为CN103019958A的中国专利申请中考虑了待写入数据的更多特性,如冷数据、热数据、随机访问、顺序访问、以及数据访问的尺寸等。
[0007]现有技术中已经意识到,对于空间分布上具有随机性且频繁写入的数据(热数据),为其分配专用的存储块或存储区,将有助于降低写放大。因为随时间的流逝,存储热数据的存储区中,由于数据再次写入(更新)的发生,无效数据增多,无效数据的占比相对较大;对这部分存储区实施垃圾回收所引入的写放大相对较小。

【发明内容】

[0008]现有技术虽然将待更新数据分为冷数据和热数据,却只是关注于热数据的访问特点,而将不属于热数据的数据一概按冷数据处理。然而,在实际中存在大量无法明确区分数据冷热的情况,即使是数据的所有者也无法明确数据是否将被频繁更新。
[0009]申请人意识到,将只读数据或被更新的可能性较低的数据与其他数据进行区分,并在不同的物理存储位置存放,将有助于降低基于闪存的存储设备的写放大,并提高性能。由于只读数据或者被更新可能性较低的数据不大可能被更新,这使得相应的物理存储块中包含较大比例的有效块,换句话说,相应的物理存储块中包含较少的无效块。这使得这些存储块可以长期处于有效状态。进而,无需对这些块实施垃圾回收操作,从而降低了写放大,延长了存储设备的寿命。另一方面,由于这些块被更新的几率低,可以在擦除均衡操作中被直接作为长寿命块,而省去了数据块寿命检查的操作,进而提高了存储设备的性能。
[0010]因而本发明至少解决了固态存储设备中写放大问题,延长了存储设备的使用寿命O
[0011]根据本发明的一个实施例,提供了一种将数据写入固态存储设备的方法,包括:接收数据写入请求;基于该数据写入请求,确定该数据写入请求为第一类型、第二类型或第三类型;当该数据写入请求为第一类型时,将该数据写入请求对应的数据写入固态存储设备的第一存储区;当该数据写入请求为第二类型时,将该数据写入请求对应的数据写入固态存储设备的第二存储区;当该数据写入请求为第三类型时,将该数据写入请求对应的数据写入固态存储设备的第三存储区;其中,第一类型指示该数据写入请求所写入的数据会被频繁更新;第二类型指示该数据写入请求所写入的数据将极少被更新;第三类型指示该数据写入请求所写入的数据被更新的特性不同于上述第一类型或第二类型的指示。
[0012]根据本发明的另一个实施例,提供了一种将数据写入固态存储设备的系统,包括:用于接收数据写入请求的模块;用于基于该数据写入请求,确定该数据写入请求为第一类型、第二类型或第三类型的模块;用于当该数据写入请求为第一类型时,将该数据写入请求对应的数据写入固态存储设备的第一存储区的模块;用于当该数据写入请求为第二类型时,将该数据写入请求对应的数据写入固态存储设备的第二存储区的模块;用于当该数据写入请求为第三类型时,将该数据写入请求对应的数据写入固态存储设备的第三存储区的模块;其中,第一类型指示该数据写入请求所写入的数据会被频繁更新;第二类型指示该数据写入请求所写入的数据将极少被更新;第三类型指示该数据写入请求所写入的数据被更新的特性不同于上述第一类型或第二类型的指示。
[0013]根据本发明的依然另一个实施例,提供了一种存储设备,包括:网络适配器、控制器以及耦合到所述控制器的多个驱动器;所述网络适配器将所述存储设备耦合到网络,并接收数据写入请求;所述控制器基于该数据写入请求确定该数据写入请求为第一类型、第二类型或第三类型,当该数据写入请求为第一类型时,将该数据写入请求对应的数据写入多个驱动器的第一存储区;当该数据写入请求为第二类型时,将该数据写入请求对应的数据写入多个驱动器的第二存储区;当该数据写入请求为第三类型时,将该数据写入请求对应的数据写入多个驱动器的第三存储区;其中,第一类型指示该数据写入请求所写入的数据会被频繁更新;第二类型指示该数据写入请求所写入的数据将极少被更新;第三类型指示该数据写入请求所写入的数据被更新的特性不同于上述第一类型或第二类型的指示。
[0014]根据本发明的依然另一个实施例,提供了一种存储有计算机程序的存储介质,所述计算机程序当被计算机执行时,使得计算机通过执行下列步骤来将数据写入固态存储设备:接收数据写入请求;基于该数据写入请求,确定该数据写入请求为第一类型、第二类型或第三类型;当该数据写入请求为第一类型时,将该数据写入请求对应的数据写入固态存储设备的第一存储区;当该数据写入请求为第二类型时,将该数据写入请求对应的数据写入固态存储设备的第二存储区;当该数据写入请求为第三类型时,将该数据写入请求对应的数据写入固态存储设备的第三存储区;其中,第一类型指示该数据写入请求所写入的数据会被频繁更新;第二类型指示该数据写入请求所写入的数据将极少被更新;第三类型指示该数据写入请求所写入的数据被更新的特性不同于上述第一类型或第二类型的指示。
【附图说明】
[0015]当连同附图阅读时,通过参考后面对示出性的实施例的详细描述,将最佳地理解本发明以及优选的使用模式和其进一步的目的和优点,其中附图包括:
[0016]图1是根据本发明实施例的存储设备的结构框图;
[0017]图2是根据本发明实施例的体系结构图;
[0018]图3示出了根据本发明实施例的存储设备的物理存储空间的分布;
[0019]图4是根据本发明实施例的将数据写入存储设备的流程图;
[0020]图5是根据本发明实施例的数据写入请求的地址与访问数量的对应关系的曲线图;
[0021]图6是根据本发明实施例的计算机系统的框图;以及
[0022]图7是根据本发明实施例的存储设备的框图。
【具体实施方式】
[0023]图1是根据本发明实施例的存储设备的结构框图。如图1所示的实施例包括主机101以及同主机101相耦合的存储设备102。主机101同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA、IDE、USB、PCIE、SCS1、以太网、光纤通道、无线通信网络等连接主机101与存储设备102。主机101可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口 103、控制电路104、一个或多个闪存芯片105以及缓冲存储器106。接口 103可适配于通过例如SATA、IDE、USB、PCIE、SCS1、以太网、光纤通道等方式与主机101交换数据。控制电路104用于控制在接口103、闪存芯片105以及缓冲存储器106之间的数据传输,还用于闪存管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。可通过软件、硬件、固件或其组合的多种方式
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1