專利名稱:固態(tài)硬盤驅(qū)動(dòng)器以及操作頻率控制方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種固態(tài)硬盤驅(qū)動(dòng)器,且特別是關(guān)于一種固態(tài)硬盤驅(qū)動(dòng)器以及操作 頻率控制方法。
背景技術(shù):
計(jì)算機(jī)系統(tǒng)將數(shù)據(jù)存儲(chǔ)到不同類型的存儲(chǔ)介質(zhì)及裝置之中。這個(gè)存儲(chǔ)介質(zhì)及裝置 可以看作是非易失性的(nonvolatile),且即使當(dāng)電源斷開(turn off)時(shí),也可以持續(xù)的 存儲(chǔ)數(shù)據(jù)。非易失性存儲(chǔ)裝置的一個(gè)實(shí)例是計(jì)算機(jī)系統(tǒng)的硬盤。存儲(chǔ)裝置也可以包含與非 (以下稱為NAND)閃存以及固態(tài)硬盤(solid state disk,以下簡稱為SSD)。而存儲(chǔ)介質(zhì)則 可以包含由存儲(chǔ)裝置所存取的實(shí)際磁盤或磁帶(platter)。操作系統(tǒng)(operating system, 以下簡稱為0S)可以被要求來執(zhí)行一些動(dòng)作,例如,由處理器來讀寫存儲(chǔ)介質(zhì)中的特定位 置。由于非易失性閃存作為大容量存儲(chǔ)裝置已被廣泛的應(yīng)用于許多電子產(chǎn)品之中,因 此,由多個(gè)主機(jī)對非易失性閃存的同時(shí)存取(simultaneous access)已隨之發(fā)展。然而在 這種狀況下,隨著存取非易失性閃存的主機(jī)模塊數(shù)量的增加,總功率消耗也極大的增大。為 了改善系統(tǒng)的性能以及進(jìn)一步減小功率消耗,需要一種根據(jù)系統(tǒng)工作負(fù)荷來控制SSD驅(qū)動(dòng) 器操作頻率的方法。
發(fā)明內(nèi)容
有鑒于此,特提供以下技術(shù)方案本發(fā)明的實(shí)施方式提供了一種固態(tài)硬盤驅(qū)動(dòng)器,包含存儲(chǔ)裝置,包含用于存儲(chǔ)數(shù) 據(jù)位的多個(gè)存儲(chǔ)單元;以及控制器,耦接于存儲(chǔ)裝置,根據(jù)時(shí)鐘信號(hào)存取存儲(chǔ)裝置,估計(jì)存 儲(chǔ)裝置的工作負(fù)荷,以及根據(jù)已估計(jì)出的工作負(fù)荷來調(diào)整時(shí)鐘信號(hào)的頻率。本發(fā)明的實(shí)施方式另提供了一種操作頻率控制方法,用于控制固態(tài)硬盤驅(qū)動(dòng)器的 操作頻率,所述操作頻率控制方法包含根據(jù)存儲(chǔ)裝置的至少一個(gè)存取操作的特性,來估計(jì) 存儲(chǔ)裝置的工作負(fù)荷;以及根據(jù)已估計(jì)出的工作負(fù)荷來調(diào)整固態(tài)硬盤驅(qū)動(dòng)器的操作頻率, 其中,當(dāng)存儲(chǔ)裝置的已估計(jì)出的工作負(fù)荷低于預(yù)定低閾值時(shí),減小操作頻率,以及當(dāng)存儲(chǔ)裝 置的已估計(jì)出的工作負(fù)荷超出預(yù)定高閾值時(shí),增大操作頻率。以上所述的固態(tài)硬盤驅(qū)動(dòng)器以及操作頻率控制方法,可以根據(jù)系統(tǒng)工作負(fù)荷來控 制固態(tài)硬盤驅(qū)動(dòng)器的操作頻率,減小系統(tǒng)功率消耗,從而最大化功率效率并且借此改善系 統(tǒng)的整體性能。
圖1是根據(jù)本發(fā)明第一實(shí)施方式的SSD驅(qū)動(dòng)器的示意圖。圖2是根據(jù)本發(fā)明另一實(shí)施方式的SSD驅(qū)動(dòng)器的示意圖。圖3是根據(jù)本發(fā)明另一實(shí)施方式的控制SSD驅(qū)動(dòng)器操作頻率的方法的流程圖。
圖4是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。圖5是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。圖6是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。圖7是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。圖8是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。圖9是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。
具體實(shí)施例方式在本說明書以及權(quán)利要求書當(dāng)中使用了某些詞匯來指代特定的元件。本領(lǐng)域的技 術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同的名詞來稱呼同樣的元件。本說明書及權(quán)利要 求并不以名稱的差異作為區(qū)分元件的方式,而是以元件在功能上的差異作為區(qū)分的準(zhǔn)則。 在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”是一個(gè)開放式的用語,因此應(yīng)解釋成“包含 但不限定于”。另外,“耦接” 一詞在此包含任何直接及間接的電氣連接手段。因此,若文中 描述第一裝置耦接于第二裝置,則代表第一裝置可以直接電氣連接于第二裝置,或通過其 它裝置或連接手段間接地電氣連接至第二裝置。圖1是根據(jù)本發(fā)明第一實(shí)施方式的SSD驅(qū)動(dòng)器100的示意圖。SSD驅(qū)動(dòng)器100包 含控制器101以及存儲(chǔ)裝置102。存儲(chǔ)裝置102包含用于存儲(chǔ)數(shù)據(jù)位的多個(gè)存儲(chǔ)單元。根 據(jù)本發(fā)明的實(shí)施方式,存儲(chǔ)裝置102可以看作是非易失性存儲(chǔ)裝置,例如,SSD存儲(chǔ)器???制器101耦接于存儲(chǔ)裝置102,用于管理存儲(chǔ)裝置102。根據(jù)本發(fā)明的實(shí)施方式,控制器101 根據(jù)時(shí)鐘信號(hào)存取存儲(chǔ)裝置102來估計(jì)存儲(chǔ)裝置102的工作負(fù)荷,以及根據(jù)已估計(jì)出的工 作負(fù)荷調(diào)整時(shí)鐘信號(hào)的頻率??刂破?01包含主機(jī)接口 111、處理器112、閃存控制器113、緩沖器114、時(shí)鐘控 制器115、誤差檢查及校正(Error Checking and Correcting,以下簡稱為ECC)引擎116、 時(shí)鐘源117、以及定時(shí)器118,其中,在一些實(shí)施方式中,定時(shí)器118可以由實(shí)時(shí)時(shí)鐘(Real Time Clock,以下簡稱為RTC)來實(shí)現(xiàn)。主機(jī)接口 111將SSD驅(qū)動(dòng)器100連接(interface) 到主機(jī)103。一般來說,主機(jī)是被定義成將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置102中的系統(tǒng)或者子系統(tǒng)。 主機(jī)接口 111從主機(jī)103接收存取要求(例如,讀要求或?qū)懸?。處理器112耦接于主機(jī) 接口 111,從主機(jī)接口 111接收所述存取要求,且產(chǎn)生對應(yīng)的存取命令,來控制存儲(chǔ)裝置102 的存取操作。ECC引擎116對存儲(chǔ)在存儲(chǔ)裝置102中的數(shù)據(jù)進(jìn)行誤差檢查及校正。緩沖器 114可以是用來緩沖數(shù)據(jù)的任何類型的存儲(chǔ)裝置,例如,動(dòng)態(tài)隨機(jī)存儲(chǔ)器(dynamic random access memory,以下簡稱為DRAM)。時(shí)鐘控制器115從時(shí)鐘源117接收振蕩信號(hào),且產(chǎn)生 用于控制器101中的模塊的時(shí)鐘信號(hào)。應(yīng)注意,時(shí)鐘源117可以是任何類型的振蕩器或時(shí) 鐘產(chǎn)生源,且對于不同模塊,時(shí)鐘信號(hào)可以有不同的頻率。因此,本發(fā)明并不僅限于此。主 機(jī)接口 111、處理器112、閃存控制器113、緩沖器114、以及ECC引擎116根據(jù)時(shí)鐘信號(hào)而運(yùn) 行。根據(jù)本發(fā)明的實(shí)施方式,控制器101可以進(jìn)一步包含監(jiān)控模塊120。監(jiān)控模塊 120用于監(jiān)控用于存儲(chǔ)裝置102的存取要求以及存取命令,決定存取要求以及存取命令的 特性,來估計(jì)存儲(chǔ)裝置102的工作負(fù)荷,以及產(chǎn)生時(shí)鐘控制信號(hào),以根據(jù)已估計(jì)出的工作負(fù) 荷來調(diào)整時(shí)鐘信號(hào)的頻率。舉例而言,監(jiān)控模塊120可以決定存取要求以及存取命令將會(huì)使存儲(chǔ)裝置102處于重工作負(fù)荷(heavywork load)還是處于輕工作負(fù)荷(light work load),以及根據(jù)決定結(jié)果產(chǎn)生時(shí)鐘控制信號(hào),來調(diào)整時(shí)鐘信號(hào)的頻率。需注意,時(shí)鐘控制信 號(hào)也可以根據(jù)已估計(jì)出的工作負(fù)荷而由處理器112產(chǎn)生,本發(fā)明并不僅限于此。時(shí)鐘控制 器115根據(jù)時(shí)鐘控制信號(hào)來產(chǎn)生時(shí)鐘信號(hào),以根據(jù)已估計(jì)出的工作負(fù)荷來增大或者減小時(shí) 鐘頻率。當(dāng)決定出存儲(chǔ)裝置102是處于重工作負(fù)荷時(shí),可以增大時(shí)鐘頻率,來快速的響應(yīng)存 取要求。當(dāng)決定出存儲(chǔ)裝置102是處于輕工作負(fù)荷時(shí),可以減小時(shí)鐘頻率,來節(jié)省功率。
根據(jù)本發(fā)明的實(shí)施方式,監(jiān)控模塊120可以由軟件、固件、硬件或其任何組合來實(shí) 現(xiàn)。在本發(fā)明的不同實(shí)施方式之中,監(jiān)控模塊120也可以設(shè)置在處理器112的外部。圖2 是根據(jù)本發(fā)明另一實(shí)施方式的SSD驅(qū)動(dòng)器200的示意圖。為簡潔起見,這里不再贅述控制 器201的細(xì)節(jié),相關(guān)部分請參考上述對圖1中控制器101的描述。根據(jù)本發(fā)明的實(shí)施方式, 控制器201包含主機(jī)工作負(fù)荷監(jiān)控模塊130以及閃存工作負(fù)荷監(jiān)控模塊140。主機(jī)工作負(fù) 荷監(jiān)控模塊130耦接于主機(jī)接口 111,來監(jiān)控通過主機(jī)103所分配的任務(wù),以及相應(yīng)的估計(jì) 存儲(chǔ)裝置102的工作負(fù)荷。閃存工作負(fù)荷監(jiān)控模塊140耦接于閃存控制器113,來監(jiān)控存 儲(chǔ)裝置102的操作,以及相應(yīng)的估計(jì)工作負(fù)荷。在本發(fā)明的實(shí)施方式中,主機(jī)工作負(fù)荷監(jiān)控 模塊130或閃存工作負(fù)荷監(jiān)控模塊140可以產(chǎn)生時(shí)鐘控制信號(hào),以根據(jù)已估計(jì)出的工作負(fù) 荷來調(diào)整時(shí)鐘信號(hào)的頻率。然而,需注意時(shí)鐘控制信號(hào)也可以根據(jù)已估計(jì)出的工作負(fù)荷而 由處理器122來產(chǎn)生,因此,本發(fā)明并不僅限于此。根據(jù)本發(fā)明的實(shí)施方式,主機(jī)工作負(fù)荷 監(jiān)控模塊130以及閃存工作負(fù)荷監(jiān)控模塊140也可以由軟件、固件、硬件或其任何組合來實(shí) 現(xiàn)。圖3是根據(jù)本發(fā)明另一實(shí)施方式的控制SSD驅(qū)動(dòng)器操作頻率的方法的流程圖。當(dāng) 接收對應(yīng)存取操作的至少一個(gè)存取命令時(shí),監(jiān)控模塊120 (或者主機(jī)工作負(fù)荷監(jiān)控模塊130 及/或閃存工作負(fù)荷監(jiān)控模塊140)根據(jù)存取操作的特性來估計(jì)存儲(chǔ)裝置102的工作負(fù)荷 (步驟S301)。根據(jù)本發(fā)明的實(shí)施方式,可以根據(jù)來自主機(jī)103的存取要求或用于存儲(chǔ)裝置 102的存取命令來估計(jì)存取操作的特性。下文將會(huì)更詳細(xì)的描述估計(jì)工作負(fù)荷的方法的實(shí) 施方式。在估計(jì)工作負(fù)荷之后,可以根據(jù)已估計(jì)出的工作負(fù)荷來調(diào)整SSD驅(qū)動(dòng)器的操作頻 率(步驟S302)。通過適應(yīng)的調(diào)整SSD驅(qū)動(dòng)器的操作頻率,可以提供不同的存取速率來存取 存儲(chǔ)裝置,以更有效率地存取存儲(chǔ)裝置。根據(jù)本發(fā)明的實(shí)施方式,當(dāng)已估計(jì)出的工作負(fù)荷低于預(yù)定低閾值時(shí),決定出存儲(chǔ) 裝置102是處于輕工作負(fù)荷的,且可以減小控制器101及/或控制器201中模塊的操作頻 率,來節(jié)省功率消耗。在本發(fā)明的實(shí)施方式中,時(shí)鐘控制器115可以根據(jù)時(shí)鐘控制信號(hào)來減 小時(shí)鐘信號(hào)的頻率,從而減小處理器112、閃存控制器113、緩沖器114及/或ECC引擎116 的操作頻率。另一方面,當(dāng)存儲(chǔ)裝置102的已估計(jì)出的工作負(fù)荷超出預(yù)定高閾值時(shí),決定出 存儲(chǔ)裝置102是處于重工作負(fù)荷的,且可以增大控制器101及/或控制器201中模塊的操 作頻率,來使控制器101及/或控制器201更快的響應(yīng)存取要求。在本發(fā)明的實(shí)施方式中, 時(shí)鐘控制器115可以根據(jù)時(shí)鐘控制信號(hào)來增大時(shí)鐘信號(hào)的頻率,從而增大處理器112、閃存 控制器113、緩沖器114及/或ECC引擎116的操作頻率。圖4是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。根據(jù)本發(fā)明 的實(shí)施方式,在接收存取命令及/或存取要求之后,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模 塊130決定耦接于主機(jī)103與控制器101之間的傳輸接口(例如,圖1中所示的傳輸接口300)的傳輸速率(步驟S401),且根據(jù)傳輸速率來估計(jì)工作負(fù)荷。根據(jù)本發(fā)明的實(shí)施方式, 傳輸接口 300可以是串行高級(jí)技術(shù)附件(Serial Advanced Technology Attachment,以下 簡稱為SATA)傳輸接口。主機(jī)接口 111可以通過與主機(jī)103的握手程序來獲得關(guān)于傳輸接 口 300的傳輸速率信息,且因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以從主機(jī)接 口 111獲得信息。當(dāng)決定傳輸接口具有較高的傳輸速率(例如對于SATA而言,傳輸速率為3Gbit/s 或更高)時(shí)(步驟S402),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定對應(yīng)的來 自主機(jī)103的存取要求可以使存儲(chǔ)裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī) 工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控制器201中的模塊提供高頻時(shí)鐘(fast clock)(步驟S403)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控 模塊130可以產(chǎn)生時(shí)鐘控制信號(hào),來增大時(shí)鐘頻率。另一方面,當(dāng)決定傳輸接口是在較低的 傳輸速率(例如對于SATA而言,傳輸速率為1. 5Gbit/s)下運(yùn)行時(shí)(步驟S402),監(jiān)控模塊 120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定來自主機(jī)103的對應(yīng)的存取要求可能并沒有使 存儲(chǔ)裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決 定為控制器101或控制器201中的模塊提供低頻時(shí)鐘(slowclock)(步驟S404)。根據(jù)本 發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信 號(hào),來減小時(shí)鐘頻率。圖5是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。根據(jù)本發(fā)明的 實(shí)施方式,在接收存取命令及/或存取要求之后,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊 130決定連續(xù)存取命令/存取要求之間的時(shí)間間隔T (步驟S501),且根據(jù)此時(shí)間間隔T的 長度來估計(jì)工作負(fù)荷。監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以根據(jù)連續(xù)存取命 令/存取要求的 開始時(shí)間以及結(jié)束時(shí)間來估計(jì)時(shí)間間隔T。舉例而言,根據(jù)定時(shí)器118,監(jiān) 控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以在前存取命令及/或存取要求結(jié)束時(shí)記錄時(shí) 間Te,以及在現(xiàn)存取命令及/或存取要求開始時(shí)記錄時(shí)間Ts。監(jiān)控模塊120或主機(jī)工作負(fù) 荷監(jiān)控模塊130可以進(jìn)一步?jīng)Q定時(shí)間間隔T = (Ts-Te)是否小于預(yù)期命令周期Tpl (步驟
5502)。當(dāng)(T < Tpl)時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定頻繁產(chǎn)生 的存取命令/存取要求可以使存儲(chǔ)裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī) 工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控制器201中的模塊提供高頻時(shí)鐘(步驟
5503)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以 產(chǎn)生時(shí)鐘控制信號(hào),來增大頻率頻率。另一方面,當(dāng)(T>=Tpl)時(shí),監(jiān)控模塊120或主機(jī) 工作負(fù)荷監(jiān)控模塊130可以決定存取命令/存取要求可能并沒有使存儲(chǔ)裝置102處于重工 作負(fù)荷。因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控制 器201中的模塊提供低頻時(shí)鐘(步驟S504)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120 或主機(jī)工作負(fù)荷監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信號(hào),來減小時(shí)鐘頻率。圖6是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。根據(jù)本發(fā)明 的實(shí)施方式,在接收存取命令及/或存取要求之后,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模 塊130決定連續(xù)數(shù)據(jù)傳輸之間的時(shí)間間隔Td(步驟S601),以及決定時(shí)間間隔Td是否小 于期望的數(shù)據(jù)傳輸周期Τρ2(步驟S602),以根據(jù)時(shí)間間隔的長度來估計(jì)工作負(fù)荷。當(dāng)(Td< Tp2)時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定對應(yīng)的存取命令及/或存 取要求可以使存儲(chǔ)裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模 塊130可以決定為控制器101或控制器201中的模塊提供高頻時(shí)鐘(步驟S603)。根據(jù)本 發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信 號(hào),來增大時(shí)鐘頻率。另一方面,當(dāng)(Td>=Tp2)時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模 塊130可以決定存取命令及/或存取要求可能并沒有使存儲(chǔ)裝置102處于重工作負(fù)荷。因 此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控制器201中的 模塊提供低頻時(shí)鐘(步驟S604)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工 作負(fù)荷監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信號(hào),來減小時(shí)鐘頻率。圖7是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。根據(jù)本發(fā)明的 實(shí)施方式,在接收存取命令及/或存取要求之后,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊 130決定存取命令/存取要求的傳輸模式(步驟S701),以及根據(jù)傳輸模式來估計(jì)工作負(fù) 荷。根據(jù)本發(fā)明的實(shí)施方式,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定傳輸模 式是可編程的輸入/輸出(Programmedinput/output,以下簡稱為ΡΙ0)模式或是直接存儲(chǔ) 器存取(Direct Memory Access,以下簡稱為DMA)模式(步驟S702)。
DMA是現(xiàn)代計(jì)算機(jī)以及微處理器的特征,其允許主機(jī)內(nèi)的特定硬件子系統(tǒng)來存取 存儲(chǔ)裝置,以無需依賴中央處理單元(例如,處理器112以及處理器122)而獨(dú)立的進(jìn)行讀 及/或?qū)憽R虼?,DMA是一種適合快速的傳輸大量數(shù)據(jù),而無需中斷當(dāng)前系統(tǒng)進(jìn)程的技術(shù)。 根據(jù)本發(fā)明的實(shí)施方式,當(dāng)傳輸模式為DMA時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130 可以決定存取命令/存取要求可以使存儲(chǔ)裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120 或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控制器201中的模塊提供高頻時(shí) 鐘(步驟S703)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊 130可以產(chǎn)生時(shí)鐘控制信號(hào),來增大時(shí)鐘頻率。另一方面,PIO是在中央處理單元(例如,處 理器112以及處理器122)與外圍設(shè)備(peripheral)(例如,存儲(chǔ)裝置)之間傳輸數(shù)據(jù)的特 征。因此PIO的傳輸速率低于DMA的傳輸速率。當(dāng)傳輸模式為PIO時(shí),監(jiān)控模塊120或主 機(jī)工作負(fù)荷監(jiān)控模塊130可以決定存取命令/存取要求可能并沒有使存儲(chǔ)裝置102處于重 工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控 制器201中的模塊提供低頻時(shí)鐘(步驟S704)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊 120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信號(hào),來減小時(shí)鐘頻率。圖8是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。根據(jù)本發(fā)明的 實(shí)施方式,在接收存取命令及/或存取要求之后,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊 130決定存取命令/存取要求的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)大小(步驟S801),以及決定此數(shù)據(jù)大小是 否大于預(yù)定閾值(步驟S802),根據(jù)此數(shù)據(jù)大小來估計(jì)工作負(fù)荷。當(dāng)數(shù)據(jù)大小大于預(yù)定閾值 時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定存取命令/存取要求可以使存儲(chǔ) 裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定為 控制器101或控制器201中的模塊提供高頻時(shí)鐘(步驟S803)。根據(jù)本發(fā)明的實(shí)施方式, 必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信號(hào),來增大時(shí)鐘頻 率。另一方面,當(dāng)數(shù)據(jù)大小不大于預(yù)定閾值時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130 可以決定存取命令及/或存取要求可能并沒有使存儲(chǔ)裝置102處于重工作負(fù)荷。因此,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130可以決定為控制器101或控制器201中的模塊提 供低頻時(shí)鐘(步驟S804)。根據(jù)本發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或主機(jī)工作負(fù)荷 監(jiān)控模塊130可以產(chǎn)生時(shí)鐘控制信號(hào),來減小時(shí)鐘頻率。根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,監(jiān)控模塊120或主機(jī)工作負(fù)荷監(jiān)控模塊130也可 以根據(jù)由主機(jī)103的應(yīng)用程序所輸出的指示信號(hào)來估計(jì)工作負(fù)荷。應(yīng)用程序可以是軟件或 固件程序,來監(jiān)視主機(jī)103的存取要求的傳輸速率需求,以及預(yù)先通知控制器101或控制器 201,使其根據(jù)傳輸速率需求來調(diào)整時(shí)鐘頻率。圖9是根據(jù)本發(fā)明另一實(shí)施方式的估計(jì)工作負(fù)荷的方法的流程圖。根據(jù)本發(fā)明的 實(shí)施方式,監(jiān)控模塊120或閃存工作負(fù)荷監(jiān)控模塊140可以監(jiān)控存儲(chǔ)裝置102的工作負(fù)荷 (步驟S901),以及決定存儲(chǔ)裝置102是否進(jìn)入繁忙狀態(tài)(步驟S902)。監(jiān)控模塊120或閃 存工作負(fù)荷監(jiān)控模塊140可以根據(jù)已接收的存取命令來決定存儲(chǔ)裝置102是否繁忙。舉例 而言,當(dāng)程序化存儲(chǔ)裝置102時(shí),可以決定存儲(chǔ)裝置102已進(jìn)入繁忙狀態(tài)。在此繁忙狀態(tài)中, 存儲(chǔ)裝置102可能無法及時(shí)的響應(yīng)存取命令。因此,監(jiān)控模塊120或閃存工作負(fù)荷監(jiān)控模 塊140可以決定為控制器101或控制器201中的模塊提供低頻時(shí)鐘(步驟S903)。根據(jù)本 發(fā)明的實(shí)施方式,必要時(shí),監(jiān)控模塊120或閃存工作負(fù)荷監(jiān)控模塊140可以產(chǎn)生時(shí)鐘控制信 號(hào),來減小時(shí)鐘頻率。根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,也可以關(guān)閉一些模塊(例如,通過將 模塊的操作頻率調(diào)整到零來關(guān)閉此模塊),來進(jìn)一步的節(jié)省功率消耗。舉例而言,當(dāng)決定存 儲(chǔ)裝置102已進(jìn)入繁忙狀態(tài)時(shí),可以減小閃存控制器113、緩沖器114以及ECC引擎116的 操作頻率,來提供低頻時(shí)鐘服務(wù),或甚至將其設(shè)置為零,來節(jié)省功率。另一方面,當(dāng)決定存儲(chǔ) 裝置102沒有進(jìn)入繁忙狀態(tài)時(shí),監(jiān)控模塊120或閃存工作負(fù)荷監(jiān)控模塊140可以決定為控 制器101或控制器201中的模塊提供高頻時(shí)鐘(步驟S904)。根據(jù)本發(fā)明的實(shí)施方式,必要 時(shí),監(jiān)控模塊120或閃存工作負(fù)荷監(jiān)控模塊140可以產(chǎn)生時(shí)鐘控制信號(hào),來增大時(shí)鐘頻率。根據(jù)本發(fā)明的實(shí)施方式,根據(jù)不同工作負(fù)荷可適應(yīng)的調(diào)整時(shí)鐘的頻率(低頻時(shí)鐘 或高頻時(shí)鐘),可以避免非必要的功率消耗,因此可以使功率效率最大化。此外,對于重工作 負(fù)荷,可以進(jìn)一步增加存取速率,來改善SSD驅(qū)動(dòng)器的功能性。因此,與現(xiàn)有技術(shù)相比,本發(fā) 明可以改善SSD驅(qū)動(dòng)器的整體性能。以上所述僅為本發(fā)明的較佳實(shí)施方式,凡依據(jù)本發(fā)明權(quán)利要求所做的均等變化與 修飾,都應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
一種固態(tài)硬盤驅(qū)動(dòng)器,包含存儲(chǔ)裝置,包含用于存儲(chǔ)數(shù)據(jù)位的多個(gè)存儲(chǔ)單元;以及控制器,耦接于該存儲(chǔ)裝置,根據(jù)時(shí)鐘信號(hào)存取該存儲(chǔ)裝置,估計(jì)該存儲(chǔ)裝置的工作負(fù)荷,以及根據(jù)已估計(jì)出的該工作負(fù)荷來調(diào)整該時(shí)鐘信號(hào)的頻率。
2.根據(jù)權(quán)利要求1所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,當(dāng)該存儲(chǔ)裝置的已估計(jì)出的 該工作負(fù)荷低于預(yù)定低閾值時(shí),該控制器進(jìn)一步減小該時(shí)鐘信號(hào)的頻 率,以及當(dāng)該存儲(chǔ)裝 置的已估計(jì)出的該工作負(fù)荷超出預(yù)定高閾值時(shí),該控制器進(jìn)一步增大該時(shí)鐘信號(hào)的頻率。
3.根據(jù)權(quán)利要求1所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,該控制器耦接于主機(jī),該主機(jī) 輸出至少一個(gè)存取要求來存取該存儲(chǔ)裝置,且該控制器包含時(shí)鐘控制器,根據(jù)時(shí)鐘控制信號(hào)產(chǎn)生該時(shí)鐘信號(hào);處理器,接收該至少一個(gè)存取要求以及產(chǎn)生至少一個(gè)存取命令,來相應(yīng)的存取該存儲(chǔ) 裝置,其中,該處理器根據(jù)該時(shí)鐘信號(hào)來運(yùn)行;以及監(jiān)控模塊,用于監(jiān)控該至少一個(gè)存取要求以及該至少一個(gè)存取命令,決定該至少一個(gè) 存取要求以及該至少一個(gè)存取命令的特性,以估計(jì)該工作負(fù)荷,以及產(chǎn)生該時(shí)鐘控制信號(hào), 以根據(jù)已估計(jì)出的該工作負(fù)荷來調(diào)整該時(shí)鐘信號(hào)的頻率。
4.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,該監(jiān)控模塊進(jìn)一步估計(jì)該至 少一個(gè)存取要求及/或該至少一個(gè)存取命令的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)大小,以及根據(jù)該數(shù)據(jù)大小 來估計(jì)該工作負(fù)荷。
5.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,當(dāng)該主機(jī)輸出該至少一個(gè)存 取要求時(shí),該監(jiān)控模塊進(jìn)一步從該主機(jī)接收指示信號(hào),以及產(chǎn)生該時(shí)鐘控制信號(hào),以根據(jù)該 指示信號(hào)調(diào)整該時(shí)鐘信號(hào)的頻率,且該指示信號(hào)由該主機(jī)所產(chǎn)生,以指示對應(yīng)于該至少一 個(gè)存取要求的傳輸速率需求。
6.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,根據(jù)已估計(jì)出的該工作負(fù)荷, 該監(jiān)控模塊進(jìn)一步?jīng)Q定該存儲(chǔ)裝置是否繁忙,以及當(dāng)決定出該存儲(chǔ)裝置繁忙時(shí),產(chǎn)生該時(shí) 鐘控制信號(hào),以減小該時(shí)鐘信號(hào)的頻率。
7.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,該監(jiān)控模塊進(jìn)一步?jīng)Q定耦接 于該主機(jī)與該控制器之間的傳輸接口的傳輸速率,以及根據(jù)該傳輸速率來估計(jì)該工作負(fù) 荷
8.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,該監(jiān)控模塊進(jìn)一步?jīng)Q定多個(gè) 連續(xù)存取要求之間的時(shí)間間隔,以及根據(jù)該時(shí)間間隔的長度來估計(jì)該工作負(fù)荷。
9.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,該監(jiān)控模塊進(jìn)一步估計(jì)該存 儲(chǔ)裝置的多次連續(xù)數(shù)據(jù)傳輸之間的時(shí)間間隔,以及根據(jù)該時(shí)間間隔的長度來估計(jì)該工作負(fù) 荷
10.根據(jù)權(quán)利要求3所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,該監(jiān)控模塊進(jìn)一步?jīng)Q定該至 少一個(gè)存取要求的傳輸模式,以及根據(jù)該傳輸模式來估計(jì)該工作負(fù)荷。
11.根據(jù)權(quán)利要求10所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,當(dāng)該傳輸模式被決定為可 編程的輸入/輸出模式時(shí),該監(jiān)控模塊產(chǎn)生該時(shí)鐘控制信號(hào),以減小該時(shí)鐘信號(hào)的頻率。
12.根據(jù)權(quán)利要求10所述的固態(tài)硬盤驅(qū)動(dòng)器,其特征在于,當(dāng)該傳輸模式被決定為直 接存儲(chǔ)器存取模式時(shí),該監(jiān)控模塊產(chǎn)生該時(shí)鐘控制信號(hào),以增大該時(shí)鐘信號(hào)的頻率。
13.一種操作頻率控制方法,用于控制固態(tài)硬盤驅(qū)動(dòng)器的操作頻率,該操作頻率控制方 法包含根據(jù)存儲(chǔ)裝置的至少一個(gè)存取操作的特性,來估計(jì)該存儲(chǔ)裝置的工作負(fù)荷;以及 根據(jù)已估計(jì)出的該工作負(fù)荷來調(diào)整該固態(tài)硬盤驅(qū)動(dòng)器的該操作頻率,其中,當(dāng)該存儲(chǔ) 裝置的已估計(jì)出的該工作負(fù)荷低于預(yù)定低閾值時(shí),減小該操作頻率,以及當(dāng)該存儲(chǔ)裝置的 已估計(jì)出的該工作負(fù)荷超出預(yù)定高閾值時(shí),增大該操作頻率。
14.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含 根據(jù)已估計(jì)出的該工作負(fù)荷,來決定該存儲(chǔ)裝置是否繁忙;以及當(dāng)決定出該存儲(chǔ)裝置繁忙時(shí),減小該操作頻率。
15.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含 決定耦接于主機(jī)與該固態(tài)硬盤驅(qū)動(dòng)器之間的傳輸接口的傳輸速率;以及 根據(jù)該傳輸速率來估計(jì)該工作負(fù)荷。
16.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含 決定多個(gè)連續(xù)存取要求之間的時(shí)間間隔;以及根據(jù)該時(shí)間間隔的長度來估計(jì)該工作負(fù)荷。
17.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含 估計(jì)該存儲(chǔ)裝置的多次連續(xù)數(shù)據(jù)傳輸之間的時(shí)間間隔;以及根據(jù)該時(shí)間間隔的長度來估計(jì)該工作負(fù)荷。
18.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含 決定至少一個(gè)存取要求的傳輸模式;以及根據(jù)該傳輸模式來估計(jì)該工作負(fù)荷。
19.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含 估計(jì)該存取操作的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)大??;以及根據(jù)該數(shù)據(jù)大小來估計(jì)該工作負(fù)荷。
20.根據(jù)權(quán)利要求13所述的操作頻率控制方法,其特征在于,進(jìn)一步包含接收與來自主機(jī)的存取要求所對應(yīng)的指示信號(hào),其中,該指示信號(hào)指示對應(yīng)于該存取 要求的傳輸速率需求;以及根據(jù)該指示信號(hào)來調(diào)整該操作頻率。
全文摘要
一種固態(tài)硬盤驅(qū)動(dòng)器以及操作頻率控制方法。所述固態(tài)硬盤驅(qū)動(dòng)器包含存儲(chǔ)裝置及控制器。存儲(chǔ)裝置包含用于存儲(chǔ)數(shù)據(jù)位的多個(gè)存儲(chǔ)單元;控制器耦接于存儲(chǔ)裝置,根據(jù)時(shí)鐘信號(hào)存取存儲(chǔ)裝置,估計(jì)存儲(chǔ)裝置的工作負(fù)荷,以及根據(jù)已估計(jì)出的工作負(fù)荷來調(diào)整時(shí)鐘信號(hào)的頻率。以上所述的固態(tài)硬盤驅(qū)動(dòng)器以及操作頻率控制方法可以根據(jù)系統(tǒng)工作負(fù)荷來控制SSD驅(qū)動(dòng)器的操作頻率,從而減小系統(tǒng)功率消耗,并改善系統(tǒng)的性能。
文檔編號(hào)G06F3/06GK101872288SQ20101013130
公開日2010年10月27日 申請日期2010年3月24日 優(yōu)先權(quán)日2009年4月24日
發(fā)明者王國鴻 申請人:聯(lián)發(fā)科技股份有限公司