硬盘数据的操作方法和硬盘控制器的制作方法

文档序号:6365386阅读:173来源:国知局
专利名称:硬盘数据的操作方法和硬盘控制器的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种硬盘数据的操作方法和硬盘控制器。
背景技术
现行的硬盘中的文件系统操作,是基于硬盘逻辑块地址(Logical BlockAddress, LBA)操作的。对数据的操作可以对应到五个基本的操作数据的写入,数据的读出,数据的复制,数据的移动,数据的删除。传统的硬盘数据操作,比如拷贝,参见图1,其首先需要先发送读命令,将数据从硬盘的源逻辑块地址读取到文件系统缓冲区,然后发送写命令,将数据从文件系统缓冲区写入到硬盘上目标逻辑块地址。再参见图2所示数据移动过程,需要先发送读命令,将数据从硬盘的源逻辑块地址读取到文件系统缓冲区,然后发送写命令,将数据从文件系统缓冲区写入到硬盘上目标逻辑块地址,再按照写入数据的方式,将原块地址标记为已删除状态。图3所示为硬盘数据的删除示意图,具体的,硬盘收到指令后按照写入数据的方式,将数据所在硬盘逻辑块地址标记为无效。以上技术方案存在以下不足1)每次数据的拷贝、移动都需要硬盘设备和文件系统之间做一个交互的过程,增加了文件拷贝移动所花费的时间;2)数据的拷贝、移动都需要花费主机的CPU和DMA时间,降低了 CPU和DMA的负担;3)数据的删除仅在文件系统层面标记为无效,而硬盘的固件程序无法获知逻辑块地址对应的数据区已经无效,此时逻辑块地址并没有真正被释放,直到主机发送Trim命令,硬盘固件程序才将逻辑块地址真正回收,因此降低了硬盘空间的实际利用率。综上可知,现有的硬盘的数据操作,在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容
针对上述的缺陷,本发明的目的在于提供一种硬盘数据的操作方法和硬盘控制器,其可以简化硬盘数据的操作过程,提高硬盘性能。为了实现上述目的,本发明提供一种硬盘数据的操作方法,包括以下步骤接收并解析所述硬盘数据的操作命令,获取所述硬盘数据的信息;根据所述硬盘数据信息,在硬盘内部执行所述操作命令;所述操作命令执行完成后返回完成状态信息。根据本发明的硬盘数据的操作方法,所述硬盘数据信息包括源逻辑块地址、目标逻辑块地址和块长度。根据本发明的硬盘数据的操作方法,所述操作命令为拷贝命令,所述在硬盘内部执行所述操作命令包括将所述硬盘数据从所述源逻辑块地址拷贝到硬盘缓存区,再将所述硬盘缓存区的数据拷贝到所述目的逻辑块地址;或者所述操作命令为移动命令,所述在硬盘内部执行所述操作命令包括将所述源逻辑块地址与物理块地址的映射修改为所述目的逻辑块地址与物理块地址的映射。
根据本发明的硬盘数据的操作方法,所述硬盘数据信息包括逻辑块地址和块长度。根据本发明的硬盘数据的操作方法,所述操作命令为删除命令,所述在硬盘内部执行所述操作命令包括将所述逻辑块地址对应的物理块地址上的数据从硬盘介质上擦除,或修改为有效页位图,并将所述逻辑块地址对应的标志位标为可回收状态。本发明还相应的提供一种硬盘控制器,包括接口模块,用于接收并解析所述硬盘数据的操作命令,获取所述硬盘数据的信息,并且在所述操作命令执行完成后返回完成状态信息;命令处理模块,用于根据所述硬盘数据信息,在硬盘内部执行所述操作命令。根据本发明的硬盘控制器,所述硬盘数据信息包括源逻辑块地址、目标逻辑块地址和块长度。根据本发明的硬盘控制器,所述命令处理模块包括第一处理子模块,用于所述操作命令为拷贝命令时将所述硬盘数据从所述源逻辑块地址拷贝到硬盘缓存区,再将所述硬盘缓存区的数据拷贝到所述目的逻辑块地址;第二处理子模块,用于所述操作命令为移动命令时将所述源逻辑块地址与物理块地址的映射修改为所述目的逻辑块地址与物理块地址的映射。根据本发明的硬盘控制器,所述硬盘数据信息包括逻辑块地址和块长度。根据本发明的硬盘控制器,所述命令处理模块还包括第三处理子模块,用于所述操作命令为删除命令时将所述逻辑块地址对应的物理块地址上的数据从硬盘介质上擦除,或修改为有效页位图,并将所述逻辑块地址对应的标志位标为可回收状态。本发明通过获取硬盘数据的操作命令并对其解析处理,进而得到硬盘数据的信息,优选的,硬盘数据信息可包括源逻辑块地址、目标逻辑块地址和块长度,根据这些硬盘数据信息,操作命令可以在硬盘内部执行完成,且完成后返回完成状态信息。数据的操作命令的执行过程不需要经过系统的缓存,借此简化数据的操作,提高硬盘的性能。


图1是现有技术一实施例的硬盘数据拷贝过程示意图;图2是现有技术一实施例的硬盘数据移动过程示意图;图3是现有技术一实施例的硬盘数据删除过程示意图;图4是本发明一实施例的硬盘结构示意图;图5是本发明的硬盘数据的操作方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参见图4,本发明提供了一种硬盘100,其可以为机械硬盘,也可以为固态硬盘,该硬盘100具有一硬盘控制器10,其与主机连接,可以从主机获取数据操作命令,该硬盘控制器10包括
接口模块11,用于接收并解析硬盘数据的操作命令,获取该硬盘数据的信息,并且在操作命令执行完成后返回完成状态信息。具体应用中,硬盘100的数据操作命令可以为拷贝、移动或删除。当操作命令为拷贝或移动命令时,接口模块11可以解析获取相应的硬盘数据的源逻辑块地址、目标逻辑块地址和块长度,当操作命令为删除命令时,接口模块可以解析获取相应的硬盘数据的逻辑块地址和块长度。命令处理模块12,用于根据硬盘数据信息,在硬盘100内部执行操作命令。具体的,命令处理模块12包括第一处理子模块121、第二处理子模块122和第三处理子模块123。当操作命令为拷贝命令时 ,该第一处理子模块121将相应的硬盘数据从源逻辑块地址拷贝到硬盘缓存区20,再将硬盘缓存区20的数据拷贝到目的逻辑块地址,借此完成数据的拷贝过程;当操作命令为移动命令时,第二处理子模块122将源逻辑块地址与物理块地址的映射修改为所述硬盘数据的目的逻辑块地址与物理块地址的映射,数据的移动操作过程,仅仅对相应的硬盘数据的地址映射表进行了改变,没有数据的物理移动;当操作命令为删除命令时,此时对应的硬盘数据信息包括逻辑块地址和块长度,第三处理子模块123将逻辑块地址对应的物理块地址上的数据从硬盘介质上擦除,或修改为有效页位图,并将所述逻辑块地址对应的标志位标为可回收状态。当相应的操作命令执行完成后,接口模块11将完成信息状态返回主机,以便进一步的操作。本发明的实施例中,硬盘100可以通过对应的移动和删除命令,获知可以回收的逻辑块地址。不需要主机再额外发送Trim命令来通知硬盘回收逻辑块地址空间,该技术方案应用于固态硬盘,更能提高硬盘性能。本发明的可以应用于各种接口的硬盘100上,其不限于某种接口标准,且对相应的硬盘数据的操作仅在硬盘100的内部完成,无需再经过系统的缓存,提高存储效率。参见图5,本发明提供了一种硬盘数据的操作方法,其可以通过图4所示的硬盘100实现,该方法包括步骤S501,接收模块11接收并解析硬盘数据的操作命令,获取硬盘数据的信息。具体的,当操作命令为拷贝或移动命令时,硬盘数据信息包括源逻辑块地址、目标逻辑块地址和块长度,当操作命令为删除命令时,硬盘数据信息包括逻辑块地址和块长度。步骤S502,命令处理模块12根据所述硬盘数据信息,在硬盘内部执行所述操作命令。本发明的实施例中,若操作命令为拷贝命令,则步骤S502具体为根据源逻辑块地址、目标逻辑块地址和块长度将硬盘数据从源逻辑块地址拷贝到硬盘缓存区20,再将硬盘缓存区20的数据拷贝到目的逻辑块地址;若操作命令为移动命令,则步骤S502具体为根据源逻辑块地址、目标逻辑块地址和块长度,将源逻辑块地址与物理块地址的映射修改为目的逻辑块地址与物理块地址的映射;若操作指令为删除命令,则步骤S502具体为根据逻辑块地址和块长度将逻辑块地址对应的物理块地址上的数据从硬盘介质上擦除,或修改为有效页位图,并将逻辑块地址对应的标志位标为可回收状态。步骤S503,操作命令执行完成后,接收模块11返回完成状态信息。本发明的方法适应于各种接口的硬盘,其简化了硬盘数据的拷贝、移动和删除过程,降低了 CPU的使用率,提高了数据操作效率,当其应用于固态硬盘,还可减少相应的写放大(Write Amplify),提高使用寿命。综上所述,本发明通过获取硬盘数据的操作命令并对其解析处理,进而得到硬盘数据的信息,优选的,硬盘数据信息可包括源逻辑块地址、目标逻辑块地址和块长度,根据这些硬盘数据信息,操作命令可以在硬盘内部执行完成,且完成后返回完成状态信息。数据的操作命令的执行过程不需要经过系统的缓存,借此简化数据的操作,提高硬盘的性能。 当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种硬盘数据的操作方法,其特征在于,包括以下步骤接收并解析所述硬盘数据的操作命令,获取所述硬盘数据的信息;根据所述硬盘数据信息,在硬盘内部执行所述操作命令;所述操作命令执行完成后返回完成状态信息。
2.根据权利要求I所述的硬盘数据的操作方法,其特征在于,所述硬盘数据信息包括源逻辑块地址、目标逻辑块地址和块长度。
3.根据权利要求2所述的硬盘数据的操作方法,其特征在于,所述操作命令为拷贝命令,所述在硬盘内部执行所述操作命令包括将所述硬盘数据从所述源逻辑块地址拷贝到硬盘缓存区,再将所述硬盘缓存区的数据拷贝到所述目的逻辑块地址;或者所述操作命令为移动命令,所述在硬盘内部执行所述操作命令包括将所述源逻辑块地址与物理块地址的映射修改为所述目的逻辑块地址与物理块地址的映射。
4.根据权利要求I所述的硬盘数据的操作方法,其特征在于,所述硬盘数据信息包括逻辑块地址和块长度。
5.根据权利要求4所述的硬盘数据的操作方法,其特征在于,所述操作命令为删除命令,所述在硬盘内部执行所述操作命令包括将所述逻辑块地址对应的物理块地址上的数据从硬盘介质上擦除,或修改为有效页位图,并将所述逻辑块地址对应的标志位标为可回收状态。
6.一种硬盘控制器,其特征在于,包括接口模块,用于接收并解析所述硬盘数据的操作命令,获取所述硬盘数据的信息,并且在所述操作命令执行完成后返回完成状态信息;命令处理模块,用于根据所述硬盘数据信息,在硬盘内部执行所述操作命令。
7.根据权利要求6所述的硬盘控制器,其特征在于,所述硬盘数据信息包括源逻辑块地址、目标逻辑块地址和块长度。
8.根据权利要求7所述的硬盘控制器,其特征在于,所述命令处理模块包括第一处理子模块,用于所述操作命令为拷贝命令时将所述硬盘数据从所述源逻辑块地址拷贝到硬盘缓存区,再将所述硬盘缓存区的数据拷贝到所述目的逻辑块地址;第二处理子模块,用于所述操作命令为移动命令时将所述源逻辑块地址与物理块地址的映射修改为所述目的逻辑块地址与物理块地址的映射。
9.根据权利要求6所述的硬盘控制器,其特征在于,所述硬盘数据信息包括逻辑块地址和块长度。
10.根据权利要求9所述的硬盘控制器,其特征在于,所述命令处理模块还包括第三处理子模块,用于所述操作命令为删除命令时将所述逻辑块地址对应的物理块地址上的数据从硬盘介质上擦除,或修改为有效页位图,并将所述逻辑块地址对应的标志位标为可回收状态。
全文摘要
本发明适用于计算机技术领域,提供了一种硬盘数据的操作方法,包括以下步骤接收并解析所述硬盘数据的操作命令,获取所述硬盘数据的信息;根据所述硬盘数据信息,在硬盘内部执行所述操作命令;所述操作命令执行完成后返回完成状态信息。本发明还相应的提供一种硬盘控制器。借此,本发明的数据操作可以只在硬盘内完成,无须经过系统缓存,可降低CPU使用率,提高硬盘性能。
文档编号G06F12/06GK102622307SQ20121004560
公开日2012年8月1日 申请日期2012年2月27日 优先权日2012年2月27日
发明者杨树浩, 颜成建 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1