CN101118460A - 具有高功率和低功率处理器以及线程转移的系统 - Google Patents
具有高功率和低功率处理器以及线程转移的系统 Download PDFInfo
- Publication number
- CN101118460A CN101118460A CNA2007100873332A CN200710087333A CN101118460A CN 101118460 A CN101118460 A CN 101118460A CN A2007100873332 A CNA2007100873332 A CN A2007100873332A CN 200710087333 A CN200710087333 A CN 200710087333A CN 101118460 A CN101118460 A CN 101118460A
- Authority
- CN
- China
- Prior art keywords
- processor
- power
- thread
- soc
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种片上系统(SOC),其包括第一和第二处理器以及控制模块。由SOC实现的第一处理器具有活动和不活动状态并且在活动状态期间处理第一和第二组线程。由SOC实现的第二处理器具有活动和不活动状态,其中第二处理器在工作于活动状态时比第一处理器工作于活动状态消耗更少的功率。由SOC实现的控制模块与第一和第二处理器通信,选择性地将第二组线程从第一处理器转移到第二处理器并且选择第一处理器的不活动状态。第二处理器处理第二组线程。
Description
技术领域
本发明涉及数据存储系统,尤其涉及低功率数据存储系统。
背景技术
膝上型计算机使用线路电源和电池电源两者供电。膝上型计算机的处理器、图形处理器、存储器和显示器在工作期间消耗大量的功率。膝上型计算机的一个重要限制涉及膝上型计算机可以在不充电的情况下使用电池工作的时间量。膝上型计算机的较高的功耗通常对应较短的电池寿命。
现在参照图1A,所示出的示例性计算机体系结构4包括存储器6,存储器6具有诸如缓存之类的存储器7。处理器6与输入/输出(I/O)接口8通信。诸如随机存取存储器(RAM)10和/或其他合适的电子数据存储装置之类的易失性存储器9也与接口8通信。图形处理器11和诸如缓存之类的存储器12增加了图形处理的速度和性能。
诸如键盘13和点击设备14(例如鼠标和/或其他合适的设备)之类的一个或多个I/O设备与接口8通信。诸如具有一个或多个直径大于1.8″的盘片的硬盘驱动器之类的高功率盘驱动器(HPDD)15提供非易失性存储器、存储数据并且与接口8通信。HPDD15在工作期间一般消耗较大量的功率。当用电池工作时,HPDD15的频繁使用将大大降低电池寿命。计算机体系结构4还包括显示器16、诸如音频扬声器的音频输出设备17和/或被一般地标识为18的其他输入/输出设备。
现在参照图1B,示例性的计算机体系结构20包括处理芯片组22和I/O芯片组24。例如,计算机体系结构可以是北桥/南桥体系结构(处理芯片组对应于北桥芯片组,I/O芯片组对应于南桥芯片组)或其他类似的体系结构。处理芯片组22经由系统总线27与处理器25和图形处理器26通信。处理芯片组22控制与易失性存储器28(例如外部DRAM或其他存储器)、外围组件互连(PCI)总线30和/或2级缓存32的交互。1级缓存33和34可以分别与处理器25和/或图形处理器26相关联。在替换的实施例中,加速图形端口(AGP)(未示出)与处理芯片组22而不是图形处理器26通信,或者除了与图形处理器26通信之外还与处理芯片组22通信。处理芯片组22一般用多个芯片实现,但不是必须用多个芯片实现。PCI槽36与PCI总线30连接。
I/O芯片组24管理输入/输出(I/O)的基本形式。I/O芯片组24经由工业标准体系结构(ISA)总线44与通用串行总线(USB)40、音频设备41、键盘(KBD)和/或点击设备42以及基本输入/输出系统(BIOS)43通信。与处理芯片组22不同的是,I/O芯片组24一般(但不是必须)用单个芯片实现,其连接到PCI总线30。诸如硬盘驱动器之类的HPDD50也与I/O芯片组24通信。HPDD50存储由处理器25执行的全特征(full-featured)操作系统(OS),例如Windows XP、Windows 2000、Linux和基于MAC的OS。
发明内容
一种片上系统(SOC),包括由所述SOC实现的第一处理器和由所述SOC实现的第二处理器,该第一处理器具有活动和不活动状态并且在活动状态期间处理第一和第二组线程,该第二处理器具有活动和不活动状态,其中第二处理器在工作于活动状态时比第一处理器工作于活动状态消耗更少的功率。所述SOC还包括由所述SOC实现的控制模块,该控制模块与第一和第二处理器通信,并且选择性地将第二组线程从第一处理器转移到第二处理器并选择第一处理器的不活动状态。第二处理器处理第二组线程。
在另一特征中,所述SOC还包括由所述SOC实现的寄存器文件,该寄存器文件与第一处理器和第二处理器通信并且存储用于第一和第二处理器的线程信息。所述线程信息包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述SOC还包括第一寄存器文件和第二寄存器文件,该第一寄存器文件与第一处理器通信并且存储用于第一处理器的第一线程信息,该第二寄存器文件与第二处理器通信并且存储用于第二处理器的第二线程信息。第一和第二线程信息分别包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述控制模块在将线程从第一处理器转移到第二处理器时,将线程信息从第一寄存器文件转移到第二寄存器文件。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第一晶体管比第二晶体管具有更高的泄漏电流。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第二晶体管比第一晶体管具有更大的尺寸。
在另一特征中,所述SOC在第一处理器处于活动状态时处于高功率模式,在第一处理器处于不活动状态时处于低功率模式。
在另一特征中,所述第一和第二处理器分别包括第一和第二图形处理单元。
在其他特征中,一种用于处理数据的方法包括在片上系统(SOC)上实现第一和第二处理器,其中所述第一和第二处理器具有活动和不活动状态,并且第二处理器在工作于活动状态时比第一处理器工作于活动状态消耗更少的功率。所述方法还包括使用第一处理器在活动状态期间处理第一和第二组线程;选择性地将第二组线程从第一处理器转移到第二处理器;选择第一处理器的不活动状态;以及使用第二处理器处理第二组线程。
在另一特征中,所述方法还包括使用所述SOC实现寄存器文件以及将用于第一和第二处理器的线程信息存储在寄存器文件中。线程信息包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述方法还包括使用所述SOC实现第一寄存器文件、将用于第一处理器的第一线程信息存储在第一寄存器文件中、使用所述SOC实现第二寄存器文件以及存储用于第二处理器的第二线程信息。第一和第二线程信息分别包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述方法还包括在将线程从第一处理器转移到第二处理器时将线程信息从第一寄存器文件转移到第二寄存器文件。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第一晶体管比第二晶体管具有更高的泄漏电流。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第二晶体管比第一晶体管具有更大的尺寸。
在另一特征中,所述方法还包括当第一处理器处于活动状态时工作于高功率模式下,当第一处理器处于不活动状态时工作于低功率模式下。
在另一特征中,所述第一和第二处理器分别包括第一和第二图形处理单元。
在其他特征中,一种片上系统(SOC)包括第一处理装置,该第一处理装置由所述SOC实现并且具有活动和不活动状态,用于在活动状态期间处理第一和第二组线程。所述SOC还包括用于处理的第二处理装置,该第二处理装置由所述SOC实现并且具有活动和不活动状态,其中第二处理装置在工作于活动状态时比第一处理装置工作于活动状态消耗更少的功率。所述SOC还包括控制装置,该控制装置由所述SOC实现,用于与第一和第二处理装置通信,并用于选择性地将第二组线程从第一处理装置转移到第二处理装置和选择第一处理装置的不活动状态。第二处理装置处理第二组线程。
在另一特征中,所述SOC还包括寄存器装置,该寄存器装置由所述SOC实现并且与第一处理装置和第二处理装置通信,用于存储用于第一和第二处理装置的线程信息。线程信息包括用于第一和第二处理装置的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述SOC还包括第一寄存器装置和第二寄存器装置,该第一寄存器装置与第一处理装置通信,用于存储用于第一处理装置的第一线程信息,该第二寄存器装置与第二处理装置通信,用于存储用于第二处理装置的第二线程信息。第一和第二线程信息分别包括用于第一和第二处理装置的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述控制装置在将线程从第一处理装置转移到第二处理装置时将线程信息从第一寄存器装置转移到第二寄存器装置。
在另一特征中,所述第一处理装置包括第一晶体管,所述第二处理装置包括第二晶体管,其中第一晶体管比第二晶体管具有更高的泄漏电流。
在另一特征中,所述第一处理装置包括第一晶体管,所述第二处理装置包括第二晶体管,其中第二晶体管比第一晶体管具有更大的尺寸。
在另一特征中,所述SOC在第一处理装置处于活动状态时处于高功率模式,在第一处理装置处于不活动状态时处于低功率模式。
在另一特征中,所述第一和第二处理装置分别包括用于处理图形的第一和第二图形处理装置。
在其他特征中,一种处理系统包括第一处理器和第二处理器,该第一处理器具有活动和不活动状态并且在活动状态期间处理至少一个线程,该第二处理器具有活动和不活动状态,其中第二处理器在工作于活动状态时比第一处理器工作于活动状态消耗更少的功率。所述处理系统还包括控制模块,该控制模块与第一和第二处理器通信,并且选择性地将所述至少一个线程从第一处理器转移到第二处理器并选择第一处理器的不活动状态。第二处理器处理所述至少一个线程。
在另一特征中,所述处理系统还包括由所述SOC实现的寄存器文件,该寄存器文件与第一处理器和第二处理器通信并且存储用于第一和第二处理器的线程信息,其中所述线程信息包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,一种片上系统(SOC)包括第一和第二处理器以及寄存器文件。
在另一特征中,所述处理系统还包括第一寄存器文件和第二寄存器文件,该第一寄存器文件与第一处理器通信并且存储用于第一处理器的第一线程信息,该第二寄存器文件与第二处理器通信并且存储用于第二处理器的第二线程信息,其中第一和第二线程信息分别包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,一种片上系统(SOC)包括第一和第二处理器以及第一和第二寄存器文件。
在另一特征中,所述控制模块在将线程从第一处理器转移到第二处理器时,将线程信息从第一寄存器文件转移到第二寄存器文件。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第一晶体管比第二晶体管具有更高的泄漏电流。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第二晶体管比第一晶体管具有更大的尺寸。
在另一特征中,所述处理系统在第一处理器处于活动状态时处于高功率模式,在第一处理器处于不活动状态时处于低功率模式。
在另一特征中,所述第一和第二处理器分别包括第一和第二图形处理单元。
在其他特征中,一种处理数据的方法包括提供第一和第二处理器,其中所述第一和第二处理器具有活动和不活动状态,并且第二处理器在工作于活动状态时比第一处理器工作于活动状态消耗更少的功率。所述方法还包括使用第一处理器在活动状态期间处理至少一个线程、选择性地将所述至少一个线程从第一处理器转移到第二处理器并选择第一处理器的不活动状态以及使用第二处理器处理所述至少一个线程。
在另一特征中,所述方法还包括使用所述SOC实现寄存器文件以及将用于第一和第二处理器的线程信息存储在寄存器文件中,其中所述线程信息包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述方法还包括在片上系统中实现寄存器文件、第一处理器和第二处理器。
在另一特征中,所述方法还包括使用所述SOC实现第一寄存器文件、将用于第一处理器的第一线程信息存储在第一寄存器文件中、使用所述SOC实现第二寄存器文件以及存储用于第二处理器的第二线程信息,其中所述第一和第二线程信息分别包括用于第一和第二处理器的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述方法还包括在片上系统中实现第一和第二寄存器文件以及第一和第二处理器。
在另一特征中,所述方法还包括在将线程从第一处理器转移到第二处理器时将线程信息从第一寄存器文件转移到第二寄存器文件。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第一晶体管比第二晶体管具有更高的泄漏电流。
在另一特征中,所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,其中第二晶体管比第一晶体管具有更大的尺寸。
在另一特征中,所述方法还包括当第一处理器处于活动状态时工作于高功率模式下,当第一处理器处于不活动状态时工作于低功率模式下。
在另一特征中,所述第一和第二处理器分别包括第一和第二图形处理单元。
在其他特征中,一种处理系统包括第一处理装置和用于处理的第二处理装置,该第一处理装置具有活动和不活动状态,用于在活动状态期间处理至少一个线程,该第二处理装置具有活动和不活动状态,其中所述第二处理装置在工作于活动状态时比第一处理装置工作于活动状态消耗更少的功率。所述处理系统还包括控制装置,该控制装置用于与第一和第二处理装置通信,并用于选择性地将所述至少一个线程从第一处理装置转移到第二处理装置和选择第一处理装置的不活动状态,其中第二处理装置处理所述至少一个线程。
在另一特征中,所述处理系统还包括寄存器装置,该寄存器装置由所述SOC实现并且与第一处理装置和第二处理装置通信,用于存储用于第一和第二处理装置的线程信息,其中所述线程信息包括用于第一和第二处理装置的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述寄存器装置和所述第一和第二处理装置被实现在片上系统中。
在另一特征中,所述处理系统还包括第一寄存器装置和第二寄存器装置,该第一寄存器装置与第一处理装置通信,用于存储用于第一处理装置的第一线程信息,该第二寄存器装置与第二处理装置通信,用于存储用于第二处理装置的第二线程信息,其中所述第一和第二线程信息分别包括用于第一和第二处理装置的线程的寄存器、检查点和程序计数器中的至少一种。
在另一特征中,所述第一和第二寄存器装置和所述第一和第二处理装置被实现在片上系统中。
在另一特征中,所述控制装置在将线程从第一处理装置转移到第二处理装置时将线程信息从第一寄存器装置转移到第二寄存器装置。
在另一特征中,所述第一处理装置包括第一晶体管,所述第二处理装置包括第二晶体管,其中第一晶体管比第二晶体管具有更高的泄漏电流。
在另一特征中,所述第一处理装置包括第一晶体管,所述第二处理装置包括第二晶体管,其中第二晶体管比第一晶体管具有更大的尺寸。
在另一特征中,所述处理系统在第一处理装置处于活动状态时工作于高功率模式下,在第一处理装置处于不活动状态时工作于低功率模式下。
在另一特征中,所述第一和第二处理装置分别包括用于处理图形的第一和第二图形处理装置。
本发明的进一步适应性领域将从以下所提供的详细描述中变得清楚。应该了解到详细描述和具体示例虽然指示本发明的优选实施例,但希望是用于说明的目的,不希望限制本发明的范围。
附图说明
本发明将从详细描述和附图中被更充分地理解,其中:
图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的多盘驱动器所执行的步骤的流程图;
图31A-31C是包括高功率和低功率处理器的处理系统的功能框图,这些处理器在高功率和低功率模式之间转换时将处理线程转移到彼此;
图32A-32C是包括高功率和低功率图形处理单元(GPU)的图形处理系统的功能框图,这些图形处理单元在高功率和低功率模式之间转换时将图形处理线程转移到彼此;
图33是说明图31A-32C的处理系统操作的流程图;
图34A是硬盘驱动器的功能框图;
图34B是DVD驱动器的功能框图;
图34C是高清晰度电视的功能框图;
图34D是车辆控制系统的功能框图;
图34E是蜂窝电话的功能框图;
图34F是机顶盒的功能框图;以及
图34G是媒体播放器的功能框图。
具体实施方式
(一个或多个)优选实施例的下列描述实际上仅是示例性的,决不希望限制本发明及其应用或使用。为了清楚起见,在附图中将使用相同的标号来标识类似的元件。这里所使用的术语模块和/或器件指的是专用集成电路(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之类的嵌入式次易失性存储器。
主处理器和主图形处理器在高功率模式下工作时消耗较高的功率。主处理器和主图形处理器执行需要较大量外部存储器的全特征(full-featured)操作系统(OS)。主处理器和主图形处理器支持高性能操作,包括复杂计算和高级图形。全特征OS可以是诸如Windows XP之类的基于Windows的OS、基于Linux的OS、基于MAC的OS等。全特征OS存储在HPDD15和/或50中。
次处理器和次图形处理器在低功率模式期间消耗较少的功率(与主处理器和主图形处理器相比)。次处理器和次图形处理器运行需要较少量外部易失性存储器的受限特征操作系统(OS)。次处理器和次图形处理器也可以与主处理器使用相同的OS。例如,可以使用全特征OS的削减版本。次处理器和次图形处理器支持较低性能的操作、较低的计算速率和不那么高级的图形。例如,受限特征OS可以是Windows CE或任何其他合适的受限特征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容量不可用时使用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中,所示出的全特征和/或受限特征操作系统包括适应性存储控制模块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和/或手动推翻字段497。当特定程序或文件在低功率模式或高功率模式期间被使用时,计数器字段493和/或494递增。当需要将程序或文件的数据存储到非易失性存储器时,表492被访问。阈值百分比和/或计数值可用于评估。例如,如果在低功率模式中文件或程序的使用时间大于80%,则文件可以被存储在低功率非易失性存储器中,低功率非易失性存储器例如是闪存、具有非易失性存储器IF的HDD和/或微驱动器。如果未达到阈值,则文件或程序被存储在高功率非易失性存储器中。
可以知道,在预定数目的采样之后(换句话说,就是提供滚动窗)并且/或者使用任何其他标准可以周期性地将计数器复位。此外,可能性可以被大小字段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的起动(spin up)时间、非易失性存储器的容量、回放速率、HPDD和/或LPDD的起动和稳态功耗以及/或者顺序数据块的回放长度。
例如,高功率非易失性存储器是在工作期间消耗1-2W、具有4-10秒的起动时间和一般大于20Gb的容量的HPDD。低功率非易失性存储器是在工作期间消耗0.3-0.5W、具有1-3秒的起动时间和1-6Gb容量的微驱动器。可以知道,上述性能值和/或容量对于其他实现方式将会变化。HPDD可以具有到微驱动器的1Gb/s的数据转移速率。回放速率可以是10Mb/s(例如对于视频文件)。可以知道,HPDD的转移速率乘以爆发周期不应超过微驱动器的容量。爆发之间的周期应该大于起动时间加爆发周期。在这些参数内,系统的功耗可以被优化。在低功率模式下,如果HPDD用来播放诸如电影的完整视频,则消耗大量的功耗。使用上述方法,通过以非常高的速率(例如回放速率的100倍)并且以相隔固定间隔的多个爆发段选择性地将数据从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)总线、PCI Express(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)总线、PCI Express(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或盘分段(disk striping)。在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中的直写(write through)和/或回写(write back)。
阵列管理模块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的组件通过其进行通信。其优选地具有网络和信道两者的性质,具有连接网络中所有组件的能力并且具有信道中一般具有的低延迟。
当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和记忆棒(Memory Stick)。该列表并不是限制性的。
典型的应用是便携式计算机或诸如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。线缓存(line cache)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。其产生数据和控制信号,用于经由缓冲器管理器接口(BM IF)将数据转移到缓冲器管理器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选择性地不操作HPDD 1220和LPDD 1222中的任何一个或者操作HPDD 1220和LPDD 1222中的一个或两个。如上所述的关于低功率和高功率模式操作的控制技术可以由驱动控制模块1208来执行。在一些实现方式中,主机闪存接口1206感觉主机的功率模式并且/或者接收标识主机1202的功率模式的信息。
现在参照图30,示出了说明由图29的多盘驱动系统所执行的步骤的流程图。控制开始于步骤1230。在步骤1232中,控制确定主机是否开启。如果步骤1232的判断结果为真,则控制在步骤1234中确定主机是否在高功率模式下。如果步骤1234的判断结果为真,则控制在步骤1236中根据需要为LPDD 1222和/或HPDD 1220加电。如果步骤1234的判断结果为假,则控制在步骤1238中确定主机是否在低功率模式下。如果步骤1238的判断结果为真,则控制在步骤1240中为HPDD断电并且根据需要对LPDD进行操作以节约功率。控制从步骤1238(如果判断结果为假)和步骤1240继续步骤1232。
可以知道,如上所述的具有闪存接口的HDD可以使用如上所述的具有闪存接口的多盘驱动器。此外,如上所述的关于具有LPDD和HPDD的系统的控制技术中的任何一种可以在图29所示的具有闪存接口的多盘驱动器中使用。在如上所述的实施例中的任何一个中,LPDD或HPDD可以由任何类型的低功率非易失性存储器来替换。例如,LPDD或HPDD可以由诸如闪存但不局限于闪存的任何合适的非易失性固态存储器来替换。同样,如上所述的实施例中的任何一个中的低功率非易失性存储器可以由低功率盘驱动器来替换。虽然在上面的一些实施例中描述了闪存,但是可以使用任何类型的非易失性半导体存储器。
现在参照图31A-31C,示出了工作于高功率模式和低功率模式的各种数据处理系统。当在高功率模式和低功率模式之间转换时,高功率和低功率处理器选择性地将一个或多个程序线程转移到彼此。线程可以处于各种完成状态下。这允许高功率模式和低功率模式之间的无缝转换。
在图31A中,处理系统1300包括高功率(HP)处理器1304、低功率(LP)处理器1308和寄存器文件1312。在高功率模式中,高功率处理器1304处于活动状态并且处理线程。低功率处理器1308在高功率模式期间也可以工作。换句话说,低功率处理器可以在高功率模式的全部或部分期间内处于活动状态并且/或者可以处于不活动模式。
在低功率模式中,低功率处理器1308工作在活动状态下并且高功率处理器1304处于不活动状态。高功率处理器1304和低功率处理器1308分别可以使用相同或类似的指令组。低功率和高功率处理器可以具有相同或类似的体系结构。处理器1304和1308两者在从低功率模式转换到高功率模式时和在从高功率模式转换到低功率模式时可以暂时同时工作在活动状态下。
高功率处理器1304和低功率处理器1308分别包括晶体管1306和1310。高功率处理器1304的晶体管1306在工作于活动状态期间趋于比低功率处理器1308的晶体管1310消耗更多的功率。在一些实现方式中,晶体管1306可以比晶体管1310具有更高的泄漏电流。晶体管1310可以具有比晶体管1306的尺寸更大的尺寸。
高功率处理器1304可以比低功率处理器1308更加复杂。例如,低功率处理器1308可以比高功率处理器具有更小的宽度和/或深度。换句话说,宽度可以由并行流水线(pipeline)的数目来定义。高功率处理器1304可以包括PHP个并行流水线1342,低功率处理器1308可以包括PLP个并行流水线1346。在一些实现方式中,PLP可以小于PHP。PLP可以是大于或等于零的整数。当PLP=0时,低功率处理器不包括任何并行流水线。深度可以由级数来定义。高功率处理器1304可以包括SHP级1344,低功率处理器1308可以包括SLP级1348。在一些实现方式中,SLP可以小于SHP。SLP可以是大于或等于1的整数。
寄存器文件1312可以在高功率处理器1304和低功率处理器1308之间共享。寄存器文件1312可以将预定的地址位置用于寄存器、检查点和/或程序计数器。例如,分别由高功率处理器1304和/或低功率处理器1308所使用的寄存器、检查点和/或程序计数器可以存储在寄存器文件1312的相同位置中。因此,高功率处理器1304和低功率处理器1308在新的线程被传递到了各自的处理器时可以定位特定的寄存器、检查点和/或程序计数器。共享寄存器文件1312有助于线程的转移。寄存器文件1312可以是除了分别在高功率处理器1304和低功率处理器1308的每一个中的寄存器文件(未示出)之外的寄存器文件。线程可以包括单线程和/或多线程。
可以提供控制模块1314以选择性地控制高功率模式和低功率模式之间的转换。控制模块1314可以从另一模块或设备接收模式请求信号。控制模块1314可以监控线程的转移和/或涉及线程转移的信息,例如寄存器、检查点和/或程序计数器。一旦线程的转移完成,控制模块1314就可以将高功率处理器和低功率处理器之一转换为不活动状态。
高功率处理器1304、低功率处理器1308、寄存器文件1312和/或控制模块1314可以被实现为片上系统(SOC)1330。
在图31B中,处理系统1350包括高功率(HP)处理器1354和低功率(LP)处理器1358。高功率处理器1354包括寄存器文件1370,低功率处理器1358包括寄存器文件1372。
在高功率模式中,高功率处理器1354处于活动状态并且处理线程。低功率处理器1358在高功率模式期间也可以工作。换句话说,低功率处理器1358可以在高功率模式的全部或部分期间内处于活动状态(并且可以处理线程)并且/或者可以处于不活动模式。在低功率模式中,低功率处理器1358工作在活动状态下并且高功率处理器1354处于不活动状态。高功率处理器1354和低功率处理器1358分别可以使用相同或类似的指令组。处理器1354和1358可以具有相同或类似的体系结构。处理器1354和1358两者在从低功率模式转换到高功率模式时和在从高功率模式转换到低功率模式时可以都处于活动状态下。
高功率处理器1354和低功率处理器1358分别包括晶体管1356和1360。晶体管1356在工作于活动状态期间趋于比晶体管1360消耗更多的功率。在一些实现方式中,晶体管1356可以比晶体管1360具有更高的泄漏电流。晶体管1360可以具有比晶体管1356的尺寸更大的尺寸。
高功率处理器1354可以比低功率处理器1358更加复杂。例如,低功率处理器1358可以比图31A所示的高功率处理器具有更小的宽度和/或深度。换句话说,低功率处理器1358的宽度可以比高功率处理器1354包括更少的并行流水线或不包括并行流水线。低功率处理器1358的深度可以比高功率处理器1354包括更少的级。
寄存器文件1370为高功率处理器1354存储诸如寄存器、程序计数器和检查点的线程信息。寄存器文件1372为低功率处理器1358存储诸如寄存器、程序计数器和检查点的线程信息。在线程转移期间,高功率处理器1354和低功率处理器1358分别还可以转移与所转移的线程相关联的寄存器、程序计数器和检查点以存储在寄存器文件1370和/或1372中。
可以提供控制模块1364来控制高功率模式和低功率模式之间的转换。控制模块1364可以从另一模块接收模式请求信号。控制模块1364可以与或者HP处理器或者LP处理器集成。控制模块1364可以监控线程和/或涉及寄存器、检查点和/或程序计数器的信息的转移。一旦(一个或多个)线程的转移完成,控制模块1364就可以将高功率处理器和低功率处理器之一转换为不活动状态。
在图31C中,高功率处理器1354、低功率处理器1358和/或控制模块1364中的两个或更多个被集成在片上系统(SOC)1380中。可以知道,控制模块1364也可以被独立实现。虽然寄存器文件1370和1372被示为HP处理器和LP处理器的一部分,但是它们也可以被独立实现。
现在参照图32A-32C,示出了工作于高功率模式和低功率模式的各种图形处理系统。当在高功率模式和低功率模式之间转换时,高功率和低功率图形处理单元(GPU)选择性地将一个或多个程序线程转移到彼此。线程可以处于各种完成状态下。这允许高功率模式和低功率模式之间的无缝转换。
在图32A中,图形处理系统1400包括高功率(HP)GPU 1404、低功率(LP)GPU 1408和寄存器文件1412。在高功率模式中,高功率GPU1404处于活动状态并且处理线程。低功率GPU 1408在高功率模式期间也可以工作。换句话说,低功率GPU可以在高功率模式的全部或部分期间内处于活动状态并且/或者可以处于不活动模式。
在低功率模式中,低功率GPU 1408工作在活动状态下并且高功率GPU 1404处于不活动状态。高功率GPU 1404和低功率GPU 1408分别可以使用相同或类似的指令组。低功率和高功率GPU可以具有相同或类似的体系结构。GPU 1404和1408两者在从低功率模式转换到高功率模式时和在从高功率模式转换到低功率模式时可以暂时同时工作在活动状态下。
高功率GPU 1404和低功率GPU 1408分别包括晶体管1406和1410。高功率GPU 1404的晶体管1406在工作于活动状态期间趋于比低功率GPU 1408的晶体管1410消耗更多的功率。在一些实现方式中,晶体管1406可以比晶体管1410具有更高的泄漏电流。晶体管1410可以具有比晶体管1406的尺寸更大的尺寸。
高功率GPU 1404可以比低功率GPU 1408更加复杂。例如,低功率GPU 1408可以比高功率GPU具有更小的宽度和/或深度。换句话说,宽度可以由并行流水线的数目来定义。高功率GPU 1404可以包括PHP个并行流水线1442,低功率GPU 1408可以包括PLP个并行流水线1446。在一些实现方式中,PLP可以小于PHP。PLP可以是大于或等于零的整数。当PLP=0时,低功率GPU不包括任何并行流水线。深度可以由级数来定义。高功率GPU 1404可以包括SHP级1444,低功率GPU 1408可以包括SLP级1448。在一些实现方式中,SLP可以小于SHP。SLP可以是大于或等于1的整数。
寄存器文件1412可以在高功率GPU 1404和低功率GPU 1408之间共享。寄存器文件1412可以将预定的地址位置用于寄存器、检查点和/或程序计数器。例如,分别由高功率GPU 1404和/或低功率GPU 1408所使用的寄存器、检查点和/或程序计数器可以存储在寄存器文件1412的相同位置中。因此,高功率GPU 1404和低功率GPU 1408在新的线程被传到了各自的GPU时可以定位特定的寄存器、检查点和/或程序计数器。共享寄存器文件1412有助于线程的转移。寄存器文件1412可以是除了分别在高功率GPU 1404和低功率GPU 1408的每一个中的寄存器文件(未示出)之外的寄存器文件。线程可以包括单线程和/或多线程。
可以提供控制模块1414以选择性地控制高功率模式和低功率模式之间的转换。控制模块1414可以从另一模块或设备接收模式请求信号。控制模块1414可以监控线程的转移和/或涉及线程转移的信息,例如寄存器、检查点和/或程序计数器。一旦线程的转移完成,控制模块1414就可以将高功率GPU和低功率GPU之一转换为不活动状态。
高功率GPU 1404、低功率GPU 1408、寄存器文件1412和/或控制模块1414可以被实现为片上系统(SOC)1430。
在图32B中,处理系统1450包括高功率(HP)GPU 1454和低功率(LP)GPU 1458。高功率GPU 1454包括寄存器文件1470,低功率GPU1458包括寄存器文件1472。
在高功率模式中,高功率GPU 1454处于活动状态并且处理线程。低功率GPU 1458在高功率模式期间也可以工作。换句话说,低功率GPU1458可以在高功率模式的全部或部分期间内处于活动状态(并且可以处理线程)并且/或者可以处于不活动模式。在低功率模式中,低功率GPU1458工作在活动状态下并且高功率GPU 1454处于不活动状态。高功率GPU 1454和低功率GPU 1458分别可以使用相同或类似的指令组。GPU1454和1458可以具有相同或类似的体系结构。GPU 1454和1458两者在从低功率模式转换到高功率模式时和在从高功率模式转换到低功率模式时可以都处于活动状态下。
高功率GPU 1454和低功率GPU 1458分别包括晶体管1456和1460。晶体管1456在工作于活动状态期间趋于比晶体管1460消耗更多的功率。在一些实现方式中,晶体管1456可以比晶体管1460具有更高的泄漏电流。晶体管1460可以具有比晶体管1456的尺寸更大的尺寸。
高功率GPU 1454可以比低功率GPU 1458更加复杂。例如,低功率GPU 1458可以比图32A所示的高功率GPU具有更小的宽度和/或深度。换句话说,低功率GPU 1458的宽度可以比高功率GPU 1454包括更少的并行流水线。低功率GPU 1458的深度可以比高功率GPU 1454包括更少的级。
寄存器文件1470为高功率GPU 1454存储诸如寄存器、程序计数器和检查点的线程信息。寄存器文件1472为低功率GPU 1458存储诸如寄存器、程序计数器和检查点的线程信息。在线程转移期间,高功率GPU1454和低功率GPU 1458分别还可以转移与所转移的线程相关联的寄存器、程序计数器和检查点以存储在寄存器文件1470和/或1472中。
可以提供控制模块1464来控制高功率模式和低功率模式之间的转换。控制模块1464可以从另一模块接收模式请求信号。控制模块1464可以监控线程和/或涉及寄存器、检查点和/或程序计数器的信息的转移。一旦(一个或多个)线程的转移完成,控制模块1464就可以将高功率GPU和低功率GPU之一转换为不活动状态。
在图32C中,高功率GPU 1454、低功率GPU 1458和/或控制模块1464中的两个或更多个被集成在片上系统(SOC)1480中。可以知道,控制模块1464也可以被独立实现。
现在参照图33,示出了说明用于操作图31A-32C的数据和图形处理系统的示例性方法的流程图。操作开始于步骤1500。在步骤1504中,控制确定设备是否工作在高功率模式下。在步骤1508中,控制确定是否请求转换到低功率模式。当步骤1508的判断结果为真时,控制在步骤1512中将数据或图形线程转移到低功率处理器或GPU。在步骤1516中,控制在需要的情况下将诸如寄存器、检查点和/或程序计数器的信息转移到低功率处理器或GPU。当使用共用存储器时,该步骤可以省略。在步骤1520中,控制确定线程和/或其他信息是否被正确地转移到了低功率处理器或GPU。如果步骤1520的判断结果为真,则控制将高功率处理器或GPU转换为不活动状态。
如果步骤1504的判断结果为假,则控制确定设备是否工作在低功率模式下。如果步骤1528的判断结果为真,则控制确定是否请求转换到高功率模式。如果步骤1532的判断结果为真,则控制在步骤1536中将数据或图形线程转移到高功率处理器或GPU。在步骤1540中,控制将诸如寄存器、检查点和/或程序计数器的信息转移到高功率处理器或GPU。当使用共用存储器时,该步骤可以省略。在步骤1544中,控制确定线程和/或其他信息是否被转移到了高功率处理器或GPU。当步骤1544的判断结果为真时,控制将低功率处理器或GPU转换为不活动状态并且控制返回步骤1504。
现在参照图34A-34G,示出了包含本发明的教导的各种示例性实现方式。
现在参照图34A,本发明的教导可以在硬盘驱动器(HDD)1600的控制系统中实现。HDD 1600包括硬盘组件(HDA)1601和HDD PCB1602。HDA 1601可以包括磁介质1603和读/写器件1604,磁介质1603例如是存储数据的一个或多个盘片。读/写器件1604可以被布置在致动器臂1605上并且可以在磁介质1603上读和写数据。另外,HDA 1601包括使磁介质1603旋转的转轴马达1606和对致动器臂1605进行致动的音圈马达(VCM)1607。前置放大器器件1608在读操作期间对读/写器件1604所产生的信号进行放大并且在写操作期间将信号提供给读/写器件1604。
HDD PCB 1602包括读/写通道模块(以下称为“读通道”)1609、硬盘控制器(HDC)模块1610、缓冲器1611、非易失性存储器1612、处理器1613和转轴/VCM驱动器模块1614。读通道1609处理从前置放大器器件1608接收和发送到前置放大器器件1608的数据。HDC模块1610控制HDA 1601的组件并且经由I/O接口1615与外部设备(未示出)通信。外部设备可以包括计算机、多媒体设备、移动计算设备等。I/O接口1615可以包括有线和/或无线通信链路。
HDC模块1610可以从HDA 1601、读通道1609、缓冲器1611、非易失性存储器1612、处理器1613、转轴/VCM驱动器模块1614和/或I/O接口1615接收数据。处理器1613可以处理数据,包括编码、解码、过滤和/或格式化。经处理的数据可以被输出到HDA 1601、读通道1609、缓冲器1611、非易失性存储器1612、处理器1613、转轴/VCM驱动器模块1614和/或I/O接口1615。
HDC模块1610可以使用缓冲器1611和/或非易失性存储器1612来存储涉及HDD 1600的控制和操作的数据。缓冲器1611可以包括DRAM、SDRAM等。非易失性存储器1612可以包括闪存(包括NAND和NOR闪存)、相变存储器、磁RAM或多态存储器,在多态存储器中,每个存储器单元具有多于两个的状态。转轴/VCM驱动器模块1614控制转轴马达1606和VCM 1607。HDD PCB 1602包括为HDD 1600的组件提供功率的电源1616。
现在参照图34B,本发明的教导可以在DVD驱动器1618或CD驱动器(未示出)的控制系统中实现。DVD驱动器1618包括DVD PCB 1619和DVD组件(DVDA)1620。DVD PCB 1619包括DVD控制模块1621、缓冲器1622、非易失性存储器1623、处理器1624、转轴/FM(进给电动机(feed motor))驱动器模块1625、模拟前端模块1626、写策略模块1627和DSP模块1628。
DVD控制模块1621控制DVDA 1620的组件并且经由I/O接口1629与外部设备(未示出)通信。外部设备可以包括计算机、多媒体设备、移动计算设备等。I/O接口1629可以包括有线和/或无线通信链路。
DVD控制模块1621可以从缓冲器1622、非易失性存储器1623、处理器1624、转轴/FM驱动器模块1625、模拟前端模块1626、写策略模块1627、DSP模块1628和/或I/O接口1629接收数据。处理器1624可以处理数据,包括编码、解码、过滤和/或格式化。DSP模块1628执行信号处理,例如视频和/或音频编码/解码。经处理的数据可以被输出到缓冲器1622、非易失性存储器1623、处理器1624、转轴/FM驱动器模块1625、模拟前端模块1626、写策略模块1627、DSP模块1628和/或I/O接口1629。
DVD控制模块1621可以使用缓冲器1622和/或非易失性存储器1623来存储涉及DVD驱动器1618的控制和操作的数据。缓冲器1622可以包括DRAM、SDRAM等。非易失性存储器1623可以包括闪存(包括NAND和NOR闪存)、相变存储器、磁RAM或多态存储器,在多态存储器中,每个存储器单元具有多于两个的状态。DVD PCB 1619包括为DVD驱动器1618的组件提供功率的电源1630。
DVDA 1620可以包括前置放大器器件1631、激光驱动器1632和光器件1633,光器件1633可以是光读/写(ORW)器件或光只读(OR)器件。转轴马达1634使光存储介质1635旋转,进给电动机1636对光器件1633相对于光存储介质1635进行致动。
当从光存储介质1635读取数据时,激光驱动器将读取功率提供给光器件1633。光器件1633检测来自光存储介质1635的数据并将数据发送到前置放大器器件1631。模拟前端模块1626从前置放大器1631接收数据并且执行诸如滤波和A/D转换之类的功能。为了写入光存储介质1635,写策略模块1627将功率电平和定时信息发送给激光驱动器1632。激光驱动器1632控制光器件1633从而将数据写到光存储介质1635。
现在参照图34C,本发明的教导可以在高清晰度电视(HDTV)1637的控制系统中实现。HDTV 1637包括HDTV控制模块1638、显示器1639、电源1640、存储器1641、存储设备1642、WLAN接口1643和相关天线1644以及外部接口1645。
HDTV 1637可以从WLAN接口1643和/或外部接口1645接收输入信号,外部接口1645经由电缆、宽带因特网和/或人造卫星而发送和接收信息。HDTV控制模块1638可以处理输入信号,包括编码、解码、过滤和/或格式化,并且产生输出信号。输出信号可以被传送到显示器1639、存储器1641、存储设备1642、WLAN接口1643和外部接口1645中的一个或多个。
存储器1641可以包括随机存取存储器(RAM)和/或诸如闪存、相变存储器或多态存储器之类的非易失性存储器,在多态存储器中,每个存储器单元具有多于两个的状态。存储设备1642可以包括光存储驱动器和/或硬盘驱动器(HDD),光存储驱动器例如是DVD驱动器。HDTV控制模块1638经由WLAN接口1643和/或外部接口1645而与外部通信。电源1640为HDTV 1637的组件提供功率。
现在参照图34D,本发明的教导可以在车辆1646的控制系统中实现。车辆1646可以包括车辆控制系统1647、电源1648、存储器1649、存储设备1650以及WLAN接口1652和相关天线1653。车辆控制系统1647可以是动力传动(powertrain)控制系统、车身控制系统、娱乐控制系统、防抱死制动系统(ABS)、导航系统、信息通讯系统、车道偏离系统、适应性巡航控制系统等。
车辆控制系统1647可以与一个或多个传感器1654通信并且产生一个或多个输出信号1656。传感器1654可以包括温度传感器、加速度传感器、压力传感器、旋转传感器、气流传感器等。输出信号1656可以控制发动机操作参数、变速器操作参数、悬架参数等。
电源1648为车辆1646的组件提供功率。车辆控制系统1647可以将数据存储在存储器1649和/或存储设备1650中。存储器1649可以包括随机存取存储器(RAM)和/或诸如闪存、相变存储器或多态存储器之类的非易失性存储器,在多态存储器中,每个存储器单元具有多于两个的状态。存储设备1650可以包括光存储驱动器和/或硬盘驱动器(HDD),光存储驱动器例如是DVD驱动器。车辆控制系统1647可以用WLAN接口1652与外部通信。
现在参照图34E,本发明的教导可以在蜂窝电话1658的控制系统中实现。蜂窝电话1658包括电话控制模块1660、电源1662、存储器1664、存储设备1666和蜂窝网络接口1667。蜂窝电话1658可以包括WLAN接口1668和相关天线1669、麦克风1670、诸如扬声器和/或输出插口之类的音频输出1672、显示器1674和诸如键盘和/或点击设备之类的用户输入设备1676。
电话控制模块1660可以从蜂窝网络接口1667、WLAN接口1668、麦克风1670和/或用户输入设备1676接收输入信号。电话控制模块1660可以处理信号,包括编码、解码、滤波和/或格式化,并且产生输出信号。输出信号可以被传送到存储器1664、存储设备1666、蜂窝网络接口1667、WLAN接口1668和音频输出1672中的一个或多个。
存储器1664可以包括随机存取存储器(RAM)和/或诸如闪存、相变存储器或多态存储器之类的非易失性存储器,在多态存储器中,每个存储器单元具有多于两个的状态。存储设备1666可以包括光存储驱动器和/或硬盘驱动器(HDD),光存储驱动器例如是DVD驱动器。电源1662为蜂窝电话1658的组件提供功率。
现在参照图34F,本发明的教导可以在机顶盒1678的控制系统中实现。机顶盒1678包括机顶控制模块1680、显示器1681、电源1682、存储器1683、存储设备1684以及WLAN接口1685和相关天线1686。
机顶控制模块1680可以从WLAN接口1685和外部接口1687接收输入信号,外部接口1687可以经由电缆、宽带因特网和/或人造卫星而发送和接收信息。机顶控制模块1680可以处理信号,包括编码、解码、滤波和/或格式化,并且产生输出信号。输出信号可以包括标准和/或高清晰度格式的音频和/或视频信号。输出信号可以被传送到WLAN接口1685和/或显示器1681。显示器1681可以包括电视机、投影仪和/或监视器。
电源1682为机顶盒1678的组件提供功率。存储器1683可以包括随机存取存储器(RAM)和/或诸如闪存、相变存储器或多态存储器之类的非易失性存储器,在多态存储器中,每个存储器单元具有多于两个的状态。存储设备1684可以包括光存储驱动器和/或硬盘驱动器(HDD),光存储驱动器例如是DVD驱动器。
现在参照图34G,本发明的教导可以在媒体播放器1689的控制系统中实现。媒体播放器1689可以包括媒体播放器控制模块1690、电源1691、存储器1692、存储设备1693、WLAN接口1694和相关天线1695以及外部接口1699。
媒体播放器控制模块1690可以从WLAN接口1694和/或外部接口1699接收输入信号。外部接口1699可以包括USB、红外和/或以太网。输入信号可以包括经压缩的音频和/或视频,并且可以遵从MP3格式。另外,媒体播放器控制模块1690可以从诸如键盘、触摸盘(touchpad)或独立按钮之类的用户输入1696接收输入。媒体播放器控制模块1690可以处理输入信号,包括编码、解码、滤波和/或格式化,并且产生输出信号。
媒体播放器控制模块1690可以将音频信号输出到音频输出1697,将视频信号输出到显示器1698。音频输出1697可以包括扬声器和/或输出插口。显示器1698可以是包括菜单、图标等的图形用户界面。电源1691为媒体播放器1689的组件提供功率。存储器1692可以包括随机存取存储器(RAM)和/或诸如闪存、相变存储器或多态存储器之类的非易失性存储器,在多态存储器中,每个存储器单元具有多于两个的状态。存储设备1693可以包括光存储驱动器和/或硬盘驱动器(HDD),光存储驱动器例如是DVD驱动器。
本领域技术人员现在可以从上面的描述中知道本发明的广泛教导可以以各种形式实现。因此,虽然连同本发明的特定示例描述了本发明,但是本发明的真正范围不应该这么有限,因为在学习了附图、说明书和权利要求书之后,其他修改对于本领域技术人员来说将变得清楚。
本申请要求2006年9月12日提交的临时申请No.60/825,368、2006年8月24日提交的临时申请No.60/823,453和2006年8月10日提交的临时申请No.60/822,015的权利,并且是2006年8月11日提交的美国专利申请No.11/503,016的部分延续,美国专利申请No.11/503,016要求2006年7月31日提交的临时申请No.60/820,867和2006年5月10日提交的临时申请No.60/799,151的权利,临时申请No.60/799,151是2004年6月10日提交的美国专利申请No.10/865,368的部分延续并且是美国专利申请No.11/322,447的部分延续,美国专利申请No.11/322,447是在2005年12月29日提交的并且其要求2005年5月5日提交的临时申请No.60/678,249的权利。
本申请涉及2004年2月13日提交的美国专利申请No.10/779,544,并且涉及2004年6月10日提交的美国专利申请No.10/865,732。这些申请的公开都通过引用而被全部合并于此。
Claims (20)
1.一种片上系统,包括:
由所述片上系统实现的第一处理器,该第一处理器具有活动和不活动状态并且在所述活动状态期间处理第一和第二组线程;
由所述片上系统实现的第二处理器,该第二处理器具有活动和不活动状态,其中所述第二处理器在工作于所述活动状态时比所述第一处理器工作于所述活动状态消耗更少的功率;以及
由所述片上系统实现的控制模块,该控制模块与所述第一和第二处理器通信,并且选择性地将所述第二组线程从所述第一处理器转移到所述第二处理器并选择所述第一处理器的所述不活动状态,其中所述第二处理器处理所述第二组线程。
2.如权利要求1所述的片上系统,还包括由所述片上系统实现的寄存器文件,该寄存器文件与所述第一处理器和所述第二处理器通信并且存储用于所述第一和第二处理器的线程信息。
3.如权利要求2所述的片上系统,其中所述线程信息包括用于所述第一和第二处理器的所述线程的寄存器、检查点和程序计数器中的至少一种。
4.如权利要求1所述的片上系统,还包括:
第一寄存器文件,该第一寄存器文件与所述第一处理器通信并且存储用于所述第一处理器的第一线程信息;以及
第二寄存器文件,该第二寄存器文件与所述第二处理器通信并且存储用于所述第二处理器的第二线程信息。
5.如权利要求4所述的片上系统,其中所述第一和第二线程信息分别包括用于所述第一和第二处理器的所述线程的寄存器、检查点和程序计数器中的至少一种。
6.如权利要求4所述的片上系统,其中所述控制模块在将所述线程从所述第一处理器转移到所述第二处理器时,将所述线程信息从所述第一寄存器文件转移到所述第二寄存器文件。
7.如权利要求1所述的片上系统,其中所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,并且所述第一晶体管比所述第二晶体管具有更高的泄漏电流。
8.如权利要求1所述的片上系统,其中所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,并且所述第二晶体管比所述第一晶体管具有更大的尺寸。
9.如权利要求1所述的片上系统,其中所述片上系统在所述第一处理器处于活动状态时处于高功率模式,在所述第一处理器处于不活动状态时处于低功率模式。
10.如权利要求1所述的片上系统,其中所述第一和第二处理器分别包括第一和第二图形处理单元。
11.一种处理系统,包括:
第一处理器,该第一处理器具有活动和不活动状态并且在所述活动状态期间处理至少一个线程;
第二处理器,该第二处理器具有活动和不活动状态,其中所述第二处理器在工作于所述活动状态时比所述第一处理器工作于所述活动状态消耗更少的功率;以及
控制模块,该控制模块与所述第一和第二处理器通信,并且选择性地将所述至少一个线程从所述第一处理器转移到所述第二处理器并选择所述第一处理器的所述不活动状态,其中所述第二处理器处理所述至少一个线程。
12.如权利要求11所述的处理系统,还包括由片上系统实现的寄存器文件,该寄存器文件与所述第一处理器和所述第二处理器通信并且存储用于所述第一和第二处理器的线程信息,其中所述线程信息包括用于所述第一和第二处理器的所述线程的寄存器、检查点和程序计数器中的至少一种。
13.一种包括权利要求12所述的第一和第二处理器以及所述寄存器文件的片上系统。
14.如权利要求11所述的处理系统,还包括:
第一寄存器文件,该第一寄存器文件与所述第一处理器通信并且存储用于所述第一处理器的第一线程信息;以及
第二寄存器文件,该第二寄存器文件与所述第二处理器通信并且存储用于所述第二处理器的第二线程信息,其中所述第一和第二线程信息分别包括用于所述第一和第二处理器的所述线程的寄存器、检查点和程序计数器中的至少一种。
15.一种包括权利要求14所述的第一和第二处理器以及所述第一和第二寄存器文件的片上系统。
16.如权利要求14所述的处理系统,其中所述控制模块在将所述线程从所述第一处理器转移到所述第二处理器时,将所述线程信息从所述第一寄存器文件转移到所述第二寄存器文件。
17.如权利要求11所述的处理系统,其中所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,并且所述第一晶体管比所述第二晶体管具有更高的泄漏电流。
18.如权利要求11所述的处理系统,其中所述第一处理器包括第一晶体管,所述第二处理器包括第二晶体管,并且所述第二晶体管比所述第一晶体管具有更大的尺寸。
19.如权利要求11所述的处理系统,其中所述处理系统在所述第一处理器处于活动状态时处于高功率模式,在所述第一处理器处于不活动状态时处于低功率模式。
20.如权利要求11所述的处理系统,其中所述第一和第二处理器分别包括第一和第二图形处理单元。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79915106P | 2006-05-10 | 2006-05-10 | |
US60/799,151 | 2006-05-10 | ||
US60/820,867 | 2006-07-31 | ||
US60/822,015 | 2006-08-10 | ||
US11/503,016 | 2006-08-11 | ||
US60/823,453 | 2006-08-24 | ||
US60/825,368 | 2006-09-12 | ||
US11/523,996 | 2006-09-20 | ||
US11/599,544 | 2006-11-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101118460A true CN101118460A (zh) | 2008-02-06 |
Family
ID=39054597
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100873332A Pending CN101118460A (zh) | 2006-05-10 | 2007-03-09 | 具有高功率和低功率处理器以及线程转移的系统 |
CN200780016904.1A Active CN101443726B (zh) | 2006-05-10 | 2007-05-10 | 包括具有闪存接口的硬盘驱动器的自适应存储系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780016904.1A Active CN101443726B (zh) | 2006-05-10 | 2007-05-10 | 包括具有闪存接口的硬盘驱动器的自适应存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN101118460A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473101A (zh) * | 2010-01-07 | 2012-05-23 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN102804141A (zh) * | 2009-06-26 | 2012-11-28 | 汤姆森特许公司 | 数据处理装置中的组合存储器和存储器件 |
CN103514139A (zh) * | 2012-06-28 | 2014-01-15 | 国际商业机器公司 | 堆叠式多处理器结构和用于实现可靠的处理器操作的方法 |
CN103649864A (zh) * | 2011-06-27 | 2014-03-19 | 英特尔公司 | 在处理器中增加超频模式操作的功耗效率 |
CN103988190A (zh) * | 2011-12-16 | 2014-08-13 | 英特尔公司 | 用于通过外部显示-数据i/o端口来扩展图形处理的方法、设备及系统 |
CN104011703A (zh) * | 2011-12-22 | 2014-08-27 | 英特尔公司 | 指定应用线程性能状态的指令 |
CN104932985A (zh) * | 2015-06-26 | 2015-09-23 | 季锦诚 | 一种基于eDRAM的GPGPU寄存器文件系统 |
CN105652999A (zh) * | 2015-12-24 | 2016-06-08 | 联想(北京)有限公司 | 电源管理系统、信息处理方法、连接器和Socket |
CN107667353A (zh) * | 2015-06-26 | 2018-02-06 | 英特尔公司 | 将核存储器内容转储清除并恢复到外部存储器 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528116B2 (en) | 2013-03-14 | 2020-01-07 | Seagate Technology Llc | Fast resume from hibernate |
CN104063184B (zh) * | 2013-03-19 | 2017-08-04 | 财团法人工业技术研究院 | 磁盘记录方法及其非易失性存储媒体与电子装置 |
KR20180094391A (ko) * | 2017-02-15 | 2018-08-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10338655B2 (en) * | 2017-04-11 | 2019-07-02 | Qualcomm Incorporated | Advanced fall through mechanism for low power sequencers |
US10785301B2 (en) * | 2017-08-03 | 2020-09-22 | Toshiba Memory Corporation | NVM express over fabrics |
US11768613B2 (en) * | 2019-06-25 | 2023-09-26 | Micron Technology, Inc. | Aggregation and virtualization of solid state drives |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628469B1 (en) * | 2000-07-11 | 2003-09-30 | International Business Machines Corporation | Apparatus and method for low power HDD storage architecture |
CN1234130C (zh) * | 2001-09-20 | 2005-12-28 | 台均科技(深圳)有限公司 | 基于闪存的系统引导装置以及实现引导的方法 |
US7634615B2 (en) * | 2004-06-10 | 2009-12-15 | Marvell World Trade Ltd. | Adaptive storage system |
-
2007
- 2007-03-09 CN CNA2007100873332A patent/CN101118460A/zh active Pending
- 2007-05-10 CN CN200780016904.1A patent/CN101443726B/zh active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804141A (zh) * | 2009-06-26 | 2012-11-28 | 汤姆森特许公司 | 数据处理装置中的组合存储器和存储器件 |
CN102473101A (zh) * | 2010-01-07 | 2012-05-23 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN102473101B (zh) * | 2010-01-07 | 2014-09-17 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN103649864A (zh) * | 2011-06-27 | 2014-03-19 | 英特尔公司 | 在处理器中增加超频模式操作的功耗效率 |
CN103649864B (zh) * | 2011-06-27 | 2016-08-17 | 英特尔公司 | 在处理器中增加超频模式操作的功耗效率 |
CN103988190A (zh) * | 2011-12-16 | 2014-08-13 | 英特尔公司 | 用于通过外部显示-数据i/o端口来扩展图形处理的方法、设备及系统 |
CN104011703A (zh) * | 2011-12-22 | 2014-08-27 | 英特尔公司 | 指定应用线程性能状态的指令 |
CN104011703B (zh) * | 2011-12-22 | 2017-04-12 | 英特尔公司 | 用于指定应用线程性能状态的指令的指令处理装置及相关方法 |
CN103514139A (zh) * | 2012-06-28 | 2014-01-15 | 国际商业机器公司 | 堆叠式多处理器结构和用于实现可靠的处理器操作的方法 |
CN103514139B (zh) * | 2012-06-28 | 2016-08-10 | 国际商业机器公司 | 堆叠式多处理器结构和用于实现可靠的处理器操作的方法 |
CN104932985A (zh) * | 2015-06-26 | 2015-09-23 | 季锦诚 | 一种基于eDRAM的GPGPU寄存器文件系统 |
CN107667353A (zh) * | 2015-06-26 | 2018-02-06 | 英特尔公司 | 将核存储器内容转储清除并恢复到外部存储器 |
CN107667353B (zh) * | 2015-06-26 | 2022-03-01 | 英特尔公司 | 将核存储器内容转储清除并恢复到外部存储器 |
CN105652999A (zh) * | 2015-12-24 | 2016-06-08 | 联想(北京)有限公司 | 电源管理系统、信息处理方法、连接器和Socket |
CN105652999B (zh) * | 2015-12-24 | 2019-04-26 | 联想(北京)有限公司 | 电源管理系统、信息处理方法、连接器和Socket |
Also Published As
Publication number | Publication date |
---|---|
CN101443726A (zh) | 2009-05-27 |
CN101443726B (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101118460A (zh) | 具有高功率和低功率处理器以及线程转移的系统 | |
CN100541410C (zh) | 磁盘驱动器系统 | |
KR101379940B1 (ko) | 플래시 인터페이스를 갖는 하드 디스크 드라이브를 포함한 적응 저장 시스템 | |
US20070083785A1 (en) | System with high power and low power processors and thread transfer | |
TWI472914B (zh) | 具有可移除式非揮發性半導體記憶體模組之硬碟驅動器、硬碟總成、膝上型電腦和用於非揮發性半導體記憶體模組移除檢測之硬碟控制器積體電路 | |
US20070094444A1 (en) | System with high power and low power processors and thread transfer | |
EP2049968B1 (en) | Adaptive storage system including hard disk drive with flash interface | |
CN1866161B (zh) | 具有高功率和低功率模式的处理设备 | |
US20080172519A1 (en) | Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device | |
EP1855181A2 (en) | System with high power and low power processors and thread transfer | |
US8024508B2 (en) | Computer storage control | |
EP3142015A1 (en) | Low-power memory-access method and associated apparatus | |
US20140129759A1 (en) | Low power write journaling storage system | |
JP2021125248A (ja) | コントローラ、コントローラの動作方法及びそれを含む保存装置 | |
KR20240004454A (ko) | 솔리드 스테이트 드라이브에서 nand 다이 충돌들을 줄이는 방법 및 장치 | |
US10795605B2 (en) | Storage device buffer in system memory space | |
KR100467102B1 (ko) | 데이터 저장 시스템 | |
US7757130B2 (en) | Computer system having raid control function and raid control method | |
WO2008084473A1 (en) | Systems for supporting readydrive and ready boost accelerators in a single flash-memory storage device | |
US7805567B2 (en) | Chipset and northbridge with raid access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1116556 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080206 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1116556 Country of ref document: HK |