混合驱动器的脏数据管理的制作方法_3

文档序号:9872409阅读:来源:国知局
(例如对混合驱动器102进行碎片整理)的操作系统的组件的数据。通过减少高优先级I/O的I/O命令被使脏数据同步的混合驱动器102干扰的情况,可减少对由用户对设备的使用的干扰。然而,低优先级I/O的I/O命令可被使脏数据同步的混合驱动器102干扰,而不干扰用户对设备的使用,因为对这样的低优先级I/O的干扰不影响用户(例如不导致用户能察觉的对设备的使用的干扰)。
[0041]设备的当前状态可此外或替代地包括设备的当前功率模式,包括设备是否在功率节省模式中操作和/或设备在多个功率节省模式的哪个中操作的指示。在一个或多个实施例中,做出何时向混合驱动器102提供使脏数据同步的指示的确定,以便减少对设备的功率节省模式的干扰。当设备在功率节省模式中操作时由I/O模块206发出到混合驱动器102的I/O命令可干扰功率节省模式,例如当驱动器102(或驱动器102的部分)在功率节省模式中时否则将不被访问时通过花费功率以访问混合驱动器102(或混合驱动器102的部分)。例如,如果基础部分114是硬盘驱动器且设备在功率节省模式(其中硬盘驱动器不旋转)中操作,则使脏数据同步可干扰设备的功率节省模式,因为当驱动器否则将由于功率节省模式而不旋转时,功率将在使硬盘驱动器自旋以及旋转硬盘驱动器以将数据写到驱动器时被消耗。被提供到混合驱动器102的指示可以是例如在同步数据可能干扰设备的功率节省模式的情况下使同步数据延迟和在同步数据不干扰设备的功率节省模式的情况下加速同步数据的指示。
[0042]设备的当前状态可此外或替代地包括设备的剩余电池寿命,其指示在设备的电池中留下的电荷的量。在一个或多个实施例中,做出何时向混合驱动器102提供使脏数据同步的指示的确定,以便减少对设备的剩余电池寿命的干扰(并从而减少对计算设备的功率节省模式的干扰)。可响应于设备的剩余电池寿命满足阈值量(例如在阈值量处或之下)而确定设备在功率节省模式中操作。
[0043]当设备具有低剩余电池寿命(例如小于剩余电荷的阈值量)时由I/O模块206发出到混合驱动器102的I/O命令可干扰设备的剩余电池寿命,例如当设备具有低剩余电池寿命时通过花费功率以访问混合驱动器102(或混合驱动器102的部分)。被提供到混合驱动器102的指示可以是例如在同步数据可能干扰设备的剩余电池寿命的情况下使同步数据延迟和在同步数据不干扰设备的剩余电池寿命(且因此设备被确定为不在功率节省模式中操作(例如在标准高功率或非功率节省模式中操作))的情况下加速同步数据的指示。
[0044]被提供到混合驱动器102以使脏数据同步的指示可采取各种形式。在一个或多个实施例中,混合驱动器102支持脏数据低阈值和脏数据高阈值,且被提供到混合驱动器102以使脏数据同步的指示是在这些脏数据阈值中的一个或两个的设置中的变化。
[0045]图3图示根据一个或多个实施例的脏数据阈值的例子。脏数据300的量的指示被维持。脏数据的量可例如范围从O千兆字节(GB)的数据改变到多(X)千兆字节的数据。X的值可改变,例如范围高达可被包括在性能部分112中的在低优先级水平处的数据的数量(例如I千兆字节的数据、4千兆字节的数据等)。
[0046]混合驱动器102在决定何时使脏数据同步时使用脏数据低阈值302和脏数据高阈值304。混合驱动器102响应于脏数据300的数量满足(例如等于和/或大于)脏数据高阈值304而开始使脏数据同步。一旦使脏数据同步开始,混合驱动器102就继续使脏数据同步,直到脏数据300的数量满足(例如等于和/或小于)脏数据低阈值302为止,此时,混合驱动器102停止使脏数据同步。
[0047]阈值302和304可具有不同的设置,且脏数据高阈值304的设置大于或等于脏数据低阈值302的设置。驱动器访问系统200的脏数据管理模块204向混合驱动器102发出命令以改变脏数据低阈值302的设置和/或脏数据高阈值304的设置。脏数据管理模块204可因此通过改变阈值320和/或304的设置来向混合驱动器102提供使脏数据同步的指示。在图3中由显示阈值302和304可向上(指示更多的脏数据)和向下(指示更少的脏数据)移动的箭头图示改变设置的这个能力。
[0048]脏数据管理模块204可通过以不同的方式改变阈值320和/或304的设置来向混合驱动器102提供使脏数据同步的指示。模块204可增加或升高脏数据高阈值304以使混合驱动器102延迟使脏数据同步,并可减小或降低脏数据高阈值304以使混合驱动器102更快地使脏数据同步。例如,模块204可将脏数据高阈值304减小到在当前时间在性能部分112中的低优先级脏数据的当前量,以便使混合驱动器102在当前时间使脏数据同步。模块204可增加或升高脏数据低阈值302以减小混合驱动器102同步的脏数据的数据数量,并可减小或降低脏数据低阈值302以增加混合驱动器102同步的脏数据的数量。
[0049]在本文的讨论中,参考脏数据的数量、干净数据的数量、脏数据高阈值设置、脏数据低阈值设置等的示例值。应注意,这些例子仅仅是例子,以及可利用本文讨论的技术使用各种其它值。
[0050]在一个或多个实施例中,脏数据管理模块204向混合驱动器102提供使脏数据同步的指示以试图在任何给定时间保持在一个或多个优先级水平处的至少特定数量(例如N千兆字节)的干净数据(例如低优先级干净数据)。在一个或多个实施例中,N的值是下列项中的最大者:4千兆字节、实施驱动器访问系统200的设备中的RAM的量和性能部分112的大小的 25%。
[0051]对于脏数据低阈值302和/或脏数据高阈值304,默认或初始设置值可由脏数据管理模块204使用。例如,脏数据高阈值304的默认或初始值可以是固定量(例如512兆字节)或相对量(例如在一个或多个优先级水平例如低优先级水平处的干净数据的数量的10%)。作为另一例子,脏数据低阈值302的默认或初始值可以是固定数量(例如128兆字节)或相对数量(例如在一个或多个优先级水平例如低优先级水平处的干净数据的数量的3%)。
[0052]在一个或多个实施例中,基于实施驱动器访问系统200的设备的当前状态来确定脏数据高阈值304的设置和脏数据低阈值302的设置中的一个或两个。设备的当前状态可包括如上面讨论的例如用户是否在设备上是活动的、设备的当前功率模式、设备的剩余电池寿命等。
[0053]脏数据管理模块204可以用各种不同的方式例如通过访问设备的当前功率模式被记录于的存储区域、从设备的操作系统接收设备的当前功率模式的通知等确定设备的当前功率模式。脏数据管理模块204将设备的一个或多个功率模式分类为节省模式。可以用各种方式例如基于特定的预定义功率模式(例如设备可具有一组多个预定义功率模式,且模块204预先配置有这些多个预定义功率模式中的哪一个或多个是功率节省模式的指示)、基于从其它服务或系统得到的信息、基于特定的设备设置(例如屏幕亮度、设备的处理器的功率模式、设备的剩余电池寿命等)等来确定哪些功率模式被分类为节省模式。
[0054]脏数据高阈值304的设置可基于设备的当前功率模式而改变。如果设备在功率节省模式中,则脏数据管理模块204增加脏数据高阈值304以增加在使脏数据同步开始之前累积的脏数据300的数量,且因而延迟使脏数据同步。延迟使脏数据同步允许在访问基础部分114时花费能量被延迟,并且如果在增加的脏数据高阈值304被满足之前设备停止在功率节省模式中则被避免。脏数据高阈值304增加的量可改变,且可以是固定量(例如I千兆字节)或相对量(例如当前设置的50%、在一个或多个优先级水平(例如低优先级水平)处的干净数据的量的40%等)。如果设备的功率模式改变使得设备不再在功率节省模式中,则驱动器访问系统200减小脏数据高阈值304(例如到阈值304的默认或初始设置值)。
[0055]此外或替代地,脏数据低阈值302的设置可基于设备的当前功率模式而改变。如果设备在功率节省模式中,则脏数据管理模块204减小脏数据低阈值302以增加被同步的脏数据300的数量(并减小能量被花费在访问基础部分114中的频率)。脏数据低阈值302减小的数量可改变,且可以是固定量(例如64兆字节)或相对量(例如当前设置的50%、在一个或多个优先级水平(例如低优先级水平)处的干净数据的数量的1%等)。替代地,脏数据管理模块204可在适当时(基于脏数据高阈值304)增加或减小脏数据低阈值302,使得特定数量的脏数据被同步。脏数据低阈值302增加或减小的量可以是固定量(例如小于脏数据高阈值304的256兆字节)或相对量(例如脏数据高阈值304的50%)。如果设备的功率模式改变,使得设备不再在功率节省模式中,则脏数据管理模块204增加脏数据低阈值302(例如到阈值302的默认或初始设置值)。
[0056]脏数据管理模块204可以用各种不同的方式例如通过访问活动性被记录于的存储区域、从设备的操作系统接收设备的活动性的通知、监控由I/o模块206发出的I/O命令(例如所访问的存储器的区域、I/O命令的类型等)等确定用户是否在设备上是活动的。例如,如果经由用户输入设备(例如麦克风、键盘、鼠标等)接收到输入,则可确定用户与设备交互且因此在设备上是活动的。作为另一例子,如果通过程序流式传送数据(例如电影被重放,音乐被重放,等等),则可确定用户正使用在设备上运行的程序且因此在设备上是活动的。
[0057]在用户在设备上不是活动的时的时间期间,脏数据管理模块204可减小脏数据高阈值304。可以用不同的方式确定用户在设备上不是活动的,例如在用户不与设备交互(例如在阈值量的时间例如10秒期间没有用户输入被接收到)的情况、用户不使用在设备上的程序(例如在阈值量的时间例如10秒期间没有由驱动器访问系统200从程序接收到对数据的请求)的情况、在阈值量的时间(例如10秒)期间没有I/O命令由I/O模块206发出的情况等下。脏数据高阈值304可被减小以减小在使脏数据同步开始之前的脏数据的数量,导致在用户在设备上不是活动的时较少的脏数据被允许累积在性能部分112中。脏数据高阈值304减小的量可改变,且可以是固定量(例如512兆字节)或相对量(例如当前设置的50%、在一个或多个优先级水平(例如低优先级水平)处的干净数据的量的5%等)。如果设备的当前状态改变且用户在设备上是活动的,则脏数据管理模块204增加脏数据高阈值304(例如到阈值304的默认或初始设置值)。
[0058]此外或替代地,在用户在设备上不是活动的时的时间期间,脏数据管理模块204可减小脏数据低阈值302。脏数据低阈值302可被减小以增加在使脏数据同步开始之后被同步的脏数据的数量,导致在用户在设备上不是活动的时的时间期间较少的脏数据被允许累积在性能部分112中。脏数据低阈值304减小的量可改变,且可以是固定量(例如64兆字节)或相对量(例如当前设置的50%、在一个或多个优先级水平(例如低优先级水平)处的干净数据的数量的1%等)。如果设备的当前状态改变且用户在设备上是活动的或正使用在设备上的程序,则脏数据管理模块204增加脏数据低阈值302(例如到阈值302的默认或初始设置值)。
[0059]应注意,在确定用户是否在设备上是活动的时使用的时间的阈值量可基于在性能部分112中的脏数据的数量而改变。例如,如果在性能部分112中有相当大数量(例如至少阈值数量例如I千兆字节或在一个或多个优先级水平(例如低优先级水平)处的干净数据的数量的25%)的低优先级脏数据,则可使用时间的低阈值量(例如7秒、3秒等),且如果在性能部分112中没有相当大数量(例如至少没有阈值数量)的低优先级脏数据,则可使用时间的较大阈值量(
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1