专利名称:改进硬盘驱动器效率的技术的制作方法
技术领域:
本发明涉及盘驱动器,并且更具体地,涉及用于改进^5更盘驱动器的效率 的技术。
背景技术:
当主机操作系统向存储装置发送读或写请求时,操作系统(OS)内的请求
任务阻塞,直到完成请求为止。在桌面环境中, 一般在请求操作期间存在其 他可执行的任务。
然而,嵌入式装置一般每次仅执行一个功能。在具有集成驱动存储器的
嵌入式装置中,运行主机OS的处理器在盘驱动器操作期间是空闲的。相反地,
盘驱动器控制器处理器也具有明显的空闲时段。
大多数盘驱动器控制器处理器设计对于总体带宽的压力响应时间。根据 标准设计准则,更多的重点放在使盘驱动器控制器处理器一旦接收到命令就 迅速完成其处理上。例如,标准设计准则将更多的重要性放在启动盘驱动器 中的致动器的移动上,而不是放在一段时间上可完成的处理的总量最大化上。 结果,盘驱动器控制器处理器具有大量的没有使用的处理器带宽。
在一般的嵌入式装置的环境下,当主机OS处理器操作时和当盘驱动器控
制器操作时,其之间很少有重叠。因而,将期望增加主机os和盘驱动器控制 器之间的数据传输的效率,以提供成本和性能优势。
在经由块地址存取数据的存储装置中,存储装置不具有任何给定的读/ 写存取的性质的知识。从存储装置的角度来看,所有存取是平等创建的。视 频和音频的实时性质需要具有很低的抖动的稳定数据速率。
在许多这样的系统中,同时发生对存储装置的其他存取。例如,在用户 浏览频道向导的同时,机顶盒可以播放影片。影片的要求是实时的,而频道 向导不是。由于存储装置不注意这些要求,所以必须将系统设计为围绕这一 限制来工作,常常导致额外的系统成本或较低水平的性能。
已经做出的解决此限制的尝试未能在市场中使用,因为向存储装置增加
了大量成本,或者用于系统/存储装置通信的协议要求对标准的大量改变。
因而,将期望提供用于使盘驱动器存储装置提供多个音频和/或视频流 的、而无需大量的额外成本或对系统或存储装置通信协议的大量改变的技术。
发明内容
根据本发明的一些实施例,主机操作系统(OS)作为盘驱动器操作系统下 的任务运行。根据其他实施例,可在单个处理器上运行主机OS和盘驱动器操 作系统。处理器能够保持盘驱动器控制器的实时响应特性。本发明在主机0S
和盘驱动器之间提供了唯一接口,其最小化对主机os的改变。本发明的其他
实施例提供了可由两个操作系统存取的共享存储器子系统。
根据本发明的其他实施例,盘驱动器存储装置可以存取和响应与主机操
作系统(OS)保持的底层文件系统有关的元数据,以优化盘驱动器和主机OS之
间的数据传输。盘驱动器可以识别读和写存取的性质,允许其优先排序和性 能优化这些存取。盘驱动器可以执行这些功能而无需对块接口的任何改变。
结果,本发明的盘驱动器可以作为现有系统中的活动(drop-in)替换物。
考虑以下详细描述和附图,本发明的其他目标、特征和优点将变得明显。
图1图解了根据本发明实施例的、具有运行用于盘驱动器和主机操作系 统的实时搡作系统的处理器的嵌入式装置的框图。
图2是图解根据本发明实施例的、对由实时操作系统控制的盘驱动器和 多个主机操作系统进行任务切换的图。
图3是图解根据本发明实施例的、处理器上的执行序列的示例的时序图。
图4是图解根据本发明实施例的、用于通过实时操作系统切换任务的处 理的流程图。
图5是图解根据本发明实施例的、用于设置实时操作系统中的虚拟中断 以模拟主机操作系统中的中断的处理的流程图。
图6图解了根据本发明实施例的、具有重定位的中断禁止位的ARM处理 器状态寄存器的示例。
图7图解了根据本发明实施例的、使用文件元数据来将主机OS命令翻译
成优化命令的盘驱动器的示例。
具体实施例方式
作为盘驱动器(OS)下的任务进行实现的主机搡作系统(OS)
通常,计算系统包括主机操作系统(OS)和用于盘驱动器的盘驱动器操作 系统。主机OS向盘驱动器操作系统发出对逻辑块地址(LBA)的请求,以向/ 从》兹硬盘读和/或写数据。来自主机OS的请求在此也被称为读/写请求或LBA 请求。盘驱动器操作系统将读/写请求转换为读/命令,其可被执行来使用盘 驱动器的机械部分(例如,致动器臂和读/写头)从盘读取和写入数据。
可通过在主机OS下实现盘驱动器操作,来组合盘驱动器操作系统和主机 操作系统(OS)的功能。假设主机OS不是实时操作系统(RTOS),则此方法会导 致盘驱动器功能的响应时间的不确定特性。所导致的行为会降低驱动器性能, 并且可能导致在相同处理器上完成伺服控制的环境中的不稳定性。
相反,本发明的实施例向主机OS提供伪虛拟机,作为盘驱动器操作系统 中的任务。主机OS任务以低于系统中的实时任务的优先级来运行。 一般响应 于处理器中断,此技术允许在准备运行更高优先级的任务时中断主机OS。颠 倒了主机OS和盘驱动器操作系统的传统角色(其中,主机OS是主控制器)。 本发明的主机OS可执行所有主机功能,包括例如,向盘驱动器操作系统发 出读和写请求、执行用户接口功能、管理用户软件应用和硬件的交互、控制 和分配存储器、按优先级排列指令的处理、控制输入和输出装置、促进联网、 以及管理文件。
本发明允许多个主机操作系统在盘驱动器操作系统下运行,这对于安全 应用可具有显著的优点。盘驱动器操作系统和主机OS可在共享处理器上运 行,或在分离的处理器上运行。
在此,主要以用于嵌入式装置中的盘驱动器的实时操作系统(RTOS)的上 下文来描述盘驱动器操作系统。然而,应理解,本发明的原理可应用于除了 实时操作系统之外的盘驱动器操作系统。
根据本发明的一些实施例,用于盘驱动器的实时操作系统(RTOS)和主机 操作系统(OS)共享计算系统中的处理器(例如,微处理器或中央处理单元), 以增加两个操作系统之间的数据传输的效率。图1图解了根据本发明的特定 实施例的、包含共享处理器的嵌入式装置的示例。
图1的嵌入式装置包括处理器101、 ^磁硬盘104、致动器臂111、读/写 头110、高速緩冲存储器105、以及一个或多个诸如键盘之类的输入/输出装 置106。处理器101运行用于盘驱动器的实时操作系统(RT0S) 102和主机操作 系统(0S)103。实时操作系统102实现盘驱动器控制器的功能,包括从和向盘 104读和写数据。主机0S 103实现嵌入式装置的其他功能。例如,主机OS 可以是Linux、 Windows CE、 Mac OS X等。主机OS 103与输入/输出装置106 接口,并且处理器101与高速緩冲存储器105进行通信。
图2图解了根据本发明实施例的、由实时操作系统控制的盘驱动器和一 个或多个主机操作系统的任务切换。实时操作系统(RTOS)201控制处理器中 的任务切换。RTOS 201可在用于对一个或多个盘读和写数据的各种盘驱动器 任务例程之间进行切换,包括队列202、驱动侧(side) 203、执行204、以及 由框205代表的其他盘驱动器任务。RTOS 201也可以在盘驱动器任务和实现 一个或多个主机操作系统的一个或多个较低优先级任务之间切换。
RTOS 201可在实现多个主机操作系统(如主机OS 206、主机OS 207、 以及其他主机操作系统208等)的任务之间切换。从主机OS的角度来看,主 机OS仍然具有目标处理器的完全拥有权。RTOS负责主机OS的任务切换,以 维持主机OS对目标处理器的控制的角度。
图3是图解根据本发明实施例的、RTOS如何切换共享处理器对主机OS 和盘驱动器执行的任务的、处理器上的执行序列的示例。在图3中,共享处 理器执行主机OS的子任务#1。子任务#1是主机OS的子任务。当RTOS发出 读命令时,RTOS使得处理器将任务从主机OS切换到盘驱动器。在盘驱动器 时间期间,处理器执行在盘上启动所请求数据的搜寻所需的任务。
当正在执行搜寻序列时,RTOS使得处理器将任务从盘驱动器任务切换到 主机OS,以执行子任务#2。处理器继续处理主机OS的子任务#2,直到搜寻 序列完成为止。接着,RTOS使得处理器将任务从主机OS子任务#2切换到盘 驱动器任务。在盘驱动器时间期间,处理器执行完成读序列所需的任务。接 着,RTOS使得处理器将任务从盘驱动器任务切换回主机OS子任务#1。主机 OS子任务#1和#2是单个主机OS的子任务。
图3图解了 RTOS可使得共享处理器暂停主机OS子任务以执行用于读命 令的任务。类似地,RTOS可使得共享处理器暂停主机OS子任务以执行用于 写命令的任务。图3还图解了 RTOS可使得共享处理器执行主机OS子任务, 同时盘驱动器执行搜寻操作以在盘上读(或写)数据,由此增加处理器效率。
盘驱动器RTOS负责任务切换主机OS,以及模拟主机OS中的中断。从主 机OS的角度来看,这些责任便利了由主机OS完全拥有的共享处理器。图4 图解了根据本发明实施例的、盘驱动器RTOS可用来模拟存储器中的虚拟中断 区域的任务切换处理的示例。
在条件步骤401中,当前没有任务在运行。在步骤401期间,RTOS判定 运行主机OS的任务是否应运行。基于是否存在需要在RTOS中执行的任何更 高优先级的任务来进行此判定。如果RTOS不执行运行主机OS的任务,则在 步骤409, RTOS切换到另一任务。如果RTOS判定要执行运行主机OS的任务, 则在条件步骤402, RTOS确定来自主机OS的中断是否待处理(例如,在存储 器中的虛拟中断区域中)。如果主机中断不是待处理,则在步骤409, RTOS切 换到另一任务。
如果主机OS中断待处理,则在条件步骤403, RTOS确定在主机OS中是 否激活中断。如果未激活主机OS中断,则在步骤409, RTOS切换到另一任务。 如果激活了主机OS中断,则RTOS前进以在步骤404中设置模拟主机OS中的 中断的虚拟硬件。根据本发明的实施例,驱动器控制器RTOS可通过在步骤 405切换到目标处理器模式来模拟主机OS中的中断。目标处理器模式是处理 器的操作模式。
然后,在步骤406, RTOS为中断返回进行设置。步骤406中为中断返回 的设置包括修改与在步骤405切换到的目标处理器模式相关联的寄存器,使 得利用包含适当数据的工作寄存器来在正确的指令处开始执行。
接着,在步骤407, RTOS切换回中断模式。中断模式是指以中断处理模 式之一进行的执行。ARM上的中断模式的处理器专用示例包括IRQ和FIQ。为 了例示而提供中断模式的这些示例,而非旨在限制本实施例的范围。
然后,在步骤408, RTOS修改主机OS任务的上下文区域中的程序计数器, 以反映所^t拟的中断的中断句柄代码(handl ing code)的开始。在设置了虚拟 硬件之后,在步骤409,主机OS切换到主机OS任务。
图5图解了根据本发明实施例的、用于在RT0S中设置虛拟中断以模拟主 机OS中断的机制的示例。从条件步骤501开始,RT0S确定是否存在待处理 的中断。如果不存在待处理的中断,则代码块结束。如果RTOS检测到存在待 处理的中断,则在条件步骤502, RT0S确定是否有任何中断处理正在进行。 如果中断处理正在进行,则代码块结束。如果不存在正在进行的中断处理,
则在步骤503, RTOS确定最高优先级中断。然后,RTOS在步骤504清空本地 中断,在步骤505设置主机OS中断,并且在步骤506将中断进行标志设置为 真。
图6图解了具有重定位的中断禁止位的ARM处理器状态寄存器。如果允 许主机OS禁止处理器的实际中断,则其可以阻止更高优先级的任务控制处理 器。根据本发明的实施例,RTOS可利用此寄存器来模拟主机OS激活和禁止 处理器中的中断的能力。可通过将用于主机OS中的中断的位置6和7中的位 分别移动到程序状态寄存器的未使用部分位置8和9,然后清空位置6和7 中的位,来实现此功能性。图6所示的图示特定于ARM处理器的状态寄存器, 但可根据所用的具体处理器架构而改变。
当RTOS和主机操作系统都在相同的处理器上执行时,它们都具有对所有 相同的外设和存储器的存取。此共享的存取提供了额外的成本节省,因为较 大的组合存储器由于包装以及PCB不动产成本而比多个较小的存储器更便 宜。
在传统的双处理器系统中,主机os通过驱动器接口发送读和写请求。本 发明使用信箱系统来提供更快的、更有效的机制。从主机os的视角来看,如
同任何普通的驱动器那样地存取盘驱动器。系统中的唯一变化是定制的装置
驱动器。定制的装置驱动器调用对RTOS的系统调用,以向盘驱动器固件发送 读或写请求。除了数据传输之外,所接收到的请求作为正常请求由盘驱动器 固件处理。盘驱动器固件向緩冲器传递指针,其中盘驱动器固件根据命令类 型向或从该緩冲器写入或读取数据。定制的装置驱动器可使用指针来从或向 该缓冲器读或写数据,以向和从主机OS传输数据。此处理消除了正常会在驱 动器接口上发生的数据传输,大大改善了性能。作为系统调用的一部分,将 请求置于驱动器的接收队列中。
盘驱动器存取和响应与底层文件系统有关的元数据
操作系统一般将数据组织为逻辑文件系统。当将这些文件写到盘上时, 将描述文件的元数据与数据一起存储在盘上。例如,文件元数据可包括文 件大小、文件类型、文件许可、以及上次存取时间。
根据本发明的另 一实施例,盘驱动器可存取描述在盘上存储的用户数据 的文件元数据。盘驱动器可使用该文件元数据来实现来自主机操作系统的读 和写请求的优化。盘驱动器不限于使用关于数据的逻辑块地址(LBA)信息。文
件元数据可向盘驱动器提供比单独由LBA提供的更多的关于用户数据的知识。
本发明允许盘驱动器使用文件元数据来在文件系统层上实现性能和优先
排序的优化。例如,可通过标准块接口、或通过运行主机OS和盘驱动器OS 的带有或不带有共享存储器区域的共享处理器,来提供优化。
本发明的此实施例利用加密文件进行工作。盘驱动器装置不需要将数据 解密为功能。
根据本发明的此实施例的系统可通过使得存储装置的固件安装驻留在用 于只读存取的盘上的文件系统来实现。可通过为每个文件系统写入定制码, 或通过在盘驱动器控制器上运行主机OS处理(如Linux的版本),而实现此 实施例。
通常为主机OS保留安装文件系统的能力。本发明的此实施例允许盘驱动 器安装驻留在硬盘上的文件系统,用于内部緩沖器优化、旋转位置优化(RPO)、 以及其他优化。例如,关于例如在其中可预期有许多并行的读/写流的服务器 环境或家庭影院个人计算机(HTPC)中做出的请求,得知文件系统元数据的盘 驱动器可最有效地利用硬件。可由本发明的优秀的数据传输特性来更好地服 务这两种环境。
操作的几种模式可允许来自主机OS的LBA读/写请求的优化,如请求的 优先排序。当主机OS发送对要从盘读取或向硬盘写入的数据的请求时,盘驱 动器将用于该读/写请求的LBA翻译成文件目的地。解释文件元数据,并设计 适当的优化。例如,盘驱动器可确定何时以及如何提前读取盘上存储的数据, 以利用旋转位置优化(RP0)和文件系统元数据来服务于后续请求。作为另 一示 例,盘驱动器可利用文件系统元数据来对后续写请求执行写命令。
文件系统元数据可包含盘驱动器可用来优先排序请求并选择提前读取或 提前写入哪个后续请求的信息,如文件类型、文件大小、上次存取时间、以 及物理位置。例如,盘驱动器可使用文件系统元数据来将视频文件或音频文 件的存取优先排序在其他较低优先级文件之上。文件系统元数据的这些示例 并非旨在限制可由盘驱动器用来执行优化的文件系统元数据的类型。
根据另一实施例,可从文件名辨别由盘驱动器执行的适当优化。例如, 如果存取是读,并且通过其文件名扩展名或幻数(Magic number)而将文件识
别为视频文件,则盘驱动器可分配比正常情况更大的内部緩冲器。 一旦分配
了緩沖器,则读取开始,同时完成剩下的块-文件翻译。在此情况下,使用 LBA-文件翻译来实现文件提前读取。
当正服务于读请求时,盘驱动器可利用文件系统元数据,选择从与不同 读请求对应的盘中读数据。可通过读/写头移动跨越盘表面时的位置和旋转效 率来实现服务于后续读请求的能力,或通过对由文件类型指定的内容的优先 排序来实现它。本发明不限于前述优化。
本发明的盘驱动器具有提前读(或提前写)顺序和非顺序的逻辑块地址 的能力。当正服务于当前请求时,本发明的实施例可允许后续读和写请求以
带来高速緩冲存储器命中(cache hit ),这是因为响应于后续读/写请求,盘 驱动器已经利用了文件系统元数据来读和写数据,大大提高了性能。通过在 可用时存取高速緩冲存储器中存储的数据,可同时服务于更大量的同时流, 或者可以激活更高带宽的流(如高清晰度音频和视频)。
在写视频文件的情况下,盘驱动器可决定在盘上利用文件元数据来按照 以下方式物理扩展LBA:增加对当前和后续数据流的保证带宽。可在盘上按 照以下模式扩展LBA:使得盘的内径和外径之间的数据传输速率的差异平坦 化。在写小型配置文件的情况下,例如,如果更高优先级的数据流具有优先 权,则盘驱动器可决定在将文件写入到盘之前将数据写入内部高速緩冲存储 器。然后,当写头在最优位置上时,盘驱动器可将小型配置文件写入盘。
本发明的存储装置能够提供远超过在系统层上实现的性能级别,因为装 置了解其自身的内部几何结构。装置可利用文件元数据来在多流环境下执行 文件预先读取,以在需要头移动的下一搜寻操作之前读取最大量的数据。装 置还可通过RPO(旋转位置优化)对后续请求执行提前读取操作。系统层解决 方案不具有这样的知识。
另 一模式的操作可识别关于写的请求,将实时文件置于不同于非实时文 件的、硬盘的分离的区域中。利用检查从请求输入的LBA以确定读请求是否 落入上面定义的分离的实时区域中的简单的范围检查,本发明的此方面可大 大加速读耳又侧。
根据另一实施例,利用文件系统元数据,可在空闲模式期间,在文件的 基础上重新定位标准块写入。在此描述的实施例是被提供来例示本发明的原 理而并非旨在限制本发明的范围的操作模式的几个示例。
图7图解了根据本发明实施例的、为了优化硬盘驱动器性能的、对盘驱动器操作系统的主机OS读/写请求的解释和翻译。在步骤702,在诸如硬盘 710之类的存储装置上,诸如Linux和Microsoft Windows之类的主机OS 701 在正常操作过程中以读/写模式安装一个或多个文件系统711。如步骤703所 示,正常操作过程中的主机0S向盘驱动器712发出许多读/写请求。盘驱动 器712包括盘驱动器操作系统。主机OS 701和盘驱动器712之间的这种通信 通常在标准数据总线接口 704上发生,如PATA (并行ATA )、 SATA (串行ATA)、 SCSI (小型计算机系统接口)、或IEEE-1394, —般称为火线。
可替换地,盘驱动器712可通过利用类似的网络接口 720和721 (例如, 以太网接口 )的网络715来与主机OS 701通信。盘驱动器712还可通过网络 715与其他主机操作系统(未示出)通信。
步骤705图解了盘驱动器712以只读模式安装目标文件系统。在以只读 模式安装了目标文件系统之后,盘驱动器能够存取文件系统中的元数据,并 且使用该元数据来优化读/写请求。
通过将输入的读/写请求置于队列中,该处理从步骤706开始执行。在步 骤707,基于文件元数据,将排队的读/写请求翻译成用于硬件的优化的读/ 写命令。优化的读/写命令包括基于文件元数据和RPO优先排序的读和写命 令。
在执行了步骤7Q6和707之后,在步骤7Q8,盘驱动器712生成命令队 列,其包含用于盘驱动器的优化的读/写命令。例如,在数据流需要实时性能 特性的情况下,盘驱动器可通过分配比通常更大的緩沖器来优化读请求。基 于底层文件系统和RPO的知识,盘驱动器可服务于乱序的读请求,或者组合 不同的读请求以最大化一个或多个文件的数据传输,并最小化头定位下一数 据块所需的物理移动量。盘驱动器可执行诸如上述优化之类的许多其他读请 求优化。
作为另一示例,盘驱动器可基于文件的实时状态来优化写请求。盘驱动 器还可利用底层文件系统和RPO的知识来优化写请求,以便可将数据流写入 到高速緩冲存储器或硬盘上的相邻自由空间的区域中,由此增强后续搜寻操 作。盘驱动器可执行诸如上述优化之类的许多其他写请求优化。本发明不限 于用于将主机OS读/写请求翻译成用于块存储装置的优先排序且优化的命令 的变量。
框713图解了可由盘驱动器OS和主机OS这两者用来传递数据的共享存
储器。根据上述共享处理器实施例,共享存储器区域713可以是由主机OS和
盘驱动器os共享的处理器中的共享存储器区域。在共享处理器实施例中,与
用来连接块装置的普通接口 704相比,共享存储器区域713具有优秀的数据 传输性能特性。可替换地,共享存储器区域713可以是可由盘驱动器控制器 和运行主机OS的分离的存储器来存取的存储装置。
当盘驱动器712执行优化命令队列708时,可直接将数据写入共享存储 器区域713中。盘驱动器712可向共享存储器区域713中的存储器位置传递 指针。利用由盘驱动器提供的指针,主机OS可快速存取数据。主机0S可大 大获益于该共享存储器的低等待数据传输特性。
为了例示和描述的目的,已经提供了本发明的示例性实施例的前述描述。 其并非旨在详尽的或者将本发明限于所公开的精确形式。本发明中希望有修 改、各种改变和替换的自由。在一些实例中,可采用本发明的特征,而不相 应地使用所阐述的其他特征。根据以上教导,许多修改和变化是可能的,而 不会脱离本发明的范围。旨在本发明的范围不限于此详细描述。
权利要求
1、一种硬盘驱动器,包括运行盘驱动器操作系统的处理器,其被配置为响应于来自第一主机操作系统(OS)的读和写请求而执行用于对盘读和写的任务,其中,作为该盘驱动器操作系统中的任务而执行该第一主机OS。
2、 如权利要求1所述的硬盘驱动器,其中在该处理器上执行该盘驱动器 操作系统和该第 一主机操作系统。
3、 如权利要求1所述的硬盘驱动器,其中该盘驱动器操作系统将该第一 主机OS作为相对于用于实现读和写请求的任务的更低优先级的任务而执行。
4、 如权利要求1所述的硬盘驱动器,其中该盘驱动器操作系统是实时操 作系统。
5、 如权利要求4所述的硬盘驱动器,其中该硬盘驱动器是嵌入式装置的 一部分。
6、 如权利要求1所述的硬盘驱动器,其中该盘驱动器操作系统模拟该第 一主机OS的中断的激活和禁止。
7、 如权利要求1所述的硬盘驱动器,其中该第一主机OS执行定制的装 置驱动器,该定制的装置驱动器向緩冲器传递指针,其中该定制装置驱动器 响应于该读和写请求而读和写数据。
8、 如权利要求6所述的硬盘驱动器,其中该盘驱动器操作系统将用于第 一主机OS的中断位从第一存储位置移动到第二存储位置。
9、 如权利要求1所述的硬盘驱动器,其中作为该盘驱动器操作系统中的 任务来执行第二主机OS。
10、 一种用于实现硬盘驱动器的方法,该方法包括响应于来自第一主机操作系统(OS)的读和写请求,利用盘驱动器操作系 统来执行用于对盘读和写数据的任务;以及作为该盘驱动器操作系统中的任务来执行该第一主机OS。
11、 如权利要求10所述的方法,其中该盘驱动器操作系统和该第一主机 0S共享处理器。
12、 如权利要求10所述的方法,其中该方法还包括 作为该盘驱动器操作系统中的任务来执行第二主机OS。
13、 如权利要求IO所述的方法,其中该方法还包括 模拟该第一主机OS的中断的激活和禁止。
14、 如权利要求10所述的方法,其中该方法还包括 共享存储器空间,其中该第一主机OS执行向存储空间内的位置传递指针的定制装置驱动器,其中该定制装置驱动器响应于该读和写请求而读和写数 据。
15、 如权利要求IO所述的方法,其中作为该盘驱动器操作系统中的任务 来执行该第一主机OS还包括设置模拟该第一主机OS中的中断的虚拟硬件;切换到目标处理器模式;为中断返回进行设置;切换到中断模式;以及修改在该第一主机OS任务的上下文区域中的程序计数器。
16、 一种硬盘驱动器,包括运行盘驱动器操作系统的处理器,其被配置为响应于来自主机操作系统 (OS)的读和写请求而对盘读和写数据;以及共享存储器,其可由该盘驱动器操作系统和该主机操作系统存取,以响 应于该读和写请求而存储数据。
17、 如权利要求16所述的硬盘驱动器,其中该共享存储器是包括该处理 器的集成电路的一部分,并且该主机OS在该处理器上运行。
18、 一种硬盘驱动器,包括运行盘驱动器操作系统的处理器,其安装包含用户数据和描述该用户数 据的文件元数据的文件系统,其中该处理器从主机操作系统(OS)接收关于该用户数据的读和写请求, 基于该文件元数据而将该读和写请求翻译为优化的读和写命令,并且执行该 优化的读和写命令。
19、 如权利要求18所述的硬盘驱动器,其中该处理器利用文件元数据和 旋转位置优化(RPO)、以增加对当前和后续数据流的带宽的模式来在盘上写入 用于所请求的数据的逻辑块地址(LBA)。
20、 如权利要求18所述的硬盘驱动器,其中该处理器利用文件元数据来 提前读取在盘上存储的数据,以服务于后续请求。
21、 如权利要求18所述的硬盘驱动器,其中该处理器执行实时操作系统,该实时操作系统将该主机OS作为该处理器上的任务而实现。
22、 如权利要求20所述的硬盘驱动器,其中该处理器利用旋转位置优化 和文件类型指定的内容的优先排序中的至少一个来提前读取数据。
23、 如权利要求18所述的硬盘驱动器,其中该处理器响应于读和写请求 的模式而将数据存储在高速緩冲存储器中,以生成提升后续请求的性能的高 速緩沖存储器命中。
全文摘要
公开了改进硬盘驱动器效率的技术。主机操作系统(OS)可作为盘驱动器操作系统下的任务运行。可在单个处理器上运行主机OS和盘驱动器操作系统。处理器能够保持盘驱动器控制器的实时响应特性。盘驱动器存储装置可存取和响应与主机操作系统(OS)保持的底层文件系统有关的元数据,以优化盘驱动器和主机OS之间的数据传输。盘驱动器可识别读和写存取的性质,允许其优先排序和性能优化这些存取。盘驱动器可执行这些功能而无需对块接口的任何改变。
文档编号G06F3/06GK101187848SQ200710181429
公开日2008年5月28日 申请日期2007年10月25日 优先权日2006年10月25日
发明者戴维·R·霍尔 申请人:日立环球储存科技荷兰有限公司