包括閃存陣列和ram陣列的組成的存儲(chǔ)器陣列且其具有數(shù)據(jù)寫入ram陣列和從閃存陣列讀 ...的制作方法
【專利摘要】用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器陣列、系統(tǒng)、和方法。該存儲(chǔ)器陣列具有閃存陣列、被耦合至所述閃存且被配置用以接收數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器陣列、存儲(chǔ)器管理模塊、和數(shù)據(jù)總線。該存儲(chǔ)器管理模塊被耦合至該隨機(jī)存取存儲(chǔ)器陣列且被耦合至該閃存陣列,該存儲(chǔ)器管理模塊被配置為將存儲(chǔ)在該隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)傳送至所述閃存陣列。該數(shù)據(jù)總線被耦合至所述閃存陣列,且被配置為從該閃存陣列輸出初始存儲(chǔ)在該隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)。
【專利說(shuō)明】包括閃存陣列和RAM陣列的組成的存儲(chǔ)器陣列且其具有數(shù)據(jù)寫入RAM陣列和從閃存陣列讀取數(shù)據(jù)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及電子存儲(chǔ)器陣列、系統(tǒng)及其方法,并且更特定地涉及具有閃存陣列和隨機(jī)存取存儲(chǔ)器陣列兩者的電子存儲(chǔ)器陣列。
【背景技術(shù)】
[0002]本領(lǐng)域已知多種形式和格式的電子數(shù)據(jù)存儲(chǔ)。當(dāng)前使用的這些大部分格式配置為從外部源接收電子數(shù)據(jù)、保持該電子數(shù)據(jù)達(dá)一段時(shí)間、并且按要求輸出該電子數(shù)據(jù)。隨著這樣的電子存儲(chǔ)技術(shù)的發(fā)展,存儲(chǔ)容量和穩(wěn)定性趨于穩(wěn)定增長(zhǎng),同時(shí)成本降低。
[0003]然而,盡管對(duì)于大部分格式來(lái)說(shuō)成本、可靠性、和容量隨著時(shí)間的推移已經(jīng)改進(jìn),不同格式相對(duì)于其他格式繼續(xù)提供益處而同時(shí)承受各種損害。例如,盡管易失性存儲(chǔ)器技術(shù),諸如隨機(jī)存取存儲(chǔ)器、或“RAM”,是相對(duì)快速和廉價(jià)的,但隨機(jī)存取存儲(chǔ)器模塊必須保持供電以保持存儲(chǔ)在其中的電子數(shù)據(jù)。這使得隨機(jī)存取存儲(chǔ)器的操作相對(duì)昂貴且在發(fā)生電力中斷的情況下不可靠。因此,隨機(jī)存取存儲(chǔ)器技術(shù),諸如靜態(tài)隨機(jī)存取存儲(chǔ)器,一般僅被用于短期存儲(chǔ)以幫助由電子組件進(jìn)行短期的數(shù)據(jù)的快速傳送。
[0004]相反,非易失性存儲(chǔ)器,諸如閃存,可保持存儲(chǔ)在其中的電子數(shù)據(jù)達(dá)一段更長(zhǎng)的時(shí)間,而不需要保持對(duì)閃存模塊的供電。然而,閃存一般要求相對(duì)復(fù)雜的接口。
【發(fā)明內(nèi)容】
[0005]過(guò)去,存儲(chǔ)器陣列不傾向于結(jié)合不同類型的電子數(shù)據(jù)存儲(chǔ)技術(shù)的組合。各種技術(shù)結(jié)合不同的操作要求。特定的技術(shù)要求不同的電壓供應(yīng)、不同的讀取或?qū)懭氪鎯?chǔ)器單元的時(shí)間、以及不同的尋址方案。例如,閃存一般被寫入預(yù)定數(shù)據(jù)塊,從而無(wú)論至什么程度的數(shù)據(jù)量都不是預(yù)定塊的大小,寫入閃存陣列會(huì)浪費(fèi)系統(tǒng)資源。因此,通過(guò)將不同技術(shù)組合到單個(gè)陣列中若有任何可感知的益處,也很少。
[0006]然而,存儲(chǔ)器陣列已發(fā)展,其在單個(gè)存儲(chǔ)器陣列中結(jié)合靜態(tài)隨機(jī)存取存儲(chǔ)器和閃存。存儲(chǔ)器陣列結(jié)合存儲(chǔ)器管理模塊,其被配置為連接隨機(jī)存取存儲(chǔ)器和閃存。特定地,存儲(chǔ)器管理模塊被配置為將新的電子數(shù)據(jù)寫至隨機(jī)存取存儲(chǔ)器陣列直到電子數(shù)據(jù)從隨機(jī)存取存儲(chǔ)器寫至閃存這樣一個(gè)條件滿足的那個(gè)時(shí)間。存儲(chǔ)器管理模塊可被進(jìn)一步配置為管理從存儲(chǔ)器陣列讀取電子數(shù)據(jù)、標(biāo)識(shí)在隨機(jī)存取存儲(chǔ)器和閃存之間數(shù)據(jù)存儲(chǔ)的位置、并且在輸出總線上提供數(shù)據(jù)。結(jié)果,閃存和隨機(jī)存取存儲(chǔ)器之間的各種不同可以被管理,同時(shí)提供了閃存和隨機(jī)存取存儲(chǔ)器的益處。
[0007]在一個(gè)實(shí)施例中,用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器陣列包括閃存陣列、可操作地耦合至閃存且被配置用以接收數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器陣列、存儲(chǔ)器管理模塊、和地址/數(shù)據(jù)總線。該存儲(chǔ)器管理模塊可操作地耦合至該隨機(jī)存取存儲(chǔ)器陣列和該閃存陣列,該存儲(chǔ)器管理模塊被配置為將存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)傳送至閃存陣列。該地址/數(shù)據(jù)總線可操作地耦合至閃存陣列,且被配置為從該閃存陣列中輸出初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)。
[0008]在一個(gè)實(shí)施例中,該隨機(jī)存取存儲(chǔ)器陣列包括靜態(tài)隨機(jī)存取存儲(chǔ)器陣列。
[0009]在一個(gè)實(shí)施例中,該閃存陣列包括多個(gè)扇區(qū),多個(gè)扇區(qū)中的至少一個(gè)具有數(shù)據(jù)存儲(chǔ)容量,且其中存儲(chǔ)器管理模塊被配置為當(dāng)存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)等于多個(gè)扇區(qū)中的至少一個(gè)的數(shù)據(jù)存儲(chǔ)容量時(shí),從隨機(jī)存取存儲(chǔ)器陣列傳送部分?jǐn)?shù)據(jù)至閃存陣列。
[0010]在一個(gè)實(shí)施例中,該至少部分?jǐn)?shù)據(jù)對(duì)應(yīng)于一事件,且其中存儲(chǔ)器管理模塊被配置為當(dāng)對(duì)應(yīng)于該事件的所有部分?jǐn)?shù)據(jù)被存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中時(shí),從隨機(jī)存取存儲(chǔ)器陣列傳送部分?jǐn)?shù)據(jù)至閃存陣列。
[0011]在一個(gè)實(shí)施例中,該事件是在隨機(jī)存取存儲(chǔ)器中完成預(yù)定數(shù)據(jù)塊的存儲(chǔ)。
[0012]在一個(gè)實(shí)施例中,該閃存陣列包括多個(gè)扇區(qū),該多個(gè)扇區(qū)的至少一個(gè)具有數(shù)據(jù)存儲(chǔ)容量。
[0013]在一個(gè)實(shí)施例中,預(yù)定數(shù)據(jù)塊的數(shù)據(jù)容量小于該多個(gè)扇區(qū)中的至少一個(gè)的數(shù)據(jù)存儲(chǔ)容量。
[0014]在一個(gè)實(shí)施例中,預(yù)定數(shù)據(jù)塊的數(shù)據(jù)容量大于該多個(gè)扇區(qū)中的至少一個(gè)的數(shù)據(jù)存儲(chǔ)容量。
[0015]在一個(gè)實(shí)施例中,存儲(chǔ)器管理模塊被配置為從隨機(jī)存取存儲(chǔ)器傳送等于多個(gè)扇區(qū)的至少一個(gè)的數(shù)據(jù)存儲(chǔ)容量的預(yù)定數(shù)據(jù)塊的部分至閃存。
[0016]在一個(gè)實(shí)施例中,對(duì)應(yīng)于多個(gè)存儲(chǔ)事件的多個(gè)預(yù)定數(shù)據(jù)塊被存儲(chǔ)在隨機(jī)存取存儲(chǔ)器中,并且其中存儲(chǔ)器管理模塊被配置為當(dāng)多個(gè)預(yù)定數(shù)據(jù)塊的數(shù)據(jù)量至少是多個(gè)扇區(qū)的至少一個(gè)的數(shù)據(jù)容量時(shí),從隨機(jī)存取存儲(chǔ)器傳送多個(gè)預(yù)定數(shù)據(jù)塊至閃存。
[0017]在一個(gè)實(shí)施例中,系統(tǒng)包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器陣列和控制器。存儲(chǔ)器陣列包括閃存陣列、可操作地耦合至閃存且被配置為接收數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器陣列、存儲(chǔ)器管理模塊、和地址/數(shù)據(jù)總線。該存儲(chǔ)器管理模塊可操作地耦合至該隨機(jī)存取存儲(chǔ)器陣列和該閃存陣列,該存儲(chǔ)器管理模塊被配置為將存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)傳送至該閃存陣列。該地址/數(shù)據(jù)總線可操作地耦合至閃存陣列,且被配置為從該閃存陣列中輸出初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)。該控制器可操作地耦合至存儲(chǔ)器陣列,且具有被配置用以至少部分地控制存儲(chǔ)器陣列的固件。
[0018]在一個(gè)實(shí)施例中,在存儲(chǔ)器陣列中存儲(chǔ)數(shù)據(jù)的方法包括在隨機(jī)存取存儲(chǔ)器陣列中接收數(shù)據(jù)的步驟、將存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)傳送至閃存陣列的步驟、以及在地址/數(shù)據(jù)總線上從閃存陣列中輸出初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)。
[0019]在一個(gè)實(shí)施例中,該閃存陣列包括多個(gè)扇區(qū),多個(gè)扇區(qū)的至少一個(gè)具有數(shù)據(jù)存儲(chǔ)容量,且當(dāng)存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中的至少部分?jǐn)?shù)據(jù)等于多個(gè)扇區(qū)的至少一個(gè)的數(shù)據(jù)存儲(chǔ)容量時(shí),發(fā)生從隨機(jī)存取存儲(chǔ)器陣列傳送部分?jǐn)?shù)據(jù)至閃存陣列的步驟。
[0020]在一個(gè)實(shí)施例中,該至少部分?jǐn)?shù)據(jù)對(duì)應(yīng)于一事件,且當(dāng)對(duì)應(yīng)于該事件的所有部分?jǐn)?shù)據(jù)被存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列中時(shí),發(fā)生從隨機(jī)存取存儲(chǔ)器陣列傳送部分?jǐn)?shù)據(jù)至閃存陣列的步驟。
[0021]在一個(gè)實(shí)施例中,該傳送步驟從該隨機(jī)存取存儲(chǔ)器將等于多個(gè)扇區(qū)的至少一個(gè)的數(shù)據(jù)存儲(chǔ)容量的部分預(yù)定數(shù)據(jù)塊傳送至該閃存。
[0022]在一個(gè)實(shí)施例中,對(duì)應(yīng)于多個(gè)存儲(chǔ)事件的多個(gè)塊預(yù)定數(shù)據(jù)被存儲(chǔ)在該隨機(jī)存取存儲(chǔ)器中,且當(dāng)多個(gè)預(yù)定數(shù)據(jù)塊的數(shù)據(jù)量至少為多個(gè)扇區(qū)的至少一個(gè)的數(shù)據(jù)容量時(shí),傳送步驟從該隨機(jī)存取存儲(chǔ)器將多個(gè)預(yù)定數(shù)據(jù)塊傳送至該閃存。
【專利附圖】
【附圖說(shuō)明】
[0023]圖1是存儲(chǔ)器陣列的框圖;
[0024]圖2是在圖1的存儲(chǔ)器陣列中的數(shù)據(jù)傳送的說(shuō)明;
[0025]圖3是在圖1的存儲(chǔ)器陣列中的數(shù)據(jù)傳送的說(shuō)明;
[0026]圖4是結(jié)合了圖1的存儲(chǔ)器陣列的系統(tǒng);
[0027]圖5是用于在存儲(chǔ)器陣列中存儲(chǔ)數(shù)據(jù)的流程圖;
[0028]圖6是用于在如圖2所示的存儲(chǔ)器陣列中存儲(chǔ)數(shù)據(jù)的流程圖;
[0029]圖7是用于在如圖3所示的存儲(chǔ)器陣列中存儲(chǔ)數(shù)據(jù)的流程圖;以及
[0030]圖8是用于在存儲(chǔ)器陣列中存儲(chǔ)數(shù)據(jù)以及從該存儲(chǔ)器陣列的閃存陣列和隨機(jī)存取存儲(chǔ)器陣列兩者中輸出數(shù)據(jù)的流程圖。
【具體實(shí)施方式】
[0031]圖1是存儲(chǔ)器陣列10的框圖。存儲(chǔ)器陣列10包括隨機(jī)存取存儲(chǔ)器陣列12和閃存14。在一個(gè)實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12是靜態(tài)隨機(jī)存取存儲(chǔ)器陣列,如本領(lǐng)域公知的。在可選實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12是本領(lǐng)域中公知的任意隨機(jī)存取存儲(chǔ)器陣列,或本領(lǐng)域中公知的任意易失性存儲(chǔ)器陣列。在一個(gè)實(shí)施例中,閃存陣列14是NOR閃存陣列,且在一個(gè)實(shí)施例中,該特定的NOR陣列具有近似匹配隨機(jī)存取存儲(chǔ)器陣列12的電壓要求的電壓要求。在各種實(shí)施例中,閃存陣列14是本領(lǐng)域公知的任何閃存,或既可以讀又可以寫入的本領(lǐng)域公知的任何非易失性存儲(chǔ)器。在所描述實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12在九十六(96)個(gè)512字節(jié)塊13中具有四十八(48)千字節(jié)的容量。在一個(gè)實(shí)施例中,閃存陣列14具有被分為多個(gè)扇區(qū)16的一(I)兆字節(jié)的容量,其中的至少一個(gè)具有數(shù)據(jù)存儲(chǔ)容量。在可選實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12和閃存陣列14每個(gè)都具有適于其將應(yīng)用的應(yīng)用程序的大小。在各種這樣的實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12和閃存14的大小一般可以是任意大小,例如,隨機(jī)存取存儲(chǔ)器可以是千字節(jié)大小、兆字節(jié)大小、或千兆字節(jié)大小或更大。在一個(gè)實(shí)施例中,從隨機(jī)存取存儲(chǔ)器陣列12傳送一個(gè)512字節(jié)塊13的數(shù)據(jù)至閃存陣列14約需要二十五(25毫秒)。輸出地址/數(shù)據(jù)總線18將存儲(chǔ)在存儲(chǔ)器陣列10中的數(shù)據(jù)提供至存儲(chǔ)器陣列10的外部的數(shù)據(jù)的用戶。
[0032]存儲(chǔ)器管理模塊19耦合至隨機(jī)存取存儲(chǔ)器陣列12和陣列內(nèi)的總線20。存儲(chǔ)器管理模塊19被配置作為塊移動(dòng)者(block mover)以經(jīng)由陣列內(nèi)總線20管理從隨機(jī)存取存儲(chǔ)器陣列12至閃存陣列14的數(shù)據(jù)移動(dòng)。存儲(chǔ)器管理模塊19被配置為至少部分地評(píng)估是否以及何時(shí)滿足用于從隨機(jī)存取存儲(chǔ)器陣列12傳送數(shù)據(jù)至閃存陣列14的一個(gè)或多個(gè)條件。
[0033]在一個(gè)實(shí)施例中,存儲(chǔ)器管理模塊19被配置為通過(guò)陣列內(nèi)總線20的方式從隨機(jī)存取存儲(chǔ)器陣列12將預(yù)定大小的塊傳送至閃存陣列14。在包括那些閃存陣列14的不同實(shí)施例中,為了寫入閃存陣列的任一存儲(chǔ)器單元,必須使用實(shí)際數(shù)據(jù)或虛擬數(shù)據(jù)來(lái)激活閃存陣列14的扇區(qū)16的所有單元(特定單元是其一部分),這是常見(jiàn)類型閃存的特性。在一個(gè)實(shí)施例中,存儲(chǔ)器管理模塊19被配置為從隨機(jī)存取存儲(chǔ)器陣列12傳送一數(shù)據(jù)量,該量甚至是閃存陣列14的每個(gè)扇區(qū)16的預(yù)定扇區(qū)大小的多倍。在一個(gè)實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12的塊13的大小被選擇為與閃存陣列14的扇區(qū)16的預(yù)定扇區(qū)大小具有相同大小。在該示例性實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12和閃存陣列14兩者都具有扇區(qū)16和512字節(jié)大小的塊13。
[0034]圖2是從隨機(jī)存取存儲(chǔ)器陣列12將數(shù)據(jù)塊13傳送至閃存陣列14的扇區(qū)16的簡(jiǎn)要說(shuō)明。在某些實(shí)施例中,存儲(chǔ)器管理模塊19被配置為監(jiān)控隨機(jī)存取存儲(chǔ)器陣列12的狀態(tài)。當(dāng)隨機(jī)存取存儲(chǔ)器陣列12的至少一個(gè)塊13被填入數(shù)據(jù)時(shí),完整的塊13由存儲(chǔ)器管理模塊19傳送至閃存陣列14。閃存陣列14激活全部扇區(qū)16來(lái)寫數(shù)據(jù),其中為從隨機(jī)存取存儲(chǔ)器陣列12寫入閃存陣列14的每一塊13而激活一個(gè)扇區(qū)16。在隨機(jī)存取存儲(chǔ)器陣列12具有沒(méi)有完全填滿塊13的數(shù)據(jù)的程度上,在塊13被填滿前不從隨機(jī)存取存儲(chǔ)器陣列12傳送附加數(shù)據(jù)。
[0035]在說(shuō)明性實(shí)施例中,塊13’和13”被充分使用而塊13”’僅被部分使用。存儲(chǔ)器管理模塊19評(píng)估隨機(jī)存取存儲(chǔ)器陣列12的狀態(tài),且基于塊13’、13”和13”’的狀態(tài),開(kāi)始將塊13’和13”中的數(shù)據(jù)傳送至閃存陣列14中的扇區(qū)16’和16”。特定地,存儲(chǔ)器管理模塊19指令閃存陣列以使能扇區(qū)16’和16”用于寫入,且指令隨機(jī)存取存儲(chǔ)器陣列12將存儲(chǔ)在塊13’和13”中的數(shù)據(jù)置于總線20上。閃存陣列14分別從塊13’和13”接收數(shù)據(jù),且將該數(shù)據(jù)寫入塊16’和16”。隨機(jī)存取存儲(chǔ)器陣列12不將塊13”’中的數(shù)據(jù)置于總線20上且閃存陣列14不激活任何扇區(qū)16來(lái)接收塊13”’的數(shù)據(jù)。在塊13’和13”中的數(shù)據(jù)被置于總線20上后,隨機(jī)存取存儲(chǔ)器陣列可使塊13’和13”可用于接收新數(shù)據(jù)。
[0036]在這樣的實(shí)施例中,塊13”’中的數(shù)據(jù)可保持在塊13”’中直到新數(shù)據(jù)被寫入隨機(jī)存取存儲(chǔ)器陣列12。在這種情況下,新數(shù)據(jù)可被寫入塊13”’中直到塊13”’寫滿,一旦如此,此時(shí)塊13”’可被傳送至閃存陣列14的扇區(qū)16。在這種情況下,塊13”’有效地充當(dāng)臨時(shí)來(lái)自更大離散數(shù)據(jù)群中的數(shù)據(jù)片段的存儲(chǔ)或“擦寫板”。在說(shuō)明性實(shí)施例中,塊13”’被用作擦寫板。可選地,專用塊13,不管是隨機(jī)存取存儲(chǔ)器陣列12的塊13的傳統(tǒng)部分或隨機(jī)存取存儲(chǔ)器陣列12的專用塊13部分或位于存儲(chǔ)器陣列10的其他部分,可被用作收集足夠數(shù)據(jù)以寫完整扇區(qū)16的擦寫板。
[0037]在可選實(shí)施例中,直到且除非隨機(jī)存取存儲(chǔ)器陣列12的所有塊13都滿了,數(shù)據(jù)才從隨機(jī)存取存儲(chǔ)器陣列12中寫入閃存。在這樣的實(shí)施例中,當(dāng)隨機(jī)存取存儲(chǔ)器陣列12已經(jīng)被寫滿時(shí),可能會(huì)暫時(shí)停止將數(shù)據(jù)傳送至隨機(jī)存取存儲(chǔ)器陣列12。一旦通過(guò)將隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù)傳送至閃存陣列14來(lái)清除隨機(jī)存取存儲(chǔ)器陣列12中的空間,則恢復(fù)數(shù)據(jù)至隨機(jī)存取存儲(chǔ)器陣列12的傳送。
[0038]在各可選實(shí)施例中,隨機(jī)存取存儲(chǔ)器12的塊13的大小和閃存陣列14的扇區(qū)16的大小不相等。然而,在這樣的實(shí)施例中,存儲(chǔ)器管理模塊19被配置為基于數(shù)據(jù)積累等于閃存陣列14的扇區(qū)16的數(shù)據(jù)存儲(chǔ)容量將數(shù)據(jù)從隨機(jī)存取存儲(chǔ)器12傳送至閃存14。盡管具有相等的大小,塊13和扇區(qū)16可提供在管理數(shù)據(jù)傳送方面的簡(jiǎn)化,存儲(chǔ)器管理模塊19不要求相等尺寸的塊13和扇區(qū)16大小相等。
[0039]圖3是將從隨機(jī)存取存儲(chǔ)器陣列12傳送數(shù)據(jù)至閃存陣列14的可選方法的簡(jiǎn)要說(shuō)明。在可選方法中,存儲(chǔ)器管理模塊19并不基于寫閃存陣列14的完整扇區(qū)16的基礎(chǔ)上而是基于存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)本質(zhì)的基礎(chǔ)上,來(lái)將數(shù)據(jù)從隨機(jī)存取存儲(chǔ)器陣列12傳送至閃存陣列14。在特定環(huán)境中,寫入存儲(chǔ)器陣列10的數(shù)據(jù)可以是特別的、離散的事件。在示例性實(shí)例中,存儲(chǔ)器陣列10可被用來(lái)存儲(chǔ)醫(yī)療數(shù)據(jù)。這些醫(yī)療數(shù)據(jù)可與醫(yī)療事件相關(guān),諸如患者經(jīng)歷的心臟病。在可選環(huán)境中,諸如汽車應(yīng)用程序,與諸如維護(hù)檢查或撞擊之類的數(shù)據(jù)可被收集和存儲(chǔ)。
[0040]在這樣的環(huán)境下,存儲(chǔ)器管理模塊19可基于隨機(jī)存取存儲(chǔ)器12中事件的完成和事件數(shù)據(jù)的存儲(chǔ),來(lái)將數(shù)據(jù)從隨機(jī)存取存儲(chǔ)器陣列12傳送至閃存陣列14。來(lái)自事件的數(shù)據(jù)首先被完整地存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中,填滿塊13’和13”,且部分填滿塊13”’。當(dāng)與事件相關(guān)的數(shù)據(jù)指令所有事件數(shù)據(jù)已被存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中時(shí),存儲(chǔ)器管理模塊19開(kāi)始將所有或基本所有的事件數(shù)據(jù)傳送至閃存陣列14,填滿塊16’和16”,且部分填滿塊16”’。由此,傳送所有或基本所有的事件數(shù)據(jù)至閃存陣列14可不與閃存陣列14的扇區(qū)16的完全填充相關(guān)。因此,與圖2中所示的方法相比,盡管扇區(qū)16可被填至盡可能的程度,但在寫入事件數(shù)據(jù)時(shí)不是閃存陣列14的所有扇區(qū)16都需要被填充,且存儲(chǔ)器管理模塊19不需要基于寫滿扇區(qū)16來(lái)進(jìn)行數(shù)據(jù)傳送。在這樣的實(shí)施例中,為保持閃存陣列14的有效壽命,直到需要扇區(qū)16的附加容量或扇區(qū)16被整體重寫時(shí),沒(méi)有被完全填滿的扇區(qū)16才應(yīng)該被再次寫入。
[0041]圖4是結(jié)合了存儲(chǔ)器陣列10的系統(tǒng)實(shí)現(xiàn)的框圖。控制器22可選自現(xiàn)有技術(shù)中公知的各種控制器,包括現(xiàn)成的微處理器和適當(dāng)?shù)脑O(shè)計(jì)。控制器22通過(guò)經(jīng)由地址/數(shù)據(jù)總線17和地址/數(shù)據(jù)總線18的接口模塊23可操作地耦合至存儲(chǔ)器陣列10的存儲(chǔ)器管理模塊。地址/數(shù)據(jù)總線18被配置為從控制器22或由控制器22控制的源傳送數(shù)據(jù)至存儲(chǔ)器管理模塊19。地址/數(shù)據(jù)總線18被進(jìn)一步配置為通過(guò)控制至少?gòu)拈W存陣列14讀取數(shù)據(jù)來(lái)至少部分地控制存儲(chǔ)器陣列10的操作以及存儲(chǔ)器管理模塊19的性能。地址/數(shù)據(jù)總線18是雙向的以允許存儲(chǔ)器管理模塊19以傳送信息至控制器22。接口模塊23是常規(guī)的且?guī)椭鷮?shí)現(xiàn)地址/數(shù)據(jù)接口。可用作接口模塊23的標(biāo)準(zhǔn)單元的示例包括但不限于SP1、I2C和MAD。
[0042]控制器22可被配置為利用軟件或固件應(yīng)用程序在存儲(chǔ)器陣列10的性能上施加各種形式的控制。在一個(gè)實(shí)施例中,控制器22被配置為傳送數(shù)據(jù)至要寫入閃存陣列14的存儲(chǔ)器陣列10。在一個(gè)實(shí)施例中,控制器22被配置為具有其數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器陣列10中的地圖,以及命令讀取存儲(chǔ)在閃存陣列14中數(shù)據(jù)的能力。在一個(gè)實(shí)施例中,控制器22包括地址寄存器,其數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器陣列10中,且包括基于從特定地址寫出數(shù)據(jù)的基礎(chǔ)上來(lái)命令從存儲(chǔ)器陣列10中讀取數(shù)據(jù)的能力。在各種實(shí)施例中,存儲(chǔ)器管理模塊19向控制器22提供地址寄存器。
[0043]隨機(jī)存取存儲(chǔ)器12的一部分被用作擦寫板24。在第一步驟中,通過(guò)經(jīng)由貫通接口模塊23的地址/數(shù)據(jù)總線17和地址/數(shù)據(jù)總線18首先從控制器22傳送數(shù)據(jù)至存儲(chǔ)器管理模塊19,且接著繼續(xù)傳至隨機(jī)存取存儲(chǔ)器陣列12,數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器陣列10中。數(shù)據(jù)存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的位置可由控制器22或由存儲(chǔ)器管理模塊19控制。在任選的第二步驟中,保持在閃存并隨后保持在存儲(chǔ)器管理模塊19中的數(shù)據(jù)被移動(dòng)至擦寫板24。被保持的數(shù)據(jù)的位置可由控制器22或存儲(chǔ)器管理模塊19確定。在第三步驟中,隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)被附加至擦寫板24中的數(shù)據(jù)。在第四步驟中,組合數(shù)據(jù)可從擦寫板24移動(dòng)至存儲(chǔ)器管理模塊19,且隨后如所描述地移動(dòng)至閃存14。由于數(shù)據(jù)被從閃存陣列14移動(dòng)至擦寫板24,該位置或在閃存陣列中的位置可被按需改寫,且隨后擦寫板中所包含的數(shù)據(jù)可被寫回至閃存陣列12。
[0044]在又一實(shí)施例中,控制器22被配置為如圖3所示,至少部分地管理從隨機(jī)存取存儲(chǔ)器陣列12由事件驅(qū)動(dòng)地至閃存陣列14的傳送數(shù)據(jù)。在這樣的實(shí)施例中,存儲(chǔ)器管理模塊19并不一定被配置以確定與事件相關(guān)的所有數(shù)據(jù)何時(shí)被存儲(chǔ)在隨機(jī)存取存儲(chǔ)器12中,并且相反依賴于來(lái)自控制器22的命令來(lái)將與存儲(chǔ)在隨機(jī)存取存儲(chǔ)器12中的與事件相關(guān)的數(shù)據(jù)傳送至閃存陣列14。類似地,在通過(guò)追蹤閃存陣列14中的事件數(shù)據(jù)的存儲(chǔ)器地址的各種實(shí)施例中,控制器22可被配置為命令從閃存陣列14中讀出所有的事件數(shù)據(jù)。
[0045]在上述實(shí)施例中,控制器22被配置為僅從閃存陣列14中讀取數(shù)據(jù)。在這樣的實(shí)施例中,直到且除非存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)已經(jīng)首先被寫入閃存陣列14,該數(shù)據(jù)才可訪問(wèn)以從存儲(chǔ)器陣列10中被寫出。這樣的實(shí)施例在提供了更簡(jiǎn)化的設(shè)計(jì)的同時(shí)具有存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)至少臨時(shí)不可訪問(wèn)的缺點(diǎn)。然而,在其他實(shí)施例中,在沒(méi)有首先被寫入閃存陣列14中的情況下,存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列10中的數(shù)據(jù)可直接經(jīng)由數(shù)據(jù)總線20訪問(wèn)。在一個(gè)實(shí)施例中,地址/數(shù)據(jù)總線18被進(jìn)一步配置為在不將存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)首先存儲(chǔ)在閃存陣列14中且在輸出總線18上傳送的情況下,傳送存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)。
[0046]圖5是用于在存儲(chǔ)器陣列10中存儲(chǔ)數(shù)據(jù)的流程圖。在隨機(jī)存取存儲(chǔ)器陣列12中接收(500)數(shù)據(jù)。隨機(jī)存取存儲(chǔ)器陣列12中接收的至少部分?jǐn)?shù)據(jù)被傳送(502)至閃存陣列14。如上述詳細(xì)討論,在各種實(shí)施例中,當(dāng)對(duì)應(yīng)于事件的數(shù)據(jù)已經(jīng)被存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中,或,在一個(gè)實(shí)施例中,當(dāng)存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的數(shù)據(jù)小于至少一個(gè)扇區(qū)16的數(shù)據(jù)存儲(chǔ)容量時(shí),可基于存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù)等于或超過(guò)至少一個(gè)扇區(qū)16的數(shù)據(jù)存儲(chǔ)容量,發(fā)生從隨機(jī)存取存儲(chǔ)器陣列12到閃存陣列14的傳送。從閃存陣列14,初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù),在輸出地址/數(shù)據(jù)總線18上被輸出(504)。
[0047]圖6是如圖2所示通過(guò)傳送完整的塊13來(lái)在存儲(chǔ)器陣列10中存儲(chǔ)數(shù)據(jù)的流程圖。在隨機(jī)存取存儲(chǔ)器陣列12中接收(600)數(shù)據(jù)。完整單元13(諸如在上述實(shí)施例中單元13’和13”)中的數(shù)據(jù)被傳送(602)至閃存陣列14。不完整單元13(諸如上述實(shí)施例中單元13”’)中的數(shù)據(jù)不被傳送至閃存陣列14。初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù)在輸出地址/數(shù)據(jù)總線18上被輸出(604)。
[0048]圖7是如圖3所示通過(guò)傳送完整和不完整的塊13來(lái)在存儲(chǔ)器陣列10中存儲(chǔ)數(shù)據(jù)的流程圖。在隨機(jī)存取存儲(chǔ)器陣列12中接收(700)數(shù)據(jù)。在一個(gè)實(shí)施例中,隨機(jī)存取存儲(chǔ)器陣列12中的所有數(shù)據(jù),不管是如上述實(shí)施例該的完整單元13,例如單元13’和13”,還是不完整單元13,例如單元13”’,被傳送(702)至閃存陣列14。在一實(shí)施例中,隨機(jī)存取存儲(chǔ)器12中涉及特定事件的所有數(shù)據(jù)被傳送(702),不管單元13其中與特定事件或文件相關(guān)的數(shù)據(jù)是完整的還是不完整的。初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù)在輸出地址/數(shù)據(jù)總線18上被輸出(704)。
[0049]圖8是用于在存儲(chǔ)器陣列10中存儲(chǔ)數(shù)據(jù)和從隨機(jī)存取存儲(chǔ)器陣列12和閃存陣列14中兩者或其中之一中輸出數(shù)據(jù)的流程圖。在隨機(jī)存取存儲(chǔ)器陣列12中接收(800)數(shù)據(jù)。在根據(jù)上述各種要求和技術(shù)的各種實(shí)施例中,在隨機(jī)存取存儲(chǔ)器陣列12中接收的至少部分?jǐn)?shù)據(jù)被傳送(802)至閃存陣列14。初始存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù)在輸出地址/數(shù)據(jù)總線18上被輸出(804)。存儲(chǔ)在隨機(jī)存取存儲(chǔ)器陣列12中的至少部分?jǐn)?shù)據(jù)在地址/數(shù)據(jù)總線18上被輸出(806)。
[0050]可構(gòu)想,其中可以使用存儲(chǔ)器陣列10的設(shè)備,例如,可植入醫(yī)療設(shè)備,可具有不需要直接涉及至和/或從存儲(chǔ)器陣列10存儲(chǔ)數(shù)據(jù)和/或取回?cái)?shù)據(jù)的其他功能。作為示例,這樣的可植入醫(yī)療設(shè)備可能參與需要相對(duì)高功率要求或要求相對(duì)高的處理器使用率或要求上述兩者的任務(wù)。通過(guò)遙感勘測(cè)至和/或從一外部設(shè)備來(lái)傳送信息可以是這樣的一事件。若存儲(chǔ)器陣列涉及移動(dòng)數(shù)據(jù),例如至和/或從閃存陣列14和/或至和/或從隨機(jī)存取存儲(chǔ)器陣列,可期望中斷、掛起、或暫停這樣的存儲(chǔ)事件,從而通過(guò)在存儲(chǔ)器操作中不使用資源,例如電源,或不要求更高優(yōu)先權(quán)和/或高資源使用事件以等待存儲(chǔ)器事件的完成來(lái)照顧更高優(yōu)先權(quán)和/或高資源使用事件。在這個(gè)情況下,可構(gòu)想,控制器22可發(fā)出暫停命令,本質(zhì)地停止存儲(chǔ)器操作直到照顧到另一事件或多個(gè)事件或控制器22可發(fā)出異常中斷命令使得存儲(chǔ)器10停止和中斷當(dāng)前正在進(jìn)行中的存儲(chǔ)器操作。在這個(gè)情況下,存儲(chǔ)器陣列10可隨后在數(shù)據(jù)安全停止點(diǎn)上盡可能快地停止或回復(fù)至先前存儲(chǔ)器狀態(tài)。
[0051]在一個(gè)實(shí)施例中,存儲(chǔ)器陣列10可開(kāi)發(fā)存儲(chǔ)器陣列10本身不能解決的錯(cuò)誤條件或其他條件。在這樣的環(huán)境下,存儲(chǔ)器陣列10可從幫助解決該錯(cuò)誤條件或其他條件中發(fā)出請(qǐng)求至控制器22,且控制器22可幫助存儲(chǔ)器陣列10這樣做。
[0052]因此,公開(kāi)了存儲(chǔ)器模塊和方法的實(shí)施例。本領(lǐng)域技術(shù)人員將明白本發(fā)明可以以那些公開(kāi)以外的實(shí)施例來(lái)實(shí)施。所公開(kāi)的實(shí)施例被展示用作說(shuō)明的目的而不是限制,并且本發(fā)明僅由后面的權(quán)利要求所限制。
【權(quán)利要求】
1.一種用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器陣列,包括: 閃存陣列; 隨機(jī)存取存儲(chǔ)器陣列,可操作地耦合至所述閃存且被配置為接收所述數(shù)據(jù); 存儲(chǔ)器管理模塊,可操作地耦合至所述隨機(jī)存取存儲(chǔ)器陣列且被耦合至所述閃存陣列,所述存儲(chǔ)器管理模塊被配置為將存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器陣列中的至少部分所述數(shù)據(jù)傳送至所述閃存陣列;以及 數(shù)據(jù)總線,可操作地耦合至所述閃存陣列且被配置為從所述閃存陣列中輸出初始存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器陣列中的至少部分所述數(shù)據(jù)。
2.如權(quán)利要求1的存儲(chǔ)器陣列,其特征在于,所述隨機(jī)存取存儲(chǔ)器陣列包括靜態(tài)隨機(jī)存取存儲(chǔ)器陣列。
3.如權(quán)利要求1的存儲(chǔ)器陣列,其特征在于,所述閃存陣列包括多個(gè)扇區(qū),所述多個(gè)扇區(qū)中的至少一個(gè)具有數(shù)據(jù)存儲(chǔ)容量,且其中所述存儲(chǔ)器管理模塊被配置為當(dāng)存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器陣列中的所述至少部分所述數(shù)據(jù)等于所述多個(gè)扇區(qū)的所述至少一個(gè)的所述數(shù)據(jù)存儲(chǔ)容量時(shí)從所述隨機(jī)存取存儲(chǔ)器陣列傳送所述數(shù)據(jù)的所述部分至所述閃存陣列。
4.如權(quán)利要求1的存儲(chǔ)器陣列,其特征在于,所述所述至少部分所述數(shù)據(jù)對(duì)應(yīng)于一事件,且其中所述存儲(chǔ)器管理模塊被配置為當(dāng)對(duì)應(yīng)于所述事件的所有所述數(shù)據(jù)的所述部分被存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器陣列中時(shí)從所述隨機(jī)存取存儲(chǔ)器陣列將所述數(shù)據(jù)的所述部分傳送至所述閃存陣列。
5.如權(quán)利要求4的存儲(chǔ)器陣列,其特征在于,所述事件是在所述隨機(jī)存取存儲(chǔ)器中完成預(yù)定數(shù)據(jù)塊的存儲(chǔ)。
6.如權(quán)利要求5的存儲(chǔ)器陣列,其特征在于,所述閃存陣列包括多個(gè)扇區(qū),所述多個(gè)扇區(qū)的至少一個(gè)具有數(shù)據(jù)存儲(chǔ)容量。
7.如權(quán)利要求6的存儲(chǔ)器陣列,其特征在于,所述預(yù)定數(shù)據(jù)塊的數(shù)據(jù)量小于所述多個(gè)扇區(qū)的所述至少一個(gè)的所述數(shù)據(jù)存儲(chǔ)容量。
8.如權(quán)利要求6的存儲(chǔ)器陣列,其特征在于,所述預(yù)定數(shù)據(jù)塊的數(shù)據(jù)量超過(guò)所述多個(gè)扇區(qū)的所述至少一個(gè)的所述數(shù)據(jù)存儲(chǔ)容量。
9.如權(quán)利要求8的存儲(chǔ)器陣列,其特征在于,所述存儲(chǔ)器管理模塊被配置為從所述隨機(jī)存取存儲(chǔ)器將等于所述多個(gè)扇區(qū)的所述至少一個(gè)的所述數(shù)據(jù)存儲(chǔ)容量的所述預(yù)定數(shù)據(jù)塊的一部分傳送至所述閃存。
10.如權(quán)利要求6的存儲(chǔ)器陣列,其中對(duì)應(yīng)于多個(gè)存儲(chǔ)事件的多個(gè)所述預(yù)定數(shù)據(jù)塊被存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器中,且其中所述存儲(chǔ)器管理模塊被配置為當(dāng)所述多個(gè)預(yù)定數(shù)據(jù)塊的所述數(shù)據(jù)量至少是多個(gè)扇區(qū)的所述至少一個(gè)的所述數(shù)據(jù)容量時(shí),從所述隨機(jī)存取存儲(chǔ)器將所述多個(gè)預(yù)定數(shù)據(jù)塊傳送至所述閃存。
【文檔編號(hào)】G11C16/10GK104272390SQ201380013116
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2013年3月1日 優(yōu)先權(quán)日:2012年3月7日
【發(fā)明者】K·K·沃爾什, D·R·比奇洛, J·D·瑞蘭德, P·R·索海姆, R·D·馬斯托, C·R·戈登 申請(qǐng)人:美敦力公司