数据存储方法和硬盘控制器技术

技术编号:15436864 阅读:76 留言:0更新日期:2017-05-25 19:06
本发明专利技术提供一种数据存储方法和硬盘控制器,以解决现有技术中对主机缓存缺少全局管理和优化能力的技术问题。该方法包括:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定所述目标数据是否满足预设写入条件;在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。

Data storage method and hard disk controller

The invention provides a data storage method and a hard disk controller, so as to solve the technical problems that the host cache lacks the overall management and optimization capability in the prior art. The method includes: receiving first data host device sends the write instruction, the first data write instructions for writing data to the target disk, the host device includes a host cache, the host cache by the hard disk controller writes; determining whether the target data meets the preset in the writing condition; the target data satisfy the write condition when the target data is written in the host cache; in the target data does not meet the conditions of writing, the target data written on the hard disk in Nand flash memory.

【技术实现步骤摘要】
数据存储方法和硬盘控制器
本专利技术涉及存储领域,具体地,涉及一种数据存储方法和硬盘控制器。
技术介绍
写入放大是Nand闪存和SSD(SolidStateDrives,固态硬盘)之间相关联的一个属性。因为闪存必须先删除才能改写,在执行这些操作的时候,需要多次移动用户数据和元数据,导致实际写入的物理信息量是将要写入的逻辑数量的多倍,增加了写入数据量,减少了SSD的使用寿命。现有技术为了减小写入放大,通常采用DDRSDRAM(DoubleDataRateSDRAM,双倍速率同步动态随机存储器)来实现写缓存,把主机频繁改写的“热”数据保存在可以任意读写的DDRSDRAM中,当数据变“冷”后或主机发送关机命令后,把数据保存到Nand闪存中。在具体实施时,写缓存可以存在于SSD控制器的DDR内存中,也可以存在于主机的DDR内存中。主机端写缓存的优点是容量大,速度快。主机端和控制器端都有专用的算法或模块来维护和管理写缓存。但是,在虚拟化环境中,一个物理SSD被虚拟成多个逻辑SSD,每个逻辑SSD被对应的一个虚拟主机管理,在虚拟主机上运行操作系统和SSD驱动程序。在这种环境下,每个虚拟主机上针对各自的逻辑SSD运行独立的写缓存算法,相互之间没有通信和协同操作,这就造成了主机端写缓存算法缺少跨虚拟机的全局管理和优化能力。
技术实现思路
本专利技术的主要目的是提供一种数据存储方法和硬盘控制器,以解决现有技术中对主机缓存缺少全局管理和优化能力的技术问题。为了实现上述目的,本专利技术第一方面提供一种数据存储方法,所述方法应用于硬盘控制器,所述方法包括:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定所述目标数据是否满足预设写入条件;在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。可选地,所述方法还包括:在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。可选地,所述确定所述目标数据是否满足预设写入条件,包括:根据全局写缓存管理算法确定所述目标数据是否为热数据。可选地,在所述确定所述目标数据是否满足预设写入条件之前,所述方法包括:确定所述第一数据写入指令中包括写缓存使能信息。可选地,所述将所述目标数据写在所述主机缓存中,包括:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。可选地,所述方法还包括:接收所述主机端设备发送的第二数据写入指令;确定所述第二数据写入指令未包括写缓存使能信息;根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。本专利技术第二方面提供一种硬盘控制器,包括:至少一个处理器,存储器;所述存储器用于存储至少一个程序模块;所述至少一个处理器通过运行存储在所述存储器的所述至少一个程序模块用于:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定所述目标数据是否满足预设写入条件;在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。可选地,所述至少一个处理器还用于:在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。可选地,所述至少一个处理器确定所述目标数据是否满足预设写入条件具体为:根据全局写缓存管理算法确定所述目标数据是否为热数据。可选地,所述至少一个处理器还用于:在所述确定所述目标数据是否满足预设写入条件之前,确定所述第一数据写入指令中包括写缓存使能信息。可选地,所述至少一个处理器所述将所述目标数据写在所述主机缓存中具体为:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。可选地,所述至少一个处理器还用于:接收所述主机端设备发送的第二数据写入指令;确定所述第二数据写入指令未包括写缓存使能信息;根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。本专利技术第三方面提供一种硬盘控制器,包括:接收单元,用于接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定单元,用于确定所述目标数据是否满足预设写入条件;数据写入单元,用于在所述目标数据满足所述写入条件时,将所述目标数据写在主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。采用上述技术方案,主机端设备将数据写入指令发送给硬盘控制器,由硬盘控制器确定将数据写入硬盘Nand闪存还是写入主机缓存,相比现有技术中主机端设备不经过硬盘控制器直接在主机缓存中写入数据,本专利技术由硬盘控制器控制主机缓存的数据写入,由于硬盘控制器具备全局的写缓存管理和优化能力,因此,硬盘控制器可以对主机缓存的数据存储进行全局管理和优化,解决了主机缓存缺少全局管理和优化能力的技术问题。本专利技术的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是本专利技术实施例提供的一种存储架构示意图;图2是本专利技术实施例提供的一种数据存储方法的流程示意图;图3是本专利技术实施例提供的另一种数据存储方法的流程示意图;图4是本专利技术实施例提供的一种硬盘控制器的结构示意图;图5是本专利技术实施例提供的另一种硬盘控制器的结构示意图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。为了使本领域技术人员更容易理解本专利技术实施例提供的技术方案,下面首先对相关技术进行简单介绍。图1是本专利技术实施例提供的一种存储架构示意图,如图所示,该存储架构包括主机端设备10,其中,主机端设备10包括主机缓存100,该存储架构还包括固态硬盘11,该固态硬盘11包括SSD控制器110和Nand闪存111。主机端设备10与固态硬盘11相连。现有的相关技术中,主机缓存100中的数据写入是由主机端设备10控制的,例如,主机端设备10在确定待写入固态硬盘的数据为“热”数据时,直接将数据写入主机缓存100中,当数据变“冷”后或主机端设备关机时,向固态硬盘发送数据写入指令,将主机缓存100中的数据保存到Nand闪存111中。但是,由于主机端设备在运行有多个虚拟机的情况下,每个虚拟机对主机缓存进行的数据写入是独立进行的,对于主机缓存缺少全局管理和优化。本专利技术实施例提供一种数据存储的方法,该方法应用于硬盘控制器,例如图1中示出的SSD控制器,如图2所示,该方法包括:S201、接收主机端设备发送的第一数据写入指令,所本文档来自技高网...
数据存储方法和硬盘控制器

【技术保护点】
一种数据存储方法,其特征在于,所述方法应用于硬盘控制器,所述方法包括:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定所述目标数据是否满足预设写入条件;在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法应用于硬盘控制器,所述方法包括:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定所述目标数据是否满足预设写入条件;在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。3.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据是否满足预设写入条件,包括:根据全局写缓存管理算法确定所述目标数据是否为热数据。4.根据权利要求1至3任一项所述的方法,其特征在于,在所述确定所述目标数据是否满足预设写入条件之前,所述方法包括:确定所述第一数据写入指令中包括写缓存使能信息。5.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述目标数据写在所述主机缓存中,包括:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收所述主机端设备发送的第二数据写入指令;确定所述第二数据写入指令未包括写缓存使能信息;根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。7.一种硬盘控制器,其特征在于,包括:至少一个处理器,存储器;所述存储器用于存储至少一个程序模块;所述至少一个处理器通过运行存储在所述存储器的所述至少一个程序模块用于:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制...

【专利技术属性】
技术研发人员:杨碧波
申请(专利权)人:北京联想核芯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1