專利名稱::電子產(chǎn)品中的記憶體系統(tǒng)及其控制方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種控制高容量DATA快閃記憶體的方法及裝置,尤指一種以一線性定址非揮發(fā)性記憶體(LinearAddressingNonvolatilememory)結(jié)合一控制器共同控制一高容量DATA快閃記憶體的技術(shù)。
背景技術(shù):
:傳統(tǒng)的手機或是PDA等系統(tǒng)設(shè)計,都是使用單一種類的CODE快閃記憶體(如NORFlashMemory),該CODE快閃記憶體包含一開機程序代碼儲存區(qū)塊、一作業(yè)系統(tǒng)儲存區(qū)域與一使用者資料儲存區(qū)塊等,這種設(shè)計是最簡單但也是最無彈性的。如果系統(tǒng)要擴充記憶體容量,由于CODE快閃記憶體是采用線性定址方式,地址與資料呈一對一的對映關(guān)系,故必須修改硬件以增加記憶體容量。此外,CODE快閃記憶體雖然具有直接執(zhí)行(ExecuteInPlace,XIP)的功能,但是在程式燒錄(Programming)與抹除(Erasing)的速度相對于DATA快閃記憶體(如NANDFlashMemory)的運作速度卻慢上十倍以上。CODE快閃記憶體又因其線性定址設(shè)計,在每一個地址上的記憶體細胞(MemoryCell)均要求必須正常工作,不容許任何一個位址上的記憶體細胞有資料儲存不良的狀況。所以相較DATA快閃記憶體可容許BadBlock存在的設(shè)計,CODE快閃記憶體的制造成本必定高于DATA快閃記憶體。在要求記憶體容量越來越大的情況下,兩種記憶體間的成本差距則越明顯,造成CODE快閃記憶體制造成本與使用成本均居高不下。傳統(tǒng)的PDA手機的記憶體硬件架構(gòu)如圖3所示,當開機時,中央處理器100讀取儲存在CODE快閃記憶體101中的開機程序代碼(binaryexecutebootcode)103,系統(tǒng)初始化設(shè)定完畢后執(zhí)行貯存在CODE快閃記憶體101中的作業(yè)系統(tǒng)映象(OSImage)104完成開機過程。在執(zhí)行作業(yè)系統(tǒng)OS過程之中,會產(chǎn)生一些暫存檔,此時系統(tǒng)可利用一揮發(fā)性記憶體102,如動態(tài)隨機存取記憶體(DRAM)或靜態(tài)隨機存取記憶體(SRAM)貯存這些暫存檔,當系統(tǒng)要讀取或是貯存使用者個人特殊資料時,系統(tǒng)會到一使用者資料區(qū)塊105存取。當記憶體容量愈大,則RC值會愈大,故讀取或是儲存資料所需的時間相對延長,以致拖累整個系統(tǒng)速度。另外存放在CODE快閃記憶體101中的作業(yè)系統(tǒng)映象104必需是binaryexecutebootcode,則其所占的空間將極大,其意味著此種直接執(zhí)行(XIP)的功能需要高容量的CODE快閃記憶體。若是將壓縮過的作業(yè)系統(tǒng)OS貯存在CODE快閃記憶體101里面,在開機初始化后,將其搬到動態(tài)隨機存取記憶體(DRAM)或靜態(tài)隨機存取記憶體(SRAM),并將已壓縮的作業(yè)系統(tǒng)解壓縮,如此CODE快閃記憶體(101)的直接執(zhí)行功能(eXecuteInPlace)將被棄置。關(guān)于CODE快閃記憶體與DATA快閃記憶體兩者的缺陷簡介如下CODE快閃記憶體是采用一對一線性定址方式,所以地址線(Addresslines)與數(shù)據(jù)線(datalines)是直接與系統(tǒng)連接,并無錯誤修正及偵錯編碼(ECC/EDC)的功能。在系統(tǒng)啟動后,于大量資料讀寫、抹除(Erase)之際若發(fā)生位元錯誤(biterror),該錯誤將是毀滅性的損害,因為所有系統(tǒng)開機初始程式(binaryexecutebootcode)、作業(yè)系統(tǒng)(OS)與使用者資料(userdata)都是存放在同一個快閃記憶體上,記憶體甚至有可能發(fā)生在抹除使用者資料區(qū)塊105時,因為高位址線發(fā)生位元錯誤由低態(tài)轉(zhuǎn)為高態(tài)或由高態(tài)轉(zhuǎn)為低態(tài),以致造成使用者資料區(qū)塊105未被寫入,反而寫入到儲存開機程序代碼103的區(qū)塊。另外,同一塊記憶體的壞處是容量愈高則RC常數(shù)愈大,則其讀、寫、抹除所需時間相對變長,由機率的角度來看位元錯誤率(biterrorrate,BER)與存取率成正比。至于DATA快閃記憶體被意外寫入重要區(qū)域(CriticalArea)或是禁止區(qū)塊,造成資料遺失的機率比CODE快閃記憶體要小許多,因為DATA快閃記憶體欲執(zhí)行讀、寫、抹除動作時必須連續(xù)寫入數(shù)次正確的值,DATA快閃記憶體才有可能被寫入資料或是抹除某區(qū)塊。由這角度來看DATA快閃記憶體比CODE快閃記憶體具有更好的優(yōu)勢,但是在系統(tǒng)啟動(Systembootup)的階段,DATA快閃記憶體因其設(shè)計上的功能是利用多工資源(Multi-functionPins),因此無法以一對一對應方式提供開機程序代碼(binaryexecutebootcode)給系統(tǒng)啟動,所必須要以一個小容量的CODE快閃記憶體儲存。對于某些系統(tǒng)設(shè)計僅使用單一大容量的DATA快閃記憶體配合一內(nèi)建的SRAM作為系統(tǒng)啟動執(zhí)行bootloader的設(shè)計,因為開機程序代碼(bootcode)仍然是貯存于DATA快閃記憶體中,而當系統(tǒng)啟動時利用statemachine將儲存于第0區(qū)塊的搬運至內(nèi)建的SRAM之中,這些步驟都需要時間,系統(tǒng)在很長一段時間因為內(nèi)部SRAM不夠大而無法立即啟始化顯示裝置(DisplayDevice),使得系統(tǒng)的顯示功能無法快速啟動。再者,若criticaldataarea被意外寫入,則系統(tǒng)將無法再啟動。此等使用單一DATA快閃記憶體的設(shè)計相對來說比較不可靠,系統(tǒng)啟動開機時間長,內(nèi)部的SRAM成本亦高,并且耗用電池能源,若第0區(qū)塊有所損壞(Badarea)則無法啟動系統(tǒng),且無緊急復原(emergencyrecovery)的功能。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是整合DATA及CODE兩不同種類非揮發(fā)記憶體的優(yōu)勢而提供一種新的記憶體系統(tǒng)以應用于電子產(chǎn)品上,具有快速啟動系統(tǒng)、降低位元錯誤率、提供緊急復原功能等特點。為此,本發(fā)明的技術(shù)解決方案是一種電子產(chǎn)品中的記憶體系統(tǒng),包含有,一控制單元,連接該電子產(chǎn)品的一中央處理器,一線性定址非揮發(fā)性記憶體,連接前述控制單元,內(nèi)部儲存有開機程序代碼;及一DATA快閃記憶體,受前述控制單元送出的指令所控制,供儲存作業(yè)系統(tǒng)及常需存取的使用者資料;該中央處理器于系統(tǒng)啟動之際自前述線性定址非揮發(fā)性記憶體中直接執(zhí)行開機程序代碼以完成初始化作業(yè),爾后自DATA快閃記憶體中取出并執(zhí)行該作業(yè)系統(tǒng)以完成啟動作業(yè)。前述控制單元包含有一DATA快閃記憶體界面,供該控制單元藉此界面連接至前述DATA快閃記憶體;一錯誤修正及偵錯編碼單元(ECC/EDC),于前述DATA快閃記憶體具有資料傳輸時之際,該錯誤修正及偵錯編碼單元負責偵測有無位元錯誤(Biterror)發(fā)生并加以修正;及一解碼器,其負責將來自前述中央處理器的位址指令予以解碼以得知該位址指令是欲控制該線性定址非揮發(fā)性記憶體、該錯誤修正及偵錯編碼單元或該DATA快閃記憶體界面。另外,本發(fā)明還提出一種控制前述記憶體系統(tǒng)的方法,包含下列步驟自線性定址非揮發(fā)性記憶體中執(zhí)行開機程序代碼并加以執(zhí)行,以完成初始化作業(yè);自DATA快閃記憶體中取出作業(yè)系統(tǒng)(OS),并載入于一揮發(fā)性記憶體中加以執(zhí)行;及自該DATA快閃記憶體存取使用者資料。當存取該DATA快閃記憶體時并檢測有無位元錯誤(BIT)發(fā)生;前述自DATA快閃記憶體中取出作業(yè)系統(tǒng)(OS)進一步載入于一揮發(fā)性記憶體;當前述DATA快閃記憶體中有損毀區(qū)塊時,由前述線性定址非揮發(fā)性記憶體提供緊急復原資料。本發(fā)明的電子產(chǎn)品中的記憶體系統(tǒng)及其控制方法,該系統(tǒng)包括一儲存開機程序代碼(bootcode)的低容量線性定址非揮發(fā)性記憶體及一高容量DATA快閃記憶體,該DATA快閃記憶體儲存作業(yè)系統(tǒng)(OS)及常需存取的使用者資料,當系統(tǒng)啟動之際,自前述線性定址非揮發(fā)性記憶體中擷取并執(zhí)行開機程序代碼以完成初始化作業(yè),爾后利用系統(tǒng)內(nèi)建ECC/EDC的功能確認自DATA快閃記憶體中擷取出作業(yè)系統(tǒng)無誤并執(zhí)行該作業(yè)系統(tǒng);藉此分離式儲存的作法,可有效降低發(fā)生位元錯誤率(BER)的機率,且保有一般傳統(tǒng)快速系統(tǒng)啟動的優(yōu)點。圖1為本發(fā)明實際應用時的系統(tǒng)方塊圖。圖2為本發(fā)明的流程圖。圖3為一公知個人數(shù)位助理器其內(nèi)部記憶體的架構(gòu)方塊圖。附圖標號說明100、中央處理器101、CODE記憶體102、揮發(fā)性記憶體103、開機程序代碼104、作業(yè)系統(tǒng)105、使用者資料20、控制單元201、DATA快閃記憶體界面202、錯誤修正及偵錯編碼單元203、解碼器21、線性定址非揮發(fā)性記憶體211、開機程序代碼212、緊急復原資料213、系統(tǒng)資料22、DATA快閃記憶體221、壓縮的作業(yè)系統(tǒng)222、使用者資料30、中央處理器31、揮發(fā)性記憶體具體實施方式如先前技術(shù)所揭露,縱使DATA快閃記憶體與CODE記憶體兩者皆有各自的優(yōu)缺點及特殊的使用限制,惟兩者相較之下,DATA快閃記憶體就容量擴充方面及資料讀出/寫入操作等仍較占優(yōu)勢,雖于系統(tǒng)啟動的初無法提供開機程序代碼(Bootcode),但若是搭配一小容量的CODE記憶體則可克服該項問題,本發(fā)明即整合兩不同種類記憶體的優(yōu)點而提供一種新的記憶體系統(tǒng)而應用于電子產(chǎn)品上,詳細技術(shù)如后請參閱圖1所示,本發(fā)明實際應用于一電子產(chǎn)品例如手機、個人數(shù)位助理器等產(chǎn)品的系統(tǒng)方塊圖,其中本發(fā)明包含有一控制單元20,透過一界面連接至該電子產(chǎn)品的中央處理器30,該中央處理器30復經(jīng)由該界面連接至一揮發(fā)性記憶體31,如動態(tài)隨機存取記憶體(DRAM)或靜態(tài)隨機存取記憶體(SRAM);一線性定址非揮發(fā)性記憶體(LinearAddressingNonvolatilememory)21,連接前述控制單元20及前述界面,此線性定址非揮發(fā)性記憶體21為一低儲存容量的記憶體,如1Mbits、2Mbits、4Mbits或8Mbits的CODE記憶體等;一DATA快閃記憶體22,受前述控制單元20所送出的指令而控制,該DATA快閃記憶體22為一高儲存容量的記憶體。前述線性定址非揮發(fā)性記憶體21本身即具有直接執(zhí)行(XIP)的功能,該記憶體內(nèi)部用以儲存啟動系統(tǒng)的開機程序代碼(Binaryexecutebootcode)211,因開機程序代碼21所占容量不多,故仍有足夠空間提供緊急復原資料(Emergencyrecoverydata)212等其余系統(tǒng)資料。至于DATA快閃記憶體22則儲存壓縮的作業(yè)系統(tǒng)221及較常需要存取的使用者資料222。前述控制單元20則包含有一DATA快閃記憶體界面201,藉此界面該控制單元20與DATA快閃記憶體22構(gòu)成連接;一錯誤修正及偵錯編碼單元(ECC/EDC)202,當前述DATA快閃記憶體22與系統(tǒng)間具有資料傳輸時,該錯誤修正及偵錯編碼單元202負責偵測有無位元錯誤(Biterror)發(fā)生;一解碼器(Decoder)203,將來自前述中央處理器30的位址指令予以解碼以得知該位址指令是欲控制該線性定址非揮發(fā)性記憶體21、該錯誤修正及偵錯編碼單元202或該DATA快閃記憶體界面201。前述為本發(fā)明的具體結(jié)構(gòu),而有關(guān)其動作流程,請參見圖2所示,當系統(tǒng)啟動后,該中央處理器30首先自線性定址非揮發(fā)性記憶體21擷取出開機程序代碼211并執(zhí)行系統(tǒng)初始化作業(yè)(步驟401),系統(tǒng)所配備的元件,可以立即參考系統(tǒng)資料213中所登錄的相關(guān)參數(shù)作為設(shè)定相關(guān)暫存器的依據(jù),當系統(tǒng)初始化完成之后,中央處理器30發(fā)出指令予控制單元20,將作業(yè)系統(tǒng)221從存放在高容量的DATA快閃記憶體22讀出(步驟402),并移入線性位址的揮發(fā)性記憶體33中(步驟403),即動態(tài)隨機存取記憶體DRAM或靜態(tài)隨機存取記憶體SRAM,再由此記憶體31執(zhí)行作業(yè)系統(tǒng)啟動系統(tǒng)(步驟404)。另一方面,若中央處理器30需讀寫使用者資料,亦是自該DATA快閃記憶體22讀出并載入于線性位址的揮發(fā)性記憶體33中;資料于DATA快閃記憶體22與揮發(fā)性記憶體33的傳送交換過程中有可能發(fā)生位元錯誤的狀況,此時錯誤修正及偵錯編碼單元202檢查有無錯誤狀況發(fā)生,并加以修正。由前述說明中,本發(fā)明相較于公知單一DATA快閃記憶體或單一CODE快閃記憶體架構(gòu)的系統(tǒng),其優(yōu)點可歸納如下1.因使用小容量線性定址非揮發(fā)性記憶體當作系統(tǒng)啟動(Bootup)時第一個被讀取的記憶體,所以系統(tǒng)啟動速度與只使用大容量單一種類記憶體的CODE快閃記憶體有相同快速的啟動時間,甚至更快。2.將開機程序代碼(bootcode)存放于一小容量線性定址非揮發(fā)性記憶體,而將壓縮的作業(yè)系統(tǒng)及使用者資料存放于一高容量DATA快閃記憶體,此種分離式資料儲存的作法相較于以單一記憶體共同儲存的型態(tài)而言,讀寫時發(fā)生位元錯誤率(BER)的機率能大為降低,而且采用低容量線性定址非揮發(fā)性記憶體,可縮減制造成本。3.壓縮的作業(yè)系統(tǒng)及常需存取的使用者資料儲存于高容量DATA快閃記憶體,并配合一錯誤修正及偵錯編碼單元(ECC/EDC)可有效降低資料傳輸時發(fā)生錯誤的機率。4.開機程序代碼于該線性定址非揮發(fā)性記憶體所占容量不多,故仍有足夠空間提供緊急復原資料(Emergencyrecoverydata)的功能,若是另一方面的DATA快閃記憶體產(chǎn)生新的毀損區(qū)塊(badblock),仍然可藉由該線性定址非揮發(fā)性記憶體啟動系統(tǒng),并恢復至損害前的狀態(tài),這是使用單一大容量NOR快閃記憶體的設(shè)計或是使用單一大容量可啟動式DATA快閃記憶體(bootableNANDflashmemory)的設(shè)計所無法有的功能。5.該低容量的線性定址非揮發(fā)性記憶體一般都用只讀方式,僅大容量DATA快閃記憶體負責作業(yè)系統(tǒng)擷取(OSretrieve)和讀寫使用者資料(userdataread/write)的用途,故發(fā)生系統(tǒng)無法初始化啟動的機率極低。6.采用本發(fā)明的系統(tǒng)與傳統(tǒng)單獨使用大容量CODE快閃記憶體系統(tǒng)有相同的穩(wěn)定性,并且成本低于使用大容量CODE快閃記憶體和DATA閃記憶體的可攜式(Portable)系統(tǒng),并且耗電量更低。綜上所述,本發(fā)明藉由結(jié)合兩種不同記憶體而應用于電子產(chǎn)品內(nèi),于降低產(chǎn)品生產(chǎn)成本的同時,仍保有內(nèi)部記憶體系統(tǒng)運作時的良好穩(wěn)定度,相較于現(xiàn)今技術(shù),本發(fā)明已具備顯著功效增進,爰依法具文提出申請。權(quán)利要求1.一種電子產(chǎn)品中的記憶體系統(tǒng),其特征在于,包括有一控制單元,連接電子產(chǎn)品的一中央處理器,一線性定址非揮發(fā)性記憶體,連接前述控制單元,內(nèi)部儲存有開機程序代碼;及一DATA快閃記憶體,受前述控制單元所送出的指令而控制,供儲存作業(yè)系統(tǒng)及常需存取的使用者資料;該中央處理器于系統(tǒng)啟動之際自前述線性定址非揮發(fā)性記憶體中取出開機程序代碼以完成初始化作業(yè),爾后自DATA快閃記憶體中取出并執(zhí)行該作業(yè)系統(tǒng)以完成啟動作業(yè)。2.如權(quán)利要求1所述電子產(chǎn)品中的記憶體系統(tǒng),其特征在于該控制單元包含有一DATA快閃記憶體界面,藉此界面該控制單元連接至前述DATA快閃記憶體;一錯誤修正及偵錯編碼單元,于前述DATA快閃記憶體具有資料傳輸時,該錯誤修正及偵錯編碼單元負責偵測有無位元錯誤發(fā)生并加以修正;及一解碼器,其負責將來自前述中央處理器的位址指令予以解碼以得知該位址指令是欲控制該線性定址非揮發(fā)性記憶體、該錯誤修正及偵錯編碼單元或該DATA快閃記憶體界面。3.如權(quán)利要求1或2所述電子產(chǎn)品中的記憶體系統(tǒng),其特征在于該線性定址非揮發(fā)性記憶體為一低儲存容量的CODE快閃記憶體。4.如權(quán)利要求3所述電子產(chǎn)品中的記憶體系統(tǒng),其特征在于該線性定址非揮發(fā)性記憶體儲存有緊急復原資料。5.如權(quán)利要求4所述電子產(chǎn)品中的記憶體系統(tǒng),其特征在于該中央處理器連接有一揮發(fā)性記憶體,前述自DATA快閃記憶體取出的作業(yè)系統(tǒng)載入于該揮發(fā)性記憶體中。6.如權(quán)利要求5所述電子產(chǎn)品中的記憶體系統(tǒng),其特征在于該儲存于DATA快閃記憶體取出中作業(yè)系統(tǒng)經(jīng)壓縮處理。7.一種電子產(chǎn)品中記憶體系統(tǒng)的控制方法,包含自一線性定址非揮發(fā)性記憶體中擷取開機程序代碼并加以執(zhí)行,以完成初始化作業(yè);自DATA快閃記憶體中取出作業(yè)系統(tǒng),并載入于一揮發(fā)性記憶體中加以執(zhí)行;及自該DATA快閃記憶體存取使用者資料。8.如權(quán)利要求7所述電子產(chǎn)品中記憶體系統(tǒng)的控制方法,其特征在于于存取該DATA快閃記憶體時檢測有無位元錯誤發(fā)生。9.如權(quán)利要求7所述電子產(chǎn)品中記憶體系統(tǒng)的控制方法,其特征在于前述自DATA快閃記憶體中取出作業(yè)系統(tǒng)載入于一揮發(fā)性記憶體。10.如權(quán)利要求7所述電子產(chǎn)品中記憶體系統(tǒng)的控制方法,其特征在于當前述DATA快閃記憶體中有損毀區(qū)塊時,由前述線性定址非揮發(fā)性記憶體提供緊急復原資料。全文摘要本發(fā)明為一種電子產(chǎn)品中的記憶體系統(tǒng)及其控制方法,該系統(tǒng)包括一儲存開機程序代碼(bootcode)的低容量線性定址非揮發(fā)性記憶體及一高容量DATA快閃記憶體,該DATA快閃記憶體儲存作業(yè)系統(tǒng)(OS)及常需存取的使用者資料,當系統(tǒng)啟動之際,自前述線性定址非揮發(fā)性記憶體中擷取并執(zhí)行開機程序代碼以完成初始化作業(yè),爾后利用系統(tǒng)內(nèi)建ECC/EDC的功能確認自DATA快閃記憶體中擷取出作業(yè)系統(tǒng)無誤并執(zhí)行該作業(yè)系統(tǒng);藉此分離式儲存的作法,可有效降低發(fā)生位元錯誤率(BER)的幾率,且保有一般傳統(tǒng)快速系統(tǒng)啟動的優(yōu)點。文檔編號G11C16/06GK1713300SQ20041004968公開日2005年12月28日申請日期2004年6月23日優(yōu)先權(quán)日2004年6月23日發(fā)明者關(guān)宮棟申請人:關(guān)宮棟,胡大興