具有非易失性存儲器和緩衝存儲器的存儲系統及讀取方法
2023-05-04 22:06:06
專利名稱::具有非易失性存儲器和緩衝存儲器的存儲系統及讀取方法
技術領域:
:在此公開的本發明的實施例通常涉及存儲系統,具體地,涉及包括非易失性存儲器的存儲系統及其讀取方法。
背景技術:
:即使沒有將電源提供給存儲器,非易失性存儲器也保留數據。非易失性存儲器是典型的掩模型只讀存儲器,或者是電可擦除和可編程只讀存儲器(EEPROM)。作為另一種類型的非易失性存儲器的快閃記憶體源於東芝公開的術語"閃速EEPROM"。從傳統的EEPROM開發了快閃記憶體,但是在架構和操作上進行了修改。可按照塊、扇區或整個晶片擦除快閃記憶體。此外,快閃記憶體能夠進行位級編程操作。快閃記憶體與盤類型的輔助存儲器裝置相似,其具有以扇區格式化的結構。快閃記憶體可用於兩個不同的架構在位線和地線之間並聯排列存儲單元的NOR類型;和在位線和地線之間串聯排列存儲單元的NAND類型。NOR快閃記憶體具有簡單的外圍電路和短的讀存取時間,但是比NAND類型需要更多的單元區,原因在於NOR快閃記憶體對於各個存儲單元的每個位線需要接觸電極。然而,對於NAND快閃記憶體,有必要在讀取數據之前選擇相應的塊,並且由於存儲單元的串聯,NAND快閃記憶體以較大阻抗的方式操作。因此,NAND快閃記憶體中的讀取操作相對NOR類型中的讀取操作來說較慢。快閃記憶體是適合高集成密度的非易失性存儲裝置。因為快閃記憶體較好的數據保留能力,所以在一些系統中快閃記憶體可用作主存儲器。值得注意的是快閃記憶體用於高密度大容量數據存儲,並且可取代傳統的硬碟或軟盤。當前,快閃記憶體廣泛用作可攜式數字設備(諸如行動電話、數字相機、MP3播放器、可攜式攝像機、個人數據助理等)中的存儲介質。然而,快閃記憶體具有比隨機存取存儲器(RAM)低的數據輸入/輸出速率。當寫入被寫入單元陣列之前臨時存儲在頁緩衝存儲器中的數據時,以及當讀出首先從單元陣列傳送到頁緩沖存儲器的數據時,在快閃記憶體中出現延遲。為了使快閃記憶體能夠以隨機存取方式操作,已經開發了新的方案,以通過快閃記憶體系統中的緩衝存儲器支持隨機存取功能。緩衝存儲器用於在將數據寫入快閃記憶體或者將數據傳送到主機之前臨時存儲數據。緩沖存儲器通常是可隨機存取類型的存儲器(例如,動態或靜態RAM)。例如,在來自主機的數據被傳送到快閃記憶體之前,首先將其存儲在緩沖存儲器中。存儲在緩沖存儲器中的數據接著被寫入快閃記憶體中。另外,從快閃記憶體讀出的數據在被傳送到主機之前首先被存儲在緩沖存儲器中。其後,從緩沖存儲器讀取數據,並將其傳送到主機。
發明內容本發明的一方面是一種在包括緩衝存儲器和非易失性存儲器的存儲系統中讀取數據的方法,所述方法包括確定在讀取請求中的輸入地址是否被分配到緩衝存儲器;以及如果輸入地址沒有被分配到緩沖存儲器,則確定請求的數據的大小是否大於參考,並且如果請求的數據大小大於參考,則從非易失性存儲器進行預取讀取操作。在實施例中,輸入地址是開始地址。提供包括開始地址和請求的數據大小的讀取請求信息,以響應於讀取請求從開始地址開始以請求的數據大小確定的量讀取數據。在實施例中,預取操作包括以大於請求的數據大小的量從開始地址開始從非易失性存儲器讀取數據。在預取讀取操作期間讀取的數據被臨時存儲在緩沖存儲器中。在實施例中,所述方法還包括如果請求的數據大小大於參考,則在預取讀取操作期間,分配緩沖存儲器以存儲從非易失性存儲器讀取的數據。在實施例中,所述方法還包括將在預取讀取操作期間存儲在緩沖存儲器中的數據從緩衝存儲器傳送到外部系統。在實施例中,所述方法還包括在緩沖存儲器的地址映射表中搜索開始地址和與請求的數據相應的地址,以確定輸入地址是否被分配給緩衝存儲器。在實施例中,所述方法還包括如果輸入地址被分配給緩衝存儲器,則將請求的數據從緩衝存儲器傳送到外部系統。在實施例中,所述方法還包括在非易失性存儲器上進行普通讀取操作,除非請求的數據大小大於參考。在實施例中,在普通讀取操作期間,將從非易失性存儲器讀取的數據傳送到外部系統,而不通過緩沖存儲器。本發明的另一方面是一種在包括緩衝存儲器、快閃記憶體和盤的存儲系統中讀取數據的方法,所述方法包括確定在讀取請求中的輸入地址是否被分配到緩沖存儲器;如果輸入地址沒有被分配到緩衝存儲器,則確定是否將輸入地址分配給快閃記憶體;如果輸入地址沒有分配給快閃記憶體,則確定請求的數據的大小是否大於參考;以及如果請求的數據大小大於參考,則從快閃記憶體進行預取讀取操作。本發明的另一方面是一種在包括緩衝存儲器、快閃記憶體和盤的存儲系統中讀取數據的方法,所述方法包括同時確定在讀取請求中的輸入地址是被分配到緩沖存儲器、快閃記憶體還是盤;如果輸入地址被分配到快閃記憶體,則確定請求的數據的大小是否大於參考;以及如果請求的數據大小大於參考,則從快閃記憶體進行讀取操作。本發明的另一方面是一種存儲系統,所述系統包括快閃記憶體;盤;緩沖存儲器,在預取讀取操作期間臨時存儲從快閃記憶體或盤讀取的數據;以及控制器,進行操作以控制快閃記憶體、盤和緩衝存儲器,並且根據讀取請求所請求的數據的大小確定從快閃記憶體進行預取讀取操作還是普通讀取操作。在實施例中,控制器響應於讀取請求從盤進行讀取操作。在實施例中,在從快閃記憶體的普通讀取操作期間,將從快閃記憶體讀取的數據直接傳送到外部系統,而不通過緩衝存儲器。在實施例中,控制器同時確定讀取請求輸入的地址被分配到緩衝存儲器、快閃記憶體還是盤。在實施例中,控制器首先確定讀取請求輸入的地址是否被分配到緩衝存儲器。在實施例中,如果輸入地址被分配到緩衝存儲器,則控制器將請求的數據從緩衝存儲器傳送到外部系統。在實施例中,控制器確定輸入地址是否被分配給快閃記憶體,除非輸入地址被分配給緩衝存儲器。在實施例中,如果輸入地址被分配給快閃記憶體,則根據請求的數據大小確定進行預取讀取操作還是普通讀取操作。在實施例中,控制器從盤進行預取讀取操作,除非輸入地址被分配給快閃記憶體。可通過參照說明剩餘部分和附圖來實現對在此描述的本發明的特點和優點的進一步理解。將通過參照附圖描述本發明的非限制性和非窮盡的實施例,其中,除非另有指定,否則,在各個附圖中,相同的標號是指相同的部件。在附圖中圖l是根據本發明的實施例的存儲系統的框圖;圖2是示出根據本發明的實施例的存儲系統的讀取方法的流程圖;圖3是示出根據本發明的實施例的存儲系統的實施例的框圖;圖4是示出根據本發明的實施例的圖3示出的存儲系統的讀取方法的流程圖5是示出根據本發明的實施例的用於同時搜索緩沖存儲器、非易失性存儲器和盤的讀取方法的流程圖;以及圖6示出根據本發明的實施例的混合硬碟驅動的結構。具體實施例方式下面將描述本發明的優選實施例,在示出結構和操作特徵時,作為示例,包括非易失性存儲器裝置,然而,可按不同的形式實現本發明,並且不應該被解釋為限制在此闡述的實施例。此外,提供這些實施例從而本公開將是徹底和完整的,並且將本發明的範圍完全地傳達給本領域的技術人員。在整個附圖中,相同的標號是指相同的部件。根據本發明的實施例的存儲系統基於按照讀取請求提供的請求的數據大'J、通過確定是否執行預取讀取操作來操作。預取是指在讀取操作之前將數據傳送到緩衝存儲器。例如,當在非易失性存儲器的讀取操作中請求的數據大於參考大小時,存儲系統獲取請求的數據以及稍後請求的附加數據,接著將這些數據存儲在緩沖存儲器中。從而對於依次引入地址的讀取請求,本發明的存儲系統增強了緩衝存儲器的實際使用。其結果是,在存儲系統中,使得數據讀取率得到改善。將結合附圖描述本發明的示例性實施例。圖1是根據本發明的實施例的存儲系統10的框圖。參照圖1,存儲系統10包括通過總線或信道11進行通信的控制器110、緩衝存儲器120和非易失性存儲器130。當存在從非易失性存儲器130讀取數據的請求時,根據請求的數據的大小,通過數據預取來進行預取讀取操作,或者不通過數據預取而進行普通讀取操作。例如,如果請求的數據的大小大於參考,則執行預取讀取,但是,如果請求讀取的數據的大小小於參考,則執行普通讀取操作。通過預取讀取操作從非易失性存儲器130獲得的數據被臨時存儲在緩沖存儲器120中。然後,在緩衝存儲器保留的數據中,僅將請求讀取的數據傳送到外部系統。控制器IIO用於控制存儲系統10的一般操作。控制器從外部系統(例如,主機)接收命令、地址和數據,並且控制讀取和寫入操作。控制器按照如下方式接受讀取請求。作為示例,如果將讀取請求11輸入到控制器110,則該請求指示控制器從開始地址"100"開始讀取60個扇區的數據。控制器110確定是否將與請求讀取的數據相應的地址分配給緩衝存儲器120。這裡,與請求的數據相應的地址是從開始地址"100"開始的60個扇區的數據的地址。如果將與請求的數據相應的地址分配給緩衝存儲器120,則從緩沖存儲器120讀取請求的數據,接著將其傳送到外部系統。如果沒有將與請求的數據相應的地址分配給緩衝存儲器120,則控制器IIO從非易失性存儲器130進行讀取操作。從非易失性存儲器130的讀取操作根據請求的數據的大小被區分為預取模式和普通模式。運行預取模式從非易失性存儲器130讀出(即,獲取)比請求的數據大的預定大小的數據。將以預取模式讀出的數據存儲在緩沖存儲器120中。例如,將讀出的附加數據的大小可以等於請求的數據(60個扇區),因此總共必須讀取120個扇區。如果請求的數據大小是100個扇區,則控制器110在預取模式期間從非易失性存儲器130讀取200個扇區,並將其存儲在緩衝存儲器120中。在預取模式下,控制器IIO將請求的地址轉換為與將被預取的數據相應的預取地址。同時,運行普通模式從非易失性存儲器130讀出比請求的數據小的預定大小的數據。直接將在普通模式下讀取的數據傳送到外部系統,而不通過緩衝存儲器120。這種不通過緩衝存儲器傳送數據的普通讀取模式防止緩衝存儲器120的汙染等級的增加。緩衝存儲器120的較小的汙染意思是有更多的空間存儲在預取模式下讀取的數據。換句話說,增強緩衝存儲器120的可用性。控制器110通過將參考與相應於讀取請求傳送的數據的大小進行比較來確定是否從非易失性存儲器130進行預取模式讀取操作。可按經驗根據存儲系統的環境得到參考。在寫操作期間,緩沖存儲器120臨時存儲已存儲在非易失性存儲器130中的數據,並且從外部系統傳送地址和命令。另外,在讀取操作期間,在從非易失性存儲器130讀出的數據被傳送到外部系統之前,緩沖存儲器120臨時該數據。通常,可用靜態或動態RAM實現緩衝存儲器120,但是不限於此。提供非易失性存儲器130作為存儲數據的儲存器。例如,可通過快閃記憶體、掩模型ROM、可編程ROM或鐵電RAM來實現非易失性存儲器130。如果外部系統請求的數據的大小大於參考,則從非易失性存儲器130讀取的數據首先被存儲在緩沖存儲器120中,然後被傳送到外部系統。相反,除非外部系統請求的數據的大小大於參考,否則,不通過緩衝存儲器120而是直接將從非易失性存儲器130讀取的數據傳送到外部系統。非易失性存儲器130可被配置為進行所有預取和普通讀取模式。例如,根據外部系統請求的數據的大小,控制器110產生並提供對於非易失性存儲器130預取或普通讀取命令。非易失性存儲器130可被配置為響應於預取命令讀取與輸入地址相應的數據,並且還讀取與輸入地址的鄰近地址相應的數據。非易失性存儲器130還可被配置為響應於普通讀取命令只讀取與輸入地址相應的數據。在本發明的實施例的存儲系統10中,通過根據請求的數據的大小確定進行預取讀取操作還是普通讀取操作來開始讀取操作。如果請求的數據的大小大於參考,則通過緩衝存儲器120實施預取讀取操作。因此,如果將被讀取的數據是連續輸入的數據,則將被請求的下面的數據已經被存儲在緩衝存儲器120中的概率增加。存儲系統10因此有效地使用緩衝存儲器120以檢索連續請求的數據,從而縮短讀取這種數據的時間。圖2是示出根據本發明的實施例的存儲系統10的讀取方法的流程圖。參照圖1和圖2,存儲系統10中的讀取方法如下。首先,外部主機(未顯示)向存儲系統IO請求數據。詳細地,存儲系統IO接受包括開始地址和請求的地址的數量的讀取請求信息。這裡,請求的地址的數量表示請求的數據的大小。例如,具有R〈100,30〉的讀取請求表示從開始地址"100"開始讀取30個扇區的數據。以下,假設基於具有R<100,30〉的讀取請求實施讀取操作。還假設操作預取模式以兩次讀取請求的數據。存儲系統10從外部主機接收讀取請求IK100,30。然後,控制器110確定是否將通過讀取請求傳送的開始地址"100"分配到緩沖存儲器(SllO)。即,控制器110搜索緩沖存儲器120的地址映射表,以確定開始地址"100"和與從開始地址開始的30個扇區的數據相應的地址是否被分配到緩沖存儲器120。根據搜索地址的結果,控制器110確定緩衝存儲器120是否處於HIT狀態(S120)。緩沖存儲器120的HIT狀態意思是在地址映射表找到與請求的數據相應的地址。如果確定緩衝存儲器120處於HIT狀態,則控制器110從緩沖存儲器120讀取從開始地址"100"排列的30個扇區的數據,並且將數據傳送到主機(S160)。從而完成讀取操作。否則,如果緩沖存儲器120沒有處於HIT狀態,則控制器110將非易失性存儲器130檢測為分配了開始地址的位置,並且確定請求的數據的大小是否大於參考(S130)。將根據請求的數據的大小啟動預取或普通讀取模式。如果請求的數據的大小大於參考,則控制器110向緩衝存儲器120分配相應的地址以在緩沖存儲器120中臨時存儲請求的數據(S140)。之後,控制器IIO執行對非易失性存儲器130的預取模式(S150)。即,控制器110從開始地址"100"開始從非易失性存儲器130讀取60個扇區的數據。從60個扇區讀取的數據被存儲在緩衝存儲器120中。在存儲從非易失性存儲器130讀取的60個扇區的數據之後,更新地址映射表以包括與從開始地址"100"開始的60個扇區的數據相應的地址的映射信息。然後,控制器110讀取存儲在緩衝存儲器120中的從開始地址"100"開始的30個扇區的數據,並且將其傳送到主機(S160)。從而完成讀取數據的操作。如果請求的數據的大小不大於參考,則控制器IIO執行從非易失性存儲器的普通讀取操作(S152)。在普通讀取模式下,控制器110從開始地址"100"開始從非易失性存儲器130讀取30個扇區的數據,並且將讀取的30個扇區的數據直接傳送到主機(S162)。從而,終止普通讀取模式。根據請求的數據的大小在從非易失性存儲器的預取或普通讀取模式下執行根據本發明的實施例的存儲系統10中的讀取方法。其結果是,能夠有效地管理讀取操作。本發明的實施例還能夠應用於包括多個存儲裝置的存儲系統20。圖3是示出根據本發明的實施例的這種存儲系統的實施例的框圖。參照圖3,存儲系統20包括通過總線或信道21相互連接的控制器210、緩衝存儲器220、快閃記憶體230和盤240。快閃記憶體230通常是以快速初始響應操作的存儲裝置,而盤240以較慢的初始時間"t喿作。當對盤240進行讀取請求(在初始響應中相對較慢)時,啟動預取讀取模式以進行數據預取。相反,當對快閃記憶體230進行讀取請求(對其響應較快)時,存儲系統20通過根據請求的數據的大小確定是否啟動預取模式來進行讀取操作。例如,如果請求的數據的大小大於參考,則存儲系統20在預取模式下操作快閃記憶體230。根據本發明的實施例的控制器210搜索表以確定是否將讀取操作中輸入的地址分配給緩沖存儲器220。根據搜索結果,如果將輸入地址分配給緩衝存儲器220,則控制器210操作以將與輸入地址相應的數據從緩衝存儲器220傳送到外部系統。否則,如果搜索結果指示沒有將輸入地址分配給緩衝存儲器220,則控制器210重新開始尋找從快閃記憶體230輸入的地址。如果將輸入地址分配給快閃記憶體230,則控制器210參照請求的數據的大小從快閃記憶體230進行預取和普通讀取操作中的一個。在預取操作期間,控制器210根據輸入地址產生預取操作的預取地址,並將預取地址應用於快閃記憶體230。快閃記憶體230響應於預取地址執行讀取操作。將此時讀取的數據傳送到緩衝存儲器220。控制器210從緩沖存儲器220獲取請求的數據,並將該數據傳送到外部系統。在普通讀取模式期間,控制器210向快閃記憶體230提供與輸入地址相應的物理地址。快閃記憶體230響應於傳送到快閃記憶體230的物理地址執行讀取操作。不通過緩衝存儲器220而直接將此時讀取的數據傳送到外部系統。根據搜索結果,如果沒有將輸入地址分配給快閃記憶體230,則控制器210進行從盤240的預取讀取操作。盤240的預取模式與快閃記憶體230的預取模式相似,因此不再進行詳述。緩衝存儲器220和快閃記憶體230與圖1示出的存儲器120和130相同。盤240可以是硬碟驅動器(HDD)。HDD是被配置為在塗有磁材料的鋁基底中存儲數據的數據儲存器。HDD包括存儲數據的金屬盤、在盤上移動並記錄、校正和擦除數據的頭以及旋轉盤的主軸電機。圖4是示出圖3所示的存儲系統200的讀取方法的流程圖。參照圖3和圖4,存儲系統20的讀取方法如下。外部主機(未顯示)向存儲系統20請求讀取操作。詳細地,存儲系統20接受主機的讀取請求,所述請求包括開始地址和請求的地址的數量。以下,為了解釋方便,在這種假設下描述讀取操作將讀取請求示例性地設置為R。另外,將預取模式示例性地定義為讀取請求的數據量的兩倍。存儲系統20從外部主機接收讀取請求R。控制器210確定通過讀取請求傳送的開始地址"100"是否分配給緩衝存儲器220(S210)。換句話說,控制器210確定地址映射表是否包括開始地址"100"和與從開始地址"100"開始的30個扇區相應的地址。控制器210根據搜索結果確定緩衝存儲器220是否處於HIT狀態(S220)。緩沖存儲器220的HIT狀態指示從緩衝存儲器220的地址映射表找到與請求的地址相應的地址。如果緩沖存儲器220處於HIT狀態,則控制器210讀取與開始地址"100"相應的30個扇區的數據,並且將讀取的數據傳送到主機(S280)。從而完成讀取操作。否則,如果緩沖存儲器220沒有處於HIT狀態,則控制器210確定根據讀取請求傳送到控制器210的開始地址"100"是否被分配給快閃記憶體230(S230)。換句話說,控制器210確定快閃記憶體230的地址映射表是否包括開始地址"100"。根據搜索結果,控制器210檢查快閃記憶體230是否處於HIT狀態(S240)。如果快閃記憶體230沒有處於HIT狀態,則控制器210確定開始地址"100"被分配給盤240,並且指派緩衝存儲器220存儲盤240請求的數據(S262)。然後,控制器210從盤240進行預取讀取操作(S272)。也就是說,控制器210從開始地址"100"開始從盤240讀取60個扇區的數據。從60個扇區讀取的數據被存儲在緩沖存儲器220中。在將數據從盤240存儲到緩衝存儲器220之後,更新緩衝存儲器220的地址映射表以包括關於從開始地址"100"和與60個扇區的數據相應的地址的映射信息。然後,控制器210從開始地址"100"開始從緩衝存儲器220讀取30個扇區的數據,並且將所述30個扇區的數據傳送到主機(S280)。從而完成預取模式。如果快閃記憶體230處於HIT狀態,則控制器210確定請求的數據的大小是否大於參考(S250)。由於請求30個扇區的數據,因此請求的數據的大小與30個扇區相應。根據請求的數據大小,執行從快閃記憶體230的預取或普通讀取操作。如果請求的數據大小大於參考,則控制器210指派緩沖存儲器臨時存儲從快閃記憶體230請求的數據(S260)。然後,控制器210從快閃記憶體230進行預取讀取操作(S270)。即,控制器210從開始地址"100"開始從快閃記憶體230讀取60個扇區的數據。從60個扇區讀取的數據被存儲在緩衝存儲器220中。在將數據從盤240存儲到緩沖存儲器220之後,更新緩衝存儲器220的地址映射表以包括關於開始地址"100"和與60個扇區的數據相應的地址的映射信息。然後,控制器210從開始地址"100"開始從緩沖存儲器220讀取30個扇區的數據,並且將所述30個扇區的數據傳送到主機(S280)。從而完成預取模式。如果請求的數據的大小不大於參考,則控制器210從快閃記憶體230進行普通讀取操作(S271)。控制器210從開始地址"100"開始從快閃記憶體230讀取30個扇區的數據,並且將所述30個扇區的數據直接傳送到主機(S281)。從而完成普通讀取模式。根據本發明的實施例的讀取方法的優點在於。首先,通過用於長的連續存取的預取模式,所述方法縮短了讀取處理時間。這種效果源於根據存取時間比其它存儲裝置(例如,盤或快閃記憶體)快的緩衝存儲器較高的HIT概率。第二,對於短的隨機存取,所述方法減小了由於數據預取的故障。這是因為對於短的隨機存取,執行普通讀取模式而不執行快閃記憶體的預取模式。第三,由於在短的隨機存取中沒有分配緩衝存儲器,因此所迷方法減少了用於分配緩衝存儲器的時間。第四,緩衝存儲器的HIT概率增加,原因是對於短的隨機存取沒有使用緩衝存儲器。這種效果源於不需要從緩衝存儲器去除大量數據,以管理低重用概率的數據。下面將描述根據圖4所示的方法的當前讀取處理時間如何比傳統讀取處理時間短。TA是用於搜索緩衝存儲器的時間。丁B是用於搜索快閃記憶體的時間。Tc是用於分配用於進行臨時數據存儲的緩沖存儲器的時間。Td是用於從盤進行預取操作的時間。TE是用於從快閃記憶體進行普通讀取操作的時間。Tf是用於將數據從緩衝存儲器傳送到主機的時間。TG是用於從快閃記憶體進行預取操作的時間。lH是用於將通過普通讀取模式從快閃記憶體讀取的數據傳送到主機的時間。TE如下定義[等式l〗在等式l中,Tx是從快閃記憶體的數據傳輸開始,直到數據最初被傳送到主機的待機時間。Ty是與數據的大小成比例的傳輸時間。參數S表示請求的數據的大小。同時,通過等式2給出TF:[等式2]r,.=rz、根據等式2,Tz是將數據從緩沖存儲器傳送到主機的時間,與數據的大小成比例。參數s表示請求的數據的大小。現在,假設將數據直接傳送到主機的時間TH與將數據從緩衝存儲器傳送到主機的時間TV相同。為了描述方便,將在不考慮盤的情況下進行描述。換句話說,如果沒有緩衝存儲器的HIT,則快閃記憶體必須處於HIT狀態。然後,在根據本發明的實施例的讀取方法中,讀取處理時間Tread可滿足下式r腳=L+"》+(卜+/(rc+7>+r/s+rz、)*+(i-"*(r^+r/s+rz、))在等式3中,參數"是緩衝存儲器的HIT概率。參數^是請求的數據是連續的且大小超過參考的概率。參數S表示將被預^F又的數據的大小。例如,假設預取模式讀取請求的數據的兩倍,那麼S變為2s(即,S=2s)對於具有較小大小的隨機存取數據樣式和具有較大大小的連續存取數據樣式,將如下評價讀取處理時間TREAD。為了方面描述,假設參數如表1所示。tableseeoriginaldocumentpage15這裡,條件參數和讀取處理時間結果如表2所概述。tableseeoriginaldocumentpage15如表2所示,根據本發明的實施例的讀取方法,對於長的連續存取,當前讀取處理時間(2036)與傳統預取模式的讀取處理時間相同。對於短的隨機存取,當前讀取處理時間(539)比傳統普通讀取模式的讀取處理時間(699)短很多。因此本發明的實施例的讀取方法優點在於增強短的隨機存取數據樣式以及長的連續存取數據樣式中的讀取處理速率。在圖4所示的讀取方法中,控制器210首先搜索緩衝存儲器220以尋找將哪個存儲器指派給從主機輸入的開始地址,或者如果沒有將開始地址指派給緩沖存儲器220,則搜索快閃記憶體230。然而,控制器210的搜索方案不限於上述方式。例如,控制器21能夠同時搜索緩衝存儲器220、快閃記憶體230和盤240以尋找將哪個存儲裝置被指派給從主機輸入的開始地址。圖5是同時搜索緩衝存儲器220、快閃記憶體230和盤240的讀取方法的流程圖。外部主機(未顯示)向存儲系統20請求讀取操作。詳細地,存儲系統從主機接收讀取請求信息,所述讀取請求信息包括開始地址和請求的地址的數量。為了描述方便,以下假設以R<100,30〉形式產生讀取請求。並且假設預取模式讀取主機請求的數據量的兩倍。存儲系統20接受外部主機的讀取請求R<100,30〉。控制器210同時搜索緩衝存儲器220、快閃記憶體230和盤240以尋找將哪個存儲裝置指派給根據讀取請求傳送到存儲系統210的開始地址"100"。即,控制器210搜索以確定開始地址"100"和與從開始地址"100"開始的30個扇區的數據相應的地址存儲在緩衝存儲器220、快閃記憶體230還是盤240中。如果緩衝存儲器220被檢測為處於HIT狀態(S321),則控制器210從緩衝存儲器220讀取與開始地址"100"相應的30個扇區的數據,並且將所述30個扇區的數據傳送到主機(S360)。從而完成讀取操作(即,普通讀取模式)。如果盤240被檢測為處於HIT狀態(S322),控制器210確定將開始地址分配給盤240。然後,控制器210指派緩衝存儲器210存儲向盤240請求的數據(S342)。以下,控制器210從盤240進行預取讀取操作(S352)。在預取模式下,控制器210從盤240讀取從開始地址"100"開始的60個扇區。將60個扇區的數據存儲在緩沖存儲器220中。在將60個扇區的數據存儲在緩衝存儲器220之後,更新緩衝存儲器220的地址映射表以包括關於開始地址"100"和與60個扇區的數據相應的地址的映射信息。然後,控制器210從緩沖存儲器220讀取與開始地址"100"相應的30個扇區的數據,並且將所述30個扇區的數據傳送到主機(S360)。從完成讀取操作(即,預取模式)。如果快閃記憶體230處於HIT狀態,則控制器210確定請求的數據的大小是否大於參考(S330)。如果請求的數據的大小大於參考,則控制器210指派緩衝存儲器220臨時存儲向快閃記憶體230請求的數據(S340)。然後,控制器210進行從快閃記憶體230的預取讀取操作(S350)。在預取模式下,控制器210從開始地址"100"開始從快閃記憶體230讀取60個扇區的數據。將60個扇區的數據存儲在緩衝存儲器220中。在將60個扇區的數據存儲在緩沖存儲器220之後,更新緩沖存儲器220的地址映射表以包括關於開始地址"100"和與60個扇區的數據相應的地址的映射信息。然後,控制器210從緩衝存儲器220讀取與開始地址"100"相應的30個扇區的數據,並且將所述30個扇區的數據傳送到主機(S360)。從完成讀取操作(即,預取模式)。如果請求的數據大小不大於參考,則控制器210從快閃記憶體230進行普通讀取操作(S351)。控制器210從快閃記憶體230讀取與開始地址"100"相應的30個扇區的數據,並且將所述30個扇區的數據傳送到主機(S360)。從而完成讀取操作(即,普通讀取模式)。本發明的實施例的存儲系統20還可應用於混合HDD。混合HDD被認為是下一代存儲裝置,其中,非易失性高速緩沖存儲器與普通HDD結合。圖6示出根據本發明的實施例的混合硬碟驅動器的結構。參照圖6,混合HDD包括控制器310,具有嵌入其中的CPU、DRAM高速緩衝存儲器320、非易失性高速緩沖存儲器330和HDD340。圖6所示的控制器310、DRAM高速緩衝存儲器320、非易失性高速緩衝存儲器330和HDD340分別與圖3所示的控制器210、緩衝存儲器220、快閃記憶體230和盤240相同。可操作非易失性高速緩衝存儲器330以節省功率(達百分之九十),並且啟動和數據處理速率比普通HDD快2或3倍,原因是其能夠進行快速讀取和寫入數據。另外,混合HDD通過最小化機械操作並減小功耗來提高耐久性。例如,在混合HDD中使用的快閃記憶體可以是NAND型快閃記憶體。在對非易失性高速緩沖存儲器330的讀取操作期間,根據請求的數據的大小確定進行預取讀取模式還是普通讀取模式。例如,如果請求的數據的大小大於參考,則混合HDD30從高速緩衝存儲器330進行預取操作。根據本發明的實施例的存儲系統和數據讀取方法根據請求的數據大小確定執行從非易失性存儲器的預取或普通讀取操作。如果請求的數據大小大於參考,則從非易失性存儲器進行預取讀取操作。從而,根據本發明的實施例的存儲系統可增加讀取操作期間利用緩衝存儲器的概率,並且還增強數據讀取速率。如上所述,根據本發明的實施例的存儲系統和數據讀取方法可通過根據請求讀取的數據的大小確定是否進行預取讀取操作來進行操作。因此,可增強讀取的數據率,原因是根據數據樣式進行不同的讀取操作。上面公開的主題被認為是說明性的,而不是限制性的,並且權利要求意在覆蓋落入本發明的精神和範圍內的所有修改、改善和其它實施例。因此,在法律允許的最大範圍內,由允許的權利要求及其等同物最寬範圍的解釋來確定本發明的範圍,而不應該由上述詳細描述來約束或限制本發明的範圍。權利要求1、一種在包括緩衝存儲器和非易失性存儲器的存儲系統中讀取數據的方法,包括確定在讀取請求中的輸入地址是否被分配到緩衝存儲器;以及如果輸入地址沒有被分配到緩衝存儲器,則確定請求的數據的大小是否大於參考,如果請求的數據大小大於參考,則從非易失性存儲器進行預取讀取操作。2、如權利要求l所述的方法,其中輸入地址是開始地址;提供包括開始地址和請求的數據大小的讀取請求信息,以響應於讀取請求從開始地址開始以請求的數據大小確定的量讀取數據。3、如權利要求2所述的方法,其中預取操作包括以大於請求的數據大小的量從開始地址開始從非易失性存儲器讀取數據;在預取讀取操作期間讀取的數據被臨時存儲在緩沖存儲器中。4、如權利要求3所述的方法,還包括如果請求的數據大小大於參考,則在預取讀取操作期間,分配緩沖存儲器以存儲從非易失性存儲器讀取的數據。5、如權利要求4所述的方法,還包括將在預取讀取操作期間存儲在緩沖存儲器中的數據從緩衝存儲器傳送到外部系統。6、如權利要求2所述的方法,還包括在緩衝存儲器的地址映射表中搜索開始地址和與請求的數據相應的地址,以確定輸入地址是否被分配給緩衝存儲器。7、如權利要求6所述的方法,還包括如果輸入地址被分配給緩衝存儲器,則將請求的數據從緩衝存儲器傳送到外部系統。8、如權利要求l所述的方法,還包括對非易失性存儲器進行普通讀取操作,除非請求的數據大小大於參考。9、如權利要求8所述的方法,其中,在普通讀取操作期間,將從非易失性存儲器讀取的數據傳送到外部系統,而不通過緩衝存儲器。10、一種在包括緩衝存儲器、快閃記憶體和盤的存儲系統中讀取數據的方法,包括確定在讀取請求中的輸入地址是否被分配到緩沖存儲器;如果輸入地址沒有被分配到緩衝存儲器,則確定輸入地址是否被分配給快閃記憶體;如果輸入地址沒有分配給快閃記憶體,則確定請求的數據的大小是否大於參考;以及如果請求的數據大小大於參考,則從快閃記憶體進行預取讀取操作。11、一種在包括緩衝存儲器、快閃記憶體和盤的存儲系統中讀取數據的方法,包括同時確定在讀取請求中的輸入地址是被分配到緩衝存儲器、快閃記憶體還是盤;如果輸入地址被分配到快閃記憶體,則確定請求的數據的大小是否大於參考;以及如果請求的數據大小大於參考,則從快閃記憶體進行讀取操作。12、一種存儲系統,包括快閃記憶體;盤;緩沖存儲器,在預取讀取操作期間臨時存儲從快閃記憶體或盤讀取的數據;以及控制器,進行操作以控制快閃記憶體、盤和緩沖存儲器,並且根據讀取請求所請求的數據的大小確定從快閃記憶體進行預取讀取操作還是普通讀取操作。13、如權利要求12所述的存儲系統,其中,控制器響應於讀取請求從盤進行讀取操作。14、如權利要求13所述的存儲系統,其中,在從快閃記憶體的普通讀取操作期間,將從快閃記憶體讀取的數據直接傳送到外部系統,而不通過緩衝存儲器。15、如權利要求13所述的存儲系統,其中,控制器同時確定讀取請求輸入的地址被分配到緩沖存儲器、快閃記憶體還是盤。16、如權利要求13所述的存儲系統,其中,控制器首先確定讀取請求輸入的地址是否被分配到緩沖存儲器。17、如權利要求16所述的存儲系統,其中,如果輸入地址被分配到緩衝存儲器,則控制器將請求的數據從緩衝存儲器傳送到外部系統。18、如權利要求16所述的存儲系統,其中,控制器確定輸入地址是否被分配給快閃記憶體,除非輸入地址被分配給緩沖存儲器。19、如權利要求18所述的存儲系統,其中,如果輸入地址被分配給快閃記憶體,則根據請求的數據大小確定進行預取讀取操作還是普通讀取操作。20、如權利要求18所述的存儲系統,其中,控制器從盤進行預取讀取操作,除非輸入地址被分配給快閃記憶體。全文摘要公開了一種具有非易失性存儲器和緩衝存儲器的存儲系統及讀取方法。在包括緩衝存儲器和非易失性存儲器的存儲系統中讀取數據的方法包括確定在讀取請求中的輸入地址是否被分配到緩衝存儲器;確定請求的數據的大小是否大於參考,除非輸入地址被分配給緩衝存儲器;以及如果請求的數據大小大於參考,則從非易失性存儲器進行預取讀取操作。文檔編號G06F12/08GK101339539SQ20081013198公開日2009年1月7日申請日期2008年7月4日優先權日2007年7月6日發明者南惠貞,李時潤,洪性百,羅世鬱,金泰範申請人:三星電子株式會社