存儲器控制器、數(shù)據(jù)存儲裝置和存儲器控制方法
【專利說明】存儲器控制器、數(shù)據(jù)存儲裝置和存儲器控制方法
[0001]本發(fā)明要求在2012年9月19日提交的日本專利申請?zhí)?012-205664的優(yōu)先權(quán),通過引用將該專利的全部公開內(nèi)容包含于此。
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種存儲器控制器、數(shù)據(jù)存儲裝置和存儲器控制方法,并且更具體地,涉及對第一存儲器和第二存儲器進(jìn)行控制的存儲器控制器、包括這樣的存儲器控制器的數(shù)據(jù)存儲裝置、以及用于對第一存儲器和第二存儲器進(jìn)行控制的存儲器控制方法。第一存儲器是被配置為通過如下的寫入操作來寫入數(shù)據(jù)的非易失性存儲器,其中,在該寫入操作中,以包括多個扇區(qū)的頁為單位讀出數(shù)據(jù),與讀出的數(shù)據(jù)中的寫入數(shù)據(jù)相對應(yīng)的扇區(qū)被寫入數(shù)據(jù)覆蓋,然后以頁為單位寫入數(shù)據(jù)。與第一存儲器相比,第二存儲器是被配置為允許進(jìn)行更快地數(shù)據(jù)寫入的非易失性隨機(jī)存取存儲器。
【背景技術(shù)】
[0003]傳統(tǒng)上提出的這種類型的存儲器控制器對鐵電隨機(jī)存取存儲器(FeRAM)和硬盤驅(qū)動器(HDD)進(jìn)行控制,以使得可以將來自個人計算機(jī)系統(tǒng)的數(shù)據(jù)存儲到該FeRAM中,其中,該FeRAM為即使在電源被切斷的情況下也能保留其存儲數(shù)據(jù)的非易失性隨機(jī)存取存儲器、并且用作高速緩存存儲器(例如,參見非專利文獻(xiàn)1,"A 128Mb ChainFeRAMTM andSystem Designs for HDD Applicat1n and Enhanced HDD Performance", by DaisaburoTakashima et al)。這種類型的控制器已經(jīng)消除了定期將存儲在FeRAM中的數(shù)據(jù)保存到HDD中以備意料之外的電源切斷的必要,因而增大了要存儲到FeRAM中的數(shù)據(jù)量,并且提高了高速緩存命中率。
_4] 現(xiàn)有技術(shù)文獻(xiàn)_5] 非專利文獻(xiàn)
[0006]非專利文獻(xiàn)1:Daisaburo Takashima et al, 〃A 128Mb ChainFeRAMTM andSystem Designs for HDD Applicat1n and Enhanced HDD Performance",IEEE AsianSolid-State Circuits Conference, November 16-18,2009,Taipei,Taiwan0
【發(fā)明內(nèi)容】
[0007]已開發(fā)出的用于存儲來自主機(jī)裝置的數(shù)據(jù)的固態(tài)驅(qū)動器(SSD)包括:諸如NAND閃速存儲器等的非易失性存儲器,其通過如下的寫入操作來寫入數(shù)據(jù),該寫入操作首先以包括多個扇區(qū)的頁為單位讀出存儲的數(shù)據(jù),以扇區(qū)為單位寫入讀出的數(shù)據(jù),然后以頁為單位寫入數(shù)據(jù);諸如電阻式隨機(jī)存取存儲器(ReRAM)等的非易失性隨機(jī)存取存儲器,其允許進(jìn)行比非易失性存儲器更快的數(shù)據(jù)讀出/寫入;以及存儲器控制器,其控制非易失性存儲器和非易失性隨機(jī)存取存儲器。在這樣的SSD中,重復(fù)對非易失性存儲器進(jìn)行寫入操作可能導(dǎo)致非易失性存儲器的劣化,因而抑制非易失性存儲器的劣化已成為迫切的問題。并且,在這樣的SSD中,也迫切需要以更高的速度進(jìn)行數(shù)據(jù)寫入。因此,期望在SSD中實現(xiàn)在抑制非易失性存儲器的劣化的情況下進(jìn)行更快的數(shù)據(jù)寫入。
[0008]根據(jù)本發(fā)明的存儲器控制器、數(shù)據(jù)存儲裝置和存儲器控制方法,主要期望實現(xiàn)更快的數(shù)據(jù)寫入和非易失性存儲器中的減小的劣化。
[0009]本發(fā)明的存儲器控制器、數(shù)據(jù)存儲裝置和存儲器控制方法使用以下部件來實現(xiàn)上述主要目的。
[0010]本發(fā)明的存儲器控制器用于對第一存儲器和第二存儲器進(jìn)行控制,其中,所述第一存儲器被配置為通過如下的寫入操作來寫入數(shù)據(jù)的非易失性存儲器,其中,在該寫入操作中,以包括多個扇區(qū)的頁為單位讀出數(shù)據(jù),利用讀出的數(shù)據(jù)中的寫入數(shù)據(jù)覆蓋與該寫入數(shù)據(jù)相對應(yīng)的扇區(qū),然后以頁為單位寫入數(shù)據(jù),并且,所述第二存儲器被配置為與所述第一存儲器相比允許進(jìn)行更快的數(shù)據(jù)寫入的非易失性隨機(jī)存取存儲器。
[0011]所述存儲器控制器包括寫入控制器和數(shù)據(jù)轉(zhuǎn)移控制器。所述寫入控制器用于當(dāng)輸入了所述寫入數(shù)據(jù)和請求寫入所述寫入數(shù)據(jù)的寫入請求信號時,對所述第一存儲器和所述第二存儲器進(jìn)行控制,以使得在將所述寫入數(shù)據(jù)寫入所述第一存儲器時所獲得的數(shù)據(jù)利用率等于或高于第一比率的情況下,通過所述寫入操作來將輸入的寫入數(shù)據(jù)寫入所述第一存儲器;并且對所述第一存儲器和所述第二存儲器進(jìn)行控制,以使得在所述數(shù)據(jù)利用率低于所述第一比率的情況下,將輸入的寫入數(shù)據(jù)存儲至所述第二存儲器中,其中,所述數(shù)據(jù)利用率表示具有預(yù)定大小的存儲區(qū)域中用于存儲所述寫入數(shù)據(jù)的扇區(qū)大小的比率。
[0012]所述數(shù)據(jù)轉(zhuǎn)移控制器用于在所述第二存儲器中的空閑空間小于預(yù)定容量的情況下,至少將所述第二存儲器中所存儲的數(shù)據(jù)是具有低重寫頻率的低頻率重寫數(shù)據(jù)作為必要條件來執(zhí)行數(shù)據(jù)轉(zhuǎn)移控制,該數(shù)據(jù)轉(zhuǎn)移控制對所述第一存儲器和所述第二存儲器進(jìn)行控制,以使得將所述低頻率重寫數(shù)據(jù)從所述第二存儲器讀出以通過所述寫入操作寫入所述第一存儲器。
[0013]本發(fā)明的存儲器控制器當(dāng)輸入了所述寫入數(shù)據(jù)和請求寫入所述寫入數(shù)據(jù)的寫入請求信號時,對所述第一存儲器和所述第二存儲器進(jìn)行控制,以使得在將所述寫入數(shù)據(jù)寫入所述第一存儲器時所獲得的數(shù)據(jù)利用率等于或高于第一比率的情況下,通過寫入操作來將輸入的寫入數(shù)據(jù)寫入所述第一存儲器;并且對所述第一存儲器和所述第二存儲器進(jìn)行控制,以使得在所述數(shù)據(jù)利用率低于所述第一比率的情況下,將輸入的寫入數(shù)據(jù)存儲至所述第二存儲器中,其中,所述數(shù)據(jù)利用率表示具有預(yù)定大小的存儲區(qū)域中用于存儲所述寫入數(shù)據(jù)的扇區(qū)大小的比率。在所述第一存儲器的數(shù)據(jù)寫入操作中,以包括多個扇區(qū)的頁為單位讀出數(shù)據(jù),利用讀出的數(shù)據(jù)中的寫入數(shù)據(jù)覆蓋與該寫入數(shù)據(jù)相對應(yīng)的扇區(qū),然后以頁為單位寫入數(shù)據(jù)。因此,在所述第一存儲器的寫入操作中,還對未用于數(shù)據(jù)存儲的扇區(qū)進(jìn)行讀出和寫入。在執(zhí)行寫入操作的情況下非易失性存儲器劣化。因而期望對這樣的未用于數(shù)據(jù)存儲的扇區(qū)不進(jìn)行寫入。為了實現(xiàn)該目的,對第一存儲器和第二存儲器進(jìn)行控制,以使得在數(shù)據(jù)利用率低于第一比率的情況下將輸入的寫入數(shù)據(jù)存儲至第二存儲器中。這使得第一存儲器中的數(shù)據(jù)利用率等于或高于第一比率,因而減少了相對于第一存儲器中未用于數(shù)據(jù)存儲的存儲區(qū)域的讀出/寫入。通過這種方式,能夠抑制第一存儲器的劣化。隨著如上所述的數(shù)據(jù)被寫入第二存儲器中,第二存儲器中空閑空間減少。由于與第一存儲器相比,第二存儲器允許進(jìn)行更快的數(shù)據(jù)寫入,因此,第二存儲器中這樣更少的空閑空間可能最終禁止到第二存儲器的寫入,這降低了數(shù)據(jù)寫入速度。并且,如果第二存儲器包含大量作為具有低重寫頻率的低頻率重寫數(shù)據(jù)的數(shù)據(jù),則將進(jìn)一步降低數(shù)據(jù)寫入速度。為了避免這種情況,在第二存儲器中的空閑空間小于預(yù)定容量的情況下,對第一存儲器和第二存儲器進(jìn)行控制,以使得在第二存儲器中所存儲的數(shù)據(jù)是具有低重寫頻率的低頻率重寫數(shù)據(jù)的情況下,將低頻率重寫數(shù)據(jù)從第二存儲器讀出以通過寫入操作寫入第一存儲器。這防止了第二存儲器中的空閑空間減少到小于預(yù)定容量,從而使得進(jìn)行更快的數(shù)據(jù)寫入。通過這種方式,可以抑制非易失性存儲器的劣化并且實現(xiàn)更快的數(shù)據(jù)寫入。在這方面,“預(yù)定大小”例如是指預(yù)先確定為頁大小的大小、多頁的大小、或者比與寫入數(shù)據(jù)的邏輯地址相對應(yīng)的頁中的一個扇區(qū)的大小大的大小?!暗谝淮鎯ζ鳌卑∟AND閃速存儲器,并且“第二存儲器”包括電阻式隨機(jī)存取存儲器。
[0014]在本發(fā)明的這樣的存儲器控制器中,所述數(shù)據(jù)轉(zhuǎn)移控制器可以被配置為在所述第二存儲器中的空閑空間小于所述預(yù)定容量的情況下,至少將所述第二存儲器中所存儲的數(shù)據(jù)是所述低頻率重寫數(shù)據(jù)和將所述低頻率重寫數(shù)據(jù)寫入所述第一存儲器時所獲得的所述數(shù)據(jù)利用率等于或高于比所述第一比率低的第二比率作為必要條件,來執(zhí)行所述數(shù)據(jù)轉(zhuǎn)移控制。這防止了使數(shù)據(jù)利用率低于第二比率的數(shù)據(jù)存儲至第一存儲器中,從而抑制了第一存儲器的劣化。
[0015]在將具有包含用于存儲低頻率重寫數(shù)據(jù)的扇區(qū)的預(yù)定大小的數(shù)據(jù)寫入第一存儲器時所獲得的數(shù)據(jù)利用率等于或高于比第一比率低的第二比率的情況下執(zhí)行數(shù)據(jù)轉(zhuǎn)移控制的本發(fā)明的存儲器控制器還包括地址管理部和高利用率地址信息存儲器。地址管理部用于通過使用包括表示包含數(shù)據(jù)的頁的頁地址和表示用于存儲該頁中所包含的數(shù)據(jù)的扇區(qū)的扇區(qū)地址的邏輯地址,來管理所述第一存儲器和所述第二存儲器。高利用率地址信息存儲器用于存儲使所述數(shù)據(jù)利用率等于或高于所述第一比率的寫入數(shù)據(jù)的所述邏輯地址。所述數(shù)據(jù)轉(zhuǎn)移控制器可以被配置為在所述高利用率地址信息存儲器中存儲的輸入的所述寫入數(shù)據(jù)的邏輯地址的個數(shù)小于預(yù)定個數(shù)的情況下,判斷為輸入的所述寫入數(shù)據(jù)是所述低頻率重寫數(shù)據(jù)。
[0016]在將具有包含用于存儲低頻率重寫數(shù)據(jù)的扇區(qū)的預(yù)定大小的數(shù)據(jù)寫入第一存儲器時所獲得的數(shù)據(jù)利用率等于或高于比第一比率低的第二比率的情況下執(zhí)行數(shù)據(jù)轉(zhuǎn)移控制的本發(fā)明的存儲器控制器還包括頁地址存儲器。頁地址存儲器用于當(dāng)所述第二存儲器中的空閑空間小于所述預(yù)定容量時,在所述第二存儲器中所存儲的數(shù)據(jù)是所述低頻率重寫數(shù)據(jù)并且將所述低頻率重寫數(shù)據(jù)寫入所述第一存儲器時所獲得的所述數(shù)據(jù)利用率等于或高于所述第二比率的情況下,對包含低頻率重寫數(shù)據(jù)的頁的頁地址進(jìn)行存儲。所述數(shù)據(jù)轉(zhuǎn)移控制器被配置為在所述第二存儲器中的空閑空間小于所述預(yù)定容量的情況下,至少將所述第二存儲器中所存儲的數(shù)據(jù)是所述低頻率重寫數(shù)據(jù)、將所述低頻率重寫數(shù)據(jù)寫入所述第一存儲器時所獲得的所述數(shù)據(jù)利用率等于或高于所述第二比率、以及所述頁地址存儲器中所存儲的頁地址的個數(shù)等于或大于預(yù)定個數(shù)作為必要條件,來針對第二存儲器中的與所述頁地址存儲器所存儲的頁地址相對應(yīng)的數(shù)據(jù)執(zhí)行所述數(shù)據(jù)轉(zhuǎn)移控制。該配置防止了頻繁地讀出第二存儲器所存儲的數(shù)據(jù)來寫入第一存儲器。在這種情況下,所述數(shù)據(jù)轉(zhuǎn)移控制器被配置為在所述第二存儲器中的空閑空間小于所述預(yù)定容量的情況下,針對比所述預(yù)定個數(shù)多的多個頁,在判斷所述第二存儲器中所存儲的數(shù)據(jù)是否是所述低頻率重寫數(shù)據(jù)并且將所述低頻率重寫數(shù)據(jù)寫入所述第一存儲器時所獲得的所述數(shù)據(jù)利用率是否等于或高于所述第二比率之后,在所述頁地址存儲器中所存儲的頁地址的個數(shù)小于所述預(yù)定個數(shù)的情況下減小所述第二比率,在所述頁地址存儲器中所存儲的頁地址的個數(shù)等于所述預(yù)定個數(shù)的情況下維持所述第二比率的值而不對該值進(jìn)行任何改變,在所述頁地址存儲器中所存儲的頁地址的個數(shù)大于所述預(yù)定個數(shù)的情況下增大所述