專利名稱:統(tǒng)一的存儲(chǔ)器和控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)器裝置,更具體地說,涉及一種這樣的存儲(chǔ)器裝置,該存儲(chǔ)器裝置具有接收常規(guī)隨機(jī)地址格式的地址和數(shù)據(jù)的能力,并將該數(shù)據(jù)/地址映射到NOR存儲(chǔ)器、RAM存儲(chǔ)器、用作用于NAND存儲(chǔ)器的高速緩存由此模擬偽NOR(PNOR)操作的RAM存儲(chǔ)器、以及ATA格式的非易失性NAND存儲(chǔ)器。所述地址和數(shù)據(jù)通過單個(gè)總線或多個(gè)總線從一個(gè)或多個(gè)處理器接收。本發(fā)明還涉及一種用在這種存儲(chǔ)器裝置中的具有嵌入式可引導(dǎo)NOR存儲(chǔ)器的存儲(chǔ)器控制器。
背景技術(shù):
易失性隨機(jī)存取存儲(chǔ)器,諸如SRAM或DRAM(或者SDRAM)或者PSRAM(下文統(tǒng)稱為RAM),是本領(lǐng)域中公知的。典型地,這些類型的易失性存儲(chǔ)器在地址總線上接收地址信號,在數(shù)據(jù)總線接上收數(shù)據(jù)信號,并且在控制總線上接收控制信號。
并行NOR型非易失性存儲(chǔ)器也是本領(lǐng)域公知的。典型地,它們在與提供給RAM的相同類型的地址總線上接收地址信號,在與提供給RAM的相同類型的數(shù)據(jù)總線上接收數(shù)據(jù)信號,并且在與提供給RAM的相同類型的控制總線上接收控制信號。與RAM類似,NOR存儲(chǔ)器是隨機(jī)存取存儲(chǔ)器裝置。然而,由于NOR存儲(chǔ)器需要某些操作,而RAM不需要,諸如扇區(qū)擦除或者塊擦除,因此這些具有命令的性質(zhì)的操作以特定數(shù)據(jù)模式的序列被提供給NOR裝置。這稱為NOR協(xié)議命令。在現(xiàn)有技術(shù)中,存在兩種類型的NOR協(xié)議命令1)與最初由Intel發(fā)布的協(xié)議命令集兼容的那些協(xié)議命令;2)與最初由AMD發(fā)布的協(xié)議命令集兼容的那些協(xié)議命令。在任一種情況下,NOR存儲(chǔ)器都電接口連接至與RAM所接口連接的相同的地址、數(shù)據(jù)和控制總線。而且,常規(guī)的NOR存儲(chǔ)器裝置也可以以公知的常規(guī)格式,如SPI、LPC或固件集線器,串行地提供數(shù)據(jù)、地址和控制信號。
NAND型非易失性存儲(chǔ)器也是本領(lǐng)域公知的。然而,與并行的NOR裝置不同,NAND存儲(chǔ)器將數(shù)據(jù)存儲(chǔ)在可隨機(jī)存取的塊中,其中塊內(nèi)的單元被以順序的格式存儲(chǔ)。而且,地址和數(shù)據(jù)信號被提供在相同的總線上,但采用的是多路復(fù)用的方式。NAND存儲(chǔ)器具有的優(yōu)點(diǎn)是,它們比NOR裝置更致密,從而降低了每比特?cái)?shù)據(jù)的存儲(chǔ)成本。
由于NAND裝置的每比特?cái)?shù)據(jù)的較低的成本,已經(jīng)嘗試使用NAND裝置來模擬NOR裝置的操作。被稱為OneNAND(三星公司的商標(biāo))的一種這樣的裝置使用RAM存儲(chǔ)器來臨時(shí)緩沖數(shù)據(jù)到NAND存儲(chǔ)器和從NAND存儲(chǔ)器臨時(shí)緩沖數(shù)據(jù),由此模擬NOR存儲(chǔ)器的操作。然而,OneNAND裝置被認(rèn)為受到兩個(gè)缺點(diǎn)的影響。第一,與OneNAND界面連接的用戶或主機(jī)裝置被認(rèn)為必須留意數(shù)據(jù)一致性。在數(shù)據(jù)一致性中,由于用戶或主機(jī)向RAM寫入,因此RAM中的數(shù)據(jù)可能新于(并且從此不同于)在NAND中最初讀取RAM中的數(shù)據(jù)的位置中的數(shù)據(jù)。因而,在OneNAND裝置中用戶或主機(jī)必須進(jìn)行這樣的動(dòng)作,即將來自RAM的數(shù)據(jù)寫回NAND中的最終位置以便存儲(chǔ)該數(shù)據(jù),或記住RAM中的數(shù)據(jù)是更新的數(shù)據(jù)。被認(rèn)為是OneNAND裝置的缺點(diǎn)的第二個(gè)問題是它不能提供自動(dòng)地址映射。在OneNAND裝置中,一旦數(shù)據(jù)被寫入該OneNAND裝置的RAM部分中,主機(jī)或用戶必須發(fā)出命令或命令序列以向該OneNAND裝置的NAND部分中的最終位置寫入該RAM部分中的數(shù)據(jù)。類似地,對于讀操作,主機(jī)或用戶必須從OneNAND的NAND部分中的特定區(qū)域發(fā)出讀命令,以將該數(shù)據(jù)載入RAM部分中,然后從該RAM部分讀出數(shù)據(jù)。
被認(rèn)為具有類似缺陷的另一現(xiàn)有技術(shù)裝置是來自M Systems的DiskOnChip裝置。在DiskOnChip裝置中,具有有限量的RAM的控制器控制NAND存儲(chǔ)器的操作。然而,DiskOnChip裝置的控制器部分被認(rèn)為不具備任何板上非易失性可引導(dǎo)存儲(chǔ)器,如NOR存儲(chǔ)器。
于2006年3月9日公布的美國專利申請2006/0053246中示出了表明模擬NOR存儲(chǔ)器操作的具有控制器的NAND存儲(chǔ)器的使用的現(xiàn)有技術(shù)公開物。盡管該公開物示出了具有連接到多個(gè)處理器的控制器的NAND存儲(chǔ)器的使用,但是看起來該NAND存儲(chǔ)器不能通過ATA格式操作直接存取。因而,在沒有與外部直接存取的情況下,對該NAND存儲(chǔ)器的所有存取必須借助控制器來完成。
因而,需要一種沒有這些缺點(diǎn)并具有提供現(xiàn)有技術(shù)中沒有發(fā)現(xiàn)的另外的存儲(chǔ)器存取特性的能力的存儲(chǔ)器裝置。
發(fā)明內(nèi)容
在本發(fā)明中,通用的存儲(chǔ)器裝置具有控制器。該控制器具有用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號的第一總線、用于與NAND存儲(chǔ)器接口連接的第二總線;和用于與RAM存儲(chǔ)器接口連接的第三總線;以及用于與NOR存儲(chǔ)器接口連接的第四總線。NAND存儲(chǔ)器連接到第二總線。RAM存儲(chǔ)器連接到第三總線。NOR存儲(chǔ)器連接到第四總線。該存儲(chǔ)器控制器響應(yīng)于NOR協(xié)議命令、RAM協(xié)議命令和ATA NAND協(xié)議命令。
本發(fā)明還涉及一種用在這種存儲(chǔ)器裝置中的存儲(chǔ)器控制器。
最后本發(fā)明還涉及存儲(chǔ)器控制器與不同類型的存儲(chǔ)器NOR、RAM和NAND的多種組合,以便作為NOR存儲(chǔ)器、RAM存儲(chǔ)器、NOR模擬存儲(chǔ)器和ATANAND存儲(chǔ)器工作。
圖1是包括存儲(chǔ)器控制器、連接到單個(gè)主機(jī)系統(tǒng)或用戶的存儲(chǔ)器裝置的第一實(shí)施例的方框圖。
圖2是示出在存儲(chǔ)器裝置外部由主機(jī)或用戶所見的地址空間與圖1中所示的存儲(chǔ)器裝置的第一實(shí)施例中的NOR存儲(chǔ)器、RAM存儲(chǔ)器和NAND存儲(chǔ)器的映射的存儲(chǔ)器映射圖。
圖3是用于該存儲(chǔ)器裝置中的控制器的詳細(xì)方框電路圖。
圖4是包含存儲(chǔ)器控制器、與單個(gè)主機(jī)系統(tǒng)或用戶相連接的存儲(chǔ)器裝置的第二實(shí)施例的方框圖。
圖5是示出在存儲(chǔ)器裝置外部由主機(jī)或用戶所見的地址空間與圖4中所示的存儲(chǔ)器裝置的第二實(shí)施例中的NOR存儲(chǔ)器、RAM存儲(chǔ)器和NAND存儲(chǔ)器的映射的存儲(chǔ)器映射圖。
圖6是包含本發(fā)明的存儲(chǔ)器控制器、通過單個(gè)總線與多個(gè)主機(jī)系統(tǒng)或用戶以及多個(gè)請求總線相連接的本發(fā)明的存儲(chǔ)器裝置的第三實(shí)施例的方框圖。
圖7是包含本發(fā)明的存儲(chǔ)器控制器、通過多個(gè)總線與多個(gè)主機(jī)系統(tǒng)或用戶相連接的本發(fā)明的存儲(chǔ)器裝置的第四實(shí)施例的方框圖。
圖8是包含本發(fā)明的存儲(chǔ)器控制器、通過多個(gè)總線與多個(gè)主機(jī)系統(tǒng)或用戶相連接的本發(fā)明的存儲(chǔ)器裝置的第五實(shí)施例的方框圖。
圖9是包含本發(fā)明的存儲(chǔ)器控制器、通過多個(gè)總線與多個(gè)主機(jī)系統(tǒng)或用戶相連接的本發(fā)明的存儲(chǔ)器裝置的第六實(shí)施例的方框圖。
具體實(shí)施例方式
參考圖1,示出了存儲(chǔ)器裝置10的第一實(shí)施例。存儲(chǔ)器裝置10包括存儲(chǔ)器控制器12,NAND存儲(chǔ)器14,以及RAM存儲(chǔ)器16。存儲(chǔ)器裝置10與主機(jī)裝置20通過第一RAM地址總線22,第一RAM數(shù)據(jù)總線24,以及多個(gè)控制信號例如等待26,RST#28,以及CE#,OE#,和WE#30接口連接,其全部是用于RAM總線的控制信號的領(lǐng)域中的技術(shù)人員所熟知的。以下除非另有規(guī)定,等待26,RST#28以及CE#,OE#,和WE#30上的所有控制信號被稱為第一RAM控制總線32。第一RAM地址總線22,第一RAM數(shù)據(jù)總線24和第一RAM控制總線32從主機(jī)裝置20連接到存儲(chǔ)器裝置10的存儲(chǔ)器控制器12。進(jìn)一步地,如之前所討論的,存儲(chǔ)器裝置10和主機(jī)轉(zhuǎn)置20之間的接口連接可以通過串行總線,其中數(shù)據(jù)、地址和控制總線串行地連接在主機(jī)裝置20和存儲(chǔ)器裝置10之間。這種存儲(chǔ)器裝置10也在本發(fā)明的范圍內(nèi)。
存儲(chǔ)器控制器12具有第二RAM地址總線(與第一RAM地址總線22類似),第二RAM數(shù)據(jù)總線(與第一RAM數(shù)據(jù)總線24類似),以及第二控制總線(與第一RAM控制總線32類似),其全部被共同地簡單示為連接到RAM存儲(chǔ)器16的第二RAM總線40。存儲(chǔ)器控制器12還具有連接到NAND存儲(chǔ)器14的NAND地址/數(shù)據(jù)總線和NAND控制總線(其全部被共同地示為NAND總線42)。RAM存儲(chǔ)器16可以集成或嵌入在存儲(chǔ)器控制器12中,作為單芯片集成電路??商鎿Q地,RAM存儲(chǔ)器16可以是與存儲(chǔ)器控制器12分開的集成電路??商鎿Q地,部分RAM存儲(chǔ)器16可以與存儲(chǔ)器控制器12集成以及部分RAM存儲(chǔ)器16可以與存儲(chǔ)器控制器12分開。RAM存儲(chǔ)器16作為單獨(dú)管芯(die)的優(yōu)點(diǎn)將在下文中討論。然而,RAM存儲(chǔ)器16與存儲(chǔ)器控制器12集成的優(yōu)點(diǎn)是在操作中RAM存儲(chǔ)器16可以更快速。
在一個(gè)實(shí)施例中,存儲(chǔ)器控制器12為單個(gè)集成電路管芯。該控制器還具有嵌入在該存儲(chǔ)器控制器集成電路管芯內(nèi)的第一NOR存儲(chǔ)器44,第二NOR存儲(chǔ)器62,SRAM存儲(chǔ)器46,以及SDRAM控制器48(用于控制RAM 16的操作,如果RAM 16為SDRAM類型的RAM存儲(chǔ)器,并且在存儲(chǔ)器控制器12之外)。當(dāng)然,第一NOR存儲(chǔ)器44和第二NOR存儲(chǔ)器62可以是相同的物理NOR存儲(chǔ)器的一部分。在圖3中示出了存儲(chǔ)器控制器12的實(shí)施例的詳細(xì)的方框圖。正如在此所使用的,“NOR存儲(chǔ)器”意指任何類型的隨機(jī)存取非易失性存儲(chǔ)器。該NOR存儲(chǔ)器包括但不限于浮柵型存儲(chǔ)器,ROM,或使用俘獲材料的單元等。進(jìn)一步如在此所使用的,“NAND存儲(chǔ)器”意指任何類型的串行存取非易失性存儲(chǔ)器,其可以包括有缺陷的單元。
在一個(gè)實(shí)施例中,存儲(chǔ)器控制器12,RAM存儲(chǔ)器16和NAND存儲(chǔ)器14中的每一個(gè)由單個(gè)集成電路管芯制成并且采用MCP(多芯片封裝)方式被封裝在一起。這種配置的優(yōu)點(diǎn)是,對于要求大(或小)容量的存儲(chǔ)器的用戶或主機(jī)20而言,存儲(chǔ)器的容量可以通過簡單地改變?nèi)菀卓捎玫腘AND存儲(chǔ)器14的管芯或者如果速度是一個(gè)因素則改變?nèi)菀卓捎玫腞AM存儲(chǔ)器16來改變。因此,在單獨(dú)的管芯中具有存儲(chǔ)器控制器12,RAM存儲(chǔ)器16和NAND存儲(chǔ)器14意味著能夠容易地制造存儲(chǔ)器裝置10的不同尺寸和速度或性能。
當(dāng)然,也能將存儲(chǔ)器控制器12,RAM存儲(chǔ)器16和NAND存儲(chǔ)器14制成單一的集成電路管芯。如果存儲(chǔ)器控制器12,RAM存儲(chǔ)器16和NAND存儲(chǔ)器14由單一的集成電路管芯制成,則還可以進(jìn)行供應(yīng)以提供外部NAND總線42以便另外從外部提供的NAND存儲(chǔ)器能夠附著到存儲(chǔ)器裝置10以擴(kuò)展存儲(chǔ)器裝置10的存儲(chǔ)器容量。
參考圖2,示出了說明如主機(jī)裝置20所見的并且映射到圖1所示的存儲(chǔ)器裝置10的第一實(shí)施例中的地址映射的存儲(chǔ)器映射。如主機(jī)裝置20所見的存儲(chǔ)器映射具有兩個(gè)一般部分隨機(jī)存取和大容量存儲(chǔ)存取。隨機(jī)存取部分占用較低的存儲(chǔ)器地址位置(盡管那不是必要條件)。在隨機(jī)存取部分內(nèi),最低的存儲(chǔ)器地址用于NOR存儲(chǔ)器存取部分50,之后是偽NOR(PNOR)存儲(chǔ)器存取部分52,之后是RAM存取部分54,之后是結(jié)構(gòu)存取部分56。每個(gè)部分將進(jìn)行如下說明。
如主機(jī)裝置20所見的NOR存儲(chǔ)器存取部分50在于,當(dāng)主機(jī)20在該部分50中進(jìn)行操作時(shí),結(jié)果是對物理NOR存儲(chǔ)器44的操作。因此,存儲(chǔ)器部分50與物理NOR存儲(chǔ)器44的映射為一對一的。換句話說,分配給NOR部分50的存儲(chǔ)器空間的量依賴于在存儲(chǔ)器裝置10中可用的NOR存儲(chǔ)器44的量。在一個(gè)實(shí)施例中,嵌入在存儲(chǔ)器控制器12中的NOR存儲(chǔ)器44的量為4兆位,且具有2K字扇區(qū)大小和32K字塊大小。進(jìn)一步地,當(dāng)主機(jī)裝置20認(rèn)為其正對NOR部分50進(jìn)行操作時(shí)(如在發(fā)布讀取/寫入/擦除等的命令中),作為結(jié)果而發(fā)生的操作是直接對NOR存儲(chǔ)器44進(jìn)行。該NOR部分50可以由正在設(shè)法存儲(chǔ)要求無等待時(shí)間的隨機(jī)存取的性能關(guān)鍵代碼/數(shù)據(jù)的主機(jī)裝置20來使用。進(jìn)一步地,如果程序存儲(chǔ)在NOR存儲(chǔ)器44中,則其能夠在NOR存儲(chǔ)器44內(nèi)被原位執(zhí)行。因此NOR存儲(chǔ)器44能夠存儲(chǔ)“引導(dǎo)”主機(jī)裝置20的程序或代碼。
如主機(jī)裝置20所見的PNOR部分52在于,當(dāng)主機(jī)20在該部分52中進(jìn)行操作時(shí),主機(jī)20認(rèn)為其正對非易失性的RAM存儲(chǔ)器16進(jìn)行操作。因此,對于主機(jī)裝置20,其能夠類似對任何其它RAM存儲(chǔ)器16那樣對PNOR部分52進(jìn)行操作,除了存儲(chǔ)在PNOR部分52中的數(shù)據(jù)是非易失性的以外,全部都不用發(fā)布NOR協(xié)議命令。在一個(gè)實(shí)施例中,PNOR部分52恰似NAND存儲(chǔ)器那樣被分成頁,且每頁為8K字節(jié),2K字節(jié)或512字節(jié)。在操作過程中,當(dāng)主機(jī)裝置20與存儲(chǔ)器裝置10接口連接時(shí),其與RAM存儲(chǔ)器16接口連接,且存儲(chǔ)器控制器12將數(shù)據(jù)備份到NAND存儲(chǔ)器14以及從NAND存儲(chǔ)器14備份數(shù)據(jù),并且保持在RAM存儲(chǔ)器16和NAND存儲(chǔ)器14之間的數(shù)據(jù)一致性,并且存儲(chǔ)器控制器12將由主機(jī)裝置20提供的地址映射到NAND存儲(chǔ)器14中的實(shí)際數(shù)據(jù)的地址。由于可用的NAND存儲(chǔ)器14的量大于實(shí)際的RAM存儲(chǔ)器16,因此PNOR部分52可以是比RAM存儲(chǔ)器16中可用的實(shí)際存儲(chǔ)器的量大得多的存儲(chǔ)器空間。
進(jìn)一步地,PNOR部分52能夠分為四(4)個(gè)區(qū)域,每一個(gè)映射到區(qū)(zone)RAM存儲(chǔ)器16中的區(qū)0,區(qū)1,區(qū)2以及區(qū)3。每個(gè)區(qū)能具有不同程度的映射。在從PNOR部分52中的區(qū)域到RAM存儲(chǔ)器16中的區(qū)的映射是一對一的情況下,于是這被稱為“靜態(tài)分頁模式”。在從PNOR部分52中的區(qū)域到RAM存儲(chǔ)器16中的區(qū)的映射是多對一的情況下,于是這被稱為“動(dòng)態(tài)分頁模式”。靜態(tài)分頁模式映射將導(dǎo)致最小的等待時(shí)間,因?yàn)镻NOR部分52中的存儲(chǔ)器空間的量,例如256頁(或在2K字節(jié)頁的情況下為512K字節(jié)),總是映射到RAM 16中的相同量的存儲(chǔ)器空間,例如256頁(或512K字節(jié)),其又映射到NAND存儲(chǔ)器14中的256頁(或512K字節(jié))中。在那種情況下,盡管由于RAM存儲(chǔ)器16也是隨機(jī)存取所以在操作過程中存取時(shí)沒有等待時(shí)間,但是在最初從NAND存儲(chǔ)器14到RAM存儲(chǔ)器16和從RAM存儲(chǔ)器16到NAND存儲(chǔ)器14的加載和存儲(chǔ)時(shí)存在等待時(shí)間。在動(dòng)態(tài)分頁模式映射中,例如映射映射到RAM存儲(chǔ)器16的512頁的PNOR部分52中的存儲(chǔ)器空間的40,000頁,其又映射到NAND存儲(chǔ)器14的40,000頁,將出現(xiàn)更大量的等待時(shí)間。該等待時(shí)間將出現(xiàn)在最初的數(shù)據(jù)/程序從NAND存儲(chǔ)器14到RAM 16中的加載中,以及在從PNOR部分52重新獲得數(shù)據(jù)/程序的操作過程中,如果存在高速緩存缺失,則其可能要求數(shù)據(jù)/程序首先從NAND存儲(chǔ)器14加載到RAM 16中。因此,對于PNOR部分52的等待時(shí)間將根據(jù)所配置的區(qū)的大小而不同。RAM存儲(chǔ)器16的每個(gè)區(qū)的邊界,并且因此,多少存儲(chǔ)器空間從PNOR部分52的每個(gè)區(qū)域被映射到RAM存儲(chǔ)器16中,可以由主機(jī)裝置20或用戶來設(shè)置。結(jié)果,主機(jī)裝置20能夠配置四個(gè)區(qū)在靜態(tài)分頁模式下操作以存儲(chǔ)/重新獲得程序或時(shí)間臨界(time critical)數(shù)據(jù),或在動(dòng)態(tài)分頁模式下操作以存諸/重新獲得程序或非時(shí)間關(guān)鍵的數(shù)據(jù),結(jié)果是如果存在高速緩存缺失則存在等待時(shí)間。
在為靜態(tài)分頁模式配置區(qū)的情況下,數(shù)據(jù)讀取一致性不是問題,因?yàn)镻NOR部分52中的相同量的存儲(chǔ)器空間總是映射到RAM存儲(chǔ)器16中的相同量的空間中。然而,數(shù)據(jù)寫入一致性仍然必須執(zhí)行。但是,在為動(dòng)態(tài)分頁模式配置區(qū)的情況下,必須提供數(shù)據(jù)一致性。主機(jī)裝置20能夠配置該區(qū)以兩個(gè)高速緩存一致性模式的一個(gè)進(jìn)行操作。在第一模式中,主機(jī)裝置20啟動(dòng)高速緩存一致性模式。在該模式中,主機(jī)裝置20刷新(flush)RAM存儲(chǔ)器16中的高速緩存操作,如且當(dāng)主機(jī)裝置20需要時(shí)。在第二模式中,存儲(chǔ)器控制器12通過刷新RAM存儲(chǔ)器16中的高速緩存操作,如且當(dāng)主機(jī)裝置20需要時(shí),來啟動(dòng)高速緩存一致性模式,以保持RAM存儲(chǔ)器16中的高速緩存和NAND存儲(chǔ)器14之間的數(shù)據(jù)的一致性。
一旦由用戶設(shè)置了PNOR部分52的存儲(chǔ)器空間的量和其到RAM存儲(chǔ)器16的映射,RAM存儲(chǔ)器16中的可用存儲(chǔ)器空間的剩余部分就可用于RAM存儲(chǔ)器存取部分。如主機(jī)裝置20所見的RAM存儲(chǔ)器存取部分54在于,當(dāng)主機(jī)20在該部分54中進(jìn)行操作時(shí),結(jié)果是對物理RAM存儲(chǔ)器16進(jìn)行的操作。因此,存儲(chǔ)器部分54與物理RAM存儲(chǔ)器16的映射是一對一的。進(jìn)一步地,分配給RAM部分54的存儲(chǔ)器空間的量依賴于在存儲(chǔ)器裝置10中可用的RAM存儲(chǔ)器16的總量,以及PONR存儲(chǔ)器52的存儲(chǔ)器空間部分到RAM存儲(chǔ)器16的映射程度。當(dāng)主機(jī)認(rèn)為其對RAM部分54進(jìn)行操作時(shí)(如在發(fā)布讀取/寫入等的命令中),作為結(jié)果而發(fā)生的操作是直接對RAM存儲(chǔ)器16進(jìn)行的。該RAM部分54可以由正設(shè)法使用存儲(chǔ)器空間作為緩沖區(qū)的主機(jī)裝置20來使用。由于在每個(gè)區(qū)中的PNOR部分52的存儲(chǔ)器空間到RAM存儲(chǔ)器16的映射可以由用戶來設(shè)置,并且RAM存儲(chǔ)器16的總量是已知的,因此PNOR部分52和RAM部分54之間的邊界間接地由用戶來設(shè)置。因此,如果需要具有大量的緩沖器,則可以通過在一個(gè)或多個(gè)區(qū)中減少PNOR部分52和RAM存儲(chǔ)器16之間的映射來分配更大量的RAM部分54。此外,通過復(fù)位存儲(chǔ)器控制器12,并在每個(gè)區(qū)中重建PNOR部分52的存儲(chǔ)器空間和RAM存儲(chǔ)器16之間的映射,PNOR部分52和RAM部分54之間的邊界在存儲(chǔ)器裝置10的操作過程中可以改變。
對于RAM存儲(chǔ)器16的每個(gè)區(qū)的存儲(chǔ)器映射的邊界和PNOR部分52的存儲(chǔ)器空間的大小可以預(yù)先分配并存儲(chǔ)到存儲(chǔ)器控制器12中的非易失性結(jié)構(gòu)寄存器60中。對于結(jié)構(gòu)寄存器60的存取通過結(jié)構(gòu)存取部分56來進(jìn)行。非易失性的結(jié)構(gòu)寄存器60可以是嵌入式NOR存儲(chǔ)器62的一部分。可替換地,對于RAM存儲(chǔ)器16的每個(gè)區(qū)的存儲(chǔ)器映射的邊界和PNOR部分52的存儲(chǔ)器空間的大小可以由用戶通過一個(gè)或多個(gè)芯片選擇引腳來選擇。在那種情況下,當(dāng)存儲(chǔ)器控制器12被加電時(shí),不同存儲(chǔ)器的邊界能夠重新設(shè)置。NOR存儲(chǔ)器62還能夠存儲(chǔ)用于在啟動(dòng)期間通過存儲(chǔ)器控制器12的執(zhí)行以及用于存儲(chǔ)器控制器12和MCU 64的操作的固件代碼61。
最后,在大容量存諸存取部分58中,當(dāng)主機(jī)裝置20存取存儲(chǔ)器空間的該部分時(shí),主機(jī)裝置20認(rèn)為其正在存取ATA盤驅(qū)動(dòng)器。存儲(chǔ)器控制器12使用公知的閃存文件系統(tǒng)(FFS)協(xié)議將邏輯ATA盤驅(qū)動(dòng)器空間地址轉(zhuǎn)變?yōu)镹AND存儲(chǔ)器14物理空間地址。在一個(gè)實(shí)施例中,對于讀取操作,大容量存儲(chǔ)取部分58的開始部分包括加載到ATA任務(wù)文件寄存器79中的16字節(jié)邏輯地址。存儲(chǔ)器控制器12解碼該16字節(jié)的任務(wù)命令和邏輯地址并將其轉(zhuǎn)變?yōu)橛糜诖嫒AND存儲(chǔ)器14內(nèi)的特定“頁”的物理地址。讀取來自NAND存儲(chǔ)器14中的頁的512字節(jié)的該頁,然后將其加載到數(shù)據(jù)寄存器81中,在此由主機(jī)裝置20順序地或者隨機(jī)地存取它們。對于寫入操作,發(fā)生了反轉(zhuǎn)。將要存儲(chǔ)512字節(jié)的數(shù)據(jù)處的邏輯地址首先加載到任務(wù)文件寄存器79中。將寫入命令寫入到任務(wù)文件寄存器79中。存儲(chǔ)器控制器12解碼任務(wù)文件寄存器中的作為寫入命令的命令并將其轉(zhuǎn)變?yōu)槲锢淼刂芬源嫒AND存儲(chǔ)器14中的該特定頁,并在該位置將該512字節(jié)存儲(chǔ)到數(shù)據(jù)寄存器81中。在另一個(gè)實(shí)施例中,可以存在采用所謂的乒乓(ping-pong)式結(jié)構(gòu)的兩個(gè)數(shù)據(jù)寄存器81(a和b)(未示出)。在那種情況下,數(shù)據(jù)寄存器中的一個(gè)81a被用于向主機(jī)裝置20提供512字節(jié)的數(shù)據(jù)以及之前從NAND存儲(chǔ)器14的一頁加載的數(shù)據(jù),而另一個(gè)數(shù)據(jù)寄存器81b用于將數(shù)據(jù)從NAND存儲(chǔ)器14的另一頁加載到數(shù)據(jù)寄存器81b中,以在來自數(shù)據(jù)寄存器81a的數(shù)據(jù)被完全讀出后將數(shù)據(jù)提供給主機(jī)裝置20。以這種方式,能夠發(fā)生跨越來自NAND存儲(chǔ)器14的數(shù)據(jù)的多頁的連續(xù)讀取操作。數(shù)據(jù)寄存器81(a和b)也能夠以乒乓方式用于寫入操作,因此數(shù)據(jù)的多個(gè)連續(xù)頁可以寫入到NAND存儲(chǔ)器14中并且具有很少的或沒有等待設(shè)立時(shí)間。
如之前所討論的,存儲(chǔ)器裝置10和主機(jī)裝置20之間的接口連接可以通過串行總線進(jìn)行。特別地,這樣的串行總線可以連接存儲(chǔ)器裝置10的NOR或PNOR區(qū)域與主機(jī)裝置20,且常規(guī)并行總線連接存儲(chǔ)器裝置10的RAM部分與主機(jī)裝置20。
參考圖3示出了與RAM存儲(chǔ)器16和NAND存儲(chǔ)器14接口連接的存儲(chǔ)器控制器12的詳細(xì)方框圖。存儲(chǔ)器控制器12具有微控制器64。微控制器64完成或執(zhí)行FFS的所有簿記功能。此外,其完成或執(zhí)行缺陷管理(DM)和高速緩存數(shù)據(jù)一致性算法,以及高速緩存刷新替換算法。最后,微控制器64完成或執(zhí)行高速緩存分頁方案算法。所有這些操作都是借助存儲(chǔ)在NOR存儲(chǔ)器62中的固件或程序代碼61來實(shí)現(xiàn)的,包括存儲(chǔ)器控制器12的啟動(dòng)操作或初始化。
微控制器64連接到第二NOR存儲(chǔ)器62,其如之前所討論的也存儲(chǔ)用于通過微控制器64來執(zhí)行的固件61。除了存儲(chǔ)非易失性結(jié)構(gòu)寄存器60之外,NOR存儲(chǔ)器62還存儲(chǔ)用于FFS和DM的操作的固件。
微控制器64還通過MUX 74與SRAM存儲(chǔ)器46接口連接。SRAM存儲(chǔ)器64用作微控制器64的局部高速緩沖器以存儲(chǔ)運(yùn)行時(shí)間數(shù)據(jù)。此外,SRAM存儲(chǔ)器46能夠存儲(chǔ)缺陷映射高速緩存,和FFS數(shù)據(jù)結(jié)構(gòu)。
盡管,相對于硬件部件對存儲(chǔ)器控制器12進(jìn)行了詳細(xì)描述,但是下文中所描述的所有功能也可以采用用于通過微控制器64執(zhí)行的軟件來實(shí)現(xiàn)。
存儲(chǔ)器控制器12包括當(dāng)前高速緩存頁地址寄存器66,其可以被實(shí)施為具有內(nèi)容可尋址存儲(chǔ)器66的性質(zhì)。CAM 66的功能是當(dāng)在對PNOR部分52的讀取或?qū)懭氩僮髌陂g存在存取失敗時(shí)保持當(dāng)前PNOR高速緩存頁地址并更新CAM 66。CAM 66內(nèi)的每個(gè)入口具有三個(gè)部分頁地址部分66a,索引地址部分66b,以及狀態(tài)部分66c。隨后關(guān)于存儲(chǔ)器控制器和CAM存儲(chǔ)器66的操作的討論是關(guān)于下述實(shí)例的,然而應(yīng)當(dāng)理解本發(fā)明并不限于下述實(shí)例。假設(shè)來自主機(jī)裝置20的地址為32比特,其包含21個(gè)最高有效位(位11-31)以及11個(gè)最低有效位(位0-10)。該21個(gè)最高有效位包括頁地址,而該11個(gè)最低有效位包含偏移地址。CAM存儲(chǔ)器66中的每一個(gè)入口還包含包括21比特的頁地址部分66a,包括9比特的索引地址部分66b,以及包括12比特的狀態(tài)部分,其由下述構(gòu)成1比特的有效(或無效);1比特的污損(dirty)(或干凈(clean));1比特的靜態(tài)(或動(dòng)態(tài));1比特的主機(jī)啟動(dòng)的高速緩存一致性(或控制器啟動(dòng)的);以及8比特的最后存取時(shí)間標(biāo)記。在32比特來自主機(jī)裝置20的情況下,該主機(jī)裝置能夠?qū)ぶ?32字節(jié)或1GB量的存儲(chǔ)器空間。如下文中將要討論的,存儲(chǔ)器控制器12使用來自CAM存儲(chǔ)器66的9比特的索引地址部分與來自主機(jī)裝置20的偏移地址的11比特來形成20比特地址,從而能夠?qū)ぶ?MB的RAM 16。當(dāng)然,這些數(shù)字僅是作為實(shí)例的并且沒有限制本發(fā)明。
存儲(chǔ)器控制器12還包括命中/失敗比較邏輯68。該命中/失敗比較邏輯68從地址總線22接收地址信號,以及從控制總線32接收控制信號。然后該命中/失敗比較邏輯68將來自主機(jī)裝置20的32比特的地址的21比特的頁地址發(fā)送到CAM存儲(chǔ)器66。CAM存儲(chǔ)器66將那些21比特的頁地址與存儲(chǔ)在CAM存儲(chǔ)器66的每個(gè)入口中的頁地址66a 進(jìn)行比較。如果命中,即來自主機(jī)裝置20的該21比特的頁地址與CAM存儲(chǔ)器66中的入口之一相匹配,則CAM存儲(chǔ)器66輸出相關(guān)聯(lián)的9比特的索引地址66b到MUX 70。如果失敗,則該命中/失敗比較邏輯68產(chǎn)生讀取失敗信號或?qū)懭胧⌒盘?。將該讀取失敗信號和寫入失敗信號提供給微代碼控制器(MCC)儲(chǔ)誤碼校正(ECC)單元72作為用于MCC/ECC單元72執(zhí)行數(shù)據(jù)一致性的信號。提供給MCC/ECC單元72的該信號是命中信號其表明存儲(chǔ)在RAM存儲(chǔ)器16中的當(dāng)前頁地址中的一個(gè)是如在地址總線22上所提供的來自主機(jī)裝置20的地址,或者是失敗信號其表明存儲(chǔ)在RAM存儲(chǔ)器16中的當(dāng)前頁地址中沒有一個(gè)是如在地址總線22上所提供的來自主機(jī)裝置20的地址。最后,該命中/失敗比較邏輯68還連接到等待狀態(tài)信號26。當(dāng)存儲(chǔ)器控制器12希望通知主機(jī)裝置20存儲(chǔ)器控制器12希望保持總線循環(huán)操作時(shí)產(chǎn)生等待狀態(tài)信號26。等待狀態(tài)信號26被取消聲明(de-asserted)以釋放總線22/24/32來允許主機(jī)裝置20重新開始操作。被存儲(chǔ)器控制器12聲明(assert)的等待狀態(tài)信號26的一個(gè)實(shí)例是在存在讀取/寫入失敗并且存儲(chǔ)器控制器12需要從NAND存儲(chǔ)器14中的地址重新獲得數(shù)據(jù)并將其加載到RAM存儲(chǔ)器16中時(shí)。在從NAND存儲(chǔ)器14重新獲得數(shù)據(jù)并將其加載到RAM存儲(chǔ)器16中的時(shí)間期間,由存儲(chǔ)器控制器12來聲明等待狀態(tài)信號26。
存儲(chǔ)器控制器12還包括在微控制器64的控制下進(jìn)行操作的MCC/ECC單元72。MCC/ECC單元72監(jiān)視讀取失敗/寫入失敗信號用于高速緩存數(shù)據(jù)一致性、刷新替換和分頁操作。此外,在微控制器64的控制下,其操作NAND存儲(chǔ)器14并且提供NAND存儲(chǔ)器14的缺陷管理操作。進(jìn)一步地,在微控制器64的控制下,MCC/ECC單元72提供DMA功能以在NAND存儲(chǔ)器14、RAM存儲(chǔ)器16和SRAM存儲(chǔ)器46之間移動(dòng)數(shù)據(jù)。最后,MCC/ECC單元72對存儲(chǔ)在NAND存儲(chǔ)器14中的數(shù)據(jù)執(zhí)行錯(cuò)誤檢測和校正。
存儲(chǔ)器控制器12還包括提供安全和數(shù)字版權(quán)管理的密碼引擎90。此外,存儲(chǔ)器控制器12可以具有嵌入其中即形成在同一集成電路管芯上的附加RAM存儲(chǔ)器92,以用于增加RAM存儲(chǔ)器16的量。如之前所表明的,RAM存儲(chǔ)器16可以是獨(dú)立的集成電路管芯,在這種情況下,嵌入到存儲(chǔ)器控制器12中的RAM存儲(chǔ)器92擴(kuò)充了RAM存儲(chǔ)器16。然而,如果RAM存儲(chǔ)器16和存儲(chǔ)器控制器12集成到相同管芯中,則RAM存儲(chǔ)器16和RAM存儲(chǔ)器92都可以是同一個(gè)存儲(chǔ)器陣列的一部分。
現(xiàn)在將相對于所述多種操作模式來描述存儲(chǔ)器裝置10。在加電期間,命中/失敗比較邏輯68產(chǎn)生等待信號并聲明該等待狀態(tài)信號26。存儲(chǔ)器控制器12從非易失性寄存器60讀取結(jié)構(gòu)參數(shù)并將它們加載到非易失性寄存器46(其可以是SRAM 46的一部分)。靜態(tài)頁,即靜態(tài)地映射到PNOR部分52的來自NAND存儲(chǔ)器14的數(shù)據(jù)也從NAND存儲(chǔ)器14中讀出并存儲(chǔ)到RAM存儲(chǔ)器16中。這由微控制器64通過MCC/ECC 72執(zhí)行FFS協(xié)議以將來自NAND存儲(chǔ)器14的頁地址進(jìn)行轉(zhuǎn)變并產(chǎn)生物理地址和控制信號給NAND存儲(chǔ)器14以從其重新獲得數(shù)據(jù)并將它們存儲(chǔ)到RAM存儲(chǔ)器16中來完成。在加電期間,MCU 64和MCC/ECC 72還掃描NAND存儲(chǔ)器14以發(fā)現(xiàn)主索引表。讀取主索引表并將其存儲(chǔ)到本地SRAM存儲(chǔ)器46中。MCU 64將核對主索引表的數(shù)據(jù)結(jié)構(gòu)完整性。MCU 64和MCC/ECC72也掃描NAND存儲(chǔ)器14以確定是否需要重建主索引表。MCU 64和MCC/ECC72還將來自NAND存儲(chǔ)器14的兩頁數(shù)據(jù)送入本地SRAM存儲(chǔ)器64中。被稱為V頁的來自NAND存儲(chǔ)器14的首先兩頁數(shù)據(jù)包含用于將主機(jī)裝置20的邏輯地址映射到NAND存儲(chǔ)器14的物理地址的數(shù)據(jù)并且具有跳過NAND存儲(chǔ)器14中的有缺陷的扇區(qū)的能力。然后FFS準(zhǔn)備好接受映射轉(zhuǎn)變請求。然后命中/失敗比較邏輯68取消聲明等待狀態(tài)信號26,即釋放等待狀態(tài)信號26。
應(yīng)當(dāng)注意的是在加電期間,當(dāng)存儲(chǔ)器控制器12正從NAND存儲(chǔ)器14重新獲得靜態(tài)頁并將其存儲(chǔ)到RAM存儲(chǔ)器16中,以及執(zhí)行其它輔助操作(overhead)功能,例如更新NAND存儲(chǔ)器14的主索引表時(shí),存儲(chǔ)器裝置10仍然可被主機(jī)裝置20使用。特別地,由于等待狀態(tài)信號26的聲明只影響指向?qū)Υ鎯?chǔ)器空間的PNOR部分52的尋址請求的那些操作,所以即使在加電期間NOR存儲(chǔ)器44也可以被主機(jī)裝置20存取。
NOR存儲(chǔ)器操作在NOR存儲(chǔ)器44讀取操作中,主機(jī)裝置20將在存儲(chǔ)器空間的NOR存儲(chǔ)器存取部分50內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。由于地址信號處于除了在PNOR存儲(chǔ)器存取部分52中以外的空間中,因此命中/失敗比較邏輯68未被激活,并且等待狀態(tài)信號26未被聲明。將地址信號和控制信號提供給NOR存儲(chǔ)器44,在此讀取來自于所提供的地址的數(shù)據(jù)。然后將該數(shù)據(jù)沿?cái)?shù)據(jù)總線提供到MUX 84并且沿?cái)?shù)據(jù)總線24向外提供到主機(jī)裝置20,從而完成讀取循環(huán)。
在NOR存儲(chǔ)器44寫入或者編程操作中,主機(jī)裝置20將在存儲(chǔ)器空間的NOR存儲(chǔ)器存取部分50內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。由于地址信號處于除了在PNOR存儲(chǔ)器存取部分52中以外的空間中,因此命中/失敗比較邏輯68未被激活,并且等待狀態(tài)信號26未被聲明。將地址信號和控制信號提供給NOR存儲(chǔ)器44。將要被寫入或編程的數(shù)據(jù)和程序命令沿?cái)?shù)據(jù)總線24從主機(jī)裝置20發(fā)送到存儲(chǔ)器控制器12和MUX 84中。然后將數(shù)據(jù)從MUX 84發(fā)送到NOR存儲(chǔ)器44,在這里在地址總線22上所提供的地址處數(shù)據(jù)被編程到NOR存儲(chǔ)器44中。主機(jī)裝置20能夠執(zhí)行字節(jié)程序操作,允許將NOR存儲(chǔ)器44以一個(gè)字節(jié)接一個(gè)字節(jié)為基礎(chǔ)進(jìn)行編程。當(dāng)數(shù)據(jù)被寫入到NOR存儲(chǔ)器44中時(shí),完成寫入或編程循環(huán)。
在NOR存儲(chǔ)器44擦除操作中,例如扇區(qū)擦除,或塊擦除,主機(jī)裝置20將在存儲(chǔ)器空間的NOR存儲(chǔ)器存取部分50內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。由于地址信號處于除了在PNOR存儲(chǔ)器存取部分52中以外的空間中,因此命中/失敗比較邏輯68未被激活,并且等待狀態(tài)信號26未被聲明。將地址信號和控制信號提供給NOR存儲(chǔ)器44。沿?cái)?shù)據(jù)總線24將表示擦除命令協(xié)議的數(shù)據(jù)信號從主機(jī)裝置20發(fā)送到存儲(chǔ)器控制器12和MUX 84中。然后從MUX 84將數(shù)據(jù)發(fā)送到NOR存儲(chǔ)器44,在這里由NOR存儲(chǔ)器44對數(shù)據(jù)進(jìn)行解碼然后執(zhí)行擦除操作。當(dāng)NOR存儲(chǔ)器44完成擦除循環(huán)時(shí),完成了擦除循環(huán)。
PNOR存儲(chǔ)器操作-讀取在PNOR存儲(chǔ)器讀取操作中,主機(jī)裝置20將在存儲(chǔ)器空間的PNOR存儲(chǔ)器存取部分52內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。存在兩種可能性讀取命中和讀取失敗。
在讀取命中的情況下,在地址總線22上提供的地址信號的頁地址部分由命中/失敗比較邏輯68接收,并與當(dāng)前在RAM存儲(chǔ)器16中的,如被存儲(chǔ)在CAM 66中的地址進(jìn)行比較。如果在地址總線22上提供的頁地址在存儲(chǔ)在CAM 66中的頁地址之內(nèi),則命中。命中/失敗邏輯68激活MUX 70,以便然后將地址和控制信號引導(dǎo)到RAM存儲(chǔ)器16,并且將來自CAM存儲(chǔ)器66的相關(guān)聯(lián)的索引地址66b與來自主機(jī)裝置20的偏移地址串接以尋址RAM存儲(chǔ)器16。然后將從RAM存儲(chǔ)器16的較低地址讀出的數(shù)據(jù)發(fā)送到MUX 80,在這里然后將它們提供給MUX 84(MUX 80的默認(rèn)狀態(tài)),其已經(jīng)被命中/失敗比較邏輯68指示(未示出)允許將數(shù)據(jù)沿?cái)?shù)據(jù)總線24發(fā)送到主機(jī)裝置20,從而完成讀取循環(huán)。
在讀取失敗的情況下,存在多種可能性。首先是被稱為無高速緩存刷新的讀取失敗的可能性。在來自地址總線22的地址信號的頁地址部分與來自CAM 66的頁地址寄存器66a的比較導(dǎo)致失敗的情況下,即地址總線22上的頁地址不在存儲(chǔ)于RAM存儲(chǔ)器16中的頁地址之內(nèi),那么命中/失敗比較邏輯68發(fā)送讀取失敗信號到MCC/ECC單元72以便MCC/ECC單元72啟動(dòng)讀取一致性循環(huán)。此外,命中/失敗比較邏輯68聲明在等待狀態(tài)信號26上的信號。在MCU 64的控制下,MCC/ECC單元72執(zhí)行FFS操作以將由主機(jī)裝置20提供的地址轉(zhuǎn)變?yōu)镹AND存儲(chǔ)器14中的物理地址。然后MCC/ECC單元72產(chǎn)生適當(dāng)?shù)牡刂泛涂刂菩盘柦oNAND存儲(chǔ)器14,和適當(dāng)?shù)牡刂泛涂刂菩盘柦oRAM存儲(chǔ)器16。
從NAND存儲(chǔ)器14讀取包含來自地址總線22上所指定的地址的數(shù)據(jù)的整頁數(shù)據(jù),并將其經(jīng)過MUX 80傳送到RAM存儲(chǔ)器16,在此其被寫入到由MCC/ECC單元72所指定的RAM存儲(chǔ)器16中的整頁位置中,并且由MCC/ECC單元72在其上進(jìn)行操作以通過錯(cuò)誤校正檢查等來確保數(shù)據(jù)的完整性。然后更新當(dāng)前的頁地址寄存器CAM 66以在當(dāng)前讀取失敗地址內(nèi)添加該地址頁的地址。命中/失敗比較邏輯68取消聲明在等待狀態(tài)信號26上的信號。此外,MCU 64切換MUX80到默認(rèn)位置。命中/失敗比較邏輯68發(fā)送索引地址66b到MUX 70,在這里其與來自地址總線22的偏移地址部分相結(jié)合,以尋址RAM存儲(chǔ)器16。然后來自對RAM存儲(chǔ)器16的該讀取操作的數(shù)據(jù)通過MUX 80以及通過MUX 84被提供到至主機(jī)裝置20的數(shù)據(jù)總線24,從而完成該循環(huán)。由于從NAND存儲(chǔ)器14讀出的數(shù)據(jù)的量是以頁為基礎(chǔ)的,因此整頁的數(shù)據(jù)必須被存儲(chǔ)到RAM存儲(chǔ)器16中。這種沒有高速緩存刷新的讀取失敗的情況假設(shè)RAM存儲(chǔ)器16的整頁可用于存儲(chǔ)來自NAND存儲(chǔ)器14的數(shù)據(jù),或者將存儲(chǔ)整頁數(shù)據(jù)的RAM存儲(chǔ)器16中的位置包含一致的數(shù)據(jù)(和NAND存儲(chǔ)器14中的數(shù)據(jù)相同),然后從NAND存儲(chǔ)器14讀出的整頁的數(shù)據(jù)能夠被存儲(chǔ)到RAM存儲(chǔ)器16中的位置中。高速緩存刷新意味著從RAM存儲(chǔ)器16到NAND存儲(chǔ)器14的數(shù)據(jù)寫入,由此刷新數(shù)據(jù)一致性問題的高速緩存(RAM存儲(chǔ)器16)。
讀取失敗的另一個(gè)可能的情況被稱為具有高速緩存刷新的讀取失敗。在該情況下,在不重寫RAM存儲(chǔ)器16中某些比NAND存儲(chǔ)器14中的數(shù)據(jù)更新的數(shù)據(jù)的情況下,來自NAND存儲(chǔ)器14的整頁數(shù)據(jù)不能被存儲(chǔ)在RAM存儲(chǔ)器16中。這產(chǎn)生了數(shù)據(jù)一致性問題。因此,在來自NAND存儲(chǔ)器14的處于不同位置的數(shù)據(jù)可以被讀取到RAM存儲(chǔ)器16中之前,RAM存儲(chǔ)器16中的數(shù)據(jù)頁必須首先寫入到NAND存儲(chǔ)器14中。操作順序如下。來自主機(jī)裝置20的地址總線22的地址信號的頁地址部分與來自CAM 66的頁地址信號66a進(jìn)行比較以確定是否來自地址總線22的地址信號在當(dāng)前頁地址的任何一個(gè)之內(nèi)。該比較導(dǎo)致失敗,使得命中/失敗比較邏輯68發(fā)送讀取失敗信號到MCC/ECC單元72以便MCC/ECC單元72啟動(dòng)讀取一致性循環(huán)。此外,命中/失敗比較邏輯68聲明在等待狀態(tài)信號26上的信號。MCC/ECC單元72在MCU 64的控制下確定RAM存儲(chǔ)器16中的數(shù)據(jù)頁必須首先寫入到NAND存儲(chǔ)器16中,因?yàn)榇嬖跀?shù)據(jù)一致性問題來自NAND存儲(chǔ)器14的數(shù)據(jù)應(yīng)當(dāng)被讀取到RAM存儲(chǔ)器16中。MCU64執(zhí)行FFS操作以將來自RAM存儲(chǔ)器16的地址轉(zhuǎn)變?yōu)镹AND存儲(chǔ)器14中的地址。
從RAM存儲(chǔ)器16讀取整頁的數(shù)據(jù),該整頁的數(shù)據(jù)經(jīng)過MUX 80并提供到NAND存儲(chǔ)器14,在此將它們存儲(chǔ)到NAND存儲(chǔ)器14中。其后,由MCU64通過FFS操作將來自主機(jī)裝置20的地址變換為物理NAND地址。然后在MCU 64的指示下MCC/ECC單元72產(chǎn)生適當(dāng)?shù)牡刂泛涂刂菩盘柦oNAND存儲(chǔ)器14并且使用來自CAM存儲(chǔ)器66的索引地址66b、控制信號和來自MCC/ECC 72的偏移地址部分來尋址RAM存儲(chǔ)器16。從NAND存儲(chǔ)器14讀出的整頁的數(shù)據(jù)之后被通過MUX 80從NAND存儲(chǔ)器14傳送到RAM存儲(chǔ)器16,在此其被寫入到由MCC/ECC單元72和索引地址66b所指定的RAM存儲(chǔ)器16中的位置頁中,并且通過MCC/ECC單元72在其上被操作以通過錯(cuò)誤校正檢查等確保數(shù)據(jù)的完整性。CAM 66的當(dāng)前頁地址寄存器66a之后被更新以添加包含當(dāng)前讀取失敗地址的頁地址,以及與其相關(guān)聯(lián)的索引地址66b。命中/失敗比較邏輯68取消聲明在等待狀態(tài)信號26上的信號。此外,MCU 64將MUX 80切換到默認(rèn)位置。命中/失敗比較邏輯68發(fā)送索引地址66a到MUX 70,在此它們和來自地址總線22的偏移地址結(jié)合以啟動(dòng)RAM存儲(chǔ)器16中的讀取操作。然后將該數(shù)據(jù)從RAM存儲(chǔ)器16中讀出,并且通過MUX 80以及通過MUX 84將該數(shù)據(jù)提供到至主機(jī)裝置20的數(shù)據(jù)總線24,從而完成讀取循環(huán)。
在讀取命中、沒有高速緩存刷新的讀取失敗、以及具有高速緩存刷新的讀取失敗的每種情況下,從主機(jī)裝置20的角度來觀察,該操作與對RAM裝置的讀取沒有任何的不同,且在讀取失敗的情況下存在等待時(shí)間。主機(jī)裝置20不必處理地址轉(zhuǎn)變和/或數(shù)據(jù)一致性。
PNOR存儲(chǔ)器操作一寫入在PNOR存儲(chǔ)器寫入操作中,主機(jī)裝置20將在存儲(chǔ)器空間的PNOR存儲(chǔ)器存取部分52內(nèi)的地址總線22上的地址信號連同將被寫入到RAM存儲(chǔ)器16中的數(shù)據(jù)一起發(fā)送到存儲(chǔ)器裝置10。存在兩種可能性寫入命中和寫入失敗。
在寫入命中的情況下,在地址總線22上提供的地址信號的頁地址部分由命中/失敗比較邏輯68來接收,并與CAM 66中的頁地址66a進(jìn)行比較,其反映當(dāng)前存儲(chǔ)在RAM存儲(chǔ)器16中的數(shù)據(jù)。在地址總線22上提供的頁地址在CAM 66中所存儲(chǔ)的頁地址之內(nèi)。命中/失敗邏輯68激活MUX 70以便然后將地址和控制信號引導(dǎo)到RAM存儲(chǔ)器16。來自CAM 66的索引地址66b和來自地址總線22的地址信號的偏移地址部分相結(jié)合以產(chǎn)生用于通過MUX 70存取RAM存儲(chǔ)器16的地址信號。通過MUX 84提供來自數(shù)據(jù)總線24的數(shù)據(jù)并通過MUX 80將該數(shù)據(jù)提供給RAM存儲(chǔ)器16,在此其然后被寫入到RAM存儲(chǔ)器16中,從而完成寫入命中循環(huán)。
應(yīng)當(dāng)注意的是在寫入命中操作之后,RAM存儲(chǔ)器16中的數(shù)據(jù)將與來自NAND存儲(chǔ)器14中的同樣位置的數(shù)據(jù)不一致。實(shí)際上,RAM存儲(chǔ)器16中的數(shù)據(jù)將是最當(dāng)前的數(shù)據(jù)。為了解決數(shù)據(jù)一致性的問題,存在兩種解決方案。
第一,在按照需要的基礎(chǔ)上,存儲(chǔ)器裝置10能夠自動(dòng)解決數(shù)據(jù)一致性的問題。如之前所討論的,例如,在具有高速緩存刷新操作的讀取失敗的情況下,如果RAM存儲(chǔ)器16中的數(shù)據(jù)頁需要被替換以存儲(chǔ)新要求的來自NAND存儲(chǔ)器14的數(shù)據(jù)頁,則RAM存儲(chǔ)器16中的更為當(dāng)前的數(shù)據(jù)將被寫回到NAND存儲(chǔ)器14中。如下文將要討論的,MCU 64還將通過在具有高速緩存刷新操作的寫入失敗中將數(shù)據(jù)寫回到NAND存儲(chǔ)器14中來對RAM存儲(chǔ)器16中的數(shù)據(jù)執(zhí)行高速緩存刷新。
對于數(shù)據(jù)一致性問題的替換解決方案是在主機(jī)裝置20的控制下執(zhí)行數(shù)據(jù)一致性。因此,主機(jī)裝置20可以發(fā)布高速緩存刷新命令使得存儲(chǔ)器控制器12將來自RAM存儲(chǔ)器16的不一致的數(shù)據(jù)寫回到NAND存儲(chǔ)器14中。該操作的優(yōu)點(diǎn)是其能夠由主機(jī)裝置20在任何時(shí)間執(zhí)行,包含但是不限于關(guān)鍵事件,例如改變應(yīng)用,關(guān)閉,或接收到的低功率中斷。然而,由于存儲(chǔ)器控制器12還能夠自動(dòng)執(zhí)行數(shù)據(jù)一致性,在主機(jī)裝置20的用戶未能執(zhí)行數(shù)據(jù)一致性操作的情況下,這樣的操作還將根據(jù)需要由存儲(chǔ)器控制器12來執(zhí)行。
在寫入失敗的情況下,存在多種可能性。首先是被稱為沒有高速緩存刷新的寫入失敗的可能性。在來自地址總線22的地址信號的頁地址部分與來自CAM 66的頁地址信號66a的比較導(dǎo)致失敗的情況下,即地址總線22上的地址不在存儲(chǔ)于RAM存儲(chǔ)器16中的頁地址之內(nèi),那么命中/失敗比較邏輯68發(fā)送寫入失敗信號到MCC/ECC單元72。此外,命中/失敗比較邏輯68聲明在等待狀態(tài)信號26上的信號。MCC/ECC單元72確定是否來自NAND存儲(chǔ)器14的新數(shù)據(jù)頁,包含來自主機(jī)裝置20的在地址總線22上所指定的地址處的數(shù)據(jù),將存儲(chǔ)在舊的一致數(shù)據(jù)或RAM存儲(chǔ)器16的空白區(qū)域之上。在那種情況下,在將數(shù)據(jù)從NAND存儲(chǔ)器14傳送到RAM存儲(chǔ)器16中的位置之前,不需要存儲(chǔ)器控制器12執(zhí)行寫入一致性循環(huán)。MCC/ECC單元72在MCU 64的控制下執(zhí)行FFS操作來將由主機(jī)裝置20提供的地址轉(zhuǎn)變成NAND存儲(chǔ)器14中的物理地址。然后MCC/ECC單元72產(chǎn)生適當(dāng)?shù)牡刂泛涂刂菩盘柦oNAND存儲(chǔ)器14,以及適當(dāng)?shù)牡刂泛涂刂菩盘柦oRAM存儲(chǔ)器16。
包含來自在地址總線22上所指定的地址的數(shù)據(jù)的整頁的數(shù)據(jù),被從NAND存儲(chǔ)器14中讀出并經(jīng)過MUX 80傳送到RAM存儲(chǔ)器16,在此其被寫入到由MCC/ECC單元72和索引地址66b所指定的RAM存儲(chǔ)器16中的整頁位置中,并且通過MCC/ECC單元72在其上被操作以通過錯(cuò)誤校正檢查等確保數(shù)據(jù)的完整性。然后更新CAM 66的當(dāng)前頁地址寄存器66a以在當(dāng)前的寫入失敗地址和相關(guān)聯(lián)的索引地址66b(索引地址66b是RAM存儲(chǔ)器16中的較高的9比特地址,在此存儲(chǔ)數(shù)據(jù)頁)內(nèi)添加該地址頁的地址。命中/失敗比較邏輯68取消聲明在等待狀態(tài)信號26上的信號。此外,MCU將MUX 80切換到默認(rèn)位置。命中/失敗比較邏輯68發(fā)送索引地址66b到MUX 70,在此它們與來自地址22的偏移地址相結(jié)合,以啟動(dòng)RAM存儲(chǔ)器16中的寫入操作。然后從主機(jī)裝置20經(jīng)過MUX 84以及經(jīng)過MUX 80將數(shù)據(jù)寫入到RAM存儲(chǔ)器16中,從而完成該循環(huán)?,F(xiàn)在在RAM存儲(chǔ)器16中的數(shù)據(jù)不再與在NAND存儲(chǔ)器14中的相同地址處的數(shù)據(jù)相一致。該一致性問題由存儲(chǔ)器控制器12自動(dòng)地根據(jù)需要啟動(dòng)寫入高速緩存刷新來解決,或由主機(jī)裝置20在任何時(shí)間啟動(dòng)寫入高速緩存刷新來解決,全部都如之前所討論的。
另一個(gè)寫入失敗的可能的情況被稱為具有高速緩存刷新的寫入失敗。在該情況下,在不重寫RAM存儲(chǔ)器16中某些比NAND存儲(chǔ)器14中的數(shù)據(jù)更新的數(shù)據(jù)的情況下,來自NAND存儲(chǔ)器14的整頁的數(shù)據(jù)不能被存儲(chǔ)到RAM存儲(chǔ)器16中。這產(chǎn)生數(shù)據(jù)一致性問題。因此,在來自NAND存儲(chǔ)器14的處于不同位置的數(shù)據(jù)能夠被讀取到RAM存儲(chǔ)器16中之前,RAM存儲(chǔ)器16中的數(shù)據(jù)頁必須首先被寫入到NAND存儲(chǔ)器14中。操作的順序如下。來自主機(jī)裝置20的地址總線22的信號的頁地址部分與來自CAM 66的頁地址信號66a進(jìn)行比較以確定是否來自地址總線22的地址信號在當(dāng)前頁地址的任何一個(gè)之內(nèi)。該比較導(dǎo)致失敗,使命中/失敗比較邏輯68發(fā)送寫入失敗信號到MCC/ECC單元72以便MCC/ECC單元72啟動(dòng)寫入一致性循環(huán)。此外,命中/失敗比較邏輯68聲明在等待狀態(tài)信號26上的信號。因?yàn)榇嬖跀?shù)據(jù)一致性問題來自NAND存儲(chǔ)器14的數(shù)據(jù)應(yīng)當(dāng)被讀取到RAM存儲(chǔ)器16中,所以MCC/ECC單元72在MCU64的控制下確定RAM存儲(chǔ)器16中的數(shù)據(jù)頁必須首先寫入到NAND存儲(chǔ)器16中。MCU單元64執(zhí)行FFS操作以將來自RAM存儲(chǔ)器16的地址轉(zhuǎn)變?yōu)镹AND存儲(chǔ)器14中的地址。
從RAM存儲(chǔ)器16讀取整頁數(shù)據(jù),并且該整頁數(shù)據(jù)經(jīng)過MUX 80并提供到NAND存儲(chǔ)器14,在此它們被存儲(chǔ)到NAND存儲(chǔ)器14中。其后,通過FFS操作將來自主機(jī)裝置20的地址變換為物理NAND地址。然后MCC/ECC單元72使用來自FFS的物理NAND地址產(chǎn)生適當(dāng)?shù)牡刂泛涂刂菩盘柦oNAND存儲(chǔ)器14,以及索引地址和控制信號給RAM存儲(chǔ)器16。然后將自NAND存儲(chǔ)器14讀取的整頁的數(shù)據(jù)從NAND存儲(chǔ)器14經(jīng)過MUX 80傳送到RAM存儲(chǔ)器16,在此其被寫入到借助來自MCC/ECC單元72的偏移地址和來自索引地址寄存器66b的索引地址所指定的RAM存儲(chǔ)器16中的位置頁中,并且通過MCC/ECC單元72在其上被操作以通過錯(cuò)誤校正檢查等確保數(shù)據(jù)的完整性。然后將CAM 66的當(dāng)前頁地址寄存器進(jìn)行更新以添加包含當(dāng)前讀取失敗地址的頁地址66a和相關(guān)聯(lián)的索引地址66b。命中/失敗比較邏輯68取消聲明在等待狀態(tài)信號26上的信號。此外,MCU將MUX 80切換到默認(rèn)位置。命中/失敗比較邏輯68發(fā)送索引地址66b到MUX70,在此它們與來自地址總線22的偏移地址相結(jié)合以形成寫入到RAM存儲(chǔ)器16中的地址。然后從主機(jī)裝置20到數(shù)據(jù)總線24經(jīng)過MUX 84并且經(jīng)過MUX 80將數(shù)據(jù)寫入到RAM存儲(chǔ)器16中。與前面關(guān)于沒有高速緩存刷新的寫入失敗的討論相類似,現(xiàn)在RAM存儲(chǔ)器16中的數(shù)據(jù)是更為當(dāng)前的并且產(chǎn)生了數(shù)據(jù)一致性問題,該問題能夠通過主機(jī)裝置20啟動(dòng)高速緩存刷新,或通過存儲(chǔ)器控制器12啟動(dòng)高速緩存刷新操作來解決。
在寫入命中,沒有高速緩存刷新的寫入失敗、和具有高速緩存刷新的寫入失敗的每一種情況下,從主機(jī)裝置20的角度來觀察,該操作與對RAM裝置的寫入沒有任何的不同,且在寫入失敗的情況下具有等待時(shí)間。主機(jī)裝置20不必處理地址轉(zhuǎn)變和/或數(shù)據(jù)一致性。
為了進(jìn)一步減小在具有高速緩存刷新的讀取失敗或具有高速緩存刷新的寫入失敗的情況下由首先執(zhí)行從RAM存儲(chǔ)器16到NAND存儲(chǔ)器14的寫入操作以解決數(shù)據(jù)一致性問題的需要所引起的等待時(shí)間,可以執(zhí)行如下操作。將被寫入到NAND存儲(chǔ)器14中的數(shù)據(jù)頁首先從RAM存儲(chǔ)器16寫入到本地SRAM 46中。這是比直接寫入到NAND存儲(chǔ)器14中快得多的操作。其后,具有高速緩存刷新的讀取失敗或?qū)懭胧「咚倬彺嫠⑿虏僮骼^續(xù)進(jìn)行,似乎其是沒有高速緩存刷新的讀取失敗或沒有高速緩存刷新操作的寫入失敗。在讀取失敗或?qū)懭胧〔僮魍瓿珊?,?dāng)存儲(chǔ)器裝置10空閑或存取局限于在NOR存儲(chǔ)器存取部分50或RAM存儲(chǔ)器存取部分54或結(jié)構(gòu)寄存器存取部分56中的操作時(shí),存儲(chǔ)在本地SRAM 46中的數(shù)據(jù)能夠在后臺(tái)操作中被寫入到NAND存儲(chǔ)器14中。
應(yīng)當(dāng)注意,在PNOR操作中,從主機(jī)裝置20的角度來觀察,該操作與對RAM存儲(chǔ)器所執(zhí)行的沒有任何的不同,且數(shù)據(jù)是非易失性的,但是主機(jī)裝置20不發(fā)布NOR協(xié)議命令,例如扇區(qū)或塊擦除。然而,在本發(fā)明內(nèi)存儲(chǔ)器裝置10還能夠使用RAM存儲(chǔ)器16和NAND存儲(chǔ)器14模擬NOR操作。在那樣的情況下,對于NOR存儲(chǔ)器存取部分50進(jìn)行映射的存儲(chǔ)器空間將延伸以超過僅對NOR存儲(chǔ)器44的映射。NOR存儲(chǔ)器存取部分50能夠被映射到RAM存儲(chǔ)器16的一部分,且RAM存儲(chǔ)器16被靜態(tài)地映射到NAND存儲(chǔ)器14,從而在存取的過程中不出現(xiàn)等待問題。來自NAND存儲(chǔ)器14的數(shù)據(jù)在加電時(shí)將被加載到RAM 16中,并且對NOR存儲(chǔ)器存取部分50的讀取/寫入將從RAM存儲(chǔ)器16讀取或?qū)懭氲絉AM存儲(chǔ)器16。僅其它的變化將用于存儲(chǔ)器控制器12響應(yīng)于NOR協(xié)議命令。如之前所討論的,當(dāng)由主機(jī)裝置20發(fā)布這樣的NOR協(xié)議命令時(shí),它們被提供作為唯一的數(shù)據(jù)模式的序列。在數(shù)據(jù)總線24上提供的數(shù)據(jù)將經(jīng)過MUX 84并且經(jīng)過MUX 80。由于在地址總線上提供的地址表明操作將在由RAM存儲(chǔ)器16所模擬的NOR存儲(chǔ)器存取部分50中進(jìn)行,因此切換MUX 74以允許MCU 64接收該數(shù)據(jù)模式。一旦該數(shù)據(jù)模式被解碼為NOR命令,則MCU利用那些NOR命令操作NAND存儲(chǔ)器14,如果例如該命令為擦除。當(dāng)然,作為易失性存儲(chǔ)器的RAM存儲(chǔ)器16不必被“擦除”。因此,借助模擬NOR存儲(chǔ)器44的RAM存儲(chǔ)器16,NOR協(xié)議命令的執(zhí)行將導(dǎo)致比執(zhí)行NOR協(xié)議命令的真實(shí)NOR存儲(chǔ)器44更快的操作。進(jìn)一步地,該模擬操作不需要模擬全部NOR協(xié)議命令集。代替地,控制器12能夠模擬部分NOR協(xié)議命令集。因此,如這里所使用的,術(shù)語“NOR協(xié)議命令”表示來自由例如英特爾公司或AMD公司所發(fā)布的全部NOR協(xié)議命令集的一個(gè)或多個(gè)命令。
RAM存儲(chǔ)器操作在RAM存儲(chǔ)器16讀取操作中,主機(jī)裝置20將在存儲(chǔ)器空間的RAM存儲(chǔ)器存取部分54內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。由于地址信號在RAM存儲(chǔ)器存取部分54中,因此命中/失敗比較邏輯68激活MUX 70以允許來自地址總線22和控制總線32的地址/控制信號被提供給RAM存儲(chǔ)器16。然而,等待狀態(tài)信號26沒有被聲明。此外,來自主機(jī)裝置20的地址被解碼并且連同來自控制總線32的控制信號一起形成提供給RAM存儲(chǔ)器16的地址信號,在此讀取來自所提供的地址的數(shù)據(jù)。然后將該數(shù)據(jù)沿?cái)?shù)據(jù)總線提供到MUX 80和MUX 84并且沿?cái)?shù)據(jù)總線24向外提供到主機(jī)裝置20,從而完成讀取循環(huán)。
在RAM存儲(chǔ)器16寫入操作中,主機(jī)裝置20將在存儲(chǔ)器空間的RAM存儲(chǔ)器存取部分54內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。由于地址信號在RAM存儲(chǔ)器存取部分54中,因此命中/失敗比較邏輯68激活MUX 70以允許來自地址總線22和控制總線32的地址/控制信號被提供給RAM存儲(chǔ)器16。然而,等待狀態(tài)信號26沒有被聲明。此外,來自主機(jī)裝置20的地址被解碼并且連同來自控制總線32的控制信號一起形成提供給RAM存儲(chǔ)器16的地址信號,在此將來自數(shù)據(jù)總線24的數(shù)據(jù)在所提供的地址處寫入到RAM存儲(chǔ)器16中。
由主機(jī)裝置20的觀察,RAM存儲(chǔ)器存取部分中的讀取或?qū)懭氩僮髋c存取RAM裝置沒有任何的不同且沒有等待。
結(jié)構(gòu)寄存器操作在結(jié)構(gòu)寄存器操作中,主機(jī)裝置20將在存儲(chǔ)器空間的結(jié)構(gòu)寄存器存取部分56內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。然后將數(shù)據(jù)寫入到非易失性寄存器60中。
NAND存儲(chǔ)器操作在NAND存儲(chǔ)器14讀取操作中,主機(jī)裝置20將在存儲(chǔ)器空間的大容量存儲(chǔ)存取部分58或ATA存儲(chǔ)器存取部分58內(nèi)的地址總線22上的地址信號發(fā)送到存儲(chǔ)器裝置10。此外,由主機(jī)裝置20將在控制總線32上的適當(dāng)?shù)目刂菩盘柊l(fā)送到存儲(chǔ)器裝置10。由于地址信號處于除了在PNOR存儲(chǔ)器存取部分52中以外的空間中,因此命中/失敗比較邏輯68未被激活,并且等待狀態(tài)信號26未被聲明。主機(jī)裝置20遵從ATA協(xié)議以對于ATA讀取/寫入命令來讀取/寫入任務(wù)文件寄存器79。任務(wù)文件寄存器79包括用于存儲(chǔ)命令、狀態(tài)、柱面(cylinder)、磁頭(head)、扇區(qū)等的寄存器。MCC/ECC單元72在MCU 64的控制下操作將主邏輯地址轉(zhuǎn)變?yōu)镹AND物理地址的閃存文件系統(tǒng),且具有避免使用有缺陷的NAND扇區(qū)的能力。參考美國專利6,427,186;6,405,323;6,141,251和5,982,665,其公開的全部內(nèi)容被并入作為參考。每個(gè)來自主機(jī)裝置20的邏輯地址在被稱為V頁的表中具有入口。該入口的內(nèi)容指向存儲(chǔ)邏輯地址數(shù)據(jù)的物理地址。
為了從NAND存儲(chǔ)器14讀取數(shù)據(jù)頁,將地址信號和控制信號提供給NAND存儲(chǔ)器14。主機(jī)裝置20遵從ATA協(xié)議,并且任務(wù)文件寄存器79存儲(chǔ)命令和邏輯地址。每個(gè)扇區(qū)大小為512字節(jié)。主機(jī)裝置20通過讀取存儲(chǔ)器空間的任務(wù)文件寄存器存取部分58中的狀態(tài)寄存器79來檢驗(yàn)存儲(chǔ)器10是否準(zhǔn)備就緒。主機(jī)裝置20將“讀取”命令寫入到存儲(chǔ)器空間58內(nèi)的命令寄存器79中。MCU64執(zhí)行邏輯地址到物理地址的FFS轉(zhuǎn)變并且MCC/ECC單元72在MCU 64的控制下從NAND存儲(chǔ)器14讀取數(shù)據(jù),并將數(shù)據(jù)頁傳送到緩沖器81中。在整頁數(shù)據(jù)被存儲(chǔ)到數(shù)據(jù)寄存器81中,并且通過MCC/ECC單元72在其上被操作以通過錯(cuò)誤校正檢查等確保數(shù)據(jù)的完整性之后,沿?cái)?shù)據(jù)總線24將數(shù)據(jù)從存儲(chǔ)器控制器12中讀出。
寫入NAND存儲(chǔ)器14的操作與從NAND存儲(chǔ)器14讀取的操作相類似。主機(jī)裝置20通過讀取任務(wù)存儲(chǔ)器空間58部分中的狀態(tài)寄存器79來檢查存儲(chǔ)器10是否準(zhǔn)備就緒。主機(jī)裝置20將一頁數(shù)據(jù)寫入到數(shù)據(jù)寄存器81中,然后將“寫入”命令和邏輯地址一起寫入到命令寄存器79中。其后,使用FFS的MCU 64將邏輯地址轉(zhuǎn)變?yōu)槲锢淼刂凡⑶襇CC/ECC單元72在MCU 64的控制下將來自ATA緩沖器81的該一頁數(shù)據(jù)寫入到NAND存儲(chǔ)器14中。
FFS通過定位將要被更新的頁的物理地址來更新數(shù)據(jù)頁。FFS發(fā)現(xiàn)已擦除的扇區(qū)作為“緩沖器扇區(qū)”或者如果沒有已擦除的扇區(qū),則其首先對扇區(qū)執(zhí)行擦除操作。然后FFS讀取舊的還沒有被修改并且編程到緩沖器扇區(qū)的數(shù)據(jù)。然后FFS將更新的頁數(shù)據(jù)進(jìn)行編程。然后其等待下一請求。如果下一頁在同一個(gè)擦除扇區(qū)上,則FFS繼續(xù)更新操作。如果下一頁在正傳送的擦除扇區(qū)之外,則未修改數(shù)據(jù)的其余部分將被復(fù)制到緩沖器扇區(qū)。映射表入口被改變?yōu)榫彌_器扇區(qū)物理地址。然后開始新的頁更新操作。
參考圖4示出了存儲(chǔ)器裝置10的第二實(shí)施例。存儲(chǔ)器裝置110與圖1所示的存儲(chǔ)器裝置10相類似。因此,類似的數(shù)字代表類似的部分。存儲(chǔ)器裝置110和存儲(chǔ)器裝置10之間唯一的不同點(diǎn)為在存儲(chǔ)器裝置100中,第二RAM總線40直接將RAM存儲(chǔ)器100連接到主機(jī)裝置20,而不是連接到存儲(chǔ)器控制器12。因此,在存儲(chǔ)器裝置110中,主機(jī)裝置具有對RAM存儲(chǔ)器100的直接存取和控制。
存儲(chǔ)器裝置10的實(shí)施例和存儲(chǔ)器裝置110的實(shí)施例之間的該不同點(diǎn)反映在圖5所示的存儲(chǔ)器映射中。與存儲(chǔ)器裝置10類似,對存儲(chǔ)器裝置10的存儲(chǔ)器映射包括映射到NOR存儲(chǔ)器44的NOR存儲(chǔ)器存取部分50、映射到存儲(chǔ)器裝置110中的RAM存儲(chǔ)器16的PNOR存儲(chǔ)器存取部分52,其然后被映射到NAND存儲(chǔ)器14、以及映射到RAM存儲(chǔ)器16的RAM存儲(chǔ)器存取部分54。然而,在RAM存儲(chǔ)器100可直接被主機(jī)裝置20通過第二RAM總線40存取的情況下,對存儲(chǔ)器裝置110的存儲(chǔ)器映射還包含另一個(gè)RAM存儲(chǔ)器存取部分55,其直接映射到RAM存儲(chǔ)器100。然后存儲(chǔ)器裝置110進(jìn)一步包括結(jié)構(gòu)寄存器存取部分56,以及最后包括ATA存儲(chǔ)器存取部分58,其與關(guān)于存儲(chǔ)器裝置10所描述的類似。
在存儲(chǔ)器控制器12與主機(jī)裝置20和NAND存儲(chǔ)器14接口連接的情況下,存儲(chǔ)器裝置10比現(xiàn)有技術(shù)中的存儲(chǔ)器裝置提供更多的保護(hù)。特別地,存儲(chǔ)器控制器12能夠限制對存儲(chǔ)在NAND存儲(chǔ)器14中的特定數(shù)據(jù)的存取,如在涉及數(shù)字版權(quán)管理的關(guān)注中。進(jìn)一步地,存儲(chǔ)器控制器12能夠加密存儲(chǔ)于NAND存儲(chǔ)器14中的數(shù)據(jù)來保護(hù)敏感的數(shù)據(jù)。最后,存儲(chǔ)器控制器12能夠提供保護(hù)以避免NAND存儲(chǔ)器14的一個(gè)或多個(gè)特定部分中的意外數(shù)據(jù)擦除。最后利用存儲(chǔ)在NOR存儲(chǔ)器62中的程序,存儲(chǔ)器控制器12成為自啟動(dòng)裝置,因?yàn)樗恍枰獊碜灾鳈C(jī)裝置20的初始命令。
參考圖6,示出了本發(fā)明的存儲(chǔ)器裝置210的方框圖。該存儲(chǔ)器裝置210類似于存儲(chǔ)器裝置10。它包括類似于存儲(chǔ)器控制器12、連接到NAND存儲(chǔ)器14和RAM存儲(chǔ)器16的存儲(chǔ)器控制器112。該控制器112被連接到單個(gè)總線23,其是圖1中所示的第一RAM地址總線22、第一RAM數(shù)據(jù)總線24、和第一RAM控制總線32的集合。然而,不同于圖1所示的實(shí)施例,該單個(gè)總線23被連接到多個(gè)處理器120(a-c)。該多個(gè)處理器120(a-c)中的每一個(gè)可以對總線23進(jìn)行存取,從而對存儲(chǔ)器裝置210存取。因此,該單個(gè)總線23被所有處理器120(a-c)共享。
為了由處理器120(a-c)中的每一個(gè)存取存儲(chǔ)器裝置210,每個(gè)處理器120具有向控制器112發(fā)送信號請求允許存取總線23的相關(guān)聯(lián)的總線請求信號線122、以及來自存儲(chǔ)器裝置210的控制器112的許可該請求的總線許可信號線124。因而,當(dāng)由控制器112對處理器120之一許可允許時(shí),至其他處理器120的總線許可線124將處于禁止模式。每個(gè)處理器120可以存取如圖2所示的存儲(chǔ)器裝置210中的所有存儲(chǔ)器空間,或者存儲(chǔ)器裝置210中的存儲(chǔ)器空間可以被劃分使得僅特定地址空間可用于特定處理器120。存儲(chǔ)器裝置210的實(shí)施例的缺點(diǎn)在于所有處理器120必須共享同一總線23。因此可能存在性能損失(performance hit)。
參考圖7,示出了本發(fā)明的存儲(chǔ)器裝置310的另一個(gè)實(shí)施例的方框圖。存儲(chǔ)器裝置310類似于存儲(chǔ)器裝置210。它包括連接到NAND存儲(chǔ)器14和RAM存儲(chǔ)器16的存儲(chǔ)器控制器212。存儲(chǔ)器控制器212被連接到三個(gè)總線23(a-c),其每一個(gè)是圖1中所示的第一RAM地址總線22、第一RAM數(shù)據(jù)總線24和第一RAM控制總線32的集合??偩€23(a-c)的每一個(gè)連接到單個(gè)處理器120(a-c)。該多個(gè)處理器120(a-c)中的每一個(gè)可以存取它的總線23,由此對存儲(chǔ)器裝置310進(jìn)行存取。
進(jìn)一步地,存儲(chǔ)器控制器212包括多個(gè)控制器12(a-c),且每個(gè)控制器12具有專用的相關(guān)聯(lián)的NOR存儲(chǔ)器44和SRAM存儲(chǔ)器46。因此,每個(gè)處理器120具有相關(guān)聯(lián)的專用總線23和相關(guān)聯(lián)的專用控制器12。因而,與圖6所示的存儲(chǔ)器裝置210的實(shí)施例不同,每個(gè)處理器120無需請求(和等待)總線許可。此外,由于每個(gè)控制器12具有專用的NOR存儲(chǔ)器44,因此圖2所示的地址空間中的NOR存儲(chǔ)器存取部分50可被每個(gè)處理器120單獨(dú)尋址。此外,每個(gè)處理器120專用的每個(gè)控制器12中的SRAM 46用作專用于為該處理器120服務(wù)的一級高速緩存。存儲(chǔ)器裝置310具有NAND存儲(chǔ)器14和SDRAM存儲(chǔ)器16,其通常被所有處理器120共享。因而,對NAND存儲(chǔ)器14或者SDRAM存儲(chǔ)器16的存取的請求必須提供給仲裁電路250。結(jié)果,控制器12請求對SDRAM存儲(chǔ)器16進(jìn)行存取,它在至仲裁電路250的總線請求線上請求,并且仲裁電路250通過發(fā)送總線許可信號給進(jìn)行請求的控制器12來進(jìn)行響應(yīng)。然后仲裁電路250禁止其它控制器12對該總線的存取。這類似于前面關(guān)于圖6所示的對總線23的存取所述的方案。類似于圖1所示和所描述的實(shí)施例,從存儲(chǔ)器控制器212,單個(gè)總線40連接到SDRAM 16,并且單個(gè)總線42連接到NAND存儲(chǔ)器14。
在操作中,當(dāng)存在命中時(shí)在處理器120的一側(cè)不存在性能退化。當(dāng)每個(gè)處理器請求對NOR存儲(chǔ)器地址空間50存取時(shí),也不存在性能退化。如果每個(gè)處理器120請求在PNOR空間52或RAM地址空間54中的地址并且存在一級高速緩存失敗,即在相關(guān)聯(lián)的SRAM 46中未發(fā)現(xiàn)數(shù)據(jù),那么每個(gè)控制器12訪問仲裁電路250,尋求對至SDRAM 16的總線的控制。如果二級高速緩存也失敗,則控制器12將尋求對至NAND存儲(chǔ)器14的總線的控制。當(dāng)從NAND存儲(chǔ)器14中重新獲得數(shù)據(jù)以填充二級高速緩存存儲(chǔ)器SDRAM 16時(shí),相同的數(shù)據(jù)也可以寫入到進(jìn)行請求的控制器12的一級高速緩存SRAM存儲(chǔ)器46中(取決于SDRAM存儲(chǔ)器46的大小)。如果所有處理器120(a-c)使用單獨(dú)的地址范圍,則將保持單個(gè)高速緩存。如果所有處理器120(a-c)共享相同的地址范圍,則將使用修改、獨(dú)占、共享、無效(MESI)高速緩存協(xié)議。具有單個(gè)高密度存儲(chǔ)器SDRAM存儲(chǔ)器16或NAND存儲(chǔ)器14比多個(gè)低密度存儲(chǔ)器更節(jié)省成本。
參考圖8,示出了本發(fā)明的存儲(chǔ)器裝置410的另一實(shí)施例的方框圖。存儲(chǔ)器裝置410類似于存儲(chǔ)器裝置310。它包括類似于存儲(chǔ)器控制器212的存儲(chǔ)器控制器312,其通過單個(gè)總線42連接到NAND存儲(chǔ)器14,并通過多個(gè)總線40(a-c)連接到多個(gè)RAM存儲(chǔ)器16。存儲(chǔ)器控制器312連接到三個(gè)總線23(a-c),其每一個(gè)是圖1中所示的第一RAM地址總線22、第一RAM數(shù)據(jù)總線24和第一RAM控制總線32的集合。總線23(a-c)中的每一個(gè)連接到相關(guān)聯(lián)的處理器120(a-c)。該多個(gè)處理器120(a-c)中的每一個(gè)可以存取其總線23,從而對存儲(chǔ)器裝置410進(jìn)行存取。
此外,存儲(chǔ)器控制器312包括多個(gè)控制器12(a-c)且每個(gè)控制器12具有專用的相關(guān)聯(lián)的NOR存儲(chǔ)器44和SRAM存儲(chǔ)器46,以及具有相關(guān)聯(lián)的專用SDRAM存儲(chǔ)器16。因此,每個(gè)處理器120具有相關(guān)聯(lián)的專用總線23、相關(guān)聯(lián)的專用控制器12、和相關(guān)聯(lián)的SDRAM存儲(chǔ)器16。因而,與圖7所示的存儲(chǔ)器裝置310的實(shí)施例不同,如果期望對存儲(chǔ)在SDRAN存儲(chǔ)器16中的二級高速緩存進(jìn)行存取,則每個(gè)處理器120無需請求(和等待)總線許可。此外,由于每個(gè)控制器12具有專用的NOR存儲(chǔ)器44,因此NOR存儲(chǔ)器存取部分50可被每個(gè)處理器120單獨(dú)尋址。此外,每個(gè)控制器12中的SRAM 46和每個(gè)處理器120專用的SDRAM16用作專用于為該處理器120服務(wù)的一級和二級高速緩存。存儲(chǔ)器裝置410具有NAND存儲(chǔ)器14,其通常被所有處理器120共享。因而,對NAND存儲(chǔ)器14的存取的請求必須提供給仲裁電路250。
在操作中,當(dāng)存在命中時(shí)在處理器120的一側(cè)不存在性能退化。當(dāng)每個(gè)處理器請求對NOR存儲(chǔ)器地址空間50存取時(shí),也不存在性能退化。如果每個(gè)處理器120請求在PNOR空間52或RAM地址空間54中的地址并且存在一級高速緩存失敗,即在相關(guān)聯(lián)的SRAM 46中未發(fā)現(xiàn)數(shù)據(jù),那么每個(gè)控制器12訪問相關(guān)聯(lián)的SDRAM存儲(chǔ)器16。如果二級高速緩存也失敗,則控制器12將尋求對至NAND存儲(chǔ)器14的總線的控制。當(dāng)從NAND存儲(chǔ)器14中重新獲得數(shù)據(jù)時(shí),它填充二級高速緩存存儲(chǔ)器SDRAM 16。如果所有處理器120(a-c)使用單獨(dú)的地址范圍,則將保持單個(gè)高速緩存。如果所有處理器120(a-c)共享相同的地址范圍,則將使用修改、獨(dú)占、共享、無效(MESI)高速緩存協(xié)議。具有單個(gè)高密度NAND存儲(chǔ)器14比多個(gè)低密度存儲(chǔ)器更節(jié)省成本。
參考圖9,示出了本發(fā)明的存儲(chǔ)器裝置510的另一實(shí)施例的方框圖。存儲(chǔ)器裝置510類似于存儲(chǔ)器裝置410。它包括類似于存儲(chǔ)器控制器312的存儲(chǔ)器控制器412,其通過單個(gè)總線42連接到NAND存儲(chǔ)器14。存儲(chǔ)器控制器312連接到三個(gè)總線23(a-c),其每一個(gè)是圖1中所示的第一RAM地址總線22、第一RAM數(shù)據(jù)總線24和第一RAM控制總線32的集合。總線23(a-c)的每一個(gè)連接到相關(guān)聯(lián)的處理器120(a-c)。該多個(gè)處理器120(a-c)中的每一個(gè)可以存取其總線23,從而對存儲(chǔ)器裝置410進(jìn)行存取。
此外,存儲(chǔ)器控制器312還包括多個(gè)控制器12(a-c)且每個(gè)控制器12具有集成在其中的專用的相關(guān)聯(lián)的NOR存儲(chǔ)器44和SRAM存儲(chǔ)器46以及SDRAM16。因而,與圖8所示的存儲(chǔ)器裝置410的實(shí)施例不同,存儲(chǔ)器裝置510不具有在存儲(chǔ)器控制器412外部將存儲(chǔ)器控制器412連接到SDRAM 16的任可總線40。在所有其他方面中,存儲(chǔ)器裝置510與存儲(chǔ)器裝置410類似。
本發(fā)明存在多個(gè)方面。首先,存儲(chǔ)器裝置10、110、210、310、410或510為通用的存儲(chǔ)器裝置。該存儲(chǔ)器裝置具有存儲(chǔ)器控制器,該存儲(chǔ)器控制器具有用于接收RAM地址信號的第一地址總線,用于接收RAM數(shù)據(jù)信號的第一數(shù)據(jù)總線,以及用于接收RAM控制信號的第一控制總線。存儲(chǔ)器控制器具有嵌入在其中的NOR存儲(chǔ)器并且進(jìn)一步具有用于接口連接易失性的RAM存儲(chǔ)器的第二地址總線,用于接口連接易失性的RAM存儲(chǔ)器的第二數(shù)據(jù)總線,以及用于接口連接易失性的RAM存儲(chǔ)器的第二控制總線。該控制器進(jìn)一步具有用于接口連接非易失性NAND存儲(chǔ)器的第三地址/數(shù)據(jù)總線,和用于接口連接非易失性NAND存儲(chǔ)器的第三控制總線。該存儲(chǔ)器裝置進(jìn)一步具有連接到所述第二地址總線,所述第二數(shù)據(jù)總線和所述第二控制總線的RAM存儲(chǔ)器。該存儲(chǔ)器裝置進(jìn)一步具有連接到第三地址/數(shù)據(jù)總線和第三控制總線的非易失性NAND存儲(chǔ)器。該控制器響應(yīng)于在第一地址總線上提供的地址信號,由此NOR存儲(chǔ)器響應(yīng)于在第一地址總線上提供的第一地址范圍,由此RAM存儲(chǔ)器響應(yīng)于在第一地址總線上提供的第二地址范圍,以及由此NAND存儲(chǔ)器響應(yīng)于在第一地址總線上提供的第三地址范圍。
在本發(fā)明的另一方面中,該存儲(chǔ)器裝置是通用的存儲(chǔ)器裝置,其中用戶能夠限定存儲(chǔ)器空間分配。該存儲(chǔ)器裝置具有存儲(chǔ)器控制器,該存儲(chǔ)器控制器具有用于接收RAM地址信號的第一地址總線,用于接收RAM數(shù)據(jù)信號的第一數(shù)據(jù)總線,和用于接收RAM控制信號的第一控制總線。該存儲(chǔ)器控制器具有嵌入在其中的NOR存儲(chǔ)器并且進(jìn)一步具有用于接口連接易失性RAM存儲(chǔ)器的第二地址總線,用于接口連接易失性RAM存儲(chǔ)器的第二數(shù)據(jù)總線,以及用于接口連接易失性RAM存儲(chǔ)器的第二控制總線。該控制器進(jìn)一步具有用于接口連接非易失性NAND存儲(chǔ)器的第三地址/數(shù)據(jù)總線,和用于接口連接非易失性NAND存儲(chǔ)器的第三控制總線。該存儲(chǔ)器裝置進(jìn)一步具有與所述第二地址總線,所述第二數(shù)據(jù)總線,以及所述第二控制總線相連接的RAM存儲(chǔ)器。該存儲(chǔ)器裝置進(jìn)一步具有與第三地址/數(shù)據(jù)總線和第三控制總線相連接的非易失性NAND存儲(chǔ)器。該存儲(chǔ)器裝置響應(yīng)于限定存儲(chǔ)器空間分配的用戶,其中在第一地址總線上提供的第一地址范圍內(nèi),該存儲(chǔ)器裝置響應(yīng)于NOR存儲(chǔ)器操作,包含響應(yīng)于NOR協(xié)議命令,以及在第一地址總線上提供的第二地址范圍內(nèi),該存儲(chǔ)器裝置響應(yīng)于RAM操作,以及在地址總線上提供的第三地址范圍內(nèi),該存儲(chǔ)器裝置響應(yīng)于用作ATA盤驅(qū)動(dòng)裝置的NAND存儲(chǔ)器,其中第一,第二和第三地址范圍都可以由用戶限定。
在本發(fā)明的另一方面中,該存儲(chǔ)器裝置具有存儲(chǔ)器控制器,該存儲(chǔ)器控制器具有用于接收RAM地址信號的第一地址總線,用于接收RAM數(shù)據(jù)信號的第一數(shù)據(jù)總線,和用于接收RAM控制信號的第一控制總線。該存儲(chǔ)器控制器進(jìn)一步具有用于接口連接易失性RAM存儲(chǔ)器的第二地址總線,用于接口連接易失性RAM存儲(chǔ)器的第二數(shù)據(jù)總線,以及用于接口連接易失性RAM存儲(chǔ)器的第二控制總線。該控制器進(jìn)一步具有用于接口連接非易失性NAND存儲(chǔ)器的第三地址/數(shù)據(jù)總線,和用于接口連接非易失性NAND存儲(chǔ)器的第三控制總線。該存儲(chǔ)器裝置進(jìn)一步具有與所述第二地址總線,所述第二數(shù)據(jù)總線,以及所述第二控制總線相連接的RAM存儲(chǔ)器。該存儲(chǔ)器裝置進(jìn)一步具有與第三地址/數(shù)據(jù)總線和第三控制總線相連接的非易失性NAND存儲(chǔ)器。該控制器進(jìn)一步具有用于接收第一地址總線上的第一地址并將第一地址映射到非易失性NAND存儲(chǔ)器中的第二地址的裝置,且易失性RAM存儲(chǔ)器對于到或來自非易失性NAND存儲(chǔ)器中的第二地址的數(shù)據(jù)用作高速緩存,以及用于保持存儲(chǔ)于作為高速緩存的易失性RAM存儲(chǔ)器中的數(shù)據(jù)和在非易失性NAND存儲(chǔ)器中的第二地址處的數(shù)據(jù)之間的數(shù)據(jù)一致性的裝置。另外,用于保持存儲(chǔ)于易失性RAM存儲(chǔ)器中的數(shù)據(jù)和存儲(chǔ)于非易失性NAND存儲(chǔ)器中的數(shù)據(jù)之間的數(shù)據(jù)一致性的裝置可以基于硬件或者基于軟件。最后,用于在非易失性NAND存儲(chǔ)器中將第一地址總線上的地址映射到第二地址上的地址的裝置也可以基于硬件或者基于軟件。
在本發(fā)明的另一方面中,該存儲(chǔ)器裝置具有存儲(chǔ)器控制器,該存儲(chǔ)器控制器用于接收NOR地址信號的第一地址總線,用于接收NOR數(shù)據(jù)信號和數(shù)據(jù)協(xié)議命令的第一數(shù)據(jù)總線,和用于接收NOR控制信號的第一控制總線。該存儲(chǔ)器控制器進(jìn)一步具有用于接口連接易失性RAM存儲(chǔ)器的第二地址總線,用于接口連接易失性RAM存儲(chǔ)器的第二數(shù)據(jù)總線,以及用于接口連接易失性RAM存儲(chǔ)器的第二控制總線。該控制器進(jìn)一步具有用于接口連接非易失性NAND存儲(chǔ)器的第三地址/數(shù)據(jù)總線,和用于接口連接非易失性NAND存儲(chǔ)器的第三控制總線。該存儲(chǔ)器裝置進(jìn)一步具有與所述第二地址總線,所述第二數(shù)據(jù)總線,以及所述第二控制總線相連接的RAM存儲(chǔ)器。該存儲(chǔ)器裝置進(jìn)一步具有與第三地址/數(shù)據(jù)總線和第三控制總線相連接的非易失性NAND存儲(chǔ)器。該控制器進(jìn)一步操作RAM存儲(chǔ)器以模擬包含NOR協(xié)議命令的NOR存儲(chǔ)器裝置的操作。
權(quán)利要求
1.一種存儲(chǔ)器控制器,包括第一總線,用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號;第二總線,用于與易失性RAM存儲(chǔ)器裝置接口連接;第三總線,用于與NAND存儲(chǔ)器裝置接口連接;非易失性存儲(chǔ)器,用于存儲(chǔ)用于所述存儲(chǔ)器控制器的可引導(dǎo)代碼,所述可引導(dǎo)代碼用于啟動(dòng)所述控制器的操作;用于從第一總線接收第一地址并用于將所述第一地址映射到所述NAND存儲(chǔ)器裝置的第二地址,以及用于操作作為用于至或來自所述NAND存儲(chǔ)器裝置中的第二地址的數(shù)據(jù)的高速緩存的所述易失性RAM存儲(chǔ)器裝置的裝置;以及用于保持存儲(chǔ)在所述NAND存儲(chǔ)器裝置中的所述第二地址處的數(shù)據(jù)與存儲(chǔ)在用作高速緩存的所述易失性RAM存儲(chǔ)器中的數(shù)據(jù)之間的數(shù)據(jù)一致性的裝置。
2.如權(quán)利要求1所述的存儲(chǔ)器控制器,進(jìn)一步包括連接到所述第二總線的RAM。
3.如權(quán)利要求1所述的存儲(chǔ)器控制器,進(jìn)一步包括用于從所述第一總線接收NOR協(xié)議命令,并用于對所述NAND存儲(chǔ)器裝置操作所述NOR命令的裝置。
4.一種存儲(chǔ)器控制器,包括第一總線,用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號;第二總線,用于與易失性RAM存儲(chǔ)器裝置接口連接;第三總線,用于與NAND存儲(chǔ)器裝置接口連接;NOR存儲(chǔ)器,用于存儲(chǔ)用于所述存儲(chǔ)器控制器的可引導(dǎo)代碼,所述可引導(dǎo)代碼用于啟動(dòng)所述控制器的操作;用于從所述第一總線接收NOR協(xié)議命令,并用于操作所述NOR存儲(chǔ)器,以及用于操作所述易失性RAM存儲(chǔ)器裝置以模擬NOR存儲(chǔ)器的操作的裝置;以及用于操作作為ATA存儲(chǔ)裝置的NAND存儲(chǔ)器裝置的裝置。
5.如權(quán)利要求4所述的存儲(chǔ)器控制器,進(jìn)一步包括寄存器,用于存儲(chǔ)來自主機(jī)裝置的結(jié)構(gòu)參數(shù),所述結(jié)構(gòu)參數(shù)用于將來自第一總線的地址分成NOR操作、RAM操作和NAND操作。
6.如權(quán)利要求4所述的存儲(chǔ)器控制器,進(jìn)一步包括連接到所述第二總線的易失性RAM存儲(chǔ)器裝置。
7.如權(quán)利要求4所述的存儲(chǔ)器控制器,其中用于操作所述易失性RAM存儲(chǔ)器裝置以模擬NOR存儲(chǔ)器的操作的所述裝置進(jìn)一步包括用于從第一總線接收第一地址并且用于將所述第一地址映射到所述NAND存儲(chǔ)器裝置的第二地址,以及用于操作作為用于至或來自所述NAND存儲(chǔ)器裝置中的第二地址的數(shù)據(jù)的高速緩存的所述易失性RAM存儲(chǔ)器裝置的裝置;以及用于保持存儲(chǔ)在所述NAND存儲(chǔ)器裝置中的所述第二地址處的數(shù)據(jù)與存儲(chǔ)在用作高速緩存的所述易失性RAM存儲(chǔ)器中的數(shù)據(jù)之間的數(shù)據(jù)一致性的裝置。
8.一種存儲(chǔ)器控制器,包括第一總線,用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號;第二總線,用于與易失性RAM存儲(chǔ)器裝置接口連接;第三總線,用于與NAND存儲(chǔ)器裝置接口連接;寄存器,用于存儲(chǔ)來自主機(jī)裝置的結(jié)構(gòu)參數(shù),所述結(jié)構(gòu)參數(shù)用于將來自第一總線的地址分成由所述RAM存儲(chǔ)器裝置進(jìn)行的操作和由所述NAND存儲(chǔ)器裝置進(jìn)行的操作。
9.一種存儲(chǔ)器控制器,包括第一總線,用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號;第二總線,用于與易失性RAM存儲(chǔ)器裝置接口連接;NOR非易失性存儲(chǔ)器裝置,其中所述NOR非易失性存儲(chǔ)器裝置存儲(chǔ)被配置用于操作控制器的程序代碼,由此被所述控制器接收的所述第一總線上的第一地址用于響應(yīng)于NOR協(xié)議命令操作該NOR存儲(chǔ)器,被所述控制器接收的所述第一總線上的第二地址用于響應(yīng)于RAM存儲(chǔ)器協(xié)議操作該RAM存儲(chǔ)器,以及被所述控制器接收的所述第一總線上的第三地址用于模擬NOR協(xié)議命令來操作該RAM存儲(chǔ)器。
10.一種存儲(chǔ)器控制器,包括第一總線,用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號;第二總線,用于與易失性RAM存儲(chǔ)器裝置接口連接;NOR非易失性存儲(chǔ)器裝置;以及寄存器,用于存儲(chǔ)來自主機(jī)裝置的結(jié)構(gòu)參數(shù),所述結(jié)構(gòu)參數(shù)用于將來自第一總線的地址分成由作為NOR存儲(chǔ)器裝置的所述NOR存儲(chǔ)器裝置、作為RAM存儲(chǔ)器裝置的所述RAM存儲(chǔ)器裝置、和模擬NOR存儲(chǔ)器裝置的操作的所述RAM存儲(chǔ)器裝置進(jìn)行的操作。
11.一種NOR存儲(chǔ)器,包括存儲(chǔ)器控制器的第一集成電路管芯,其具有用于接收NOR協(xié)議命令信號的第一總線;所述存儲(chǔ)器控制器進(jìn)一步具有用于采用NAND存儲(chǔ)器協(xié)議與NAND存儲(chǔ)器裝置進(jìn)行通信的第二總線;所述存儲(chǔ)器控制器進(jìn)一步具有NOR存儲(chǔ)器,其用于存儲(chǔ)用于啟動(dòng)所述存儲(chǔ)器控制器的操作的程序代碼,并用于從所述第一總線接收NOR協(xié)議命令并響應(yīng)于其在所述第二總線上發(fā)出NAND協(xié)議命令,以模擬NOR存儲(chǔ)器裝置的操作;NAND存儲(chǔ)器裝置的第二集成電路管芯,其被連接到所述第一集成電路裝置的所述第二總線;其中所述第一和第二集成電路裝置被一起封裝在同一封裝中。
12.如權(quán)利要求11所述的NOR存儲(chǔ)器,進(jìn)一步包括所述第一集成電路管芯進(jìn)一步具有第三總線,其用于采用RAM存儲(chǔ)器協(xié)議與RAM存儲(chǔ)器裝置進(jìn)行通信。
13.如權(quán)利要求12所述的NOR存儲(chǔ)器,進(jìn)一步包括連接到所述第三總線的RAM存儲(chǔ)器。
14.如權(quán)利要求13所述的NOR存儲(chǔ)器,其中所述RAM存儲(chǔ)器是獨(dú)立的集成電路管芯,并被封裝在與所述第一和第二集成電路管芯相同的封裝中。
15.如權(quán)利要求13所述的NOR存儲(chǔ)器,其中所述RAM存儲(chǔ)器與具有所述存儲(chǔ)器控制器的所述第一集成電路管芯集成在一起。
16.如權(quán)利要求13所述的NOR存儲(chǔ)器,其中所述RAM存儲(chǔ)器用作操作用于模擬所述NOR協(xié)議命令的所述NAND存儲(chǔ)器裝置的高速緩存。
17.如權(quán)利要求13所述的NOR存儲(chǔ)器,進(jìn)一步包括存儲(chǔ)器控制器的所述第一集成電路管芯進(jìn)一步具有寄存器,其用于存儲(chǔ)用于將來自第一總線的地址分成NOR操作和使用所述NAND存儲(chǔ)器的NOR模擬操作的參數(shù)。
18.如權(quán)利要求17所述的NOR存儲(chǔ)器其中所述寄存器用于存儲(chǔ)用于將來自第一總線的地址分成NOR操作、使用所述NAND存儲(chǔ)器的NOR模擬操作、RAM操作和NAND操作的參數(shù);并且其中用于分開來自第一總線的地址的所述參數(shù)是來自主機(jī)裝置的結(jié)構(gòu)參數(shù)。
19.一種通用存儲(chǔ)器,包括存儲(chǔ)器控制器,其具有用于從主機(jī)裝置接收地址信號和數(shù)據(jù)信號的第一總線、用于與NAND存儲(chǔ)器接口連接的第二總線;和用于與RAM存儲(chǔ)器接口連接的第三總線;以及用于與NOR存儲(chǔ)器接口連接的第四總線;連接到所述第二總線的NAND存儲(chǔ)器;連接到所述第三總線的RAM存儲(chǔ)器;連接到所述第四總線的NOR存儲(chǔ)器;并且其中所述存儲(chǔ)器控制器響應(yīng)于在所述第一總線上提供的NOR協(xié)議命令、RAM協(xié)議命令和ATA NAND協(xié)議命令。
20.如權(quán)利要求19所述的通用存儲(chǔ)器,其中所述通用存儲(chǔ)器是單片集成電路管芯。
21.如權(quán)利要求19所述的通用存儲(chǔ)器,其中所述存儲(chǔ)器控制器是第一集成電路管芯,所述NAND存儲(chǔ)器是第二集成電路管芯,所述RAM存儲(chǔ)器是第三集成電路管芯,以及所述NOR存儲(chǔ)器被集成在所述存儲(chǔ)器控制器中。
22.如權(quán)利要求21所述的通用存儲(chǔ)器,其中所述第一、第二和第三集成電路管芯被封裝在一起。
23.如權(quán)利要求19所述的通用存儲(chǔ)器,其中所述存儲(chǔ)器控制器是第一集成電路管芯,所述NAND存儲(chǔ)器是第二集成電路管芯,所述RAM存儲(chǔ)器和所述NOR存儲(chǔ)器被集成在所述存儲(chǔ)器控制器中。
24.如權(quán)利要求23所述的通用存儲(chǔ)器,其中所述第一和第二集成電路管芯被封裝在一起。
25.如權(quán)利要求19所述的通用存儲(chǔ)器,其中所述NOR存儲(chǔ)器用于存儲(chǔ)程序代碼,其被配置用以響應(yīng)于作為NOR地址的所述第一總線上的第一地址;作為RAM地址的所述第一總線上的第二地址;以及作為ATA NAND地址的所述第一總線上的第三地址。
26.如權(quán)利要求25所述的通用存儲(chǔ)器,其中所述NOR存儲(chǔ)器用于進(jìn)一步存儲(chǔ)被配置用于啟動(dòng)所述存儲(chǔ)器控制器的操作的程序代碼。
27.如權(quán)利要求26所述的通用存儲(chǔ)器,其中所述存儲(chǔ)器控制器進(jìn)一步包括寄存器,用于存儲(chǔ)來自主機(jī)裝置的結(jié)構(gòu)參數(shù),所述結(jié)構(gòu)參數(shù)將來自第一總線的地址分成NOR操作、使用所述NAND存儲(chǔ)器的NOR模擬操作、RAM操作和ATANAND操作。
28.如權(quán)利要求27所述的通用存儲(chǔ)器,其中所述NOR存儲(chǔ)器用于進(jìn)一步存儲(chǔ)被配置用于使所述RAM存儲(chǔ)器用作用于使用所述NAND存儲(chǔ)器的NOR模擬操作的高速緩存的程序代碼。
29.一種主機(jī)可確定的存儲(chǔ)器,包括存儲(chǔ)器控制器,其具有用于連接到主機(jī)裝置并用于接收地址信號和數(shù)據(jù)信號的第一總線;用于連接到NOR存儲(chǔ)器的第二總線;用于連接到RAM存儲(chǔ)器的第三總線;用于連接到NAND存儲(chǔ)器的第四總線;連接到所述第二總線的NOR存儲(chǔ)器;連接到所述第三總線的RAM存儲(chǔ)器;連接到所述第四總線的NAND存儲(chǔ)器;以及寄存器,用于存儲(chǔ)來自主機(jī)裝置的結(jié)構(gòu)參數(shù),所述結(jié)構(gòu)參數(shù)用于將來自第一總線的第一地址分成NOR操作,將來自第一總線的第二地址分成使用所述NAND存儲(chǔ)器的NOR模擬操作,將來自第一總線的第三地址分成RAM操作,以及將來自第一總線的第四地址分成ATA NAND操作。
30.如權(quán)利要求29所述的主機(jī)可確定的存儲(chǔ)器,其中所述NOR存儲(chǔ)器與所述存儲(chǔ)器控制器集成到同一集成電路管芯中。
31.如權(quán)利要求30所述的主機(jī)可確定的存儲(chǔ)器,其中所述RAM存儲(chǔ)器與所述存儲(chǔ)器控制器集成到同一集成電路管芯中。
32.如權(quán)利要求30所述的主機(jī)可確定的存儲(chǔ)器,其中所述RAM存儲(chǔ)器是第一集成電路管芯,以及所述存儲(chǔ)器控制器是第二集成電路管芯,并且其中所述第一集成電路管芯與所述第二集成電路管芯封裝在一起。
33.如權(quán)利要求29所述的主機(jī)可確定的存儲(chǔ)器,其中所述NOR存儲(chǔ)器用于存儲(chǔ)被配置用于啟動(dòng)所述存儲(chǔ)器控制器的操作的程序代碼。
34.一種NOR模擬存儲(chǔ)器,包括存儲(chǔ)器控制器,其具有用于存儲(chǔ)用于啟動(dòng)存儲(chǔ)器控制器的操作的程序代碼的非易失性存儲(chǔ)器,并具有用于從主機(jī)裝置接收地址和數(shù)據(jù)信號的第一總線;用于與RAM存儲(chǔ)器接口連接的第二總線;以及用于與NAND存儲(chǔ)器接口連接的第三總線;連接到所述第二總線的易失性RAM存儲(chǔ)器;連接到所述第三總線的NAND存儲(chǔ)器;用于從所述第一總線接收NOR協(xié)議命令和第一地址,并用于將所述第一地址映射到所述NAND存儲(chǔ)器中的第二地址,以及用于響應(yīng)其來操作所述NAND存儲(chǔ)器的裝置,并且所述RAM存儲(chǔ)器用作用于至或來自該NAND存儲(chǔ)器中的第二地址的數(shù)據(jù)的高速緩存;以及用于保持作為高速緩存的RAM中所存儲(chǔ)的數(shù)據(jù)與在NAND存儲(chǔ)器中的第二地址處的數(shù)據(jù)之間的數(shù)據(jù)一致性的裝置。
35.如權(quán)利要求34所述的NOR模擬存儲(chǔ)器,其中所述用于接收的裝置和所述用于保持的裝置包括存儲(chǔ)在所述非易失性存儲(chǔ)器中的程序代碼。
36.如權(quán)利要求34所述的NOR模擬存儲(chǔ)器,其中所述易失性RAM被嵌入到所述存儲(chǔ)器控制器中,并且其中所述存儲(chǔ)器控制器是第一集成電路管芯,以及其中所述NAND存儲(chǔ)器是第二集成電路管芯,并且其中所述第一和第二管芯封裝在一起。
37.一種存儲(chǔ)器裝置,包括存儲(chǔ)器控制器,其具有用于與多個(gè)主機(jī)裝置接口連接的多個(gè)第一總線,且每個(gè)第一總線與每個(gè)主機(jī)裝置連接;并具有多個(gè)第二總線;連接到該多個(gè)第二總線并具有輸出總線的仲裁電路;連接到仲裁電路的輸出總線的NAND存儲(chǔ)器;并且其中所述主機(jī)裝置的每一個(gè)具有通過所述仲裁電路對所述NAND存儲(chǔ)器的存取。
38.如權(quán)利要求37所述的存儲(chǔ)器裝置,進(jìn)一步包括所述存儲(chǔ)器控制器具有多個(gè)第三總線;連接到該多個(gè)第三總線并具有輸出總線的第二仲裁電路;連接到第二仲裁電路的輸出總線的易失性RAM存儲(chǔ)器;并且其中所述主機(jī)裝置的每一個(gè)具有通過所述第二仲裁電路對所述易失性RAM存儲(chǔ)器的存取。
39.一種存儲(chǔ)器裝置,包括存儲(chǔ)器控制器,其具有用于與多個(gè)主機(jī)裝置接口連接的第一總線,且每個(gè)主機(jī)裝置被提供有來自所述存儲(chǔ)器控制器的用于許可對所述第一總線的存取的單獨(dú)的控制信號;該存儲(chǔ)器控制器還具有多個(gè)第二總線和多個(gè)第三總線;連接到該多個(gè)第二總線并具有第一輸出總線的第一仲裁電路;連接到第一仲裁電路的第一輸出總線的NAND存儲(chǔ)器;其中所述主機(jī)裝置的每一個(gè)具有通過所述第一仲裁電路對所述NAND存儲(chǔ)器的存??;連接到該多個(gè)第三總線并具有第二輸出總線的第二仲裁電路;連接到第二仲裁電路的第二輸出總線的易失性RAM存儲(chǔ)器;并且其中所述主機(jī)裝置的每一個(gè)具有通過所述第二仲裁電路對所述易失性RAM存儲(chǔ)器的存取。
40.一種存儲(chǔ)器裝置,包括存儲(chǔ)器控制器,其具有用于與多個(gè)主機(jī)裝置接口連接的多個(gè)第一總線,且每個(gè)第一總線用于從不同的主機(jī)裝置接收地址信號和數(shù)據(jù)信號,用于與NAND存儲(chǔ)器接口連接的第二總線;和用于與RAM存儲(chǔ)器接口連接的第三總線;以及用于與NOR存儲(chǔ)器接口連接的第四總線;連接到所述第二總線的NAND存儲(chǔ)器;連接到所述第三總線的RAM存儲(chǔ)器;連接到所述第四總線的NOR存儲(chǔ)器;并且其中所述存儲(chǔ)器控制器響應(yīng)于在所述不同的第一總線的每一個(gè)上提供的NOR協(xié)議命令、RAM協(xié)議命令和ATA NAND協(xié)議命令。
全文摘要
具有控制器的存儲(chǔ)器裝置。該控制器具有用于接收RAM地址信號的第一地址總線,用于接收RAM數(shù)據(jù)信號的第一數(shù)據(jù)總線,用于接收RAM控制信號的第一控制總線。該控制器還具有與易失性RAM存儲(chǔ)器接口連接的第二地址總線、第二數(shù)據(jù)總線、和第二控制總線。該控制器還具有與非易失性NAND存儲(chǔ)器接口連接的第三地址/數(shù)據(jù)總線,和與非易失性NAND存儲(chǔ)器接口連接的第三控制總線。該控制器還具有非易失性可引導(dǎo)存儲(chǔ)器,用于在第一地址總線上接收第一地址并將第一地址映射到非易失性NAND存儲(chǔ)器中的第二地址的裝置,以及用于保持存儲(chǔ)在作為高速緩存的易失性RAM存儲(chǔ)器中的數(shù)據(jù)與在非易失性NAND存儲(chǔ)器中的第二地址處的數(shù)據(jù)之間的數(shù)據(jù)一致性的裝置。
文檔編號G06F12/08GK101017460SQ200610064498
公開日2007年8月15日 申請日期2006年12月27日 優(yōu)先權(quán)日2005年12月28日
發(fā)明者F·L·林, B·葉 申請人:硅存儲(chǔ)技術(shù)公司