存儲裝置及其控制方法
【專利說明】存儲裝置及其控制方法
[0001]相關(guān)申請的交叉引用
[0002]本申請基于并要求2014年7月11日提交的編號為2014-143683的日本專利申請的優(yōu)先權(quán)益,該申請的全部內(nèi)容通過引用的方式在此納入。
技術(shù)領(lǐng)域
[0003]此處描述的實施例一般地涉及存儲裝置及其控制方法。
【背景技術(shù)】
[0004]在相關(guān)技術(shù)中,為了實現(xiàn)大數(shù)據(jù)容量和高速數(shù)據(jù)訪問,通過磁存儲單元和諸如NAND閃存之類的半導(dǎo)體存儲單元來配置混合驅(qū)動器。一類混合驅(qū)動器使用半導(dǎo)體存儲單元作為磁存儲單元的高速緩沖存儲器。
【發(fā)明內(nèi)容】
[0005]示例性實施例提供了一種針對來自主機的讀取請求提高響應(yīng)速度的存儲裝置及其控制方法。
[0006]—般而言,根據(jù)一個實施例,存儲裝置包括:磁存儲單元,其存儲數(shù)據(jù);半導(dǎo)體存儲單元,諸如NAND存儲器或閃存;以及控制器,其被配置為基于數(shù)據(jù)的訪問歷史,判定是否控制所述半導(dǎo)體存儲單元以存儲一部分?jǐn)?shù)據(jù),以及根據(jù)所述判定,控制所述半導(dǎo)體存儲單元以存儲該部分?jǐn)?shù)據(jù)。
【附圖說明】
[0007]圖1是根據(jù)第一實施例的存儲裝置的框圖。
[0008]圖2示出根據(jù)第一實施例的存儲裝置的緩存信息存儲單元的表結(jié)構(gòu)。
[0009]圖3示出根據(jù)第一實施例的存儲裝置的緩存屬性存儲單元的表結(jié)構(gòu)。
[0010]圖4是在根據(jù)第一實施例的存儲裝置的CPU執(zhí)行控制程序時產(chǎn)生的要素的框圖。
[0011]圖5是針對根據(jù)第一實施例的存儲裝置的NAND存儲器的緩存處理的流程圖。
[0012]圖6是根據(jù)第一實施例的存儲裝置中的數(shù)據(jù)讀取處理的流程圖。
[0013]圖7示出根據(jù)第二實施例的存儲裝置的緩存信息存儲單元的表結(jié)構(gòu)。
[0014]圖8示出針對根據(jù)第二實施例的存儲裝置的磁介質(zhì)的每個狀態(tài),在通過頭尋道之前執(zhí)行的操作。
[0015]圖9示出針對根據(jù)第二實施例的存儲裝置的磁介質(zhì)的每個狀態(tài),在數(shù)據(jù)讀取之前的時間段。
【具體實施方式】
[0016](第一實施例)
[0017]圖1是根據(jù)第一實施例的存儲裝置的框圖。如圖1所示,存儲裝置100包括主機I/F 101、緩沖器102、第一信號處理單元103、NAND存儲器104、第二信號處理單元105、頭106、磁記錄介質(zhì)107、讀寫通道108、VCM 109、主軸電動機110、驅(qū)動器1C 111、主控制器112和閃存113。
[0018]此外,在從磁記錄介質(zhì)107讀取數(shù)據(jù)之前,開始從NAND存儲器104讀取數(shù)據(jù)。例如,即使在磁記錄介質(zhì)107正以固定旋轉(zhuǎn)的方式旋轉(zhuǎn)時,尋道時間(頭106的移動時間)和旋轉(zhuǎn)延遲時間也是必要的,直到數(shù)據(jù)被從磁記錄介質(zhì)107讀取。與之相反,由于尋道時間和旋轉(zhuǎn)延遲時間對于NAND存儲器104而言不是必要的,因此可以立即開始從NAND存儲器104讀取數(shù)據(jù)。
[0019]主機I/F 101執(zhí)行與主機(未示出)兼容接口的標(biāo)準(zhǔn)對應(yīng)的處理。例如,主機1/F 101將從主機接收到的命令、數(shù)據(jù)等輸出到HDC 121。此外,主機I/F 101將從NAND存儲器104或磁記錄介質(zhì)107讀取的數(shù)據(jù)、來自HDC 121或CPU 122等的響應(yīng)發(fā)送到主機。
[0020]緩沖器102臨時存儲由NAND控制器142從主機接收到的數(shù)據(jù),直到該數(shù)據(jù)被存儲在NAND存儲器104中。另外,緩沖器102臨時存儲從NAND存儲器104讀取的數(shù)據(jù),直到該數(shù)據(jù)被發(fā)送到主機。此外,緩沖器102臨時存儲從磁記錄介質(zhì)107讀取的數(shù)據(jù),直到該數(shù)據(jù)被發(fā)送到主機,或者被存儲在NAND存儲器104中。緩沖器102例如由諸如靜態(tài)隨機存取存儲器(SRAM)和動態(tài)隨機存取存儲器(DRAM)之類的通用存儲器來配置。
[0021]第一信號處理單元103針對從緩沖器102接收到的數(shù)據(jù)以及要被寫入NAND存儲器104的數(shù)據(jù)執(zhí)行轉(zhuǎn)換處理。該轉(zhuǎn)換處理例如包括DA轉(zhuǎn)換、編碼處理等。另外,第一信號處理單元103針對從NAND存儲器104讀取的信號執(zhí)行轉(zhuǎn)換處理。該轉(zhuǎn)換處理例如包括AD轉(zhuǎn)換、解碼處理等。
[0022]第二信號處理單元105針對要被寫入磁記錄介質(zhì)107的數(shù)據(jù)執(zhí)行轉(zhuǎn)換處理。該轉(zhuǎn)換處理例如包括DA轉(zhuǎn)換、編碼處理等。另外,第二信號處理單元105針對從磁記錄介質(zhì)107讀取的信號執(zhí)行轉(zhuǎn)換處理。該轉(zhuǎn)換處理例如包括AD轉(zhuǎn)換、解碼處理等。此外,第二信號處理單元105可對頭106所讀取的信號執(zhí)行檢測或放大。
[0023]頭106對磁記錄介質(zhì)107寫入數(shù)據(jù)。此外,頭106從磁記錄介質(zhì)107讀取數(shù)據(jù)。
[0024]音圈電動機(VCM) 109被用于頭106相對于磁記錄介質(zhì)107的定位控制。
[0025]磁記錄介質(zhì)107是多個磁盤,每個磁盤都能讀取和寫入數(shù)據(jù)。主軸電動機110使多個磁盤旋轉(zhuǎn)。
[0026]驅(qū)動器1C 111根據(jù)CPU 122的控制來控制VCM 109的驅(qū)動。另外,驅(qū)動器1C 111根據(jù)CPU 122的控制來控制主軸電動機110的旋轉(zhuǎn)。
[0027]讀寫通道108在頭106與HDC 121之間執(zhí)行數(shù)據(jù)傳輸。例如,讀寫通道108對從HDC 121提供的數(shù)據(jù)和要被寫入磁記錄介質(zhì)107的數(shù)據(jù)執(zhí)行代碼調(diào)制,并將數(shù)據(jù)提供給第二信號處理單元105。另外,讀寫通道108對使用頭106從磁記錄介質(zhì)107讀取的、并由第二信號處理單元105轉(zhuǎn)換的數(shù)據(jù)執(zhí)行代碼解調(diào),并將數(shù)據(jù)作為數(shù)字?jǐn)?shù)據(jù)輸出到HDC 121。
[0028]NAND存儲器104包括數(shù)據(jù)區(qū)域和管理區(qū)域。數(shù)據(jù)區(qū)域是這樣的區(qū)域:其中,對來自主機的數(shù)據(jù)或來自磁記錄介質(zhì)107的數(shù)據(jù)進行緩存,并且從該區(qū)域可以高速執(zhí)行數(shù)據(jù)讀取。管理區(qū)域存儲用于管理NAND存儲器104的數(shù)據(jù)區(qū)域的信息,并且包括緩存信息存儲單元131和緩存屬性存儲單元132。也就是說,緩存信息存儲單元131和緩存屬性存儲單元132被存儲在非易失性存儲單元中。
[0029]緩存信息存儲單元131存儲與存儲在NAND存儲器104中的數(shù)據(jù)相關(guān)的信息。圖2例示出根據(jù)第一實施例的存儲在緩存信息存儲單元131中的信息的結(jié)構(gòu)。如圖2所示,緩存信息存儲單元131將邏輯塊地址(LBA)、塊(數(shù)據(jù)大小)和屬性以彼此關(guān)聯(lián)的方式進行存儲。
[0030]邏輯塊地址(LBA)將存儲在NAND存儲器104中的數(shù)據(jù)的起始位置表示為主機管理的邏輯地址。塊表示存儲在NAND存儲器104中的數(shù)據(jù)的大小。屬性表示當(dāng)訪問數(shù)據(jù)時從主機接收的命令的屬性。
[0031]例如,當(dāng)緩存信息存儲單元131存儲LBA “ 1000h”、塊“2000h”和屬性“順序讀取(sequential reading) ”時,其表示從起始地址(LBA) “ 1000h”開始的塊為“2000h”的數(shù)據(jù)存儲在NAND存儲器104中。
[0032]同時,對于隨機讀取,每當(dāng)待讀取數(shù)據(jù)的位置更改時,尋道時間(頭106的移動時間)和旋轉(zhuǎn)延遲時間都是必要的。與之相反,順序讀取允許在已經(jīng)執(zhí)行了尋道和旋轉(zhuǎn)延遲之后連續(xù)讀取數(shù)據(jù)。為此,順序讀取允許在旋轉(zhuǎn)延遲之后以相對高的速度執(zhí)行數(shù)據(jù)讀取。
[0033]因此,根據(jù)實施例,在順序讀取的情況下,可在尋道和旋轉(zhuǎn)延遲期間從NAND存儲器104發(fā)送到主機的數(shù)據(jù)被存儲在NAND存儲器104中。也就是說,NAND控制器142從NAND存儲器104讀取數(shù)據(jù),同時CPU 122通過驅(qū)動器1C 111使頭106執(zhí)行尋道和旋轉(zhuǎn)延遲。此夕卜,當(dāng)尋道和旋轉(zhuǎn)延遲完成時,HDC 121根據(jù)來自CPU 122的命令,從磁記錄介質(zhì)107讀取在從NAND存儲器104讀取的數(shù)據(jù)之后的數(shù)據(jù)。通過此方式,由于可以在順序讀取期間執(zhí)行高速數(shù)據(jù)讀取,并且減少存儲在NAND存儲器104中的數(shù)據(jù)量,因此NAND存儲器104可被有效地使用。
[0034]為此,在緩存信息存儲單元131中,存儲在NAND存儲器104中的數(shù)據(jù)和屬性彼此相關(guān)聯(lián)。設(shè)定指示是否為順序讀取的信息,作為所接收到的命令的屬性。
[0035]返回圖1,緩存屬性存儲單元132存儲針對存儲在NAND存儲器104中的數(shù)據(jù)要執(zhí)行的動作。圖3例示出存儲在緩存屬性存儲單元132中的信息的結(jié)構(gòu)。如圖3所示,緩存屬性