固态硬盘的驱动方法及装置制造方法及图纸

技术编号:8980621 阅读:158 留言:0更新日期:2013-07-31 22:45
本发明专利技术公开了一种固态硬盘的驱动方法及装置,该方法包括:接收通用块层发出的记录有操作指令的块I/O请求;将块I/O请求格式转换为记录有操作指令的I/O操作请求,其中I/O操作请求为I/O调度层的基本操作单元;将I/O操作请求插入到I/O调度层的I/O设备请求队列的空位置;从I/O设备请求队列的空位置获取I/O操作请求,将I/O操作请求发送给块设备驱动层;根据块设备驱动层接收到的I/O操作请求中记录的操作指令驱动固态硬盘。通过上述技术方案,本发明专利技术能有效缩减处理时间,并且可降低功耗及成本。

【技术实现步骤摘要】

本专利技术涉及电子信息
,特别是涉及一种固态硬盘的驱动方法及装置
技术介绍
Linux I/O (Input/Output,输入/输出)子系统的架构设计受当时主流的储存介质影响,即基于机械转动的磁盘,机械磁盘的I/o性能一直以来都是系统的瓶颈。为了能最大限度利用好有限的磁盘I/o资源,Linux I/O子系统的设计上引入了 I/O调度器(I/Oscheduler),利用I/O调度器对重复、相连的I/O操作请求合并,以及按照扇区的顺序方向对I/O操作请求排序,从而减少实际发生的磁盘I/O次数和磁盘寻道时间。随着储存技术的发展,存储介质也发生了巨大变化,但现有的I/O调度器一直沿用至今。I/O调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,以减少机械磁盘磁头的寻道时间,这种实现就被称为I/o调度算法。为了适应不同的应用场景、性能、时效性方面的需求,Linux内核从2.6开始引入了 4种不同的I/O调度算法,以针对不同类型的应用程序优化磁盘I/O性能,该4种不同的I/O调度算法包括:CFQ (Completely Fair Queuing完全公平队列)算法,Deadline (最后期限)算法,Noop(无干预)算法,Anticipatory (预期)算法。现有的I/O调度层的调度算法在顺序I/O操作下能对机械式磁盘的I/O性能起到明显的优化效果,但是随着技术的发展,采用闪存颗粒(flash disk)的固态硬盘开始逐渐取代带有机械磁盘磁头的机械磁盘。由于闪存颗粒采用顺序方式进行读写,其与机械磁盘所采用的磁盘转动的读写方式截然不同,因此现有的I/O调度层的调度算法对于固态硬盘而言,往往会增加处理复杂度,延长处理时间,从而造成功耗和成本的浪费。
技术实现思路
本专利技术实施例主要解决的技术问题是提供一种固态硬盘的驱动方法及装置,在处理针对固态硬盘的I/o操作请求时,可有效简化处理过程,并能有效缩减处理时间,以降低功耗及成本。第一方面提供一种固态硬盘的驱动方法,该方法应用于操作系统,操作系统包括通用块层、I/o调度层、块设备驱动层,该方法包括:接收通用块层发出的记录有操作指令的块I/o请求;将块I/O请求格式转换为记录有操作指令的I/O操作请求,其中I/O操作请求为I/o调度层的基本操作单元;将I/O操作请求插入到I/O调度层的I/O设备请求队列的空位置;从I/o设备请求队列的空位置获取I/O操作请求,将I/O操作请求发送给块设备驱动层;根据块设备驱动层接收到的I/o操作请求中记录的操作指令驱动固态硬盘。在第一方面的第一种可能的实现方式中,操作指令包括读指令和写指令中的任意一种或两种。在第一方面的第二种可能的实现方式中,块I/O请求设置为bio结构体,I/O操作请求设置为request结构体。在第一方面的第三种可能的实现方式中,操作系统包括Iinux操作系统或unix操作系统。第二方面提供一种固态硬盘的驱动装置,该驱动装置应用于操作系统,操作系统包括通用块层、I/o调度层、块设备驱动层,该装置包括:块I/O请求接收模块,用于接收通用块层发出的记录有操作指令的块I/o请求;格式转换模块,用于将块I/O请求格式转换为记录有操作指令的I/o操作请求,I/O操作请求为I/O调度层的的基本操作单元;插入模块,用于将I/o操作请求插入到I/O调度层的I/O设备请求队列的空位置;1/0操作请求获取模块,用于从I/o设备请求队列的空位置获取I/O操作请求,将I/O操作请求发送给块设备驱动层;驱动模块,用于根据块设备驱动层接收到的I/o操作请求中记录的操作指令驱动固态硬盘。在第二方面的第一种可能的实现方式中,操作指令包括读指令和写指令中的任意一种或两种。在第二方面的第二种可能的实现方式中,块I/O请求设置为bio结构体,I/O操作请求设置为request结构体。在第二方面的第三种可能的 实现方式中,操作系统包括Iinux操作系统或unix操作系统。区别于现有技术的情况,本专利技术实施例主要解决的技术问题是提供一种固态硬盘的驱动方法及装置,该方法及装置应用于操作系统,通过将I/o操作请求插入到I/O调度层的I/o设备请求队列的空位置,从该空队列位置获取I/O操作请求,从I/O设备请求队列的空位置获取I/o操作请求,将I/O操作请求发送给块设备驱动层,根据I/O操作请求中记录的操作指令驱动固态硬盘,由于本专利技术实施例并没有对I/o操作请求进行合并、排序等复杂的调度过程,因此更为适合于采用闪存颗粒(flash disk)的固态硬盘,从而在驱动固态硬盘时,能有效缩减处理时间,并且可降低功耗及成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例的固态硬盘的驱动方法第一实施例的流程示意图;图2是本专利技术实施例的固态硬盘的驱动方法第二实施例的流程图;图3是本专利技术实施例的固态硬盘的驱动装置第一实施例的装置结构示意图;图4是本专利技术实施例的固态硬盘的驱动装置第二实施例的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参见图1,图1是本专利技术实施例的固态硬盘的驱动方法第一实施例的流程示意图,如图1所示,本专利技术实施例提供的固态硬盘的驱动方法应用于操作系统,该操作系统包括通用块层、I/o调度层、块设备驱动层。该方法包括以下步骤:步骤101:接收通用块层发出的记录有操作指令的块I/O请求。块I/O请求是Linux通用块层中块I/O的描述符,详细描述一个磁盘数据块I/O相关的信息。步骤102:将块I/O请求格式转换为记录有操作指令的I/O操作请求,其中I/O操作请求为I/O调度层的基本操作单元,也是设备驱动程序的处理对象,描述一个需要被处理的I/O操作。步骤103:将I/O操作请求插入到I/O调度层的I/O设备请求队列的空位置。其中,I/o设备请求队列为Linux内核中描述一个块设备需要处理的所有I/O操作请求组成的一个队列。步骤104:从I/O设备请求队列的空位置获取I/O操作请求,将I/O操作请求发送给块设备驱动层。步骤105:根据块设备驱动层接收到的I/O操作请求中记录的操作指令驱动固态硬盘。 由于固态硬盘采用闪存颗粒(flash disk),闪存颗粒采用顺序方式进行读写,其读取机制与内存相仿,因此读取固态硬盘无需进行磁盘寻道,并且固态硬盘没有对I/O操作请求的合并、排序等调度需求。因此,由于闪存颗粒采用顺序方式进行读写,其与机械磁盘所采用的磁盘转动的读写机制截然不同,故本专利技术实施例将I/O操作请求插入到I/O调度层的I/O设备请求队列的空位置,从该空队列位置获取I/O操作请求,从I/O设备请求队列的空位置获取I本文档来自技高网
...

【技术保护点】
一种固态硬盘的驱动方法,其特征在于,所述方法应用于操作系统,所述操作系统包括通用块层、I/O调度层、块设备驱动层,所述方法包括:接收所述通用块层发出的记录有操作指令的块I/O请求;将所述块I/O请求格式转换为记录有所述操作指令的I/O操作请求,其中所述I/O操作请求为所述I/O调度层的基本操作单元;将所述I/O操作请求插入到所述I/O调度层的I/O设备请求队列的空位置;从所述I/O设备请求队列的空位置获取所述I/O操作请求,将所述I/O操作请求发送给所述块设备驱动层;根据所述块设备驱动层接收到的所述I/O操作请求中记录的所述操作指令驱动固态硬盘。

【技术特征摘要】
1.一种固态硬盘的驱动方法,其特征在于,所述方法应用于操作系统,所述操作系统包括通用块层、I/o调度层、块设备驱动层,所述方法包括: 接收所述通用块层发出的记录有操作指令的块I/o请求; 将所述块I/o请求格式转换为记录有所述操作指令的I/O操作请求,其中所述I/O操作请求为所述I/o调度层的基本操作单元; 将所述I/o操作请求插入到所述I/O调度层的I/O设备请求队列的空位置; 从所述I/o设备请求队列的空位置获取所述I/O操作请求,将所述I/O操作请求发送给所述块设备驱动层; 根据所述块设备驱动层接收到的所述I/o操作请求中记录的所述操作指令驱动固态硬盘。2.根据权利 要求1所述的方法,其特征在于,所述操作指令包括读指令和写指令中的任意一种或两种。3.根据权利要求1所述的方法,其特征在于,所述块I/O请求设置为bio结构体,所述I/o操作请求设置为request结构体。4.根据权利要求1所述的方法,其特征在于,所述操作系统包括Iinux操作系统或unix操作系统。5.一种固态硬盘的驱动装置,其特征在于,所述驱动装置应用于操作系统,所述操作系...

【专利技术属性】
技术研发人员:顾政
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1