專利名稱:具有高功率和低功率處理器以及線程轉(zhuǎn)移的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲系統(tǒng),尤其涉及低功率數(shù)據(jù)存儲系統(tǒng)。
技術(shù)背景膝上型計算機使用線路電源和電池電源兩者供電。膝上型計算機的處 理器、圖形處理器、存儲器和顯示器在工作期間消耗大量的功率。膝上型 計算機的一個重要限制涉及膝上型計算機可以在不充電的情況下使用電池 工作的時間量。膝上型計算機的較高的功耗通常對應(yīng)較短的電池壽命。現(xiàn)在參照圖1A,所示出的示例性計算機體系結(jié)構(gòu)4包括存儲器6,存 儲器6具有諸如緩存之類的存儲器7。處理器6與輸入/輸出(I/O)接口 8 通信。諸如隨機存取存儲器(RAM) 10和/或其他合適的電子數(shù)據(jù)存儲裝 置之類的易失性存儲器9也與接口 8通信。圖形處理器11和諸如緩存之類 的存儲器12增加了圖形處理的速度和性能。諸如鍵盤13和點擊設(shè)備14 (例如鼠標(biāo)和/或其他合適的設(shè)備)之類的 一個或多個I/0設(shè)備與接口 8'通信。諸如具有一個或多個直徑大于1.8〃的 盤片的硬盤驅(qū)動器之類的高功率盤驅(qū)動器(HPDD) 15提供非易失性存儲 器、存儲數(shù)據(jù)并且與接口 8通信。HPDD 15在工作期間一般消耗較大量的 功率。當(dāng)用電池工作時,HPDD 15的頻繁使用將大大降低電池壽命。計算 機體系結(jié)構(gòu)4還包括顯示器16、諸如音頻揚聲器的音頻輸出設(shè)備17和/或 被一般地標(biāo)識為18的其他輸入/輸出設(shè)備?,F(xiàn)在參照圖1B,示例性的計算機體系結(jié)構(gòu)20包括處理芯片組22和 1/0芯片組24。例如,計算機體系結(jié)構(gòu)可以是北橋/南橋體系結(jié)構(gòu)(處理芯 片組對應(yīng)于北橋芯片組,I/O芯片組對應(yīng)于南橋芯片組)或其他類似的體 系結(jié)構(gòu)。處理芯片組22經(jīng)由系統(tǒng)總線27與處理器25和圖形處理器26通 信。處理芯片組22控制與易失性存儲器28 (例如外部DRAM或其他存儲
器)、外圍組件互連(PCI)總線30和/或2級緩存32的交互。1級緩存 33和34可以分別與處理器25和/或圖形處理器26相關(guān)聯(lián)。在替換的實施 例中,加速圖形端口 (AGP)(未示出)與處理芯片組22而不是圖形處 理器26通信,或者除了與圖形處理器26通信之外還與處理芯片組22通 信。處理芯片組22 —般用多個芯片實現(xiàn),但不是必須用多個芯片實現(xiàn)。 PCI槽36與PCI總線30連接。
I/O芯片組24管理輸入/輸出(I/O)的基本形式。I/O芯片組24經(jīng)由 工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線44與通用串行總線(USB) 40、音頻設(shè)備 41、鍵盤(KBD)和/或點擊設(shè)備42以及基本輸入/輸出系統(tǒng)(BIOS) 43 通信。與處理芯片組22不同的是,I/O芯片組24 —般(但不是必須)用 單個芯片實現(xiàn),其連接到PCI總線30。諸如硬盤驅(qū)動器之類的HPDD 50 也與I/O芯片組24通信。HPDD 50存儲由處理器25執(zhí)行的全特征(foll-featured)操作系統(tǒng)(OS),例如Windows XP 、 Windows 2000 、 Linux 和基于MAC的OS。
發(fā)明內(nèi)容
一種片上系統(tǒng)(SOC),包括由所述SOC實現(xiàn)的第一處理器和由所述 SOC實現(xiàn)的第二處理器,該第一處理器具有活動和不活動狀態(tài)并且在活動 狀態(tài)期間處理第一和第二組線程,該第二處理器具有活動和不活動狀態(tài), 其中第二處理器在工作于活動狀態(tài)時比第一處理器工作于活動狀態(tài)消耗更 少的功率。所述SOC還包括由所述SOC實現(xiàn)的控制模塊,該控制模塊與 第一和第二處理器通信,并且選擇性地將第二組線程從第一處理器轉(zhuǎn)移到 第二處理器并選擇第一處理器的不活動狀態(tài)。第二處理器處理第二組線 程。
在另一特征中,所述soc還包括由所述soc實現(xiàn)的寄存器文件,該寄存器文件與第一處理器和第二處理器通信并且存儲用于第一和第二處理 器的線程信息。所述線程信息包括用于第一和第二處理器的線程的寄存 器、檢查點和程序計數(shù)器中的至少一種。
在另一特征中,所述soc還包括第一寄存器文件和第二寄存器文件,
該第一寄存器文件與第一處理器通信并且存儲用于第一處理器的第一線程信息,該第二寄存器文件與第二處理器通信并且存儲用于第二處理器的第二線程信息。第一和第二線程信息分別包括用于第一和第二處理器的線程 的寄存器、檢查點和程序計數(shù)器中的至少一種。在另一特征中,所述控制模塊在將線程從第一處理器轉(zhuǎn)移到第二處理 器時,將線程信息從第一寄存器文件轉(zhuǎn)移到第二寄存器文件。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第一晶體管比第二晶體管具有更高的泄漏電流。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第二晶體管比第一晶體管具有更大的尺寸。在另一特征中,所述soc在第一處理器處于活動狀態(tài)時處于高功率模式,在第一處理器處于不活動狀態(tài)時處于低功率模式。在另一特征中,所述第一和第二處理器分別包括第一和第二圖形處理單元。在其他特征中, 一種用于處理數(shù)據(jù)的方法包括在片上系統(tǒng)(soc)上實現(xiàn)第一和第二處理器,其中所述第一和第二處理器具有活動和不活動狀 態(tài),并且第二處理器在工作于活動狀態(tài)時比第一處理器工作于活動狀態(tài)消 耗更少的功率。所述方法還包括使用第一處理器在活動狀態(tài)期間處理第一和第二組線程;選擇性地將第二組線程從第一處理器轉(zhuǎn)移到第二處理器; 選擇第一處理器的不活動狀態(tài);以及使用第二處理器處理第二組線程。在另一特征中,所述方法還包括使用所述SOC實現(xiàn)寄存器文件以及將 用于第一和第二處理器的線程信息存儲在寄存器文件中。線程信息包括用 于第一和第二處理器的線程的寄存器、檢查點和程序計數(shù)器中的至少一 種。在另一特征中,所述方法還包括使用所述soc實現(xiàn)第一寄存器文件、將用于第一處理器的第一線程信息存儲在第一寄存器文件中、使用所述soc實現(xiàn)第二寄存器文件以及存儲用于第二處理器的第二線程信息。第一和第二線程信息分別包括用于第一和第二處理器的線程的寄存器、檢査點 和程序計數(shù)器中的至少一種。
在另一特征中,所述方法還包括在將線程從第一處理器轉(zhuǎn)移到第二處 理器時將線程信息從第一寄存器文件轉(zhuǎn)移到第二寄存器文件。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第一晶體管比第二晶體管具有更高的泄漏電流。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第二晶體管比第一晶體管具有更大的尺寸。在另一特征中,所述方法還包括當(dāng)?shù)谝惶幚砥魈幱诨顒訝顟B(tài)時工作于 高功率模式下,當(dāng)?shù)谝惶幚砥魈幱诓换顒訝顟B(tài)時工作于低功率模式下。在另一特征中,所述第一和第二處理器分別包括第一和第二圖形處理單元。在其他特征中, 一種片上系統(tǒng)(soc)包括第一處理裝置,該第一處 理裝置由所述soc實現(xiàn)并且具有活動和不活動狀態(tài),用于在活動狀態(tài)期間 處理第一和第二組線程。所述soc還包括用于處理的第二處理裝置,該第二處理裝置由所述soc實現(xiàn)并且具有活動和不活動狀態(tài),其中第二處理裝置在工作于活動狀態(tài)時比第一處理裝置工作于活動狀態(tài)消耗更少的功率。所述soc還包括控制裝置,該控制裝置由所述soc實現(xiàn),用于與第一和第二處理裝置通信,并用于選擇性地將第二組線程從第一處理裝置轉(zhuǎn)移到 第二處理裝置和選擇第一處理裝置的不活動狀態(tài)。第二處理裝置處理第二 組線程。在另一特征中,所述soc還包括寄存器裝置,該寄存器裝置由所述soc實現(xiàn)并且與第一處理裝置和第二處理裝置通信,用于存儲用于第一和第二處理裝置的線程信息。線程信息包括用于第一和第二處理裝置的線程 的寄存器、檢查點和程序計數(shù)器中的至少一種。在另一特征中,所述soc還包括第一寄存器裝置和第二寄存器裝置,該第一寄存器裝置與第一處理裝置通信,用于存儲用于第一處理裝置的第 一線程信息,該第二寄存器裝置與第二處理裝置通信,用于存儲用于第二 處理裝置的第二線程信息。第一和第二線程信息分別包括用于第一和第二 處理裝置的線程的寄存器、檢查點和程序計數(shù)器中的至少一種。 在另一特征中,所述控制裝置在將線程從第一處理裝置轉(zhuǎn)移到第二處
理裝置時將線程信息從第一寄存器裝置轉(zhuǎn)移到第二寄存器裝置。在另一特征中,所述第一處理裝置包括第一晶體管,所述第二處理裝置包括第二晶體管,其中第一晶體管比第二晶體管具有更高的泄漏電流。在另一特征中,所述第一處理裝置包括第一晶體管,所述第二處理裝置包括第二晶體管,其中第二晶體管比第一晶體管具有更大的尺寸。在另一特征中,所述soc在第一處理裝置處于活動狀態(tài)時處于高功率模式,在第一處理裝置處于不活動狀態(tài)時處于低功率模式。在另一特征中,所述第一和第二處理裝置分別包括用于處理圖形的第 一和第二圖形處理裝置。在其他特征中, 一種處理系統(tǒng)包括第一處理器和第二處理器,該第一 處理器具有活動和不活動狀態(tài)并且在活動狀態(tài)期間處理至少一個線程,該 第二處理器具有活動和不活動狀態(tài),其中第二處理器在工作于活動狀態(tài)時 比第一處理器工作于活動狀態(tài)消耗更少的功率。所述處理系統(tǒng)還包括控制 模塊,該控制模塊與第一和第二處理器通信,并且選擇性地將所述至少一 個線程從第一處理器轉(zhuǎn)移到第二處理器并選擇第一處理器的不活動狀態(tài)。 第二處理器處理所述至少一個線程。在另一特征中,所述處理系統(tǒng)還包括由所述soc實現(xiàn)的寄存器文件,該寄存器文件與第一處理器和第二處理器通信并且存儲用于第一和第二處 理器的線程信息,其中所述線程信息包括用于第一和第二處理器的線程的 寄存器、檢査點和程序計數(shù)器中的至少一種。在另一特征中, 一種片上系統(tǒng)(soc)包括第一和第二處理器以及寄存器文件。在另一特征中,所述處理系統(tǒng)還包括第一寄存器文件和第二寄存器文 件,該第一寄存器文件與第一處理器通信并且存儲用于第一處理器的第一 線程信息,該第二寄存器文件與第二處理器通信并且存儲用于第二處理器 的第二線程信息,其中第一和第二線程信息分別包括用于第一和第二處理 器的線程的寄存器、檢査點和程序計數(shù)器中的至少一種。在另一特征中, 一種片上系統(tǒng)(soc)包括第一和第二處理器以及第一和第二寄存器文件。 在另一特征中,所述控制模塊在將線程從第一處理器轉(zhuǎn)移到第二處理 器時,將線程信息從第一寄存器文件轉(zhuǎn)移到第二寄存器文件。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第一晶體管比第二晶體管具有更高的泄漏電流。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第二晶體管比第一晶體管具有更大的尺寸。在另一特征中,所述處理系統(tǒng)在第一處理器處于活動狀態(tài)時處于高功 率模式,在第一處理器處于不活動狀態(tài)時處于低功率模式。在另一特征中,所述第一和第二處理器分別包括第一和第二圖形處理 單元。在其他特征中, 一種處理數(shù)據(jù)的方法包括提供第一和第二處理器,其 中所述第一和第二處理器具有活動和不活動狀態(tài),并且第二處理器在工作 于活動狀態(tài)時比第一處理器工作于活動狀態(tài)消耗更少的功率。所述方法還 包括使用第一處理器在活動狀態(tài)期間處理至少一個線程、選擇性地將所述 至少一個線程從第一處理器轉(zhuǎn)移到第二處理器并選擇第一處理器的不活動 狀態(tài)以及使用第二處理器處理所述至少一個線程。在另一特征中,所述方法還包括使用所述soc實現(xiàn)寄存器文件以及將用于第一和第二處理器的線程信息存儲在寄存器文件中,其中所述線程信 息包括用于第一和第二處理器的線程的寄存器、檢査點和程序計數(shù)器中的 至少一種。在另一特征中,所述方法還包括在片上系統(tǒng)中實現(xiàn)寄存器文件、第一 處理器和第二處理器。在另一特征中,所述方法還包括使用所述soc實現(xiàn)第一寄存器文件、將用于第一處理器的第一線程信息存儲在第一寄存器文件中、使用所述soc實現(xiàn)第二寄存器文件以及存儲用于第二處理器的第二線程信息,其中所述第一和第二線程信息分別包括用于第一和第二處理器的線程的寄存 器、檢查點和程序計數(shù)器中的至少一種。在另一特征中,所述方法還包括在片上系統(tǒng)中實現(xiàn)第一和第二寄存器 文件以及第一和第二處理器。
在另一特征中,所述方法還包括在將線程從第一處理器轉(zhuǎn)移到第二處理器時將線程信息從第一寄存器文件轉(zhuǎn)移到第二寄存器文件。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第一晶體管比第二晶體管具有更高的泄漏電流。在另一特征中,所述第一處理器包括第一晶體管,所述第二處理器包 括第二晶體管,其中第二晶體管比第一晶體管具有更大的尺寸。在另一特征中,所述方法還包括當(dāng)?shù)谝惶幚砥魈幱诨顒訝顟B(tài)時工作于 高功率模式下,當(dāng)?shù)谝惶幚砥魈幱诓换顒訝顟B(tài)時工作于低功率模式下。在另一特征中,所述第一和第二處理器分別包括第一和第二圖形處理 單元。在其他特征中, 一種處理系統(tǒng)包括第一處理裝置和用于處理的第二處 理裝置,該第一處理裝置具有活動和不活動狀態(tài),用于在活動狀態(tài)期間處 理至少一個線程,該第二處理裝置具有活動和不活動狀態(tài),其中所述第二 處理裝置在工作于活動狀態(tài)時比第一處理裝置工作于活動狀態(tài)消耗更少的 功率。所述處理系統(tǒng)還包括控制裝置,該控制裝置用于與第一和第二處理 裝置通信,并用于選擇性地將所述至少一個線程從第一處理裝置轉(zhuǎn)移到第 二處理裝置和選擇第一處理裝置的不活動狀態(tài),其中第二處理裝置處理所 述至少一個線程。在另一特征中,所述處理系統(tǒng)還包括寄存器裝置,該寄存器裝置由所述soc實現(xiàn)并且與第一處理裝置和第二處理裝置通信,用于存儲用于第一和第二處理裝置的線程信息,其中所述線程信息包括用于第一和第二處理 裝置的線程的寄存器、檢查點和程序計數(shù)器中的至少一種。在另一特征中,所述寄存器裝置和所述第一和第二處理裝置被實現(xiàn)在 片上系統(tǒng)中。在另一特征中,所述處理系統(tǒng)還包括第一寄存器裝置和第二寄存器裝 置,該第一寄存器裝置與第一處理裝置通信,用于存儲用于第一處理裝置 的第一線程信息,該第二寄存器裝置與第二處理裝置通信,用于存儲用于第二處理裝置的第二線程信息,其中所述第一和第二線程信息分別包括用 于第一和第二處理裝置的線程的寄存器、檢查點和程序計數(shù)器中的至少一種。在另一特征中,所述第一和第二寄存器裝置和所述第一和第二處理裝 置被實現(xiàn)在片上系統(tǒng)中。在另一特征中,所述控制裝置在將線程從第一處理裝置轉(zhuǎn)移到第二處 理裝置時將線程信息從第一寄存器裝置轉(zhuǎn)移到第二寄存器裝置。在另一特征中,所述第一處理裝置包括第一晶體管,所述第二處理裝 置包括第二晶體管,其中第一晶體管比第二晶體管具有更高的泄漏電流。在另一特征中,所述第一處理裝置包括第一晶體管,所述第二處理裝 置包括第二晶體管,其中第二晶體管比第一晶體管具有更大的尺寸。在另一特征中,所述處理系統(tǒng)在第一處理裝置處于活動狀態(tài)時工作于 高功率模式下,在第一處理裝置處于不活動狀態(tài)時工作于低功率模式下。在另一特征中,所述第一和第二處理裝置分別包括用于處理圖形的第 一和第二圖形處理裝置。本發(fā)明的進(jìn)一步適應(yīng)性領(lǐng)域?qū)囊韵滤峁┑脑敿?xì)描述中變得清楚。 應(yīng)該了解到詳細(xì)描述和具體示例雖然指示本發(fā)明的優(yōu)選實施例,但希望是 用于說明的目的,不希望限制本發(fā)明的范圍。
本發(fā)明將從詳細(xì)描述和附圖中被更充分地理解,其中 圖1A和圖1B示出了根據(jù)現(xiàn)有技術(shù)的示例性計算機體系結(jié)構(gòu); 圖2A示出了根據(jù)本發(fā)明的第一示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)包括在高功率模式期間工作的主處理器、主圖形處理器和主易失性 存儲器以及與主處理器通信、在低功率模式期間工作并且在低功率模式期間采用主易失性存儲器的次處理器和次圖形處理器;圖2B示出了根據(jù)本發(fā)明的第二示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)與圖2A類似并且包括連接到次處理器和/或次圖形處理器的次易失 性存儲器;圖2C示出了根據(jù)本發(fā)明的第三示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)與圖2A類似并且包括與次處理器和/或次圖形處理器相關(guān)聯(lián)的嵌入
式易失性存儲器;
圖3A示出了根據(jù)本發(fā)明的第四示例性體系結(jié)構(gòu),該體系結(jié)構(gòu)用于具有在高功率模式期間工作的主處理器、主圖形處理器和主易失性存儲器以 及與處理芯片組通信、在低功率模式期間工作并且在低功率模式期間采用主易失性存儲器的次處理器和次圖形處理器的計算機;
圖3B示出了根據(jù)本發(fā)明的第五示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)與圖3A類似并且包括連接到次處理器和/或次圖形處理器的次易失 性存儲器;
圖3C示出了根據(jù)本發(fā)明的第六示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)與圖3A類似并且包括與次處理器和/或次圖形處理器相關(guān)聯(lián)的嵌入 式易失性存儲器;
圖4A示出了根據(jù)本發(fā)明的第七示例性體系結(jié)構(gòu),該體系結(jié)構(gòu)用于具 有與I/O芯片組通信、在低功率模式期間工作并且在低功率模式期間釆用 主易失性存儲器的次處理器和次圖形處理器的計算機;
圖4B示出了根據(jù)本發(fā)明的第八示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)與圖4A類似并且包括連接到次處理器和/或次圖形處理器的次易失 性存儲器;
圖4C示出了根據(jù)本發(fā)明的第九示例性計算機體系結(jié)構(gòu),該計算機體 系結(jié)構(gòu)與圖4A類似并且包括與次處理器和/或次圖形處理器相關(guān)聯(lián)的嵌入 式易失性存儲器;
圖5示出了根據(jù)本發(fā)明的用于圖2A-4C的計算機體系結(jié)構(gòu)的緩存等級;
圖6是包括最少使用塊(LUB)模塊并且管理低功率盤驅(qū)動器 (LPDD)和高功率盤驅(qū)動器(HPDD)之間的數(shù)據(jù)存儲和轉(zhuǎn)移的驅(qū)動控制模塊的功能框圖7A是示出了由圖6的驅(qū)動控制模塊所執(zhí)行的步驟的流程圖7B是示出了由圖6的驅(qū)動控制模塊所執(zhí)行的備選步驟的流程圖7C和圖7D是示出了由圖6的驅(qū)動控制模塊所執(zhí)行的備選步驟的流程圖8A示出了包括適應(yīng)性存儲控制模塊并且控制LPDD和HPDD之間 的數(shù)據(jù)存儲和轉(zhuǎn)移的緩存控制模塊;圖8B示出了包括適應(yīng)性存儲控制模塊并且控制LPDD和HPDD之間的數(shù)據(jù)存儲和轉(zhuǎn)移的操作系統(tǒng);圖8C示出了包括適應(yīng)性存儲控制模塊并且控制LPDD和HPDD之間的數(shù)據(jù)存儲和轉(zhuǎn)移的主機控制模塊;圖9示出了由圖8A-8C的適應(yīng)性存儲控制模塊所執(zhí)行的步驟;圖10是說明一種用于確定程序或文件在低功率模式期間將被使用的可能性的方法的示例性表;圖11A示出了包括盤驅(qū)動功率降低模塊的緩存控制模塊; 圖IIB示出了包括盤驅(qū)動功率降低模塊的操作系統(tǒng);圖IIC示出了包括盤驅(qū)動功率降低模塊的主機控制模塊;圖12示出了由圖11A-11C的盤驅(qū)動功率降低模塊所執(zhí)行的步驟; 圖13示出了包括高功率盤驅(qū)動器(HPDD)和低功率盤驅(qū)動器 (LPDD)的多盤驅(qū)動系統(tǒng);圖14-17示出了圖13的多盤驅(qū)動系統(tǒng)的其他示例性實現(xiàn)方式;圖18示出了用于增加計算機的虛擬存儲器的諸如閃存或低功率盤驅(qū)動器(LPDD)之類的低功率非易失性存儲器的使用;圖19和圖20示出了由操作系統(tǒng)執(zhí)行的分配和使用圖18的虛擬存儲器的步驟;圖21是根據(jù)現(xiàn)有技術(shù)的獨立盤冗余陣列(RAID)系統(tǒng)的功能框圖;圖22A是根據(jù)本發(fā)明的示例性RAID系統(tǒng)的功能框圖,該RAID系統(tǒng) 具有包括X個HPDD的盤陣列和包括Y個LPDD的盤陣列;圖22B是圖22A的RAID系統(tǒng)的功能框圖,其中X和Y等于Z;圖23A是根據(jù)本發(fā)明的另一示例性RAID系統(tǒng)的功能框圖,該RAID 系統(tǒng)具有包括Y個LPDD的盤陣列,包括Y個LPDD的盤陣列與包括X 個HPDD的盤陣列通信;圖23B是圖23A的RAID系統(tǒng)的功能框圖,其中X和Y等于Z;圖24A是根據(jù)本發(fā)明的另一示例性RAID系統(tǒng)的功能框圖,該RAID 系統(tǒng)具有包括X個HPDD的盤陣列,包括X個HPDD的盤陣列與包括Y 個LPDD的盤陣列通信;
圖24B是圖24A的RAID系統(tǒng)的功能框圖,其中X和Y等于Z; 圖25是根據(jù)現(xiàn)有技術(shù)的網(wǎng)絡(luò)附接存儲(NAS)系統(tǒng)的功能框圖26是根據(jù)本發(fā)明的網(wǎng)絡(luò)附接存儲(NAS)系統(tǒng)的功能框圖,該網(wǎng) 絡(luò)附接存儲系統(tǒng)包括圖22A、 22B、 23A、 23B、 24A禾n/或24B的RAID系 統(tǒng)和/或根據(jù)圖6-17的多驅(qū)動系統(tǒng);
圖27是包括閃存和盤驅(qū)動接口控制器的盤驅(qū)動控制器的功能框圖28是圖27的接口控制器的功能框圖29是具有閃存接口的多盤驅(qū)動系統(tǒng)的功能框圖30是示出了由圖30的多盤驅(qū)動器所執(zhí)行的步驟的流程圖31A-31C是包括高功率和低功率處理器的處理系統(tǒng)的功能框圖,這 些處理器在高功率和低功率模式之間轉(zhuǎn)換時將處理線程轉(zhuǎn)移到彼此;
圖32A-32C是包括高功率和低功率圖形處理單元(GPU)的圖形處理 系統(tǒng)的功能框圖,這些圖形處理單元在高功率和低功率模式之間轉(zhuǎn)換時將 圖形處理線程轉(zhuǎn)移到彼此;
圖33是說明圖31A-32C的處理系統(tǒng)操作的流程圖34A是硬盤驅(qū)動器的功能框圖34B是DVD驅(qū)動器的功能框圖34C是高清晰度電視的功能框圖34D是車輛控制系統(tǒng)的功能框圖34E是蜂窩電話的功能框圖34F是機頂盒的功能框圖;以及
圖34G是媒體播放器的功能框圖。
具體實施例方式
(一個或多個)優(yōu)選實施例的下列描述實際上僅是示例性的,決不希 望限制本發(fā)明及其應(yīng)用或使用。為了清楚起見,在附圖中將使用相同的標(biāo) 號來標(biāo)識類似的元件。這里所使用的術(shù)語模塊和/或器件指的是專用集成電
路(asic)、電子電路、執(zhí)行一個或多個軟件或固件程序的處理器(共享 處理器、專用處理器或處理器組)和存儲器、組合邏輯電路和/或提供所述 功能的其他合適組件。這里所使用的術(shù)語"高功率模式"指的是主機設(shè)備的主機處理器和/或 主圖形處理器的活動(active)操作。術(shù)語"低功率模式"指的是在次處理 器和次圖形處理器可操作時主處理器和/或主圖形處理器的低功率休眠模 式、關(guān)閉模式和/或不響應(yīng)模式。"關(guān)閉模式"指的是主處理器和次處理器 都關(guān)閉時的情況。術(shù)語"低功率盤驅(qū)動器"或lpdd指的是具有一個或多個直徑小于或 等于1.8"的盤片的盤驅(qū)動器和/或微驅(qū)動器。術(shù)語"高功率盤驅(qū)動器"或 hpdd指的是具有一個或多個直徑大于1.8"的盤片的硬盤驅(qū)動器。LPDD 一般比hpdd具有更低的存儲容量并消耗更少的功率。lpdd還以比 hpdd更高的速度旋轉(zhuǎn)。例如,lpdd可以達(dá)到10,000-20,000rpm或更高 的轉(zhuǎn)速。術(shù)語具有非易失性存儲器接口 (if)的hdd指的是可經(jīng)由主機的標(biāo)準(zhǔn)半導(dǎo)體存儲器接口連接到主機設(shè)備的硬盤驅(qū)動器。例如,半導(dǎo)體存儲器 接口可以是閃存接口。具有非易失性存儲器if的hdd使用非易失性存儲器接口協(xié)議經(jīng)由非 易失性存儲器接口與主機通信。主機和具有非易失性存儲器接口的HDD 所使用的非易失性存儲器接口可以包括具有閃存接口的閃存、具有NAND 閃存接口的nand閃存或任何其他類型的半導(dǎo)體存儲器接口 。具有非易失 性存儲器if的hdd可以是lpdd和/或hpdd。在下面將結(jié)合圖27和圖 28進(jìn)一步描述具有非易失性存儲器if的hdd。涉及具有閃存if的hdd 操作的另外細(xì)節(jié)可以在2005年12月29日提交的美國專利申請No. 11/322,447中找到,通過引用將該申請的全部合并于此。在下面所述的每 個實現(xiàn)方式中,lpdd可以用具有非易失性存儲器if的hdd (被實現(xiàn)為 hpdd和/或lpdd)實現(xiàn)。或者,具有非易失性存儲器if的hdd可以是 除了所公開的lpdd和減hpdd之外被使用的lpdd和域hpdd。根據(jù)本發(fā)明的計算機體系結(jié)構(gòu)包括在高功率模式期間工作的主處理
器、主圖形處理器和主存儲器(如結(jié)合圖1A和圖1B的描述)。次處理器和次圖形處理器在低功率模式期間工作。如下所述,次處理器和次圖形處 理器可以連接到計算機的各種組件。主易失性存儲器可以在低功率模式期間被次處理器和次圖形處理器使用?;蛘?,如下所述,可以使用諸如DRAM之類的次易失性存儲器和/或諸如嵌入式DRAM之類的嵌入式次易 失性存儲器。主處理器和主圖形處理器在高功率模式下工作時消耗較高的功率。主 處理器和主圖形處理器執(zhí)行需要較大量外部存儲器的全特征(foil-featured) 操作系統(tǒng)(OS)。主處理器和主圖形處理器支持高性能操作, 包括復(fù)雜計算和高級圖形。全特征OS可以是諸如Windows ^@之類的基 于Windows⑧的OS、基于Linux的OS、基于MAC⑧的OS等。全特征OS 存儲在HPDD 15和/或50中。次處理器和次圖形處理器在低功率模式期間消耗較少的功率(與主處 理器和主圖形處理器相比)。次處理器和次圖形處理器運行需要較少量外 部易失性存儲器的受限特征操作系統(tǒng)(OS)。次處理器和次圖形處理器也 可以與主處理器使用相同的OS。例如,可以使用全特征OS的削減版本。 次處理器和次圖形處理器支持較低性能的操作、較低的計算速率和不那么 高級的圖形。例如,受限特征OS可以是Windows 0£@或任何其他合適的 受限特征OS。受限特征OS優(yōu)選地存儲在諸如閃存、具有非易失性存儲器 IF的HDD、 HPDD和/或LPDD之類的非易失性存儲器中。在優(yōu)選的實施 例中,全特征OS和受限特征OS共享一個共用數(shù)據(jù)格式以減小復(fù)雜性。主處理器和/或主圖形處理器優(yōu)選地包括使用具有較小的特征尺寸的制 造工藝所實現(xiàn)的晶體管。在一個實現(xiàn)方式中,這些晶體管用高級CMOS制 造工藝實現(xiàn)。在主處理器和/或主圖形處理器中所實現(xiàn)的晶體管具有較高的 待機漏電、較短的溝道并且針對高速而設(shè)計尺寸。主處理器和主圖形處理 器優(yōu)選地采用主要是動態(tài)的邏輯。換句話說,它們不能被關(guān)閉。雖然可以 使用其他的占空比,但是晶體管以小于約20%并且優(yōu)選地小于約10%的 占空比被切換。相反,次處理器和/或次圖形處理器優(yōu)選地包括用這樣一種制造工藝所 實現(xiàn)的晶體管,這種制造工藝比用于主處理器和/或主圖形處理器的工藝具有更大的特征尺寸。在一個實現(xiàn)方式中,這些晶體管用規(guī)則的CMOS制造 工藝實現(xiàn)。在次處理器和/或次圖形處理器中所實現(xiàn)的晶體管具有較低的待 機漏電、較長的溝道并且針對低功耗而設(shè)計尺寸。次處理器和次圖形處理 器優(yōu)選地采用主要是靜態(tài)的邏輯,而不是動態(tài)邏輯。雖然可以使用其他的 占空比,但是晶體管以大于80%并且優(yōu)選地大于90%的占空比被切換。主處理器和主圖形處理器在高功率模式下工作時消耗較高的功率。次 處理器和次圖形處理器在低功率模式下工作時消耗較少的功率。然而,在 低功率模式下,計算機體系結(jié)構(gòu)比在高功率模式下工作時能夠支持更少的 特征和計算以及不那么復(fù)雜的圖形。本領(lǐng)域技術(shù)人員可以知道,根據(jù)本發(fā) 明的計算機體系結(jié)構(gòu)具有很多種實現(xiàn)方法。因此,本領(lǐng)域技術(shù)人員將會知 道下面結(jié)合圖2A-4C所描述的體系結(jié)構(gòu)實際上僅是示例性的,而不是限制 性的?,F(xiàn)在參照圖2A,示出了第一示例性計算機體系結(jié)構(gòu)60。主處理器 6、易失性存儲器9和主圖形處理器11與接口 8通信并且在高功率模式期 間支持復(fù)雜的數(shù)據(jù)和圖形處理。次處理器62和次圖形處理器64與接口 8 通信并且在低功率模式期間支持不那么復(fù)雜的數(shù)據(jù)和圖形處理??蛇x的非 易失性存儲器65例如是LPDD 66和/或閃存和/或具有非易失性存儲器IF 的HDD 69,它與接口 8通信并且在低功率模式和/或高功率模式期間提供 數(shù)據(jù)的低功率非易失性存儲。具有非易失性存儲器IF的HDD可以是 LPDD和/或HPDD。 HPDD 15提供高功率/容量非易失性存儲器。非易失 性存儲器65和/或HPDD 15在低功率模式期間用于存儲受限特征OS和/或 其他數(shù)據(jù)和文件。在該實施例中,次處理器62和次圖形處理器64在低功率模式下工作 期間采用易失性存儲器9 (或主存儲器)。為此,接口 8的至少一部分在 低功率模式期間被供電以支持與主存儲器的通信和/或在低功率模式期間被 供電的組件之間的通信。例如,鍵盤13、點擊設(shè)備14和主顯示器16可以 在低功率模式期間被供電和使用。在結(jié)合圖2A-4C所描述的所有實施例 中,具有縮減的能力的次顯示器(例如單色顯示器)和/或次輸入/輸出設(shè) 備也可以在低功率模式期間被提供和使用。現(xiàn)在參照圖2B,示出了類似于圖2A中的體系結(jié)構(gòu)的第二示例性計算 機體系結(jié)構(gòu)70。在該實施例中,次處理器62和次圖形處理器64與次易失 性存儲器74和/或76通信。次易失性存儲器74和76可以是DRAM或其 他合適的存儲器。在低功率模式期間,次處理器62和次圖形處理器64除 了利用圖2A所示和所述的主易失性存儲器9之外還分別利用次易失性存 儲器74和域76,或者分別利用次易失性存儲器74和減76而不是圖2A 所示和所述的主易失性存儲器9?,F(xiàn)在參照圖2C,示出了類似于圖2A的第三示例性計算機體系結(jié)構(gòu) 80。次處理器62和/或次圖形處理器64分別包括嵌入式易失性存儲器84 和86。在低功率模式期間,次處理器62和次圖形處理器64除了利用主易 失性存儲器之外還分別利用嵌入式易失性存儲器84和/或86,或者分別利 用嵌入式易失性存儲器84和/或86而不是主易失性存儲器。在一個實施例 中,雖然可以使用其他類型的嵌入式易失性存儲器,但是嵌入式易失性存 儲器84和86是嵌入式DRAM (eDRAM)?,F(xiàn)在參照圖3A,示出了根據(jù)本發(fā)明的第四示例性計算機體系結(jié)構(gòu) 100。主處理器25、主圖形處理器26和主易失性存儲器28與處理芯片組 22通信并且在高功率模式期間支持復(fù)雜的數(shù)據(jù)和圖形處理。次處理器104 和次圖形處理器108在計算機處于低功率模式下時支持不那么復(fù)雜的數(shù)據(jù) 和圖形處理。在該實施例中,次處理器104和次圖形處理器108在低功率 模式下工作時采用主易失性存儲器28。為此,處理芯片組22在低功率模 式期間可以被全供電和/或部分供電以輔助它們之間的通信。HPDD 50在 低功率模式期間可以被供電以提供高功率易失性存儲器。低功率非易失性 存儲器109 (LPDD 110和/或閃存和/或具有非易失性存儲器IF的HDD 113)連接到處理芯片組22、 I/O芯片組24或者在另一位置,并且存儲用 于低功率模式的受限特征操作系統(tǒng)。具有非易失性存儲器IF的HDD可以 是LPDD和/或HPDD。處理芯片組22可以被全供電和/或部分供電以支持HPDD 50、 LPDD 110和/或其他將在低功率模式期間使用的組件的操作。例如,在低功率模
式期間可以使用鍵盤和/或點擊設(shè)備42和主顯示器?,F(xiàn)在參照圖3B,示出了類似于圖3A的第五示例性計算機體系結(jié)構(gòu) 150。次易失性存儲器154和158分別連接到次處理器104和/或次圖形處 理器108。在低功率模式期間,次處理器104和次圖形處理器108分別利 用次易失性存儲器154和158而不是主易失性存儲器28,或者除了利用主 易失性存儲器28之外還分別利用次易失性存儲器154和158。處理芯片組 22和主易失性存儲器28在低功率模式期間如果希望的話則可以被關(guān)閉。 次易失性存儲器154和158可以是DRAM或其他合適的存儲器。現(xiàn)在參照圖3C,示出了類似于圖3A的第六示例性計算機體系結(jié)構(gòu) 170。次處理器104和/或次圖形處理器108分別包括嵌入式存儲器174和 176。在低功率模式期間,次處理器104和次圖形處理器108分別利用嵌 入式存儲器174和176而不是主易失性存儲器28,或者除了主易失性存儲 器28之外還分別利用嵌入式存儲器174和176。在一個實施例中,雖然可 以使用其他類型的嵌入式存儲器,但是嵌入式易失性存儲器174和176是 嵌入式DRAM (eDRAM)?,F(xiàn)在參照圖4A,示出了根據(jù)本發(fā)明的第七示例性計算機體系結(jié)構(gòu) 190。次處理器104和次圖形處理器108與I/O芯片組24通信并且在低功 率模式期間采用主易失性存儲器28作為易失性存儲器。在低功率模式期 間,處理芯片組22保持被全供電和/或部分供電以允許對主易失性存儲器 28的存取。現(xiàn)在參照圖4B,示出了類似于圖4A的第八示例性計算機體系結(jié)構(gòu) 200。次易失性存儲器154和158分別連接到次處理器104和次圖形處理器 108,在低功率模式期間使用次易失性存儲器154和158而不是主易失性 存儲器28,或者除了使用主易失性存儲器28之外還使用次易失性存儲器 154和158。處理芯片組22和主易失性存儲器28在低功率模式期間可以被 關(guān)閉?,F(xiàn)在參照圖4C,示出了類似于圖4A的第九示例性計算機體系結(jié)構(gòu) 210。除了主易失性存儲器28之外分別為次處理器104和/或次圖形處理器 108提供嵌入式易失性存儲器174和176,或者分別為次處理器104和/或 次圖形處理器108提供嵌入式易失性存儲器174和176而不是主易失性存儲器28。在該實施例中,處理芯片組22和主易失性存儲器28在低功率模式期間可以被關(guān)閉?,F(xiàn)在參照圖5,示出了用于圖2A-4C所示的計算機體系結(jié)構(gòu)的緩存等級250。 HP非易失性存儲器HPDD 50位于緩存等級250的最低層254 處。如果HPDD50被禁用,則在低功率模式期間可以使用也可以不使用 層254,而如果在低功率模式期間HPDD 50被使能,則將使用層254。諸 如LPDD 110、閃存和/或具有非易失性存儲器IF的HDD 113的LP非易失 性存儲器位于緩存等級250的上一層258處。取決于配置,諸如主易失性 存儲器、次易失性存儲器和/或次嵌入式存儲器的外部易失性存儲器是緩存 等級250的上一層262。 2級或次緩存包括緩存等級250的上一層266。 1 級緩存是緩存等級250的上一層268。 CPU (主CPU和/或次CPU)是緩 存等級的最后層270。主圖形處理器和次圖形處理器使用類似的等級。根據(jù)本發(fā)明的計算機體系結(jié)構(gòu)提供一種低功率模式,該模式支持不那 么復(fù)雜的處理和圖形。因此,計算機的功耗可以被大大降低。對于膝上型 應(yīng)用,電池壽命被延長?,F(xiàn)在參照圖6,用于多盤驅(qū)動系統(tǒng)的驅(qū)動控制模塊300或主機控制模 塊包括最少使用塊(LUB)模塊304、適應(yīng)性存儲模塊306和/或LPDD維 護(hù)模塊308。驅(qū)動控制模塊300部分地基于LUB信息,控制數(shù)據(jù)的存儲和 在諸如硬盤驅(qū)動器的高功率盤驅(qū)動器(HPDD) 310與諸如微驅(qū)動器的低 功率盤驅(qū)動器(LPDD) 312之間的轉(zhuǎn)移。驅(qū)動控制模塊300在高功率模式 和低功率模式期間通過管理數(shù)據(jù)的存儲和在HPDD與LPDD之間的轉(zhuǎn)移而 降低功耗。如圖6中可見,具有非易失性存儲器IF的HDD 317可以用作 LPDD,并且/或者除了 LPDD之外還可以使用具有非易失性存儲器IF的 HDD 317。驅(qū)動控制模塊300經(jīng)由主機非易失性存儲器IF 315和主機313 而與具有非易失性存儲器IF的HDD 317通信。驅(qū)動控制模塊300可以與 主機313和/或主機非易失性存儲器IF 315集成。最少使用塊模塊304跟蹤LPDD 312中的最少使用數(shù)據(jù)塊。在低功率 模式期間,最少使用塊模塊304識別LPDD 312中數(shù)據(jù)(例如文件和/或程
序)的最少使用塊,以使得需要時可以將其替換。某些數(shù)據(jù)塊或文件可以 免除最少使用塊監(jiān)控,例如僅涉及受限特征操作系統(tǒng)的文件、被手動設(shè)定為存儲在LPDD 312中的塊和/或僅在低功率模式期間被操作的其他文件和 程序。如下所述,還可以使用其他標(biāo)準(zhǔn)來選擇將被覆寫的數(shù)據(jù)塊。在低功率模式的數(shù)據(jù)存儲請求期間,適應(yīng)性存儲模塊306確定寫數(shù)據(jù) 是否更可能在最少使用塊之前被使用。適應(yīng)性存儲模塊306還確定讀數(shù)據(jù) 是否可能在低功率模式的數(shù)據(jù)取回請求期間僅被使用一次。LPDD維護(hù)模 塊308在高功率模式期間并且/或者在如下所述的其他情況下將舊數(shù)據(jù)從 LPDD轉(zhuǎn)移至UHPDD。現(xiàn)在參照圖7A,示出了由驅(qū)動控制模塊300所執(zhí)行的步驟。控制開 始于步驟320。在步驟324中,驅(qū)動控制模塊300確定是否存在數(shù)據(jù)存儲 請求。如果步驟324的判斷結(jié)果為真,則驅(qū)動控制模塊300在步驟328中 確定LPDD 312上是否存在足夠的可用空間。如果沒有足夠的可用空間, 則驅(qū)動控制模塊300在步驟330中為HPDD 310供電。在步驟334中,驅(qū) 動控制模塊300將最少使用數(shù)據(jù)塊轉(zhuǎn)移到HPDD 310。在步驟336中,驅(qū) 動控制模塊300確定LPDD 312上是否存在足夠的可用空間。如果沒有足 夠的可用空間,則控制循環(huán)到步驟334。否則,驅(qū)動控制模塊300繼續(xù)步 驟340并且關(guān)掉HPDD 310。在步驟344中,將要存儲的數(shù)據(jù)(例如來自 主機)被轉(zhuǎn)移到LPDD312。如果步驟324的判斷結(jié)果為假,則驅(qū)動控制模塊300繼續(xù)步驟350并 且確定是否存在數(shù)據(jù)取回請求。如果沒有數(shù)據(jù)取回請求,則控制返回步驟 324。否則,控制繼續(xù)步驟354并且確定數(shù)據(jù)是否位于LPDD 312中。如果 步驟354的判斷結(jié)果為真,則驅(qū)動控制模塊300在步驟356中從LPDD 312取回數(shù)據(jù)并且繼續(xù)步驟324。否則,驅(qū)動控制模塊300在步驟360中為 HPDD 310供電。在步驟364中,驅(qū)動控制模塊300確定LPDD上是否存 在足夠的可用空間用于所請求的數(shù)據(jù)。如果沒有足夠的可用空間,則驅(qū)動 控制模塊300在步驟366中將最少使用數(shù)據(jù)塊轉(zhuǎn)移到HPDD 310并且繼續(xù) 步驟364。當(dāng)步驟364的判斷結(jié)果為真時,驅(qū)動控制模塊300在步驟368 中將數(shù)據(jù)轉(zhuǎn)移到LPDD 312并且從LPDD 312取回數(shù)據(jù)。在步驟370中,當(dāng)數(shù)據(jù)到LPDD 312的轉(zhuǎn)移完成時,控制關(guān)掉HPDD 310?,F(xiàn)在參照圖7B,使用類似于圖7A的修改后方法,該方法包括由適應(yīng) 性存儲模塊306所執(zhí)行的一個或多個適應(yīng)性步驟。當(dāng)在步驟328中確定 LPDD上沒有足夠的可用空間時,則在步驟372中,控制確定將要存儲的 數(shù)據(jù)是否可能在由最少使用塊模塊所識別的一個或多個最少使用塊中的數(shù) 據(jù)之前被使用。如果步驟372的判斷結(jié)果為假,則驅(qū)動控制模塊300在步 驟374中將數(shù)據(jù)存儲在HPDD上并且控制繼續(xù)步驟324。通過這樣做,節(jié) 省了將(一個或多個)最少使用塊轉(zhuǎn)移到LPDD所消耗的功率。如果步驟 372的判斷結(jié)果為真,則控制繼續(xù)上面參照圖7A所描述的步驟330。當(dāng)步驟354在數(shù)據(jù)取回請求期間的判斷結(jié)果為假時,控制繼續(xù)步驟 376并且確定數(shù)據(jù)是否可能被使用一次。如果步驟376的判斷結(jié)果為真, 則驅(qū)動控制模塊300在步驟378中從HPDD取回數(shù)據(jù)并且繼續(xù)步驟324。 通過這樣做,節(jié)省了將數(shù)據(jù)轉(zhuǎn)移到LPDD將要消耗的功率。如果步驟376 的判斷結(jié)果為假,則控制繼續(xù)步驟360??梢灾溃绻麛?shù)據(jù)可能被使用 一次,則不必將數(shù)據(jù)移到LPDD。然而,HPDD的功耗不能避免?,F(xiàn)在參照圖7C,也可以在低功率工作期間執(zhí)行更簡化形式的控制。 也可以在高功率模式和/或低功率模式期間執(zhí)行維護(hù)步驟(用LPDD維護(hù)模 塊308)。在步驟328中,當(dāng)LPDD上存在足夠的可用空間時,數(shù)據(jù)在步 驟344中被轉(zhuǎn)移到LPDD并且控制返回步驟324。否則,當(dāng)步驟328的判 斷結(jié)果為假時,數(shù)據(jù)在步驟380中被存儲在HPDD上并且控制返回步驟 324。可以知道,圖7C所示的方法在容量可用時使用LPDD,在LPDD容 量不可用時使用HPDD。本領(lǐng)域技術(shù)人員將會知道可以用圖7A-7D的步驟 的各種組合來采用混合方法。在圖7D中,在返回高功率模式之后和/或在其他時間由驅(qū)動控制模塊 300執(zhí)行維護(hù)步驟以刪除存儲在LPDD上的不用或很少用的文件。該維護(hù) 步驟也可以在低功率模式中執(zhí)行,在使用期間周期性地執(zhí)行,在諸如盤滿 事件的事件發(fā)生之后執(zhí)行并且/或者在其他情況下執(zhí)行??刂崎_始于步驟 390。在步驟392中,控制確定是否在使用高功率模式。如果不是在使用 高功率模式,則控制循環(huán)回步驟392。如果步驟392的判斷結(jié)果為真,則在步驟394中,控制確定上一模式是否是低功率模式。如果不是,則控制 返回步驟392。如果步驟394的判斷結(jié)果為真,則在步驟396中,控制執(zhí) 行維護(hù),例如將舊文件或很少用的文件從LPDD移到HPDD。例如使用如 上所述和下面參照圖8A-10所描述的標(biāo)準(zhǔn),也可以對將來可能使用的文件 做出適應(yīng)性判決。現(xiàn)在參照圖8A至圖8C,示出了存儲控制系統(tǒng)400-1、 400-2和400-3。在圖8A中,存儲控制系統(tǒng)400-1包括具有適應(yīng)性存儲控制模塊414的 緩存控制模塊410。適應(yīng)性存儲控制模塊414監(jiān)控文件和/或程序的使用以 確定它們是否可能在低功率模式還是高功率模式下使用。緩存控制模塊 410與一條或多條數(shù)據(jù)總線416通信,而數(shù)據(jù)總線416與易失性存儲器422 通信,易失性存儲器422例如是L1緩存、L2緩存、諸如DRAM的易失性 RAM和/或其他易失性電子數(shù)據(jù)存儲裝置??偩€416還與低功率非易失性 存儲器424 (例如閃存、具有非易失性存儲器IF的HDD和/或LPDD)和 諸如HPDD的高功率非易失性存儲器426通信。在圖8B中,所示出的全 特征和/或受限特征操作系統(tǒng)包括適應(yīng)性存儲控制模塊414。合適的接口和/ 或控制器(未示出)位于數(shù)據(jù)總線與HPDD禾tl/或LPDD之間。在圖8C中,主機控制模塊440包括適應(yīng)性存儲控制模塊414。主機控 制模塊440與LPDD 424'和硬盤驅(qū)動器426'通信。主機控制模塊440可 以是驅(qū)動控制模塊、集成器件電路(IDE) 、 ATA、串行ATA (SATA) 或其他控制器。如圖8C中可見,具有非易失性存儲器IF的HDD 431可以 用作LPDD,并且/或者除了 LPDD之外還可以使用具有非易失性存儲器IF 的HDD 431 。主機控制模塊440經(jīng)由主機非易失性存儲器IF 429與具有非 易失性存儲器IF的HDD 431通信。主機控制模塊440可以與主機非易失 性存儲器IF429集成。現(xiàn)在參照圖9,示出了由圖8A-8C中的存儲控制系統(tǒng)所執(zhí)行的步驟。 在圖9中,控制開始于步驟460。在步驟462中,控制確定是否存在將數(shù) 據(jù)存儲到非易失性存儲器的請求。如果沒有該請求,則控制循環(huán)回步驟 462。否則,適應(yīng)性存儲控制模塊414在步驟464中確定數(shù)據(jù)是否可能在 低功率模式下使用。如果步驟464的判斷結(jié)果為假,則在步驟468中,數(shù)
據(jù)被存儲在HPDD中。如果步驟464的判斷結(jié)果為真,則在步驟474中, 數(shù)據(jù)被存儲在非易失性存儲器444中?,F(xiàn)在參照圖10,示出了確定數(shù)據(jù)塊是否可能在低功率模式下使用的一 種方法。表490包括數(shù)據(jù)塊描述符字段492、低功率計數(shù)器字段493、高 功率計數(shù)器字段494、大小字段495、上次使用字段496和/或手動推翻字 段497。當(dāng)特定程序或文件在低功率模式或高功率模式期間被使用時,計 數(shù)器字段493和/或494遞增。當(dāng)需要將程序或文件的數(shù)據(jù)存儲到非易失性 存儲器時,表492被訪問。閾值百分比和/或計數(shù)值可用于評估。例如,如 果在低功率模式中文件或程序的使用時間大于80%,則文件可以被存儲在 低功率非易失性存儲器中,低功率非易失性存儲器例如是閃存、具有非易 失性存儲器IF的HDD和/或微驅(qū)動器。如果未達(dá)到閾值,則文件或程序被 存儲在高功率非易失性存儲器中??梢灾溃陬A(yù)定數(shù)目的采樣之后(換句話說,就是提供滾動窗)并 且/或者使用任何其他標(biāo)準(zhǔn)可以周期性地將計數(shù)器復(fù)位。此外,可能性可以 被大小字段495加權(quán)、修改并且/或者替換。換句話說,隨著文件大小的增 大,所需要的閾值可能因為LPDD的有限容量而被增大。對使用可能性的判決的進(jìn)一步修改可以在如上次使用字段496所記錄 的自從文件上次使用起的時間的基礎(chǔ)上做出。在可能性確定中可以使用閾 值日期和/或自從上次使用起的時間作為一個因素。雖然在圖10中示出了 一個表,但是所使用的一個或多個字段可以被存儲在其他位置和/或其他數(shù) 據(jù)結(jié)構(gòu)中??梢允褂脙蓚€或多個字段的算法和/或加權(quán)采樣。使用手動推翻字段497允許用戶和/或操作系統(tǒng)手動推翻使用判決的可 能性。例如,手動推翻字段可以允許對應(yīng)于LPDD中的缺省存儲的L狀 態(tài),對應(yīng)于HPDD中的缺省存儲的H狀態(tài),以及/或者對應(yīng)于自動存儲判 決的A狀態(tài)(如上所述)。可以定義其他的手動推翻分類。除了上述標(biāo) 準(zhǔn),可以使用工作在LPDD下計算機的當(dāng)前功率水平來調(diào)整判決。本領(lǐng)域 技術(shù)人員將會知道存在其他用于確定文件或程序在高功率模式或低功率模 式下將被使用的可能性的方法,這些方法落在本發(fā)明的教導(dǎo)范圍內(nèi)?,F(xiàn)在參照圖IIA至圖IIC,示出了驅(qū)動功率降低系統(tǒng)500-1、 500-2和
500-3 (共同稱為500)。驅(qū)動功率降低系統(tǒng)500在周期或其他基礎(chǔ)上將較 大的順序存取文件段爆發(fā)(burst)到低功率非易失性存儲器上,所述較大 的順序存取文件例如是但不局限于音頻和/或視頻文件。在圖IIA中,驅(qū) 動功率降低系統(tǒng)500-1包括具有驅(qū)動功率降低控制模塊522的緩存控制模 塊520。緩存控制模塊520與一條或多條數(shù)據(jù)總線526通信,而數(shù)據(jù)總線 526與易失性存儲器530、非易失性存儲器534和HPDD 538通信,易失性 存儲器530例如是Ll緩存、L2緩存、諸如DRAM的易失性RAM和/或其 他易失性電子數(shù)據(jù)存儲裝置,非易失性存儲器534例如是閃存、具有非易 失性存儲器IF的HDD和/或LPDD。在圖11B中,驅(qū)動功率降低系統(tǒng)500-2包括具有驅(qū)動功率降低控制模塊522的全特征和/或受限特征操作系統(tǒng) 542。合適的接口和/或控制器(未示出)位于數(shù)據(jù)總線與HPDD和/或 LPDD之間。在圖11C中,驅(qū)動功率降低系統(tǒng)500-3包括具有驅(qū)動功率降低控制模 塊522的主機控制模塊560。主機控制模塊560與一條或多條數(shù)據(jù)總線 564通信,數(shù)據(jù)總線564與LPDD 534'和硬盤驅(qū)動器538'通信。主機控 制模塊560可以是驅(qū)動控制模塊、集成器件電路(IDE) 、 ATA、串行 ATA (SATA)和/或其他控制器或接口。如圖11C中可見,具有非易失性 存儲器IF的HDD 531可以用作LPDD,并且/或者除了 LPDD之外還可以 使用具有非易失性存儲器IF的HDD 531。主機控制模塊560經(jīng)由主機非 易失性存儲器IF 529與具有非易失性存儲器IF的HDD 531通信。主機控 制模塊560可以與主機非易失性存儲器IF 529集成?,F(xiàn)在參照圖12,示出了由圖11A-11C中的驅(qū)動功率降低系統(tǒng)500所執(zhí) 行的步驟??刂崎_始于步驟582。在步驟584中,控制確定系統(tǒng)是否在低 功率模式下。如果不是,則控制循環(huán)回步驟584。如果步驟584的判斷結(jié) 果為真,則控制繼續(xù)步驟586,在步驟586中,控制確定大數(shù)據(jù)塊存取的 請求是否一般來自HPDD。如果不是,則控制循環(huán)回步驟584。如果步驟 586的判斷結(jié)果為真,則控制繼續(xù)步驟590并且確定數(shù)據(jù)塊是否被順序存 取。如果不是,則控制循環(huán)回步驟584。如果步驟590的判斷結(jié)果為真, 則控制繼續(xù)步驟594并且確定回放長度。在步驟598中,控制確定用于從 高功率非易失性存儲器到低功率非易失性存儲器的數(shù)據(jù)轉(zhuǎn)移的爆發(fā)周期和 頻率。在一個實現(xiàn)方式中,爆發(fā)周期和頻率被優(yōu)化以降低功耗。爆發(fā)周期和頻率優(yōu)選地基于HPDD和/或LPDD的起動(spin up)時間、非易失性存 儲器的容量、回放速率、HPDD和/或LPDD的起動和穩(wěn)態(tài)功耗以及/或者 順序數(shù)據(jù)塊的回放長度。例如,高功率非易失性存儲器是在工作期間消耗l-2W、具有4-10秒 的起動時間和一般大于20Gb的容量的HPDD。低功率非易失性存儲器是 在工作期間消耗0.3-0.5W、具有1-3秒的起動時間和l-6Gb容量的微驅(qū)動 器。可以知道,上述性能值和/或容量對于其他實現(xiàn)方式將會變化。HPDD 可以具有到微驅(qū)動器的1Gb/s的數(shù)據(jù)轉(zhuǎn)移速率。回放速率可以是10Mb/s (例如對于視頻文件)。可以知道,HPDD的轉(zhuǎn)移速率乘以爆發(fā)周期不應(yīng) 超過微驅(qū)動器的容量。爆發(fā)之間的周期應(yīng)該大于起動時間加爆發(fā)周期。在 這些參數(shù)內(nèi),系統(tǒng)的功耗可以被優(yōu)化。在低功率模式下,如果HPDD用來 播放諸如電影的完整視頻,則消耗大量的功耗。使用上述方法,通過以非 常高的速率(例如回放速率的100倍)并且以相隔固定間隔的多個爆發(fā)段 選擇性地將數(shù)據(jù)從HPDD轉(zhuǎn)移到LPDD,可以大大地降低功耗,然后 HPDD可以被關(guān)閉??梢匀菀椎孬@得大于50。Z的功耗節(jié)省?,F(xiàn)在參照圖13,所示出的根據(jù)本發(fā)明的的多盤驅(qū)動系統(tǒng)640包括驅(qū)動 控制模塊650和一個或多個HPDD 644和一個或多個LPDD 648。驅(qū)動控 制模塊650經(jīng)由主機控制模塊651與主機設(shè)備通信。對于主機,如下所 述,多盤驅(qū)動系統(tǒng)640有效地將HPDD 644和LPDD 648作為單一盤驅(qū)動 器進(jìn)行操作以降低復(fù)雜性、提高性能并降低功耗。主機控制模塊651可以 是IDE、 ATA、 SATA和/或其他控制模塊或接口 。現(xiàn)在參照圖14,在一個實現(xiàn)方式中,驅(qū)動控制模塊650包括用于控制 LPDD和/或HPDD中的一者或兩者的硬盤控制器(HDC) 653。緩沖器 656存儲與HPDD和/或LPDD的控制相關(guān)聯(lián)的數(shù)據(jù),并且/或者通過優(yōu)化數(shù)據(jù)塊大小而積極地緩沖去往/來自HPDD和/或LPDD的數(shù)據(jù)以增加數(shù)據(jù) 轉(zhuǎn)移速率。處理器657執(zhí)行涉及HPDD和/或LPDD的操作的處理。
HPDD 648包括一個或多個具有存儲磁場的磁涂層的盤片652。盤片 652由654處示意性示出的轉(zhuǎn)軸馬達(dá)旋轉(zhuǎn)。 一般來說,在讀/寫操作期間,轉(zhuǎn)軸馬達(dá)654以固定速度旋轉(zhuǎn)盤片652。 一個或多個讀/寫臂658相對盤片 652移動,以從盤片652讀取數(shù)據(jù)并且/或者將數(shù)據(jù)寫到盤片652。由于 HPDD 648比LPDD具有更大的盤片,因此轉(zhuǎn)軸馬達(dá)654需要更多的功率 來起動HPDD并保持HPDD快速旋轉(zhuǎn)。通常,HPDD的起動時間也更高。讀/寫器件659位于讀/寫臂658的末端附近。讀/寫器件659包括寫元 件,例如產(chǎn)生磁場的電感器。讀/寫器件659還包括感覺盤片652上的磁場 的讀元件(例如磁阻(MR)元件)。前置放大電路660放大模擬讀/寫信 號。當(dāng)讀取數(shù)據(jù)時,前置放大電路660放大來自讀元件的低電平信號并且 將放大后的信號輸出到讀/寫通道器件。在寫數(shù)據(jù)過程中,產(chǎn)生流過讀/寫 器件659的寫元件的寫電流,寫電流被切換以產(chǎn)生具有正極性或負(fù)極性的 磁場。正極性或負(fù)極性由盤片652存儲并且用于代表數(shù)據(jù)。LPDD 644還 包括一個或多個盤片662、轉(zhuǎn)軸馬達(dá)664、 一個或多個讀/寫臂668、讀/寫 器件669和前置放大電路670。HDC 653與主機控制模塊651通信,并且與第一轉(zhuǎn)軸/音圈馬達(dá) (VCM)驅(qū)動器672、第一讀/寫通道電路674、第二轉(zhuǎn)軸/VCM驅(qū)動器 676、第二讀/寫通道電路678通信。主機控制模塊651和驅(qū)動控制模塊 650可以由片上系統(tǒng)(SOC) 684來實現(xiàn)??梢灾溃D(zhuǎn)軸/VCM驅(qū)動器 672和676和/或讀/寫通道電路674和678可以組合。轉(zhuǎn)軸/VCM驅(qū)動器 672和676控制轉(zhuǎn)軸馬達(dá)654和664,轉(zhuǎn)軸馬達(dá)654和664分別旋轉(zhuǎn)盤片 652和662。轉(zhuǎn)軸/VCM驅(qū)動器672和676還例如使用音圈致動器、步進(jìn)電 機或任何其他合適的致動器產(chǎn)生分別定位讀/寫臂658和668的控制信號?,F(xiàn)在參照圖15-17,示出了多盤驅(qū)動系統(tǒng)的其他變體。在圖15中,驅(qū) 動控制模塊650可以包括用于提供到一個或多個LPDD 682的外部連接的 直接接口 680。在一個實現(xiàn)方式中,直接接口是外圍組件互連(PCI)總 線、PCI Express (PCIX)總線和/或任何其他合適的總線或接口。在圖16中,主機控制模塊651與LPDD 644和HPDD 648兩者通信。低功率驅(qū)動控制模塊650LP和高功率盤驅(qū)動控制模塊650HP直接與主機控 制模塊通信。LP和/或HP驅(qū)動控制模塊中的零個、 一個或兩個可以被實現(xiàn) 為SOC。如圖16中可見,具有非易失性存儲器IF的HDD 695可以用作 LPDD,并且/或者除了 LPDD之外還可以使用具有非易失性存儲器IF的 HDD 695。主機控制模塊651經(jīng)由主機非易失性存儲器IF 693與具有非易 失性存儲器IF的HDD 695通信。主機控制模塊651可以與主機非易失性 存儲器IF 693集成。在圖17中,所示出的一個示例性LPDD 682包括支持與直接接口 680 通信的接口 690。如上所述,接口 680和690可以是外圍組件互連(PCI) 總線、PCI Express (PCIX)總線和/或任何其他合適的總線或接口 。 LPDD 682包括HDC692、緩沖器694和/或處理器696。如上所述,LPDD 682還 包括轉(zhuǎn)軸/VCM驅(qū)動器676、讀/寫通道電路678、盤片662、轉(zhuǎn)軸馬達(dá) 665、讀/寫臂668、讀元件669和前置放大器670?;蛘撸琀DC 653、緩沖 器656和處理器657可以組合并用于兩個驅(qū)動器。同樣,轉(zhuǎn)軸/VCM驅(qū)動 器和讀通道電路可以可選地組合。在圖13-17的實施例中,LPDD的積極 緩沖用于提高性能。例如,緩沖器用于優(yōu)化數(shù)據(jù)塊大小以獲得主機數(shù)據(jù)總 線上的最優(yōu)速度。在傳統(tǒng)的計算機系統(tǒng)中,頁面(paging)文件是HPDD或HP非易失 性存儲器上的隱藏文件,操作系統(tǒng)使用頁面文件來容納不適合存儲在計算 機的易失性存儲器中的程序和/或數(shù)據(jù)文件中的一部分。頁面文件和物理存 儲器或RAM定義計算機的虛擬存儲器。操作系統(tǒng)根據(jù)需要將數(shù)據(jù)從頁面 文件轉(zhuǎn)移到存儲器,并且將數(shù)據(jù)從易失性存儲器返回到頁面文件從而為新 數(shù)據(jù)讓出空間。頁面文件也稱為交換(swap)文件?,F(xiàn)在參照圖18-20,本發(fā)明利用諸如LPDD、具有非易失性存儲器IF 的HDD和/或閃存等LP非易失性存儲器來增加計算機系統(tǒng)的虛擬存儲 器。在圖18中,操作系統(tǒng)700允許用戶定義虛擬存儲器702。在工作期 間,操作系統(tǒng)700經(jīng)由一條或多條總線704對虛擬存儲器702尋址。虛擬 存儲器702包括易失性存儲器708和LP非易失性存儲器710兩者,非易 失性存儲器710例如是閃存、具有非易失性存儲器EF的HDD禾卩/或 LPDD?,F(xiàn)在參照圖19,操作系統(tǒng)允許用戶分配LP非易失性存儲器710中的 一些或全部作為頁面存儲器以增加虛擬存儲器。在步驟720中,控制開 始。在步驟724中,操作系統(tǒng)確定是否請求另外的頁面存儲器。如果不請 求另外的頁面存儲器,則控制循環(huán)回步驟724。否則,在步驟728中,操 作系統(tǒng)分配部分LP非易失性存儲器用于頁面文件的使用以增加虛擬存儲腿 益。在圖20中,操作系統(tǒng)采用另外的LP非易失性存儲器作為頁面存儲 器??刂崎_始于步驟740。在步驟744中,控制確定操作系統(tǒng)是否請求數(shù) 據(jù)寫操作。如果判斷結(jié)果為真,則控制繼續(xù)步驟748并且確定是否超過易 失性存儲器的容量。如果沒有,則在步驟750中,易失性存儲器用于寫操 作。如果步驟748的判斷結(jié)果為真,則在步驟754中,數(shù)據(jù)被存儲在LP 非易失性存儲器中的頁面文件中。如果步驟744的判斷結(jié)果為假,則控制 繼續(xù)步驟760并且確定是否請求數(shù)據(jù)讀操作。如果判斷結(jié)果為假,則控制 循環(huán)回步驟744。否則,在步驟764中,控制確定所述地址是否對應(yīng)于 RAM地址。如果步驟764的判斷結(jié)果為真,則控制在步驟766中從易失性 存儲器讀取數(shù)據(jù)并且繼續(xù)步驟744。如果步驟764的判斷結(jié)果為假,則控 制在步驟770中從LP非易失性存儲器中的頁面文件讀取數(shù)據(jù)并且控制繼 續(xù)步驟744??梢灾溃c采用HPDD的系統(tǒng)相比,使用諸如閃存、具有非易失性 存儲器IF的HDD和/或LPDD的LP非易失性存儲器來增加虛擬存儲器的 大小將會提高計算機的性能。此外,功耗將低于使用HPDD作為頁面文件 的系統(tǒng)。HPDD由于其更大的大小而需要額外的起動時間,這與閃存和/或 LPDD或具有非易失性存儲器IF的HDD相比增加了數(shù)據(jù)存取時間,其中 閃存沒有起動延遲,LPDD或具有非易失性存儲器IF的HDD具有較短的 起動時間和較低的功耗?,F(xiàn)在參照圖21,所示出的獨立盤冗余陣列(RAID)系統(tǒng)800包括一個或多個與盤陣列808通信的服務(wù)器和/或客戶端804。所述一個或多個服 務(wù)器和/或客戶端804包括盤陣列控制器812和/或陣列管理模塊814。盤陣 列控制器812和/或陣列管理模塊814接收數(shù)據(jù)并且對到盤陣列808的數(shù)據(jù) 執(zhí)行邏輯地址到物理地址的映射。盤陣列一般包括多個HPDD 816。多個HPDD 816提供容錯(冗余)和/或改善的數(shù)據(jù)存取速率。RAID 系統(tǒng)800提供一種存取多個個體HPDD的方法,就像盤陣列808是一個大 硬盤驅(qū)動器一樣。總的來說,盤陣列808可以提供幾百Gb至幾十到幾百 Tb的數(shù)據(jù)存儲。數(shù)據(jù)以各種方式存儲在多個HPDD 816上以降低一個驅(qū)動 器失效的情況下丟失所有數(shù)據(jù)的風(fēng)險并且改善數(shù)據(jù)存取時間。將數(shù)據(jù)存儲在HPDD 816上的方法一般稱為RAID級別。存在各種 RAID級別,包括RAID級別0或盤分段(disk striping)。在RAID級別0 系統(tǒng)中,數(shù)據(jù)被寫在橫跨多個驅(qū)動器的塊中,以允許一個驅(qū)動器讀或?qū)憯?shù) 據(jù)塊而同時下一個驅(qū)動器在查找下一個塊。盤分段的優(yōu)點包括更高的存取 速率和陣列容量的全面利用。存在的缺點是沒有容錯。如果一個驅(qū)動器失效,則陣列的全部內(nèi)容變得不可存取。RAID級別1或盤鏡像通過寫兩次(每個驅(qū)動器一次)來提供冗余。 如果一個驅(qū)動器失效,則另一驅(qū)動器包含數(shù)據(jù)的精確副本,并且RAID系 統(tǒng)可以切換到使用鏡像驅(qū)動器而不損失用戶的可存取性。缺點包括缺少數(shù) 據(jù)存取速度上的改善和由于需要更多的驅(qū)動器(2N)而引起的較高成本。 然而,RAID級別1提供數(shù)據(jù)的最好保護(hù),因為在HPDD中的一個失效 時,陣列管理軟件將簡單地把所有的應(yīng)用請求導(dǎo)向剩下的HPDD。RAID級別3用專用于奇偶校驗信息(parity)的另外驅(qū)動器來將數(shù)據(jù) 在多個驅(qū)動器上分段,用于錯誤糾正/恢復(fù)。RAID級別5提供分段以及用 于錯誤恢復(fù)的奇偶校驗信息。在RAID級別5中,奇偶校驗信息塊分布在 陣列的多個驅(qū)動器之中,這在驅(qū)動器之間提供更平衡的存取負(fù)荷。奇偶校 驗信息在一個驅(qū)動器失效的情況下用于恢復(fù)數(shù)據(jù)。缺點是較慢的寫周期 (寫每個塊需要2次讀和2次寫)。陣列容量是N—1,最少需要3個驅(qū)動腿 益oRAID級別0+1涉及沒有奇偶校驗信息的分段和鏡像。優(yōu)點是快的數(shù) 據(jù)存取(類似于RAID級別0)和單個驅(qū)動器容錯(類似于RAID級別 1) 。 RAID級別0+1還需要兩倍數(shù)目的盤(類似于RAID級別1)。可以
知道,可以存在其他用于將數(shù)據(jù)存儲在陣列808上的RAID級別和/或方 法。
現(xiàn)在參照圖22A和圖22B,根據(jù)本發(fā)明的RAID系統(tǒng)834-1包括盤陣 列836和盤陣列838,盤陣列836包括X個HPDD,盤陣列838包括Y個 LPDD。 一個或多個客戶端和/或服務(wù)器840包括盤陣列控制器842和/或陣 列管理模塊844。雖然示出了分離的器件842和844,但是這些器件可以 在希望的情況下被集成??梢灾?,X大于或等于2, Y大于或等于1。 X 可以大于Y、小于Y和/或等于Y。例如,圖22B示出了其中X二Y二Z的 RAID系統(tǒng)834-1'。
現(xiàn)在參照圖23A、 23B、 24A和24B,示出了 RAID系統(tǒng)834-2和834-3。在圖23A中,LPDD盤陣列838與服務(wù)器/客戶端840通信,HPDD盤 陣列836與LPDD盤陣列838通信。RAID系統(tǒng)834-2可以包括管理旁路, 該管理旁路選擇性地繞過LPDD盤陣列838??梢灾?,X大于或等于 2, Y大于或等于1。 X可以大于Y、小于Y和/或等于Y。例如,圖23B 示出了其中X二Y二Z的RAID系統(tǒng)834-2'。在圖24A中,HPDD盤陣列 836與服務(wù)器/客戶端840通信,LPDD盤陣列838與HPDD盤陣列836通 信。RAID系統(tǒng)834-2可以包括由虛線846所示的管理旁路,該管理旁路選 擇性地繞過HPDD盤陣列836??梢灾?,X大于或等于2, Y大于或等 于l。 X可以大于Y、小于Y禾n/或等于Y。例如,圖24B示出了其中X二 Y二Z的RAID系統(tǒng)834-3'。所采用的策略可以包括圖23A-24B中的直寫 (writethrough)禾n/或回寫(writeback)。
陣列管理模塊844和/或盤控制器842利用LPDD盤陣列838來降低 HPDD盤陣列836的功耗。 一般來說,圖21中的傳統(tǒng)RAID系統(tǒng)中的 HPDD盤陣列808在工作期間保持全時開啟以支持所需要的數(shù)據(jù)存取時 間??梢灾?,HPDD盤陣列808消耗較大量的功率。此外,由于大量數(shù) 據(jù)被存儲在HPDD盤陣列808中,因此HPDD的盤片一般盡可能地大,這 需要更高性能的轉(zhuǎn)軸馬達(dá),并且由于讀/寫臂平均來說移動得更遠(yuǎn),因此增 加了數(shù)據(jù)存取時間。
根據(jù)本發(fā)明,上面結(jié)合圖6-17所描述的技術(shù)在圖22B所示的RAID系
統(tǒng)834中被選擇性地釆用,以降低功耗和數(shù)據(jù)存取時間。雖然未在圖22A 和圖23A-24B中示出,但是根據(jù)本發(fā)明的其他RAID系統(tǒng)也可以使用這些
技術(shù)。換句話說,圖6和圖7A-7D中所描述的LUB模塊304、適應(yīng)性存儲 模塊306和/或LPDD維護(hù)模塊被盤陣列控制器842和/或陣列管理控制器 844選擇性地實現(xiàn),以選擇性地將數(shù)據(jù)存儲在LPDD盤陣列838上,從而 降低功耗和數(shù)據(jù)存取時間。圖8A-8C、圖9和圖IO中所描述的適應(yīng)性存儲 控制模塊414也可以被盤陣列控制器842和/或陣列管理控制器844選擇性 地實現(xiàn),以降低功耗和數(shù)據(jù)存取時間。圖11A-11C和圖12中所描述的驅(qū) 動功率降低模塊522也可以被盤陣列控制器842和/或陣列管理控制器844 地實現(xiàn),以降低功耗和數(shù)據(jù)存取時間。此外,圖13-17中所示的多驅(qū)動系 統(tǒng)和/或直接接口可以用HPDD盤陣列836中的一個或多個HPDD來實現(xiàn) 以提高性能并且降低功耗和存取時間。
現(xiàn)在參照圖25,所示出的根據(jù)現(xiàn)有技術(shù)的網(wǎng)絡(luò)附接存儲(NAS)系統(tǒng) 850包括存儲設(shè)備854、存儲請求器858、文件服務(wù)器862和通信系統(tǒng) 866。存儲設(shè)備854 —般包括盤驅(qū)動器、RAID系統(tǒng)、磁帶驅(qū)動器、磁帶 庫、光驅(qū)動器、自動唱片機和任何其他將被共享的存儲設(shè)備。存儲設(shè)備 854優(yōu)選地為面向?qū)ο蟮脑O(shè)備,但不是必須為面向?qū)ο蟮脑O(shè)備。存儲設(shè)備 854可以包括用于請求器858的數(shù)據(jù)存儲和取回的I/O接口。請求器858 — 般包括共享存儲設(shè)備854和/或直接存取存儲設(shè)備854的服務(wù)器和/或客戶 端o
文件服務(wù)器862執(zhí)行諸如請求認(rèn)證和資源定位之類的管理和安全功 能。存儲設(shè)備854的管理方向取決于文件服務(wù)器862,而請求器858被解 除存儲管理到文件服務(wù)器862承擔(dān)該責(zé)任的程度。在小系統(tǒng)中,可能不希 望使用專用文件服務(wù)器。在這種情況下,請求器可以承擔(dān)監(jiān)督NAS系統(tǒng) 850的操作的責(zé)任。照此,所示出的文件服務(wù)器862和請求器858兩者分 別包括管理模塊870和872,然而也可以提供這兩個管理模塊中的一個或 另一個和/或兩者。通信系統(tǒng)866是物理基礎(chǔ)設(shè)施,NAS系統(tǒng)850的組件通 過其進(jìn)行通信。其優(yōu)選地具有網(wǎng)絡(luò)和信道兩者的性質(zhì),具有連接網(wǎng)絡(luò)中所 有組件的能力并且具有信道中一般具有的低延遲。
當(dāng)NAS系統(tǒng)850加電時,存儲設(shè)備854或者對彼此標(biāo)識自身,或者對 參考公共點標(biāo)識自身,所述公共參考點例如文件服務(wù)器862、 一個或多個 請求者858和/或通信系統(tǒng)866。通信系統(tǒng)866 —般提供用于此的網(wǎng)絡(luò)管理 技術(shù),這些技術(shù)可以通過連接到與通信系統(tǒng)相關(guān)聯(lián)的媒介而被獲得。存儲 設(shè)備854和請求者858登錄到該媒介上。任何想要確定工作配置的組件可 以使用媒介服務(wù)來識別所有其他組件。請求者858從文件服務(wù)器862得知 它們可以訪問的存儲設(shè)備854的存在,而存儲設(shè)備854在它們需要定位另 一設(shè)備或調(diào)用諸如備份的管理服務(wù)時得知去往哪里。類似地,文件服務(wù)器 862可以從介質(zhì)服務(wù)得知存儲設(shè)備854的存在。取決于特定安裝的安全 性,可以拒絕請求者對某個裝置的訪問。然后從可訪問的存儲設(shè)備組,請 求者可以識別文件、數(shù)據(jù)庫和可用的自由空間。
同時,每個NAS組件可以對文件服務(wù)器862標(biāo)識出它想要知道的任 何專門考慮。任何設(shè)備級服務(wù)屬性可以被一次傳遞給文件服務(wù)器862,而 所有其他組件可以得知這些屬性。例如,請求者可能希望被告知啟動之后 的另外存儲的引入,這由請求者登錄到文件服務(wù)器862時設(shè)置的屬性來觸 發(fā)。無論何時新的存儲設(shè)備被增加到配置中,文件服務(wù)器862可以自動這 樣做,包括傳送重要的特性,例如其為RAID5、被鏡像等。
當(dāng)請求者必須打開文件時,它能夠直接去往存儲設(shè)備854,或者它不 得不去往文件服務(wù)器以獲得許可和位置信息。文件服務(wù)器862將對存儲裝 置的訪問控制到何種程度是安裝的安全性要求的功能。
現(xiàn)在參照圖26,所示出的根據(jù)本發(fā)明的網(wǎng)絡(luò)附接存儲(NAS)系統(tǒng) 900包括存儲設(shè)備904、請求者908、文件服務(wù)器912和通信系統(tǒng)916。存 儲設(shè)備904包括RAID系統(tǒng)834和/或上面在圖6-19中所描述的多盤驅(qū)動系 統(tǒng)930。存儲設(shè)備904 —般還可以包括盤驅(qū)動器、RAID系統(tǒng)、磁帶驅(qū)動 器、磁帶庫、光驅(qū)動器、自動唱片機和任何其他將被如上所述地共享的存 儲設(shè)備。可以知道,使用改善的RAID系統(tǒng)和/或多盤驅(qū)動系統(tǒng)930將降低 NAS系統(tǒng)900的功耗和數(shù)據(jù)存取時間。
現(xiàn)在參照圖27,示出了包括非易失性存儲器和盤驅(qū)動接口控制器的盤 驅(qū)動控制器。換句話說,圖27的HDD具有非易失性存儲器接口 (以下稱
為具有非易失性存儲器接口 (IF)的HDD)。圖27的設(shè)備允許HDD連接 到主機設(shè)備的已有的非易失性存儲器接口 (IF)以提供另外的非易失性存 儲。
盤驅(qū)動控制器1100與主機1102和盤驅(qū)動器1104通信。具有非易失性 存儲器IF的HDD包括盤驅(qū)動控制器1100和盤驅(qū)動器1104。盤驅(qū)動器 1104 —般具有ATA、 ATA-CE或IDE類型接口。輔助非易失性存儲器 1106也耦合到盤驅(qū)動控制器1100,其為盤驅(qū)動控制器存儲固件代碼。在 這種情況下,主機1102雖然被示為單個塊,但是其一般包括用于連接到 可購買到的非易失性存儲器設(shè)備類型的工業(yè)標(biāo)準(zhǔn)非易失性存儲器槽(連接 器)作為相關(guān)組件,該槽又被連接到主機中的標(biāo)準(zhǔn)非易失性存儲器控制 器。該槽一般符合標(biāo)準(zhǔn)類型之一,例如MMC (多媒體卡)、SD (安全數(shù) 據(jù))、作為SD和MMC組合的SD/MMC、 HS-MMC (高速MMC)、作 為SD和HS-MMC組合的SD/HS-MMC和記憶棒(Memory Stick)。該列 表并不是限制性的。
典型的應(yīng)用是便攜式計算機或諸如MP3音樂播放器或蜂窩電話手機的 消費電子設(shè)備,該消費電子設(shè)備具有一個通過非易失性存儲器接口與嵌入 式非易失性存儲器進(jìn)行通信的應(yīng)用處理器。非易失性存儲器接口可以包括 閃存接口、 NAND閃存接口和/或其他合適的非易失性半導(dǎo)體存儲器接口。 根據(jù)該公開,不是使用非易失性半導(dǎo)體存儲器,而是提供硬盤驅(qū)動器或其 他類型的盤驅(qū)動器來替換非易失性半導(dǎo)體存儲器并且使用其接口信號。所 公開的方法為盤驅(qū)動器提供類似于非易失性存儲器的接口,這使得在通常 只接受閃存的主機系統(tǒng)中更容易結(jié)合盤驅(qū)動器。用盤驅(qū)動器而不是閃存作 為存儲設(shè)備的一個優(yōu)點是對于特定成本的大得多的存儲容量。
僅需要在主機非易失性存儲器控制器固件和軟件中做出最小的改變以 結(jié)合使用所公開的接口控制器的盤驅(qū)動器。而且,提供最小的命令開銷。 有利地,就在主機和盤驅(qū)動器之間轉(zhuǎn)移的邏輯塊的數(shù)目而言,對于任何特 定的讀或?qū)懖僮鞔嬖跓o限制的數(shù)據(jù)轉(zhuǎn)移。而且,主機不必提供盤驅(qū)動器的 扇區(qū)計數(shù)。
在某些實施例中,盤驅(qū)動器1104可以是小形狀因數(shù)(SFF)硬盤驅(qū)動器,其一般具有650X15X70mm的物理尺寸。這樣的SFF硬盤驅(qū)動器的 典型數(shù)據(jù)轉(zhuǎn)移速率是每秒25兆字節(jié)。下面進(jìn)一步說明圖27的盤驅(qū)動控制器1100的功能。盤驅(qū)動控制器 IIOO包括接口控制器1110,接口控制器1110對于主機系統(tǒng)1102來說是具 有14排的總線的閃存控制器。接口控制器1110還執(zhí)行主機命令解釋和主 機1102與緩沖器管理器1112之間的數(shù)據(jù)流控制功能。緩沖器管理器電路 1112經(jīng)由存儲器控制器1116控制實際的緩沖器(存儲器),實際的緩沖 器可以是作為一部分而被包括在與接口控制器1100相同的芯片上或者在 獨立芯片上的SRAM或DRAM緩沖器1118。緩沖器管理器提供下面進(jìn)一 步所描述的緩沖特征。緩沖器管理器1112還連接到處理器接口/伺服和ID-Less/缺陷管理器 (MPIF/SAIL/DM)電路1122,其執(zhí)行磁道格式產(chǎn)生和缺陷管理功能。 MPIF/SAIL/DM電路1122又連接到高性能總線(AHB) 1126。線緩存 (line cache) 1128和處理器1130連接到AHB總線1126;緊密耦合存儲 器(TCM) 1134與處理器1130相關(guān)聯(lián)。處理器1130可以由嵌入式處理器 或微處理器實現(xiàn)。線緩存1128的目的是降低代碼執(zhí)行延遲。它可以耦合 到外部閃存1106。盤驅(qū)動控制器1100中的其他塊執(zhí)行功能以支持盤驅(qū)動器并且包括伺 服控制器1140、盤格式器和糾錯電路1142以及讀通道電路1144,讀通道 電路1144連接到盤驅(qū)動器1104中的前置放大電路。14排的并行總線中的 8排(0-7)可以承載雙向輸入/輸出(I/O)數(shù)據(jù)。其他排可以分別承載命 令CLE、 AUE、 /CE、 /RE、 AVE禾口R/B?,F(xiàn)在參照圖28,更詳細(xì)地示出了圖27的接口控制器。接口控制器 1110包括閃存控制器(flash—ctl)塊1150、閃存寄存器(flash—reg)塊 1152、閃存FIFO包裝(flash—fifo—wrapper)塊1154和閃存系統(tǒng)同步 (flash—sys—syn )塊1156 。閃存寄存器塊1152用于寄存器存取。它存儲由處理器1130和主機 1102所編程的命令。閃存控制器1150中的閃存狀態(tài)機(未示出)對從主 機1102進(jìn)入的命令進(jìn)行解碼并且為盤驅(qū)動控制器1100提供控制。閃存
FIFO包裝1154包括可以由32 X 32的雙向異步FIFO實現(xiàn)的FIFO。其產(chǎn)生 數(shù)據(jù)和控制信號,用于經(jīng)由緩沖器管理器接口 (BMIF)將數(shù)據(jù)轉(zhuǎn)移到緩 沖器管理器1112和經(jīng)由緩沖器管理器接口從緩沖器管理器1112接收數(shù) 據(jù)。FIFO的轉(zhuǎn)移方向可以由存儲在閃存寄存器1152中的命令來控制。閃 存系統(tǒng)同步塊1156將接口控制器和緩沖器管理器接口之間的控制信號進(jìn) 行同步。它還為閃存FIFO包裝1154產(chǎn)生計數(shù)器清除脈沖(clk2—ck)。閃存控制器1150可以控制接口信號線來實現(xiàn)LPDD的隨機讀取。閃 存控制器1150可以控制接口信號線來實現(xiàn)LPDD的隨機寫入。閃存控制 器1150可以控制接口信號線來實現(xiàn)LPDD的順序讀取,并且可以控制接 口信號線來實現(xiàn)LPDD的順序?qū)懭?。閃存控制器1150可以控制接口信號 線來實現(xiàn)控制模塊和LPDD之間的命令轉(zhuǎn)移。閃存控制器1150可以將一 組LPDD命令映射到相應(yīng)的一組閃存命令。閃存寄存器1152經(jīng)由處理器總線與接口控制器和LPDD處理器通 信。閃存寄存器1152存儲由LPDD處理器和控制模塊所編程的命令。閃 存控制器1150可以將從LPDD所讀取的數(shù)據(jù)存儲在緩沖存儲器中以補償 控制模塊和LPDD之間的數(shù)據(jù)轉(zhuǎn)移速率的不同,并且可以發(fā)送數(shù)據(jù)就緒信 號到控制模塊以指示存儲緩沖器中存在數(shù)據(jù)。閃存控制器1150可以在緩沖存儲器中存儲來自控制模塊的寫數(shù)據(jù), 以補償控制模塊和LPDD之間數(shù)據(jù)轉(zhuǎn)移速率的不同。閃存控制器1150可 以發(fā)送數(shù)據(jù)就緒信號導(dǎo)控制模塊,以指示在存儲緩沖器中有數(shù)據(jù)?,F(xiàn)在參照圖29, 一般在1200處示出具有閃存接口的多盤驅(qū)動系統(tǒng)的 功能框圖。雖然先前的討論涉及一個具有閃存接口的盤驅(qū)動器(例如低功 率或高功率盤驅(qū)動器)的使用,但是多個盤驅(qū)動器可以經(jīng)由閃存接口而被 連接。更具體地說,具有閃存接口的多盤驅(qū)動系統(tǒng)1204包括與主機1202 的閃存接口通信的主機閃存接口 1206。主機閃存接口 1206如上所述工 作。驅(qū)動控制模塊1208選擇性地不操作HPDD 1220和LPDD 1222中的任 何一個或者操作HPDD 1220和LPDD 1222中的一個或兩個。如上所述的 關(guān)于低功率和高功率模式操作的控制技術(shù)可以由驅(qū)動控制模塊1208來執(zhí) 行。在一些實現(xiàn)方式中,主機閃存接口 1206感覺主機的功率模式并且/或 者接收標(biāo)識主機1202的功率模式的信息。現(xiàn)在參照圖30,示出了說明由圖29的多盤驅(qū)動系統(tǒng)所執(zhí)行的步驟的 流程圖??刂崎_始于步驟1230。在步驟1232中,控制確定主機是否開 啟。如果步驟1232的判斷結(jié)果為真,則控制在步驟1234中確定主機是否 在高功率模式下。如果步驟1234的判斷結(jié)果為真,則控制在步驟1236中 根據(jù)需要為LPDD 1222和/或HPDD 1220加電。如果步驟1234的判斷結(jié) 果為假,則控制在步驟1238中確定主機是否在低功率模式下。如果步驟 1238的判斷結(jié)果為真,則控制在步驟1240中為HPDD斷電并且根據(jù)需要 對LPDD進(jìn)行操作以節(jié)約功率??刂茝牟襟E1238 (如果判斷結(jié)果為假)和 步驟1240繼續(xù)步驟1232??梢灾溃缟纤龅木哂虚W存接口的HDD可以使用如上所述的具 有閃存接口的多盤驅(qū)動器。此外,如上所述的關(guān)于具有LPDD和HPDD的 系統(tǒng)的控制技術(shù)中的任何一種可以在圖29所示的具有閃存接口的多盤驅(qū) 動器中使用。在如上所述的實施例中的任何一個中,LPDD或HPDD可以 由任何類型的低功率非易失性存儲器來替換。例如,LPDD或HPDD可以 由諸如閃存但不局限于閃存的任何合適的非易失性固態(tài)存儲器來替換。同 樣,如上所述的實施例中的任何一個中的低功率非易失性存儲器可以由低 功率盤驅(qū)動器來替換。雖然在上面的一些實施例中描述了閃存,但是可以 使用任何類型的非易失性半導(dǎo)體存儲器?,F(xiàn)在參照圖31A-31C,示出了工作于高功率模式和低功率模式的各種 數(shù)據(jù)處理系統(tǒng)。當(dāng)在高功率模式和低功率模式之間轉(zhuǎn)換時,高功率和低功 率處理器選擇性地將一個或多個程序線程轉(zhuǎn)移到彼此。線程可以處于各種 完成狀態(tài)下。這允許高功率模式和低功率模式之間的無縫轉(zhuǎn)換。在圖31A中,處理系統(tǒng)1300包括高功率(HP)處理器1304、低功率 (LP)處理器1308和寄存器文件1312。在高功率模式中,高功率處理器 1304處于活動狀態(tài)并且處理線程。低功率處理器1308在高功率模式期間 也可以工作。換句話說,低功率處理器可以在高功率模式的全部或部分期 間內(nèi)處于活動狀態(tài)并且/或者可以處于不活動模式。在低功率模式中,低功率處理器1308工作在活動狀態(tài)下并且高功率 處理器1304處于不活動狀態(tài)。高功率處理器1304和低功率處理器1308分 別可以使用相同或類似的指令組。低功率和高功率處理器可以具有相同或 類似的體系結(jié)構(gòu)。處理器1304和1308兩者在從低功率模式轉(zhuǎn)換到高功率 模式時和在從高功率模式轉(zhuǎn)換到低功率模式時可以暫時同時工作在活動狀 態(tài)下。高功率處理器1304和低功率處理器1308分別包括晶體管1306和 1310。高功率處理器1304的晶體管1306在工作于活動狀態(tài)期間趨于比低 功率處理器1308的晶體管1310消耗更多的功率。在一些實現(xiàn)方式中,晶 體管1306可以比晶體管1310具有更高的泄漏電流。晶體管1310可以具有 比晶體管1306的尺寸更大的尺寸。高功率處理器1304可以比低功率處理器1308更加復(fù)雜。例如,低功 率處理器1308可以比高功率處理器具有更小的寬度和/或深度。換句話 說,寬度可以由并行流水線(pipeline)的數(shù)目來定義。高功率處理器 1304可以包括php個并行流水線1342,低功率處理器1308可以包括Plp個 并行流水線1346。在一些實現(xiàn)方式中,Plp可以小于Php。 P]lp可以是大于 或等于零的整數(shù)。當(dāng)Plp二O吋,低功率處理器不包括任何并行流水線。深 度可以由級數(shù)來定義。高功率處理器1304可以包括Shp級1344,低功率 處理器1308可以包括slp級1348。在一些實現(xiàn)方式中,Slp可以小于 Shp。 Slp可以是大于或等于1的整數(shù)。寄存器文件1312可以在高功率處理器1304和低功率處理器1308之間 共享。寄存器文件1312可以將預(yù)定的地址位置用于寄存器、檢査點和/或 程序計數(shù)器。例如,分別由高功率處理器1304和/或低功率處理器1308所 使用的寄存器、檢査點和/或程序計數(shù)器可以存儲在寄存器文件1312的相 同位置中。因此,高功率處理器1304和低功率處理器1308在新的線程被 傳遞到了各自的處理器時可以定位特定的寄存器、檢査點和/或程序計數(shù) 器。共享寄存器文件1312有助于線程的轉(zhuǎn)移。寄存器文件1312可以是除 了分別在高功率處理器1304和低功率處理器1308的每一個中的寄存器文 件(未示出)之外的寄存器文件。線程可以包括單線程和/或多線程。可以提供控制模塊1314以選擇性地控制高功率模式和低功率模式之
間的轉(zhuǎn)換。控制模塊1314可以從另一模塊或設(shè)備接收模式請求信號???制模塊1314可以監(jiān)控線程的轉(zhuǎn)移和/或涉及線程轉(zhuǎn)移的信息,例如寄存 器、檢查點和/或程序計數(shù)器。 一旦線程的轉(zhuǎn)移完成,控制模塊1314就可 以將高功率處理器和低功率處理器之一轉(zhuǎn)換為不活動狀態(tài)。高功率處理器1304、低功率處理器1308、寄存器文件1312和/或控制 模塊1314可以被實現(xiàn)為片上系統(tǒng)(SOC) 1330。在圖31B中,處理系統(tǒng)1350包括高功率(HP)處理器1354和低功率 (LP)處理器1358。高功率處理器1354包括寄存器文件1370,低功率處 理器1358包括寄存器文件1372。在高功率模式中,高功率處理器1354處于活動狀態(tài)并且處理線程。 低功率處理器1358在高功率模式期間也可以工作。換句話說,低功率處 理器1358可以在高功率模式的全部或部分期間內(nèi)處于活動狀態(tài)(并且可 以處理線程)并且/或者可以處于不活動模式。在低功率模式中,低功率處 理器1358工作在活動狀態(tài)下并且高功率處理器1354處于不活動狀態(tài)。高 功率處理器1354和低功率處理器1358分別可以使用相同或類似的指令 組。處理器1354和1358可以具有相同或類似的體系結(jié)構(gòu)。處理器1354和 1358兩者在從低功率模式轉(zhuǎn)換到高功率模式時和在從高功率模式轉(zhuǎn)換到低功率模式時可以都處于活動狀態(tài)下。高功率處理器1354和低功率處理器1358分別包括晶體管1356和 1360。晶體管1356在工作于活動狀態(tài)期間趨于比晶體管1360消耗更多的 功率。在一些實現(xiàn)方式中,晶體管1356可以比晶體管1360具有更高的泄 漏電流。晶體管1360可以具有比晶體管1356的尺寸更大的尺寸。高功率處理器1354可以比低功率處理器1358更加復(fù)雜。例如,低功 率處理器1358可以比圖31A所示的高功率處理器具有更小的寬度和/或深 度。換句話說,低功率處理器1358的寬度可以比高功率處理器1354包括 更少的并行流水線或不包括并行流水線。低功率處理器1358的深度可以 比高功率處理器1354包括更少的級。寄存器文件1370為高功率處理器1354存儲諸如寄存器、程序計數(shù)器 和檢查點的線程信息。寄存器文件1372為低功率處理器1358存儲諸如寄
存器、程序計數(shù)器和檢査點的線程信息。在線程轉(zhuǎn)移期間,高功率處理器1354和低功率處理器1358分別還可以轉(zhuǎn)移與所轉(zhuǎn)移的線程相關(guān)聯(lián)的寄存 器、程序計數(shù)器和檢查點以存儲在寄存器文件1370和/或1372中??梢蕴峁┛刂颇K1364來控制高功率模式和低功率模式之間的轉(zhuǎn) 換??刂颇K1364可以從另一模塊接收模式請求信號??刂颇K1364可 以與或者HP處理器或者LP處理器集成??刂颇K1364可以監(jiān)控線程和/ 或涉及寄存器、檢查點和/或程序計數(shù)器的信息的轉(zhuǎn)移。 一旦(一個或多 個)線程的轉(zhuǎn)移完成,控制模塊1364就可以將高功率處理器和低功率處 理器之一轉(zhuǎn)換為不活動狀態(tài)。在圖31C中,高功率處理器1354、低功率處理器1358和/或控制模塊 1364中的兩個或更多個被集成在片上系統(tǒng)(SOC) 1380中??梢灾?,控 制模塊1364也可以被獨立實現(xiàn)。雖然寄存器文件1370和1372被示為HP 處理器和LP處理器的一部分,但是它們也可以被獨立實現(xiàn)。現(xiàn)在參照圖32A-32C,示出了工作于高功率模式和低功率模式的各種 圖形處理系統(tǒng)。當(dāng)在高功率模式和低功率模式之間轉(zhuǎn)換時,高功率和低功 率圖形處理單元(GPU)選擇性地將一個或多個程序線程轉(zhuǎn)移到彼此。線 程可以處于各種完成狀態(tài)下。這允許高功率模式和低功率模式之間的無縫 轉(zhuǎn)換。在圖32A中,圖形處理系統(tǒng)1400包括高功率(HP) GPU 1404、低功 率(LP) GPU 1408和寄存器文件1412。在高功率模式中,高功率GPU 1404處于活動狀態(tài)并且處理線程。低功率GPU 1408在高功率模式期間也 可以工作。換句話說,低功率GPU可以在高功率模式的全部或部分期間 內(nèi)處于活動狀態(tài)并且/或者可以處于不活動模式。在低功率模式中,低功率GPU 1408工作在活動狀態(tài)下并且高功率 GPU 1404處于不活動狀態(tài)。高功率GPU 1404和低功率GPU 1408分別可 以使用相同或類似的指令組。低功率和高功率GPU可以具有相同或類似 的體系結(jié)構(gòu)。GPU 1404和1408兩者在從低功率模式轉(zhuǎn)換到高功率模式時和在從高功率模式轉(zhuǎn)換到低功率模式時可以暫時同時工作在活動狀態(tài)下。 高功率GPU 1404和低功率GPU 1408分別包括晶體管1406和1410。
高功率GPU 1404的晶體管1406在工作于活動狀態(tài)期間趨于比低功率 GPU 1408的晶體管1410消耗更多的功率。在一些實現(xiàn)方式中,晶體管 1406可以比晶體管1410具有更高的泄漏電流。晶體管1410可以具有比晶 體管1406的尺寸更大的尺寸。高功率GPU 1404可以比低功率GPU 1408更加復(fù)雜。例如,低功率 GPU 1408可以比高功率GPU具有更小的寬度和/或深度。換句話說,寬度 可以由并行流水線的數(shù)目來定義。高功率GPU 1404可以包括Php個并行 流水線1442,低功率GPU 1408可以包括P^個并行流水線1446。在一些 實現(xiàn)方式中,Plp可以小于Prp。 Plp可以是大于或等于零的整數(shù)。當(dāng)Plp二 0時,低功率GPU不包括任何并行流水線。深度可以由級數(shù)來定義。高功 率GPU 1404可以包括SHP級1444,低功率GPU 1408可以包括SLP級 1448。在一些實現(xiàn)方式中,Sip可以小于Shp。 Slp可以是大于或等于1的 整數(shù)。寄存器文件1412可以在高功率GPU 1404和低功率GPU 1408之間共 享。寄存器文件1412可以將預(yù)定的地址位置用于寄存器、檢查點和/或程 序計數(shù)器。例如,分別由高功率GPU 1404和/或低功率GPU 1408所使用 的寄存器、檢查點和/或程序計數(shù)器可以存儲在寄存器文件1412的相同位 置中。因此,高功率GPU 1404和低功率GPU 1408在新的線程被傳到了 各自的GPU時可以定位特定的寄存器、檢查點和/或程序計數(shù)器。共享寄 存器文件1412有助于線程的轉(zhuǎn)移。寄存器文件1412可以是除了分別在高 功率GPU 1404和低功率GPU 1408的每一個中的寄存器文件(未示出) 之外的寄存器文件。線程可以包括單線程和/或多線程??梢蕴峁┛刂颇K1414以選擇性地控制高功率模式和低功率模式之 間的轉(zhuǎn)換。控制模塊1414可以從另一模塊或設(shè)備接收模式請求信號。控 制模塊1414可以監(jiān)控線程的轉(zhuǎn)移和/或涉及線程轉(zhuǎn)移的信息,例如寄存 器、檢查點和/或程序計數(shù)器。 一旦線程的轉(zhuǎn)移完成,控制模塊1414就可 以將高功率GPU和低功率GPU之一轉(zhuǎn)換為不活動狀態(tài)。高功率GPU 1404、低功率GPU 1408、寄存器文件1412和/或控制模 塊1414可以被實現(xiàn)為片上系統(tǒng)(SOC) 1430。
在圖32B中,處理系統(tǒng)1450包括高功率(HP) GPU 1454和低功率 (LP) GPU 1458。高功率GPU 1454包括寄存器文件1470,低功率GPU 1458包括寄存器文件1472。在高功率模式中,高功率GPU 1454處于活動狀態(tài)并且處理線程。低 功率GPU 1458在高功率模式期間也可以工作。換句話說,低功率GPU 1458可以在高功率模式的全部或部分期間內(nèi)處于活動狀態(tài)(并且可以處理 線程)并且/或者可以處于不活動模式。在低功率模式中,低功率GPU 1458工作在活動狀態(tài)下并且高功率GPU 1454處于不活動狀態(tài)。高功率 GPU 1454和低功率GPU 1458分別可以使用相同或類似的指令組。GPU 1454和1458可以具有相同或類似的體系結(jié)構(gòu)。GPU 1454和1458兩者在 從低功率模式轉(zhuǎn)換到高功率模式時和在從高功率模式轉(zhuǎn)換到低功率模式時 可以都處于活動狀態(tài)下。高功率GPU 1454和低功率GPU 1458分別包括晶體管1456和1460。 晶體管1456在工作于活動狀態(tài)期間趨于比晶體管1460消耗更多的功率。 在一些實現(xiàn)方式中,晶體管1456可以比晶體管1460具有更高的泄漏電 流。晶體管1460可以具有比晶體管1456的尺寸更大的尺寸。高功率GPU 1454可以比低功率GPU 1458更加復(fù)雜。例如,低功率 GPU 1458可以比圖32A所示的高功率GPU具有更小的寬度和減深度。換 句話說,低功率GPU 1458的寬度可以比高功率GPU 1454包括更少的并 行流水線。低功率GPU 1458的深度可以比高功率GPU 1454包括更少的 級。寄存器文件1470為高功率GPU 1454存儲諸如寄存器、程序計數(shù)器和 檢查點的線程信息。寄存器文件1472為低功率GPU 1458存儲諸如寄存 器、程序計數(shù)器和檢査點的線程信息。在線程轉(zhuǎn)移期間,高功率GPU 1454和低功率GPU 1458分別還可以轉(zhuǎn)移與所轉(zhuǎn)移的線程相關(guān)聯(lián)的寄存 器、程序計數(shù)器和檢查點以存儲在寄存器文件1470和/或1472中??梢蕴峁┛刂颇K1464來控制高功率模式和低功率模式之間的轉(zhuǎn) 換。控制模塊1464可以從另一模塊接收模式請求信號??刂颇K1464可 以監(jiān)控線程和/或涉及寄存器、檢查點和/或程序計數(shù)器的信息的轉(zhuǎn)移,一 旦(一個或多個)線程的轉(zhuǎn)移完成,控制模塊1464就可以將高功率GPU 和低功率GPU之一轉(zhuǎn)換為不活動狀態(tài)。在圖32C中,高功率GPU 1454、低功率GPU 1458和/或控制模塊 1464中的兩個或更多個被集成在片上系統(tǒng)(SOC) 1480中??梢灾溃?制模塊1464也可以被獨立實現(xiàn)?,F(xiàn)在參照圖33,示出了說明用于操作圖31A-32C的數(shù)據(jù)和圖形處理 系統(tǒng)的示例性方法的流程圖。操作開始于步驟1500。在步驟1504中,控 制確定設(shè)備是否工作在高功率模式下。在步驟1508中,控制確定是否請 求轉(zhuǎn)換到低功率模式。當(dāng)步驟1508的判斷結(jié)果為真時,控制在步驟1512 中將數(shù)據(jù)或圖形線程轉(zhuǎn)移到低功率處理器或GPU。在步驟1516中,控制 在需要的情況下將諸如寄存器、檢查點和/或程序計數(shù)器的信息轉(zhuǎn)移到低功 率處理器或GPU。當(dāng)使用共用存儲器時,該步驟可以省略。在步驟1520 中,控制確定線程和/或其他信息是否被正確地轉(zhuǎn)移到了低功率處理器或 GPU。如果步驟1520的判斷結(jié)果為真,則控制將高功率處理器或GPU轉(zhuǎn) 換為不活動狀態(tài)。如果步驟1504的判斷結(jié)果為假,則控制確定設(shè)備是否工作在低功率 模式下。如果步驟1528的判斷結(jié)果為真,則控制確定是否請求轉(zhuǎn)換到高 功率模式。如果步驟1532的判斷結(jié)果為真,則控制在步驟1536中將數(shù)據(jù) 或圖形線程轉(zhuǎn)移到高功率處理器或GPU。在步驟1540中,控制將諸如寄 存器、檢査點和/或程序計數(shù)器的信息轉(zhuǎn)移到高功率處理器或GPU。當(dāng)使 用共用存儲器時,該步驟可以省略。在步驟1544中,控制確定線程和/或 其他信息是否被轉(zhuǎn)移到了高功率處理器或GPU。當(dāng)步驟1544的判斷結(jié)果 為真時,控制將低功率處理器或GPU轉(zhuǎn)換為不活動狀態(tài)并且控制返回步 驟1504?,F(xiàn)在參照圖34A-34G,示出了包含本發(fā)明的教導(dǎo)的各種示例性實現(xiàn)方式?,F(xiàn)在參照圖34A,本發(fā)明的教導(dǎo)可以在硬盤驅(qū)動器(HDD) 1600的控 制系統(tǒng)中實現(xiàn)。HDD 1600包括硬盤組件(HDA) 1601和HDD PCB 1602。 HDA 1601可以包括磁介質(zhì)1603和讀/寫器件1604,磁介質(zhì)1603例 如是存儲數(shù)據(jù)的一個或多個盤片。讀/寫器件1604可以被布置在致動器臂 1605上并且可以在磁介質(zhì)1603上讀和寫數(shù)據(jù)。另外,HDA 1601包括使磁 介質(zhì)1603旋轉(zhuǎn)的轉(zhuǎn)軸馬達(dá)1606和對致動器臂1605進(jìn)行致動的音圈馬達(dá) (VCM) 1607。前置放大器器件1608在讀操作期間對讀/寫器件1604所 產(chǎn)生的信號進(jìn)行放大并且在寫操作期間將信號提供給讀/寫器件1604。HDDPCB 1602包括讀/寫通道模塊(以下稱為"讀通道")1609、硬 盤控制器(HDC)模塊1610、緩沖器1611、非易失性存儲器1612、處理 器1613和轉(zhuǎn)軸/VCM驅(qū)動器模塊1614。讀通道1609處理從前置放大器器 件1608接收和發(fā)送到前置放大器器件1608的數(shù)據(jù)。HDC模塊1610控制 HDA 1601的組件并且經(jīng)由1/0接口 1615與外部設(shè)備(未示出)通信。外 部設(shè)備可以包括計算機、多媒體設(shè)備、移動計算設(shè)備等。1/0接口 1615可 以包括有線和/或無線通信鏈路。HDC模塊1610可以從HDA 1601、讀通道1609、緩沖器1611、非易 失性存儲器1612、處理器1613、轉(zhuǎn)軸/VCM驅(qū)動器模塊1614和/或I/O接 口 1615接收數(shù)據(jù)。處理器1613可以處理數(shù)據(jù),包括編碼、解碼、過濾和/ 或格式化。經(jīng)處理的數(shù)據(jù)可以被輸出到HDA 1601、讀通道1609、緩沖器 1611、非易失性存儲器1612、處理器1613、轉(zhuǎn)軸/VCM驅(qū)動器模塊1614 和/或I/0接口 1615。HDC模i央161(T可以使用緩沖器1611和/或非易失性存儲器1612來存 儲涉及HDD 1600的控制和操作的數(shù)據(jù)。緩沖器1611可以包括DRAM、 SDRAM等。非易失性存儲器1612可以包括閃存(包括NAND和NOR閃 存)、相變存儲器、磁RAM或多態(tài)存儲器,在多態(tài)存儲器中,每個存儲 器單元具有多于兩個的狀態(tài)。轉(zhuǎn)軸/VCM驅(qū)動器模塊1614控制轉(zhuǎn)軸馬達(dá) 1606和VCM 1607。 HDD PCB 1602包括為HDD 1600的組件提供功率的 電源1616?,F(xiàn)在參照圖34B,本發(fā)明的教導(dǎo)可以在DVD驅(qū)動器1618或CD驅(qū)動 器(未示出)的控制系統(tǒng)中實現(xiàn)。DVD驅(qū)動器1618包括DVD PCB 1619 和DVD組件(DVDA) 1620。 DVD PCB 1619包括DVD控制模塊1621、 緩沖器1622、非易失性存儲器1623、處理器1624、轉(zhuǎn)軸/FM (進(jìn)給電動
機(feed motor))驅(qū)動器模塊1625、模擬前端模塊1626、寫策略模塊 1627和DSP模塊1628。DVD控制模塊1621控制DVDA 1620的組件并且經(jīng)由I/O接口 1629 與外部設(shè)備(未示出)通信。外部設(shè)備可以包括計算機、多媒體設(shè)備、移 動計算設(shè)備等。1/0接口 1629可以包括有線和/或無線通信鏈路。DVD控制模塊1621可以從緩沖器1622、非易失性存儲器1623、處理 器1624、轉(zhuǎn)軸/FM驅(qū)動器模塊1625、模擬前端模塊1626、寫策略模塊 1627、 DSP模塊1628和/或I/O接口 1629接收數(shù)據(jù)。處理器1624可以處 理數(shù)據(jù),包括編碼、解碼、過濾和/或格式化。DSP模塊1628執(zhí)行信號處 理,例如視頻和/或音頻編碼/解碼。經(jīng)處理的數(shù)據(jù)可以被輸出到緩沖器 1622、非易失性存儲器1623、處理器1624、轉(zhuǎn)軸/FM驅(qū)動器模塊1625、 模擬前端模塊1626、寫策略模塊1627、 DSP模塊1628和/或I/O接口 1629。DVD控制模塊1621可以使用緩沖器1622和/或非易失性存儲器1623 來存儲涉及DVD驅(qū)動器1618的控制和操作的數(shù)據(jù)。緩沖器1622可以包 括DRAM、 SDRAM等。非易失性存儲器1623可以包括閃存(包括 NAND和NOR閃存)、相變存儲器、磁RAM或多態(tài)存儲器,在多態(tài)存儲 器中,每個存儲器單元具有多于兩個的狀態(tài)。DVDPCB 1619包括為DVD 驅(qū)動器1618的組件提供功率的電源1630。DVDA 1620可以包括前置放大器器件1631、激光驅(qū)動器1632和光器 件1633,光器件1633可以是光讀/寫(ORW)器件或光只讀(OR)器 件。轉(zhuǎn)軸馬達(dá)1634使光存儲介質(zhì)1635旋轉(zhuǎn),進(jìn)給電動機1636對光器件 1633相對于光存儲介質(zhì)1635進(jìn)行致動。當(dāng)從光存儲介質(zhì)1635讀取數(shù)據(jù)時,激光驅(qū)動器將讀取功率提供給光 器件1633。光器件1633檢測來自光存儲介質(zhì)1635的數(shù)據(jù)并將數(shù)據(jù)發(fā)送到 前置放大器器件1631。模擬前端模塊1626從前置放大器1631接收數(shù)據(jù)并 且執(zhí)行諸如濾波和A/D轉(zhuǎn)換之類的功能。為了寫入光存儲介質(zhì)1635,寫 策略模塊1627將功率電平和定時信息發(fā)送給激光驅(qū)動器1632。激光驅(qū)動 器1632控制光器件1633從而將數(shù)據(jù)寫到光存儲介質(zhì)1635。
現(xiàn)在參照圖34C,本發(fā)明的教導(dǎo)可以在高清晰度電視(HDTV) 1637 的控制系統(tǒng)中實現(xiàn)。HDTV 1637包括HDTV控制模塊1638、顯示器 1639、電源1640、存儲器1641、存儲設(shè)備1642、 WLAN接口 1643和相 關(guān)天線1644以及外部接口 1645。HDTV 1637可以從WLAN接口 1643和/或外部接口 1645接收輸入信 號,外部接口 1645經(jīng)由電纜、寬帶因特網(wǎng)和/或人造衛(wèi)星而發(fā)送和接收信 息。HDTV控制模塊1638可以處理輸入信號,包括編碼、解碼、過濾和/ 或格式化,并且產(chǎn)生輸出信號。輸出信號可以被傳送到顯示器1639、存儲 器1641、存儲設(shè)備1642、 WLAN接口 1643和外部接口 1645中的一個或 多個。存儲器1641可以包括隨機存取存儲器(RAM)和/或諸如閃存、相變 存儲器或多態(tài)存儲器之類的非易失性存儲器,在多態(tài)存儲器中,每個存儲 器單元具有多于兩個的狀態(tài)。存儲設(shè)備1642可以包括光存儲驅(qū)動器和/或 硬盤驅(qū)動器(HDD),光存儲驅(qū)動器例如是DVD驅(qū)動器。HDTV控制模 塊1638經(jīng)由WLAN接口 1643和/或外部接口 1645而與外部通信。電源 1640為HDTV 1637的組件提供功率?,F(xiàn)在參照圖34D,本發(fā)明的教導(dǎo)可以在車輛1646的控制系統(tǒng)中實 現(xiàn)。車輛1646可以包括車輛控制系統(tǒng)1647、電源1648、存儲器1649、存 儲設(shè)備1650以及WLAN接口 1652和相關(guān)天線1653。車輛控制系統(tǒng)1647 可以是動力傳動(powertmin)控制系統(tǒng)、車身控制系統(tǒng)、娛樂控制系統(tǒng)、 防抱死制動系統(tǒng)(ABS)、導(dǎo)航系統(tǒng)、信息通訊系統(tǒng)、車道偏離系統(tǒng)、適 應(yīng)性巡航控制系統(tǒng)等。車輛控制系統(tǒng)1647可以與一個或多個傳感器1654通信并且產(chǎn)生一個 或多個輸出信號1656。傳感器1654可以包括溫度傳感器、加速度傳感 器、壓力傳感器、旋轉(zhuǎn)傳感器、氣流傳感器等。輸出信號1656可以控制 發(fā)動機操作參數(shù)、變速器操作參數(shù)、懸架參數(shù)等。電源1648為車輛1646的組件提供功率。車輛控制系統(tǒng)1647可以將數(shù) 據(jù)存儲在存儲器1649和/或存儲設(shè)備1650中。存儲器1649可以包括隨機 存取存儲器(RAM)和/或諸如閃存、相變存儲器或多態(tài)存儲器之類的非
易失性存儲器,在多態(tài)存儲器中,每個存儲器單元具有多于兩個的狀態(tài)。存儲設(shè)備1650可以包括光存儲驅(qū)動器和/或硬盤驅(qū)動器(HDD),光存儲 驅(qū)動器例如是DVD驅(qū)動器。車輛控制系統(tǒng)1647可以用WLAN接口 1652 與外部通信?,F(xiàn)在參照圖34E,本發(fā)明的教導(dǎo)可以在蜂窩電話1658的控制系統(tǒng)中實 現(xiàn)。蜂窩電話1658包括電話控制模塊1660、電源1662、存儲器1664、存 儲設(shè)備1666和蜂窩網(wǎng)絡(luò)接口 1667。蜂窩電話1658可以包括WLAN接口 1668和相關(guān)天線1669、麥克風(fēng)1670、諸如揚聲器和/或輸出插口之類的音 頻輸出1672、顯示器1674和諸如鍵盤和/或點擊設(shè)備之類的用戶輸入設(shè)備 1676。電話控制模塊1660可以從蜂窩網(wǎng)絡(luò)接口 1667、 WLAN接口 1668、麥 克風(fēng)1670和/或用戶輸入設(shè)備1676接收輸入信號。電話控制模塊1660可 以處理信號,包括編碼、解碼、濾波和/或格式化,并且產(chǎn)生輸出信號。輸 出信號可以被傳送到存儲器1664、存儲設(shè)備1666、蜂窩網(wǎng)絡(luò)接口 1667、 WLAN接口 1668和音頻輸出1672中的一個或多個。存儲器1664可以包括隨機存取存儲器(RAM)和/或諸如閃存、相變存儲器或多態(tài)存儲器之類的非易失性存儲器,在多態(tài)存儲器中,每個存儲 器單元具有多于兩個的狀態(tài)。存儲設(shè)備1666可以包括光存儲驅(qū)動器和/或 硬盤驅(qū)動器(HDD),光存儲驅(qū)動器例如是DVD驅(qū)動器。電源1662為蜂 窩電話1658的組件提供功率。現(xiàn)在參照圖34F,本發(fā)明的教導(dǎo)可以在機頂盒1678的控制系統(tǒng)中實 現(xiàn)。機頂盒1678包括機頂控制模塊1680、顯示器1681、電源1682、存儲 器1683、存儲設(shè)備1684以及WLAN接口 1685和相關(guān)天線1686。機頂控制模塊1680可以從WLAN接口 1685和外部接口 1687接收輸 入信號,外部接口 1687可以經(jīng)由電纜、寬帶因特網(wǎng)和/或人造衛(wèi)星而發(fā)送 和接收信息。機頂控制模塊1680可以處理信號,包括編碼、解碼、濾波 和/或格式化,并且產(chǎn)生輸出信號。輸出信號可以包括標(biāo)準(zhǔn)和/或高清晰度 格式的音頻和/或視頻信號。輸出信號可以被傳送到WLAN接口 1685和/ 或顯示器1681。顯示器1681可以包括電視機、投影儀和/或監(jiān)視器。
電源1682為機頂盒1678的組件提供功率。存儲器1683可以包括隨機 存取存儲器(RAM)和/或諸如閃存、相變存儲器或多態(tài)存儲器之類的非 易失性存儲器,在多態(tài)存儲器中,每個存儲器單元具有多于兩個的狀態(tài)。 存儲設(shè)備1684可以包括光存儲驅(qū)動器和/或硬盤驅(qū)動器(HDD),光存儲 驅(qū)動器例如是DVD驅(qū)動器?,F(xiàn)在參照圖34G,本發(fā)明的教導(dǎo)可以在媒體播放器1689的控制系統(tǒng) 中實現(xiàn)。媒體播放器1689可以包括媒體播放器控制模塊1690、電源 1691、存儲器1692、存儲設(shè)備1693、 WLAN接口 1694和相關(guān)天線1695 以及外部接口 1699。媒體播放器控制模塊1690可以從WLAN接口 1694和/或外部接口 1699接收輸入信號。外部接口 1699可以包括USB、紅外和/或以太網(wǎng)。輸 入信號可以包括經(jīng)壓縮的音頻和/或視頻,并且可以遵從MP3格式。另 外,媒體播放器控制模塊1690可以從諸如鍵盤、觸摸盤(touchpad)或獨 立按鈕之類的用戶輸入1696接收輸入。媒體播放器控制模塊1690可以處 理輸入信號,包括編碼、解碼、濾波和/或格式化,并且產(chǎn)生輸出信號。媒體播放器控制模塊1690可以將音頻信號輸出到音頻輸出1697,將 視頻信號輸出到顯示器1698。音頻輸出1697可以包括揚聲器和/或輸出插 口。顯示器1698可以是包括菜單、圖標(biāo)等的圖形用戶界面。電源1691為 媒體播放器1689的組件提供功率。存儲器1692可以包括隨機存取存儲器 (RAM)和/或諸如閃存、相變存儲器或多態(tài)存儲器之類的非易失性存儲 器,在多態(tài)存儲器中,每個存儲器單元具有多于兩個的狀態(tài)。存儲設(shè)備 1693可以包括光存儲驅(qū)動器和/或硬盤驅(qū)動器(HDD),光存儲驅(qū)動器例 如是DVD驅(qū)動器。本領(lǐng)域技術(shù)人員現(xiàn)在可以從上面的描述中知道本發(fā)明的廣泛教導(dǎo)可以 以各種形式實現(xiàn)。因此,雖然連同本發(fā)明的特定示例描述了本發(fā)明,但是 本發(fā)明的真正范圍不應(yīng)該這么有限,因為在學(xué)習(xí)了附圖、說明書和權(quán)利要 求書之后,其他修改對于本領(lǐng)域技術(shù)人員來說將變得清楚。本申請要求2006年9月12日提交的臨時申請No. 60/825,368、 2006-年8月24日提交的臨時申請No. 60/823,453和2006年8月10日提交的臨
時申請No. 60/822,015的權(quán)利,并且是2006年8月11日提交的美國專利 申請No. 11/503,016的部分延續(xù),美國專利申請No. 11/503,016要求2006 年7月31日提交的臨時申請No. 60/820,867和2006年5月10日提交的臨 時申請No. 60/799,151的權(quán)利,臨時申請No. 60/799,151是2004年6月10 日提交的美國專利申請No. 10/865,368的部分延續(xù)并且是美國專利申請No. 11/322,447的部分延續(xù),美國專利申請No. 11/322,447是在2005年12月 29日提交的并且其要求2005年5月5日提交的臨時申請No. 60/678,249的 權(quán)利。本申請涉及2004年2月13日提交的美國專利申請No. 10/779,544,并 且涉及2004年6月10日提交的美國專利申請No. 10/865,732。這些申請的 公開都通過引用而被全部合并于此。
權(quán)利要求
1.一種片上系統(tǒng),包括由所述片上系統(tǒng)實現(xiàn)的第一處理器,該第一處理器具有活動和不活動狀態(tài)并且在所述活動狀態(tài)期間處理第一和第二組線程;由所述片上系統(tǒng)實現(xiàn)的第二處理器,該第二處理器具有活動和不活動狀態(tài),其中所述第二處理器在工作于所述活動狀態(tài)時比所述第一處理器工作于所述活動狀態(tài)消耗更少的功率;以及由所述片上系統(tǒng)實現(xiàn)的控制模塊,該控制模塊與所述第一和第二處理器通信,并且選擇性地將所述第二組線程從所述第一處理器轉(zhuǎn)移到所述第二處理器并選擇所述第一處理器的所述不活動狀態(tài),其中所述第二處理器處理所述第二組線程。
2. 如權(quán)利要求1所述的片上系統(tǒng),還包括由所述片上系統(tǒng)實現(xiàn)的寄存 器文件,該寄存器文件與所述第一處理器和所述第二處理器通信并且存儲 用于所述第一和第二處理器的線程信息。
3. 如權(quán)利要求2所述的片上系統(tǒng),其中所述線程信息包括用于所述第 一和第二處理器的所述線程的寄存器、檢查點和程序計數(shù)器中的至少一 種。
4. 如權(quán)利要求1所述的片上系統(tǒng),還包括第一寄存器文件,該第一寄存器文件與所述第一處理器通信并且存儲 用于所述第一處理器的第一線程信息;以及第二寄存器文件,該第二寄存器文件與所述第二處理器通信并且存儲 用于所述第二處理器的第二線程信息。
5. 如權(quán)利要求4所述的片上系統(tǒng),其中所述第一和第二線程信息分別 包括用于所述第一和第二處理器的所述線程的寄存器、檢查點和程序計數(shù) 器中的至少一種。
6. 如權(quán)利要求4所述的片上系統(tǒng),其中所述控制模塊在將所述線程從 所述第一處理器轉(zhuǎn)移到所述第二處理器時,將所述線程信息從所述第一寄 存器文件轉(zhuǎn)移到所述第二寄存器文件。
7. 如權(quán)利要求1所述的片上系統(tǒng),其中所述第一處理器包括第一晶體 管,所述第二處理器包括第二晶體管,并且所述第一晶體管比所述第二晶體管具有更高的泄漏電流。
8. 如權(quán)利要求1所述的片上系統(tǒng),其中所述第一處理器包括第一晶體管,所述第二處理器包括第二晶體管,并且所述第二晶體管比所述第一晶 體管具有更大的尺寸。
9. 如權(quán)利要求1所述的片上系統(tǒng),其中所述片上系統(tǒng)在所述第一處理 器處于活動狀態(tài)時處于高功率模式,在所述第一處理器處于不活動狀態(tài)時 處于低功率模式。
10. 如權(quán)利要求1所述的片上系統(tǒng),其中所述第一和第二處理器分別 包括第一和第二圖形處理單元。
11. 一種處理系統(tǒng),包括第一處理器,該第一處理器具有活動和不活動狀態(tài)并且在所述活動狀 態(tài)期間處理至少一個線程;第二處理器,該第二處理器具有活動和不活動狀態(tài),其中所述第二處理器在工作于所述活動狀態(tài)時比所述第一處理器工作于所述活動狀態(tài)消耗 更少的功率;以及控制模塊,該控制模塊與所述第一和第二處理器通信,并且選擇性地 將所述至少一個線程從所述第一處理器轉(zhuǎn)移到所述第二處理器并選擇所述 第一處理器的所述不活動狀態(tài),其中所述第二處理器處理所述至少一個線 程。
12. 如權(quán)利要求11所述的處理系統(tǒng),還包括由片上系統(tǒng)實現(xiàn)的寄存器 文件,該寄存器文件與所述第一處理器和所述第二處理器通信并且存儲用 于所述第一和第二處理器的線程信息,其中所述線程信息包括用于所述第 一和第二處理器的所述線程的寄存器、檢查點和程序計數(shù)器中的至少一 種。
13. —種包括權(quán)利要求12所述的第一和第二處理器以及所述寄存器文 件的片上系統(tǒng)。
14. 如權(quán)利要求11所述的處理系統(tǒng),還包括- 第一寄存器文件,該第一寄存器文件與所述第一處理器通信并且存儲用于所述第一處理器的第一線程信息;以及第二寄存器文件,該第二寄存器文件與所述第二處理器通信并且存儲 用于所述第二處理器的第二線程信息,其中所述第一和第二線程信息分別 包括用于所述第一和第二處理器的所述線程的寄存器、檢查點和程序計數(shù) 器中的至少一種。
15. —種包括權(quán)利要求14所述的第一和第二處理器以及所述第一和第 二寄存器文件的片上系統(tǒng)。
16. 如權(quán)利要求14所述的處理系統(tǒng),其中所述控制模塊在將所述線程 從所述第一處理器轉(zhuǎn)移到所述第二處理器時,將所述線程信息從所述第一 寄存器文件轉(zhuǎn)移到所述第二寄存器文件。
17. 如權(quán)利要求11所述的處理系統(tǒng),其中所述第一處理器包括第一晶 體管,所述第二處理器包括第二晶體管,并且所述第一晶體管比所述第二 晶體管具有更高的泄漏電流。
18. 如權(quán)利要求11所述的處理系統(tǒng),其中所述第一處理器包括第一晶 體管,所述第二處理器包括第二晶體管,并且所述第二晶體管比所述第一 晶體管具有更大的尺寸。
19. 如權(quán)利要求11所述的處理系統(tǒng),其中所述處理系統(tǒng)在所述第一處 理器處于活動狀態(tài)時處于高功率模式,在所述第一處理器處于不活動狀態(tài) 時處于低功率模式。
20. 如權(quán)利要求11所述的處理系統(tǒng),其中所述第一和第二處理器分別 包括第一和第二圖形處理單元。
全文摘要
本發(fā)明公開了一種片上系統(tǒng)(SOC),其包括第一和第二處理器以及控制模塊。由SOC實現(xiàn)的第一處理器具有活動和不活動狀態(tài)并且在活動狀態(tài)期間處理第一和第二組線程。由SOC實現(xiàn)的第二處理器具有活動和不活動狀態(tài),其中第二處理器在工作于活動狀態(tài)時比第一處理器工作于活動狀態(tài)消耗更少的功率。由SOC實現(xiàn)的控制模塊與第一和第二處理器通信,選擇性地將第二組線程從第一處理器轉(zhuǎn)移到第二處理器并且選擇第一處理器的不活動狀態(tài)。第二處理器處理第二組線程。
文檔編號G06F15/16GK101118460SQ20071008733
公開日2008年2月6日 申請日期2007年3月9日 優(yōu)先權(quán)日2006年5月10日
發(fā)明者塞哈特·蘇塔迪嘉 申請人:馬維爾國際貿(mào)易有限公司