具有易失性和非易失性存儲器的混合固態(tài)存儲器系統(tǒng)的制作方法
【專利摘要】提供用于保存數(shù)據(jù)的混合固態(tài)存儲器系統(tǒng)。固態(tài)存儲器系統(tǒng)包括易失性固態(tài)存儲器、非易失性固態(tài)存儲器和存儲器控制器。此外,提供一種用于在固態(tài)存儲器系統(tǒng)中保存數(shù)據(jù)的方法,所述方法包括下面的步驟。由存儲器控制器接收寫命令。響應(yīng)于寫命令,在易失性存儲器中保存寫數(shù)據(jù)。響應(yīng)于數(shù)據(jù)傳送請求,從易失性存儲器傳送數(shù)據(jù)到非易失性存儲器。
【專利說明】具有易失性和非易失性存儲器的混合固態(tài)存儲器系統(tǒng)
[0001]本申請為申請?zhí)枮?00780046944.0、申請日為2007年12月18日、發(fā)明名稱為“具
有易失性和非易失性存儲器的混合固態(tài)存儲器系統(tǒng)”的申請的分案申請。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明總的涉及固態(tài)存儲器系統(tǒng),并且更具體地,本發(fā)明涉及包括易失性和非易失性存儲器的混合固態(tài)存儲器系統(tǒng)。
【背景技術(shù)】
[0003]當(dāng)前計算機系統(tǒng)中最常用的大容量存儲系統(tǒng)是使用一個或者多個旋轉(zhuǎn)盤并且磁性地記錄數(shù)據(jù)的硬盤驅(qū)動器(HDD)。盡管HDD能夠保存大量信息,但是相比于固態(tài)存儲器它們存在很多不足。具體而言,HDD具有較低的讀/寫速度、較高的功耗、較大的系統(tǒng)尺寸和較低的耐機械沖擊性。
[0004]固態(tài)存儲器是使用存儲器芯片來保存數(shù)據(jù)的數(shù)據(jù)存儲裝置。例如諸如快閃存儲器的非易失性固態(tài)存儲器隨著它們的存儲密度的增加變得日益普遍??梢灶A(yù)想到的是由于之上所描述的固態(tài)存儲器的優(yōu)勢,固態(tài)存儲器最終將會在諸如筆記本計算機的移動計算機中取代HDD。
[0005]然而,也存在著和快閃存儲器的使用相關(guān)的公知的問題。一個公知問題就是快閃存儲單元具有有限次數(shù)的重寫周期。例如,重寫周期的典型的最大次數(shù)介于100000到1000000周期之間。此外,為了滿足存儲密度和低成本的需求,將可能使用多層單元(MLC)技術(shù)。然而,MLC典型地將每快閃存儲單元的重寫周期的最大次數(shù)減少兩個量級,例如從1000000周期到10000周期。
[0006]快閃存儲器的另一個問題是讀/編程和擦除操作之間的尺寸失配。具體地,在快閃存儲器中,讀和編程操作以頁面為基礎(chǔ)執(zhí)行,而擦除操作是以塊為基礎(chǔ)執(zhí)行。因此,最小的可擦除尺寸通常比讀/編程尺寸大16到64倍。由于快閃存儲器裝置中的存儲單元必須在用新數(shù)據(jù)進行編程之前被擦除,所以必須擦除整個塊以便寫新的頁面。這進一步加重了具有有限次數(shù)的重寫周期的問題。
[0007]因此,已經(jīng)提出多種解決方案來解決這些問題。在授權(quán)給Conley的美國專利6763424中描寫了許多這樣的嘗試性的解決方案。然而,雖然這些解決方案提供了一定程度的改進,但是它們?nèi)耘f需要顯著數(shù)量的頁面被重寫。
[0008]因此可以看到,對于存儲器系統(tǒng)存在進一步減少由快閃存儲器執(zhí)行的讀/寫操作的數(shù)量的需要,從而延長存儲器系統(tǒng)的壽命預(yù)期。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的目的是消除或減輕上述不足中的至少一些。因此,提供了一種固態(tài)存儲器的存儲器系統(tǒng),其組合了諸如動態(tài)隨機存取存儲器(DRAM)和靜態(tài)隨機存取存儲器(SRAM)的易失性存儲器和諸如快閃存儲器的非易失性存儲器。以采用每一種類型存儲器的優(yōu)點的方式來組合這些存儲器,以提高整個系統(tǒng)性能并且提高存儲裝置的壽命預(yù)期。
[0010]根據(jù)本發(fā)明的一個方面,提供一種固態(tài)存儲器系統(tǒng),包括:易失性固態(tài)存儲器;非易失性固態(tài)存儲器;配置成在易失性存儲器中保存寫數(shù)據(jù)的存儲器控制器,所述存儲器控制器還被配置成響應(yīng)于數(shù)據(jù)傳送請求將數(shù)據(jù)從易失性存儲器傳送到非易失性存儲器。
[0011]根據(jù)本發(fā)明的另一個方面,提供一種用于在包括易失性固態(tài)存儲器、非易失性固態(tài)存儲器和存儲器控制器的固態(tài)存儲器系統(tǒng)中保存數(shù)據(jù)的方法,所述方法包括步驟:接收命令以便保存寫數(shù)據(jù);作為響應(yīng)將寫數(shù)據(jù)保存在易失性存儲器中;和響應(yīng)于數(shù)據(jù)傳送請求將數(shù)據(jù)從易失性存儲器傳送到非易失性存儲器。
【專利附圖】
【附圖說明】
[0012]現(xiàn)在參考附圖來描述本發(fā)明的實施例,其中:
[0013]圖1為示出固態(tài)存儲器系統(tǒng)的框圖;
[0014]圖2a為示出具有多個塊的存儲單元陣列結(jié)構(gòu)的框圖;
[0015]圖2b為示出具有多個頁面的塊結(jié)構(gòu)的框圖;
[0016]圖2c為示出頁面結(jié)構(gòu)的框圖;
[0017]圖3a和3b分別是易失性和非易失性存儲器的存儲空間圖;
[0018]圖4和圖5為示出固態(tài)存儲器系統(tǒng)執(zhí)行的過程的流程圖;
[0019]圖6為使用公共總線與多個存儲器裝置通信的固態(tài)存儲器系統(tǒng)的框圖;
[0020]圖7為使用多個公共總線與多個存儲器裝置通信的固態(tài)存儲器系統(tǒng)的框圖;
[0021]圖8為使用多個公共總線與多個存儲器裝置通信的固態(tài)存儲器系統(tǒng)的框圖,每一條總線和一個類型的存儲器裝置通信;
[0022]圖9為使用菊花鏈結(jié)構(gòu)和多個存儲器裝置通信的固態(tài)存儲器系統(tǒng)的框圖;
[0023]圖10為使用多個鏈和多個存儲器裝置通信的固態(tài)存儲器系統(tǒng)的框圖;和
[0024]圖11為使用多個鏈和多個存儲器裝置通信的固態(tài)存儲器系統(tǒng)的框圖,每一條鏈和一個類型的存儲器裝置通信。
【具體實施方式】
[0025]為方便起見,說明書中相同的標(biāo)號是指附圖中相同的結(jié)構(gòu)。參見圖1,用標(biāo)號100總的表示固態(tài)存儲器系統(tǒng)的框圖。固態(tài)存儲器系統(tǒng)100包括存儲器控制器102和固態(tài)存儲器104。外部裝置106通過存儲器控制器102與固態(tài)存儲器104通信。
[0026]在本實施例中,存儲器控制器102包括虛擬映射系統(tǒng)108 (或者簡單映射系統(tǒng)108)。映射系統(tǒng)108被用于將與請求相關(guān)聯(lián)的邏輯地址映射到與固態(tài)存儲器104相關(guān)聯(lián)的物理地址。
[0027]固態(tài)存儲器104包括易失性存儲器104a和非易失性存儲器104b??梢岳斫?,易失性存儲器104a和非易失性存儲器104b可以包括一個或者多個存儲器裝置。
[0028]在本實施例中,易失性存儲器104a包括DRAM存儲器并且非易失性存儲器104b包括NAND快閃存儲器。然而可以理解,可以使用其他類型的易失性存儲器104a和非易失性存儲器104b。
[0029]由于固態(tài)存儲器系統(tǒng)100包括易失性存儲器,所以它也可以包括有內(nèi)部電池(未示出)來保持數(shù)據(jù)。如果失去對固態(tài)存儲器系統(tǒng)100供電,則該電池將保持足夠的電力以便將數(shù)據(jù)從易失性存儲器104a復(fù)制到非易失性存儲器104b。然而,更普通地,電池的電力作為外部系統(tǒng)的一部分將被提供。
[0030]參見圖2a,用標(biāo)號100總的示出存儲單元陣列結(jié)構(gòu)的框圖。單元陣列200包括η個可擦除塊202,被標(biāo)記為從塊O到塊η-1。
[0031]參見圖2b,更詳細地示出說明單元陣列塊202的框圖。每一個塊202都包括m個可編程頁面252,被標(biāo)記為從頁面O到頁面m-1。
[0032]參見圖2c,更詳細地示出說明可編程頁面252的框圖。每一個頁面252包括用于保存數(shù)據(jù)的數(shù)據(jù)域262和用于保存和數(shù)據(jù)相關(guān)的附加信息(諸如錯誤管理功能)的備用域264。數(shù)據(jù)域包括j個字節(jié)(B )并且備用域264包括k個字節(jié)(B )。
[0033]因此,可以看到每一個頁面252包括(j+k)個字節(jié)(B)。每一個塊202包括m個頁面252,并且因此,一個塊202是(j+k) *m個字節(jié)(B)。進一步,對于η個塊202的單元陣列200的總存儲容量為(j+k) *m*n個字節(jié)(B)。為了方便起見,以下使用縮寫:1B=8位;1K=1024 ;1Μ=1024Κ ;并且 1G=1024M。
[0034]參見圖3a和圖3b,分別示出了說明根據(jù)本實施例的易失性存儲器104a和非易失性存儲器104b的框圖。以下描述提供了對于頁面、塊和單元的示例性的尺寸。然而,可以理解這些尺寸對于不同實現(xiàn)可以極大地變化并且隨著技術(shù)進步將繼續(xù)變化。此外,可以理解,例如諸如DRAM的易失性存儲器104a并不必需具有塊和頁面結(jié)構(gòu)。因此,臨時保存在易失性存儲器104a中的任何數(shù)據(jù)也可以包括對應(yīng)的塊地址和/或頁面地址。當(dāng)數(shù)據(jù)被傳送到非易失性存儲器104b時,引用塊地址和/或頁面地址。從而只要易失性存儲器104a中的數(shù)據(jù)是塊和頁面可尋址的,則易失性存儲器104a本身就不需要被物理映射到非易失性存儲器104b上。
[0035]在本實施例中,對于易失性存儲器104a和非易失性存儲器104b而言,頁面252的尺寸是相同的。具體地,頁面252包括2112B,數(shù)據(jù)域262有2048B并且備用域264有64B。
[0036]進一步,對于易失性存儲器104a和非易失性存儲器104b而言,塊202的尺寸相同。具體地,由于每一塊202具有64個頁面252,所以每一塊202包括132KB,數(shù)據(jù)域262有128KB并且備用域264有4KB。
[0037]根據(jù)本實施例,易失性存儲器104a中的塊202的數(shù)量少于非易失性存儲器104b中的塊202的數(shù)量。具體地,易失性存儲器104a包括8K個塊并且非易失性存儲器104b包括256K個塊。因此,易失性存儲器104a包括1056MB,數(shù)據(jù)域262有1GB,并且備用域264有32MB。非易失性存儲器104b包括33GB,數(shù)據(jù)域262有32GB,備用域264有1GB。
[0038]為了清楚起見,以下描述NAND快閃裝置的總的操作。以頁面為基礎(chǔ)執(zhí)行讀和編程操作,而以塊為基礎(chǔ)執(zhí)行擦除操作。
[0039]對于讀操作,后面有邏輯地址的READ命令被發(fā)送到固態(tài)存儲器系統(tǒng)100。映射系統(tǒng)確定對應(yīng)于邏輯地址的物理地址。對應(yīng)于物理地址的數(shù)據(jù)從易失性存儲器104a中被讀出,或者如果該物理地址不存在于易失性存儲器104a中,則從非易失性存儲器104b中讀出所述對應(yīng)于物理地址的數(shù)據(jù)。
[0040]在數(shù)據(jù)從非易失性存儲器104b中被讀出的情況中,所讀出的數(shù)據(jù)可以在易失性存儲器104a中被編程。其中細節(jié)將參考圖4和圖5被描述。[0041]對于編程操作,后面有地址和輸入數(shù)據(jù)的PROGRAM命令被發(fā)給固態(tài)存儲器系統(tǒng)100。數(shù)據(jù)在易失性存儲器104a中被初始編程。如果PROGRAM命令所引用的地址在易失性存儲器104a中已經(jīng)被編程,則數(shù)據(jù)在該地址處被重寫。如果PROGRAM命令所引用的地址在易失性存儲器104a中還沒有被編程,則在易失性存儲器104a中建立該地址的空間。
[0042]對于塊擦除操作,后面有塊地址的BLOCK ERASE命令被發(fā)給固態(tài)存儲器系統(tǒng)100。在少于預(yù)定的塊擦除時間tBEKS內(nèi)擦除塊中的128K字節(jié)的數(shù)據(jù)。參見圖4,以標(biāo)號400總的示出說明根據(jù)一個實施例的固態(tài)存儲器系統(tǒng)100執(zhí)行的過程的流程圖。在步驟402,存儲器控制器102接收操作請求。該操作請求典型地包括命令。命令類型例如包括讀、編程和擦除。依據(jù)該命令,其它信息可以被包括作為操作請求的一部分。例如,讀和寫命令將包括邏輯地址。此外,寫命令也將包括要寫入的數(shù)據(jù)。
[0043]在步驟404,存儲器控制器102處理該請求并且確定所請求的操作。在步驟406,確定請求是否包括涉及從易失性存儲器104a傳送數(shù)據(jù)到非易失性存儲器104b的操作。存在著許多必須傳送數(shù)據(jù)的情況。例如,系統(tǒng)重啟動、系統(tǒng)功耗降低或者存儲器維持操作都可以建立數(shù)據(jù)傳送請求。因此,如果在存儲器控制器102處接收到傳送數(shù)據(jù)的請求,則該過程在步驟408處繼續(xù)下去。否則,該過程在步驟414處繼續(xù)下去。
[0044]在步驟408,保存在易失性存儲器104a中的數(shù)據(jù)被傳送到非易失性存儲器104b并且相應(yīng)地更新映射系統(tǒng)108。根據(jù)用于更新在非易失性存儲器104b中的數(shù)據(jù)的任何現(xiàn)有技術(shù)的方法都能夠進行該傳送。在步驟409,使用在非易失性存儲器104b中的所傳送數(shù)據(jù)的物理地址來更新映射系統(tǒng)108。在步驟410,確定數(shù)據(jù)的傳送是否是響應(yīng)于功耗降低操作。如果數(shù)據(jù)的傳送是響應(yīng)于功耗降低操作而執(zhí)行的,則在步驟412固態(tài)存儲器系統(tǒng)100降低功耗。如果數(shù)據(jù)的傳送是響應(yīng)于其它操作而執(zhí)行的,則過程返回到步驟402。
[0045]在步驟414,確定所請求的操作是讀操作還是寫操作。如果確定操作是讀操作,則過程在步驟416處繼續(xù)下去。否則過程在步驟420處繼續(xù)下去。
[0046]在步驟416,存儲器控制器102使用映射系統(tǒng)108將要讀出的所接收的數(shù)據(jù)的邏輯地址翻譯為物理地址。在步驟418,按照本領(lǐng)域中的標(biāo)準(zhǔn)從非易失性存儲器104b中讀出數(shù)據(jù),并且過程返回到步驟402。
[0047]在步驟420,存儲器控制器102使用映射系統(tǒng)108將要寫入的所接收的數(shù)據(jù)的邏輯地址翻譯為物理地址。在步驟422,映射系統(tǒng)108確定該物理地址是匹配非易失性存儲器地址還是匹配易失性存儲器地址。
[0048]如果物理地址對應(yīng)于易失性存儲器地址,則過程在步驟424處繼續(xù)下去。在步驟424,伴隨寫操作的數(shù)據(jù)被寫到易失性存儲器中的物理地址,覆蓋先前存在的數(shù)據(jù)。寫數(shù)據(jù)到諸如DRAM的易失性存儲器104a不要求該存儲器在寫操作之前被擦除。此外,易失性存儲器104a不會遭受與諸如快閃存儲器的非易失性存儲器104b相關(guān)聯(lián)的重寫周期的限制。一旦數(shù)據(jù)被寫到易失性存儲器104a,則過程進行到步驟434。在步驟434處,使用寫數(shù)據(jù)的物理地址來更新映射系統(tǒng)108,并且如果它是未決的則過程返回到步驟402以便執(zhí)行下一操作。
[0049]如果物理地址對應(yīng)于非易失性存儲器地址,則過程在步驟426處繼續(xù)下去。在步驟426處,存儲器控制器確定在易失性存儲器104a中可用的空間量。在步驟428處,確定可用的空間量是否大于要寫入的數(shù)據(jù)所需要的空間量。如果空間不夠,則過程在步驟430處繼續(xù)下去。否則,過程在步驟432處繼續(xù)下去。
[0050]在步驟430,保存在易失性存儲器104a中的數(shù)據(jù)的至少一部分被傳送到非易失性存儲器104b。在本實施例中,預(yù)定數(shù)量的塊從易失性存儲器104a傳送到非易失性存儲器104b。此外,在本實施例中,選擇用于傳送的塊是最“陳舊的”。也就是說,被傳送的塊在最長的時間段內(nèi)一直沒有被存取過。如參考步驟408所描述的那樣,根據(jù)現(xiàn)有技術(shù)的一些方法中的一個,頁面能夠被寫入到非易失性存儲器104b。在步驟431,映射系統(tǒng)108被更新以反映出對于所傳送數(shù)據(jù)的物理地址的改變,并且過程返回到步驟428。
[0051]在步驟432,數(shù)據(jù)被寫入到易失性存儲器104a。如本領(lǐng)域內(nèi)的普通技術(shù)人員所知道的,用于將數(shù)據(jù)寫入到易失性存儲器104a的方法能夠是現(xiàn)有技術(shù)的任一方法。在步驟434,使用寫數(shù)據(jù)的物理地址來更新映射系統(tǒng)108,并且如果它是未決的,則過程返回到步驟402以便執(zhí)行下一個操作。
[0052]因此,可以看到本實施例使用易失性和非易失性存儲器的組合來提高固態(tài)存儲器系統(tǒng)的整體性能。具體地,相對廉價的非易失性存儲器被用來提供數(shù)據(jù)的永久存儲。易失性存儲器被用來改善與非易失性存儲器的使用相關(guān)的限制。例如,如上描述的易失性存儲器的使用提高了固態(tài)存儲器系統(tǒng)的整體時間性能。此外,因為對非易失性存儲器執(zhí)行的寫操作較少,所以提高了非易失性存儲器的有效的壽命預(yù)期。
[0053]此外,在本實施例中,通過簡單地從非易失性存儲器104b中讀出數(shù)據(jù)并且將其輸出到請求裝置或者處理器來實現(xiàn)讀操作。然而,可以理解在一些例子中將讀數(shù)據(jù)載入到易失性存儲器104a中同樣是優(yōu)選的。
[0054]因此,參見圖5,以標(biāo)號500總的示出說明根據(jù)替代實施例的固態(tài)存儲器系統(tǒng)100執(zhí)行的過程的流程圖。在本實施例中,以與參考圖4所描述的方式相同的方式來處理數(shù)據(jù)傳送和寫操作。因此,圖5示出了對于讀操作的替代過程,并且在步驟414處開始描述。
[0055]在步驟414,確定操作請求是用于讀操作并且過程在步驟502處繼續(xù)下去。在步驟502,存儲器控制器102使用映射系統(tǒng)108將要讀出的數(shù)據(jù)的已接收的邏輯地址翻譯為物理地址。在步驟504,映射系統(tǒng)108確定物理地址是匹配非易失性存儲器地址還是匹配易失性存儲器地址。
[0056]如果物理地址對應(yīng)于易失性存儲器地址,則過程在步驟506處繼續(xù)下去。在步驟506,數(shù)據(jù)讀出與讀操作相關(guān)聯(lián)的易失性存儲器中的物理地址??梢岳斫猓軌蚴褂矛F(xiàn)有技術(shù)的方法讀出數(shù)據(jù)。一旦數(shù)據(jù)從易失性存儲器104a中被讀出,則過程返回到步驟402。
[0057]如果物理地址對應(yīng)于非易失性存儲器地址,則過程在步驟508處繼續(xù)下去。在步驟508,所請求的數(shù)據(jù)從與讀操作相關(guān)聯(lián)的非易失性存儲器104b中的物理地址被讀出。如在步驟506所述的那樣,使用現(xiàn)有技術(shù)的方法能夠讀出數(shù)據(jù)。在步驟510,從非易失性存儲器104b讀出的數(shù)據(jù)對于請求裝置106是可用的。
[0058]在步驟552,存儲器控制器102確定易失性存儲器104a中可用的空間量,并且確定可用的空間量是否大于要寫入到易失性存儲器104a的數(shù)據(jù)所需的空間量。如果空間不夠,過程在步驟554處繼續(xù)下去。否則,過程在步驟512處繼續(xù)下去。
[0059]在步驟554,保存在易失性存儲器104a中的數(shù)據(jù)的至少一部分被傳送到非易失性存儲器104b。在本實施例中,預(yù)定數(shù)量的塊從易失性存儲器104a傳送到非易失性存儲器104b。此外,在本實施例中,選擇用于傳送的塊是最“陳舊的”。如參考步驟408和430所描述的那樣,根據(jù)現(xiàn)有技術(shù)的一些方法中的一個,頁面能夠被寫入到非易失性存儲器104b。在步驟555,映射系統(tǒng)108被更新以反映出對于所傳送數(shù)據(jù)的物理地址的改變,并且過程返回到步驟552。在步驟512,從非易失性存儲器104b中讀出的數(shù)據(jù)被寫入到易失性存儲器104a。在步驟514,使用讀數(shù)據(jù)的新的物理地址來更新映射系統(tǒng)108,并且如果它是未決的,則過程返回到步驟402以便執(zhí)行下一個操作。
[0060]因此,可以看到在參考圖4和圖5所描述的實施例中,數(shù)據(jù)被載入到易失性存儲器104a中以用于讀操作以及寫操作。如果由于提高的易失性存儲器的存取速度而使得同一數(shù)據(jù)在被傳送回到非易失性存儲器之前被存取,則這可以提高固態(tài)存儲器系統(tǒng)的性能。
[0061]在先前的實施例中,響應(yīng)于讀或者寫操作,數(shù)據(jù)可以被寫入到易失性存儲器104a。在另一個實施例中,對被寫入到易失性存儲器104a的每一頁面數(shù)據(jù)提供標(biāo)簽以識別該數(shù)據(jù)是讀操作的結(jié)果還是寫操作的結(jié)果。標(biāo)簽可以被保持在頁面252的備用域264中或者映射系統(tǒng)108中ο
[0062]隨后該標(biāo)簽?zāi)軌蛴糜谶^程中的其它步驟。例如,當(dāng)數(shù)據(jù)從易失性存儲器104a傳送到非易失性存儲器104b時,僅傳送具有寫標(biāo)簽的頁面。由于數(shù)據(jù)仍舊保存在相關(guān)聯(lián)的非易失性存儲器地址中,所以可以從易失性存儲器104a中刪除具有讀標(biāo)簽的頁面。相應(yīng)地,需要更新映射系統(tǒng)108。
[0063]此外,先前實施例描述了根據(jù)最陳舊數(shù)據(jù),從易失性存儲器104a釋放空間。然而,確定哪一個塊被擦除的過程也可以考慮頁面是包括讀標(biāo)簽還是包括寫標(biāo)簽。例如,在一些情況中,刪除包括讀標(biāo)簽的較新的頁面而不是包括寫標(biāo)簽的較舊的頁面是優(yōu)選的??梢岳斫?,使用這些或者其他的考慮因素中的一個或者多個可以執(zhí)行不同的算法。
[0064]參見圖6,以標(biāo)號600說明根據(jù)替代實施例的固態(tài)存儲器系統(tǒng)的框圖。固態(tài)存儲器系統(tǒng)600包括存儲器控制器102和固態(tài)存儲器104。在本實施例中,固態(tài)存儲器104包括多個易失性存儲器裝置104a和多個非易失性存儲器裝置104b。易失性存儲器裝置104a和非易失性存儲器裝置104b經(jīng)由公共總線602與存儲器控制器102耦合。
[0065]僅僅出于示例性的目的,易失性存儲器裝置104a為DRAM裝置,并且非易失性存儲器裝置104b為快閃存儲器裝置。此外,盡管框圖示出了兩個DRAM裝置和四個快閃存儲器裝置,但是取決于具體實現(xiàn),裝置的數(shù)量可以變化。
[0066]為了訪問固態(tài)存儲器裝置104a或者104b的其中一個,公共總線602包括用于每次僅啟動多個易失性存儲器104a的其中一個或者多個非易失性存儲器104b的其中一個的裝置使能信號。使用使能信號以用于激活公共總線上多個存儲器裝置的其中一個的方法在本領(lǐng)域內(nèi)是公知的并且不必詳細描述。
[0067]參見圖7,以標(biāo)號700說明根據(jù)又一替代實施例的固態(tài)存儲器系統(tǒng)的框圖。固態(tài)存儲器系統(tǒng)700包括存儲器控制器102和固態(tài)存儲器104。在本實施例中,固態(tài)存儲器104包括多個易失性存儲器裝置104a和多個非易失性存儲器裝置104b。易失性存儲器裝置104a和非易失性存儲器裝置104b經(jīng)由公共總線602與存儲器控制器102耦合。然而,與先前的實施例不同,存儲器控制器102控制多個總線,稱之為信道。
[0068]為了訪問固態(tài)存儲器裝置104a或104b的其中一個,每一信道602包括用于每次啟動僅一個存儲器裝置的裝置使能信號。如果所請求的操作是讀操作,則啟動的存儲器裝置將數(shù)據(jù)輸出到信道602上。如果所請求的操作是寫操作,則啟動的存儲器裝置寫來自信道602的數(shù)據(jù)。
[0069]每一信道602獨立工作。此外,多個信道602能夠在同一時間有效。使用此方案,由于信道602并行操作,所以系統(tǒng)的性能隨著執(zhí)行的信道602的數(shù)量而提高。
[0070]參見圖8,以標(biāo)號800說明根據(jù)替代實施例的固態(tài)存儲器系統(tǒng)的框圖。本實施例與前一實施例相似并且包括多個信道602。但是,在本實施例中,每一信道被分配給特定類型的固態(tài)存儲器裝置。也就是說,對于η信道的固態(tài)存儲器系統(tǒng)800,m個信道被專門耦合到易失性存儲器裝置104a,并且n-m個信道被專門耦合到非易失性存儲器裝置104b。
[0071]參見圖9,以標(biāo)號900說明根據(jù)又一替代實施例的固態(tài)存儲器系統(tǒng)的框圖。固態(tài)存儲器系統(tǒng)900包括存儲器控制器102和固態(tài)存儲器104。在本實施例中,固態(tài)存儲器104包括多個易失性存儲器裝置104a和多個非易失性存儲器裝置104b。易失性存儲器裝置104a和非易失性存儲器裝置104b經(jīng)由菊花鏈配置結(jié)構(gòu)與存儲器控制器102耦合。也即是,存儲器控制器102被耦合到存儲器裝置104a或者104b中的第一個902。將剩余的存儲器裝置104a和104b串行耦合并且存儲器裝置104a或者104b的最后一個串行耦合的904被耦合回到存儲器控制器102。
[0072]為了訪問固態(tài)存儲器裝置104a或者104b的其中一個,存儲器控制器102將請求輸出到第一存儲器裝置902。請求被傳遞通過存儲器裝置104a和104b,直到其到達目標(biāo)裝置。該目標(biāo)裝置執(zhí)行所請求的操作并且結(jié)果(如果有的話)繼續(xù)傳遞通過存儲器裝置的鏈,直到其到達最后一個裝置904,最后一個裝置904將該結(jié)果返回到存儲器控制器102。使用菊花鏈以用于激活多個存儲器裝置的其中一個的方法為本領(lǐng)域所公知的并且不必詳細描述。
[0073]參見圖10,以標(biāo)號1000說明根據(jù)又一替代實施例的固態(tài)存儲器系統(tǒng)的框圖。固態(tài)存儲器系統(tǒng)1000包括存儲器控制器102和固態(tài)存儲器104。在本實施例中,固態(tài)存儲器104包括多個易失性存儲器裝置104a和多個非易失性存儲器裝置104b。易失性存儲器裝置104a和非易失性存儲器裝置104b以菊花鏈配置結(jié)構(gòu)與存儲器控制器102耦合。但是,與前一實施例不同,存儲器控制器102控制多個鏈。
[0074]每一個鏈獨立地工作。此外,多個鏈能夠同時有效。使用這種方案,由于這些鏈并行操作,所以系統(tǒng)的性能隨著執(zhí)行的鏈的數(shù)量而提高。
[0075]參見圖11,以標(biāo)號1100示出根據(jù)又一替代實施例的固態(tài)存儲器系統(tǒng)的框圖。本實施例與之前實施例相似并且包括多個鏈。但是,在本實施例中,每一鏈被分配給特定類型的固態(tài)存儲器裝置。也就是說,對于η鏈的固態(tài)存儲器系統(tǒng)1100,m個鏈被專門耦合到易失性存儲器裝置104a,并且n-m個鏈被專門耦合到非易失性存儲器裝置104b。
[0076]描述實現(xiàn)固態(tài)存儲器裝置的多個方法的之前的所有實施例均包括易失性和非易失性存儲器裝置。以提高固態(tài)存儲器裝置的性能和有效的壽命預(yù)期的方式來組合這些裝置。
[0077]盡管之前的實施例將易失性存儲器104描述為具有的塊202少于非易失性存儲器104b具有的塊,但是這種情況不是必需的。由于易失性存儲器104a在成本、尺寸和永久性方面的限制,使得這樣的布置將是最可能的實施例。然而,也可以存在易失性存儲器104a和非易失性存儲器104b的塊的數(shù)量為相同的情況。此外,還可以存在易失性存儲器104a的塊的數(shù)量多于非易失性存儲器104b的塊的數(shù)量的情況。[0078]最后,盡管已經(jīng)參考某些具體實施例描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員可以理解,在不脫離所附的權(quán)利要求所限定的精神和范圍內(nèi)可以對其進行各種修改。
【權(quán)利要求】
1.一種存儲器系統(tǒng),包括:易失性固態(tài)存儲器,用于寫數(shù)據(jù)和讀數(shù)據(jù);非易失性固態(tài)存儲器,用于寫數(shù)據(jù)和讀數(shù)據(jù);存儲器控制器,其用于與所述易失性存儲器和非易失性存儲器通信以在其中寫數(shù)據(jù)和讀數(shù)據(jù),所述存儲器控制器被配置為:-響應(yīng)于數(shù)據(jù)讀請求,接收從所述非易失性存儲器中讀取的數(shù)據(jù);-響應(yīng)于數(shù)據(jù)寫請求,向所述易失性存儲器提供要寫入其中的所接收到的數(shù)據(jù);并且其中,所述存儲器控制器響應(yīng)于在所述易失性存儲器的可用空間不足時發(fā)生的數(shù)據(jù)傳送請求來接收數(shù)據(jù)和提供數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的固態(tài)存儲器系統(tǒng),其中,所述存儲器控制器還被配置為:-響應(yīng)于所述數(shù)據(jù)讀請求并且在將數(shù)據(jù)寫入到所述易失性存儲器之前,確定所述易失性存儲器中的可用空間量是否足夠用于將數(shù)據(jù)寫入到所述易失性存儲器。
3.根據(jù)權(quán)利要求2所述的固態(tài)存儲器系統(tǒng),其中,所述存儲器控制器還被配置為:-如果沒有足夠的空間,則將存儲在所述易失性存儲器中的至少一部分數(shù)據(jù)傳送到所述非易失性存儲器。
4.根據(jù)權(quán)利要求1所述的固態(tài)存儲器系統(tǒng),其中,所述易失性存儲器和非易失性存儲器經(jīng)由公共總線耦合到所述存 儲器控制器。
5.根據(jù)權(quán)利要求1所述的固態(tài)存儲器系統(tǒng),其中,所述易失性存儲器和非易失性存儲器經(jīng)由多個總線耦合到所述存儲器控制器,所述多個總線能夠被同時訪問。
6.根據(jù)權(quán)利要求5所述的固態(tài)存儲器系統(tǒng),其中,所述多個總線中的每一個被耦合到所述易失性存儲器或者所述非易失性存儲器。
7.根據(jù)權(quán)利要求1所述的固態(tài)存儲器系統(tǒng),其中,被寫入到所述易失性存儲器的數(shù)據(jù)還包括標(biāo)簽,所述標(biāo)簽用于識別所述數(shù)據(jù)是響應(yīng)于讀請求還是響應(yīng)于寫請求而被寫入。
8.一種用于控制在包括易失性固態(tài)存儲器和非易失性固態(tài)存儲器的固態(tài)存儲器系統(tǒng)中保存數(shù)據(jù)的方法,所述易失性存儲器和非易失性存儲器中的每一個被配置來存儲數(shù)據(jù)和讀取所存儲的數(shù)據(jù),所述方法包括:-響應(yīng)于數(shù)據(jù)讀請求,接收從所述非易失性存儲器中讀取的數(shù)據(jù);-響應(yīng)于數(shù)據(jù)寫請求,向所述易失性存儲器提供要寫入其中的所接收到的數(shù)據(jù);并且其中,響應(yīng)于在所述易失性存儲器的可用空間不足時發(fā)生的數(shù)據(jù)傳送請求來執(zhí)行接收和提供步驟。
9.根據(jù)權(quán)利要求8所述的方法,還包括如下步驟:-響應(yīng)于所述數(shù)據(jù)讀請求并且在將數(shù)據(jù)寫入到所述易失性存儲器之前,確定所述易失性存儲器中的可用空間量是否足夠用于將數(shù)據(jù)寫入到所述易失性存儲器。
10.根據(jù)權(quán)利要求9所述的方法,還包括如下步驟:-如果沒有足夠的空間,則將存儲在所述易失性存儲器中的至少一部分數(shù)據(jù)傳送到所述非易失性存儲器。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述數(shù)據(jù)傳送請求響應(yīng)于請求從所述易失性存儲器向所述非易失性存儲器傳送所有數(shù)據(jù)的命令。
12.根據(jù)權(quán)利要求11所述的方法,其中,請求傳送所有數(shù)據(jù)的命令包括功耗降低命令。
13.根據(jù)權(quán)利要求10所述的方法,其中,所述數(shù)據(jù)傳送請求是響應(yīng)于所述易失性存儲器中缺乏可用空間。
14.一種用于控制在包括易失性固態(tài)存儲器和非易失性固態(tài)存儲器的固態(tài)存儲器系統(tǒng)中保存數(shù)據(jù)的方法,所述易失性存儲器和非易失性存儲器中的每一個被配置來存儲數(shù)據(jù)和讀取所存儲的數(shù)據(jù),所述方法包括:-響應(yīng)于數(shù)據(jù)讀請求,接收從所述非易失性存儲器中讀取的數(shù)據(jù);-響應(yīng)于數(shù)據(jù)寫請求,向所述易失性存儲器提供要寫入其中的所接收到的數(shù)據(jù);-響應(yīng)于所述數(shù)據(jù)讀請求并且在將數(shù)據(jù)寫入到所述易失性存儲器之前,確定所述易失性存儲器中的可用空間量是否足夠用于將數(shù)據(jù)寫入到所述易失性存儲器;-如果沒有足夠的空間,則將存儲在所述易失性存儲器中的至少一部分數(shù)據(jù)傳送到所述非易失性存儲器;以及-如果沒有足夠的空間,則將存儲在所述易失性存儲器中的至少一部分數(shù)據(jù)傳送到所述非易失性存儲器;其中,響應(yīng)于數(shù)據(jù)傳送請求來執(zhí)行接收和提供步驟,所述數(shù)據(jù)傳送請求是響應(yīng)于在所述易失性存儲器中缺乏可用空間,并且當(dāng)所述易失性存儲器中的可用空間低于預(yù)定的閾值時,發(fā)生所述數(shù)據(jù)傳送請求。
15.一種用于控制在包括易失性固態(tài)存儲器和非易失性固態(tài)存儲器的固態(tài)存儲器系統(tǒng)中保存數(shù)據(jù)的方法,所述易失性存儲器和非易失性存儲器中的每一個被配置來存儲數(shù)據(jù)和讀取所存儲的數(shù)據(jù),所述方法包括:-響應(yīng)于數(shù)據(jù)讀請求,接收從所述非易失性存儲器中讀取的數(shù)據(jù);-響應(yīng)于數(shù)據(jù)寫請求,向所述易失性存儲器提供要寫入其中的所接收到的數(shù)據(jù);-響應(yīng)于所述數(shù)據(jù)讀請求并且在將數(shù)據(jù)寫入到所述易失性存儲器之前,確定所述易失性存儲器中的可用空間量是否足夠用于將數(shù)據(jù)寫入到所述易失性存儲器;-如果沒有足夠的空間,則將存儲在所述易失性存儲器中的至少一部分數(shù)據(jù)傳送到所述非易失性存儲器;以及-如果沒有足夠的空間,則將存儲在所述易失性存儲器中的至少一部分數(shù)據(jù)傳送到所述非易失性存儲器;其中,響應(yīng)于數(shù)據(jù)傳送請求來執(zhí)行接收和提供步驟,所述數(shù)據(jù)傳送請求是響應(yīng)于在所述易失性存儲器中缺乏可用空間,并且當(dāng)所述易失性存儲器的可用空間不足以執(zhí)行請求的命令時,發(fā)生所述數(shù)據(jù)傳送請求。
【文檔編號】G06F3/06GK103558993SQ201310394806
【公開日】2014年2月5日 申請日期:2007年12月18日 優(yōu)先權(quán)日:2006年12月20日
【發(fā)明者】金鎮(zhèn)祺 申請人:莫塞德技術(shù)公司