存儲裝置、高速緩存控制器及數(shù)據(jù)寫入方法
【專利說明】存儲裝置、高速緩存控制器及數(shù)據(jù)寫入方法
[0001]本申請基于日本專利申請N0.2013-220317號(申請日:2013年10月23日提交的)并要求其優(yōu)先權。該在先申請的全部內(nèi)容通過弓I用并入此處。
技術領域
[0002]本發(fā)明涉及存儲裝置、高速緩存控制器及向非易失性存儲介質(zhì)寫入數(shù)據(jù)的數(shù)據(jù)寫入方法。
【背景技術】
[0003]近年來,開發(fā)了具備訪問速度及存儲容量不同的多種(例如兩種)非易失性存儲介質(zhì)的存儲裝置。作為此類存儲裝置的代表,已知有混合驅動器(〃彳7'.; 'y K F 7 4 7')?;旌向寗悠魍ǔ>邆涞谝环且资源鎯橘|(zhì)和與第一非易失性存儲介質(zhì)相比訪問速度較低且存儲容量較大的第二非易失性存儲介質(zhì)。
[0004]第一非易失性存儲介質(zhì)使用例如NAND閃存那樣的半導體內(nèi)存。公知NAND閃存為每單位容量的單價高但能進行高速訪問非易失性存儲介質(zhì)。第二非易失性存儲介質(zhì)使用例如磁盤那樣的盤介質(zhì)。公知盤介質(zhì)為訪問速度低但每單位容量的單價便宜的非易失性存儲介質(zhì)。因此,混合驅動器通常使用盤介質(zhì)(更具體地,為包括盤介質(zhì)的盤驅動器)來作為主要存儲器,并使用NAND閃存(更具體地,為比盤介質(zhì)訪問速度高的NAND閃存)來作為高速緩存器。這樣,能使混合驅動器整體的訪問速度高速化。
[0005]在此類混合驅動器中,NAND閃存的區(qū)域(存儲區(qū)域)比盤介質(zhì)的區(qū)域更頻繁地被訪問。NAND閃存的區(qū)域(更具體地,為區(qū)域的存儲性能)取決于對該區(qū)域的訪問(更具體地,為數(shù)據(jù)的寫入/讀出)頻率而劣化。因此,在將NAND閃存用作高速緩存器的混合驅動器中,該NAND閃存的區(qū)域容易劣化。
【發(fā)明內(nèi)容】
[0006]現(xiàn)有技術將因劣化而發(fā)生讀取錯誤的NAND閃存的區(qū)域作為不能使用的區(qū)域(所謂的損壞區(qū)域)來處置。因此,在損壞區(qū)域的數(shù)量增加時,NAND閃存(高速緩存器)的實際存儲容量下降。于是,命中高速緩存率Y 〃 t 〃卜率)下降,混合驅動器整體的性能下降。
[0007]本發(fā)明要解決的問題是提供能極力防止非易失性存儲介質(zhì)的實際存儲容量的下降的存儲裝置、高速緩存控制器及向非易失性存儲介質(zhì)寫入數(shù)據(jù)的數(shù)據(jù)寫入方法。
[0008]根據(jù)實施方式,一種存儲裝置,具備:非易失性的第一存儲介質(zhì);非易失性的第二存儲介質(zhì);高速緩存控制器;和主控制器。與所述第一存儲介質(zhì)相比,所述第二存儲介質(zhì)的訪問速度低且所述第二存儲介質(zhì)的存儲容量大。所述主控制器基于來自主機裝置的訪問請求來控制所述高速緩存控制器,且對所述第二存儲介質(zhì)進行訪問。所述高速緩存控制器將應儲存于所述第一存儲介質(zhì)的數(shù)據(jù)基于對所述第一存儲介質(zhì)訪問的結果來在檢測到存儲性能劣化的至少兩個區(qū)域多重寫入。
[0009]根據(jù)實施方式,一種高速緩存控制器,適用于以下的存儲裝置,該存儲裝置具備:非易失性的第一存儲介質(zhì);和非易失性的第二存儲介質(zhì),其與所述第一存儲介質(zhì)相比訪問速度低且存儲容量大,該高速緩存控制器的特征在于,具備:處理器,將所述第一存儲介質(zhì)作為高速緩存器來控制;第一接口控制器,其控制主控制器和所述處理器之間的信號的發(fā)送及接收,該主控制器基于來自主機裝置的訪問請求來控制所述高速緩存控制器并基于所述訪問請求來訪問所述第二存儲介質(zhì);和第二接口控制器,其在所述處理器的控制下對所述第一存儲介質(zhì)訪問,所述處理器將應儲存于所述第一存儲介質(zhì)的數(shù)據(jù)基于對所述第一存儲介質(zhì)訪問的結果來在檢測到存儲性能劣化的至少兩個區(qū)域多重寫入。
[0010]根據(jù)實施方式,一種數(shù)據(jù)寫入方法,適用于高速緩存控制器并向所述第一存儲介質(zhì)寫入數(shù)據(jù),該高速緩存控制器裝備于存儲裝置,該存儲裝置具備:非易失性的第一存儲介質(zhì);非易失性的第二存儲介質(zhì),其與所述第一存儲介質(zhì)相比訪問速度低且存儲容量大;和主控制器,其基于來自主機裝置的訪問請求來對所述第二存儲介質(zhì)進行訪問,該高速緩存控制器在基于所述訪問請求而由所述主控制器所進行的控制下將所述第一存儲介質(zhì)作為高速緩存器進行控制,該數(shù)據(jù)寫入方法的特征在于,將應儲存于所述第一存儲介質(zhì)的數(shù)據(jù)基于對所述第一存儲介質(zhì)訪問的結果來在檢測到存儲性能劣化的至少兩個區(qū)域多重寫入。
【附圖說明】
[0011]圖1是表示實施方式涉及的混合驅動器的典型構成的方框圖。
[0012]圖2是表示圖1所示的NAND閃存的存儲區(qū)域的典型格式的概念圖。
[0013]圖3是表示圖1所示的內(nèi)存控制器所具備的RAM的存儲區(qū)域的典型格式的概念圖。
[0014]圖4是表示圖2所示的高速緩存管理表的數(shù)據(jù)結構的例子的圖。
[0015]圖5是表示由圖1所示的內(nèi)存控制器執(zhí)行的寫入處理的典型步驟的流程圖。
[0016]圖6是表示由圖1所示的內(nèi)存控制器執(zhí)行的讀取處理的典型步驟的流程圖。
【具體實施方式】
[0017]下面參照附圖來說明實施方式。
[0018]圖1是表示實施方式涉及的混合驅動器的典型構成的方框圖?;旌向寗悠骶邆湓L問速度及存儲容量不同的多種、例如兩種非易失性存儲介質(zhì)(即、第一非易失性存儲介質(zhì)及第二非易失性存儲介質(zhì))。在本實施方式中,使用NAND閃存(以下稱為NAND內(nèi)存)11來作為第一非易失性存儲介質(zhì),且使用磁盤介質(zhì)(以下稱為盤)21來作為第二非易失性存儲介質(zhì)。盤21的訪問速度及存儲容量與NAND內(nèi)存11的訪問速度及存儲容量相比訪問速度較低且存儲容量較大。
[0019]圖1所示的混合驅動器的構成包括:固態(tài)驅動器那樣的半導體驅動器單元10 ;和硬盤驅動器單元(以下稱為HDD) 20。半導體驅動器單元10包括NAND內(nèi)存11和內(nèi)存控制器12。
[0020]內(nèi)存控制器12根據(jù)來自主控制器27的訪問請求(例如,寫入請求及讀取請求)來控制對NAND內(nèi)存11的訪問。在本實施方式中,NAND內(nèi)存11由于從主機裝置(以下稱為主機)對混合驅動器的訪問的高速化而用作儲存最近訪問的數(shù)據(jù)用的高速緩存器(高速緩存)。主機將圖1所示的混合驅動器用作自身的存儲裝置。
[0021]內(nèi)存控制器12包括:主機接口控制器(以下稱為主機IF)121 ;內(nèi)存接口控制器(以下稱為內(nèi)存(J ^ ') ) IF) 122 ;微處理器單元(MPU) 123 ;只讀內(nèi)存(只讀存儲器)(ROM) 12 ;和隨機內(nèi)存(隨機存取存儲器)(RAM) 125。主機IF (第一接口控制器)121與主控制器27連接。主機IF121接收從主控制器27 (更具體地,為主控制器27的后述MPU273)傳輸?shù)男盘?,并向該主控制?7發(fā)送信號。具體地,主機IF121接收從主控制器27傳輸?shù)拿?寫入命令、讀取命令等)并將該接收的命令送至MPU123。此外,主機IF121使對于從主控制器27傳輸?shù)拿畹膩碜訫PU123的響應返回主控制器27。另外,主機IF121控制主控制器27和MPU123之間的數(shù)據(jù)傳輸。內(nèi)存IF (第二接口控制器)122與NAND內(nèi)存11連接,并在MPU123的控制下對NAND內(nèi)存11訪問。
[0022]MPU123基于從主控制器27傳輸?shù)拿顏砀鶕?jù)第一控制程序執(zhí)行用于對NAND內(nèi)存11進行訪問的處理(例如,寫入處理或讀取處理)。在本實施方式中,第一控制程序預先儲存于R0M124中。再有,也可使用能改寫的非易失性ROM、例如快閃R0M,來代替R0M124。RAM125的存儲區(qū)域的一部分用作MPU123的工作區(qū)域。RAM125的存儲區(qū)域的另一部分用于儲存后述的訪問計數(shù)表(” m勺 >夕7 — O) 125a。
[0023]0HDD20包括??盤21 ;頭22 ;主軸電機(SPM) 23 ;致動器24 ;驅動器集成電路(IC)25 ;頭IC26 ;主控制器27 ;快閃ROM (FROM) 28 ;和RAM29。盤21在例如其一個面具備磁記錄數(shù)據(jù)的記錄面。盤21通過SPM23而高速旋轉。SPM23由從驅動器IC25供給的驅動電流(或驅動電壓)驅動。
[0024]盤21 (更具體地,為盤21的記錄面)具備例如同心圓狀的多個軌道。再有,盤21當然也可具備螺旋狀地配置的多個軌道。頭(頭浮動體)22與盤21的記錄面對應地配置。頭22安裝于從致動器24的臂伸出的懸架的前端。致動器24具有成為該致動器24的驅動源的音圈電機(VCM) 240。VCM240由從驅動器IC25供給的驅動電流驅動。頭22通過致動器24由VCM240驅動而在盤21上移動以在該盤21的半徑方向上描繪圓弧。
[0025]在圖1中的構成中,假設了具備單個盤21的HDD20。但是,盤21也可以是層疊配置多個盤21的HDD。此外,在圖1的構成中,盤21在其一個面具備記錄面。但是,盤21也可以在其兩面具備記錄面,且在該兩記錄面分別對應地配置頭。
[0026]驅動器IC25根據(jù)主控制器27 (更具體地,主控制器27內(nèi)的MPU273)的控制來驅動SPM23和VCM240。通過由驅動器IC25驅動VCM240,而使頭22位于盤21的目標軌道。
[0027]頭IC26也被稱為前置放大器。頭IC26固定于例如致動器24的預定部位,且經(jīng)柔性印刷電路基板(FPC)與主控制器27電連接。但是,在圖1中,根據(jù)作圖的情況,頭IC26配置于從致動器24離開的部位。
[0028]頭IC26使由頭22的讀取元件讀取的信號(即讀取信號)增益。頭IC26還將從主控制器27 (更具體地,為主控制器27內(nèi)的R/W信道271)輸出的寫入數(shù)據(jù)轉換為寫入電流,并將該寫入電流向頭22的寫入元件輸出。
[0029]主控制器27通過例如將多個要素在單個芯片集成的大規(guī)模集成電路(LSI)來實現(xiàn)。主控制器27包括:讀取/寫入(R/W)信道271 ;硬盤控制器(HDC) 272 ;和MPU273。
[0030]R/W信道271處理與讀取/寫入相關的信號。S卩、R/W信道271將由頭IC26增益的讀取信號轉換為數(shù)字數(shù)據(jù),并從該數(shù)字數(shù)據(jù)譯碼讀取數(shù)據(jù)。R/W信道271還將經(jīng)MPU273從HDC272傳輸?shù)膶懭霐?shù)據(jù)符號化,并將給該已符號化的的寫入數(shù)據(jù)向頭IC26傳輸。
[0031]HDC272經(jīng)主機接口(存儲器接口)30與主機連接。