本申请要求2006年8月11日提交的美国实用申请No.11/503,016、2006年7月31日提交的临时申请No.60/820,867、以及2006年5月10日提交的临时申请No.60/799,151的优先权,并且是2004年6月10日提交的美国专利申请No.10/865,368的部分延续,是2005年12月29日提交的并且要求2005年5月5日提交的临时申请No.60/678,249的优先权的美国专利申请No.11/322,447的部分延续,本申请涉及2004年2月13日提交的美国专利申请No.10/779,544,并且涉及2004年6月10日提交的美国专利申请No.10/865,732。这些申请的公开都通过引用而被全部合并于此。
发明内容
一种用于具有高功率模式和低功率模式的设备的盘驱动系统,包括低功率盘驱动器(LPDD)、高功率盘驱动器(HPDD)。LPDD和HPDD至少一个经由非易失性半导体存储器接口与该设备通信。
在其他特征中,控制模块包括标识LPDD中的最少使用块(LUB)的LUB模块,并且在接收到数据存储请求和数据检索请求至少一个时在低功率模式期间有选择地将LUB转移到HPDD。在用于写数据的存储请求期间,如果对于该写数据在LPDD上有足够的空间可用,则控制模块将写数据转移到LPDD。如果对于写数据在LPDD上没有足够的空间可用,则控制模块对HPDD供电,并且将LUB从LPDD转移到HPDD,然后将该写数据转移到LPDD。控制模块包括自适应存储模块,该自适应存储模块在对于写数据在LPDD上没有足够的空间可用时判断该写数据是否可能在LUB之前被使用。如果写数据可能在所述LUB之后被使用,则控制模块将该写数据存储到HPDD上。如果写数据可能在LUB之前被使用,则控制模块对HPDD供电,并且将LUB从LPDD转移到HPDD,然后将该写数据转移到LPDD。
在其他特征中,在用于读数据的数据检索请求期间,如果该读数据存储在LPDD中,则控制模块从LPDD检索回该读数据。控制模块包括自适应存储模块,该自适应存储模块在读数据不位于LPDD上时判断该读数据是否可能被使用一次,并且其中如果该读数据可能被使用一次,则控制模块从HPDD检索回该读数据。如果自适应存储模块判断读数据可能被使用多次,则如果对于该读数据在LPDD上有足够的空间可用则控制模块将该读数据从HPDD转移到LPDD。如果自适应存储模块判断读数据可能被使用多次,则如果对于该读数据在LPDD上没有足够的空间可用,则控制模块将LUB从LPDD转移到HPDD、并且将该读数据从HPDD转移到LPDD。如果对于读数据在LPDD上有足够的空间可用,则控制模块将该读数据从HPDD转移到LPDD。如果对于读数据在LPDD上没有足够的空间可用,则所述控制模块将LUB从LPDD转移到HPDD、并且将该读数据从HPDD转移到LPDD。如果读数据不位于LPDD上,则控制模块从HPDD检索回该读数据。
在其他特征中,HPDD包括直径大于1.8″的一个或多个盘片,并且LPDD包括直径小于等于1.8″的一个或多个盘片。HPDD和LPDD经由非易失性半导体存储器接口与所述设备通信。控制模块与LPDD和HPDD通信。在低功率模式中用于写数据的存储请求期间,控制模块判断对于写数据在LPDD上是否有足够的空间可用,并且如果有足够的空间可用则将该写数据转移到LPDD。HPDD和LPDD经由非易失性半导体存储器接口与所述设备通信。如果没有足够的空间可用,则控制模块将写数据存储到HPDD上。控制模块还包括LPDD维护模块,该LPDD维护模块在高功率模式期间将数据文件从LPDD转移到HPDD,以增加LPDD上的可用盘空间。LPDD维护模块基于以下至少一个转移数据文件:年限、大小以及在低功率模式中将来使用的可能性。
在其他特征中,HPDD包括直径大于1.8″的一个或多个盘片,并且所述LPDD包括直径小于等于1.8″的一个或多个盘片。
一种用于操作用于具有高功率模式和低功率模式的设备的盘驱动系统的方法,包括:提供低功率盘驱动器(LPDD)和高功率盘驱动器(HPDD);以及经由非易失性半导体存储器接口在LPDD和HPDD至少一个与所述设备之间通信。
在其他特征中,该方法包括标识LPDD中的LUB;在接收到数据存储请求和数据检索请求至少一个时在低功率模式期间有选择地将LUB转移到HPDD。该方法包括在用于写数据的存储请求期间,如果对于该写数据在LPDD上有足够的空间可用,则将该写数据转移到所述LPDD。该方法包括如果对于写数据在LPDD上没有足够的空间可用,则对HPDD供电,并且将LUB从LPDD转移到HPDD,然后将该写数据转移到LPDD。该方法包括在对于写数据在LPDD上没有足够的空间可用时,判断该写数据是否可能在LUB之前被使用。该方法包括如果写数据可能在LUB之后被使用,则将该写数据存储到HPDD上。该方法包括如果写数据可能在LUB之前被使用,则对HPDD供电,并且将LUB从LPDD转移到HPDD,然后将该写数据转移到LPDD。该方法包括在用于读数据的数据检索请求期间,如果该读数据存储在LPDD中,则从LPDD检索回该读数据。该方法包括:在读数据不位于LPDD上时,判断该读数据是否可能被使用一次;以及如果该读数据可能被使用一次,则从HPDD检索回该读数据。
在其他特征中,该方法包括如果读数据可能被使用多次,则如果对于该读数据在LPDD上有足够的空间可用则将该读数据从HPDD转移到LPDD。该方法包括如果读数据可能被使用多次,则如果对于该读数据在LPDD上没有足够的空间可用,则将LUB从LPDD转移到HPDD、并且将该读数据从HPDD转移到LPDD。该方法包括如果对于读数据在LPDD上有足够的空间可用,则将该读数据从HPDD转移到LPDD。该方法包括如果对于该读数据在LPDD上没有足够的空间可用,则将LUB从LPDD转移到HPDD、并且将该读数据从HPDD转移到LPDD。该方法包括如果该读数据不位于LPDD上,则从HPDD检索回该读数据。HPDD和LPDD经由非易失性半导体存储器接口与所述设备通信。该方法包括在低功率模式中用于写数据的存储请求期间,判断对于该写数据在LPDD上是否有足够的空间可用,并且如果有足够的空间可用则将该写数据转移到LPDD。
在其他特征中,HPDD和LPDD经由非易失性半导体存储器接口与所述设备通信。该方法包括如果没有足够的空间可用,则将写数据存储到HPDD上。该方法包括在高功率模式期间将数据文件从LPDD转移到HPDD,以增加LPDD上的可用盘空间。该方法包括基于以下至少一个转移数据文件:年限、大小以及在低功率模式中将来使用的可能性。
一种用于具有高功率模式和低功率模式的设备的盘驱动系统,包括用于与存储器接口连接的非易失性半导体存储器接口装置;低功率盘驱动器(LPDD);以及高功率盘驱动器(HPDD),其中,LPDD和HPDD至少一个经由非易失性半导体存储器接口装置与该设备通信。
在其他特征中,控制装置用于控制标识LPDD中的最少使用块(LUB)的LUB装置。该控制装置在接收到数据存储请求和数据检索请求至少一个时,在低功率模式期间有选择地将LUB转移到HPDD。在用于写数据的存储请求期间,如果对于该写数据在LPDD上有足够的空间可用,则控制装置将写数据转移到LPDD。如果对于写数据在LPDD上没有足够的空间可用,则控制装置对HPDD供电,并且将LUB从LPDD转移到HPDD,然后将该写数据转移到LPDD。控制装置包括自适应存储装置,该自适应存储装置用于在对于写数据在LPDD上没有足够的空间可用时判断该写数据是否可能在LUB之前被使用。如果写数据可能在所述LUB之后被使用,则控制装置将该写数据存储到HPDD上。如果写数据可能在LUB之前被使用,则控制装置对HPDD供电,并且将LUB从LPDD转移到HPDD,然后将该写数据转移到LPDD。在用于读数据的数据检索请求期间,如果该读数据存储在LPDD中,则控制装置从LPDD检索回该读数据。该控制装置包括自适应存储装置,该自适应存储装置用于在读数据不位于LPDD上时判断该读数据是否可能被使用一次,并且其中如果该读数据可能被使用一次,则控制装置从HPDD检索回该读数据。
在其他特征中,如果自适应存储装置判断读数据可能被使用多次,则如果对于该读数据在LPDD上有足够的空间可用则控制装置将该读数据从HPDD转移到LPDD。如果自适应存储装置判断读数据可能被使用多次,则如果对于该读数据在LPDD上没有足够的空间可用,则控制装置将LUB从LPDD转移到HPDD、并且将该读数据从HPDD转移到LPDD。如果对于读数据在LPDD上有足够的空间可用,则控制装置将该读数据从HPDD转移到LPDD。如果对于读数据在LPDD上没有足够的空间可用,则所述控制装置将LUB从LPDD转移到HPDD、并且将该读数据从HPDD转移到LPDD。如果读数据不位于LPDD上,则控制装置从HPDD检索回该读数据。HPDD包括直径大于1.8″的一个或多个盘片,并且LPDD包括直径小于等于1.8″的一个或多个盘片。
在其他特征中,HPDD和LPDD经由非易失性半导体存储器接口装置与所述设备通信。控制装置用于控制与LPDD和HPDD的通信。在低功率模式中用于写数据的存储请求期间,控制装置判断对于写数据在LPDD上是否有足够的空间可用,并且如果有足够的空间可用则将该写数据转移到LPDD。HPDD和LPDD经由非易失性半导体存储器接口装置与所述设备通信。如果没有足够的空间可用,则控制装置将写数据存储到HPDD上。控制装置还包括LPDD维护装置,该LPDD维护装置用于在高功率模式期间将数据文件从LPDD转移到HPDD,以增加LPDD上的可用盘空间。
在其他特征中,LPDD维护装置基于以下至少一个转移数据文件:年限、大小以及在低功率模式中将来使用的可能性。HPDD包括直径大于1.8″的一个或多个盘片,并且所述LPDD包括直径小于等于1.8″的一个或多个盘片。
一种用于包括低功率模式和高功率模式的设备的数据存储系统,包括低功率(LP)非易失性存储器,该LP非易失性存储器包括具有非易失性半导体存储器接口的LP硬盘驱动器(HDD)。该LPHDD经由所述非易失性半导体存储器接口与所述设备通信。高功率(HP)非易失性存储器与所述设备通信。
在其他特征中,缓存控制模块与LP和HP非易失性存储器通信,并且包括自适应存储模块。当写数据要被写到LP和HP非易失性存储器之一时,该自适应存储模块生成选择LP和HP非易失性存储器之一的自适应存储判决。HP非易失性存储器包括经由非易失性半导体存储器接口与所述设备通信的HPHDD。自适应判决是基于下述的至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。LPHDD包括一个或多个盘片。这一个或多个盘片直径小于等于1.8″。HP非易失性存储器包括包含一个或多个盘片的硬盘驱动器。这一个或多个盘片直径大于1.8″。
在其他特征中,缓存控制模块与LP和HP非易失性存储器通信,并且包括驱动器功率降低模块。当在低功率模式期间从HP非易失性存储器读取读数据并且读数据包括顺序存取数据文件时,驱动器功率降低模块计算用于将读数据的片断从HP非易失性存储器转移到LP非易失性存储器的突发时间段。HP非易失性存储器包括经由非易失性半导体存储器接口与所述设备通信的HPHDD。驱动器功率降低模块在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储器包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
在其他特征中,操作系统与LP和HP非易失性存储器通信,并且包括驱动器功率降低模块。当在低功率模式期间从HP非易失性存储器读取读数据并且该读数据包括顺序存取数据文件时,驱动器功率降低模块计算用于将读数据的片断从HP非易失性存储器转移到LP非易失性存储器的突发时间段。HP非易失性存储器包括与非易失性半导体存储器接口通信的HPHDD。驱动器功率降低模块在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储器包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
在其他特征中,主机控制模块与LP和HP非易失性存储器通信,并且包括自适应存储模块。当写数据要被写到LP和HP非易失性存储器之一时,该自适应存储模块生成选择LP和HP非易失性存储器之一的自适应存储判决。HP非易失性存储器包括与非易失性半导体存储器接口通信的HPHDD。自适应判决是基于下述至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。
在其他特征中,主机控制模块与LP和HP非易失性存储器通信,并且包括驱动器功率降低模块。当在低功率模式期间从HP非易失性存储器读取读数据并且读数据包括顺序存取数据文件时,驱动器功率降低模块计算用于将读数据的片断从HP非易失性存储器转移到LP非易失性存储器的突发时间段。HP非易失性存储器包括与非易失性半导体存储器接口通信的HPHDD。驱动器功率降低模块在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储器包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
在其他特征中,操作系统与LP和HP非易失性存储器通信,并且包括自适应存储模块。当写数据要被写到LP和HP非易失性存储器之一时,该自适应存储模块生成选择LP和HP非易失性存储器之一的自适应存储判决。HP非易失性存储器包括与非易失性半导体存储器接口通信的HPHDD。自适应判决是基于下述至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。
一种用于操作数据存储系统的方法,该数据存储系统用于包括低功率模式和高功率模式的设备,该方法包括:提供低功率(LP)非易失性存储器,该LP非易失性存储器包括具有非易失性半导体存储器接口的LP硬盘驱动器(HDD),其中,该LPHDD经由非易失性半导体存储器接口与所述设备通信;提供高功率(HP)非易失性存储器;以及基于所述设备的所选功率模式选择LP非易失性存储器和HP非易失性存储器至少一个。
在其他特征中,该方法包括当写数据要被写到LP和HP非易失性存储器之一时,生成选择LP和HP非易失性存储器之一的自适应存储判决。HP非易失性存储器包括经由非易失性半导体存储器接口与所述设备通信的HPHDD。自适应判决是基于下述至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。该方法包括当在低功率模式期间从HP非易失性存储器读取读数据并且读数据包括顺序存取数据文件时,计算用于将读数据的片断从HP非易失性存储器转移到LP非易失性存储器的突发时间段。HP非易失性存储器包括经由非易失性半导体存储器接口与所述设备通信的HPHDD。该方法包括在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储器包括高功率盘驱动器(HPDD)。
在其他特征中,该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。该方法包括当在低功率模式期间从HP非易失性存储器读取读数据并且该读数据包括顺序存取数据文件时,计算用于将读数据的片断从HP非易失性存储器转移到LP非易失性存储器的突发时间段。HP非易失性存储器包括与非易失性半导体存储器接口通信的HPHDD。该方法包括在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储器包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
一种用于包括低功率模式和高功率模式的设备的数据存储系统,包括:用于存储数据的低功率(LP)非易失性存储装置,该LP非易失性存储装置包括具有用于接口连接的非易失性半导体存储器接口装置的LP硬盘驱动器(HDD),其中,该LPHDD经由所述非易失性半导体存储器接口装置与所述设备通信;以及与所述设备通信的用于存储数据的高功率(HP)非易失性存储装置。
在其他特征中,缓存控制装置用于控制缓存与LP和HP非易失性存储装置的通信,并且包括自适应存储装置,该自适应存储装置用于当写数据要被写到LP和HP非易失性存储装置之一时,生成选择LP和HP非易失性存储装置之一的自适应存储判决。HP非易失性存储装置包括经由非易失性半导体存储器接口装置与所述设备通信的HPHDD。自适应判决是基于下述至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。LPHDD包括一个或多个盘片。这一个或多个盘片直径小于等于1.8″。HP非易失性存储装置包括包含一个或多个盘片的硬盘驱动器。这一个或多个盘片直径大于1.8″。
在其他特征中,缓存控制装置与LP和HP非易失性存储装置通信,并且包括驱动器功率降低装置,该驱动器功率降低装置用于当在低功率模式期间从HP非易失性存储装置读取读数据并且读数据包括顺序存取数据文件时,计算用于将读数据的片断从HP非易失性存储装置转移到LP非易失性存储装置的突发时间段。HP非易失性存储装置包括经由非易失性半导体存储器接口装置与所述设备通信的HPHDD。驱动器功率降低装置在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储装置包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
在其他特征中,操作系统与LP和HP非易失性存储装置通信,并且包括驱动器功率降低装置,该驱动器功率降低装置用于当在低功率模式期间从HP非易失性存储装置读取读数据并且该读数据包括顺序存取数据文件时,计算用于将读数据的片断从HP非易失性存储装置转移到LP非易失性存储装置的突发时间段。HP非易失性存储装置包括与非易失性半导体存储器接口装置通信的HPHDD。驱动器功率降低装置在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储装置包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
在其他特征中,主机控制装置用于控制与LP和HP非易失性存储装置的通信,并且包括自适应存储装置,该自适应存储装置用于当写数据要被写到LP和HP非易失性存储装置之一时,生成选择LP和HP非易失性存储装置之一的自适应存储判决。HP非易失性存储装置包括与非易失性半导体存储器接口装置通信的HPHDD。自适应判决是基于下述的至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。
在其他特征中,主机控制装置用于控制与LP和HP非易失性存储装置的通信,并且包括驱动器功率降低装置,该驱动器功率降低装置用于当在低功率模式期间从HP非易失性存储装置读取读数据并且读数据包括顺序存取数据文件时,计算用于将读数据的片断从HP非易失性存储装置转移到LP非易失性存储装置的突发时间段。HP非易失性存储装置包括与非易失性半导体存储器接口装置通信的HPHDD。驱动器功率降低装置在低功率模式期间回放读数据时,选择突发时间段来降低功耗。HP非易失性存储装置包括高功率盘驱动器(HPDD)。该突发时间段是基于以下至少一个的:LPHDD的起动时间;HPDD的起动时间;LPHDD的功耗;HPDD的功耗;读数据的回放长度;以及LPHDD的容量。
在其他特征中,操作系统与LP和HP非易失性存储装置通信,并且包括自适应存储装置,该自适应存储装置用于当写数据要被写到LP和HP非易失性存储装置之一时,生成选择LP和HP非易失性存储装置之一的自适应存储判决。HP非易失性存储装置包括与非易失性半导体存储器接口装置通信的HPHDD。自适应判决是基于下述至少一个的:与对写数据的在先使用相关联的功率模式;写数据的大小;写数据的最近使用日期;以及写数据的手动取代状态。
一种在低功率模式和高功率模式中工作的设备,包括:易失性存储器;非易失性存储器,该非易失性存储器包括具有非易失性半导体存储器接口的低功率(LP)硬盘驱动器(HDD)和具有非易失性半导体存储器接口的高功率HDD;以及操作系统,该操作系统包括虚拟存储器调节模块,该虚拟存储器调节模块能够将非易失性存储器的至少一部分指派用作页面文件来增大设备系统的虚拟存储器。
一种具有高功率模式和低功率模式的处理设备,包括:与该处理设备通信的第一非易失性存储器,其存储在高功率模式期间由该处理设备执行的第一操作系统;以及与该处理设备通信的第二非易失性存储器,其存储在低功率模式期间由该处理设备执行的第二操作系统,其中第二非易失性存储器包括具有非易失性半导体存储器接口的低功率(LP)硬盘驱动器(HDD)。
在其他特征中,第一非易失性存储器包括与非易失性半导体存储器接口通信并且存储第一操作系统的高功率(HP)HDD。主处理设备与第一非易失性存储器通信,并且在高功率模式期间执行第一操作系统。次处理设备与第二非易失性存储器通信,并且在低功率模式期间执行第二操作系统。第一操作系统是全功能操作系统,并且第二操作系统是功能受限操作系统。主图形处理设备与第一非易失性存储器通信,并且在高功率模式期间支持全功能图形处理;并且次图形处理设备与第二非易失性存储器通信,并且在低功率模式期间支持功能受限图形处理。全功能操作系统和功能受限操作系统共享公共数据格式。
一种在低功率模式和高功率模式中工作的设备,包括:用于存储数据的易失性存储装置;用于存储数据的非易失性存储装置,该非易失性存储装置包括具有用于接口连接的非易失性半导体存储器接口装置的低功率(LP)硬盘驱动器(HDD),和具有用于接口连接的非易失性半导体存储器接口装置的高功率HDD至少一个;以及操作系统,该操作系统包括虚拟存储器调节装置,该虚拟存储器调节装置能够将非易失性存储装置的至少一部分指派用作页面文件来增大设备系统的虚拟存储装置。
一种具有高功率模式和低功率模式的处理设备,包括:与该处理设备通信的用于存储数据的第一非易失性存储装置,其存储在高功率模式期间由该处理设备执行的第一操作系统;以及与该处理设备通信的用于存储数据的第二非易失性存储装置,其存储在低功率模式期间由该处理设备执行的第二操作系统,其中第二非易失性存储装置包括具有用于接口连接的非易失性半导体存储器接口装置的低功率(LP)硬盘驱动器(HDD)。
在其他特征中,第一非易失性存储装置包括与非易失性半导体存储器接口装置通信并且存储第一操作系统的高功率(HP)HDD。主处理装置与第一非易失性存储装置通信,并且在高功率模式期间执行第一操作系统。次处理装置与第二非易失性存储装置通信,并且在低功率模式期间执行第二操作系统。第一操作系统是全功能操作系统,并且第二操作系统是功能受限操作系统。
在其他特征中,主图形处理装置与第一非易失性存储装置通信,并且在高功率模式期间支持全功能图形处理;并且次图形处理装置与第二非易失性存储装置通信,并且在低功率模式期间支持功能受限图形处理。全功能操作系统和功能受限操作系统共享公共数据格式。
一种用于在低功率模式和高功率模式中操作设备的方法,包括:提供易失性存储器和非易失性存储器,该非易失性存储器包括具有非易失性半导体存储器接口的低功率(LP)硬盘驱动器(HDD)和具有非易失性半导体存储器接口的高功率HDD;以及使用操作系统来使得能够将非易失性存储器的至少一部分指派用作页面文件从而增大所述设备的虚拟存储器。
一种用于操作具有高功率模式和低功率模式的处理设备的方法,包括:提供与该处理设备通信的第一非易失性存储器;在该第一非易失性存储器中存储第一操作系统;在高功率模式期间利用该处理设备执行第一操作系统;提供与该处理设备通信的第二非易失性存储器;在该第二非易失性存储器中存储第二操作系统;在低功率模式期间利用该处理设备执行第二操作系统。第二非易失性存储器包括具有非易失性半导体存储器接口的低功率(LP)硬盘驱动器(HDD)。
在其他特征中,第一非易失性存储器包括与非易失性半导体存储器接口通信并且存储第一操作系统的高功率(HP)HDD。该方法包括:提供主处理设备,该主处理设备与第一非易失性存储器通信,并且在高功率模式期间执行第一操作系统;以及提供次处理设备,该次处理设备与第二非易失性存储器通信,并且在低功率模式期间执行第二操作系统。第一操作系统是全功能操作系统,并且第二操作系统是功能受限操作系统。该方法包括:提供主图形处理设备,该主图形处理设备与第一非易失性存储器通信,并且在高功率模式期间支持全功能图形处理;以及提供次图形处理设备,该次图形处理设备与第二非易失性存储器通信,并且在低功率模式期间支持功能受限图形处理。该方法包括在全功能操作系统和功能受限操作系统之间共享公共数据格式。
在任意一个前述实现方式中,具有非易失性半导体存储器接口的HDD包括非易失性半导体存储器接口,其中该非易失性半导体存储器接口包括与控制模块通信的接口信号线。缓冲存储器存储从控制模块和从LPDD接收到的数据。闪存控制器通过非易失性半导体存储器接口利用接口信号线模拟LPDD的数据转移协议。存储器交换器与接口控制器和缓冲区管理器通信。该存储器交换器根据控制模块和HDD的数据转移速率对缓冲区存储器进行控制。
在其他特征中,闪存控制器对接口信号线进行控制来实现对HDD的随机读取,并且对接口信号线进行控制来实现对HDD的随机写入。闪存控制器对接口信号线进行控制来实现对HDD的顺序读取,并且对接口信号线进行控制来实现对HDD的顺序写入。闪存控制器对接口信号线进行控制来实现控制模块和HDD之间的命令转移。
在其他特征中,闪存控制器将一组HDD命令映射到相应的一组闪存命令。寄存器存储器经由处理器总线与接口控制器和HDD处理器通信。寄存器存储器存储由HDD处理器和控制模块编程的命令。闪存控制器将来自HDD的读数据存储到缓冲存储器中来对控制模块和HDD之间的数据转移速率差进行补偿,并且向控制模块发送数据就绪信号来指示在存储器缓冲区中存在数据。闪存控制器将来自控制模块的写数据存储到缓冲区存储器中来对控制模块和HDD之间的数据转移速率差进行补偿,并且向控制模块发送数据就绪信号来指示在存储器缓冲区中存在数据。非易失性半导体存储器接口是NAND型非易失性半导体存储器接口。
在其他特征中,非易失性半导体存储器接口包括闪存接口。非易失性半导体存储器接口装置包括闪存接口。
本发明的其他应用领域将从以下所提供的详细描述中变得清楚。应该理解,详细描述和具体示例虽然指示本发明的优选实施例,但希望是仅仅用于说明的目的,不希望限制本发明的范围。
附图说明
将从详细描述和附图中更充分地理解本发明,其中:
图1A和图1B示出了根据现有技术的示例性计算机体系结构;
图2A示出了根据本发明的第一示例性计算机体系结构,该计算机体系结构包括在高功率模式期间工作的主处理器、主图形处理器和主易失性存储器,以及与主处理器通信、在低功率模式期间工作并且在低功率模式期间采用主易失性存储器的次处理器和次图形处理器;
图2B示出了根据本发明的第二示例性计算机体系结构,该计算机体系结构与图2A类似,但是包括连接到次处理器和/或次图形处理器的次易失性存储器;
图2C示出了根据本发明的第三示例性计算机体系结构,该计算机体系结构与图2A类似,但是包括与次处理器和/或次图形处理器相关联的嵌入式易失性存储器;
图3A示出了根据本发明的第四示例性体系结构,该体系结构用于具有在高功率模式期间工作的主处理器、主图形处理器和主易失性存储器以及与处理芯片组通信、在低功率模式期间工作并且在低功率模式期间采用主易失性存储器的次处理器和次图形处理器的计算机;
图3B示出了根据本发明的第五示例性计算机体系结构,该计算机体系结构与图3A类似,但是包括连接到次处理器和/或次图形处理器的次易失性存储器;
图3C示出了根据本发明的第六示例性计算机体系结构,该计算机体系结构与图3A类似,但是包括与次处理器和/或次图形处理器相关联的嵌入式易失性存储器;
图4A示出了根据本发明的第七示例性体系结构,该体系结构用于具有与I/O芯片组通信、在低功率模式期间工作并且在低功率模式期间采用主易失性存储器的次处理器和次图形处理器的计算机;
图4B示出了根据本发明的第八示例性计算机体系结构,该计算机体系结构与图4A类似,但是包括连接到次处理器和/或次图形处理器的次易失性存储器;
图4C示出了根据本发明的第九示例性计算机体系结构,该计算机体系结构与图4A类似,但是包括与次处理器和/或次图形处理器相关联的嵌入式易失性存储器;
图5示出了根据本发明的用于图2A-4C的计算机体系结构的缓存层级;
图6是包括最少使用块(LUB)模块并且管理低功率盘驱动器(LPDD)和高功率盘驱动器(HPDD)之间的数据存储和转移的驱动控制模块的功能框图;
图7A是示出了由图6的驱动控制模块所执行的步骤的流程图;
图7B是示出了由图6的驱动控制模块所执行的备选步骤的流程图;
图7C和图7D是示出了由图6的驱动控制模块所执行的备选步骤的流程图;
图8A示出了包括自适应存储控制模块并且控制LPDD和HPDD之间的数据存储和转移的缓存控制模块;
图8B示出了包括自适应存储控制模块并且控制LPDD和HPDD之间的数据存储和转移的操作系统;
图8C示出了包括自适应存储控制模块并且控制LPDD和HPDD之间的数据存储和转移的主机控制模块;
图9示出了由图8A-8C的自适应存储控制模块所执行的步骤;
图10是示出了一种用于确定程序或文件在低功率模式期间将被使用的可能性的方法的示例性表;
图11A示出了包括盘驱动器功率降低模块的缓存控制模块;
图11B示出了包括盘驱动器功率降低模块的操作系统;
图11C示出了包括盘驱动器功率降低模块的主机控制模块;
图12示出了由图11A-11C的盘驱动器功率降低模块所执行的步骤;
图13示出了包括高功率盘驱动器(HPDD)和低功率盘驱动器(LPDD)的多盘驱动系统;
图14-17示出了图13的多盘驱动系统的其他示例性实现方式;
图18示出了用于增加计算机的虚拟存储器的诸如闪存或低功率盘驱动器(LPDD)之类的低功率非易失性存储器的使用;
图19和图20示出了由操作系统执行的分配和使用图18的虚拟存储器的步骤;
图21是根据现有技术的独立盘冗余阵列(RAID)系统的功能框图;
图22A是根据本发明的示例性RAID系统的功能框图,该RAID系统具有包括X个HPDD的盘阵列和包括Y个LPDD的盘阵列;
图22B是图22A的RAID系统的功能框图,其中X和Y等于Z;
图23A是根据本发明的另一示例性RAID系统的功能框图,该RAID系统具有包括Y个LPDD的盘阵列,包括Y个LPDD的盘阵列与包括X个HPDD的盘阵列通信;
图23B是图23A的RAID系统的功能框图,其中X和Y等于Z;
图24A是根据本发明的另一示例性RAID系统的功能框图,该RAID系统具有包括X个HPDD的盘阵列,包括X个HPDD的盘阵列与包括Y个LPDD的盘阵列通信;
图24B是图24A的RAID系统的功能框图,其中X和Y等于Z;
图25是根据现有技术的网络附接存储(NAS)系统的功能框图;
图26是根据本发明的网络附接存储(NAS)系统的功能框图,该网络附接存储系统包括图22A、22B、23A、23B、24A和/或24B的RAID系统和/或根据图6-17的多驱动系统;
图27是包括闪存和盘驱动接口控制器的盘驱动控制器的功能框图;
图28是图27的接口控制器的功能框图;
图29是具有闪存接口的多盘驱动系统的功能框图;以及
图30是示出了由图30的多盘驱动器所执行的步骤的流程图。
具体实施方式
对优选实施例的下列描述实际上仅是示例性的,决不希望限制本发明及其应用或使用。为了清楚起见,在附图中将使用相同的标号来标识类似的元件。这里所使用的术语模块和/或器件指的是专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享处理器、专用处理器或处理器组)和存储器、组合逻辑电路和/或提供所述功能的其他合适组件。
这里所使用的术语“高功率模式”指的是主机设备的主机处理器和/或主图形处理器的活动(active)操作。术语“低功率模式”指的是在次处理器和次图形处理器可操作时主处理器和/或主图形处理器的低功率休眠模式、关闭模式和/或不响应模式。“关闭模式”指的是主处理器和次处理器都关闭时的情况。
术语“低功率盘驱动器”或LPDD指的是具有一个或多个直径小于或等于1.8″的盘片的盘驱动器和/或微驱动器。术语“高功率盘驱动器”或HPDD指的是具有一个或多个直径大于1.8″的盘片的硬盘驱动器。LPDD一般比HPDD具有更低的存储容量并消耗更少的功率。LPDD还以比HPDD更高的速度旋转。例如,LPDD可以达到10,000-20,000RPM或更高的转速。
术语具有非易失性存储器接口(IF)的HDD指的是可经由主机的标准半导体存储器接口连接到主机设备的硬盘驱动器。例如,半导体存储器接口可以是闪存接口。
具有非易失性存储器IF的HDD使用非易失性存储器接口协议经由非易失性存储器接口与主机通信。主机和具有非易失性存储器接口的HDD所使用的非易失性存储器接口可以包括具有闪存接口的闪存、具有NAND闪存接口的NAND闪存或任何其他类型的半导体存储器接口。具有非易失性存储器IF的HDD可以是LPDD和/或HPDD。在下面将结合图27和图28进一步描述具有非易失性存储器IF的HDD。涉及具有闪存IF的HDD操作的另外细节可以在2005年12月29日提交的美国专利申请No.11/322,447中找到,通过引用将该申请的全部合并于此。在下面所述的每个实现方式中,LPDD可以用具有非易失性存储器IF的HDD(被实现为HPDD和/或LPDD)实现。或者,具有非易失性存储器IF的HDD可以是除了所公开的LPDD和/或HPDD之外被使用的LPDD和/或HPDD。
根据本发明的计算机体系结构包括在高功率模式期间工作的主处理器、主图形处理器和主存储器(如结合图1A和图1B的描述)。次处理器和次图形处理器在低功率模式期间工作。如下所述,次处理器和次图形处理器可以连接到计算机的各种组件。主易失性存储器可以在低功率模式期间被次处理器和次图形处理器使用。或者,如下所述,可以使用诸如DRAM之类的次易失性存储器和/或诸如嵌入式DRAM之类的嵌入式次易失性存储器。
主处理器和主图形处理器在高功率模式下工作时消耗较高的功率。主处理器和主图形处理器执行需要较大量外部存储器的全功能操作系统(OS)。主处理器和主图形处理器支持高性能操作,包括复杂计算和高级图形。全功能OS可以是诸如Windows之类的基于的OS、基于Linux的OS、基于的OS等。全功能OS存储在HPDD15和/或50中。
次处理器和次图形处理器在低功率模式期间消耗较少的功率(与主处理器和主图形处理器相比)。次处理器和次图形处理器运行需要较少量外部易失性存储器的功能受限(restricted-feature)操作系统(OS)。次处理器和次图形处理器也可以与主处理器使用相同的OS。例如,可以使用全功能OS的精简版本。次处理器和次图形处理器支持较低性能的操作、较低的计算速率和不那么高级的图形。例如,功能受限OS可以是Windows或任何其他合适的功能受限OS。功能受限OS优选地存储在诸如闪存、具有非易失性存储器IF的HDD、HPDD和/或LPDD之类的非易失性存储器中。在优选的实施例中,全功能OS和功能受限OS共享一个共用数据格式以减小复杂性。
主处理器和/或主图形处理器优选地包括使用具有较小的特征尺寸的制造工艺所实现的晶体管。在一种实现方式中,这些晶体管用高级CMOS制造工艺实现。在主处理器和/或主图形处理器中所实现的晶体管具有较高的待机漏电、较短的沟道并且针对高速而设计尺寸。主处理器和主图形处理器优选地采用主要是动态的逻辑。换句话说,它们不能被关闭。虽然可以使用其他的占空比,但是这些晶体管以小于约20%并且优选地小于约10%的占空比被切换。
相反,次处理器和/或次图形处理器优选地包括用这样一种制造工艺所实现的晶体管,这种制造工艺比用于主处理器和/或主图形处理器的工艺具有更大的特征尺寸。在一种实现方式中,这些晶体管用规则的CMOS制造工艺实现。在次处理器和/或次图形处理器中所实现的晶体管具有较低的待机漏电、较长的沟道并且针对低功耗而设计尺寸。次处理器和次图形处理器优选地采用主要是静态的逻辑,而不是动态逻辑。虽然可以使用其他的占空比,但是这些晶体管以大于80%并且优选地大于90%的占空比被切换。
主处理器和主图形处理器在高功率模式下工作时消耗较高的功率。次处理器和次图形处理器在低功率模式下工作时消耗较少的功率。然而在低功率模式下,计算机体系结构比在高功率模式下工作时能够支持更少的特征和计算以及不那么复杂的图形。本领域技术人员可以知道根据本发明的计算机体系结构具有很多种实现方法。因此,本领域技术人员将会知道下面结合图2A-4C所描述的体系结构实际上仅是示例性的而不是限制性的。
现在参照图2A,示出了第一示例性计算机体系结构60。主处理器6、易失性存储器9和主图形处理器11与接口8通信并且在高功率模式期间支持复杂的数据和图形处理。次处理器62和次图形处理器64与接口8通信并且在低功率模式期间支持不那么复杂的数据和图形处理。可选的非易失性存储器65例如是LPDD66和/或闪存和/或具有非易失性存储器IF的HDD69,它与接口8通信并且在低功率模式和/或高功率模式期间提供数据的低功率非易失性存储。具有非易失性存储器IF的HDD可以是LPDD和/或HPDD。HPDD15提供高功率/容量非易失性存储器。非易失性存储器65和/或HPDD15在低功率模式期间用于存储功能受限OS和/或其他数据和文件。
在该实施例中,次处理器62和次图形处理器64在低功率模式下工作期间采用易失性存储器9(或主存储器)。为此,接口8的至少一部分在低功率模式期间被供电以支持与主存储器的通信和/或在低功率模式期间被供电的组件之间的通信。例如,键盘13、点选设备14和主显示器16可以在低功率模式期间被供电和使用。在结合图2A-4C所描述的所有实施例中,具有被缩减的能力的次显示器(例如单色显示器)和/或次输入/输出设备也可以在低功率模式期间被提供和使用。
现在参照图2B,示出了类似于图2A中的体系结构的第二示例性计算机体系结构70。在该实施例中,次处理器62和次图形处理器64与次易失性存储器74和/或76通信。次易失性存储器74和76可以是DRAM或其他合适的存储器。在低功率模式期间,次处理器62和次图形处理器64除了利用图2A所示和所述的主易失性存储器9之外还分别利用次易失性存储器74和/或76,或者分别利用次易失性存储器74和/或76而不是图2A所示和所述的主易失性存储器9。
现在参照图2C,示出了类似于图2A的第三示例性计算机体系结构80。次处理器62和/或次图形处理器64分别包括嵌入式易失性存储器84和86。在低功率模式期间,次处理器62和次图形处理器64除了利用主易失性存储器之外还分别利用嵌入式易失性存储器84和/或86,或者分别利用嵌入式易失性存储器84和/或86而不是主易失性存储器。在一个实施例中,虽然可以使用其他类型的嵌入式易失性存储器,但是嵌入式易失性存储器84和86是嵌入式DRAM(eDRAM)。
现在参照图3A,示出了根据本发明的第四示例性计算机体系结构100。主处理器25、主图形处理器26和主易失性存储器28与处理芯片组22通信并且在高功率模式期间支持复杂的数据和图形处理。次处理器104和次图形处理器108在计算机处于低功率模式下时支持不那么复杂的数据和图形处理。在该实施例中,次处理器104和次图形处理器108在低功率模式下工作时采用主易失性存储器28。为此,处理芯片组22在低功率模式期间可以被全供电和/或部分供电以辅助它们之间的通信。HPDD50在低功率模式期间可以被供电以提供高功率易失性存储器。低功率非易失性存储器109(LPDD110和/或闪存和/或具有非易失性存储器IF的HDD113)连接到处理芯片组22、I/O芯片组24或者在另一位置,并且存储用于低功率模式的功能受限操作系统。具有非易失性存储器IF的HDD可以是LPDD和/或HPDD。
处理芯片组22可以被全供电和/或部分供电以支持HPDD50、LPDD110和/或其他将在低功率模式期间使用的组件的操作。例如,在低功率模式期间可以使用键盘和/或点选设备42和主显示器。
现在参照图3B,示出了类似于图3A的第五示例性计算机体系结构150。次易失性存储器154和158分别连接到次处理器104和/或次图形处理器108。在低功率模式期间,次处理器104和次图形处理器108分别利用次易失性存储器154和158而不是主易失性存储器28,或者除了利用主易失性存储器28之外还分别利用次易失性存储器154和158。处理芯片组22和主易失性存储器28在低功率模式期间如果希望的话则可以被关闭。次易失性存储器154和158可以是DRAM或其他合适的存储器。
现在参照图3C,示出了类似于图3A的第六示例性计算机体系结构170。次处理器104和/或次图形处理器108分别包括嵌入式存储器174和176。在低功率模式期间,次处理器104和次图形处理器108分别利用嵌入式存储器174和176而不是主易失性存储器28,或者除了主易失性存储器28之外还分别利用嵌入式存储器174和176。在一个实施例中,虽然可以使用其他类型的嵌入式存储器,但是嵌入式易失性存储器174和176是嵌入式DRAM(eDRAM)。
现在参照图4A,示出了根据本发明的第七示例性计算机体系结构190。次处理器104和次图形处理器108与I/O芯片组24通信并且在低功率模式期间采用主易失性存储器28作为易失性存储器。在低功率模式期间,处理芯片组22保持被全供电和/或部分供电以允许对主易失性存储器28的存取。
现在参照图4B,示出了类似于图4A的第八示例性计算机体系结构200。次易失性存储器154和158分别连接到次处理器104和次图形处理器108,并且在低功率模式期间使用次易失性存储器154和158而不是主易失性存储器28,或者除了使用主易失性存储器28之外还使用次易失性存储器154和158。处理芯片组22和主易失性存储器28在低功率模式期间可以被关闭。
现在参照图4C,示出了类似于图4A的第九示例性计算机体系结构210。除了主易失性存储器28之外分别为次处理器104和/或次图形处理器108提供嵌入式易失性存储器174和176,或者分别为次处理器104和/或次图形处理器108提供嵌入式易失性存储器174和176而不是主易失性存储器28。在该实施例中,处理芯片组22和主易失性存储器28在低功率模式期间可以被关闭。
现在参照图5,示出了用于图2A-4C所示的计算机体系结构的缓存层级250。HP非易失性存储器HPDD50位于缓存层级250的最低层254处。如果HPDD50被禁用,则在低功率模式期间可以使用也可以不使用层254,而如果在低功率模式期间HPDD50被使能,则将使用层254。诸如LPDD110、闪存和/或具有非易失性存储器IF的HDD113的LP非易失性存储器位于缓存层级250的更上一层258处。取决于配置,诸如主易失性存储器、次易失性存储器和/或次嵌入式存储器的外部易失性存储器是缓存层级250的更上一层262。2级或次缓存包括缓存层级250的更上一层266。1级缓存是缓存层级250的更上一层268。CPU(主CPU和/或次CPU)是缓存层级的最后层270。主图形处理器和次图形处理器使用类似的层级。
根据本发明的计算机体系结构提供一种低功率模式,该模式支持不那么复杂的处理和图形。因此,计算机的功耗可以被大大降低。对于膝上型应用,电池寿命被延长。
现在参照图6,用于多盘驱动系统的驱动控制模块300或主机控制模块包括最少使用块(LUB)模块304、自适应存储模块306和/或LPDD维护模块308。驱动控制模块300部分地基于LUB信息,控制数据的存储和在诸如硬盘驱动器的高功率盘驱动器(HPDD)310与诸如微驱动器的低功率盘驱动器(LPDD)312之间的转移。驱动控制模块300在高功率模式和低功率模式期间通过管理数据的存储和在HPDD与LPDD之间的转移而降低功耗。如图6中可见,具有非易失性存储器IF的HDD317可以用作LPDD,并且/或者除了LPDD之外还可以使用具有非易失性存储器IF的HDD317。驱动控制模块300经由主机非易失性存储器IF315和主机313而与具有非易失性存储器IF的HDD317通信。驱动控制模块300可以与主机313和/或主机非易失性存储器IF315集成。
最少使用块模块304跟踪LPDD312中的最少使用数据块。在低功率模式期间,最少使用块模块304识别LPDD312中数据(例如文件和/或程序)的最少使用块,以使得需要时可以将其替换。某些数据块或文件可以免除最少使用块监控,例如仅涉及功能受限操作系统的文件、被手动设定为存储在LPDD312中的块和/或仅在低功率模式期间被操作的其他文件和程序。如下所述,还可以使用其他标准来选择将被覆写的数据块。
在低功率模式的数据存储请求期间,自适应存储模块306确定写数据是否更可能在最少使用块之前被使用。自适应存储模块306还确定读数据是否可能在低功率模式的数据检索请求期间仅被使用一次。LPDD维护模块308在高功率模式期间并且/或者在如下所述的其他情况下将旧数据从LPDD转移到HPDD。
现在参照图7A,示出了由驱动控制模块300所执行的步骤。控制开始于步骤320。在步骤324中,驱动控制模块300确定是否存在数据存储请求。如果步骤324的判断结果为真,则驱动控制模块300在步骤328中确定LPDD312上是否存在足够的可用空间。如果没有足够的可用空间,则驱动控制模块300在步骤330中为HPDD310供电。在步骤334中,驱动控制模块300将最少使用数据块转移到HPDD310。在步骤336中,驱动控制模块300确定LPDD312上是否存在足够的可用空间。如果没有足够的可用空间,则控制循环到步骤334。否则,驱动控制模块300继续步骤340并且关掉HPDD310。在步骤344中,将要存储的数据(例如来自主机)被转移到LPDD312。
如果步骤324的判断结果为假,则驱动控制模块300继续步骤350并且确定是否存在数据检索请求。如果没有数据检索请求,则控制返回步骤324。否则,控制继续步骤354并且确定数据是否位于LPDD312中。如果步骤354的判断结果为真,则驱动控制模块300在步骤356中从LPDD312检索数据并且继续步骤324。否则,驱动控制模块300在步骤360中为HPDD310供电。在步骤364中,驱动控制模块300确定LPDD上是否存在足够的可用空间用于所请求的数据。如果没有足够的可用空间,则驱动控制模块300在步骤366中将最少使用数据块转移到HPDD310并且继续步骤364。当步骤364的判断结果为真时,驱动控制模块300在步骤368中将数据转移到LPDD312并且从LPDD312检索数据。在步骤370中,当数据到LPDD312的转移完成时,控制关掉HPDD310。
现在参照图7B,使用类似于图7A的修改后的方法,该方法包括由自适应存储模块306所执行的一个或多个自适应步骤。当在步骤328中确定LPDD上没有足够的可用空间时,则在步骤372中,控制确定将要存储的数据是否可能在由最少使用块模块所识别的一个或多个最少使用块中的数据之前被使用。如果步骤372的判断结果为假,则驱动控制模块300在步骤374中将数据存储在HPDD上并且控制继续步骤324。通过这样做,节省了将(一个或多个)最少使用块转移到LPDD所消耗的功率。如果步骤372的判断结果为真,则控制继续上面参照图7A所描述的步骤330。
当步骤354在数据检索请求期间的判断结果为假时,控制继续步骤376并且确定数据是否可能被使用一次。如果步骤376的判断结果为真,则驱动控制模块300在步骤378中从HPDD检索数据并且继续步骤324。通过这样做,节省了将数据转移到LPDD将要消耗的功率。如果步骤376的判断结果为假,则控制继续步骤360。可以知道,如果数据可能被使用一次,则不必将数据移到LPDD。然而,HPDD的功耗不能避免。
现在参照图7C,也可以在低功率工作期间执行更简化形式的控制。也可以在高功率模式和/或低功率模式期间执行维护步骤(用LPDD维护模块308)。在步骤328中,当LPDD上存在足够的可用空间时,数据在步骤344中被转移到LPDD并且控制返回步骤324。否则,当步骤328的判断结果为假时,数据在步骤380中被存储在HPDD上并且控制返回步骤324。可以知道,图7C所示的方法在LPDD容量可用时使用LPDD,在LPDD容量不可用时使用HPDD。本领域技术人员将会知道可以用图7A-7D的步骤的各种组合来采用混合方法。
在图7D中,在返回高功率模式之后和/或在其他时间由驱动控制模块300执行维护步骤以删除存储在LPDD上的不用或很少用的文件。该维护步骤也可以在低功率模式中执行,在使用期间周期性地执行,在诸如盘满事件的事件发生之后执行并且/或者在其他情况下执行。控制开始于步骤390。在步骤392中,控制确定是否在使用高功率模式。如果不是在使用高功率模式,则控制循环回步骤392。如果步骤392的判断结果为真,则在步骤394中,控制确定上一模式是否是低功率模式。如果不是,则控制返回步骤392。如果步骤394的判断结果为真,则在步骤396中,控制执行维护,例如将旧文件或很少用的文件从LPDD移到HPDD。例如使用如上所述和下面参照图8A-10所描述的标准,也可以对将来可能使用的文件做出自适应判决。
现在参照图8A至图8C,示出了存储控制系统400-1、400-2和400-3。在图8A中,存储控制系统400-1包括具有自适应存储控制模块414的缓存控制模块410。自适应存储控制模块414监控文件和/或程序的使用以确定它们是可能在低功率模式还是高功率模式下使用。缓存控制模块410与一条或多条数据总线416通信,而数据总线416与易失性存储器422通信,易失性存储器422例如是L1缓存、L2缓存、诸如DRAM的易失性RAM和/或其他易失性电子数据存储装置。总线416还与低功率非易失性存储器424(例如闪存、具有非易失性存储器IF的HDD和/或LPDD)和诸如HPDD的高功率非易失性存储器426通信。在图8B中,所示出的全功能和/或受限特征操作系统430包括自适应存储控制模块414。合适的接口和/或控制器(未示出)位于数据总线与HPDD和/或LPDD之间。
在图8C中,主机控制模块440包括自适应存储控制模块414。主机控制模块440与LPDD424′和硬盘驱动器426′通信。主机控制模块440可以是驱动控制模块、集成器件电路(IDE)、ATA、串行ATA(SATA)或其他控制器。如图8C中可见,具有非易失性存储器IF的HDD431可以用作LPDD,并且/或者除了LPDD之外还可以使用具有非易失性存储器IF的HDD431。主机控制模块440经由主机非易失性存储器IF429与具有非易失性存储器IF的HDD431通信。主机控制模块440可以与主机非易失性存储器IF429集成。
现在参照图9,示出了由图8A-8C中的存储控制系统所执行的步骤。在图9中,控制开始于步骤460。在步骤462中,控制确定是否存在将数据存储到非易失性存储器的请求。如果没有该请求,则控制循环回步骤462。否则,自适应存储控制模块414在步骤464中确定数据是否可能在低功率模式下使用。如果步骤464的判断结果为假,则在步骤468中,数据被存储在HPDD中。如果步骤464的判断结果为真,则在步骤474中,数据被存储在非易失性存储器444中。
现在参照图10,示出了确定数据块是否可能在低功率模式下使用的一种方法。表490包括数据块描述符字段492、低功率计数器字段493、高功率计数器字段494、大小字段495、上次使用字段496和/或手动取代字段(manualoverridefield)497。当特定程序或文件在低功率模式或高功率模式期间被使用时,计数器字段493和/或494递增。当需要将程序或文件的数据存储到非易失性存储器时,表492被访问。阈值百分比和/或计数值可用于评估。例如,如果在低功率模式中文件或程序的使用时间大于80%,则文件可以被存储在低功率非易失性存储器中,低功率非易失性存储器例如是闪存、具有非易失性存储器IF的HDD和/或微驱动器。如果未达到阈值,则文件或程序被存储在高功率非易失性存储器中。
可以知道,在预定数目的采样之后(换句话说,就是提供滚动窗)并且/或者使用任何其他标准可以周期性地将计数器复位。此外,可能性(likelihood)可以被加权、修改并且/或者被大小字段495替换。换句话说,随着文件大小的增大,所需要的阈值可能因为LPDD的有限容量而被增大。
对使用可能性的进一步修改的判决可以在如上次使用字段496所记录的自从文件上次被使用起的时间的基础上做出。在可能性确定中可以使用阈值日期和/或自从上次使用起的时间作为一个因素。虽然在图10中示出了一个表,但是所使用的一个或多个字段可以被存储在其他位置和/或其他数据结构中。可以使用两个或多个字段的算法和/或加权采样。
使用手动取代字段497允许用户和/或操作系统手动取代使用的可能性判决。例如,手动取代字段可以允许针对LPDD中的缺省存储的L状态,针对HPDD中的缺省存储的H状态,以及/或者对应于自动存储判决的A状态(如上所述)。可以定义其他的手动取代分类。除了上述标准,可以使用工作在LPDD下的计算机的当前功率水平来调整判决。本领域技术人员将会知道存在其他用于确定文件或程序在高功率模式或低功率模式下将被使用的可能性的方法,这些方法落在本发明的教导范围内。
现在参照图11A至图11C,示出了驱动功率降低系统500-1、500-2和500-3(共同称为500)。驱动功率降低系统500在周期或其他基础上将较大的顺序存取文件段爆发(burst)到低功率非易失性存储器上,所述较大的顺序存取文件例如是但不局限于音频和/或视频文件。在图11A中,驱动功率降低系统500-1包括具有驱动功率降低控制模块522的缓存控制模块520。缓存控制模块520与一条或多条数据总线526通信,而数据总线526与易失性存储器530、非易失性存储器534和HPDD538通信,易失性存储器530例如是L1缓存、L2缓存、诸如DRAM的易失性RAM和/或其他易失性电子数据存储装置,非易失性存储器534例如是闪存、具有非易失性存储器IF的HDD和/或LPDD。在图11B中,驱动功率降低系统500-2包括具有驱动功率降低控制模块522的全功能和/或功能受限操作系统542。合适的接口和/或控制器(未示出)位于数据总线与HPDD和/或LPDD之间。
在图11C中,驱动功率降低系统500-3包括具有驱动功率降低控制模块522的主机控制模块560。主机控制模块560与一条或多条数据总线564通信,数据总线564与LPDD534′和硬盘驱动器538′通信。主机控制模块560可以是驱动控制模块、集成器件电路(IDE)、ATA、串行ATA(SATA)和/或其他控制器或接口。如图11C中可见,具有非易失性存储器IF的HDD531可以用作LPDD,并且/或者除了LPDD之外还可以使用具有非易失性存储器IF的HDD531。主机控制模块560经由主机非易失性存储器IF529与具有非易失性存储器IF的HDD531通信。主机控制模块560可以与主机非易失性存储器IF529集成。
现在参照图12,示出了由图11A-11C中的驱动功率降低系统500所执行的步骤。控制开始于步骤582。在步骤584中控制确定系统是否在低功率模式下。如果不是则控制循环回步骤584。如果步骤584的判断结果为真则控制继续步骤586,在步骤586中,控制确定大数据块存取的请求是否一般来自HPDD。如果不是,则控制循环回步骤584。如果步骤586的判断结果为真,则控制继续步骤590并且确定数据块是否被顺序存取。如果不是,则控制循环回步骤584。如果步骤590的判断结果为真,则控制继续步骤594并且确定回放长度。在步骤598中,控制确定用于从高功率非易失性存储器到低功率非易失性存储器的数据转移的爆发周期和频率。
在一种实现方式中,爆发周期和频率被优化以降低功耗。爆发周期和频率优选地基于HPDD和/或LPDD的起动(spinup)时间、非易失性存储器的容量、回放速率、HPDD和/或LPDD的起动和稳态功耗以及/或者顺序数据块的回放长度。
例如,高功率非易失性存储器是在工作期间消耗1-2W、具有4-10秒的起动时间和一般大于20Gb的容量的HPDD。低功率非易失性存储器是在工作期间消耗0.3-0.5W、具有1-3秒的起动时间和1-6Gb容量的微驱动器。可以知道,上述性能值和/或容量对于其他实现方式将会变化。HPDD可以具有到微驱动器的1Gb/s的数据转移速率。回放速率可以是10Mb/s(例如对于视频文件)。可以知道,HPDD的转移速率乘以爆发周期不应超过微驱动器的容量。爆发之间的周期应该大于起动时间加爆发周期。在这些参数内,系统的功耗可以被优化。在低功率模式下,如果HPDD用来播放诸如电影的完整视频,则消耗大量的功耗。使用上述方法,通过以非常高的速率(例如100X回放速率)并且以相隔固定间隔的多个爆发段选择性地将数据从HPDD转移到LPDD,可以大大地降低功耗,然后HPDD可以被关闭。可以容易地获得大于50%的功耗节省。
现在参照图13,所示出的根据本发明的多盘驱动系统640包括驱动控制模块650和一个或多个HPDD644和一个或多个LPDD648。驱动控制模块650经由主机控制模块651与主机设备通信。对于主机,如下所述,多盘驱动系统640有效地将HPDD644和LPDD648作为单一盘驱动器进行操作以降低复杂性、提高性能并降低功耗。主机控制模块651可以是IDE、ATA、SATA和/或其他控制模块或接口。
现在参照图14,在一种实现方式中,驱动控制模块650包括用于控制LPDD和/或HPDD中的一者或两者的硬盘控制器(HDC)653。缓冲区656存储与HPDD和/或LPDD的控制相关联的数据,并且/或者通过优化数据块大小而积极地缓冲去往/来自HPDD和/或LPDD的数据以增加数据转移速率。处理器657执行涉及HPDD和/或LPDD的操作的处理。
HPDD648包括一个或多个具有存储磁场的磁涂层的盘片652。盘片652由654处示意性示出的转轴马达旋转。一般来说,在读/写操作期间,转轴马达654以固定速度旋转盘片652。一个或多个读/写臂658相对盘片652移动,以从盘片652读取数据并且/或者将数据写到盘片652。由于HPDD648比LPDD具有更大的盘片,因此转轴马达654需要更多的功率来起动HPDD并保持HPDD快速旋转。通常,HPDD的起动时间也更高。
读/写器件659位于读/写臂658的末端附近。读/写器件659包括写元件,例如产生磁场的电感器。读/写器件659还包括感觉盘片652上的磁场的读元件(例如磁阻(MR)元件)。前置放大电路660放大模拟读/写信号。
当读取数据时,前置放大电路660放大来自读元件的低电平信号并且将放大后的信号输出到读/写通道器件。在写数据过程中,产生流过读/写器件659的写元件的写电流,写电流被切换以产生具有正极性或负极性的磁场。正极性或负极性由盘片652存储并且用于代表数据。LPDD644还包括一个或多个盘片662、转轴马达664、一个或多个读/写臂668、读/写器件669和前置放大电路670。
HDC653与主机控制模块651通信,并且与第一转轴/音圈马达(VCM)驱动器672、第一读/写通道电路674、第二转轴/VCM驱动器676、第二读/写通道电路678通信。主机控制模块651和驱动控制模块650可以由片上系统(SOC)684来实现。可以知道,转轴/VCM驱动器672和676和/或读/写通道电路674和678可以组合。转轴/VCM驱动器672和676控制转轴马达654和664,转轴马达654和664分别旋转盘片652和662。转轴/VCM驱动器672和676还例如使用音圈致动器、步进电机或任何其他合适的致动器产生分别定位读/写臂658和668的控制信号。
现在参照图15-17,示出了多盘驱动系统的其他变体。在图15中,驱动控制模块650可以包括用于提供到一个或多个LPDD682的外部连接的直接接口680。在一种实现方式中,直接接口是外围组件互连(PCI)总线、PCIExpress(PCIX)总线和/或任何其他合适的总线或接口。
在图16中,主机控制模块651与LPDD644和HPDD648两者通信。低功率驱动控制模块650LP和高功率盘驱动控制模块650HP直接与主机控制模块通信。LP和/或HP驱动控制模块中的零个、一个或两个可以被实现为SOC。如图16中可见,具有非易失性存储器IF的HDD695可以用作LPDD,并且/或者除了LPDD之外还可以使用具有非易失性存储器IF的HDD695。主机控制模块651经由主机非易失性存储器IF693与具有非易失性存储器IF的HDD695通信。主机控制模块651可以与主机非易失性存储器IF693集成。
在图17中,所示出的一个示例性LPDD682包括支持与直接接口680通信的接口690。如上所述,接口680和690可以是外围组件互连(PCI)总线、PCIExpress(PCIX)总线和/或任何其他合适的总线或接口。LPDD682包括HDC692、缓冲区694和/或处理器696。如上所述,LPDD682还包括转轴/VCM驱动器676、读/写通道电路678、盘片662、转轴马达665、读/写臂668、读元件669和前置放大器670。或者,HDC653、缓冲区656和处理器657可以组合并被用于两个驱动器。同样,转轴/VCM驱动器和读通道电路可以可选地组合。在图13-17的实施例中,LPDD的积极缓冲用于提高性能。例如,缓冲区用于优化数据块大小以获得主机数据总线上的最优速度。
在传统的计算机系统中,页面(paging)文件是HPDD或HP非易失性存储器上的隐藏文件,操作系统使用页面文件来容纳不适合存储在计算机的易失性存储器中的程序和/或数据文件中的部分。页面文件和物理存储器或RAM定义计算机的虚拟存储器。操作系统根据需要将数据从页面文件转移到存储器,并且将数据从易失性存储器返回到页面文件从而为新数据让出空间。页面文件也称为交换(swap)文件。
现在参照图18-20,本发明利用诸如LPDD、具有非易失性存储器IF的HDD和/或闪存等LP非易失性存储器来增加计算机系统的虚拟存储器。在图18中,操作系统700允许用户定义虚拟存储器702。在工作期间,操作系统700经由一条或多条总线704对虚拟存储器702寻址。虚拟存储器702包括易失性存储器708和LP非易失性存储器710两者,非易失性存储器710例如是闪存、具有非易失性存储器IF的HDD和/或LPDD。
现在参照图19,操作系统允许用户分配LP非易失性存储器710中的一些或全部作为页面存储器以增加虚拟存储器。在步骤720中控制开始。在步骤724中,操作系统确定是否请求另外的页面存储器。如果不请求另外的页面存储器,则控制循环回步骤724。否则,在步骤728中,操作系统分配部分LP非易失性存储器用于页面文件的使用以增加虚拟存储器。
在图20中,操作系统采用另外的LP非易失性存储器作为页面存储器。控制开始于步骤740。在步骤744中,控制确定操作系统是否请求数据写操作。如果判断结果为真,则控制继续步骤748并且确定是否超过易失性存储器的容量。如果没有,则在步骤750中,易失性存储器用于写操作。如果步骤748的判断结果为真,则在步骤754中,数据被存储在LP非易失性存储器中的页面文件中。如果步骤744的判断结果为假,则控制继续步骤760并且确定是否请求数据读操作。如果判断结果为假,则控制循环回步骤744。否则,在步骤764中,控制确定所述地址是否对应于RAM地址。如果步骤764的判断结果为真,则控制在步骤766中从易失性存储器读取数据并且继续步骤744。如果步骤764的判断结果为假,则控制在步骤770中从LP非易失性存储器中的页面文件读取数据并且控制继续步骤744。
可以知道,与采用HPDD的系统相比,使用诸如闪存、具有非易失性存储器IF的HDD和/或LPDD的LP非易失性存储器来增加虚拟存储器的大小将会提高计算机的性能。此外,功耗将低于使用HPDD作为页面文件的系统。HPDD由于其更大的大小而需要额外的起动时间,这与闪存和/或LPDD或具有非易失性存储器IF的HDD相比增加了数据存取时间,其中闪存没有起动延迟,LPDD或具有非易失性存储器IF的HDD具有较短的起动时间和较低的功耗。
现在参照图21,所示出的独立盘冗余阵列(RAID)系统800包括一个或多个与盘阵列808通信的服务器和/或客户端804。所述一个或多个服务器和/或客户端804包括盘阵列控制器812和/或阵列管理模块814。盘阵列控制器812和/或阵列管理模块814接收数据并且对到盘阵列808的数据执行逻辑地址到物理地址的映射。盘阵列一般包括多个HPDD816。
多个HPDD816提供容错(冗余)和/或改善的数据存取速率。RAID系统800提供一种存取多个个体HPDD的方法,就像盘阵列808是一个大硬盘驱动器一样。总的来说,盘阵列808可以提供几百Gb至几十到几百Tb的数据存储。数据以各种方式存储在多个HPDD816上以降低一个驱动器失效的情况下丢失所有数据的风险并且改善数据存取时间。
将数据存储在HPDD816上的方法一般称为RAID级别。存在各种RAID级别,包括RAID级别0或盘分段(diskstriping)。在RAID级别0系统中,数据被写在横跨多个驱动器的块中,以允许一个驱动器读或写数据块而同时下一个驱动器在查找下一个块。盘分段的优点包括更高的存取速率和阵列容量的全面利用。存在的缺点是没有容错。如果一个驱动器失效,则阵列的全部内容变得不可存取。
RAID级别1或盘镜像通过写两次(每个驱动器一次)来提供冗余。如果一个驱动器失效,则另一驱动器包含数据的精确副本,并且RAID系统可以切换到使用镜像驱动器而没有用户可存取性的失误。缺点包括缺少数据存取速度上的改善和由于需要更多的驱动器(2N)而引起的较高成本。然而,RAID级别1提供数据的最好保护,因为在HPDD中的一个失效时,阵列管理软件将简单地把所有的应用请求导向剩下的HPDD。
RAID级别3用专用于奇偶校验(parity)的另外的驱动器来将数据在多个驱动器上分段,用于错误纠正/恢复。RAID级别5提供分段以及用于错误恢复的奇偶校验。在RAID级别5中,奇偶校验块分布在阵列的多个驱动器之中,这在驱动器之间提供更平衡的存取负荷。奇偶校验信息在一个驱动器失效的情况下用于恢复数据。缺点是较慢的写周期(写每个块需要2次读和2次写)。阵列容量是N—1,最少需要3个驱动器。
RAID级别0+1涉及没有奇偶校验的分段和镜像。优点是快的数据存取(类似于RAID级别0)和单个驱动器容错(类似于RAID级别1)。RAID级别0+1需要两倍数目的盘(类似于RAID级别1)。可以知道,可以存在其他用于将数据存储在阵列808上的RAID级别和/或方法。
现在参照图22A和图22B,根据本发明的RAID系统834-1包括盘阵列836和盘阵列838,盘阵列836包括X个HPDD,盘阵列838包括Y个LPDD。一个或多个客户端和/或服务器840包括盘阵列控制器842和/或阵列管理模块844。虽然示出了分离的器件842和844,但是这些器件可以在希望的情况下被集成。可以知道,X大于或等于2,Y大于或等于1。X可以大于Y、小于Y和/或等于Y。例如,图22B示出了其中X=Y=Z的RAID系统834-1′。
现在参照图23A、23B、24A和24B,示出了RAID系统834-2和834-3。在图23A中,LPDD盘阵列838与服务器/客户端840通信,HPDD盘阵列836与LPDD盘阵列838通信。RAID系统834-2可以包括管理旁路,该管理旁路选择性地绕过LPDD盘阵列838。可以知道,X大于或等于2,Y大于或等于1。X可以大于Y、小于Y和/或等于Y。例如,图23B示出了其中X=Y=Z的RAID系统834-2′。在图24A中,HPDD盘阵列836与服务器/客户端840通信,LPDD盘阵列838与HPDD盘阵列836通信。RAID系统834-2可以包括由虚线846所示的管理旁路,该管理旁路选择性地绕过HPDD盘阵列836。可以知道,X大于或等于2,Y大于或等于1。X可以大于Y、小于Y和/或等于Y。例如,图24B示出了其中X=Y=Z的RAID系统834-3′。所采用的策略可以包括图23A-24B中的直写(writethrough)和/或回写(writeback)。
阵列管理模块844和/或盘控制器842利用LPDD盘阵列838来降低HPDD盘阵列836的功耗。一般来说,图21中的传统RAID系统中的HPDD盘阵列808在工作期间保持全时开启以支持所需要的数据存取时间。可以知道,HPDD盘阵列808消耗较大量的功率。此外,由于大量数据被存储在HPDD盘阵列808中,因此HPDD的盘片一般尽可能地大,这需要更高性能的转轴马达,并且由于读/写臂平均来说移动得更远,因此增加了数据存取时间。
根据本发明,上面结合图6-17所描述的技术在图22B所示的RAID系统834中被选择性地采用,以降低功耗和数据存取时间。虽然未在图22A和图23A-24B中示出,但是根据本发明的其他RAID系统也可以使用这些技术。换句话说,图6和图7A-7D中所描述的LUB模块304、自适应存储模块306和/或LPDD维护模块被盘阵列控制器842和/或阵列管理控制器844选择性地实现,以选择性地将数据存储在LPDD盘阵列838上,从而降低功耗和数据存取时间。图8A-8C、图9和图10中所描述的自适应存储控制模块414也可以被盘阵列控制器842和/或阵列管理控制器844选择性地实现,以降低功耗和数据存取时间。图11A-11C和图12中所描述的驱动器功率降低模块522也可以被盘阵列控制器842和/或阵列管理控制器844实现,以降低功耗和数据存取时间。此外,图13-17中所示的多驱动系统和/或直接接口可以用HPDD盘阵列836中的一个或多个HPDD来实现以提高性能并且降低功耗和存取时间。
现在参照图25,所示根据现有技术的网络附接存储(NAS)系统850包括存储设备854、存储请求器858、文件服务器862和通信系统866。存储设备854一般包括盘驱动器、RAID系统、磁带驱动器、磁带库、光驱动器、自动唱片机和任何其他将被共享的存储设备。存储设备854优选地为面向对象的设备但不是必须为面向对象的设备。存储设备854可以包括用于请求器858的数据存储和检索的I/O接口。请求器858一般包括共享存储设备854和/或直接存取存储设备854的服务器和/或客户端。
文件服务器862执行诸如请求认证和资源定位之类的管理和安全功能。存储设备854的管理指示取决于文件服务器862,而请求器858被解除存储管理到文件服务器862承担该责任的程度。在小系统中,可能不希望使用专用文件服务器。在这种情况下,请求器可以承担监督NAS系统850的操作的责任。照此,所示出的文件服务器862和请求器858两者分别包括管理模块870和872,然而也可以提供这两个管理模块中的一个或另一个和/或两者。通信系统866是物理基础设施,NAS系统850的组件通过其进行通信。通信系统866优选地具有网络和信道两者的性质,具有连接网络中所有组件的能力并且具有信道中一般具有的低延迟。
当NAS系统850加电时,存储设备854或者对彼此标识自身,或者对公共参考点标识自身,所述公共参考点例如是文件服务器862、一个或多个请求者858和/或通信系统866。通信系统866一般提供用于此的网络管理技术,这些技术可以通过连接到与通信系统相关联的媒介而被获得。存储设备854和请求者858登录到该媒介上。任何想要确定工作配置的组件可以使用媒介服务来识别所有其他组件。请求者858从文件服务器862得知它们可以访问的存储设备854的存在,而存储设备854在它们需要定位另一设备或调用诸如备份的管理服务时得知去往哪里。类似地,文件服务器862可以从介质服务得知存储设备854的存在。取决于特定安装的安全性,可以拒绝请求者对某个装置的访问。然后从可访问的存储设备组,请求者可以识别文件、数据库和可用的自由空间。
同时,每个NAS组件可以对文件服务器862标识出它想要知道的任何专门考虑。任何设备级服务属性可以被一次传递给文件服务器862,而所有其他组件可以得知这些属性。例如,请求者可能希望被告知启动之后的另外存储装置的引入,这由请求者登录到文件服务器862时设置的属性来触发。无论何时新的存储设备被增加到配置中,文件服务器862可以自动这样做,包括传送重要的特性,例如其为RAID5、被镜像等。
当请求者必须打开文件时,它能够直接去往存储设备854,或者它不得不去往文件服务器以获得许可和位置信息。文件服务器862对存储装置的访问控制到何种程度是一种安装的安全性要求的功能。
现在参照图26,所示出的根据本发明的网络附接存储(NAS)系统900包括存储设备904、请求者908、文件服务器912和通信系统916。存储设备904包括RAID系统834和/或上面在图6-19中所描述的多盘驱动系统930。存储设备904一般还可以包括盘驱动器、RAID系统、磁带驱动器、磁带库、光驱动器、自动唱片机和任何其他将被如上所述地共享的存储设备。可以知道,使用改善的RAID系统和/或多盘驱动系统930将降低NAS系统900的功耗和数据存取时间。
现在参照图27,示出了包括非易失性存储器和盘驱动接口控制器的盘驱动控制器。换句话说,图27的HDD具有非易失性存储器接口(以下称为具有非易失性存储器接口(IF)的HDD)。图27的设备允许HDD连接到主机设备的已有的非易失性存储器接口(IF)以提供另外的非易失性存储装置。
盘驱动控制器1100与主机1102和盘驱动器1104通信。具有非易失性存储器IF的HDD包括盘驱动控制器1100和盘驱动器1104。盘驱动器1104一般具有ATA、ATA-CE或IDE类型接口。辅助非易失性存储器1106也耦合到盘驱动控制器1100,其为盘驱动控制器存储固件代码。在这种情况下,主机1102虽然被示为单个块,但是其一般包括用于连接到可购买到的非易失性存储器设备类型的工业标准非易失性存储器槽(连接器)作为相关组件,该槽又被连接到主机中的标准非易失性存储器控制器。该槽一般符合标准类型之一,例如MMC(多媒体卡)、SD(安全数据)、作为SD和MMC组合的SD/MMC、HS-MMC(高速MMC)、作为SD和HS-MMC组合的SD/HS-MMC和记忆棒(MemoryStick)。该列表并不是限制性的。
典型的应用是便携式计算机或诸如MP3音乐播放器或蜂窝电话手机的消费电子设备,该消费电子设备具有一个通过非易失性存储器接口与嵌入式非易失性存储器进行通信的应用处理器。非易失性存储器接口可以包括闪存接口、NAND闪存接口和/或其他合适的非易失性半导体存储器接口。根据本公开,不是使用非易失性半导体存储器,而是提供硬盘驱动器或其他类型的盘驱动器来替换非易失性半导体存储器并且使用其接口信号。所公开的方法为盘驱动器提供类似于非易失性存储器的接口,这使得在通常只接受闪存的主机系统中更容易结合盘驱动器。用盘驱动器而不是闪存作为存储设备的一个优点是对于特定成本的具有大得多的存储容量。
仅需要在主机非易失性存储器控制器固件和软件中做出最小的改变以结合使用所公开的接口控制器的盘驱动器。而且,提供最小的命令开销。有利地,就在主机和盘驱动器之间转移的逻辑块的数目而言,对于任何特定的读或写操作存在无限制的数据转移。而且,主机不必提供盘驱动器的扇区计数。
在某些实施例中,盘驱动器1104可以是小尺寸封装(SFF)硬盘驱动器,其一般具有650×15×70mm的物理尺寸。这样的SFF硬盘驱动器的典型数据转移速率是每秒25兆字节。
下面进一步说明图27的盘驱动控制器1100的功能。盘驱动控制器1100包括接口控制器1110,接口控制器1110对于主机系统1102来说是具有14排的总线的闪存控制器。接口控制器1110还执行主机命令解释和主机1102与缓冲区管理器1112之间的数据流控制功能。缓冲区管理器电路1112经由存储器控制器1116控制实际的缓冲区(存储器),实际的缓冲区可以是作为一部分而被包括在与接口控制器1100相同的芯片上或者在独立芯片上的SRAM或DRAM缓冲区1118。缓冲区管理器提供下面进一步所描述的缓冲特征。
缓冲区管理器1112还连接到处理器接口/伺服和ID-Less/缺陷管理器(MPIF/SAIL/DM)电路1122,其执行磁道格式产生和缺陷管理功能。MPIF/SAIL/DM电路1122又连接到高级高性能总线(AHB)1126。线缓存(linecache)1128和处理器1130连接到AHB总线1126;紧密耦合存储器(TCM)1134与处理器1130相关联。处理器1130可以由嵌入式处理器或微处理器实现。线缓存1128的目的是降低代码执行延迟。它可以耦合到外部闪存1106。
盘驱动控制器1100中的其他块执行功能以支持盘驱动器并且包括伺服控制器1140、盘格式化器和纠错电路1142以及读通道电路1144,读通道电路1144连接到盘驱动器1104中的前置放大电路。14排的并行总线中的8排(0-7)可以承载双向输入/输出(I/O)数据。其他排可以分别承载命令CLE、ALE、/CE、/RE、/WE和R/B。
现在参照图28,更详细地示出了图27的接口控制器。接口控制器1110包括闪存控制器(flash_ctl)块1150、闪存寄存器(flash_reg)块1152、闪存FIFO包装(flash_fifo_wrapper)块1154和闪存系统同步(flash_sys_syn)块1156。
闪存寄存器块1152用于寄存器存取。它存储由处理器1130和主机1102所编程的命令。闪存控制器1150中的闪存状态机(未示出)对从主机1102进入的命令进行解码并且为盘驱动控制器1100提供控制。闪存FIFO包装1154包括可以由32×32的双向异步FIFO实现的FIFO。其产生数据和控制信号,用于经由缓冲区管理器接口(BMIF)将数据转移到缓冲区管理器1112和经由缓冲区管理器接口从缓冲区管理器1112接收数据。FIFO的转移方向可以由存储在闪存寄存器1152中的命令来控制。闪存系统同步块1156将接口控制器和缓冲区管理器接口之间的控制信号进行同步。它还为闪存FIFO包装1154产生计数器清除脉冲(clk2_clr)。
闪存控制器1150可以控制接口信号线来实现LPDD的随机读取。闪存控制器1150可以控制接口信号线来实现LPDD的随机写入。闪存控制器1150可以控制接口信号线来实现LPDD的顺序读取,并且可以控制接口信号线来实现LPDD的顺序写入。闪存控制器1150可以控制接口信号线来实现控制模块和LPDD之间的命令转移。闪存控制器1150可以将一组LPDD命令映射到相应的一组闪存命令。
闪存寄存器1152经由处理器总线与接口控制器和LPDD处理器通信。闪存寄存器1152存储由LPDD处理器和控制模块所编程的命令。闪存控制器1150可以将从LPDD所读取的数据存储在缓冲存储器中以补偿控制模块和LPDD之间的数据转移速率的不同,并且可以发送数据就绪信号到控制模块以指示存储缓冲区中存在数据。
闪存控制器1150可以在缓冲存储器中存储来自控制模块的写数据,以补偿控制模块和LPDD之间数据转移速率的不同。闪存控制器1150可以发送数据就绪信号到控制模块,以指示在存储缓冲区中有数据。
现在参照图29,一般在1200处示出具有闪存接口的多盘驱动系统的功能框图。虽然先前的讨论涉及一个具有闪存接口的盘驱动器(例如低功率或高功率盘驱动器)的使用,但是多个盘驱动器可以经由闪存接口而被连接。更具体地说,具有闪存接口的多盘驱动系统1204包括与主机1202的闪存接口通信的主机闪存接口1206。主机闪存接口1206如上所述工作。驱动控制模块1208选择性地不操作HPDD1220和LPDD1222中的任何一个或者操作HPDD1220和LPDD1222中的一个或两个。如上所述的关于低功率和高功率模式操作的控制技术可以由驱动控制模块1208来执行。在一些实现方式中,主机闪存接口1206感应主机的功率模式并且/或者接收标识主机1202的功率模式的信息。
现在参照图30,示出了说明由图29的多盘驱动系统所执行的步骤的流程图。控制开始于步骤1230。在步骤1232中,控制确定主机是否开启。如果步骤1232的判断结果为真,则控制在步骤1234中确定主机是否在高功率模式下。如果步骤1234的判断结果为真,则控制在步骤1236中根据需要为LPDD1222和/或HPDD1220加电。如果步骤1234的判断结果为假,则控制在步骤1238中确定主机是否在低功率模式下。如果步骤1238的判断结果为真,则控制在步骤1240中为HPDD断电并且根据需要对LPDD进行操作以节约功率。控制从步骤1238(如果判断结果为假)和步骤1240继续步骤1232。
可以知道,如上所述的具有闪存接口的HDD可以使用如上所述的具有闪存接口的多盘驱动器。此外,如上所述的关于具有LPDD和HPDD的系统的控制技术中的任何一种可以在图29所示的具有闪存接口的多盘驱动器中使用。在如上所述的实施例中的任何一个中,LPDD或HPDD可以由任何类型的低功率非易失性存储器来替换。例如,LPDD或HPDD可以由诸如闪存但不局限于闪存的任何合适的非易失性固态存储器来替换。同样,如上所述的实施例中的任何一个中的低功率非易失性存储器可以由低功率盘驱动器来替换。虽然在上面的一些实施例中描述了闪存,但是可以使用任何类型的非易失性半导体存储器。
本领域技术人员现在可以从上面的描述中知道本发明的广泛教导可以以各种形式实现。因此,虽然结合本发明的特定示例描述了本发明,但是本发明的真正范围不应该被如此限制,因为在学习了附图、说明书和权利要求书之后,其他修改对于本领域技术人员来说将变得清楚。