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