專利名稱::支持硬盤最高傳輸速率的硬盤存取方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明是有關(guān)于一種硬盤存取方法及系統(tǒng),且特別是有關(guān)于一種支持硬盤最高傳輸速率的硬盤存取方法及系統(tǒng)。
背景技術(shù):
:隨著電子科技的進(jìn)步,手機(jī)、個(gè)人數(shù)字助理(PersonalDigitalAssistant,PDA)、筆記型計(jì)算機(jī)等不占空間且可隨身攜帶的移動(dòng)裝置也推陳出新。這些移動(dòng)裝置借助其輕薄短小的體積以及多元化的功能,逐漸獲得廣大使用者的青睞,一躍成為目前市場上最熱門的商品之一。搭配高速的處理器以及高容量的儲(chǔ)存媒體,這些移動(dòng)裝置能夠集合各項(xiàng)時(shí)尚的功能于一身,除了一般的照相、通話、上網(wǎng)功能外,現(xiàn)在連多媒體播放、游戲、導(dǎo)航等高階功能也都可以整合在移動(dòng)裝置上,因此能夠提供使用者更為便利且多樣化的功能。對(duì)于這類移動(dòng)裝置來說,其電力的供應(yīng)是非常重要的一環(huán)。為了讓系統(tǒng)在進(jìn)入閑置狀態(tài)時(shí)可以減少所消耗的功率,一般會(huì)進(jìn)入一個(gè)比較省電的中央處理單元增強(qiáng)電源模式(CPUEnhancedPowerMode)。在此模式下,位于控制器的鎖相回路(PhaseLockedLoop,PLL)將會(huì)被關(guān)閉,直到硬盤發(fā)出中斷(Interrupt)或是直接內(nèi)存存取(DirectMemoryAccess,DMA)的要求時(shí),控制器才會(huì)發(fā)出電源管理事件(PowerManagementEvent,PME)的信息,以喚醒中央處理單元。然而,在中央處理單元被喚醒之后,有可能會(huì)因?yàn)橛布O(shè)計(jì)上的缺陷,使控制器與硬盤之間傳輸信號(hào)的相位偏移,造成控制器的頻率信號(hào)無法正確地同步于硬盤的頻率信號(hào),而產(chǎn)生硬盤存取錯(cuò)誤的問題。此時(shí)就只能降低硬盤的傳輸速度以換取系統(tǒng)的穩(wěn)定。舉例來說,目前整合驅(qū)動(dòng)電子(IntegratedDriveElectronics,IDE)硬盤的標(biāo)準(zhǔn)規(guī)格可支持7個(gè)高速直接內(nèi)存存取(UltraDirectMemoryAccess,UDMA)模式,各個(gè)模式均對(duì)應(yīng)特定的傳輸速率(如下表1所示)。其中,傳輸速率由模式0至模式6逐漸升高,而以模式6的傳輸速率133MB/S為最高。<table>tableseeoriginaldocumentpage4</column></row><table>表1圖1所示為現(xiàn)有硬盤存取方法的示意圖。請(qǐng)參照?qǐng)D1,假設(shè)目前使用的硬盤可支持的最高傳輸速率為模式5的ΙΟΟΜΒ/s,在系統(tǒng)進(jìn)入省電模式之后,若欲再次喚醒系統(tǒng)來存取硬盤時(shí),就有可能發(fā)生控制器與硬盤間傳輸信號(hào)的相位偏移。由于控制器與硬盤需要運(yùn)作于同步存取的環(huán)境,所以,此時(shí)可以通過同時(shí)降低硬盤與控制器的傳輸速率來換取系統(tǒng)的穩(wěn)定性,例如從模式5降到模式4,以對(duì)硬盤執(zhí)行數(shù)據(jù)讀取或是寫入。然而,這樣的作法將會(huì)犧牲掉硬盤可支持的最高傳輸速率(例如傳輸速率模式5的133MB/S)。也就是說,在控制器讀取數(shù)據(jù)時(shí),硬盤原本可以以傳輸速率模式5的方式進(jìn)行,但是基于相位偏移的考慮,所以只能以傳輸速率模式4的方式進(jìn)行,而造成系統(tǒng)整體的效能下降。
發(fā)明內(nèi)容為解決上述問題,本發(fā)明提供一種支持硬盤最高傳輸速率的硬盤存取方法及系統(tǒng),利用軟件方式造就出異步存取環(huán)境,可維持硬盤最高速率的存取。適應(yīng)性調(diào)整控制器存取硬盤的頻率信號(hào),可在不影響硬盤最高傳輸速率的情況下,正常地讀取及存取硬盤數(shù)據(jù)。本發(fā)明提出一種支持硬盤最高傳輸速率的硬盤存取方法,用于由一控制器存取一硬盤的數(shù)據(jù),其中該控制器及該硬盤均支持多個(gè)傳輸速率,該硬盤存取方法包括下列步驟取得該硬盤最高所能支持的一最高傳輸速率;以及該控制器以不小于該最高傳輸速率的傳輸速率,且維持該硬盤的傳輸速率于該最高傳輸速率,以讀取該硬盤的數(shù)據(jù)。取得該硬盤最高所能支持的該最高傳輸速率的步驟包括于一主機(jī)開機(jī)時(shí)發(fā)送一識(shí)別指令給該硬盤,以詢問該硬盤最高所能支持的該最高傳輸速率。在取得該硬盤最高所能支持的該最高傳輸速率的步驟之后,還包括判斷該最高傳輸速率是否等于一預(yù)設(shè)傳輸速率;以及若等于該預(yù)設(shè)傳輸速率,填入比該預(yù)設(shè)傳輸速率低的傳輸速率于該控制器的一模式控制緩存器中,并宣告一進(jìn)階電源接口原始語言碼,以將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。在填入比該預(yù)設(shè)傳輸速率低的傳輸速率以及宣告該進(jìn)階電源接口原始語言碼的步驟之后,還包括該操作系統(tǒng)進(jìn)入一電源管理模式;由該控制器接收該硬盤發(fā)出的一存取信號(hào);由該控制器發(fā)送一電源管理事件至一電源管理單元,以喚醒一處理器;以及回復(fù)該操作系統(tǒng)為一正常操作模式。該控制器以不小于該最高傳輸速率的傳輸速率來讀取該硬盤的數(shù)據(jù)的步驟包括該控制器忽略模式控制緩存器中的數(shù)值對(duì)控制器的控制。維持該硬盤的傳輸速率于該最高傳輸速率以讀取該硬盤的數(shù)據(jù)的步驟包括將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。降低該控制器的傳輸速率至比該最高傳輸速率低的傳輸速率,并維持該硬盤的傳輸速率于該最高傳輸速率,以寫入數(shù)據(jù)于該硬盤。降低該控制器的傳輸速率至比該最高傳輸速率低的傳輸速率,并維持該硬盤的傳輸速率于該最高傳輸速率,以寫入數(shù)據(jù)于該硬盤的步驟包括降低該控制器的傳輸速率至比該最高傳輸速率低一階的傳輸速率,其中該控制器與該硬盤支持多階傳輸速率。本發(fā)明還公開了一種支持硬盤最高傳輸速率的硬盤存取系統(tǒng),包括一硬盤,支持多個(gè)傳輸速率,包括其最高所能支持的一最高傳輸速率;以及一控制器,支持該些傳輸速率,通過一傳輸接口連接至該硬盤,用以取得該硬盤最高所能支持的該最高傳輸速率,其中該控制器以不小于該最高傳輸速率的傳輸速率,且維持該硬盤的傳輸速率于該最高傳輸速率,以通過該控制器讀取該硬盤的數(shù)據(jù)。于一主機(jī)開機(jī)時(shí),通過該控制器發(fā)送一識(shí)別指令給該硬盤,以詢問該硬盤最高所能支持的該最高傳輸速率。一模式控制緩存器配置于一控制器中,其中該系統(tǒng)判斷該最高傳輸速率是否等于一預(yù)設(shè)傳輸速率,而在該最高傳輸速率等于該預(yù)設(shè)傳輸速率時(shí),填入比該預(yù)設(shè)傳輸速率低的傳輸速率于該模式控制緩存器中,并宣告一進(jìn)階電源接口原始語言碼,以將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。該控制器以不小于該最高傳輸速率的傳輸速率以讀取該硬盤的數(shù)據(jù)包括該控制器忽略模式控制緩存器中的數(shù)值對(duì)控制器的控制。維持該硬盤的傳輸速率于該最高傳輸速率以讀取該硬盤的數(shù)據(jù)包括將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。該控制器以比該最高傳輸速率低的傳輸速率,并維持該硬盤的傳輸速率于該最高傳輸速率,以通過該控制器寫入數(shù)據(jù)于該硬盤。降低該控制器的傳輸速率至比該最高傳輸速率低的傳輸速率包括降低該控制器的傳輸速率為比該最高傳輸速率低一階的傳輸速率,其中該控制器與該硬盤支持多階傳輸速率。維持該硬盤的傳輸速率于該最高傳輸速率,以讀取該硬盤的數(shù)據(jù)包括將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)?;谏鲜?,本發(fā)明支持硬盤最高傳輸速率的硬盤存取方法及系統(tǒng)藉由適應(yīng)性提高控制器存取硬盤的頻率以支持硬盤最高傳輸速率,而能夠正常地自硬盤讀取數(shù)據(jù)。此外,藉由適應(yīng)性將控制器存取硬盤的頻率降低至比硬盤更低的傳輸速率,而能夠正常地將數(shù)據(jù)寫入硬盤。藉由上述的軟件方式即可造就出異步存取環(huán)境,而能夠維持硬盤最高傳輸速率的存取。圖1為現(xiàn)有硬盤存取方法的示意圖;圖2是依照本發(fā)明一實(shí)施例所示的支持硬盤最高傳輸速率的硬盤存取方法流程圖;圖3是依照本發(fā)明一實(shí)施例所示的支持硬盤最高傳輸速率的硬盤存取方法流程圖;圖4是依照本發(fā)明一實(shí)施例所示的支持硬盤最高傳輸速率的硬盤存取方法的范例;圖5是依照本發(fā)明一實(shí)施例所示的支持硬盤最高傳輸速率的硬盤存取系統(tǒng)方塊圖。其中,附圖標(biāo)記500硬盤存取系統(tǒng)510主機(jī)512處理器514控制器516模式控制緩存器520硬盤530:傳輸接口S202S206本發(fā)明一實(shí)施例的支持硬盤最高傳輸速率的硬盤存取方法的各步驟S302S320本發(fā)明一實(shí)施例的支持硬盤最高傳輸速率的硬盤存取方法的各步驟具體實(shí)施例方式一般而言,控制器(例如硬盤控制器)在存取硬盤時(shí),都必須是在同步存取的環(huán)境進(jìn)行,亦即控制器的頻率信號(hào)與硬盤的頻率信號(hào)同步。為了避免信號(hào)產(chǎn)生相位偏移,以往都是以控制器與硬盤一起降低傳輸速率的方式來解決。本發(fā)明利用軟件的方式造就出異步存取的環(huán)境,來解決上述相位偏移的問題。所謂“異步存取的環(huán)境”是指在讀取數(shù)據(jù)時(shí),控制器可以不小于硬盤可支持的最高傳輸速率的傳輸速率(例如硬盤標(biāo)準(zhǔn)規(guī)格中的最高傳輸速率、或是與硬盤可支持的最高傳輸速率相同的傳輸速率),對(duì)硬盤進(jìn)行讀取,而不再受限于寫入“模式控制緩存器”中的數(shù)值對(duì)于控制器的傳輸速率的控制;在寫入數(shù)據(jù)時(shí),則是藉由寫入“模式控制緩存器”中的數(shù)值,將控制器存取硬盤的頻率降低至比硬盤原本傳輸速率低的傳輸速率。據(jù)此,相較于以往的方式,不僅硬盤可繼續(xù)維持原本的可支持的最高傳輸速率,以進(jìn)行數(shù)據(jù)讀取及寫入,也可避免傳輸信號(hào)發(fā)生相位偏移的情況。為了使本發(fā)明的內(nèi)容更為明了,以下特舉實(shí)施例作為本發(fā)明確實(shí)能夠據(jù)以實(shí)施的范例。圖2是依照本發(fā)明一實(shí)施例所示的支持硬盤最高傳輸速率的硬盤存取方法流程圖。請(qǐng)參照?qǐng)D2,本實(shí)施例適于由控制器存取硬盤的數(shù)據(jù),此控制器及硬盤例如是支持如表1所示的多階傳輸速率。其中,所述控制器例如是位于南北橋整合的芯片組中或是南橋芯片組中,而硬盤可配置于主機(jī)(例如手機(jī)、個(gè)人數(shù)字助理或筆記型計(jì)算機(jī)等移動(dòng)裝置)內(nèi)或是連接于主機(jī)之外。配置于主機(jī)內(nèi)的硬盤例如是整合驅(qū)動(dòng)電子(IntegratedDriveElectronics,IDE)硬盤,而連接于主機(jī)的外部的硬盤例如可藉由傳輸接口轉(zhuǎn)換而由控制器所控制的外接式硬盤,本實(shí)施例不限制其范圍。首先,主機(jī)在開機(jī)時(shí),會(huì)先去取得硬盤最高所能支持的傳輸速率(步驟S202)。詳細(xì)地說,主機(jī)在其基本輸入/輸出系統(tǒng)(BasicInput/OutputSystem,BIOS)執(zhí)行開機(jī)自我測試(Power-OnSelfTest,POST)的過程中,會(huì)通過輸入/輸出端口(Input/OutputPort,10port)發(fā)出識(shí)別指令(IdentifyCommand)給硬盤,以詢問硬盤可支持的最高傳輸速率(例如傳輸速率模式5的133MB/S)。此可支持的最高傳輸速率將會(huì)由基本輸入/輸出系統(tǒng)利用宣告進(jìn)階電源接口原始語言(AdvancedConfiguration&PowerInterfaceSourceLanguage,ASL)碼的方式,告知操作系統(tǒng)此硬盤所能支持的最高傳輸速率。特別是,以往系統(tǒng)會(huì)參考寫入“模式控制緩存器”中的數(shù)值來告知操作系統(tǒng),進(jìn)而控制硬盤的傳輸速率;然而,在本發(fā)明中,是通過基本輸入/輸出系統(tǒng)告知操作系統(tǒng)詢問硬盤可支持的最高傳輸速率的結(jié)果,進(jìn)而控制硬盤的傳輸速率。在控制器與硬盤間傳輸信號(hào)有可能發(fā)生相位偏移的情況下,控制器在讀取硬盤時(shí),本發(fā)明根據(jù)控制器本身設(shè)計(jì)架構(gòu)的特性,可以忽略寫入“模式控制緩存器”中的數(shù)值對(duì)于控制器的傳輸速率的控制,而以不小于硬盤可支持的最高傳輸速率的傳輸速率,進(jìn)行讀取。也就是說,本發(fā)明的控制器可以以硬盤傳輸速率標(biāo)準(zhǔn)中最高的傳輸速率(例如高速直接內(nèi)存存取(UltraDirectMemoryAccess,UDMA)模式6的傳輸速率133MB/s),或是與硬盤可支持的最高傳輸速率相同的傳輸速率(例如傳輸速率模式5的133MB/S),對(duì)硬盤進(jìn)行數(shù)據(jù)讀取動(dòng)作。此時(shí),硬盤對(duì)于傳輸速率的設(shè)定仍可繼續(xù)維持在基本輸入/輸出系統(tǒng)告知操作系統(tǒng)的傳輸速率,即硬盤本身所能支持的最高傳輸速率(步驟S204)。詳細(xì)地說,在硬件設(shè)計(jì)上,上述控制器可支持硬盤傳輸速率標(biāo)準(zhǔn)各種傳輸速率。此外,對(duì)于本發(fā)明的控制器與硬盤而言,高頻率的裝置具有可兼容低頻率裝置且可向下讀取低頻率裝置信號(hào)的特性。因此,當(dāng)控制器在讀取硬盤時(shí),基于上述的特性,控制器可以以硬盤傳輸速率標(biāo)準(zhǔn)中的最高傳輸速率(例如模式6)、或是與硬盤可支持的最高傳輸速率相同的傳輸速率(例如模式5)進(jìn)行讀取;而對(duì)于硬盤而言,其對(duì)于傳輸速率的設(shè)定仍可繼續(xù)維持在基本輸入/輸出系統(tǒng)告知操作系統(tǒng)的傳輸速率,即硬盤本身所能支持的最高傳輸速率(例如模式5)。而且,基于上述的特性,控制器與硬盤之間并不會(huì)有相互沖突的問題。因此在本發(fā)明中,控制器可讀取較低傳輸速率的硬盤,而不會(huì)發(fā)生信號(hào)相位偏移的問題,且可將硬盤的傳輸速率繼續(xù)維持在硬盤所能支持的最高傳輸速率。另一方面,控制器在寫入硬盤時(shí),會(huì)將控制器本身的傳輸速率降低至比硬盤可支持的最高傳輸速率低的傳輸速率,同時(shí)也將硬盤對(duì)于傳輸速率的設(shè)定維持在硬盤本身所能支持的最高傳輸速率,進(jìn)而對(duì)硬盤進(jìn)行數(shù)據(jù)寫入動(dòng)作(步驟S206)。詳細(xì)地說,為了確保硬盤可以讀取到由控制器寫入的數(shù)據(jù),本實(shí)施例可將控制器的傳輸速率降低至比硬盤可支持的最高傳輸速率低一階或更低的傳輸速率(例如模式4),而同樣基于本發(fā)明的高頻率的裝置可讀取低頻率裝置信號(hào)的特性,硬盤在接收由控制器寫入的數(shù)據(jù)時(shí),也就不會(huì)發(fā)生信號(hào)相位偏移的問題,且可將硬盤的傳輸速率繼續(xù)維持在基本輸入/輸出系統(tǒng)告知操作系統(tǒng)的傳輸速率,即硬盤本身所能支持的最高傳輸速率(例如模式5)。藉由上述的硬盤存取方法,即可避免因控制器與硬盤間信號(hào)相位的不同步所造成硬盤存取錯(cuò)誤的情形。在此需強(qiáng)調(diào)的是,上述信號(hào)相位不同步的情形通常發(fā)生在系統(tǒng)進(jìn)入省電模式后再次喚醒處理器而處理器欲存取硬盤的情況下。針對(duì)此情況,本發(fā)明提供對(duì)應(yīng)的方法以正常地存取硬盤數(shù)據(jù),以下則再舉一實(shí)施例詳細(xì)說明。圖3是依照本發(fā)明一實(shí)施例所繪示的支持硬盤最高傳輸速率的硬盤存取方法流程圖。請(qǐng)參照?qǐng)D3,本實(shí)施例考慮系統(tǒng)執(zhí)行中央處理單元增強(qiáng)電源模式(CPUEnhancedPowerMode)等電源管理模式的情況,在確保硬盤維持最高傳輸速率的情況下,仍然能夠讓控制器(例如硬盤控制器)正常地存取硬盤數(shù)據(jù)。其中,所述控制器例如是位于南北橋整合的芯片組中或是南橋芯片組中,而硬盤可配置于主機(jī)(例如手機(jī)、個(gè)人數(shù)字助理或筆記型計(jì)算機(jī)等移動(dòng)裝置)內(nèi)或是連接于主機(jī)之外。配置于主機(jī)內(nèi)的硬盤例如是整合驅(qū)動(dòng)電子(IntegratedDriveElectronics,IDE)硬盤,而連接于主機(jī)的外部的硬盤例如可藉由傳輸接口轉(zhuǎn)換而由控制器所控制的外接式硬盤,本實(shí)施例不限制其范圍。首先,主機(jī)在其基本輸入/輸出系統(tǒng)執(zhí)行開機(jī)自我測試的過程中,通過輸入/輸出端口發(fā)出識(shí)別指令至硬盤,以取得硬盤所能支持的最高傳輸速率(步驟S302)。值得注意的是,為了避免系統(tǒng)進(jìn)出電源管理模式時(shí)產(chǎn)生信號(hào)相位偏移,本實(shí)施例針對(duì)系統(tǒng)有可能出現(xiàn)存取錯(cuò)誤的傳輸速率進(jìn)行限制,當(dāng)主機(jī)取得硬盤所能支持的最高傳輸速率時(shí),即會(huì)將此硬盤最高傳輸速率與預(yù)設(shè)傳輸速率比較,而判斷此硬盤最高傳輸速率是否等于預(yù)設(shè)傳輸速率(步驟S304)。其中,所述預(yù)設(shè)傳輸速率即是由業(yè)者先行測試,系統(tǒng)有可能出現(xiàn)存取錯(cuò)誤的傳輸速率。若硬盤可支持的最高傳輸速率剛好等于預(yù)設(shè)傳輸速率,則可藉由基本輸入/輸出系統(tǒng)(BIOS)使控制器的傳輸速率降低至比預(yù)設(shè)傳輸速率低一階或更低的傳輸速率(步驟S306),并在控制器所對(duì)應(yīng)的模式控制緩存器中填入此傳輸速率相對(duì)應(yīng)的數(shù)值,使其符合系統(tǒng)需求。而為了確保硬盤可以繼續(xù)維持在可支持的最高傳輸速率,基本輸入/輸出系統(tǒng)(BIOS)還會(huì)針對(duì)所取得的硬盤可支持的最高傳輸速率宣告一組進(jìn)階電源接口原始語言碼(ASL),藉以告知操作系統(tǒng)硬盤仍然能夠支持此最高傳輸速率(步驟S308)。若硬盤可支持的最高傳輸速率不等于預(yù)設(shè)傳輸速率,或是模式控制緩存器中已填入比預(yù)設(shè)傳輸速率低一階或更低的傳輸速率相對(duì)應(yīng)的數(shù)值之后,就不會(huì)有傳輸速度不同步的問題,此時(shí)當(dāng)操作系統(tǒng)閑置超過一預(yù)設(shè)時(shí)間時(shí),即會(huì)進(jìn)入電源管理模式(步驟S310),并等待下個(gè)事件以執(zhí)行下個(gè)動(dòng)作。其中,操作系統(tǒng)在進(jìn)入電源管理模式時(shí),例如會(huì)將控制器的鎖相回路(PhaseLockedLoop,PLL)關(guān)閉,藉以達(dá)到省電的功效。然而,在操作系統(tǒng)進(jìn)入電源管理模式的過程中,控制器仍會(huì)持續(xù)檢測并接收硬盤發(fā)出的存取信號(hào)(步驟S312)。此存取信號(hào)例如是中斷(Interrupt)信號(hào)或是直接內(nèi)存存取(DirectMemoryAccess,DMA)請(qǐng)求。而在接收到存取信號(hào)時(shí),控制器即會(huì)發(fā)送電源管理事件至主機(jī)的電源管理單元,藉以喚醒主機(jī)的處理器(步驟S314),并將操作系統(tǒng)回復(fù)為正常操作模式(步驟S316)。值得一提的是,在處理器被喚醒后,若硬盤可支持的最高傳輸速率等于預(yù)設(shè)傳輸速率,且主機(jī)欲讀取硬盤時(shí),會(huì)忽略寫入“模式控制緩存器”中的數(shù)值對(duì)于控制器的傳輸速率的控制,而以不小于硬盤可支持的最高傳輸速率的傳輸速率,進(jìn)行讀取。也就是說,本發(fā)明的控制器可以以硬盤傳輸速率標(biāo)準(zhǔn)中的最高傳輸速率(即模式6的傳輸速率133MB/S),或是與硬盤可支持的最高傳輸速率相同的傳輸速率(例如傳輸速率模式5的133MB/S),對(duì)硬盤進(jìn)行數(shù)據(jù)讀取動(dòng)作。此時(shí),硬盤對(duì)于傳輸速率的設(shè)定仍可繼續(xù)維持在基本輸入/輸出系統(tǒng)告知操作系統(tǒng)的傳輸速率,即硬盤本身所能支持的最高傳輸速率(步驟S318)。另一方面,控制器在寫入硬盤時(shí),會(huì)將控制器本身的傳輸速率降低至比硬盤可支持的最高傳輸速率低一階或更低的傳輸速率,同時(shí)也將硬盤對(duì)于傳輸速率的設(shè)定維持在硬盤本身所能支持的最高傳輸速率,進(jìn)而對(duì)硬盤進(jìn)行數(shù)據(jù)寫入動(dòng)作(步驟S320)。舉例來說,圖4是依照本發(fā)明一實(shí)施例所示的支持硬盤最高傳輸速率的硬盤存取方法的范例。請(qǐng)參照?qǐng)D4,本實(shí)施例假設(shè)目前使用的硬盤其可支持的最高傳輸速率為模式5的lOOMB/s,且系統(tǒng)會(huì)發(fā)生存取錯(cuò)誤的傳輸速率也是模式5的lOOMB/s。此外,系統(tǒng)進(jìn)入省電模式的預(yù)設(shè)傳輸速率為模式4的66.7MB/s。在上述條件下,當(dāng)主機(jī)取得硬盤最高所支持的傳輸速率(即模式5)時(shí),即會(huì)檢查其是否為可能發(fā)生存取錯(cuò)誤的傳輸速率,而由于硬盤最高所支持的傳輸速率剛好就是可能發(fā)生存取錯(cuò)誤的傳輸速率,此時(shí)主機(jī)會(huì)通過基本輸入/輸出系統(tǒng)(BIOS)將模式4對(duì)應(yīng)的數(shù)值寫入控制器所對(duì)應(yīng)的模式控制緩存器中,以符合系統(tǒng)進(jìn)入省電模式的條件并避開可能發(fā)生存取錯(cuò)誤的模式,同時(shí)由基本輸入/輸出系統(tǒng)宣告一組進(jìn)階電源接口原始語言碼,以告知操作系統(tǒng)硬盤仍能支持模式5,取代以往由模式控制緩存器中的數(shù)值來控制硬盤的傳輸速率的方式。據(jù)此,即可在維持硬盤傳輸速率為模式5的情況下,讓系統(tǒng)正常進(jìn)入省電模式(即模式4)。值得注意的是,在系統(tǒng)進(jìn)入省電模式之后,若欲再次喚醒處理器來讀取硬盤時(shí),為避免可能發(fā)生的信號(hào)相位偏移(若硬盤可支持的最高傳輸速率等于預(yù)設(shè)傳輸速率),此時(shí)由于本發(fā)明的控制器本身設(shè)計(jì)架構(gòu)的特性,可以忽略寫入模式控制緩存器中的數(shù)值對(duì)于控制器的傳輸速率的控制,所以控制器會(huì)以硬盤傳輸速率標(biāo)準(zhǔn)中最高的傳輸速率(例如模式6)、或是與硬盤可支持的最高傳輸速率相同的傳輸速率(例如模式5)進(jìn)行讀取。另一方面,由于基本輸入/輸出系統(tǒng)(BIOS)已告知操作系統(tǒng)硬盤仍然能夠支持此可支持的最高傳輸速率,所以硬盤的傳輸速率仍繼續(xù)維持在模式5的lOOMB/s。然后,由控制器對(duì)硬盤進(jìn)行數(shù)據(jù)讀取動(dòng)作,如此則可在維持硬盤最高速率傳輸?shù)那闆r下,正常地讀取硬盤中的數(shù)據(jù)并維持系統(tǒng)的穩(wěn)定性。另一方面,在系統(tǒng)進(jìn)入省電模式之后,若欲再次喚醒中央處理單元,并由控制器來寫入硬盤時(shí),為避免可能發(fā)生的信號(hào)相位偏移(若硬盤可支持的最高傳輸速率等于預(yù)設(shè)傳輸速率),此時(shí)系統(tǒng)會(huì)讀取控制器的模式控制緩存器的數(shù)值。由于模式控制緩存器中已填入比預(yù)設(shè)傳輸速率低一階或更低的傳輸速率相對(duì)應(yīng)的數(shù)值,所以對(duì)應(yīng)的控制器的傳輸速率會(huì)降低至模式4的66.7MB/S。再者,由于基本輸入/輸出系統(tǒng)(BIOS)已告知操作系統(tǒng)硬盤仍然能夠支持此可支持的最高傳輸速率,所以硬盤的傳輸速率仍繼續(xù)維持在模式5的100MB/S。然后,由控制器對(duì)硬盤進(jìn)行數(shù)據(jù)寫入動(dòng)作,如此則可在維持硬盤最高速率傳輸?shù)那闆r下,正常地將數(shù)據(jù)寫入硬盤并維持系統(tǒng)的穩(wěn)定性。藉由上述的硬盤存取方法,即使操作系統(tǒng)在進(jìn)入電源管理模式之后又回復(fù)為正常操作模式,仍可藉由適應(yīng)性調(diào)整控制器的傳輸速率,從而避免控制器與硬盤間信號(hào)發(fā)生相位偏移的情形,進(jìn)而增加系統(tǒng)的穩(wěn)定性。值得一提的是,針對(duì)上述的硬盤存取方法,本發(fā)明亦提供對(duì)應(yīng)的系統(tǒng)架構(gòu),藉由控制器(例如硬盤控制器)與硬盤間的溝通協(xié)調(diào),并適應(yīng)性調(diào)整記錄于模式控制緩存器中的傳輸速率數(shù)值,而能夠藉由此傳輸速率參數(shù)來存取硬盤的數(shù)據(jù)。以下則再舉一實(shí)施例詳細(xì)說明。圖5是依照本發(fā)明一實(shí)施例所繪示的支持硬盤最高傳輸速率的硬盤存取系統(tǒng)方塊圖。請(qǐng)參照?qǐng)D5,本實(shí)施例的硬盤存取系統(tǒng)500包括主機(jī)510、硬盤520及傳輸接口530。其中,主機(jī)510例如是手機(jī)、個(gè)人數(shù)字助理或筆記型計(jì)算機(jī)等移動(dòng)裝置,硬盤520例如是整合驅(qū)動(dòng)電子硬盤或是外接式硬盤,而傳輸接口530例如是整合驅(qū)動(dòng)電子接口或是可使外接式硬盤由主機(jī)510中的控制器514控制的傳輸轉(zhuǎn)換接口。在一實(shí)施例中,硬盤520與傳輸接口530可配置于主機(jī)510中,本實(shí)施例不限制其范圍。上述各個(gè)組件的詳細(xì)功能分述如下主機(jī)510例如是支持如表1所示標(biāo)準(zhǔn)規(guī)格中所有傳輸速率,而硬盤520例如是可支持這些傳輸速率的一部份,且包括支持一個(gè)最高傳輸速率。主機(jī)510包括處理器512及控制器514,而控制器514則包括模式控制緩存器516。其中,控制器514(例如是硬盤控制器),可通過傳輸接口530連接至硬盤520,而能夠取得硬盤520所能支持的最高傳輸速率。詳細(xì)地說,主機(jī)510在其基本輸入/輸出系統(tǒng)執(zhí)行開機(jī)自我測試的過程中,通過輸入/輸出端口發(fā)出識(shí)別指令,并通過傳輸接口530傳送至硬盤520,以詢問硬盤520的最高傳輸速率。在取得硬盤最高傳輸速率后,主機(jī)510將進(jìn)一步判斷此傳輸速率是否高于預(yù)設(shè)傳輸速率,而在此硬盤最高傳輸速率高于預(yù)設(shè)傳輸速率時(shí),將預(yù)設(shè)傳輸速率對(duì)應(yīng)的數(shù)值填入模式控制緩存器516中,并由其基本輸入/輸出系統(tǒng)宣告進(jìn)階電源接口原始語言碼,藉以將此硬盤最高傳輸速率告知主機(jī)510的操作系統(tǒng)。為了避免信號(hào)產(chǎn)生相位偏移,控制器514在讀取硬盤520數(shù)據(jù)時(shí),可以忽略寫入“模式控制緩存器516”中的數(shù)值對(duì)于控制器514的傳輸速率的控制,而以不小于硬盤可支持的最高傳輸速率的傳輸速率,進(jìn)行讀取。也就是說,本發(fā)明的控制器514可以以硬盤傳輸速率標(biāo)準(zhǔn)中的最高傳輸速率,或是與硬盤520可支持的最高傳輸速率相同的傳輸速率,對(duì)硬盤520進(jìn)行數(shù)據(jù)讀取動(dòng)作。此時(shí),硬盤520對(duì)于傳輸速率的設(shè)定仍可繼續(xù)維持在基本輸入/輸出系統(tǒng)告知操作系統(tǒng)的傳輸速率,即硬盤520本身所能支持的最高傳輸速率。另一方面,控制器514在寫入硬盤520時(shí),會(huì)將控制器514本身的傳輸速率降低為比硬盤最高傳輸速率低一階或更低的傳輸速率,同時(shí)也將硬盤520對(duì)于傳輸速率的設(shè)定維持在硬盤520本身所能支持的最高傳輸速率,進(jìn)而將對(duì)硬盤520進(jìn)行數(shù)據(jù)寫入動(dòng)作。上述硬盤存取系統(tǒng)架構(gòu)可以應(yīng)用在所有移動(dòng)裝置的系統(tǒng)上,而能夠在不犧牲硬盤讀取效能的情況下,以軟件的方式來支持信號(hào)可能發(fā)生相位偏移的情況。特別是,在硬盤的運(yùn)作上,對(duì)硬盤進(jìn)行讀取的次數(shù)明顯大于對(duì)硬盤進(jìn)行寫入的次數(shù),因此,本發(fā)明的控制器不受模式控制緩存器中的數(shù)值的影響,而使硬盤可以繼續(xù)維持在其所能支持的最高傳輸速率,進(jìn)而對(duì)硬盤進(jìn)行數(shù)據(jù)讀取動(dòng)作。此外,此硬盤存取系統(tǒng)更可支持中央處理單元增強(qiáng)電源模式等電源管理模式下的信號(hào)同步,其詳細(xì)的運(yùn)作流程可參考先前實(shí)施例中的說明,在此不再贅述。綜上所述,本發(fā)明支持硬盤最高傳輸速率的硬盤存取方法及系統(tǒng)藉由適應(yīng)性調(diào)整控制器本身的傳輸速率,同時(shí)維持硬盤的最高傳輸速率,即使移動(dòng)裝置從省電模式下回復(fù),依然可以支持硬盤最高傳輸速率的存取動(dòng)作,而維持系統(tǒng)的穩(wěn)定性。此外,利用軟件造就出異步存取環(huán)境的方式不但可以突破硬件的限制,也可以大幅減少硬件改動(dòng)所消耗的成本。雖然本發(fā)明已以實(shí)施例公開如上,但其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域:
的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與修改,故本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求書所界定者為準(zhǔn)。權(quán)利要求一種支持硬盤最高傳輸速率的硬盤存取方法,用于由一控制器存取一硬盤的數(shù)據(jù),其中該控制器及該硬盤均支持多個(gè)傳輸速率,其特征在于,該硬盤存取方法包括下列步驟取得該硬盤最高所能支持的一最高傳輸速率;以及該控制器以不小于該最高傳輸速率的傳輸速率,且維持該硬盤的傳輸速率于該最高傳輸速率,以讀取該硬盤的數(shù)據(jù)。2.如權(quán)利要求1所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,取得該硬盤最高所能支持的該最高傳輸速率的步驟包括于一主機(jī)開機(jī)時(shí)發(fā)送一識(shí)別指令給該硬盤,以詢問該硬盤最高所能支持的該最高傳輸速率。3.如權(quán)利要求1所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,在取得該硬盤最高所能支持的該最高傳輸速率的步驟之后,還包括判斷該最高傳輸速率是否等于一預(yù)設(shè)傳輸速率;以及若等于該預(yù)設(shè)傳輸速率,填入比該預(yù)設(shè)傳輸速率低的傳輸速率于該控制器的一模式控制緩存器中,并宣告一進(jìn)階電源接口原始語言碼,以將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。4.如權(quán)利要求3所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,在填入比該預(yù)設(shè)傳輸速率低的傳輸速率以及宣告該進(jìn)階電源接口原始語言碼的步驟之后,還包括該操作系統(tǒng)進(jìn)入一電源管理模式;由該控制器接收該硬盤發(fā)出的一存取信號(hào);由該控制器發(fā)送一電源管理事件至一電源管理單元,以喚醒一處理器;以及回復(fù)該操作系統(tǒng)為一正常操作模式。5.如權(quán)利要求1所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,該控制器以不小于該最高傳輸速率的傳輸速率來讀取該硬盤的數(shù)據(jù)的步驟包括該控制器忽略模式控制緩存器中的數(shù)值對(duì)控制器的控制。6.如權(quán)利要求1所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,維持該硬盤的傳輸速率于該最高傳輸速率以讀取該硬盤的數(shù)據(jù)的步驟包括將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。7.如權(quán)利要求1所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,還包括降低該控制器的傳輸速率至比該最高傳輸速率低的傳輸速率,并維持該硬盤的傳輸速率于該最高傳輸速率,以寫入數(shù)據(jù)于該硬盤。8.如權(quán)利要求7所述的支持硬盤最高傳輸速率的硬盤存取方法,其特征在于,降低該控制器的傳輸速率至比該最高傳輸速率低的傳輸速率,并維持該硬盤的傳輸速率于該最高傳輸速率,以寫入數(shù)據(jù)于該硬盤的步驟包括降低該控制器的傳輸速率至比該最高傳輸速率低一階的傳輸速率,其中該控制器與該硬盤支持多階傳輸速率。9.一種支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,包括一硬盤,支持多個(gè)傳輸速率,包括其最高所能支持的一最高傳輸速率;以及一控制器,支持該些傳輸速率,通過一傳輸接口連接至該硬盤,用以取得該硬盤最高所能支持的該最高傳輸速率,其中該控制器以不小于該最高傳輸速率的傳輸速率,且維持該硬盤的傳輸速率于該最高傳輸速率,以通過該控制器讀取該硬盤的數(shù)據(jù)。10.如權(quán)利要求9所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,于一主機(jī)開機(jī)時(shí),通過該控制器發(fā)送一識(shí)別指令給該硬盤,以詢問該硬盤最高所能支持的該最高傳輸速率。11.如權(quán)利要求9所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,還包括一模式控制緩存器配置于一控制器中,其中該系統(tǒng)判斷該最高傳輸速率是否等于一預(yù)設(shè)傳輸速率,而在該最高傳輸速率等于該預(yù)設(shè)傳輸速率時(shí),填入比該預(yù)設(shè)傳輸速率低的傳輸速率于該模式控制緩存器中,并宣告一進(jìn)階電源接口原始語言碼,以將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。12.如權(quán)利要求9所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,該控制器以不小于該最高傳輸速率的傳輸速率以讀取該硬盤的數(shù)據(jù)包括該控制器忽略模式控制緩存器中的數(shù)值對(duì)控制器的控制。13.如權(quán)利要求9所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,維持該硬盤的傳輸速率于該最高傳輸速率以讀取該硬盤的數(shù)據(jù)包括將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。14.如權(quán)利要求9所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,該控制器以比該最高傳輸速率低的傳輸速率,并維持該硬盤的傳輸速率于該最高傳輸速率,以通過該控制器寫入數(shù)據(jù)于該硬盤。15.如權(quán)利要求14所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,降低該控制器的傳輸速率至比該最高傳輸速率低的傳輸速率包括降低該控制器的傳輸速率為比該最高傳輸速率低一階的傳輸速率,其中該控制器與該硬盤支持多階傳輸速率。16.如權(quán)利要求14所述的支持硬盤最高傳輸速率的硬盤存取系統(tǒng),其特征在于,維持該硬盤的傳輸速率于該最高傳輸速率,以讀取該硬盤的數(shù)據(jù)包括將該硬盤最高所能支持的該最高傳輸速率告知一操作系統(tǒng)。全文摘要本發(fā)明公開了一種支持硬盤最高傳輸速率的硬盤存取方法及系統(tǒng),適于由控制器存取硬盤的數(shù)據(jù),其中控制器及硬盤均支持多個(gè)傳輸速率,此硬盤存取方法系先取得硬盤所能支持的最高傳輸速率,而在控制器讀取硬盤中的數(shù)據(jù)時(shí),其傳輸速率為不小于硬盤最高傳輸速率,且將硬盤的傳輸速率維持在其最高傳輸速率,以讀取硬盤的數(shù)據(jù);另一方面,在控制器要將數(shù)據(jù)寫入硬盤時(shí),則會(huì)將其傳輸速率降低至比硬盤最高傳輸速率低的傳輸速率,并將硬盤的傳輸速率維持在硬盤最高傳輸速率,以將數(shù)據(jù)寫入硬盤。據(jù)此,可維持硬盤最高速率的存取。文檔編號(hào)G06F3/06GK101814007SQ20091000784公開日2010年8月25日申請(qǐng)日期2009年2月19日優(yōu)先權(quán)日2009年2月19日發(fā)明者張欽漢,王嘉鴻,黃宗慶申請(qǐng)人:威盛電子股份有限公司