專利名稱:半導(dǎo)體存儲(chǔ)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及包含多個(gè)不同種存儲(chǔ)體的復(fù)合型存儲(chǔ)體半導(dǎo)體裝置,并涉及其組合、其控制方法、還涉及多芯片模塊的安裝構(gòu)造。
背景技術(shù):
本說明書中參照到的文獻(xiàn)的列表如下,文獻(xiàn)的參照以文獻(xiàn)號(hào)碼為準(zhǔn)。[文獻(xiàn)1]LRS1337 Stacked Chip 32M Flash Memory and 4MSRAM Data Sheet([2000年4月21日檢索]、因特網(wǎng)<URLhttp∥www.sharpsma.com/index.html>)、[文獻(xiàn)2]特開平5-299616號(hào)公報(bào)(對(duì)應(yīng)歐洲專利公開公報(bào)566,306號(hào)、1993年10月20日)、[文獻(xiàn)3]特開平7-146820號(hào)公報(bào)、[文獻(xiàn)4]特開2001-5723號(hào)公報(bào)。
揭示一種復(fù)合型半導(dǎo)體存儲(chǔ)體,其閃存器(flash memory)(32M bit容量)及SRAM(4M bit容量)通過堆棧芯片被一體密封在FBGA型封裝體中。閃存器及SRAM對(duì)在FBGA型封裝體的輸入輸出電極其地址輸入端子及數(shù)據(jù)輸入輸出端子共通化。但各控制端子各自獨(dú)立。
的
圖17揭示一種復(fù)合型半導(dǎo)體存儲(chǔ)體,其中閃存器芯片及DRAM芯片一體密封在引線框型封裝體中。又,圖1中,其閃存器及DRAM對(duì)在封裝體的輸入輸出電極的地址輸入端子、數(shù)據(jù)輸入輸出端子及控制端子被共通化而輸入輸出。
的圖1顯示一種統(tǒng),其由作為主存儲(chǔ)裝置的閃存器、快取存儲(chǔ)體、控制器及CPU所構(gòu)成。
的圖2顯示為一種半導(dǎo)體存儲(chǔ)體,其由閃存器、DRAM及傳送控制電路所構(gòu)成。
本發(fā)明人等在本發(fā)明之前曾對(duì)移動(dòng)電話及其所使用的閃存器及SRAM的1封裝體中所安裝的存儲(chǔ)模塊進(jìn)行研究。
移動(dòng)電話所處理的應(yīng)用程序、數(shù)據(jù)、工作區(qū)隨著移動(dòng)電話的附加功能(音樂或游戲等配送等)的增加而增大,可預(yù)見將需要存儲(chǔ)容量更大的閃存器或SRAM。再者,最近移動(dòng)電話的高功能化非常普遍,大容量存儲(chǔ)體的需求因而提高。
目前,移動(dòng)電話所用的閃存器采用稱為NOR方式的存儲(chǔ)體陣列方式的NOR型閃存器。NOR方式降低存儲(chǔ)單元陣列的寄生電阻的陣列方式,其對(duì)并聯(lián)連接的存儲(chǔ)單元以2個(gè)中1個(gè)的比例設(shè)置金屬位線接點(diǎn),以求低電阻化。因此讀取時(shí)間約80ns,與大容量中速SRAM的讀取時(shí)間大致相同。但是,相反地,由于必須對(duì)每2個(gè)存儲(chǔ)單元設(shè)置1個(gè)接點(diǎn),故接觸部占芯片面積的比例高,每1位的存儲(chǔ)單元的面積大,無(wú)法應(yīng)付大容量化的要求。
代表性大容量閃存器中有存儲(chǔ)體陣列使用AND方式的AND型閃存器及使用NAND方式的NAND型閃存器。這種閃存器對(duì)16~128個(gè)存儲(chǔ)單元設(shè)置1個(gè)位線接點(diǎn),故可實(shí)現(xiàn)高密度的存儲(chǔ)體陣列。因此,每1位元的每一存儲(chǔ)單元的面積可小在NOR型FLASH,可符合大容量化的需求。但是,相反地,輸出最初的數(shù)據(jù)為止的讀取時(shí)間約25s到50μs,較慢,難以與SRAM取得匹配性。
閃存器即使在電源切斷時(shí)也可保持?jǐn)?shù)據(jù),但SRAM為了在移動(dòng)電話電源切斷之時(shí)也可保持?jǐn)?shù)據(jù)而連接到電源。為了長(zhǎng)期保持?jǐn)?shù)據(jù),SRAM的數(shù)據(jù)保持電流越小越好。但是,大容量SRAM有存儲(chǔ)體容量越大數(shù)據(jù)保存電流越大的問題,且柵極漏電流增大會(huì)造成數(shù)據(jù)保持電流增加等問題。這是由于為了得到大容量SRAM,使用細(xì)微加工將MOS電晶體的氧化絕緣膜薄膜化,使得隧道電流從柵極流到基板,導(dǎo)致數(shù)據(jù)保持電流增加的緣故。如此可得知,在SRAM的大容量化的同時(shí)要降低數(shù)據(jù)保持電流,越來越困難。
發(fā)明內(nèi)容
因此,本發(fā)明的目的之一即為得到存儲(chǔ)容量大且可高速讀取、寫入的ROM及存儲(chǔ)容量大且數(shù)據(jù)保持電流少的RAM。
本發(fā)明的代表性手段的一例下所示。即,構(gòu)成一種半導(dǎo)體存儲(chǔ)裝置,其包含非易失性存儲(chǔ)體,其具有第1讀取時(shí)間;隨機(jī)存取存儲(chǔ)體RAM,其具有第2讀取時(shí)間,其讀取時(shí)間較前述第1讀取時(shí)間至少少100倍以上;電路,其與前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體結(jié)合,并包含一控制電路,用于控制對(duì)前述隨機(jī)存取存儲(chǔ)體及前述非易失性存儲(chǔ)體的存??;及多個(gè)輸入輸出端子,與前述電路結(jié)合。
此時(shí),控制電路只要進(jìn)行控制,事先將閃存器的數(shù)據(jù)的至少一部分從非易失性存儲(chǔ)體傳送到DRAM即可。對(duì)非易失性存儲(chǔ)體的寫入在先寫入RAM后,在從半導(dǎo)體裝置外收到存取要求時(shí),再將RAM的寫入非易失性存儲(chǔ)體即可。再者,控制電路也可進(jìn)行控制,以從半導(dǎo)體裝置外隱藏RAM為DRAM時(shí)的更新。
附圖的簡(jiǎn)單說明圖1所示為使用了本發(fā)明的存儲(chǔ)模塊的構(gòu)成圖。
圖2所示為顯示圖1的CHIP2的一例的區(qū)塊圖。
圖3所示為使用了本發(fā)明的存儲(chǔ)模塊的地址映像的一例的說明圖。
圖4所示為使用了本發(fā)明的存儲(chǔ)模塊的地址映像的一例的說明圖。
圖5所示為使用了本發(fā)明的存儲(chǔ)模塊在電源投入時(shí)的動(dòng)作的一例的圖。
圖6所示為從本發(fā)明的存儲(chǔ)模塊內(nèi)的FLASH對(duì)DRAM傳送數(shù)據(jù)的動(dòng)作的流程的流程圖。
圖7所示為從本發(fā)明的存儲(chǔ)模塊內(nèi)的DRAM對(duì)FLASH傳送數(shù)據(jù)的動(dòng)作的流程的流程圖。
圖8A-B所示為對(duì)本發(fā)明的存儲(chǔ)模塊內(nèi)的DRAM進(jìn)行讀取動(dòng)作及寫入動(dòng)作的流程的流程圖。
圖9所示為圖2所示的數(shù)據(jù)更新管理電路CPB的動(dòng)作的一例的圖。
圖10所示為本發(fā)明的存儲(chǔ)模塊在斷電時(shí)的動(dòng)作的流程的流程圖。
圖11所示為來自存儲(chǔ)模塊外部的載入命令造成的DRAM的動(dòng)作的一例的圖。
圖12所示為來自存儲(chǔ)模塊外部的儲(chǔ)存命令造成的DRAM的動(dòng)作的一例的圖。
圖13A-B所示為本發(fā)明的存儲(chǔ)模塊內(nèi)對(duì)DRAM的的讀取動(dòng)作及寫入動(dòng)作的一例的圖。
圖14所示為儲(chǔ)存命令造成的對(duì)DRAM的讀取動(dòng)作進(jìn)行時(shí),從外部對(duì)DRAM產(chǎn)生讀取動(dòng)作時(shí)從DRAM的讀取動(dòng)作的一例的圖。
圖15所示為圖1所示的FLASH的一構(gòu)成例的區(qū)塊圖。
圖16所示為從圖15所示的FLAH讀取數(shù)據(jù)時(shí)時(shí)時(shí)序圖的一例。
圖17所示為使用了本發(fā)明的存儲(chǔ)模塊的一構(gòu)成例的圖。
圖18所示為圖17所示的FLASH的一構(gòu)成例的區(qū)塊圖。
圖19所示為從圖18所示的FLAH讀取數(shù)據(jù)的時(shí)序圖的一例。
圖20所示為DRAM的一構(gòu)成例的區(qū)塊圖。
圖21所示為使用了本發(fā)明的存儲(chǔ)模塊的構(gòu)成圖。
圖22所示為圖22的CHIP2的一例的區(qū)塊圖。
圖23所示為使用了本發(fā)明的存儲(chǔ)模塊的地址映像的一例的說明圖。
圖24所示為使用了本發(fā)明的存儲(chǔ)模塊的地址映像的一例的說明圖。
圖25所示為使用了本發(fā)明的存儲(chǔ)模塊在電源投入時(shí)的動(dòng)作的一例的圖。
圖26為使用了本發(fā)明的存儲(chǔ)模塊在電源投入時(shí)的動(dòng)作的一例的圖。
圖27A-C所示為對(duì)本發(fā)明的存儲(chǔ)模塊存取的優(yōu)先順序及動(dòng)作的一例的圖。
圖28A-B所示為來自存儲(chǔ)模塊外部的載入命令及儲(chǔ)存命令所造成的DRAM的動(dòng)作的一例的圖。
圖29A-B所示為載入命令及儲(chǔ)存命令對(duì)DRAM進(jìn)行存取時(shí),從外部對(duì)DRAM產(chǎn)生存取時(shí)DRAM的動(dòng)作的一例的圖。
圖30所示為使用了本發(fā)明的存儲(chǔ)模塊的時(shí)序圖一例。
圖31所示為使用了本發(fā)明的存儲(chǔ)模塊的時(shí)序圖的一例。
圖32所示為SRAM的一構(gòu)成例的區(qū)塊圖。
圖33A-B所示為本發(fā)明的存儲(chǔ)模塊的安裝形態(tài)的一例。
圖34A-B所示為本發(fā)明的存儲(chǔ)模塊的安裝形態(tài)的一例。
圖35所示為使用了本發(fā)明的存儲(chǔ)模塊的構(gòu)成圖。
圖36所示為圖35的CHIP2的一例的區(qū)塊圖。
圖37所示為使用了本發(fā)明的存儲(chǔ)模塊的地址映像的一例的說明圖。
圖38A-C所示為從外部同時(shí)對(duì)DRAM進(jìn)行存取及更新的情形的說明圖。
圖39A-C所示為同時(shí)從外部存取DRAM及從內(nèi)部存取DRAM存取的情形的說明圖。
圖40A-B所示為DRAM的更新方式的一例的圖。
圖41A-B所示為WORK期間、REF期間的切換時(shí)接手存取的情形的說明圖。
圖42所示為使用了本發(fā)明的存儲(chǔ)模塊的時(shí)序圖的一例。
圖43A-B所示為本發(fā)明的存儲(chǔ)模塊的安裝形態(tài)的一例。
圖44A-B所示為本發(fā)明的存儲(chǔ)模塊的安裝形態(tài)的一例。
圖45所示為利用本發(fā)明的存儲(chǔ)模塊的移動(dòng)電話的構(gòu)成例的圖。
發(fā)明的實(shí)施方式以下,使用附圖詳細(xì)說明本發(fā)明的實(shí)施例。構(gòu)成實(shí)施例的各區(qū)塊的電路元件并不特別受限,可通過已知的CMOS(互補(bǔ)型MOS電晶體)等集成電路技術(shù)在單晶硅等1個(gè)半導(dǎo)體基板上形成。
<實(shí)施例1>
圖1所示為存儲(chǔ)模塊的第一實(shí)施例,其為使用本發(fā)明的半導(dǎo)體集成電路裝置的一例。本存儲(chǔ)模塊由3個(gè)芯片所構(gòu)成。以下說明各芯片。
首先,CHIP1(FLASH)為非易失性存儲(chǔ)體。非易失性存儲(chǔ)體可用ROM(只讀存儲(chǔ)體)、EEPROM(電可擦可編程ROM)、閃存器等。本實(shí)施例中所用的CHIP1的非易失性存儲(chǔ)體的典型例如為廣義的NAND型閃存器,通常具有約256Mb的存儲(chǔ)容量,其讀取時(shí)間(從讀取要求開始到輸出數(shù)據(jù)為止之時(shí)間)約25μs到50μs,比較慢。相對(duì)在此,CHIP3通常使用SDRAM,其具有256Mb左右的存儲(chǔ)容量,讀取時(shí)間約35ns。即,CHIP3的讀取時(shí)間與CHIP1相比至少短100倍以上。對(duì)照在此,NOR型閃存器的讀取時(shí)間約80ns,與DRAM具有相同次元的讀取時(shí)間。本發(fā)明提供一解決方式,以對(duì)讀取時(shí)間的差異大的存儲(chǔ)體效率地進(jìn)行存取。又,DRAM依其內(nèi)部構(gòu)成或接口的差異有EDO、SDRAM、DDR-SDRAM等各種種類。本存儲(chǔ)模塊可利用各種DRAM,在本實(shí)施例以時(shí)鐘同步型DRAM的典型例的SDRAM為例說明。CHIP2(CTL_LOGIC)中裝載對(duì)CHIP1及CHIP3進(jìn)行控制的控制電路。
對(duì)本存儲(chǔ)模塊輸入地址(A0~A15)、時(shí)鐘信號(hào)(CLK)及指令信號(hào)(CKE,/CS,/RAS,/CAS,/WE,DQMU/DQML)。電源通過S-VCC,S-VSS,L-VCC,L-VSS,F(xiàn)-VCC,F(xiàn)-VSS,D1-VCC,D1-VSS供給,數(shù)據(jù)的輸入輸出使用DQ0~DQ15。本存儲(chǔ)模塊通過所謂SDRAM接口而動(dòng)作。
CHIP2供給CHIP1,CHIP3的動(dòng)作上需要的信號(hào)。CHIP2對(duì)CHIP1供給串列時(shí)鐘(F-SC)、地址及FLASH用數(shù)據(jù)(I/O0~I(xiàn)/O7)、指令(F-CE,F(xiàn)-/OE,F(xiàn)-/WE,F(xiàn)-/RES,F(xiàn)-CDE,F(xiàn)-RDY/BUSY)。再者,CHIP2對(duì)CHIP3供給時(shí)鐘(D1-CLK)、地址(D1-A0~D1-A14)、指令(D1-CKE,D1-/CS,D1-/RAS,D1-/CAS,D1-/WE,D1-DQMU/DQML)、DRAM用數(shù)據(jù)(D1-DQ0~D1-DQ15)。
在此簡(jiǎn)單說明各指令信號(hào)。輸入到CHIP2的CLK為時(shí)鐘信號(hào)、CKE為時(shí)鐘啟動(dòng)信號(hào)、/CS為芯片選擇信號(hào)、/RAS為行地址選通信號(hào)、/CAS為列地址選通信號(hào)、/WE為寫入啟動(dòng)信號(hào)、DQMU/DQML為輸入輸出屏蔽信號(hào)。CHIP3中輸入的D1-CLK為時(shí)鐘信號(hào)、D1-CKE為時(shí)鐘啟動(dòng)信號(hào)、D1-/CS為芯片選擇信號(hào)、D1-/RAS為行地址選通信號(hào)、D1-/CAS為列地址選通信號(hào)、D1-/WE為寫入啟動(dòng)信號(hào)、D1-DQMU/DQML為輸入輸出屏蔽信號(hào)。CHIP1中輸入的F-/CE為芯片啟動(dòng)信號(hào),F(xiàn)-/OE為輸出啟動(dòng)信號(hào),F(xiàn)-/WE為寫入啟動(dòng)信號(hào),F(xiàn)-SC為串列時(shí)鐘信號(hào),F(xiàn)-/RES為重置信號(hào),F(xiàn)-CDE為指令數(shù)據(jù)啟動(dòng)信號(hào),F(xiàn)-RDY/BUSY為待命/忙碌信號(hào),I/O0~I(xiàn)/O7為輸入輸出信號(hào),用于地址的輸入或數(shù)據(jù)的輸入輸出。
CHIP2的控制電路(CTL_LOGIC)根據(jù)從外部輸入的地址的值,選擇CHIP2的控制電路(CTL_LOGIC)中設(shè)置的指令寄存器,或是CHIP3的DRAM,或是CHIP1的FLASH。通過在控制電路(CTL_LOGIC)中設(shè)置的控制寄存器中設(shè)定數(shù)值,可區(qū)別外部的存取對(duì)指令寄存器的存取、對(duì)DRAM的存取、或是對(duì)FLASH的存取。所有存取均以SDRAM接口方式進(jìn)行。
DRAM分為工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域,工作區(qū)域作為程序執(zhí)行時(shí)的工作存儲(chǔ)體用,F(xiàn)LASH數(shù)據(jù)復(fù)制區(qū)域作為從FLASH復(fù)制數(shù)據(jù)用的存儲(chǔ)體使用。
存取控制電路(CTL_LOGIC)內(nèi)的指令寄存器以寫入載入命令或儲(chǔ)存命令碼,可將FLASH的數(shù)據(jù)復(fù)制(載入)到DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域,也可將DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域的數(shù)據(jù)寫回(儲(chǔ)存)到FLASH。
在從地址信號(hào)(A0~A15)輸入存取指令寄存器用的地址、從指令信號(hào)(CKE,/CS,/RAS,/CAS,/WE,DQMU/DQML)輸入寫入命令、從輸入輸出數(shù)據(jù)信號(hào)(D1-DQ0~D1-DQ15)輸入載入命令碼,之后輸入選擇FLASH的地址的范圍內(nèi)的載入開始地址、載入結(jié)束地址之后,在指令寄存器中寫入載入命令碼及載入開始地址及載入結(jié)束地址。其后,從FLASH的載入開始地址讀載入結(jié)束地址間的數(shù)據(jù),傳送到DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域。由此,將FLASH的數(shù)據(jù)保持在DRAM。
在指令寄存器中儲(chǔ)存命令碼與選擇FLASH的地址上寫入儲(chǔ)存開始地址及儲(chǔ)存結(jié)束地址后,將DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域的數(shù)據(jù)寫入FLASH的儲(chǔ)存開始地址到儲(chǔ)存結(jié)束地址間的地址。
可通過設(shè)定控制電路(CTL_LOGIC)中所設(shè)置的控制寄存器的值,而決定FLASH的那一地址范圍對(duì)應(yīng)于DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域的那一地址范圍。
控制電路(CTL_LOGIC)從FLASH讀出數(shù)據(jù)時(shí),CHIP2(CTL_LOGIC)檢測(cè)并修正讀取數(shù)據(jù)的錯(cuò)誤并傳送到DRAM。
在將數(shù)據(jù)寫入FLASH時(shí),CHIP2(CTL_LOGIC)檢查是否正確地寫入,在沒有正確地寫入時(shí),則寫入與現(xiàn)在的地址不同的地址。即進(jìn)行所謂替代處理。并進(jìn)列地址管理,以管理不良地址及對(duì)不良地址以那一地址進(jìn)行了替代處理。
存取DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域時(shí),從地址信號(hào)(A0~A15)輸入選擇FLASH的地址及從指令信號(hào)(CKE,/CS,/RAS,/CAS,/WE,DQMU/DQML)輸入讀取命令后,CHIP2的控制電路存取DRAM,從對(duì)應(yīng)于FLASH的地址的DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域內(nèi)地址讀出數(shù)據(jù)。由此,保持在DRAM中的FLASH區(qū)域的數(shù)據(jù)的讀取時(shí)間可與DRAM相當(dāng)。
存取DRAM的工作區(qū)域時(shí),輸入存取DRAM的工作區(qū)域時(shí)所要的地址信號(hào)或指令信號(hào)類。控制電路(CTL_LOGIC)產(chǎn)生DRAM的工作區(qū)域的地址,進(jìn)行對(duì)DRAM的存取。讀取存取時(shí)來自DRAM的讀取數(shù)據(jù)通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15),輸出到數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)。寫入存取之時(shí),從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)輸入寫入數(shù)據(jù),其后通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15)輸入DRAM。
如上所說明者,本發(fā)明的存儲(chǔ)模塊沿用SDRAM接口方式,在DRAM中預(yù)設(shè)一個(gè)可復(fù)制FLASH的一部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)的區(qū)域,并預(yù)先將數(shù)據(jù)從FLASH傳送到DRAM,因而可以與DRAM同等的速度讀出FLASH的數(shù)據(jù)。對(duì)FLASH寫入時(shí),可以先將數(shù)據(jù)寫入DRAM,再視需要寫回FLASH,故數(shù)據(jù)的寫入速度也與DRAM相當(dāng)。在存儲(chǔ)模塊的內(nèi)部,從FLASH讀取時(shí),進(jìn)行錯(cuò)誤檢測(cè),在寫入時(shí),對(duì)在未正確寫入的不良地址進(jìn)行替代處理,故可高速處理,且可保持可靠度。再者,由于使用大容量DRAM,除了可復(fù)制FLASH的數(shù)據(jù)的區(qū)域外,也可確保大容量的工作區(qū)域,而符合移動(dòng)電話的高功能化的需求。
圖2為CHIP2(CTL_LOGIC)的構(gòu)成圖。CHIP2(CTL_LOGIC)為從外部以SDRAM接口動(dòng)作并控制CHIP3(DRAM1)及CHIP1(FLASH)的控制電路。以下說明各電路區(qū)塊的動(dòng)作。
初始化電路INT在對(duì)DRAM開始供給電源時(shí)進(jìn)行存儲(chǔ)體管理單元MMU內(nèi)的控制寄存器的初始化及DRAM的初始化。存儲(chǔ)體管理單元MMU根據(jù)內(nèi)建的控制寄存器中所設(shè)定的值變換自外部輸入的地址,選擇指令寄存器RE或DRAM的工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域、FLASH,進(jìn)行存取??刂萍拇嫫鞯闹翟陔姽┙o時(shí)被初始化電路INIT初始設(shè)定,其后,當(dāng)指令寄存器REG輸入存儲(chǔ)體管理MMU變更命令時(shí)被變更。數(shù)據(jù)更新地址管理電路CPB保持?jǐn)?shù)據(jù)寫入DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域時(shí)的地址信息。在指令寄存器REG中寫入并保持載入命令、儲(chǔ)存命令、存儲(chǔ)體管理單元MMU變更命令等命令碼或載入開始地址、載入結(jié)束地址、儲(chǔ)存開始地址、儲(chǔ)存結(jié)束地址等地址。
數(shù)據(jù)緩沖器R/WBUFFER暫時(shí)保持DRAM的讀取數(shù)據(jù)、寫入數(shù)據(jù)或FLASH的讀取數(shù)據(jù)、寫入數(shù)據(jù)。時(shí)鐘緩沖器CLKBUF將時(shí)鐘信號(hào)供給到DRAM及快閃控制電路FCON。指令產(chǎn)生器COM_GEN產(chǎn)生DRAM存取的必要指令。存取控制器A_CONT產(chǎn)生用于進(jìn)行CHIP2的全體控制及DRAM存取的地址。電力模塊(PM)進(jìn)行對(duì)DRAM的電源供給及電源的控制。快閃控制信號(hào)產(chǎn)生電路FGEN則進(jìn)行FLASH數(shù)據(jù)的讀取、寫入的控制。錯(cuò)誤修正電路ECC檢查自FLASH讀取的數(shù)據(jù)是否有錯(cuò)誤,如果有錯(cuò)誤則進(jìn)行修正。替代處理電路REP檢查對(duì)FLASH的寫入是否正確進(jìn)行,如果未正確進(jìn)行則對(duì)在FLASH中預(yù)先準(zhǔn)備的替代用新地址進(jìn)行寫入。
其次說明本存儲(chǔ)模塊的動(dòng)作。初始化電路INT在開始對(duì)DRAM供給電源時(shí)進(jìn)行存儲(chǔ)體管理單元MMU內(nèi)的控制寄存器的初始化及DRAM的初始化。指令寄存器REG被選擇且載入命令被寫入指令寄存器REG后,開始從FLASH將數(shù)據(jù)傳送到DRAM。一開始時(shí)快閃控制信號(hào)產(chǎn)生電路FGEN對(duì)FLASH進(jìn)行讀取動(dòng)作。從FLASH讀出的數(shù)據(jù)若無(wú)錯(cuò)誤,則直接將數(shù)據(jù)傳送到數(shù)據(jù)緩沖器R/WBUFFER,若有錯(cuò)誤,則用錯(cuò)誤修正電路ECC修正,再傳送到數(shù)據(jù)緩沖器R/WBUFFER。其次,將來自指令產(chǎn)生電路COM_GEN的寫入命令、來自存取控制器A_CONT的地址信號(hào)、由數(shù)據(jù)緩沖器R/WBUFFER從FLASH讀取的數(shù)據(jù)輸入到DRAM,進(jìn)行對(duì)DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域的寫入。
數(shù)據(jù)更新管理電路CPB在數(shù)據(jù)被寫入DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域時(shí),保持寫入地址的信息。指令寄存器REG被選擇而儲(chǔ)存命令被寫入指令寄存器后,開始將數(shù)據(jù)從DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域內(nèi)數(shù)據(jù)傳送到FLASH。
開始時(shí),將來自指令產(chǎn)生電路COM_GEN的讀取命令及來自存取控制器A_CONT的地址信號(hào)送到DRAM并讀出數(shù)據(jù)。從DRAM讀出的數(shù)據(jù)通過數(shù)據(jù)緩沖器R/WBUFFER傳送到快閃控制器FCON,快閃控制信號(hào)產(chǎn)生電路FGEN對(duì)FLASH進(jìn)行寫入。地址替代處理電路REP檢查寫入是否成功,若成功則結(jié)束處理。寫入失敗時(shí)則對(duì)FLASH中預(yù)先準(zhǔn)備好的替代用新地址進(jìn)行寫入。進(jìn)行替代處理時(shí),管理不良地址并保持對(duì)不良地址以那一地址進(jìn)行了替代處理的地址信息。數(shù)據(jù)更新管理電路CPB所保持的DRAM的地址信息的中,清除掉對(duì)FLASH的寫入結(jié)束時(shí)的地址信息。如此、數(shù)據(jù)更新管理電路CPB可隨時(shí)管理最新的數(shù)據(jù)被更新的地址。
選擇DRAM的工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域,若為讀取命令,則從指令產(chǎn)生電路COM_GEN將讀取命令信號(hào)及從存取控制器A_CONT將地址信號(hào)傳送到DRAM,而讀出數(shù)據(jù)。
選擇DRAM的工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域,若為寫入命令,則從指令產(chǎn)生電路COM_GEN將寫入命令信號(hào)、從地址產(chǎn)生電路A_CONT將地址信號(hào)、及從數(shù)據(jù)緩沖器R/WBUFFER將數(shù)據(jù)傳送到DRAM,而寫入數(shù)據(jù)。
通過信號(hào)PS輸入DRAM的斷電命令后,將對(duì)應(yīng)于數(shù)據(jù)更新管理電路CPB所保持的地址に的DRAM數(shù)據(jù)傳送到FLASH。
開始時(shí),從指令產(chǎn)生電路COM_GEN將讀取命令并從存取控制器A_CONT將地址信號(hào)傳送到DRAM,而讀出數(shù)據(jù)。從DRAM讀出的數(shù)據(jù)則通過數(shù)據(jù)緩沖器R/WBUFFER傳送到快閃控制器FCON,通過快閃控制信號(hào)產(chǎn)生電路FGEN寫入FLASH。
數(shù)據(jù)更新管理電路CPB所保持的DRAM的地址信息中,將對(duì)FLASH的寫入結(jié)束時(shí)的地址信息清除,并將對(duì)應(yīng)于所保持的地址的數(shù)據(jù)全部寫入FLASH,則數(shù)據(jù)更新管理電路CPB的地址信息全部被清除。所有的數(shù)據(jù)從DRAM傳送到FLASH后,切斷DRAM的電源。通過切斷電源,可節(jié)約電力。
先暫時(shí)停止供給DRAM的電源之后,為了再度使DRAM動(dòng)作,通過PS信號(hào)輸入電源投入命令。通過電源投入命令,重新對(duì)DRAM供給電源,初始化電路INT將初始化順序指示給存取控制器(A_CONT),而執(zhí)行初始化。
圖3、4所示為存儲(chǔ)體管理單元MMU所變換的存儲(chǔ)映像的一例。這種存儲(chǔ)映像均可根據(jù)MMU內(nèi)部的控制寄存器中所設(shè)定的值而選擇的。雖不特別受限,在本實(shí)施例中以非易失性存儲(chǔ)體的存儲(chǔ)區(qū)域?yàn)?56+8Mb、DRAM的存儲(chǔ)區(qū)域?yàn)?56Mb、指令寄存器有8kb的存儲(chǔ)模塊為例說明代表性存儲(chǔ)映像。
圖3所示為一存儲(chǔ)映像,其以通過地址信號(hào)A0~A15輸入的行地址(A0~A15)及列地址(A0~A9)為基礎(chǔ),存儲(chǔ)體管理單元MMU在指令寄存器REG(8kb)、DRAM的工作區(qū)域(128Mbit)、DRAM的FLASH復(fù)制區(qū)域(128Mbit)、FLASH(256Mbit+8Mb)中變換地址。雖無(wú)特定限制,從存儲(chǔ)映像的地址空間的下部開始映射指令寄存器REG、DRAM、FLASH。
在CHIP2(CTL_LOGIC)內(nèi)部存在的指令寄存器REG中,從外部寫入載入命令、儲(chǔ)存命令、MMU寄存器變更命令、斷電命令等命令碼、載入命令或儲(chǔ)存命令時(shí)的開始地址或結(jié)束地址。
DRAM分為工作區(qū)域(128Mbit)及FLASH復(fù)制區(qū)域(128Mbit)。工作區(qū)域作為程序執(zhí)行時(shí)的工作存儲(chǔ)體使用,F(xiàn)LASH復(fù)制區(qū)域用于復(fù)制并保持FLASH區(qū)域的數(shù)據(jù)的一部分。為了將FLASH區(qū)域的數(shù)據(jù)的一部分復(fù)制到FLASH復(fù)制區(qū)域,存儲(chǔ)體管理單元MMU根據(jù)內(nèi)部寄存器的設(shè)定值決定FLASH的那一個(gè)地址的數(shù)據(jù)對(duì)應(yīng)于FLASH復(fù)制區(qū)域內(nèi)的那一個(gè)地址。在圖3中,F(xiàn)LASH區(qū)域內(nèi)的A1區(qū)域(64Mbit)及C1區(qū)域(64Mbit)的數(shù)據(jù)各為可復(fù)制到DRAM的FLASH復(fù)制區(qū)域內(nèi)的A1區(qū)域(64Mbit)及1區(qū)域(64Mbit)的地址對(duì)應(yīng)的一例。通過變更存儲(chǔ)體管理單元MMU的內(nèi)部控制寄存器的值,可將FLASH區(qū)域內(nèi)的B1區(qū)域(64Mbit)及D1區(qū)域(56Mbit)的數(shù)據(jù)各變更為可復(fù)制到DRAM的FLASH復(fù)制區(qū)域的地址對(duì)應(yīng)。MMU內(nèi)部寄存器的值可通過從外部將MMU寄存器變更命令碼及寄存器值寫入指令寄存器中而變更。
FLASH(256M+8Mbit)并不特別受限,分為主數(shù)據(jù)區(qū)域MD-Area(A1,A2,B1,B2,C1,C2,D1,D2255.75Mbit)及替代區(qū)域Rep-Area(E1、E28.25Mbit)。
主數(shù)據(jù)區(qū)域MD-Area再分為數(shù)據(jù)區(qū)域(A1,B1,C1,D1)及冗余區(qū)域(A2,B2,C2,D2)。數(shù)據(jù)區(qū)域存放程序及數(shù)據(jù),冗余區(qū)域存儲(chǔ)用于檢測(cè)錯(cuò)誤并修正所需要的ECC極性(parity)數(shù)據(jù)等。FLASH的數(shù)據(jù)區(qū)域內(nèi)的數(shù)據(jù)被傳送到DRAM的FLASH復(fù)制區(qū)域,或是DRAM的FLASH復(fù)制區(qū)域的數(shù)據(jù)被傳送到FLASH的數(shù)據(jù)區(qū)域。
FLASH很少會(huì)發(fā)生因?yàn)橹馗哺露档涂煽慷?,及在寫入時(shí)寫入的數(shù)據(jù)在讀取時(shí)成為不同的數(shù)據(jù),或是在更新時(shí)數(shù)據(jù)未寫入。替代區(qū)域設(shè)置的目的為將不良區(qū)域(Fail Area B、Fail Area C)的數(shù)據(jù)取置換成新的區(qū)域。替代區(qū)域的大小并不特別受限,只要能確保FLASH所保證的可靠性而決定即可。
說明從FLASH到DRAM的數(shù)據(jù)傳送。
為了將FLASH的A1區(qū)域的數(shù)據(jù)傳送到DRAM的FLASH復(fù)制區(qū)域A1區(qū)域,在指令寄存器中寫入載入命令及FLASH區(qū)域內(nèi)A1區(qū)域的傳送開始地址SAD及傳送結(jié)束地址EAD。如此,控制電路(CTL_LOGIC)讀取FLASH的A1區(qū)域內(nèi)的傳送開始地址FSAD及傳送結(jié)束地址FEAD所示的地址范圍的數(shù)據(jù),并傳送到經(jīng)存儲(chǔ)體管理單元MMU而對(duì)應(yīng)的DRAM的FLASH復(fù)制區(qū)域A1區(qū)域內(nèi)的地址DSAD及DEAD的地址范圍。
從FLASH讀出數(shù)據(jù)時(shí),讀出FLASH的數(shù)據(jù)區(qū)域A1中的數(shù)據(jù)及冗余區(qū)域A2中的ECC極性數(shù)據(jù),通過錯(cuò)誤修正電路ECC,若有錯(cuò)誤則進(jìn)行修正。只將修正后的數(shù)據(jù)傳送給DRAM。
說明從DRAM到FLASH的數(shù)據(jù)傳送。
為了將DRAM的FLASH復(fù)制區(qū)域A1的數(shù)據(jù)傳送到FLASH的A1區(qū)域,在指令寄存器中寫入儲(chǔ)存命令及FLASH的A1區(qū)域的傳送開始地址SAD及傳送結(jié)束地址EAD。如此,控制電路(CTL_LOGIC)讀取經(jīng)存儲(chǔ)體管理單元MMU而對(duì)應(yīng)的DRAM的FLASH復(fù)制區(qū)域A1區(qū)域內(nèi)的地址DSAD及DEAD的地址范圍的數(shù)據(jù),并寫入FLASH的A1區(qū)域內(nèi)的傳送開始地址FSAD及傳送結(jié)束地址FEAD的地址范圍數(shù)據(jù)。
將數(shù)據(jù)寫入FLASH時(shí),錯(cuò)誤修正電路ECC產(chǎn)生ECC極性數(shù)據(jù)。通過快閃控制電路FGEN,從DRAM讀出的數(shù)據(jù)被寫入FLASH的數(shù)據(jù)區(qū)域A1,所產(chǎn)生的ECC極性數(shù)據(jù)被寫入冗余區(qū)域A2。
地址替代處理電路REP檢查寫入是否成功,若成功則結(jié)束處理。寫入失敗時(shí)則選擇FLASH的替代區(qū)域內(nèi)的地址,將DRAM讀出的數(shù)據(jù)寫入替代區(qū)域內(nèi)的替代數(shù)據(jù)E1,將所產(chǎn)生的ECC極性數(shù)據(jù)寫入替代冗余區(qū)域E2。
其次說明DRAM的FLASH復(fù)制區(qū)域A1的數(shù)據(jù)的讀取。
從外部輸入FLASH的A1區(qū)域內(nèi)地址FAD0及讀取命令后,MMU進(jìn)列地址變換,變換成對(duì)應(yīng)于地址FAD0的DRAM的FLASH復(fù)制區(qū)域A1的地址DAD0。由此,DRAM被選擇,可讀出復(fù)制在DRAM中的FLASH的數(shù)據(jù)。即,可以與DRAM相同的速度讀出FLASH的數(shù)據(jù)。
其次說明DRAM的工作區(qū)域的數(shù)據(jù)的讀取。
從外部輸入工作區(qū)域內(nèi)地址WAD0及讀取命令后,MMU將地址WAD0輸出到地址產(chǎn)生電路A_COUNT。由此,可讀出DRAM的工作區(qū)域內(nèi)地址WAD0的數(shù)據(jù)。
其次說明對(duì)DRAM的FLASH復(fù)制區(qū)域A1的數(shù)據(jù)寫入。
從外部輸入FLASH的A區(qū)域內(nèi)地址FAD0及寫入命令、寫入數(shù)據(jù)后,MMU地址變換成對(duì)應(yīng)于地址FAD0的DRAM的FLASH復(fù)制區(qū)域內(nèi)的地址DAD0。由此,DRAM被選擇,F(xiàn)LASH復(fù)制區(qū)域A1中寫入數(shù)據(jù)。通過寫入與FLASH的數(shù)據(jù)區(qū)域A1對(duì)應(yīng)的DRAM的FLASH復(fù)制區(qū)域A1,可以以與SRAM相同速度寫入FLASH的數(shù)據(jù)。
其次說明DRAM的工作區(qū)的讀取。
從外部輸入工作區(qū)域內(nèi)地址WAD0及讀取命令后,MMU將地址WAD0輸出到存取控制器A_COUNT。由此,可讀出DRAM的工作區(qū)域內(nèi)地址WAD0的數(shù)據(jù)。
其次說明DRAM的工作區(qū)域的數(shù)據(jù)的寫入。
從外部輸入工作區(qū)域內(nèi)地址WAD0及寫入命令、輸入數(shù)據(jù)后,存取控制器A_COUNT將地址WAD0輸出到DRAM。由此,可寫入DRAM的工作區(qū)域內(nèi)地址WAD0的數(shù)據(jù)。
圖4所示存儲(chǔ)映像與圖3相比較,其所確保的DRAM的FLASH復(fù)制區(qū)域?yàn)檩^大的192Mbit的區(qū)域。
根據(jù)通過地址信號(hào)A0~A15而輸入的行地址(A0~A15)及列地址(A0~A9),存儲(chǔ)體管理單元MMU在REGISTER區(qū)域、DRAM內(nèi)工作區(qū)域(64Mbit)、DRAM內(nèi)FLASH復(fù)制區(qū)域(192Mbit)、FLASH區(qū)域(256Mbit)中進(jìn)列地址變換。
存儲(chǔ)映像通過變更MMU內(nèi)部的控制寄存器的值,可由使用者根據(jù)系統(tǒng)而自由選擇。MMU內(nèi)部控制寄存器的值可通過從外部將MMU寄存器變更命令碼及想變更的寄存器值寫入指令寄存器而變更。
圖5所示為電源投入時(shí)控制電路(CTL_LOGIC)所進(jìn)行的初始化動(dòng)作。在T1的期間中投人電源后,在T2的重置期間內(nèi)進(jìn)行控制電路(CTL_LOGIC)的初始化。存儲(chǔ)體管理單元MMU內(nèi)部的控制寄存器的值在T2的期間被初始設(shè)定。在T3的期間,初始化電路INT同時(shí)進(jìn)行DRAM的初始化動(dòng)作及FLASH的初始化動(dòng)作。初始化動(dòng)作結(jié)束后,存儲(chǔ)模塊成為閑置(idle)狀態(tài),可從接受來自外部的存取。
圖6所示為從FLASH到DRAM的數(shù)據(jù)傳送的流程圖。存儲(chǔ)模塊在閑置狀態(tài)下等待來自外部的命令(STEP1)時(shí),若輸入載入命令及選擇FLASH的地址(STEP2),則從FLASH讀出對(duì)應(yīng)于輸入地址的數(shù)據(jù)及ECC極性數(shù)據(jù)(STEP3)。檢查所讀取的數(shù)據(jù)中有無(wú)錯(cuò)誤(STEP4),若有錯(cuò)誤則修正錯(cuò)誤(STEP5),寫入緩沖器中(STEP6)。若無(wú)錯(cuò)誤則直接寫入緩沖器R/W_BUFFER(STEP6)。將寫入緩沖器R/W_BUFFER中的數(shù)據(jù)寫入DRAM時(shí),檢查是否對(duì)DRAM有產(chǎn)生更新要求(STEP7),若有更新要求,則進(jìn)行更新動(dòng)作(STEP8),其后將數(shù)據(jù)寫入DRAM(STEP9)。若無(wú)更新要求,則立即將數(shù)據(jù)寫入DRAM(STEP9)。
圖7所示為從DRAM到FLASH的數(shù)據(jù)傳送的流程圖。存儲(chǔ)模塊在閑置狀態(tài)下等待來自外部的命令(STEP1)時(shí),若輸入儲(chǔ)存命令及選擇FLASH的地址(STEP2),則開始從DRAM讀取數(shù)據(jù)。此時(shí),檢查對(duì)DRAM是否有產(chǎn)生更新要求(STEP3),若有更新要求,則進(jìn)行更新動(dòng)作(STEP4),其后從DRAM讀出數(shù)據(jù)(STEP5)。若無(wú)更新要求,則立即從DRAM讀出數(shù)據(jù)(STEP5)。讀出的數(shù)據(jù)被傳送到緩沖器R/W_BUFFER(STEP6),寫入FLASH(STEP7)。在寫入FLASH(STEP7)時(shí),將自DRAM讀出的數(shù)據(jù)及錯(cuò)誤修正電路ECC所產(chǎn)生的ECC極性數(shù)據(jù)寫入FLASH。檢查FLASH的寫入是否成功(STEP8),若成功則結(jié)束處理(STEP10)。寫入失敗時(shí),則選擇替代用的其他地址(STEP9),再度寫入FLASH(STEP7),進(jìn)行寫入成功檢查(STEP11),若成功則結(jié)束處理(STEP10)。
圖8(A)所示為從存儲(chǔ)模塊內(nèi)的DRAM讀出數(shù)據(jù)時(shí)的來自外部的命令流程。圖8(B)所示為將數(shù)據(jù)寫入存儲(chǔ)模塊內(nèi)DRAM時(shí)的來自外部的命令流程。命令從外部以SDRAM接口輸入到存儲(chǔ)模塊。
說明圖8(A)。存儲(chǔ)模塊在閑置狀態(tài)下等待外部來的命令(STEP1)。輸入外部來的ACTIVE命令及行地址(STEP2)后,輸入READ命令及列地址(STEP3),則讀出被行地址及列地址所選擇的DRAM的存儲(chǔ)單元中所保持的數(shù)據(jù),通過輸入輸出數(shù)據(jù)信號(hào)(DQ0-DQ15)輸出到存儲(chǔ)模塊外。若輸入PRICHARGE命令(STEP4)則存儲(chǔ)模塊進(jìn)入閑置狀態(tài)。
說明圖8(B)。存儲(chǔ)模塊在閑置狀態(tài)下等待外部來的命令(STEP1)。輸入外部來的ACTIVE命令及行地址(STEP2)后,輸入WRITE命令及列地址(STEP3),則對(duì)被行地址及列地址所選擇的DRAM的存儲(chǔ)單元寫入從輸入輸出數(shù)據(jù)信號(hào)(DQ0-DQ15)輸入的數(shù)據(jù)。若輸入PRICHARGE命令(STEP4)則存儲(chǔ)模塊進(jìn)入閑置狀態(tài)。
圖9所示為數(shù)據(jù)更新管理電路CPB進(jìn)列地址保持及地址清除的流程。通過外部來的寫入命令,數(shù)據(jù)被寫入DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域(STEP1),再將與寫入地址對(duì)應(yīng)的標(biāo)記信號(hào)寫入數(shù)據(jù)更新管理電路CPB內(nèi)的標(biāo)記寄存器(STEP2)。從外部輸入儲(chǔ)存命令及地址后,開始從DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域?qū)LASH傳送數(shù)據(jù)(STEP3)。檢查傳送是否結(jié)束(STEP4),若已結(jié)束則清除標(biāo)記寄存器內(nèi)的傳送結(jié)束的地址的標(biāo)記。
圖10所示為將DRAM的斷電命令輸入存儲(chǔ)模塊時(shí)的存儲(chǔ)模塊的動(dòng)作流程。
斷電命令輸入到指令寄存器后,寫入DRAM內(nèi)FLASH復(fù)制區(qū)域中的數(shù)據(jù)中未寫回FLASH的數(shù)據(jù)全部傳送到FLASH。
輸入斷電命令(STEP1)后,為了檢索寫入DRAM內(nèi)FLASH復(fù)制區(qū)域的數(shù)據(jù)中未寫回FLASH的數(shù)據(jù)的地址,首先將檢索地址設(shè)定在檢索開始地址(STEP2)。若發(fā)現(xiàn)在檢索地址的數(shù)據(jù)更新管理電路CPB內(nèi)的標(biāo)記寄存器中寫入標(biāo)記(STEP3),則對(duì)應(yīng)檢索地址的DRAM的數(shù)據(jù)傳送FLASH。傳送結(jié)束后清除該標(biāo)記(STEP5)。判斷現(xiàn)在的檢索地址是否為檢索最終地址(STEP6),若非檢索最終地址,則對(duì)現(xiàn)在的檢索地址加1,以所得到的地址作為下一檢索地址(STEP7),其后,重覆STEP3、STEP4、STEP5、STEP6。若現(xiàn)在的檢索地址是檢索最終地址,則結(jié)束處理,切斷DRAM的電源(STEP8)。
圖11所示為對(duì)指令寄存器輸入載入命令時(shí),數(shù)據(jù)從FLASH傳送到DRAM時(shí)的模塊所進(jìn)行的SDRAM的動(dòng)作。
從存儲(chǔ)模塊的外部以SDRAM接口輸入主動(dòng)命令A(yù)及行地址R,其后從寫入命令W、列地址C、及輸入輸出信號(hào)IO0~I(xiàn)O15輸入載入命令碼Ld。接著從輸入輸出信號(hào)IO0~I(xiàn)O15輸入FLASH區(qū)域內(nèi)的數(shù)據(jù)中想復(fù)制到DRAM的數(shù)據(jù)的開始地址Sa及結(jié)束地址Ea。通過行地址R及列地址C選擇指令寄存器,將載入命令碼Ld及開始地址Sa及結(jié)束地址Ea寫入指令寄存器。
控制電路將對(duì)應(yīng)于開始地址Sa及結(jié)束地址Ea的范圍的數(shù)據(jù)從FLASH保持在讀取緩沖器,其后開始對(duì)SDRAM1進(jìn)行寫入動(dòng)作。
寫入DRAM1用的地址通過存儲(chǔ)體管理單元MMU將數(shù)據(jù)的開始地址Sa變換成FLASH復(fù)制區(qū)域的DRAM的行地址R0及列地址C0,同樣地將結(jié)束地址Ea變換成行地址R0及列地址CF。
對(duì)DRAM1的寫入從D1-COM輸入主動(dòng)命令A(yù),從D1-A0~D1-A15輸入行地址R0,其后從D1-COM輸入寫入命令W,從D1-A0~D1-A15輸入列地址C0,從輸入輸出信號(hào)D1-IO0~D1-IO15輸入數(shù)據(jù)而寫入。寫入動(dòng)作持續(xù)到列地址的最終地址CF,通過預(yù)充電(pre-charge)命令P而結(jié)束寫入。開始對(duì)DRAM寫入數(shù)據(jù)起到結(jié)束為止的期間內(nèi),輸出WAIT信號(hào)為High,通知正在傳送數(shù)據(jù)給DRAM。
圖12所示為對(duì)指令寄存器輸入儲(chǔ)存命令時(shí)從SDRAM將數(shù)據(jù)傳送到FLASH時(shí)的存儲(chǔ)模塊中所進(jìn)行的SDRAM的動(dòng)作。
從存儲(chǔ)模塊的從外部以SDRAM接口輸入主動(dòng)命令A(yù)及行地址R,其后從寫入命令W及列地址C及輸入輸出信號(hào)IO0~I(xiàn)O15輸入儲(chǔ)存命令碼St。接著從輸入輸出信號(hào)IO0~I(xiàn)O15輸入FLASH區(qū)域內(nèi)的數(shù)據(jù)中想從DRAM復(fù)制回到FLASH的數(shù)據(jù)的開始地址Sa及結(jié)束地址Ea。通過行地址R及列地址C選擇指令寄存器,將儲(chǔ)存命令碼St及開始地址Sa及結(jié)束地址Ea寫入指令寄存器。
控制電路自SDRAM讀取對(duì)應(yīng)于開始地址Sa及結(jié)束地址Ea的范圍的數(shù)據(jù),并寫入FLASH。
自SDRAM1讀出用的地址通過存儲(chǔ)體管理單元MMU將數(shù)據(jù)的開始地址Sa變換成FLASH復(fù)制區(qū)域的SDRAM的行地址R0及列地址C0,同樣將結(jié)束地址Ea變換成行地址R0及列地址CF。
自SDRAM1讀取時(shí),從D1-COM輸入主動(dòng)命令A(yù),從D1-A0~D1-A15輸入行地址R0,其后從D1-COM輸入讀取命令R并從D1-A0~D1-A15輸入列地址C0而讀出。讀取動(dòng)作持續(xù)到列地址的最終地址CF為止,通過預(yù)先充電(pre-charge)命令P結(jié)束讀取。從SDRAM讀取數(shù)據(jù)開始到結(jié)束為止的期間內(nèi),輸出WAIT信號(hào)為High,通知正在從SDRAM傳送數(shù)據(jù)。
圖13(a)所示為對(duì)SDRAM的工作區(qū)域存取時(shí)的SDRAM的動(dòng)作,圖13(b)所示為對(duì)SDRAM的FLASH復(fù)制區(qū)域存取時(shí)的SDRAM的動(dòng)作。
說明圖13(a)的讀取動(dòng)作。
從存儲(chǔ)模塊的外部以SDRAM接口輸入主動(dòng)命令A(yù)及行地址R0,其后輸入讀取命令R及列地址C0。制御電路對(duì)SDRAM1輸入主動(dòng)命令A(yù)及行地址R0,其后輸入讀取命令R及列地址C0之后,從輸入輸出信號(hào)D1-IO0~D1-IO15輸出數(shù)據(jù),通過輸入輸出信號(hào)IO0~I(xiàn)O15輸出到外部。
說明圖13(a)的寫入動(dòng)作。
從存儲(chǔ)模塊的外部通過SDRAM接口輸入主動(dòng)命令A(yù)及行地址R0,其后、從寫入命令W及列地址C0及輸入輸出信號(hào)IO0~I(xiàn)O15輸入數(shù)據(jù)In。控制電路對(duì)SDRAM1輸入主動(dòng)命令A(yù)及列地址R0,其后從寫入命令W及列地址C0及輸入輸出信號(hào)D1-IO0~D1-IO15輸入數(shù)據(jù),將數(shù)據(jù)寫入SDRAM。
說明圖13(b)的讀取動(dòng)作。
從存儲(chǔ)模塊的外部以SDRAM接口輸入主動(dòng)命令A(yù)及行地址RD,其后輸入讀取命令R及列地址CD。通過存儲(chǔ)體管理單元MMU,F(xiàn)LASH區(qū)域的行地址RD變換成FLASH復(fù)制區(qū)域的行地址RT,同樣地FLASH區(qū)域的列地址CD變換成FLASH復(fù)制區(qū)域的列地址CT。對(duì)SDRAM1輸入主動(dòng)命令A(yù)及行地址RT,其后輸入讀取命令R及列地址CT,從輸入輸出信號(hào)D1-IO0~D1-IO15輸入數(shù)據(jù),通過輸入輸出信號(hào)IO0~I(xiàn)O15輸出到外部。
說明圖13(b)的寫入動(dòng)作。
從存儲(chǔ)模塊的外部以SDRAM接口輸入主動(dòng)命令A(yù)及行地址RF,其后從寫入命令W及列地址CF及輸入輸出信號(hào)IO0~I(xiàn)O15輸入數(shù)據(jù)In。通過存儲(chǔ)體管理單元MMU,F(xiàn)LASH區(qū)域的行地址RF變換成FLASH復(fù)制區(qū)域的行地址RU,同樣地FLASH區(qū)域的列地址CF變換成FLASH復(fù)制區(qū)域的列地址CU。對(duì)SDRAM1輸入主動(dòng)命令A(yù)及行地址RU,其后輸入寫入命令W及列地址CT,從輸入輸出信號(hào)D1-IO0~D1-IO15輸入數(shù)據(jù),寫入SDRAM。
圖14所示為通過從外部將儲(chǔ)存命令寫入指令寄存器而從DRAM讀取數(shù)據(jù)時(shí),從外部輸入讀取命令時(shí)的SDRAM的動(dòng)作。
通過儲(chǔ)存命令,WAIT信號(hào)變成High,對(duì)FLASH傳送用的數(shù)據(jù)Os從DRAM讀出時(shí),若從外部輸入主動(dòng)命令A(yù)及行地址R0,則控制電路對(duì)DRAM1發(fā)出預(yù)先充電(pre-charge)命令Ps,暫時(shí)停止從DRAM讀取對(duì)FLASH傳送用的數(shù)據(jù)Os。其后,對(duì)DRAM1發(fā)出主動(dòng)命令A(yù)及行地址R0。其次,若從外部輸入讀取命令R及列地址C0,則對(duì)DRAM1發(fā)出讀取命令R及列命令C0,讀出數(shù)據(jù)O,從IO0~I(xiàn)O15輸出。若從外部輸入預(yù)先充電命令P及庫(kù)地址B0,則對(duì)DRAM1發(fā)出預(yù)先充電命令P及庫(kù)地址B0,結(jié)束數(shù)據(jù)的讀取。其后,控制電路重新開始讀取從DRAM對(duì)FLASH傳送用的數(shù)據(jù)Os,故對(duì)DRAM1發(fā)出主動(dòng)命令A(yù)S及行地址R4、讀取命令RS及列指令C4、讀取命令RS及列指令C8。
圖15為本實(shí)施例中的CHIP1(FLASH)的構(gòu)成例。其由控制器信號(hào)緩沖器C-BUF、指令控制器CTL、多工器MUX、數(shù)據(jù)輸入緩沖器DI-BUF、輸入數(shù)據(jù)控制器DC、扇區(qū)地址緩沖器SA-BUF、X解碼器X-DEC、存儲(chǔ)體陣列MA(FLASH)、Y地址計(jì)數(shù)器Y-CT、Y解碼器Y-DEC、Y柵極&檢測(cè)放大電路YGATE/SENSE-AMP、數(shù)據(jù)寄存器DATA-REG、數(shù)據(jù)輸出緩沖器DO-BUF所構(gòu)成。CHIP1的動(dòng)作與習(xí)知常用的AND型FLASH存儲(chǔ)體相同。又,AND型FLASH存儲(chǔ)體意指大容量閃存器,有時(shí)會(huì)被分類為廣義的NAND型閃存器,本案中提到NAND型閃存器時(shí)也包含AND型FLASH存儲(chǔ)體。通過該CHIP1(FLASH)可構(gòu)成本實(shí)施例的存儲(chǔ)模塊。
圖16所示為從可構(gòu)成CHIP1的AND型FLASH存儲(chǔ)體讀取數(shù)據(jù)的動(dòng)作。芯片啟動(dòng)信號(hào)F-/CE為L(zhǎng)OW,指令數(shù)據(jù)啟動(dòng)信號(hào)F-CDE為L(zhǎng)OW,寫入啟動(dòng)信號(hào)F-/WE起動(dòng)時(shí),從輸入輸出信號(hào)I/O0~I(xiàn)/O7輸入讀取命令的命令碼Rcode。第二及第三個(gè)寫入啟動(dòng)信號(hào)F-/WE起動(dòng)時(shí)從輸入輸出信號(hào)I/O0~I(xiàn)/O7輸入扇區(qū)地址。
將對(duì)應(yīng)于所輸入的扇區(qū)地址的16kbit的數(shù)據(jù)從存儲(chǔ)體陣列MA傳送到數(shù)據(jù)寄存器DATA-REG。數(shù)據(jù)從存儲(chǔ)體陣列MA傳送到數(shù)據(jù)寄存器DATA-REG的期間內(nèi),F(xiàn)LASH成為忙碌狀態(tài),F(xiàn)-RDY/BUSY使待命(ready)/忙碌(busy)信號(hào)成為L(zhǎng)ow。數(shù)據(jù)傳送結(jié)束后,與串列時(shí)鐘信號(hào)F-SC的起動(dòng)同步,以8位元為單位依序讀出數(shù)據(jù)寄存器DATA-REG內(nèi)的數(shù)據(jù),從輸入輸出信號(hào)I/O0~I(xiàn)/O7輸出。
圖17為以另一種NAND型閃存器構(gòu)成本存儲(chǔ)模塊的CHIP1(FLASH)的例子。
輸入CHIP1的F-/CE為芯片啟動(dòng)信號(hào),F(xiàn)-CLE為指令閂鎖啟動(dòng)信號(hào),F(xiàn)-ALE為地址閂鎖啟動(dòng)信號(hào),F(xiàn)-/WE為寫入啟動(dòng)信號(hào),F(xiàn)-/RE為讀取啟動(dòng)信號(hào),F(xiàn)-/WP為寫入保護(hù)信號(hào),F(xiàn)-R/B為待命/忙碌信號(hào),I/O0~I(xiàn)/O7為輸入輸出信號(hào),使用于地址的輸入或數(shù)據(jù)的輸入輸出。也可用此種NAND型閃存器構(gòu)成本存儲(chǔ)模塊。
圖18所示為本存儲(chǔ)模塊所用的NAND型存儲(chǔ)體的區(qū)塊圖。由動(dòng)作邏輯控制器L-CONT、控制電路CTL、輸入輸出控制器電路I/O-CONT、狀態(tài)寄存器STREG、地址寄存器ADREG、指令寄存器COMREG、待命忙碌電路R-B、高電壓產(chǎn)生電路VL-GEN、行地址緩沖器ROW-BUF、行地址解碼器ROW-DEC、列緩沖器COL-BUF、列解碼器COL-DEC、數(shù)據(jù)寄存器DATA-REG、檢測(cè)放大器SENSE-AMP、存儲(chǔ)體陣列MA所構(gòu)成。
CHIP1的動(dòng)作跟先前一般使用的NAND型FLASH存儲(chǔ)體相同??捎帽綜HIP1(FLASH)構(gòu)成本實(shí)施例的存儲(chǔ)模塊。
圖19所示為從構(gòu)成CHIP1的NAND型FLASH存儲(chǔ)體讀取數(shù)據(jù)的動(dòng)作。
芯片啟動(dòng)信號(hào)F-/CE為L(zhǎng)OW,指令閂鎖啟動(dòng)信號(hào)F-CLE為High,寫入啟動(dòng)信號(hào)F-/WE起動(dòng)時(shí),從輸入輸出信號(hào)I/O0~I(xiàn)/O7輸入讀取命令的命令碼Rcode。其后地址閂鎖啟動(dòng)F-ALE成為High,第2個(gè)及第3個(gè)及第4個(gè)寫入啟動(dòng)信號(hào)F-/WE起動(dòng)時(shí)從輸入輸出信號(hào)I/O0~I(xiàn)/O7輸入頁(yè)面地址。
與輸入的與頁(yè)面4kbit(4224bit)地址對(duì)應(yīng)的4kbit(4224bit)的數(shù)據(jù)從存儲(chǔ)體陣列MA傳送到數(shù)據(jù)寄存器DATA-REG。數(shù)據(jù)從存儲(chǔ)體陣列MA傳送到數(shù)據(jù)寄存器DATA-REG的期間內(nèi),F(xiàn)LASH成為忙碌,F(xiàn)-R/B使待命/忙碌信號(hào)成為L(zhǎng)ow。數(shù)據(jù)傳送結(jié)束后,與讀取啟動(dòng)信號(hào)F-/RE下降同步,將數(shù)據(jù)寄存器DATA-REG內(nèi)的數(shù)據(jù)以8位元為單位依序讀出,從輸入輸出信號(hào)I/O0~I(xiàn)/O7輸出。
圖20為本實(shí)施例的DRAM的構(gòu)成例。由X地址緩沖器X-ADB,更新計(jì)數(shù)器REF.COUNTER,X解碼器X-DEC,存儲(chǔ)體陣列MA,Y地址緩沖Y-ADB,Y地址計(jì)數(shù)器Y-AD COUNTER,Y解碼器Y-DEC,檢測(cè)放大電路&Y柵極(列開關(guān))SENS AMP.& I/O BUS,輸入數(shù)據(jù)緩沖電路INPUT BUFFER,輸出數(shù)據(jù)緩沖電路OUTPUT BUFFER,控制電路&時(shí)序產(chǎn)生電路CONTROL LOGIC&及TG所構(gòu)成。DRAM為過去使用的通用SDRAM。即包含4個(gè)可獨(dú)立動(dòng)作的存儲(chǔ)體庫(kù),其對(duì)應(yīng)的地址輸入端子及數(shù)據(jù)輸入輸出端子被共通化,在每一分時(shí)時(shí)段使用于各庫(kù)。本DRAM可構(gòu)成本實(shí)施例的存儲(chǔ)模塊。
如上所述,本發(fā)明的存儲(chǔ)模塊中,沿用SDRAM接口方式,在DRAM內(nèi)確??蓮?fù)制FLASH的一部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)的區(qū)域,預(yù)先從FLASH將數(shù)據(jù)傳送到DRAM,可以與DRAM相當(dāng)?shù)乃俣茸x出FLASH的數(shù)據(jù)。對(duì)FLASH寫入數(shù)據(jù)時(shí),先將數(shù)據(jù)寫入DRAM,再視需要寫回FLASH,故數(shù)據(jù)的寫入速度也與DRAM相當(dāng)。
在存儲(chǔ)模塊的內(nèi)部,從FLASH讀取時(shí),進(jìn)行錯(cuò)誤檢測(cè)及修正,寫入時(shí),對(duì)在未正寫入的不良地址進(jìn)行替代處理,故可高速處理,且可保持可靠度。
由于使用大容量DRAM,故在可復(fù)制FLASH的數(shù)據(jù)的區(qū)域之外,也可確保大容量的工作區(qū)域,可符合移動(dòng)電話的高功能化的需求。
DRAM中所確保的工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域的大小或管理單位可從外部程序化,使用者可根據(jù)系統(tǒng)而自由選擇。
<實(shí)施例2>
圖21所示為本發(fā)明的存儲(chǔ)模塊的另一實(shí)施例。本存儲(chǔ)模塊由3個(gè)芯片所構(gòu)成。以下說明各芯片。首先,CHIP1(FLASH)為非易失性存儲(chǔ)體。非易失性存儲(chǔ)體可用ROM(只讀存儲(chǔ)體)、EEPROM(電可擦除可編程ROM)、閃存器等。本實(shí)施例中以閃存器為例說明。CHIP2(SRAM+CTL_LOGIC)中集成有靜態(tài)隨機(jī)存取存儲(chǔ)體(SRAM)及控制電路(CTL_LOGIC)??刂齐娐穼?duì)CHIP2中所集成的SRAM的CHIP3進(jìn)行控制。CHIP3(DRAM1)為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體(DRAM)。DRAM因內(nèi)部構(gòu)成或接口的差異有EDO、SDRAM、DDR等各種種類。本存儲(chǔ)模塊可用任一種DRAM,本實(shí)施例中以SDRAM為例說明。
對(duì)本存儲(chǔ)模塊從外部輸入地址(A0~A24)和指令信號(hào)(S-/CE1,S-CE2,S-/OE,S-/WE,S-/LB,S-/UB,LS-EN,F(xiàn)-EN)。電源通過S-VCC,S-VSS,LF-VCC,LF-VSS,LD-VCC,LD-VSS供給,數(shù)據(jù)的輸入輸出利用S-I/O0~S-I/O15。本存儲(chǔ)模塊以所謂SRAM接口方式動(dòng)作。
CHIP2供給CHIP1,CHIP3的動(dòng)作上必要的信號(hào)。CHIP2對(duì)CHIP1供給串列時(shí)鐘(F-SC)、地址及FLASH用數(shù)據(jù)(I/O0~I(xiàn)/O7)、指令(F-CE,F(xiàn)-/OE,F(xiàn)-/WE,F(xiàn)-/RES,F(xiàn)-CDE,F(xiàn)-RDY/BUSY)、電源(F-VCC,F(xiàn)-VSS)。再者,CHIP2對(duì)CHIP3供給時(shí)鐘(D1-CLK)、地址(D1-A0~D1-A14)、指令(D1-CKE,D1-/CS,D1-/RAS,D1-/CAS,D1-/WE,D1-DQMU/DQML)、DRAM用數(shù)據(jù)(D1-DQ0~D1-DQ15)、電源(D1-VCC,D1-VSS,D1-VCCQ,D1-VSSQ)。
在此簡(jiǎn)單說明各指令信號(hào)。輸入CHIP2的S-/CE1,S-CE2為芯片啟動(dòng)信號(hào)、S-/OE為輸出啟動(dòng)信號(hào)、S-/WE為寫入啟動(dòng)信號(hào)、S-/LB為低位元組選擇信號(hào)、S-/UB は高位元組選擇信號(hào)。
輸入CHIP1的F-/CE為芯片啟動(dòng)信號(hào),F(xiàn)-/OE為輸出啟動(dòng)信號(hào),F(xiàn)-/WE為寫入啟動(dòng)信號(hào),F(xiàn)-SC為串列時(shí)鐘信號(hào),F(xiàn)-/RES為重置信號(hào),F(xiàn)-CDE為指令數(shù)據(jù)啟動(dòng)信號(hào),F(xiàn)-RDY/BUSY為待命/忙碌信號(hào),I/O0~I(xiàn)/O7為輸入輸出信號(hào),用于地址的輸入或數(shù)據(jù)的輸入輸出。
CHIP2的控制電路(CTL_LOGIC)根據(jù)地址的值選擇控制電路內(nèi)(CTL_LOGIC)設(shè)置的指令寄存器REG、CHIP2內(nèi)的SRAM、CHIP3的DRAM、CHIP1的FLASH的任一種。
通過對(duì)控制電路(CTL_LOGIC)內(nèi)的控制寄存器設(shè)定預(yù)設(shè)值,可區(qū)分各區(qū)域。對(duì)任一種的存取均以所謂SRAM接口方式進(jìn)行。
DRAM分為工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域,工作區(qū)域作為程序執(zhí)行時(shí)的工作存儲(chǔ)體使用,F(xiàn)LASH數(shù)據(jù)復(fù)制區(qū)域作為用于復(fù)制來自FLASH的數(shù)據(jù)的存儲(chǔ)體使用。
存取SRAM時(shí),將選擇SRAM的地址信號(hào)或指令信號(hào)類輸入控制電路(CTL_LOGIC)后,對(duì)CHIP2內(nèi)部的SRAM進(jìn)行存取。讀取存取之時(shí)從SRAM讀取數(shù)據(jù),輸出到存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)。寫入存取之時(shí)從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)輸入寫入數(shù)據(jù),并寫入SRAM中。
通過存取控制電路(CTL_LOGIC)內(nèi)的指令寄存器REG而寫入載入命令或儲(chǔ)存命令碼,可將FLASH的數(shù)據(jù)復(fù)制(載入)到DRAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域或?qū)RAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域的數(shù)據(jù)寫回(儲(chǔ)存)到FLASH。
從地址信號(hào)(A0~A24)輸入指令寄存器REG存取用的地址,從指令信號(hào)(S-/CE1,S-CE2,S-/OE,S-/WE,S-LB,S-/UB)輸入寫入命令,從輸入輸出數(shù)據(jù)信號(hào)(I/O0~I(xiàn)/O15)輸入載入命令碼,之后從FLASH區(qū)域內(nèi)的地址輸入載入開始地址、載入結(jié)束地址后,在指令寄存器中寫入載入命令碼及載入開始地址及載入結(jié)束地址。如此,讀出從FLASH的載入開始地址到載入結(jié)束地址之間的數(shù)據(jù)傳送到DRAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域。由此、FLASH的數(shù)據(jù)被保持在DRAM。
在指令寄存器中寫入儲(chǔ)存命令碼并在選擇FLASH的地址上寫入儲(chǔ)存開始地址及儲(chǔ)存結(jié)束地址后,DRAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域的數(shù)據(jù)被寫回從FLASH的儲(chǔ)存開始地址起到儲(chǔ)存結(jié)束地址之間的地址。
FLASH的哪個(gè)地址范圍對(duì)應(yīng)于DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域的哪個(gè)地址范圍可通過在控制電路(CTL_LOGIC)中的控制寄存器設(shè)定值而決定。
FLASH很少會(huì)發(fā)生因?yàn)橹馗哺露档涂煽慷?、及在寫入時(shí)寫入的數(shù)據(jù)與讀取時(shí)的數(shù)據(jù)不同,或是在更新時(shí)數(shù)據(jù)未寫入。
從FLASH讀出數(shù)據(jù)時(shí),CHIP2(CTL_LOGIC)檢測(cè)并修正讀取數(shù)據(jù)的錯(cuò)誤再傳送到DRAM。
對(duì)FLASH寫入數(shù)據(jù)時(shí),CHIP2(CTL_LOGIC)檢查是否已正確寫入,未正確寫入時(shí),以與現(xiàn)在的地址不同的地址進(jìn)行寫入。進(jìn)行所謂替代處理。也進(jìn)列地址管理,以管理不良地址及以哪個(gè)地址進(jìn)行了替代處理。
存取DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域時(shí),從地址信號(hào)(A0~A24)輸入FLASH區(qū)域的地址及、指令信號(hào)(S-/CE1,S-CE2,S-/OE,S-/WE,S-/LB,S-/UB)。指令信號(hào)為讀取命令之時(shí),CHIP2的控制電路存取DRA,從對(duì)應(yīng)于FLASH區(qū)域內(nèi)的地址的DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域內(nèi)地址讀出數(shù)據(jù)。寫入命令時(shí)寫入數(shù)據(jù)從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)輸入,其后通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15)輸入到DRAM。由此,F(xiàn)LASH的數(shù)據(jù)的讀取及寫入時(shí)間與SRAM相當(dāng)。
存取DRAM的工作區(qū)域時(shí),輸入存取DRAM內(nèi)工作區(qū)域上必要的地址信號(hào)或指令信號(hào)。控制電路(CTL_LOGIC)產(chǎn)生DRAM內(nèi)工作區(qū)域的地址,對(duì)DRAM進(jìn)行存取。讀取存取之時(shí)來自DRAM的讀取數(shù)據(jù)通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15)輸出到數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)。寫入存取之時(shí)從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(I/O0~I(xiàn)/O15)輸入寫入數(shù)據(jù),其后通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15)輸入到DRAM。
CHIP3(DRAM)的電源從LD-VCC、LD-VSS供給,通過控制電路(CTL_LOGIC)連接到D1-VCC,D1-VSS,D1-VCCQ,D1-VSSQ,F(xiàn)LASH的電源從LF-VCC、LF-VSS供給,通過控制電路(CTL_LOGIC)連接到F-VCC,F(xiàn)-VSS。對(duì)DRAM及FLASH的電源供給由指令信號(hào)PS所控制,必要時(shí)可切斷。
DRAM斷電時(shí),控制電路(CTL_LOGIC)只將必須從DRAM寫回FLASH的數(shù)據(jù)自動(dòng)寫回,數(shù)據(jù)的寫回結(jié)束后切斷DRAM的電源。
將已切斷的DRAM的電源再投入時(shí)需要進(jìn)行DRAM的初始化。DRAM及FLASH的初始化所要的信號(hào)生成或時(shí)序控制由控制電路(CTL_LOGIC)進(jìn)行。
又、進(jìn)行DRAM的更新時(shí),控制電路(CTL_LOGIC)可定期投入庫(kù)主動(dòng)指令(bank active command)而進(jìn)行。一般而言,DRAM的更新特性在高溫時(shí)會(huì)惡化,可在控制電路(CTL_LOGIC)中設(shè)置溫度計(jì),在高溫時(shí)縮小庫(kù)主動(dòng)指令的投入間隔而使DRAM可在更廣的溫度范圍內(nèi)使用。
如上說明的實(shí)施例沿用SRAM接口方式而得到一種存儲(chǔ)模塊,其使用便宜的通用SDRAM及FLASH,容量大,且存取速度與SRAM相當(dāng)。
本發(fā)明的存儲(chǔ)模塊在DRAM內(nèi)確保一可復(fù)制FLASH的一部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)的區(qū)域,并預(yù)先將數(shù)據(jù)從FLASH傳送到DRAM,而可以與SRAM相當(dāng)?shù)乃俣茸x出FLASH的數(shù)據(jù)。對(duì)FLASH寫入數(shù)據(jù)時(shí),可先暫時(shí)將數(shù)據(jù)寫入DRAM,必要時(shí)再寫回FLASH,故數(shù)據(jù)的寫入速度也可與SRAM相當(dāng)。
使用大容量SDRAM,在SDRAM中除了可復(fù)制FLASH的數(shù)據(jù)的區(qū)域外,也可確保大容量的工作區(qū)域。
從FLASH讀取時(shí)、進(jìn)行錯(cuò)誤檢測(cè)及修正,寫入時(shí),對(duì)未正確寫入的不良地址進(jìn)行替代處理,故可高速處理,保持可靠度。
由于使用大容量SDRAM,在SDRAM中除了可復(fù)制FLASH的數(shù)據(jù)的區(qū)域外,也可確保大容量的工作區(qū)域。
用溫度改變模塊內(nèi)部所執(zhí)行的更新間隔,可擴(kuò)大DRAM的使用溫度范圍,得到使用溫度范圍大的大容量存儲(chǔ)模塊。
本發(fā)明的另一目的為得到數(shù)據(jù)保持電流少的存儲(chǔ)模塊。為了達(dá)到本目的,特別是在低溫時(shí)延長(zhǎng)模塊內(nèi)部所執(zhí)行的更新間隔,可減少數(shù)據(jù)保持電流。
再者,為了減少數(shù)據(jù)保持電流,切斷DRAM的電源供給,只保持SRAM中存儲(chǔ)的數(shù)據(jù)即可。由此,可用最低限度的數(shù)據(jù)保持電流只保持必要的數(shù)據(jù)。
圖22所示為CHIP2(SRAM+CTL_LOGIC)。CHIP2(SRAM+CTL_LOGIC)由SRAM及控制電路(CTL_LOGIC)構(gòu)成,被集成的SRAM為先前一般使用的非同步SRAM。控制電路(CTL_LOGIC)是CHIP2的SRAM以外的部分,如圖18中以虛線包圍的區(qū)域所示,由AS、MMU、ATD、DTD、R/W BUFFER,CPB、A_CONT、REG、INT?TMP、RC、PM、CLK_GEN、COM_GEN構(gòu)成。以下說明各電路區(qū)塊的動(dòng)作。
初始化電路INT在電源開始供給時(shí)進(jìn)行存儲(chǔ)體管理單元MMU內(nèi)的控制寄存器的初始化及DRAM的初始化。
存儲(chǔ)體管理單元MMU根據(jù)內(nèi)建的控制寄存器的設(shè)定值變換從外部輸入的地址,選擇REGISTER區(qū)域內(nèi)的指令寄存器REG或DRAM內(nèi)的工作區(qū)域、DRAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域、FLASH區(qū)域,進(jìn)行存取。控制寄存器的值在電源供給時(shí)被初始化電路INT初始設(shè)定。想變更控制寄存器的值時(shí),在指令寄存器REG中輸入存儲(chǔ)體管理MMU變更命令,SRAM被選擇時(shí)通過存取開關(guān)(AS)將地址信號(hào)及指令信號(hào)送給SRAM,對(duì)SRAM進(jìn)行存取。
地址轉(zhuǎn)換檢測(cè)器電路(ATD)檢測(cè)地址信號(hào)及指令信號(hào)的變化而輸出脈沖。又,指令轉(zhuǎn)換檢測(cè)器電路(CTD)檢測(cè)指令信號(hào)的變化而輸出脈沖。這種檢測(cè)電路檢測(cè)信號(hào)的變化,由此開始對(duì)存儲(chǔ)體存取。
數(shù)據(jù)更新地址管理電路CPB保持在DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域中寫入數(shù)據(jù)時(shí)的地址信息。
指令寄存器REG被寫入并保持載入命令、儲(chǔ)存命令、存儲(chǔ)體管理單元MMU變更命令、斷電命令等命令碼,及載入開始地址、載入結(jié)束地址、儲(chǔ)存開始地址、儲(chǔ)存結(jié)束地址等地址。
數(shù)據(jù)緩沖器R/WBUFFER暫時(shí)保持DRAM的讀取數(shù)據(jù)、寫入數(shù)據(jù)或FLASH的讀取數(shù)據(jù)、寫入數(shù)據(jù)。
指令產(chǎn)生器COM_GEN產(chǎn)生DRAM的存取所必要的指令。
存取控制器A_CONT產(chǎn)生用于進(jìn)行CHIP2的全體控制及對(duì)DRAM存取的地址。
快閃控制信號(hào)產(chǎn)生電路FGEN進(jìn)行FLASH的數(shù)據(jù)的讀取、寫入的制御。
錯(cuò)誤修正電路ECC檢查自FLASH讀取的數(shù)據(jù)是否有錯(cuò)誤,若有錯(cuò)誤則進(jìn)行修正。替代處理電路REP檢查對(duì)FLASH的寫入是否正確,未正確進(jìn)行時(shí),對(duì)FLASH中預(yù)先準(zhǔn)備好的替代用新地址進(jìn)行寫入。
溫度計(jì)測(cè)模塊(TMP)測(cè)量溫度,并將對(duì)應(yīng)于所測(cè)得的溫度的信號(hào)輸出到RC及A_CONT。RC為更新計(jì)數(shù)器,配合DRAM的更新間隔產(chǎn)生進(jìn)行更新的地址。又,通過溫度計(jì)測(cè)模塊(TMP)的輸出信號(hào)進(jìn)行對(duì)應(yīng)于溫度的更新間隔的變更。
電力模塊(PM)進(jìn)行CHIP2的控制電路(CTL_LOGIC)及DRAM的電源供給及電源控制。時(shí)鐘信號(hào)產(chǎn)生器(CLK_GEN)產(chǎn)生時(shí)鐘信號(hào),供給到DRAM及控制電路(CTL_LOGIC)。指令產(chǎn)生器(COM_GEN)產(chǎn)生DRAM的存取所要的指令。存取控制器(A_CONT)產(chǎn)生CHIP2(SRAM+CTL_LOGIC)全體動(dòng)作的控制及DRAM的存取所要的地址。
快閃控制信號(hào)產(chǎn)生電路FGEN進(jìn)行FLASH的數(shù)據(jù)的讀取、寫入的制御。
錯(cuò)誤修正電路ECC檢查自FLASH讀取的數(shù)據(jù)是否有錯(cuò)誤,若有錯(cuò)誤則進(jìn)行修正。替代處理電路REP檢查對(duì)FLASH的寫入是否正確,未正確進(jìn)行時(shí),對(duì)FLASH中預(yù)先準(zhǔn)備的替代用新地址進(jìn)行寫入。
其次說明本存儲(chǔ)模塊的動(dòng)作。
為了對(duì)CHIP2(SRAM+CTL_LOGIC)進(jìn)行存儲(chǔ)體存取,以以往一般使用的非同步SRAM方式做接口。
若地址信號(hào)(A0~A24)或指令信號(hào)(S-/LB,S-/UB,S-/WE,S-/CE1,S-CE2,S-/OE)有變化,則ATD檢測(cè)出該變化,開始存取指令寄存器REG、SRAM、DRAM或FLASH。
從外部輸入的地址信號(hào)(A0~A24)的值首先用存儲(chǔ)體管理單元MMU變換。根據(jù)變換后的地址,決定存取對(duì)象是指令寄存器REG、SRAM、DRAM、或是FLASH。
地址的變換形成由存儲(chǔ)體管理單元MMU內(nèi)部的控制寄存器的值決定。
選擇指令寄存器REG并將載入命令碼寫入指令寄存器REG后,開始從FLASH傳送數(shù)據(jù)給DRAM。開始時(shí),快閃控制器FCON內(nèi)部的快閃控制信號(hào)產(chǎn)生電路FGEN對(duì)FLASH進(jìn)行讀取動(dòng)作。從FLASH讀出的數(shù)據(jù)若無(wú)錯(cuò)誤,則直接將數(shù)據(jù)傳送到數(shù)據(jù)緩沖器R/WBUFFER,若有錯(cuò)誤,則用錯(cuò)誤修正電路ECC修正,傳送到數(shù)據(jù)緩沖器R/WBUFFER。其次,從指令產(chǎn)生電路COM_GEN輸入寫入命令,從存取控制器A_CONT輸入地址信號(hào),通過數(shù)據(jù)緩沖器R/WBUFFER將從FLASH讀取的數(shù)據(jù)輸入DRAM,進(jìn)行向DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域的寫入。
數(shù)據(jù)更新管理電路CPB在數(shù)據(jù)被寫入DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域時(shí)保持寫入地址信息。
選擇指令寄存器REG并將儲(chǔ)存命令寫入指令寄存器后,開始將DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域內(nèi)數(shù)據(jù)的數(shù)據(jù)傳送到FLASH。
開始時(shí),從指令產(chǎn)生電路COM_GEN將讀取命令并從存取控制器A_CONT將地址信號(hào)傳送到DRAM而讀出數(shù)據(jù)。從DRAM讀出的數(shù)據(jù)通過數(shù)據(jù)緩沖器R/WBUFFER傳送到快閃控制器FCON,快閃控制信號(hào)產(chǎn)生電路FGEN對(duì)FLASH進(jìn)行寫入。地址替代處理電路REP檢查寫入是否成功,若成功則結(jié)束處理。寫入失敗時(shí),對(duì)FLASH中預(yù)先準(zhǔn)備的替代用新地址進(jìn)行寫入。進(jìn)行替代處理時(shí),管理不良地址并保持對(duì)不良地址以那一地址進(jìn)行了替代處理的地址信息。在數(shù)據(jù)更新管理電路CPB所保持的DRAM的地址信息中,清除FLASH寫入結(jié)束的地址信息。如此,數(shù)據(jù)更新管理電路CPB可經(jīng)常管理最新的數(shù)據(jù)被更新的地址。
選擇DRAM的工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域,為讀取命令時(shí),從指令產(chǎn)生電路COM_GEN將讀取命令信號(hào)并從存取控制器A_CONT將地址信號(hào)傳送給DRAM,讀出數(shù)據(jù)。
選擇DRAM的工作區(qū)域及FLASH數(shù)據(jù)復(fù)制區(qū)域,為寫入命令時(shí),從指令產(chǎn)生電路COM_GEN將寫入命令信號(hào)、從地址產(chǎn)生電路A_CONT將地址信號(hào)、并從數(shù)據(jù)緩沖器R/WBUFFER將數(shù)據(jù)傳送給DRAM,寫入數(shù)據(jù)。
選擇指令寄存器REG,斷電命令寫入指令寄存器后,將對(duì)應(yīng)于數(shù)據(jù)更新管理電路CPB所保持的地址的DRAM數(shù)據(jù)傳送到FLASH。開始時(shí),從指令產(chǎn)生電路COM_GEN將讀取命令并從存取控制器A_CONT將地址信號(hào)傳送到DRAM讀出數(shù)據(jù)。從DRAM讀出的數(shù)據(jù)通過數(shù)據(jù)緩沖器R/WBUFFER傳送到快閃控制器FCON,通過快閃控制信號(hào)產(chǎn)生電路FGEN寫入FLASH。
數(shù)據(jù)更新管理電路CPB所保持的DRAM的地址信息中,清除FLASH寫入結(jié)束的地址信息,對(duì)應(yīng)于所保持的地址的數(shù)據(jù)全部寫入FLASH后,數(shù)據(jù)更新管理電路CPB的地址信息全部被清除。
在高溫下使用存儲(chǔ)模塊時(shí),只要縮短DRAM的更新間隔,頻繁地更新即可。本存儲(chǔ)模塊中溫度計(jì)測(cè)模塊(TMP)測(cè)量溫度,通知更新計(jì)數(shù)器及存取控制器。若達(dá)到高溫,則縮短更新計(jì)數(shù)器的更新間隔,輸出更新用地址。又,相反地低溫時(shí),則拉長(zhǎng)DRAM的更新間隔,即可減少數(shù)據(jù)保持電流。此時(shí)溫度計(jì)測(cè)模塊(TMP)可測(cè)量溫度,通知更新計(jì)數(shù)器及存取控制器。低溫時(shí)則更新計(jì)數(shù)器拉長(zhǎng)更新間隔,輸出更新用地址。
安裝有存儲(chǔ)模塊的機(jī)器有時(shí)想根據(jù)動(dòng)作狀態(tài)減少耗電。因此說明電力模塊改變存儲(chǔ)體的動(dòng)作狀態(tài)而減少耗電的方法。
首先,最簡(jiǎn)單的方式是電力模塊依照指令信號(hào)PS信止更新計(jì)數(shù)器所進(jìn)行的更新。由此,DRAM中所存儲(chǔ)的數(shù)據(jù)會(huì)被破壞,但可減少更新時(shí)所要的電力。
想要進(jìn)一步減少耗電時(shí),可在存儲(chǔ)模塊內(nèi)部切斷對(duì)DRAM供給的電源。此時(shí),電力模塊根據(jù)機(jī)器輸出的指令信號(hào)PS停止對(duì)供電給DRAM的D1-VCC的電力供給。
此外,想要更進(jìn)一步減少耗電時(shí),電力模塊根據(jù)指令信號(hào)PS停止對(duì)CHIP2(SRAM+CTL_LOGIC)中與DRAM的存儲(chǔ)體存取相關(guān)的部分供給電源即可。該狀態(tài)下可例如在CHIP2(SRAM+CTL_LOGIC)中除了SRAM外只對(duì)MMU及AS連接電源而進(jìn)入動(dòng)作狀態(tài),而成為只執(zhí)行對(duì)SRAM的存取的模式。
再者,也可以指令PS形成只進(jìn)行SRAM的數(shù)據(jù)保持的動(dòng)作狀態(tài)。此時(shí),切斷連接到SRAM電源(S-VCC,S-VSS)以外的電源,禁止存儲(chǔ)體的存取。在本狀態(tài)下,存儲(chǔ)模塊進(jìn)行存儲(chǔ)在SRAM內(nèi)的數(shù)據(jù)的保持。
為了暫時(shí)停止對(duì)DRAM供給電源并在動(dòng)作停止后使DRAM再度動(dòng)作,除了重新開始供給電源外,必須進(jìn)行DRAM的初始化。初始化方法為一般的方法,在本存儲(chǔ)模塊中,初始化電路(INT)對(duì)存取控制器(A_CONT)指示初始化的順序而執(zhí)行初始化。
又,為了在停止DRAM的更新時(shí)再度使DRAM動(dòng)作,必須進(jìn)行DRAM的初始化,同樣地初始化電路(INT)對(duì)存取控制器(A_CONT)指示初始化的順序而執(zhí)行初始化。
圖23,24,25,26所示為以存儲(chǔ)體管理單元MMU變換的存儲(chǔ)映像的一例。這種存儲(chǔ)映像均可根據(jù)MMU內(nèi)部的控制寄存器的設(shè)定值而選擇。本實(shí)施例中并不特別受限,以下以FLASH的存儲(chǔ)容量為256+8Mb、保持?jǐn)?shù)據(jù)用SRAM為2Mb、DRAM為256Mb的存儲(chǔ)模塊為例說明代表性存儲(chǔ)映像。
圖23所示的存儲(chǔ)映像以通過地址信號(hào)A0~A24所輸入的地址為基礎(chǔ),存儲(chǔ)體管理單元MMU對(duì)指令寄存器REG(16kbit)、SRAM形成的數(shù)據(jù)保持區(qū)域(2Mbit)、DRAM內(nèi)工作區(qū)域(128Mbit)、DRAM內(nèi)FLASH復(fù)制區(qū)域(128Mbit)、FLASH(256+8Mbit)變換地址。
雖不特別受限,從存儲(chǔ)映像的地址空間的下部起,指令寄存器REG,SRAM、DRAM、FLASHI被映像。
指令寄存器REG從外部寫入載入命令、儲(chǔ)存命令、MMU寄存器變更命令等命令碼及載入命令、儲(chǔ)存命令時(shí)的開始地址或結(jié)束地址。
DRAM分為工作區(qū)域(128Mbit)及FLASH復(fù)制區(qū)(128Mbit)。工作區(qū)域作為程序執(zhí)行時(shí)的工作存儲(chǔ)體使用,F(xiàn)LASH復(fù)制領(lǐng)域用于復(fù)制FLASH區(qū)域的數(shù)據(jù)的一部分并進(jìn)行保持。
SRAM構(gòu)成的2Mbit的數(shù)據(jù)保持區(qū)域設(shè)定成集中在地址空間的下部。本區(qū)域與DRAM重復(fù)映像在存儲(chǔ)體空間,但不進(jìn)行對(duì)DRAM的存取,只進(jìn)行對(duì)SRAM的存取。
控制存儲(chǔ)模塊的電源只保持并使用SRAM的數(shù)據(jù)時(shí),可集中管理SRAM的區(qū)域。
未存取的DRAM的區(qū)域(SHADOW)可用于救濟(jì)DRAM的存儲(chǔ)單元。本存儲(chǔ)模塊中為了在低溫時(shí)延長(zhǎng)更新間隔而減少耗電而有各種設(shè)計(jì),此時(shí)會(huì)產(chǎn)生難以保持?jǐn)?shù)據(jù)的存儲(chǔ)單元(Fail bit)。因此,可使用成為本SHADOW的DRAM進(jìn)行Fail bit的替代。圖23中,DRAM中有Fail bit A,F(xiàn)ail bit B,其地址事前已登錄好,對(duì)Fail bit進(jìn)行存取時(shí),則存取SHADOW替代之。通過SHADOW的替代可救濟(jì)Fail bit,在低溫時(shí)延長(zhǎng)更新間隔,而得到耗電少的存儲(chǔ)模塊。
為了將FLASH區(qū)域的數(shù)據(jù)的一部分復(fù)制到FLASH復(fù)制區(qū)域,存儲(chǔ)體管理單元MMU根據(jù)內(nèi)部寄存器的設(shè)定值決定FLASH區(qū)域內(nèi)的哪個(gè)地址的數(shù)據(jù)對(duì)應(yīng)FLASH復(fù)制區(qū)域內(nèi)的哪個(gè)地址。圖23中,F(xiàn)LASH區(qū)域內(nèi)的A1區(qū)域(64Mbit)及C1區(qū)域(64Mbit)的數(shù)據(jù)各為可復(fù)制到DRAM的FLASH復(fù)制區(qū)域內(nèi)的A1區(qū)域(64Mbit)及1區(qū)域(64Mbit)的地址對(duì)應(yīng)的1例。通過變更存儲(chǔ)體管理單元MMU的內(nèi)部控制寄存器的值,可將FLASH區(qū)域內(nèi)的B1區(qū)域(64Mbit)及D1區(qū)域(56Mbit)的數(shù)據(jù)各變更為可復(fù)制到DRAM的FLASH復(fù)制區(qū)域的地址對(duì)應(yīng)。
FLASH(256M+8Mbit)雖不特別受限,可分為主數(shù)據(jù)區(qū)域MD-Area(A1,A2,B1,B2,C1,C2,D1,D2255.75Mbit)及替代區(qū)域Rep-Area(E1、E28.25Mbit)。
主數(shù)據(jù)區(qū)域可再分為數(shù)據(jù)區(qū)域(A1,B1,C1,D1)及冗余區(qū)域(A2,B2,C2,D2)。數(shù)據(jù)區(qū)域存放程序及數(shù)據(jù),冗余區(qū)域存放檢測(cè)并修正錯(cuò)誤用的ECC極性數(shù)據(jù)等。FLASH的數(shù)據(jù)區(qū)域內(nèi)的數(shù)據(jù)被傳送到DRAM的FLASH復(fù)制區(qū)域,或是DRAM的FLASH復(fù)制區(qū)域的數(shù)據(jù)被傳送到FLASH的數(shù)據(jù)區(qū)域。
FLASH很少會(huì)發(fā)生因?yàn)橹馗哺露档涂煽慷?、及在寫入時(shí)寫入的數(shù)據(jù)與讀取時(shí)的數(shù)據(jù)不同,或是在更新時(shí)數(shù)據(jù)未寫入。替代區(qū)域?yàn)榱藢⒉涣嫉膮^(qū)域(Fail Area C、Fail Area D)的數(shù)據(jù)置換到新的區(qū)域而設(shè)。替代區(qū)域的大小并不特別受限,只要能確保FLASH所保證的可靠度即可。
說明從FLASH到DRAM的數(shù)據(jù)傳送。
為了將FLASH的A1區(qū)域的數(shù)據(jù)傳送到DRAM的FLASH復(fù)制區(qū)域A1區(qū)域,在指令寄存器中寫入載入命令及FLASH區(qū)域內(nèi)A1區(qū)域的傳送開始地址SAD及傳送結(jié)束地址EAD。如此,控制電路(CTL_LOGIC)讀取FLASH的A1區(qū)域內(nèi)的傳送開始地址FSAD及傳送結(jié)束地址FEAD所示的地址范圍的數(shù)據(jù),并傳送到到存儲(chǔ)體管理單元MMU產(chǎn)生對(duì)應(yīng)關(guān)的DRAM的FLASH復(fù)制區(qū)域A1區(qū)域內(nèi)的地址DSAD及DEAD的地址范圍。
從FLASH讀出數(shù)據(jù)時(shí),以數(shù)據(jù)的管理單位(在此為8k bit)讀取FLASH的數(shù)據(jù)區(qū)域A1中的數(shù)據(jù)及冗余區(qū)域A2中的ECC極性數(shù)據(jù),若有錯(cuò)誤則以錯(cuò)誤修正電路ECC修正的。只將修正后的數(shù)據(jù)傳送到DRAM。
說明從DRAM到FLASH的數(shù)據(jù)傳送。
為了對(duì)FLASH的A1區(qū)域傳送DRAM的FLASH復(fù)制區(qū)域A1的數(shù)據(jù),在指令寄存器中寫入儲(chǔ)存命令及FLASH的A1區(qū)域的傳送開始地址SAD及傳送結(jié)束地址EAD。如此,控制電路(CTL_LOGIC)讀取由存儲(chǔ)體管理單元MMU產(chǎn)生對(duì)應(yīng)關(guān)的DRAM的FLASH復(fù)制區(qū)域A1區(qū)域內(nèi)的地址DSAD及DEAD的地址范圍的數(shù)據(jù),并寫入FLASH的A1區(qū)域內(nèi)的傳送開始地址FSAD及傳送結(jié)束地址FEAD的地址范圍數(shù)據(jù)。
對(duì)FLASH寫入數(shù)據(jù)時(shí),錯(cuò)誤修正電路ECC以數(shù)據(jù)的管理單位(在此為8kbit)產(chǎn)生ECC極性數(shù)據(jù)。通過快閃控制電路FGEN,自DRAM讀出的數(shù)據(jù)被寫入FLASH的數(shù)據(jù)區(qū)域A1,所產(chǎn)生的ECC極性數(shù)據(jù)被寫入冗余區(qū)域A2。地址替代處理電路REP檢查寫入是否成功,若成功則結(jié)束處理。寫入失敗時(shí),選擇FLASH的替代區(qū)域內(nèi)的地址,自DRAM讀出的數(shù)據(jù)寫入替代區(qū)域內(nèi)的替代數(shù)據(jù)E1,所產(chǎn)生的ECC極性數(shù)據(jù)寫入替代冗余區(qū)域E2。
其次說明DRAM的FLASH復(fù)制區(qū)域A1的數(shù)據(jù)的讀取。
從外部輸入FLASH的A1區(qū)域內(nèi)地址FAD0及讀取命令后,MMU對(duì)對(duì)應(yīng)于地址FAD0的DRAM的FLASH復(fù)制區(qū)域A1的地址DAD0進(jìn)列地址變換。由此,DRAM可讀出被復(fù)制到所選擇的DRAM中的FLASH的讀出數(shù)據(jù)。換言之,可與以DRAM相同的速度讀出讀出FLASH的數(shù)據(jù)。
其次說明DRAM的工作區(qū)域的數(shù)據(jù)的讀取。
從外部輸入工作區(qū)域內(nèi)地址WAD0及讀取命令后,MMU將地址WAD0輸出到地址產(chǎn)生電路A_COUNT。由此,可讀出DRAM的工作領(lǐng)域內(nèi)地址WAD0的數(shù)據(jù)。
其次說明對(duì)DRAM的FLASH復(fù)制區(qū)域A1的數(shù)據(jù)寫入。
從外部輸入FLASH的A1區(qū)域內(nèi)地址FAD0及寫入命令、寫入數(shù)據(jù)后,MMU對(duì)對(duì)應(yīng)于地址FAD0的DRAM的FLASH復(fù)制區(qū)域內(nèi)的地址DAD0進(jìn)列地址變換。由此,DRAM被選擇,數(shù)據(jù)被寫入FLASH復(fù)制區(qū)域。通過對(duì)應(yīng)于FLASH的數(shù)據(jù)區(qū)域A1的DRAM的FLASH復(fù)制區(qū)域A1的寫入,可以與SRAM相同的速度寫入FLASH的數(shù)據(jù)。
其次說明DRAM的工作區(qū)域的數(shù)據(jù)的讀取。
從外部輸入工作區(qū)域內(nèi)地址WAD0及讀取命令后,MMU將地址WAD0輸入存取控制器A_COUNT。由此,可讀出DRAM的工作區(qū)域內(nèi)地址WAD0的數(shù)據(jù)。
其次說明DRAM的工作區(qū)域的數(shù)據(jù)的寫入。
從外部輸入工作區(qū)域內(nèi)地址WAD0及寫入命令、輸入數(shù)據(jù)后,地址產(chǎn)生電路A_COUNT將地址WAD0輸出到DRAM。由此,可寫入DRAM的工作區(qū)域內(nèi)地址WAD0的數(shù)據(jù)。
圖24所示的存儲(chǔ)映像的例中,設(shè)定有分散在多個(gè)地址空間的SRAM區(qū)域。SRAM的地址空間仍然與DRAM的地址空間重疊,對(duì)重疊的地址空間的存取對(duì)SRAM進(jìn)行的。多個(gè)SHADOW用于多個(gè)Fail bit的救濟(jì)。在本例中,SRAM區(qū)域設(shè)定成2Kbyte為單位,此種設(shè)計(jì)的目的是為了配合FLASH存儲(chǔ)體的寫入消去單位,使地址空間的管理單位與FLASH存儲(chǔ)體一致,由此簡(jiǎn)化OS或程序的存儲(chǔ)體空間的處理。
又,控制存儲(chǔ)模塊的電源,只保持SRAM的數(shù)據(jù)而使用時(shí),可將SRAM的區(qū)域分散配置在存儲(chǔ)體空間內(nèi)。
圖25所示的存儲(chǔ)映像的例中,SRAM及DRAM映像在另一地址空間,而沒有因重復(fù)而產(chǎn)生的SHADOW。因此,地址空間為合計(jì)DRAM的256Mb及SRAM的2Mb之后的258Mb,可得到較大的地址空間。
圖26所示的存儲(chǔ)映像為將圖22的SRAM區(qū)域128分割而配置的例。其可具有與圖25所示的例同樣大的地址空間。又、與圖22所示的例相同地,在存儲(chǔ)模塊的電源只保持SRAM的數(shù)據(jù)而使用時(shí),可將SRAM的區(qū)域分散配置在存儲(chǔ)體空間內(nèi)。
如此,MMU可在指定的地址空間中分配SRAM區(qū)域及DRAM區(qū)域。其分配方法可通過變更MMU中所設(shè)定的寄存器的而輕易變更。
當(dāng)想盡量減少數(shù)據(jù)保持電流時(shí),將存放想保持的數(shù)據(jù)的地址空間分配到SRAM區(qū)域,再停止對(duì)DRAM供給電源即可。本方法可得到數(shù)據(jù)保持電流少的存儲(chǔ)模塊。
圖27(A)所示為外部存取及更新存取及載入命令或儲(chǔ)存命令時(shí)對(duì)DRAM存取的優(yōu)先順序。
更新存取為第1優(yōu)先,外部存取為第2優(yōu)先,載入或儲(chǔ)存命令中的存取為第3優(yōu)先。
圖27(B)所示為外部對(duì)DRAM產(chǎn)生讀取存取(READ)及更新存取(REF)時(shí)的動(dòng)作。
圖27(C)所示為對(duì)DRAM產(chǎn)生寫入存取(WRITE)及更新存取(REF)時(shí)的動(dòng)作。
未產(chǎn)生更新存取(REF)而產(chǎn)生外部存取(READ、WRITE)時(shí),外部存取直接對(duì)DRAM進(jìn)行,而進(jìn)行數(shù)據(jù)的讀取及寫入。
產(chǎn)生更新存取(REF)及外部存取時(shí),首先,以優(yōu)先順序高的更新存取進(jìn)行更新動(dòng)作,其次,執(zhí)行外部存取動(dòng)作。更新動(dòng)作中,WAIT信號(hào)成為High,表示已經(jīng)進(jìn)行了對(duì)DRAM的動(dòng)作。
圖28(A)所示為對(duì)指令寄存器寫入載入命令時(shí)及從FLASH對(duì)DRAM傳送數(shù)據(jù)時(shí)對(duì)DRAM的動(dòng)作。
從FLASH讀取數(shù)據(jù),暫時(shí)保時(shí)在數(shù)據(jù)緩沖器R/WBUFFER中,其后存取DRAM并寫入數(shù)據(jù)。對(duì)DRAM的寫入存取開始起到寫入結(jié)束為止的期間內(nèi),WAIT信號(hào)成為High,表示已經(jīng)進(jìn)行對(duì)DRAM的存取。
圖28(B)所示為對(duì)指令寄存器寫入儲(chǔ)存命令時(shí)及從DRAM對(duì)FLASH傳送數(shù)據(jù)時(shí)對(duì)DRAM的動(dòng)作。
從DRAM讀取數(shù)據(jù),暫時(shí)保持在數(shù)據(jù)緩沖器中,其后,存取FLASH而寫入數(shù)據(jù)。從對(duì)DRAM的讀取存取開始到寫入結(jié)束為止的期間內(nèi),WAIT信號(hào)成為High,表示已經(jīng)對(duì)DRAM進(jìn)行存取。
圖29(A)所示為載入命令時(shí)對(duì)DRAM寫入存取中,從外部產(chǎn)生讀取存取時(shí)的DRAM的動(dòng)作。外部存取的種類并不特別受限,在此以讀取存取為1例。
產(chǎn)生外部存取時(shí),載入命令時(shí)的DRAM的寫入存取暫時(shí)停止,優(yōu)先處理外部存取。外部存取的處理結(jié)束后,重新開始載入命令時(shí)的DRAM的寫入存取。
圖29(B)所示為儲(chǔ)存命令時(shí)對(duì)DRAM的讀取存取中,從外部產(chǎn)生寫入讀取存取時(shí)的DRAM的動(dòng)作。外部存取的種類并不特別受限,在此以寫入存取為1例。
產(chǎn)生外部存取時(shí),暫時(shí)停止儲(chǔ)存命令時(shí)的DRAM的讀取存取,優(yōu)先處理外部存取。外部存取的處理結(jié)束后,重新開始儲(chǔ)存命令時(shí)的DRAM的讀取存取。
圖30所示為本發(fā)明的存儲(chǔ)模塊的動(dòng)作波形的一例。A0~A20,S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE為輸入存儲(chǔ)模塊的信號(hào),為所謂非同步SRAM的接口信號(hào)。數(shù)據(jù)輸入輸出信號(hào)I/O0~I(xiàn)/O15分為數(shù)據(jù)的輸入及輸出,各以DIN、DOUT表示。MMU,ATD,CTD各代表MMU電路、ATD電路、CTD電路的輸出信號(hào)。D1-CLK為供給給DRAM的時(shí)鐘信號(hào),D1-COM為供給給DRAM的指令信號(hào)的總稱,D1-A0~D1-A15為DRAM的地址線,D1-DQ0~D1-DQ15為DRAM的I/O線。
首先,說明開始時(shí)進(jìn)行的讀取存取。輸入地址A0~A24后,MMU電路輸出變換后的地址。ATD電路檢測(cè)出地址A0~A24與指令類(S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE)的變化,地址及指令確定后,輸出脈沖。以該脈沖為起點(diǎn),對(duì)DRAM1發(fā)出庫(kù)主動(dòng)指令A(yù)及行地址Ra,跟著發(fā)出讀取指令R及列地址Co。從DRAM1出的數(shù)據(jù)被輸出到D-DQ0~D-DQ15,先通過R/W BUFFER再輸出到I/O0~I(xiàn)/O15。
在下一個(gè)周期所示為寫入存取的執(zhí)行例。寫入存取之時(shí)也與讀取存取相同地以ATD信號(hào)的下降為起點(diǎn)發(fā)出庫(kù)主動(dòng)指令A(yù)及行地址Ra。其后,CTD電路檢測(cè)指令類(S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE)的變化,辨識(shí)其為寫入動(dòng)作,輸出脈沖。以該脈沖為起點(diǎn),發(fā)出寫入指令W及列指令C而執(zhí)行寫入。
圖31所示為本發(fā)明的存儲(chǔ)模塊的動(dòng)作波形的一例,顯示進(jìn)行更新動(dòng)作時(shí),從外部讀取存取時(shí)產(chǎn)生的動(dòng)作波形。
為了進(jìn)行更新,對(duì)DRAM1發(fā)出庫(kù)主動(dòng)指令A(yù)及行地址Ra,其后發(fā)出預(yù)備充電指令P及庫(kù)地址Ba。本更新動(dòng)作期間中,更新計(jì)數(shù)器輸出信號(hào)RC,表示其在更新期間中。說明更新期間中產(chǎn)生的來自外部的讀取存取。輸入地址A0~A24后,MMU電路輸出變換后的地址。ATD電路檢測(cè)地址A0~A24及指令類(S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE)的變化,地址及指令確定后,輸出脈沖。根據(jù)該脈沖,閂鎖地址及指令。以更新期間結(jié)束為起點(diǎn),對(duì)DRAM1發(fā)出庫(kù)主動(dòng)指令A(yù)及行地址Ra,接著發(fā)出讀取指令R及列地址Co。自DRAM1讀出的數(shù)據(jù)被輸出到D-DQ0~D-DQ15,先通過R/W BUFFER再輸出到I/O0~I(xiàn)/O15。
圖32所示為本實(shí)施例的SRAM的構(gòu)成例。其由X解碼器(X-DEC),存儲(chǔ)體陣列MA(SRAM),Y柵極(Y-GATE),Y解碼器(Y-DEC),輸入數(shù)據(jù)控制電路(D_CTL),控制電路(CONTROL LOGIC)及各信號(hào)線的輸入輸出緩沖器所構(gòu)成。該SRAM為一般所謂的非同步SRAM??捎迷摫維RAM構(gòu)成本實(shí)施例的存儲(chǔ)模塊。
如上說明的實(shí)施例,可沿用SRAM接口方式而得到使用便宜的通用DRAM的大容量存儲(chǔ)模塊。
本發(fā)明的存儲(chǔ)模塊中,在DRAM內(nèi)確保一可復(fù)制FLASH的一部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)的區(qū)域,預(yù)先從FLASH將數(shù)據(jù)傳送到DRAM,以與SRAM相當(dāng)?shù)乃俣茸x出FLASH的數(shù)據(jù)。由于對(duì)FLASH寫入數(shù)據(jù)時(shí),先將數(shù)據(jù)寫入DRAM,必要時(shí)再寫回FLASH,故數(shù)據(jù)的寫入速度與SRAM相當(dāng)。從FLASH讀取時(shí),進(jìn)行錯(cuò)誤檢測(cè)及修正,寫入時(shí),由于對(duì)未正確寫入的不良地址進(jìn)行替代處理,故可高速處理,保持可靠度。
存儲(chǔ)體管理單元MMU可自由設(shè)定SRAM所構(gòu)成的數(shù)據(jù)保持區(qū)域、DRAM的FLASH復(fù)制區(qū)域及工作區(qū)域,故可對(duì)應(yīng)各種機(jī)器廣泛地應(yīng)用。
本發(fā)明的控制電路(CTL_LOGIC)中使用DRAM,但由于DRAM所需要的更新由控制電路(CTL_LOGIC)所執(zhí)行,故可與SRAM同樣地不考慮更新而使用。
再者,通過縮小DRAM的更新間隔,在高溫時(shí)也可使DRAM動(dòng)作,可得到使用溫度范圍廣的存儲(chǔ)模塊。另一方面,通過在低溫時(shí)增加DRAM的更新間隔,可減少數(shù)據(jù)保持所需要的電力,而得到數(shù)據(jù)保持電力少的存儲(chǔ)模塊。
在電力模塊PM的作用下,也可停止供給DRAM的一部分或全部的電源,而限定存儲(chǔ)區(qū)域,減少數(shù)據(jù)保持所需要的電力。再者,也可通過停止控制電路的電源供給,得到數(shù)據(jù)保持電力少的存儲(chǔ)模塊。
<實(shí)施例3>
圖33所示為本發(fā)明的存儲(chǔ)模塊的第3實(shí)施例。
圖33(A)所示為俯視圖,圖33(B)所示為剖面圖。本存儲(chǔ)模塊在通過球狀格子陣列(Ball Grid Array,BGA)安裝在裝置上的基板(例如玻璃環(huán)氧基板所制成的印刷電路板PCB)上,安裝實(shí)施例1所示的CHIP1(FLASH)、CHIP2(CTL_LOGIC)、CHIP3(DRAM),或?qū)嵤├?所示的CHIP1(FLASH)、CHIP2(SRAM+CTL_LOGIC)、CHIP3(DRAM)。
雖不特別受限,CHIP1中使用在芯片的一端排列一排信號(hào)及電源焊墊列的通用DRAM的裸芯片(ベアチツプ),CHIP3中使用在芯片的中央排列1列信號(hào)及電源焊墊列的通用DRAM的裸芯片。
CHIP1及基板上的接合墊(bonding pad)以接合線(PATH2)連接,CHIP2及基板上的接合墊以接合線(PATH3)連接。CHIP3及CHIP2以接合線(PATH1)連接。CHIP1及CHIP2以接合線(PATH4)被連接。
搭載有芯片的基板上面進(jìn)行樹脂模塑,以保護(hù)各芯片及連接配線。又,也可另外在其上加上金屬、陶瓷或樹脂的蓋子(COVER)。
本發(fā)明的實(shí)施例中由于在印刷電路板PCB上直接搭載裸芯片,故可形成安裝面積小的存儲(chǔ)模塊。又,由于可近接配置各芯片,故可縮短芯片間配線長(zhǎng)度。通過將芯片間的配線及各芯片與基板間的配線統(tǒng)一成接合線方式,可用較少的步驟數(shù)制造存儲(chǔ)模塊。再者,通過以接合線對(duì)芯片間直接配線,可減少基板上的接合墊數(shù)及接合線的條數(shù),以較少的步驟數(shù)制造存儲(chǔ)模塊。由于可使用大量量產(chǎn)的通用DRAM的裸芯片,故可便宜且安定地供給存儲(chǔ)模塊。使用樹脂蓋時(shí),可形成更強(qiáng)韌的存儲(chǔ)模塊。使用陶瓷或金屬蓋時(shí),除了強(qiáng)度外,更可形成放熱性或遮蔽效果優(yōu)良的存儲(chǔ)模塊。
圖34所示為本發(fā)明的存儲(chǔ)模塊的圖34的變形例。圖34(A)所示為俯視圖,34(B)所示為剖面圖。本例中,CHIP3(DRAM)、CHIP2(CTL_LOGIC或SRAM+CTL_LOGIC)的安裝及配線上使用球形格子陣列(BGA)。CHIP1與基板上的接合墊用接合線(PATH2)連接。
通過本安裝方法,CHIP2(CTL_LOGIC或SRAM+CTL_LOGIC)與CHIP3(DRAM)及CHIP2(CTL_LOGIC)與基板間之間不必接合線,可減少接合配線的條數(shù),故除了可減少組裝步驟數(shù)之外,可得到可靠度更高的存儲(chǔ)模塊。
<實(shí)施例4>
圖35所示為本發(fā)明的存儲(chǔ)模塊中的另一實(shí)施例。本存儲(chǔ)模塊由4個(gè)芯片所構(gòu)成。以下說明各種芯片。首先,CHIP1(FLASH)為非易失性存儲(chǔ)體。非易失性存儲(chǔ)體中可使用ROM(只讀存儲(chǔ)體)、EEPROM(電子式可擦除可編程ROM)、閃存器等。本實(shí)施例中為閃存器為例說明。CHIP2(SRAM+CTL_LOGIC)中集成靜態(tài)隨機(jī)存取存儲(chǔ)體(SRAM)及控制電路(CTL_LOGIC)??刂齐娐穼?duì)集成在CHIP2中的SRAM及CHIP3及CHIP4進(jìn)行控制。CHIP3(DRAM1)、CHIP4(DRAM2)為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體(DRAM)。DRAM依內(nèi)部構(gòu)成或接口的差異有EDO、SDRAM、DDR等各種種類。本存儲(chǔ)模塊可使用任一種DRAM,本實(shí)施例以SDRAM為例說明。
對(duì)本存儲(chǔ)模塊從外部輸入地址(A0~A24)及指令信號(hào)(S-/CE1,S-CE2,S-/OE,S-/WE,S-/LB,S-/UB,LS-EN,F(xiàn)-EN)。電源通過S-VCC,S-VSS,F(xiàn)-VCC,F(xiàn)-VSS,L-VCC,L-VSS供給,數(shù)據(jù)的輸入輸出使用S-I/O0~S-I/O15。該存儲(chǔ)模塊通過所謂SRAM接口而動(dòng)作。
CHIP2供給CHIP1,CHIP3及CHIP4的動(dòng)作所需要的信號(hào)。CHIP2對(duì)CHIP1供給串列時(shí)鐘信號(hào)(F-SC)、地址及FLASH用數(shù)據(jù)(I/O0~I(xiàn)/O7)、指令(F-CE,F(xiàn)-/OE,F(xiàn)-/WE,F(xiàn)-/RES,F(xiàn)-CDE,F(xiàn)-RDY/BUSY)、DRAM用數(shù)據(jù)(D1-DQ0~D1-DQ15,D2-DQ0~D2-DQ15)。再者,CHIP2對(duì)CHIP3及CHIP4供給時(shí)鐘信號(hào)(D1-CLK,D2-CLK)、地址(D1-A0~D1-A14,D2-A0~D2-A14)、指令(D1-CKE,D2-CKE,D1-/CS,D2-/CS,D1-/RAS,D2-/RAS,D1-/CAS,D2-/CAS,D1-/WE,D2-/WE,D1-DQMU/DQML,D2-DQMU/DQML)、DRAM用數(shù)據(jù)(D1-DQ0~D1-DQ15,D2-DQ0~D2-DQ15)、電源(D1-VCC,D2-VCC,D1-VSS,D2-VSS,D1-VCCQ,D2-VCCQ,D1-VSSQ,D2-VSSQ)。
在此簡(jiǎn)單說明各指令信號(hào)。輸入CHIP2中的S-/CE1,S-CE2為芯片啟動(dòng)信號(hào),S-/OE為輸出啟動(dòng)信號(hào),S-/WE為寫入啟動(dòng)信號(hào),S-/LB為低位元組選擇信號(hào),S-/UB為高位元組選擇信號(hào)。
輸入CHIP1中的F-/CE為芯片啟動(dòng)信號(hào),F(xiàn)-/OE為輸出啟動(dòng)信號(hào),F(xiàn)-/WE為寫入啟動(dòng)信號(hào),F(xiàn)-SC為串列時(shí)鐘信號(hào),F(xiàn)-/RES為重置信號(hào),F(xiàn)-CDE為は指令數(shù)據(jù)啟動(dòng)信號(hào),F(xiàn)-RDY/BUSY為待命/忙碌信號(hào),I/O0~I(xiàn)/O7為數(shù)據(jù)輸入輸出信號(hào),用于閃存器的控制。
CHIP2的控制電路(CTL_LOGIC)根據(jù)從外部輸入的地址的選擇CHIP2的控制電路(CTL_LOGIC)中設(shè)置的指令寄存器、或是CHIP2內(nèi)部的SRAM、或是CHIP3及CHIP4的DRAM、或是CHIP1的FLASH。
可通過在設(shè)置在控制電路(CTL_LOGIC)中的控制寄存器中設(shè)定預(yù)設(shè)值加以區(qū)別。其存取均以所謂SRAM接口方式進(jìn)行。
存取SRAM區(qū)域時(shí),將SRAM區(qū)域內(nèi)的地址信號(hào)及指令信號(hào)類輸入控制電路(CTL_LOGIC)后,進(jìn)行CHIP2內(nèi)部的SRAM的存取。讀取存取之時(shí),從SRAM讀取數(shù)據(jù),輸出到存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(S-I/O0~S-I/O15)。寫入存取之時(shí),從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(S-I/O0~S-I/O15)輸入寫入數(shù)據(jù),寫入SRAM。
通過存取控制電路(CTL_LOGIC)內(nèi)的指令寄存器而寫入載入命令及儲(chǔ)存命令碼,可將FLASH區(qū)域的數(shù)據(jù)復(fù)制(載入)DRAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域,或?qū)RAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域的數(shù)據(jù)寫回(儲(chǔ)存)FLASH區(qū)域。
從地址信號(hào)(A0~A24)輸入存取指令寄存器用的地址,從指令信號(hào)(S-/CE1,S-CE2,S-/OE,S-/WE,S-LB,S-/UB)輸入寫入命令,從輸入輸出數(shù)據(jù)信號(hào)(I/O0~I(xiàn)/O15)輸入載入命令碼,接著在FLASH區(qū)域內(nèi)的地址輸入載入開始地址、載入結(jié)束地址之后,在指令寄存器中寫入載入命令碼及載入開始地址及載入結(jié)束地址。如此,讀出FLASH區(qū)域內(nèi)的載入開始地址到載入結(jié)束地址之間的數(shù)據(jù),傳送到DRAM1及DRAM2的FLASH數(shù)據(jù)復(fù)制區(qū)域。由此,F(xiàn)LASH的數(shù)據(jù)被保持在DRAM。
在指令寄存器中以儲(chǔ)存命令碼及FLASH區(qū)域內(nèi)的地址寫入儲(chǔ)存開始地址及儲(chǔ)存結(jié)束地址之后,將DRAM1或DRAM2的FLASH數(shù)據(jù)復(fù)制區(qū)域的數(shù)據(jù)寫回FLASH區(qū)域內(nèi)的儲(chǔ)存開始地址起到儲(chǔ)存結(jié)束地址之間的地址。
通過設(shè)定設(shè)置在控制電路(CTL_LOGIC)中的控制寄存器的值,可決定FLASH區(qū)域的哪個(gè)地址范圍對(duì)應(yīng)于DRAM1及DRAM2的FLASH數(shù)據(jù)復(fù)制區(qū)域的哪個(gè)地址范圍。
FLASH很少會(huì)發(fā)生因?yàn)橹馗哺露档涂煽慷?、及在寫入時(shí)寫入的數(shù)據(jù)與讀取時(shí)的數(shù)據(jù)不同、或是在更新時(shí)數(shù)據(jù)未寫入。
從FLASH讀出數(shù)據(jù)時(shí),CHIP2(CTL_LOGIC)檢測(cè)并修正讀取數(shù)據(jù)的錯(cuò)誤,而傳送給DRAM1及DRAM2。
對(duì)FLASH寫入數(shù)據(jù)時(shí),CHIP2(CTL_LOGIC)檢查是否已正確寫入,未正確寫入時(shí),以與現(xiàn)在的地址不同的地址進(jìn)行寫入。進(jìn)行所謂替代處理。也進(jìn)列地址管理,以管理不良地址及對(duì)哪個(gè)地址進(jìn)行了替代處理。
DRAM存取FLASH數(shù)據(jù)復(fù)制區(qū)域時(shí),從地址信號(hào)(A0~A24)輸入FLASH區(qū)域的地址及指令信號(hào)(S-/CE1,S-CE2,S-/OE,S-/WE,S-/LB,S-/UB)。指令信號(hào)為讀取命令之時(shí),CHIP2的制御電路存取DRAM,從對(duì)應(yīng)于FLASH區(qū)域內(nèi)的地址的DRAM的FLASH數(shù)據(jù)復(fù)制區(qū)域內(nèi)地址通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15或D2-DQ0~D2-DQ15)讀出數(shù)據(jù)。寫入命令之時(shí)從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(S-I/O0~S-I/O15)輸入寫入數(shù)據(jù),其后通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15及D2-DQ0~D2-DQ15)輸入到DRAM。由此,F(xiàn)LASH區(qū)域的數(shù)據(jù)的讀取及寫入時(shí)間與SRAM相當(dāng)。
存取DRAM的工作區(qū)域時(shí),輸入DRAM內(nèi)工作區(qū)域的存取所需要的地址信號(hào)及指令信號(hào)??刂齐娐?CTL_LOGIC)產(chǎn)生DRAM內(nèi)工作區(qū)域的地址,對(duì)DRAM進(jìn)行存取。讀取存取時(shí)來自DRAM的讀取數(shù)據(jù)通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15或D2-DQ0~D2-DQ15)輸出到數(shù)據(jù)輸入輸出線(S-I/O0~S-I/O15)。寫入存取之時(shí)從存儲(chǔ)模塊的數(shù)據(jù)輸入輸出線(S-I/O0~S-I/O15)輸入寫入數(shù)據(jù),其后通過DRAM用數(shù)據(jù)I/O(D1-DQ0~D1-DQ15及D2-DQ0~D2-DQ15)輸入到DRAM。
DRAM1的電源從LD-VCC、LD-VSS供給,通過控制電路(CTL_LOGIC)連接到D1-VCC,D1-VSS,D1-VCCQ及D1-VSSQ。DRAM的電源供給受指令信號(hào)PS控制,必要時(shí)可切斷。
DRAM斷電時(shí),控制電路(CTL_LOGIC)只自動(dòng)寫回必須從DRAM寫回FLASH的數(shù)據(jù),數(shù)據(jù)的寫回結(jié)束后切斷DRAM的電源。
切斷DRAM的電源后要再通電時(shí),必須進(jìn)行DRAM及FLASH的初始化。DRAM的初始化所需要的信號(hào)生成及時(shí)序控制由控制電路(CTL_LOGIC)進(jìn)行。
又,進(jìn)行DRAM的更新時(shí),控制電路(CTL_LOGIC)可定期投入庫(kù)主動(dòng)指令而進(jìn)行。一般而言,DRAM的更新特性在高溫時(shí)會(huì)惡化,通過在控制電路(CTL_LOGIC)中設(shè)置溫度計(jì)而在高溫時(shí)縮小庫(kù)主動(dòng)指令的投入間隔,可在較廣的溫度范圍內(nèi)使用DRAM。
再者,通過2個(gè)DRAM將工作區(qū)域及FLASH區(qū)域二重化,可將一個(gè)數(shù)據(jù)保持在2個(gè)DRAM外,通過調(diào)整進(jìn)行更新之時(shí)序,可隱藏更新,以免從存儲(chǔ)模塊外部因更新動(dòng)作而產(chǎn)生存取上的限制。
如上說明的實(shí)施例中,可沿用SRAM接口方式而得到使用便宜的通用SDRAM及FLASH的大容量且存取速度與SRAM相當(dāng)?shù)拇鎯?chǔ)模塊。
本發(fā)明的存儲(chǔ)模塊在DRAM內(nèi)確??蓮?fù)制FLASH的一部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)的區(qū)域,預(yù)可先從FLASH將數(shù)據(jù)傳送到DRAM,而以與SRAM相當(dāng)?shù)乃俣茸x出FLASH的數(shù)據(jù)。將數(shù)據(jù)寫入FLASH時(shí),可先將數(shù)據(jù)寫入DRAM,必要時(shí)再寫回FLASH,故數(shù)據(jù)的寫入速度也與SRAM相當(dāng)。
通過使用大容量SDRAM,在SDRAM中除了可復(fù)制FLASH的數(shù)據(jù)的區(qū)域外,可確保大容量的工作區(qū)域。
從FLASH讀取時(shí),進(jìn)行錯(cuò)誤檢測(cè)及修正,寫入時(shí),對(duì)未正確寫入的不良地址進(jìn)行替代處理,故可高速處理,保持可靠度。
由于使用大容量SDRAM,故在SDRAM中除了可復(fù)制FLASH的數(shù)據(jù)的區(qū)域外,可確保大容量的工作區(qū)域。
本發(fā)明的存儲(chǔ)模塊中使用DRAM,但由于DRAM所需要的更新在模塊內(nèi)部執(zhí)行,故可與SRAM同樣地不考慮更新而使用。又,通過隨著溫度而改變?cè)谀K內(nèi)部執(zhí)行的更新間隔,可擴(kuò)大DRAM的使用溫度范圍,使用溫度范圍大的大容量存儲(chǔ)模塊。
再者,通過進(jìn)行DRAM中的數(shù)據(jù)保持的二重化及更新時(shí)序的調(diào)整,可從存儲(chǔ)模塊外部隱藏DRAM的更新,故存取本存儲(chǔ)模塊時(shí)不必考慮更新而調(diào)整時(shí)序。因此,由于可以與先前只使用SRAM的存儲(chǔ)模塊同樣地使用,故可以不變更以前的系統(tǒng)而使用大容量存儲(chǔ)模塊。
本發(fā)明的另一目的為得到數(shù)據(jù)保持電流少的存儲(chǔ)模塊。在本目的下,特別是在低溫時(shí)可通過延長(zhǎng)模塊內(nèi)部所執(zhí)行的更新間隔,而減少數(shù)據(jù)保持電流。
再者,要減少數(shù)據(jù)保持電流,可以切斷對(duì)DRAM供給的電源,而只保持SRAM中所存儲(chǔ)的數(shù)據(jù)即可。只將應(yīng)保持的數(shù)據(jù)存儲(chǔ)在SRAM,停止對(duì)沒有保持必要的數(shù)據(jù)的存儲(chǔ)體供給電源,可以最低限度的數(shù)據(jù)保持電流保持必要的數(shù)據(jù)。
圖36所示為CHIP2(SRAM+CTL_LOGIC)的電路區(qū)塊圖。CHIP2(SRAM+CTL_LOGIC)由SRAM及控制電路(CTL_LOGIC)所構(gòu)成,所集成的SRAM為先前一般使用的非同步SRAM。控制電路(CTL_LOGIC)為CHIP2的SRAM以外的部分,圖36中以虛線包圍的區(qū)域表示,由AS、MMU、ATD、CTD、FIFO、R/W BUFFER,CACHE、A_CONT、INT、TMP、RC、PM、CLK_GEN、COM_GEN所構(gòu)成。
以下說明各電路區(qū)塊的動(dòng)作。
初始化電路INT在電源供給時(shí)進(jìn)行存儲(chǔ)體管理單元MMU內(nèi)的控制寄存器的初始化及DRAM的初始化。
指令寄存器REG保持從外部輸入的載入命令、儲(chǔ)存命令、MMU變更命令等命令。
存儲(chǔ)體管理單元MMU根據(jù)內(nèi)建的控制寄存器的設(shè)定值,變換從外部輸入的地址,選擇指令寄存器REG或SRAM、DRAM內(nèi)的工作區(qū)域、DRAM內(nèi)的FLASH數(shù)據(jù)復(fù)制區(qū)域、FLASH而進(jìn)行存取??刂萍拇嫫鞯闹翟陔娫垂┙o時(shí)被初始化電路INT初始設(shè)定??刂萍拇嫫鞯闹翟贛MU變更命令輸入時(shí)變更到指令寄存器REG。。
SRAM被選擇時(shí),通過存取開關(guān)(AS)對(duì)SRAM送出地址信號(hào)及指令信號(hào),進(jìn)行SRAM的存取。
地址轉(zhuǎn)換檢測(cè)器電路(ATD)檢測(cè)地址信號(hào)及指令信號(hào)的變化而輸出脈沖。又,指令轉(zhuǎn)換檢測(cè)器電路(CTD)檢測(cè)指令信號(hào)的變化而輸出脈沖。這種檢測(cè)電路通過檢測(cè)信號(hào)的變化而開始對(duì)存儲(chǔ)體存取。
R/W BUFFER暫時(shí)保持DRAM的讀取及寫入用的數(shù)據(jù)。
先進(jìn)先出存儲(chǔ)體(FIFO)用先進(jìn)先出的緩沖電路暫時(shí)保持對(duì)DRAM寫入的數(shù)據(jù)及其地址。CACHE在進(jìn)行更新的DRAM的切換時(shí)或一次的存取長(zhǎng)期進(jìn)行時(shí),暫時(shí)存儲(chǔ)對(duì)DRAM寫入的數(shù)據(jù)及自DRAM讀取的數(shù)據(jù)。
再者,CACHE也暫時(shí)存儲(chǔ)載入命令的對(duì)DRAM寫入的數(shù)據(jù)。
數(shù)據(jù)更新管理電路CPB則保持DRAM中被分配的FLASH數(shù)據(jù)復(fù)制區(qū)域內(nèi)的地址中數(shù)據(jù)被更新的地址或地址范圍(即進(jìn)行寫入的地址或地址范圍)的信息。
指令寄存器REG中保持、載入命令、儲(chǔ)存命令、存儲(chǔ)體管理單元MMU變更命令、斷電命令等命令碼、載入開始地址、載入結(jié)束地址、儲(chǔ)存開始地址、儲(chǔ)存結(jié)束地址等地址。
指令產(chǎn)生器COM_GEN產(chǎn)生對(duì)DRAM存取所需要的指令。
存取控制器A_CONT產(chǎn)生用于對(duì)CHIP2的全體控制及對(duì)DRAM存取用的地址。
快閃控制信號(hào)產(chǎn)生電路FGEN進(jìn)行FLASH的數(shù)據(jù)的讀取及寫入的制御。
錯(cuò)誤修正電路ECC檢查自FLASH讀取的數(shù)據(jù)是否有錯(cuò)誤,若有錯(cuò)誤則進(jìn)行修正。替代處理電路REP則檢查對(duì)FLASH的寫入是否正確,未正確進(jìn)行時(shí),則對(duì)FLASH中預(yù)先準(zhǔn)備的替代用新地址進(jìn)行寫入。
溫度計(jì)測(cè)模塊(TMP)測(cè)量溫度,將對(duì)應(yīng)于測(cè)得的溫度的信號(hào)輸出到RC及A_CONT。RC為更新計(jì)數(shù)器,配合DRAM的更新間隔產(chǎn)生進(jìn)行更新的地址。又,通過溫度計(jì)測(cè)模塊(TMP)的輸出信號(hào)進(jìn)行對(duì)應(yīng)于溫度的更新間隔的變更。
電力模塊(PM)進(jìn)行對(duì)CHIP2的控制電路(CTL_LOGIC)及DRAM的電源供給及電源的控制。時(shí)鐘信號(hào)產(chǎn)生器(CLK_GEN)生成時(shí)鐘信號(hào),供給到DRAM及控制電路(CTL_LOGIC)。指令產(chǎn)生器(COM_GEN)產(chǎn)生對(duì)DRAM存取時(shí)需要的指令。存取控制器(A_CONT)產(chǎn)生對(duì)CHIP2(SRAM+CTL_LOGIC)全體動(dòng)作的控制及對(duì)DRAM進(jìn)行存取用的地址。
其次說明本存儲(chǔ)模塊的動(dòng)作。
對(duì)CHIP2(SRAM+CTL_LOGIC)進(jìn)行存儲(chǔ)體存取時(shí),以以往一般使用的非同步SRAM方式為接口。
地址信號(hào)(A0~A24)或指令信號(hào)(S-/LB,S-/UB,S-/WE,S-/CE1,S-CE2,S-/OE)變化時(shí),ATD檢測(cè)該變化,開始對(duì)指令寄存器REG、SRAM、DRAM存取。
從外部輸入的地址信號(hào)(A0~A24)的值首先被MMU所變換。變換的模式由預(yù)先輸入MMU內(nèi)部的寄存器的值所決定。根據(jù)變換后地址,決定存取對(duì)象是指令寄存器REG、SRAM、或是DRAM。
對(duì)SRAM進(jìn)行存取時(shí),MMU將變換后的地址傳送到SRAM的同時(shí),對(duì)存取開關(guān)(AS)指示指令傳送。存取開關(guān)(AS)將指令傳送給SRAM,開始對(duì)SRAM存取。其后的動(dòng)作即對(duì)所謂非同步SRAM進(jìn)行存取。
對(duì)DRAM進(jìn)行讀取存取時(shí),對(duì)A_CONT送出從外部輸入而被MMU變換過的地址及ATD檢測(cè)出的指令。A_CONT根據(jù)收到的地址及指令判斷對(duì)DRAM進(jìn)行存取后,對(duì)COM_GEN指示對(duì)DRAM的指令發(fā)出。又,A_CONT將從MMU收到的地址變換成DRAM的行地址及列地址,將其輸出到2個(gè)DRAM中負(fù)責(zé)存取的DRAM。COM_GEN與CLK_GEN所產(chǎn)生之時(shí)鐘同步,與地址相同地將指令發(fā)給負(fù)責(zé)存取的DRAM。收到指令及地址的DRAM輸出數(shù)據(jù),被輸出的數(shù)據(jù)通過R/W BUFFER被傳送到I/O0~I(xiàn)/O15,而結(jié)束讀取存取。
對(duì)DRAM進(jìn)行寫入存取時(shí),對(duì)A_CONT送出從外部輸入而被MMU變換過的地址及ATD檢測(cè)出的指令及DTD檢測(cè)到的指令及數(shù)據(jù)。A_CONT根據(jù)收到的地址及指令判斷對(duì)DRAM進(jìn)行存取后,對(duì)COM_GEN指示對(duì)DRAM的指令發(fā)出。又,A_CONT將從MMU收到的地址變換成DRAM用地址,將其輸出到2個(gè)DRAM中負(fù)責(zé)存取的DRAM。COM_GEN與CLK_GEN所產(chǎn)生之時(shí)鐘同步,與地址相同地將指令發(fā)給負(fù)責(zé)存取的DRAM。寫入的數(shù)據(jù)被輸入到I/O0~I(xiàn)/O15暫時(shí)保持在R/W BUFFER后,被送到負(fù)責(zé)存取的DRAM中,進(jìn)行寫入。又,寫入的數(shù)據(jù)及其地址也被暫時(shí)保持在FIFO中,在另一個(gè)DRAM的更新也結(jié)束后被寫入。
在高溫下使用存儲(chǔ)模塊時(shí),縮短DRAM的更新間隔而頻繁地進(jìn)行更新即可。因此本存儲(chǔ)模塊中溫度計(jì)測(cè)模塊(TMP)測(cè)量溫度并通知給更新計(jì)數(shù)器及存取控制器。高溫時(shí)則更新計(jì)數(shù)器縮短更新間隔,輸出更新用地址。又,相反地低溫時(shí)若拉長(zhǎng)DRAM的更新間隔則可減少數(shù)據(jù)保持電流。此種情況下溫度計(jì)測(cè)模塊(TMP)也可測(cè)量溫度而通知更新計(jì)數(shù)器及存取控制器。低溫時(shí)則更新計(jì)數(shù)器拉長(zhǎng)更新間隔而輸出更新用地址。
安裝有存儲(chǔ)模塊的機(jī)器有時(shí)想要根據(jù)動(dòng)作狀態(tài)而減少耗電。因此說明以電力模塊改變存儲(chǔ)體的動(dòng)作狀態(tài)而減少耗電的方法。
電源控制的說明。
首先,最簡(jiǎn)單的方法是電力模塊根據(jù)指令信號(hào)PS停止更新計(jì)數(shù)器進(jìn)行更新。由此,DRAM中存儲(chǔ)的數(shù)據(jù)會(huì)被破壞,但可減少更新所需要的電力。
要更進(jìn)一步減少耗電,可在存儲(chǔ)模塊內(nèi)部中切斷對(duì)DRAM供給的電源。此時(shí)電力模塊根據(jù)機(jī)器輸出的指令信號(hào)PS停止對(duì)DRAM供給的D1-VCC,D2-VCC的電力供給。電源切斷對(duì)2個(gè)DRAM進(jìn)行也可,只切斷一方的DRAM的電源也可。
此外,要更進(jìn)一步減少耗電時(shí),電力模塊也可根據(jù)指令信號(hào)PS停止對(duì)CHIP2(SRAM+CTL_LOGIC)中與DRAM的存儲(chǔ)體存取相關(guān)的部分的電源供給即可。本狀態(tài)中可例如在CHIP2(SRAM+CTL_LOGIC)中除了SRAM以外,只對(duì)MMU及AS連接電源而動(dòng)作,成為只執(zhí)行對(duì)SRAM的存取的模式。
再者,也可根據(jù)指令PS而成為只保持SRAM的數(shù)據(jù)的動(dòng)作狀態(tài)。本種情況下,切斷連接SRAM的電源(S-VCC,S-VSS)以外的電源,禁止對(duì)存儲(chǔ)體進(jìn)行存取。本狀態(tài)中存儲(chǔ)模塊進(jìn)行SRAM中所存儲(chǔ)的數(shù)據(jù)的保持。
暫時(shí)停止對(duì)DRAM供給電源而停止動(dòng)作后要使DRA重新動(dòng)作,除了重新開始供給電源之外,必須進(jìn)行DRAM的初始化。初始化方法為一般的方法,在本存儲(chǔ)模塊中,初始化電路(INT)對(duì)存取控制器(A_CONT)指示初始化的順序而執(zhí)行初始化。
又,停止DRAM的更新后要使DRAM重新動(dòng)作時(shí),也必須進(jìn)行DRAM的初始化,初始化電路(INT)仍然要對(duì)存取控制器(A_CONT)指示初始化的順序而執(zhí)行初始化。
圖37所示為經(jīng)MMU變換的存儲(chǔ)映像的一例。這種存儲(chǔ)映像均可根據(jù)MMU內(nèi)部的寄存器的設(shè)定值而選擇。雖并不特別受限,本實(shí)施例中以FLASH的存儲(chǔ)區(qū)域?yàn)?56+8Mb、SRAM的數(shù)據(jù)保持區(qū)域?yàn)?Mb、DRAM的存儲(chǔ)區(qū)域?yàn)?56Mb的存儲(chǔ)模塊為例說明了代表性存儲(chǔ)映像。
圖37所示的存儲(chǔ)映像以從外部輸入的地址A0~A24為基礎(chǔ),存儲(chǔ)體管理單元MMU對(duì)指令寄存器REG、SRAM、DRAM內(nèi)工作區(qū)域、DRAM內(nèi)FLASH復(fù)制區(qū)域、FLASH進(jìn)列地址變換。根據(jù)地址選擇而存取。
對(duì)控制電路(CTL_LOGIC)內(nèi)部存在的指令寄存器REG,從外部寫入載入命令、儲(chǔ)存命令、MMU寄存器變更命令、斷電命令等命令碼或載入命令或儲(chǔ)存命令時(shí)的開始地址或結(jié)束地址。
在指令寄存器REG中寫入載入命令后,控制電路從FLASH對(duì)DRAM傳送資。換言之,對(duì)DRAM。儲(chǔ)存命令寫入后,控制電路將數(shù)據(jù)從DRAM傳送到FLASH。即對(duì)DRAM進(jìn)行讀取。
2個(gè)DRAM(CHIP3及CHIP4)保持映像到同一地址空間的同一數(shù)據(jù)。各個(gè)DRAM交互重覆負(fù)責(zé)存取的期間(WORK期間)及優(yōu)先執(zhí)行更新的期間(REF.期間)。來自外部的存儲(chǔ)體存取則對(duì)WORK期間中的DRAM執(zhí)行。
又,本例中2Mb的SRAM區(qū)域設(shè)定成集中在地址空間的下部,本區(qū)域與DRAM重復(fù)映像在存儲(chǔ)體空間中,但不進(jìn)行DRAM的存取,只進(jìn)行SRAM的存取。
控制存儲(chǔ)模塊的電源只保持SRAM的數(shù)據(jù)而使用時(shí),可集中管理SRAM的區(qū)域。
未被存取的DRAM的區(qū)域(SHADOW)可用于救濟(jì)DRAM的存儲(chǔ)單元。本存儲(chǔ)模塊設(shè)計(jì)成可在低溫時(shí)延更新間隔而減少耗電,此時(shí)會(huì)產(chǎn)生數(shù)據(jù)保持困難的存儲(chǔ)單元(Fail bit)。因此,可使用該成為SHADOW的DRAM進(jìn)行Fail bit的替代。圖37中WORK期間中的DRAM有Fail bit A,REF.期間中的DRAM有Fail bit B,其地址事前有登錄,對(duì)Fail bit進(jìn)行存取時(shí),則存取各自的SHADOW以代之。通過SHADOW的替代,可救濟(jì)Fail bit,通過延長(zhǎng)低溫時(shí)的更新間隔,得到耗電少的存儲(chǔ)模塊。
圖38所示為隱藏DRAM的更新的存取控制方式的原理。本發(fā)明中的DRAM的動(dòng)作可通過向REF期間中對(duì)庫(kù)(bank)的存取賦與優(yōu)先順序而執(zhí)行來說明。
圖35(A)所示為存取的優(yōu)先順序示意圖。本圖表示DRAM1在WORK期間中,DRAM2在REF.期間中。又,圖中顯示暫時(shí)代為存取的CACHE、暫時(shí)保管寫入數(shù)據(jù)的FIFO、從RC產(chǎn)生的更新要求、載入及儲(chǔ)存命令時(shí)的DRAM存取。
WORK期間中的DRAM1中,只進(jìn)行從外部的存取(1)。另一方面,期間中的DRAM2中則首先最優(yōu)先進(jìn)行更新(2)。其次,執(zhí)行保持在FIFO中的數(shù)據(jù)的寫入(3)。其次,執(zhí)行CACHE所保持的載入命令的對(duì)DRAM寫入數(shù)據(jù)的寫回(4),最后,執(zhí)行載入命令及儲(chǔ)存命令對(duì)DRAM存取(5)。這種動(dòng)作均由存取控制電路(A_CONT)判斷其優(yōu)先順序而執(zhí)行。
又,外部存取(1)執(zhí)行一次存取要80ns,更新(2)及從FIFO寫回(3)、從CACHE的寫入存取(4)、載入、儲(chǔ)存命令時(shí)的存取(5)的執(zhí)行要70ns。本存儲(chǔ)模塊利用該時(shí)間差從外部隱藏更新。
圖38(B)所示為執(zhí)行讀取存取的情形。顯示DRAM1在WORK期間中連續(xù)進(jìn)行讀取存取的情形。DRAM1中只有外部存取(3)執(zhí)行80ns,讀出數(shù)據(jù)后結(jié)束存取。另一方面,DRAM2中更新(2)只執(zhí)行70ns。
圖38(C)所示為進(jìn)行寫入存取的情形。從外部的寫入存取(1)首先在WORK期間中的DRAM1中執(zhí)行。同時(shí)將寫入數(shù)據(jù)暫時(shí)保存在FIFO中。REF期間中的DRAM2中首先最優(yōu)先進(jìn)行更新(2)。其次執(zhí)行保持在FIFO中的數(shù)據(jù)的寫回(3)。
在此,WORK期間中的DRAM1一次的動(dòng)作需要80ns,相對(duì)在此,REF期間中的DRAM2中一次的動(dòng)作70ns即結(jié)束。因此,即使DRAM2進(jìn)行更新動(dòng)作,由于寫入動(dòng)作進(jìn)行得比DRAM1快,故可結(jié)束FIFO中的所有數(shù)據(jù)寫入而追上DRAM1。
圖39所示為以載入及儲(chǔ)存命令對(duì)DRAM寫入或讀取存取隱藏動(dòng)作。
圖39(A)所示為以儲(chǔ)存命令對(duì)DRAM執(zhí)行讀取存取時(shí),從外部產(chǎn)生讀取存取及寫入存取時(shí)對(duì)DRAM存取的情形。顯示DRAM1在WORK期間中,DRAM2在REFRESH期間中例。DRAM1中只有從外部的讀取存取(1)進(jìn)行80ns。另一方面,DRAM2中以儲(chǔ)存命令對(duì)DRAM只執(zhí)行70ns的的讀取存取(4)。
圖39(B)所示為以載入命令對(duì)DRAM執(zhí)行寫入存取時(shí),從外部產(chǎn)生寫入存取時(shí)對(duì)DRAM存取的情形。DRAM1中從外部的寫入存取(1)進(jìn)行80ns,同時(shí)將寫入數(shù)據(jù)暫時(shí)保持在FIFO。
REF期間中的DRAM2中,以載入命令對(duì)DRAM進(jìn)行寫入存取(5),同時(shí)將寫入數(shù)據(jù)保持在CACHE。其次,執(zhí)行保持在FIFO中的數(shù)據(jù)的寫入(3)。又,保持在CACHE中的數(shù)據(jù)在DRAM1的REFRESH期間中寫回DRAM1。
在此,WORK期間中的DRAM1一次動(dòng)作需要80ns,相對(duì)在此,REF期間中的DRAM2中一次的動(dòng)作70ns即結(jié)束。因此,即使DRAM2以載入命令進(jìn)行寫入動(dòng)作,由于寫入動(dòng)作進(jìn)行得比DRAM1快,故可結(jié)束FIFO中的所有數(shù)據(jù)寫入而追上DRAM1。
圖39(C)所示為DRAM1換到REFRESH期間、DRAM2換到WORK期間時(shí)執(zhí)行從CACHE到DRAM的寫入存取時(shí),從外部產(chǎn)生寫入存取時(shí)對(duì)DRAM存取的情形。DRAM2中從外部的寫入存取(1)進(jìn)行80ns,同時(shí)將寫入數(shù)據(jù)暫時(shí)保持在FIFO。
REF期間中的DRAM1中,執(zhí)行從CACHE到DRAM的寫入存取(4),接著執(zhí)行保持在FIFO中的數(shù)據(jù)的寫入(3)。
在此,WORK期間中的DRAM2一次動(dòng)作需要80ns,相對(duì)在此,REF期間中的DRAM1中一次的動(dòng)作70ns即結(jié)束。因此,即使DRAM1進(jìn)行從CACHE的寫入動(dòng)作,由于寫入動(dòng)作進(jìn)行得比DRAM2快,故可結(jié)束FIFO中的所有數(shù)據(jù)寫入而追上DRAM2。
如此,可隱藏載入命令及儲(chǔ)存命令對(duì)DRAM內(nèi)部的存取,而從外部執(zhí)行存取。
圖40所示為為了隱藏DRAM的更新或載入命令或儲(chǔ)存命令對(duì)DRAM內(nèi)部的存取,使2個(gè)DRAM分時(shí)動(dòng)作的情形。圖40(A)為通常使用溫度范圍的75℃以下的DRAM的動(dòng)作例。2個(gè)DRAM(DRAM1及DRAM2)交互重覆WORK期間及REF.期間。在標(biāo)示W(wǎng)ORK的WORK期間中的DRAM對(duì)外部存取動(dòng)作。最初的DRAM1進(jìn)入WORK期間,對(duì)應(yīng)來自外部的存取。另一方面,REF.期間中的DRAM優(yōu)先進(jìn)行更新動(dòng)作,外部存取在寫入之時(shí)在更新結(jié)束后進(jìn)行數(shù)據(jù)的寫入。
DRAM的存儲(chǔ)單元通常必須在64ms以內(nèi)進(jìn)行更新,圖示的例中在該時(shí)間內(nèi)切換WORK期間及REF.期間8次,DRAM1及DRAM2互相重覆WORK期間及REF.期間各4次。
在此,以在一次的REF.期間的8ms間進(jìn)行更新所需要之時(shí)間為T1,將在同一期間內(nèi)進(jìn)行寫入存取之后累積在FIFO的數(shù)據(jù)寫回所需要之時(shí)間為T2,可進(jìn)行載入命令時(shí)的寫入存取之時(shí)間為T3,說明REF.期間中進(jìn)行的更新、載入時(shí)寫入存取及寫回。
以256Mbit的SDRAM為例,其存儲(chǔ)體構(gòu)成為8192行x512列x16位元x4庫(kù),在64ms的期間內(nèi)進(jìn)行32768次(8192行x4庫(kù)分)的更新即可。因此,圖40(A)的例中對(duì)1個(gè)DRAM在64ms的期間內(nèi)有4次REF.期間,故一次REF.期間(8ms)內(nèi)進(jìn)行8192次更新。
一次的更新需要的時(shí)間70ns,故T1=70ns×8192次=0.574ms。另一方面,求出在8ms的期間內(nèi)從外部進(jìn)行的寫入存取的最大值,每次的存取均為寫入的話,則為100000次(8ms/80ns)。將其寫回REF.期間中的DRAM所需要之時(shí)間T1為7ms(70ns×100000次)。若進(jìn)行載入時(shí)寫入存取4096次,則載入時(shí)寫入存取所需要之時(shí)間T3=70ns×4096次=0.287ms。
因此,T1+T2+T3=7.861ms<8ms,可知在REF.期間中可充分地執(zhí)行更新及載入命令的寫入存取及寫回。又,更新也可在REF期間中的DRAM內(nèi)的多個(gè)庫(kù)同時(shí)執(zhí)行。此時(shí)可減少T1期間內(nèi)執(zhí)行的更新的次數(shù),故可縮短T1期間。若縮短T1期間,則可以減少FIFO的存儲(chǔ)容量外,也可得到從外部存取之間隔較短的高速存儲(chǔ)體。
圖40(B)所示為變更DRAM的更新間隔的情形。一般而言,DRAM的更新特性在高溫時(shí)會(huì)惡化。因此例如在75℃以上的高溫下縮短更新間隔即可保持?jǐn)?shù)據(jù),可在更大的溫度范圍內(nèi)動(dòng)作。本例中高溫時(shí)的更新間隔縮短到48ms。T1未改變,而T2變?yōu)?.25ms,T3變?yōu)?.144ms的話,T1+T2+T3=597ms<6ms,可知在REF.期間中可充分執(zhí)行更新及載入時(shí)寫入存取及寫回。
另一方面,在低溫時(shí)可縮短更新間隔以減少數(shù)據(jù)保持電流。圖示的例中低溫時(shí)將更新間隔延長(zhǎng)成2倍,達(dá)到128ms。此時(shí)REF期間為16ms。T1未改變,而T2變?yōu)?4ms,T3變?yōu)?.15ms,T1+T2+T3=15.8ms<16ms,得知在REF.期間中可充分執(zhí)行更新及載入時(shí)寫入存取及寫回。
本實(shí)施例中以每一芯片說明DRAM的動(dòng)作單位,但也可根據(jù)存儲(chǔ)模塊的性能或存儲(chǔ)體芯片的構(gòu)成以庫(kù)(bank)為動(dòng)作單位。又,將更新間隔64ms分割為8個(gè)期間作為WORK期間及REF期間,若再更細(xì)分則可減少保持?jǐn)?shù)據(jù)及地址用的FIFO的存儲(chǔ)容量。相反地分割成較大單位的話則可減少WORK期間與REF期間的切換次數(shù),故可簡(jiǎn)化切換用的控制電路。
圖41說明CACHE的作用。圖41(A)所示為WORK期間與REF.期間切換之前從外部進(jìn)行寫入存取的情形。在此在DRAM1的WORK期間結(jié)束時(shí)進(jìn)行外部存取A。此時(shí)DRAM1的WORK期間到寫入存取結(jié)束為止延長(zhǎng)dT。另一方面,DRAM2則如預(yù)定的WORK期間,不寫入寫入數(shù)據(jù)而待命到寫入存取結(jié)束為止。未寫入DRAM2的數(shù)據(jù)先暫時(shí)保持在CACHE。WORK期間中與保持在CACHE中者相同的地址產(chǎn)生存取時(shí),則不對(duì)DRAM2而對(duì)CACHE進(jìn)行讀寫。又,存取為寫入存取時(shí),對(duì)REF.期間中的DRAM1與平常相同地經(jīng)由FIFO進(jìn)行寫入。保持在CACHE中的數(shù)據(jù)則在DRAM2的WORK期間結(jié)束的下一個(gè)REF.期間內(nèi)被寫回。該寫回結(jié)束后清除CACHE的內(nèi)容。
存取為讀取存取時(shí),到存取結(jié)束為止,將DRAM1的WORK期間延長(zhǎng)dT。
圖41(B)所示為一次的存取進(jìn)行得較WORK期間及REF.期間為長(zhǎng)的情形,或延長(zhǎng)期間dT無(wú)法完全涵蓋的情形。DRAM1在WORK期間中開始的外部存取B超過延長(zhǎng)時(shí)間dT,而在其次的REF.期間中仍然繼續(xù)存取。此時(shí)的存取由CACHE接手,DRAM1進(jìn)入REF.期間。DRAM2按照預(yù)定進(jìn)行WORK期間,進(jìn)入待機(jī)狀態(tài)。讀取存取之時(shí)數(shù)據(jù)從DRAM1給CACHE接手。寫入存取之時(shí)持續(xù)進(jìn)行的存取結(jié)束后,將寫入CACHE的數(shù)據(jù)寫回DRAM1及DRAM2。寫回在各個(gè)DRAM進(jìn)入REF.期間后進(jìn)行。二者的寫回結(jié)束后,清除CACHE的內(nèi)容。如此使用CACHE可處理跨WORK期間及REF.期間的存取或一次或復(fù)數(shù)次的超過WORK期間的存取。
圖42所示為本發(fā)明的存儲(chǔ)模塊的動(dòng)作波形的一例。A0~A20,S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE為輸出到存儲(chǔ)模塊的信號(hào),即所謂非同步SRAM的接口信號(hào)。數(shù)據(jù)輸入輸出信號(hào)I/O0~I(xiàn)/O15分為數(shù)據(jù)的輸入及輸出,各以DIN、DOUT表示。MMU,ATD,DTD各表示MMU電路、ATD電路、CTD電路的輸出信號(hào)。D1-CLK為供給到DRAM1之時(shí)鐘信號(hào),D1-COM為供給到DRAM1的指令信號(hào)的總稱,D1-A0~D1-A15為供給到DRAM的DRAM1的地址信號(hào),D1-DQ0~D1-DQ15為DRAM的I/O線,為DRAM1的輸入輸出數(shù)據(jù)信號(hào)。
D2-CLK為供給到DRAM2的時(shí)鐘信號(hào),D2-COM為供給到DRAM2的指令信號(hào)的總稱,D2-A0~D2-A15為供給到DRAM的DRAM2的地址信號(hào),D2-DQ0~D2-DQ15為DRAM的I/O線,為DRAM2的輸入輸出數(shù)據(jù)信號(hào)。
首先,說明開始時(shí)進(jìn)行的讀取存取。輸入地址A0~A24后,MMU電路輸出變換后的地址。ATD電路檢測(cè)地址A0~A24及指令類(S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE)的變化,地址及指令確定后輸出脈沖。以本脈沖為起點(diǎn),對(duì)WORK期間中的DRAM1發(fā)出庫(kù)主動(dòng)指令A(yù)及行地址Ra,其次發(fā)出讀取指令R及列地址Co。從DRAM1讀出的數(shù)據(jù)輸出到D-DQ0~D-DQ15,先通過R/W BUFFER再輸出到I/O0~I(xiàn)/O15。又,對(duì)REF.期間中的DRAM2以庫(kù)主動(dòng)指令A(yù)及預(yù)先充電指令P進(jìn)行更新。
再說明下一周期中的寫入存取的執(zhí)行例。
寫入存取時(shí)也與讀取存取同樣地以ATD信號(hào)的下降為起點(diǎn)對(duì)DRAM1及DRAM2發(fā)出庫(kù)主動(dòng)指令A(yù)及行地址Ra。寫入存取時(shí)未進(jìn)行更新動(dòng)作,故發(fā)出指令及地址給DRAM1及DRAM2雙方。
其后,CTD電路檢測(cè)指令類(S-/CE1,S-CE2,S-/LB,S-/UB,S-/OE,S-/WE)的變化,識(shí)別其為寫入動(dòng)作,輸出脈沖。以該脈沖為起點(diǎn)對(duì)DRAM1及DRAM2雙方發(fā)出寫入指令W及列指令Co,執(zhí)行寫入。
如上說明的實(shí)施例中,可沿用SRAM接口方式而使用便宜的通用DRAM得到大容量存儲(chǔ)模塊。本發(fā)明的控制電路(CTL_LOGIC)中使用DRAM,但由于DRAM所需的更新由控制電路(CTL_LOGIC)所執(zhí)行,故與SRAM同樣地可不考慮更新而使用。再者,由于可通過DRAM中的數(shù)據(jù)保持的二重化及進(jìn)行更新的時(shí)序及載入或儲(chǔ)存命令對(duì)DRAM內(nèi)部的存取的調(diào)整,可將DRAM的更新及內(nèi)部存取從存儲(chǔ)模塊外部隱藏起來,因此存取本存儲(chǔ)模塊時(shí)不必考慮更新及DRAM的內(nèi)部存取而調(diào)整時(shí)序。因此可以與先前只使用的SRAM存儲(chǔ)模塊同樣地使用,故不必變更先前的統(tǒng)即可使用大容量存儲(chǔ)模塊。又,通過減少DRAM的更新間隔,在高溫時(shí)也可使DRAM動(dòng)作,可得到使用溫度范圍大的存儲(chǔ)模塊。另一方面,通過在低溫時(shí)增加DRAM的更新間隔,可減少數(shù)據(jù)保持所需要的電力,得到數(shù)據(jù)保持電力少的存儲(chǔ)模塊。
電力模塊PM的作用下,可停止DRAM的一部分全部的電源供給,限定存儲(chǔ)區(qū)域,而減少數(shù)據(jù)保持所需要的電力。再者,通過也停止對(duì)控制電路供給電源,可得到數(shù)據(jù)保持電力少的存儲(chǔ)模塊。又,此種情形下可用MMU自由地設(shè)定進(jìn)行數(shù)據(jù)保持的存儲(chǔ)區(qū)域,故可對(duì)應(yīng)于各種機(jī)器廣泛地使用。
<實(shí)施例5>
圖43所示為本發(fā)明的存儲(chǔ)模塊的第四實(shí)施例。圖43(A)為俯視圖,圖43(B)為剖面圖。本存儲(chǔ)模塊在通過球狀格子陣列(Ball Grid Array,BGA)安裝在裝置上的基板(例如玻璃環(huán)氧基板所制成的印刷電路板PCB)上,安裝CHIP1(FLASH)、CHIP2(SRAM+CTL_LOGIC)、CHIP3(DRAM1)及CHIP4(DRAM2)。雖不特別受限,CHIP3及CHIP4中使用在芯片的中央排列1列信號(hào)及電源焊墊列的通用DRAM的裸芯片。又,雖不特別受限,CHIP1中使用在芯片的一端排列一排信號(hào)及電源焊墊列的FLASH的通用裸芯片。
CHIP1及基板上的接合墊以接合線(PATH2)連接,CHIP2及基板上的接合墊以接合線(PATH3)連接。CHIP3及CHIP4與CHIP2以接合線(PATH1)連接。CHIP1及CHIP2以接合線(PATH4)連接。搭載有芯片的基板上面進(jìn)行樹脂模塑,以保護(hù)各芯片及連接配線。又,也可另外在其上加上金屬、陶瓷或樹脂的蓋子(COVER)。
本發(fā)明的實(shí)施例中由于在印刷電路板PCB上直接搭載裸芯片,故可形成安裝面積小的存儲(chǔ)模塊。又,由于可接近配置各芯片,故可縮短芯片間配線長(zhǎng)度。通過將芯片間的配線及各芯片與基板間的配線統(tǒng)一成接合線方式,可用較少的步驟數(shù)制造存儲(chǔ)模塊。再者,通過以接合線對(duì)芯片間直接配線,可減少基板上的接合墊數(shù)及接合線的條數(shù),以較少的步驟數(shù)制造存儲(chǔ)模塊。由于可使用大量量產(chǎn)的通用DRAM的裸芯片,故可便宜且安定地供給存儲(chǔ)模塊。使用樹脂蓋時(shí),可形成更強(qiáng)韌的存儲(chǔ)模塊。使用陶瓷或金屬蓋時(shí),除了強(qiáng)度外,更可形成放熱性或遮蔽效果優(yōu)良的存儲(chǔ)模塊。
圖44所示為本發(fā)明的存儲(chǔ)模塊的圖43的變形例。圖44(A)為俯視圖,圖44(B)為剖面圖。本例中,CHIP2(SRAM+CTL_LOGIC)安裝在CHIP3及CHIP4上。對(duì)CHIP2及CHIP3或CHIP4的配線使用PATH5。CHIP1及基板上的接合墊以接合線(PATH2)連接,CHIP2及基板上的接合墊以接合線(PATH3)連接。CHIP1及CHIP2以接合線(PATH4)連接。
本安裝方法可減少印刷電路板PCB的面積。
又,通過積層的芯片間的配線PATH1,可縮短配線長(zhǎng)度,故除了可提高配線的可靠度外,也可降低對(duì)外部的噪聲輻射。
<實(shí)施例6>
圖45所示為使用本發(fā)明的存儲(chǔ)模塊的移動(dòng)電話機(jī)的實(shí)施例。
移動(dòng)電話由、天線ANT、無(wú)線區(qū)塊RF、基頻區(qū)塊BB、聲音編解碼器區(qū)塊SP、揚(yáng)聲器SK、拾音器MK、處理器CPU、液晶顯示部LCD、鍵盤KEY、本發(fā)明的存儲(chǔ)模塊MEM所構(gòu)成。
說明通話時(shí)的動(dòng)作。
通過天線ANT收到的聲音被無(wú)線區(qū)塊放大,輸出到基頻區(qū)塊BB。基頻區(qū)塊BB將聲音的模擬信號(hào)變換成數(shù)字信號(hào),進(jìn)行錯(cuò)誤修正及解調(diào)處理,輸出到聲音編解碼器區(qū)塊SP。聲音編解碼器區(qū)塊將數(shù)字信號(hào)變換成模擬信號(hào),輸出到揚(yáng)聲器SK后,從揚(yáng)聲器可聽到對(duì)方的聲音。
說明從移動(dòng)電話機(jī)存取因特網(wǎng)的網(wǎng)頁(yè),下載音樂數(shù)據(jù),播放收聽,最后儲(chǔ)存下載音樂數(shù)據(jù)的一連串的作業(yè)的動(dòng)作。
存儲(chǔ)模塊MEM中,存放有基本程序、應(yīng)用程序(電子郵件、Web瀏覽器、音樂播放、游戲等)。
從鍵盤指示起動(dòng)Web瀏覽器后,存放在存儲(chǔ)模塊MEM內(nèi)的FLASH的Web瀏覽器的程序被傳送到同一存儲(chǔ)模塊內(nèi)的DRAM。對(duì)DRAM的傳送結(jié)束后,處理器CPU執(zhí)行DRAM內(nèi)的Web瀏覽器的程序,在液晶顯示LCD上顯示W(wǎng)eb瀏覽器。存取所要的網(wǎng)頁(yè),從鍵盤指示下載喜歡的音樂數(shù)據(jù)后,通過天線ANT接收音樂數(shù)據(jù),以無(wú)線區(qū)塊放大,輸入到基頻區(qū)塊BB?;l區(qū)塊BB將為模擬信號(hào)的音樂數(shù)據(jù)變換成數(shù)字信號(hào),進(jìn)行錯(cuò)誤修正及解調(diào)處理。最后,將數(shù)字信號(hào)化的音樂數(shù)據(jù)先存放到存儲(chǔ)模塊MEM的DRAM中,再傳送到FLASH。
其次以鍵盤KEY指示音樂播放程序的起動(dòng)后,存放在存儲(chǔ)模塊MEM內(nèi)的FLASH中的音樂播放程序被傳送到同一存儲(chǔ)模塊內(nèi)的DRAM。對(duì)DRAM的傳送結(jié)束后,處理器CPU執(zhí)行DRAM內(nèi)的聲音播放程序,在液晶顯示LCD中顯示音樂播放程序。
從鍵盤下達(dá)聽取下載到DRAM中的音樂數(shù)據(jù)的指示后,處理器CPU執(zhí)行音樂播放程序,處理保持在DRAM中的音樂數(shù)據(jù),最后從揚(yáng)聲器SK聽到音樂。
此時(shí),由于本發(fā)明的存儲(chǔ)模塊使用大容量的DRAM,故Web瀏覽器及音樂播放程序被保持在DRAM中,哪一個(gè)程序均被CPU同時(shí)執(zhí)行。再者,也可同時(shí)啟動(dòng)電子郵件程序,收發(fā)電子郵件。
由于Web瀏覽器停止時(shí)也保持在存儲(chǔ)模塊內(nèi)的DRAM中,故要再起動(dòng)時(shí)可立即起動(dòng)。
從鍵盤輸入斷電的指示后,存儲(chǔ)模塊只使SRAM動(dòng)作,進(jìn)行最低限度的數(shù)據(jù)保持,可使耗電極小。
如此,通過使用本發(fā)明的存儲(chǔ)模塊,可存放大量的電子郵件、音樂播放、應(yīng)用程序、音樂數(shù)據(jù)、影像數(shù)據(jù)、動(dòng)畫數(shù)據(jù)等,再者,可同時(shí)執(zhí)行多個(gè)程序。
發(fā)明的效果如上所說明者,本發(fā)明的較佳實(shí)施例所得到的效果如下。通過將FLASH的數(shù)據(jù)復(fù)制到DRAM,可使FLASH數(shù)據(jù)的讀取及寫入速度與SDRAM及SRAM相當(dāng)。
符號(hào)的說明CHIP1…非易失性存儲(chǔ)體、CHIP2…控制電路(CTL_LOGIC)或靜態(tài)隨機(jī)存取存儲(chǔ)體(SRAM)及集成有控制電路(CTL_LOGIC)的半導(dǎo)體芯片、CHIP3…動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體(DRAM)或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體(DRAM1)、CHIP4…動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體(DRAM2)、S-VCC…CHIP2的電源、S-VSS…CHIP2的接地、PS…電力控制信號(hào)、L-VCC…CHIP2的電源、L-VSS…CHIP2接地、CLK…CHIP2的時(shí)鐘信號(hào)、CKE…CHIP2的時(shí)鐘啟動(dòng)信號(hào)、/CS…CHIP2的芯片選擇信號(hào)、/RAS…CHIP2的行地址選通信號(hào)、/CAS…CHIP2的列地址選通信號(hào)、/WE…CHIP2的寫入啟動(dòng)信號(hào)、DQMU/DQML…CHIP2的輸入/輸出屏蔽信號(hào)、WAIT…CHIP的等待信號(hào)、A0~A15…CHIP2的地址信號(hào)、D1-CLK…CHIP3的時(shí)鐘信號(hào)、D1-CKE…CHIP3的時(shí)鐘啟動(dòng)信號(hào)、D1-/CS…CHIP3的芯片選擇信號(hào)、D1-/RAS…CHIP3的行地址選通信號(hào)、D1-/CAS…CHIP3的列地址選通信號(hào)、D1-/WE…CHIP3的寫入啟動(dòng)信號(hào)、D1-A0~D1-A15…CHIP3的地址信號(hào)、D1-DQMU/DQML…CHIP3的輸入/輸出屏蔽信號(hào)、D1-DQ0~D2-DQ15…CHIP3的數(shù)據(jù)輸入輸出、D1-VCC…CHIP3的電源、D1-VSS…CHIP3的接地、D1-VCCQ…CHIP3的I/O用電源、D1-VSSQ…CHIP3的I/O用接地、F-/CE…CHIP1的芯片啟動(dòng)信號(hào)、F-/OE…CHIP1的輸出啟動(dòng)信號(hào)、F-/WE…CHIP1的寫入啟動(dòng)信號(hào)、F-SC…CHIP1的串列時(shí)鐘信號(hào)、F-/RES…CHIP1的重置信號(hào)、F-CDE…CHIP1的指令數(shù)據(jù)啟動(dòng)信號(hào)、F-RDY/BUSY…CHIP1的待命/忙碌信號(hào)、I/O0~I(xiàn)/O7…CHIP1的輸入輸出信號(hào)、COM_GEN…指令產(chǎn)生器、INT…初始化電路、MMU…存儲(chǔ)體管理單元、CPB…數(shù)據(jù)更新地址管理電路、REG…指令寄存器、A_CONT存取控制器、PM…電力管理模塊、R/W BUFFER…讀取/寫入緩沖器、CLKBUF…時(shí)鐘緩沖器、FGEN…快閃制御信號(hào)產(chǎn)生電路、ECC…錯(cuò)誤修正電路、REP…替代處理電路、FLASHCopyArea…快閃數(shù)據(jù)復(fù)制區(qū)域、WorkArea…工作區(qū)域、MD-Area…主數(shù)據(jù)區(qū)域、REP-Area…替代區(qū)域、Fail Area B…不良區(qū)域B、Fail Area C…不良區(qū)域C、A、As…主動(dòng)命令、R、Rs…讀取命令、W…寫入命令、RR、R0、R1、RD、RT、RU…行地址、RC、C0、C1、CD、CF、CT、CU、CR…列地址、Ld…載入命令碼、Sa…開始地址、Ea…結(jié)束地址、P、Ps…預(yù)先充電命令、In…輸入數(shù)據(jù)、O、Os…輸出數(shù)據(jù)、St…儲(chǔ)存命令碼、B、BOs…庫(kù)地址、C-BUF…控制器信號(hào)緩沖、CTL…指令控制器、MUX…多工器、DI-BUF…數(shù)據(jù)輸入緩沖、輸入數(shù)據(jù)控制器IDC…輸入數(shù)據(jù)控制器、SA-BUF…扇區(qū)地址緩沖、X-DEC…X解碼器、MA…存儲(chǔ)體陣列、Y-CT…Y地址計(jì)數(shù)器、Y-DEC…Y解碼器、YGATE/SENSE-AMP…Y柵極&檢測(cè)放大電路、DATA-REG…數(shù)據(jù)寄存器、DO-BUF…數(shù)據(jù)輸出緩沖、Rcode…讀取命令碼、AD1、AD2、AD3…地址、F-/CE…芯片啟動(dòng)信號(hào)、F-CLE…指令閂鎖啟動(dòng)信號(hào)、F-ALE…地址閂鎖啟動(dòng)信號(hào)、F-/WE…寫入啟動(dòng)信號(hào),F(xiàn)-/RE…讀取啟動(dòng)信號(hào)、F-/WP…寫入保護(hù)信號(hào)、F-R/B…待命/忙碌信號(hào),I/O0~I(xiàn)/O7…用于輸入輸出信號(hào)的地址的輸入或數(shù)據(jù)的輸入輸出。
L-CONT…動(dòng)作邏輯控制器、CTL…控制電路、I/O-CONT…輸入輸出控制電路、STREG…狀態(tài)寄存器、ADREG…地址寄存器、COMREG…指令寄存器、R-B…待命/忙碌電路、VL-GEN…高電壓產(chǎn)生電路、ROW-BUF…行地址緩沖、ROW-DEC…行地址解碼器、COL-BUF…行緩沖器、COL-DEC…列解碼器、DATA-REG…數(shù)據(jù)寄存器、SENSE-AMP…檢測(cè)放大、MA…存儲(chǔ)體陣列、X-ADB…X地址緩沖、REF.COUNTER…更新計(jì)數(shù)器,X-DEC…X解碼器、MA…存儲(chǔ)體陣列,Y-ADB…Y地址緩沖、Y-AD COUNTER…Y地址計(jì)數(shù)器、Y-DEC…Y解碼器,SENS AMP.&I/O BUS…檢測(cè)放大電路&Y柵極、INPUT BUFFER…輸入數(shù)據(jù)緩沖電路、OUTPUT BUFFER…輸出數(shù)據(jù)緩沖電路、CONTROL LOGIC & TG…控制電路&時(shí)序產(chǎn)生電路、S-/CE1,、S-CE2…芯片啟動(dòng)信號(hào)、S-/OE…輸出啟動(dòng)信號(hào)、S-/WE…寫入啟動(dòng)信號(hào)、S-/LB…低位元組選擇信號(hào)、S-/UB…高位元組選擇信號(hào)、AS…存取開關(guān)電路、SRAM…靜態(tài)隨機(jī)存取存儲(chǔ)體、ATD…地址轉(zhuǎn)換檢測(cè)器、CTD…指令轉(zhuǎn)換檢測(cè)器、TMP…溫度測(cè)定模塊、RC…更新計(jì)數(shù)器、X-DEC…X解碼器、MA(SRAM)…存儲(chǔ)體陣列、Y-GATE…Y柵極、Y-DEC…Y解碼器、D_CTL…輸入數(shù)據(jù)控制電路、CONTROL LOGIC…控制電路、PCB…印刷電路基板、COVER…模塊的密封蓋、PATH1…連接CHIP1及CHIP3或CHIP4的接合配線、PATH2…連接PCB及CHIP1的接合配線、PATH3…連接PCB及CHIP2的接合配線、PATH4…連接CHIP1及CHIP2的接合配線、PATH5…連接CHIP3或CHIP4及CHIP3及安裝在CHIP4上的CHIP2的配線,F(xiàn)IFO…先進(jìn)先出(存儲(chǔ)體)、CACHE…快取存儲(chǔ)體、SHADOW…投影區(qū)域、WORK…工作期間、REF…更新期間、ANT…天線、RF…無(wú)線區(qū)塊、BB…基頻區(qū)塊、SP…聲音編解碼器區(qū)塊、SK…揚(yáng)聲器、MK…拾音器、CPU…處理器、LCD…液晶顯示部、KEY…鍵盤、MEM…本發(fā)明的存儲(chǔ)模塊。
權(quán)利要求
1.一種半導(dǎo)體存儲(chǔ)裝置,其包含非易失性存儲(chǔ)體,其具有第1讀取時(shí)間;隨機(jī)存取存儲(chǔ)體,其具有第2讀取時(shí)間,其讀取時(shí)間較前述第1讀取時(shí)間至少少100倍以上;電路,其與前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體結(jié)合,并包含一控制電路,用于控制對(duì)前述隨機(jī)存取存儲(chǔ)體及前述非易失性存儲(chǔ)體的存??;及多個(gè)輸入輸出端子,與前述電路結(jié)合。
2.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中通過前述輸入輸出端子對(duì)前述非易失性存儲(chǔ)體進(jìn)行的存取通過前述隨機(jī)存取存儲(chǔ)體來進(jìn)行。
3.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中對(duì)前述半導(dǎo)體存儲(chǔ)裝置投入工作電源的初期中,前述非易失性存儲(chǔ)體的一部分的存儲(chǔ)數(shù)據(jù)傳送到前述隨機(jī)存取存儲(chǔ)體的第1區(qū)域而被存儲(chǔ)在該第1區(qū)域。
4.根據(jù)權(quán)利要求3的半導(dǎo)體存儲(chǔ)裝置,其中通過前述輸入輸出端子對(duì)前述非易失性存儲(chǔ)體進(jìn)行的存取,是對(duì)前述隨機(jī)存取存儲(chǔ)體的前述第1區(qū)域進(jìn)行的。
5.根據(jù)權(quán)利要求4的半導(dǎo)體存儲(chǔ)裝置,其中前述控制電路具有一電路,存儲(chǔ)因?qū)η笆鲭S機(jī)存取存儲(chǔ)體的前述第1區(qū)域存取而數(shù)據(jù)重寫所產(chǎn)生的地址,且可在預(yù)定的時(shí)間將前述第1區(qū)域的重寫所產(chǎn)生的地址的數(shù)據(jù)寫回到前述非易失性存儲(chǔ)體中。
6.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中前述隨機(jī)存取存儲(chǔ)體具有第1區(qū)域,在該區(qū)域中,前述非易失性存儲(chǔ)體的一部分的存儲(chǔ)數(shù)據(jù)被傳送復(fù)制,為前述非易失性存儲(chǔ)體的存取的緩沖區(qū);及第2區(qū)域,其為來自前述半導(dǎo)體存儲(chǔ)裝置的外部的存取所用的工作區(qū)域。
7.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中前述隨機(jī)存取存儲(chǔ)體是時(shí)鐘同步型DRAM,通過前述時(shí)鐘同步型DRAM的接口經(jīng)由前述輸入輸出端子進(jìn)行從前述半導(dǎo)體存儲(chǔ)裝置的外部到前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體的存取。
8.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中前述非易失性存儲(chǔ)體為NAND型閃存器,且前述隨機(jī)存取存儲(chǔ)體為時(shí)鐘同步型DRAM。
9.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中前述半導(dǎo)體存儲(chǔ)裝置為多芯片存儲(chǔ)模塊,包含第1半導(dǎo)體芯片、第2半導(dǎo)體芯片及第3半導(dǎo)體芯片,前述第1半導(dǎo)體芯片包含前述非易失性存儲(chǔ)體,前述第2半導(dǎo)體芯片包含前述電路,前述第3半導(dǎo)體芯片包含前述隨機(jī)存取存儲(chǔ)體。
10.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中前述電路包含靜態(tài)隨機(jī)存取存儲(chǔ)體,通過前述靜態(tài)隨機(jī)存取存儲(chǔ)體的接口經(jīng)由前述輸入輸出端子進(jìn)行對(duì)前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體的存取。
11.根據(jù)權(quán)利要求1的半導(dǎo)體存儲(chǔ)裝置,其中前述隨機(jī)存取存儲(chǔ)體為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體,通過前述輸入輸出端子對(duì)前述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體所進(jìn)行的存取中,對(duì)前述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)體的更新被隱藏。
12.根據(jù)權(quán)利要求10的半導(dǎo)體存儲(chǔ)裝置,其中前述半導(dǎo)體存儲(chǔ)裝置為多芯片存儲(chǔ)模塊,在其基板上安裝并封裝有第1半導(dǎo)體芯片、第2半導(dǎo)體芯片、第3半導(dǎo)體芯片及第4芯片,前述第1半導(dǎo)體芯片包含前述非易失性存儲(chǔ)體,前述第2半導(dǎo)體芯片包含前述電路,前述第3半導(dǎo)體芯片包含前述隨機(jī)存取存儲(chǔ)體的一部分,且前述第4芯片包含前述隨機(jī)存取存儲(chǔ)體的另一部分。
13.一種半導(dǎo)體存儲(chǔ)裝置,其包含閃存器;DRAM;控制電路,其與前述閃存器及前述DRAM結(jié)合,且控制對(duì)前述DRAM及對(duì)前述非易失性存儲(chǔ)體進(jìn)行的存取;及多個(gè)輸入輸出端子,其與前述電路結(jié)合;其中通過前述輸入輸出端子對(duì)前述閃存器所進(jìn)行的存取經(jīng)由前述DRAM而進(jìn)行。
14.根據(jù)權(quán)利要求13的半導(dǎo)體存儲(chǔ)裝置,其中在對(duì)前述半導(dǎo)體存儲(chǔ)裝置從外部投入工作電源的初期中,前述閃存器的一部分的存儲(chǔ)數(shù)據(jù)被傳送到前述DRAM的第1區(qū)域而被存儲(chǔ)在該第1區(qū)域。
15.根據(jù)權(quán)利要求14的半導(dǎo)體存儲(chǔ)裝置,其中前述控制電路具有一電路,存儲(chǔ)因?qū)η笆龅?區(qū)域從外部存取而造成的數(shù)據(jù)的更新所產(chǎn)生的地址,可在預(yù)定的時(shí)間將前述第1區(qū)域的更新所產(chǎn)生的地址的數(shù)據(jù)寫回到前述非易失性存儲(chǔ)體中。
16.一種半導(dǎo)體存儲(chǔ)裝置,其包含非易失性存儲(chǔ)體,包含第1區(qū)域及第2區(qū)域;隨機(jī)存取存儲(chǔ)體,包含第3區(qū)域及第4區(qū)域;及存儲(chǔ)體控制器,與前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體結(jié)合,其中前述第1區(qū)域及前述第3區(qū)域保持相同的數(shù)據(jù)。
17.根據(jù)權(quán)利要求16的半導(dǎo)體存儲(chǔ)裝置,其中前述存儲(chǔ)體控制器具有錯(cuò)誤修正電路,進(jìn)行從前述非易失性存儲(chǔ)體讀取的數(shù)據(jù)的錯(cuò)誤檢測(cè)及修正,且在將數(shù)據(jù)從前述非易失性存儲(chǔ)體的前述第1區(qū)域傳送到前述隨機(jī)存取存儲(chǔ)體的前述第3區(qū)域時(shí),將前述錯(cuò)誤修正電路所修正的數(shù)據(jù)傳送到前述第3區(qū)域。
18.根據(jù)權(quán)利要求16的半導(dǎo)體存儲(chǔ)裝置,其中前述存儲(chǔ)體控制器存儲(chǔ)前述第3區(qū)域的數(shù)據(jù)的被更新的更新地址,斷電時(shí),將對(duì)應(yīng)于前述更新地址的更新數(shù)據(jù)從第3區(qū)域傳送到第1存儲(chǔ)體,該傳送結(jié)束后切斷前述隨機(jī)存取存儲(chǔ)體的電源。
19.根據(jù)權(quán)利要求16的半導(dǎo)體存儲(chǔ)裝置,其中前述存儲(chǔ)體控制器具有存取優(yōu)先判斷電路,以對(duì)前述隨機(jī)存取存儲(chǔ)體的更新要求為第1優(yōu)先;以從外部對(duì)前述隨機(jī)存取存儲(chǔ)體的存取要求為第2優(yōu)先;以與前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體間的數(shù)據(jù)傳送相關(guān)的存取要求為第3優(yōu)先。
20.根據(jù)權(quán)利要求16的半導(dǎo)體裝置,其中前述存儲(chǔ)體控制器形成在第1半導(dǎo)體芯片上,前述隨機(jī)存取存儲(chǔ)體形成在第2半導(dǎo)體芯片上,前述非易失性存儲(chǔ)體形成在第3半導(dǎo)體芯片上,前述半導(dǎo)體存儲(chǔ)裝置還具有一密封體,在其內(nèi)部包含前述第1、第2及第3半導(dǎo)體芯片,前述密封體具有多個(gè)第1電極,用于與前述第1半導(dǎo)體芯片及前述第2半導(dǎo)體芯片電連接;多個(gè)第2電極,用于與前述第1半導(dǎo)體芯片及前述第3半導(dǎo)體芯片電連接;多個(gè)第3電極,用于對(duì)密封體的外部與前述第1半導(dǎo)體芯片電連接;及多個(gè)第4電極,用于對(duì)密封體的外部與前述第3半導(dǎo)體芯片電連接。
全文摘要
本發(fā)明提供一種具有大容量非易失性存儲(chǔ)體的半導(dǎo)體存儲(chǔ)裝置,以使大容量的非易失性存儲(chǔ)體的存取時(shí)間及隨機(jī)存取存儲(chǔ)體的存取時(shí)間相匹配。本發(fā)明的半導(dǎo)體存儲(chǔ)裝置包含非易失性存儲(chǔ)體,其具有第1讀取時(shí)間;隨機(jī)存取存儲(chǔ)體,其具有第2讀取時(shí)間,其讀取時(shí)間較前述第1讀取時(shí)間至少少100倍以上;電路,與前述非易失性存儲(chǔ)體及前述隨機(jī)存取存儲(chǔ)體結(jié)合,并包含一控制電路,用于控制對(duì)前述隨機(jī)存取存儲(chǔ)體及前述非易失性存儲(chǔ)體的存??;及多個(gè)輸入輸出端子,與前述電路結(jié)合。本發(fā)明通過將FLASH的數(shù)據(jù)傳送給DRAM對(duì)DRAM存取,以使存取時(shí)間匹配,并適時(shí)從DRAM將數(shù)據(jù)寫回FLASH,以使數(shù)據(jù)匹配及保存。
文檔編號(hào)G11C8/00GK1391166SQ0212278
公開日2003年1月15日 申請(qǐng)日期2002年6月11日 優(yōu)先權(quán)日2001年6月11日
發(fā)明者三浦誓士, 鲇川一重 申請(qǐng)人:株式會(huì)社日立制作所