專利名稱:存儲卡及其初始化設(shè)置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一塊存儲卡,特別涉及能夠有效用于一塊多媒體卡的穩(wěn)定操作的技術(shù)。
背景技術(shù):
作為如個人計算機及多功能終端之類的外部存儲設(shè)備的一種存儲媒體,多媒體卡是由廣為人知的標(biāo)準(zhǔn)化組織MMCA(多媒體卡協(xié)會)制定標(biāo)準(zhǔn)的。這種多媒體卡用于存儲數(shù)碼相機的靜態(tài)相片、移動電話的數(shù)據(jù)以及移動音樂播放器的音樂等等。
一塊多媒體卡由一塊閃存和一個用于控制該閃存的控制器構(gòu)成。所述控制器還配備了一個電源電壓檢測電路。此電源電壓檢測電路檢測由一臺主機提供的電源電壓的上升沿從而執(zhí)行重置操作。
根據(jù)發(fā)明者的研究,當(dāng)有電壓供應(yīng)時,所述多媒體卡執(zhí)行用于初始化該卡的所謂通電重置處理,以使操作變得穩(wěn)定。
在電源電壓檢測電路檢測到由所述主機提供的電源電壓的上升沿并重置所述控制器后,由控制器訪問閃存以讀取CID(卡識別號寄存器)/CSD(卡特定數(shù)據(jù)寄存器)之類的系統(tǒng)區(qū)域中的數(shù)據(jù)來執(zhí)行這一通電重置處理,從而檢查閃存是否就緒。
在工業(yè)研究協(xié)會有限公司于1990年12月1日出版的《電子材料》中,由Masashi Ohshima編輯的第22至26頁可以作為詳細(xì)描述此類IC卡的文獻(xiàn)的一個實例。這一文獻(xiàn)還描述了各種IC卡的技術(shù)趨勢。
然而,本發(fā)明的發(fā)明者已經(jīng)發(fā)現(xiàn)了上述用于存儲卡的通電重置處理技術(shù)中的問題。
一般來說,閃存的工作電壓被設(shè)置高于控制器的工作電壓,從而就有可能當(dāng)控制器訪問閃存時閃存未達(dá)到其工作電壓。
這樣,就可能出現(xiàn)當(dāng)控制器訪問閃存時閃存不能正常工作的問題,CID/CSD之類的系統(tǒng)區(qū)域中的數(shù)據(jù)不能成功讀取,控制器進(jìn)入完全無法從主機接收指令的狀態(tài),從而主機也就無法再識別多媒體卡。
本發(fā)明的一個目的在于提出一種可以在電源電壓不穩(wěn)定的情況下安全執(zhí)行通電重置處理從而穩(wěn)定性顯著提高的存儲卡,并提出一個初始化該存儲卡的方法。
從本說明及附圖的描述中,可以明顯看出本發(fā)明的前述及其他目的以及新穎的特點。
發(fā)明內(nèi)容
本發(fā)明的存儲卡包括一個用于在特定存儲區(qū)域存儲操作檢查數(shù)據(jù)的永久性半導(dǎo)體存儲器;一個控制部件,包括一個存儲單元和一個處理單元,所述存儲單元用來存儲操作檢查數(shù)據(jù)以用于和所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)作比較,所述處理裝置用于比較這兩個數(shù)據(jù)并隨后執(zhí)行所述永久性半導(dǎo)體存儲器的操作檢查。
此外,下面將簡述本說明中的其他發(fā)明。
1.所述操作檢查數(shù)據(jù)被存儲在一個永久性半導(dǎo)體存儲器的特定存儲區(qū)域中,一個控制部件配備了一個處理單元以執(zhí)行基于一個控制程序的預(yù)定處理程序,一個永久性存儲單元存儲所述控制程序,一個揮發(fā)性存儲單元用來暫時存儲輸入/輸出數(shù)據(jù)及算法操作數(shù)據(jù),一個接口邏輯單元用來輸入輸出由外部輸入或向外部輸出的指令及數(shù)據(jù),用于和讀自所述永久性半導(dǎo)體存儲器的操作檢查數(shù)據(jù)作比較的操作檢查數(shù)據(jù)存儲在所述永久性存儲單元的某個區(qū)域中,所述處理單元在初始化設(shè)置操作中比較這兩個數(shù)據(jù)從而執(zhí)行所述永久性半導(dǎo)體存儲器的檢查操作。
2.在上述的第一條中,待寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)被存儲在所述永久性存儲單元中,而所述處理單元在初始化設(shè)置操作中將所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和所述永久性存儲單元中的用于比較的操作檢查數(shù)據(jù)進(jìn)行比較,并讀取寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù),從而通過比較所述檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)來檢查所述永久性半導(dǎo)體存儲器的操作。
3.在第一條或第二條中,用于存儲錯誤數(shù)據(jù)的數(shù)據(jù)存儲單元被提供一個接口邏輯單元,當(dāng)在所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和所述永久性存儲單元中的用于比較的操作檢查數(shù)據(jù)的比較中、或在寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)的比較中檢測到錯誤時,所述處理單元將該錯誤數(shù)據(jù)置于所述數(shù)據(jù)存儲單元中并中斷初始化設(shè)置操作從而將所述控制部件置為休眠模式,在將所述錯誤數(shù)據(jù)置于所述數(shù)據(jù)存儲單元的期間中,當(dāng)從外部接收到一個設(shè)置指令以檢查初始化設(shè)置是否結(jié)束時該處理單元也執(zhí)行所述初始化設(shè)置操作。
此外,下面將詳細(xì)地簡要條列本說明中的其他發(fā)明。
1.存儲卡的初始化設(shè)置方法包括以下步驟(a)當(dāng)從外部接收到一個要求初始化設(shè)置的設(shè)置指令時讀取先前存儲在所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù),并將所讀數(shù)據(jù)與所述永久性存儲單元中的用于比較的操作檢查數(shù)據(jù)進(jìn)行比較;(b)當(dāng)在所述數(shù)據(jù)比較中檢測到錯誤時,在判定所述永久性半導(dǎo)體存儲器中存在錯誤的基礎(chǔ)上將所述錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元中,并中斷初始化設(shè)置操作以將所述控制部件置為休眠模式;(c)在將所述錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元的期間中,將所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和所述永久性存儲單元中用于比較的操作檢查數(shù)據(jù)進(jìn)行比較,直到每次從外部接收到用于檢查初始化設(shè)置操作是否結(jié)束的設(shè)置指令時這些數(shù)據(jù)都匹配,并當(dāng)這些數(shù)據(jù)匹配時清除置入所述數(shù)據(jù)存儲單元的錯誤數(shù)據(jù)。
2.存儲卡的初始化設(shè)置方法包括以下步驟(a)當(dāng)從外部接收到一個要求初始化設(shè)置的設(shè)置指令時讀取先前存儲在所述永久性半導(dǎo)體存儲器的一個特定區(qū)域中的操作檢查數(shù)據(jù),并將所讀數(shù)據(jù)與所述永久性存儲單元中的用于比較的操作檢查數(shù)據(jù)進(jìn)行比較;(b)將存儲在所述永久性存儲單元中的寫入檢查數(shù)據(jù)寫入所述永久性半導(dǎo)體存儲器中;(c)讀取所述永久性半導(dǎo)體存儲器中的寫入檢查數(shù)據(jù),并將其與所述永久性存儲單元中的寫入檢查數(shù)據(jù)進(jìn)行比較;(d)在被比較的所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和用于比較的所述永久性存儲單元中的操作檢查數(shù)據(jù)中任意一個檢測到錯誤時,或在寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)中任意一個檢測到錯誤時,在判定所述永久性半導(dǎo)體存儲器中存在錯誤的基礎(chǔ)上將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元中,并通過中斷初始化設(shè)置操作將所述控制部件置為休眠模式。
(e)在將所述錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元的期間中,每次從外部接收到用于檢查初始化設(shè)置操作是否結(jié)束的設(shè)置指令時,將所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)、寫入檢查數(shù)據(jù),所述永久性存儲單元中用于比較的操作檢查數(shù)據(jù)、寫入檢查數(shù)據(jù)進(jìn)行比較,直到這些數(shù)據(jù)都匹配,然后直到當(dāng)這些數(shù)據(jù)匹配后清除置入所述數(shù)據(jù)存儲單元的錯誤數(shù)據(jù)。
圖1是一塊基于本發(fā)明的第一實施方式的存儲卡的框圖。
圖2是圖1的存儲卡中的通電重置處理的一個流程圖。
圖3是提供給圖1的存儲卡的電源電壓的推移圖。
圖4示出了在所述通電重置處理中圖1的存儲卡中各單元的變化。
圖5是一個用于將閃存檢查數(shù)據(jù)寫入圖1的存儲卡中配備的一塊閃存的流程圖。
具體實施例方式
下面將參照附圖描述本發(fā)明的細(xì)節(jié)。在所有附圖中,相同的附圖標(biāo)記被指定給相同的元件,而相同的描述則被刪除。
在本發(fā)明的首選實施方式中,一塊存儲卡1由一塊多媒體卡構(gòu)成,該多媒體卡可被用作數(shù)碼攝影機、移動電話機、移動音樂播放器及個人計算機之類設(shè)備中一個主機的外部存儲媒體。
存儲卡1配備了一塊閃存(永久性半導(dǎo)體存儲器)2和一個控制器3。閃存2是一塊電子可擦寫及可編程永久性半導(dǎo)體存儲器。
此閃存2先前存儲所述閃存檢查數(shù)據(jù)(操作檢查數(shù)據(jù))FD,用于當(dāng)通電時檢查閃存2是否處于正常工作狀態(tài)。
控制器3控制閃存2以執(zhí)行預(yù)定程序,即讀取存儲于閃存2的程序和數(shù)據(jù)并發(fā)出用于數(shù)據(jù)寫入操作的指令。
控制器3包括一個控制單元(控制裝置)4,一個接口邏輯單元5,一個電源檢測電路6,一個RAM7,一個時鐘生成單元8以及一個緩存9等等。
控制單元4完全控制控制器3。此控制單元4配備了一個ROM(存儲單元,永久性半導(dǎo)體存儲單元)4a,一個RAM(揮發(fā)性存儲單元)4b以及一個CPU(處理單元)4c。
ROM4a由一個只讀存儲器等構(gòu)成,并儲存用于操作CPU4c及檢查數(shù)據(jù)FD1的控制程序。存儲于此ROM4a的檢查數(shù)據(jù)FD1包括所述操作檢查數(shù)據(jù)(用于比較的操作檢查數(shù)據(jù))FD11和寫入檢查數(shù)據(jù)FD12,其中FD11包含的數(shù)據(jù)和儲存在閃存2中的閃存檢查數(shù)據(jù)FD完全相同,而FD12則在通電重置處理中被寫入閃存2(初始化設(shè)置)。
RAM4b是一個凡需要時都允許讀寫操作的隨機存取存儲器,用來暫時存儲所述輸入/輸出數(shù)據(jù)及算法數(shù)據(jù)等等。CPU4c基于ROM4a中的控制程序執(zhí)行預(yù)定處理程序。
接口邏輯單元5接收向所述主機輸入或從所述主機輸出的指令以指示諸如寫入、讀取以及刪除操作并輸入或輸出這些操作所需的數(shù)據(jù)。
此接口邏輯單元5配備了一個寄存器(數(shù)據(jù)存儲單元)5a,用于在通電時存儲卡1的初始化設(shè)置未能正常完成的情況下設(shè)置所述重置處理錯誤數(shù)據(jù)(錯誤數(shù)據(jù))。
電源檢測單元6在通電時檢測電源電壓VCC的上升沿并向接口邏輯單元5輸出重置信號。
RAM7是一個凡需要時都允許讀寫操作的隨機存取存儲器,被用作控制單元4的工作區(qū)。時鐘生成單元8生成選定頻率的的時鐘信號,隨后將其提供給接口邏輯單元5。緩存9暫時存儲向所述主機和閃存輸入或從中輸出的數(shù)據(jù)。
下面,將參照圖2的流程描述此實施方式的存儲卡1中的通電重置處理。
首先,當(dāng)存儲卡1被插入到一個存儲槽等之內(nèi)時,電源電壓VCC通過該存儲槽的接線端被提供給存儲卡1。
當(dāng)通電時電源電壓VCC達(dá)到了預(yù)定的電平,存儲卡1的電源檢測電路6向接口邏輯單元5輸出所述重置信號,接口邏輯單元釋放重置(步驟S101),從而執(zhí)行初始化(步驟S102)。
隨后,主機輸出指令(設(shè)置指令)CMD(指令索引CMD1’SEND_OP_COND’歸于指令類0)用于檢查存儲卡1可工作的電壓范圍并檢查存儲卡1是否完成了所述內(nèi)部處理(步驟S103)。
當(dāng)電源電壓VCC達(dá)到預(yù)定電平(控制單元4的工作電壓)時,電源檢測電路6向已完成初始化的接口邏輯單元5輸出檢測信號。接口邏輯單元5向控制單元4輸出重置信號。
當(dāng)輸出自接口邏輯單元5的重置信號和輸出自主機的指令CMD被輸入時,控制單元4執(zhí)行CPU4c的初始化。
控制單元4還初始化所有其所配備的寄存器(步驟S104)并隨后初始化由所述控制單元用來進(jìn)行讀/寫操作的接口邏輯單元5的寄存器(步驟S105)。
隨后,控制單元4初始化在固件中使用的內(nèi)部變量(步驟S106)并分別檢查芯片的數(shù)量及閃存2的容量(步驟S107)。
此外,控制器3訪問閃存2以判定閃存2是否準(zhǔn)備好讀/寫操作(步驟S108)。
如在此步驟S108的處理中,控制器3通過訪問閃存2讀取儲存在閃存2中的閃存檢查數(shù)據(jù)FD。
CPU4c將讀自閃存2的所述閃存檢查數(shù)據(jù)FD和先前存儲在ROM4a中的所述操作檢查數(shù)據(jù)FD11進(jìn)行比較,并當(dāng)這些閃存檢查數(shù)據(jù)FD和操作檢查數(shù)據(jù)FD11匹配時判定閃存2已準(zhǔn)備好讀操作。
當(dāng)閃存2準(zhǔn)備好讀操作時,CPU4c將儲存于ROM4a中的寫入檢查數(shù)據(jù)FD12寫入閃存2,隨后再次讀取寫入到閃存2的寫入檢查數(shù)據(jù)FD12并將其與ROM4a的寫入檢查數(shù)據(jù)FD11上得到的寫入檢查數(shù)據(jù)FD12進(jìn)行比較。
當(dāng)寫入到閃存2的寫入檢查數(shù)據(jù)FD12與ROM4a的寫入檢查數(shù)據(jù)FD12匹配時,CPU4c判定閃存2工作正常。
通過這樣的數(shù)據(jù)比較,可以實現(xiàn)閃存的高可靠性操作檢查。
之后,CPU4c檢查用于進(jìn)一步更改的固件是否安裝在閃存2中,是的話則執(zhí)行所謂的固件接通閃存讀取操作用于讀取固件。(步驟S109)。
此外,控制器3分別讀取存儲在閃存2的系統(tǒng)區(qū)中的CID/CSD(步驟S110)。所述CID是一個指派給存儲卡1的一個序列號,被用來指定用于選擇存儲卡1的相對地址。
所述CSD是指示關(guān)于存儲卡1的各種信息的數(shù)據(jù),比如相應(yīng)的MMCA說明版本,卡容量,存取時間以及傳輸單元塊長度等。
控制單元4讀取并寫入緩存9的數(shù)據(jù),用于測試緩存9(步驟S111)。之后,控制單元4生成一個失效部分的替代寄存塊的表并將此表寄存于RAM7等(步驟S112)。此外,為減少所述處理過程所需的時間跳過步驟S111也是可能的。
之后,通過讀取密碼和寫保護(hù)數(shù)據(jù)檢查存儲卡1中是否存在密碼或?qū)懕Wo(hù)區(qū)域,然后將結(jié)果寄存到RAM7(步驟S113)。
這樣,用于初始化設(shè)置存儲卡1的通電重置操作就完成了。此外,當(dāng)在步驟S108至S112中出現(xiàn)錯誤時,CPU4c把重置處理錯誤數(shù)據(jù)(低級別)設(shè)在接口邏輯單元5(步驟S114)的寄存器5a,隨后控制器3進(jìn)入休眠模式(步驟S115)。
在此休眠模式中,即當(dāng)所述主機輸出指令CMD且所述重置處理錯誤數(shù)據(jù)(這里是低級別)同時被置入寄存器5a(步驟S116)時,接口邏輯單元5將重置信號輸出到控制器3以再次執(zhí)行步驟S104至S112。
如果在步驟S104至S112中沒有檢測到錯誤,存儲卡1的通電重置操作在步驟S113之后完成。
此外,如果在S104至S112再次出現(xiàn)錯誤,則執(zhí)行步驟S114至S116。步驟S104至S112及S114至S116被重復(fù)執(zhí)行直到錯誤不再出現(xiàn)。
下面,將參照由圖3的主機提供的電源電壓VCC的電平推移圖以及圖4的通電重置處理中各單元的狀態(tài)轉(zhuǎn)移圖來描述存儲卡1中的通電重置處理。這里將描述存儲卡1的初始化設(shè)置操作的完成及第二個通電重置處理。
在圖4中,輸入到控制器3的重置信號,控制器3的操作,閃存2的操作,接口邏輯單元5的寄存器5a的設(shè)置狀態(tài),主機輸出的指令,以及由存儲卡1針對每個指令返回到主機的格式化應(yīng)答的狀態(tài)轉(zhuǎn)移從下往上分別被說明。
首先,當(dāng)存儲卡1被插入到主機的存儲槽中時,接口邏輯單元5達(dá)到工作電壓并被初始化,主機輸出指令以檢查存儲卡1的工作電壓范圍并檢查存儲卡1的內(nèi)部處理是否完成。
接收到指令CMD時,接口邏輯單元5向主機返回“忙”相應(yīng)并向控制器3輸出重置信號。此外,接口邏輯單元5將高電平信號置入寄存器5a中。
另外,在每個預(yù)定周期中接收到“忙”響應(yīng)時主機都重復(fù)輸出指令CMD直到“就緒”響應(yīng)被返回。
此外,控制器3通過接收接口邏輯單元5的重置信號來進(jìn)行重置處理。這一重置處理相應(yīng)于圖2中的步驟S104至S107中的處理。
之后,控制器3通過訪問閃存2進(jìn)行系統(tǒng)狀態(tài)讀取處理。在這里,系統(tǒng)狀態(tài)讀取處理相應(yīng)于圖2中的步驟S108至S113中的處理。
在此系統(tǒng)讀取處理過程中,電源電壓還未達(dá)到閃存2的工作電壓范圍而如圖3中所示處于不穩(wěn)定電壓范圍。因此,在系統(tǒng)讀取處理中就出現(xiàn)一個錯誤,中止了重置。
當(dāng)出現(xiàn)這一錯誤時,CPU4c將重置處理錯誤數(shù)據(jù)置入接口邏輯單元5的寄存器5a中,控制器3進(jìn)入休眠模式。
當(dāng)控制器3在休眠模式中自主機接收到指令CMD時,接口邏輯單元5再次向主機返回“忙”響應(yīng),向控制器3輸出重置信號,并將寄存器5a置為高電平。
接收到接口邏輯單元5的重置信號的控制器3進(jìn)行步驟S104至S107(圖2)中的重置處理。在此重置處理結(jié)束之后,控制器3訪問閃存2以執(zhí)行步驟S108至S113(圖2)中的系統(tǒng)狀態(tài)讀取處理。
由于如圖3中所示在第二個系統(tǒng)狀態(tài)讀取處理中電源電壓VCC達(dá)到了閃存2的工作電壓,系統(tǒng)狀態(tài)讀取處理在執(zhí)行中未出現(xiàn)任何錯誤,通電重置處理成功完成。
這樣,存儲卡1被置為初始狀態(tài),當(dāng)由主機輸入第三個指令CMD時,控制器3向主機返回“就緒”響應(yīng)。
因此,存儲卡1重復(fù)重試直到通電重置處理成功完成,而由于切斷電源電壓的操作不必要以及可由用戶重試,所述通電重置處理過程還可以更為靈活。
在這里,將參照圖5的流程圖描述閃存2中閃存檢查數(shù)據(jù)FD的寫入。這一閃存檢查數(shù)據(jù)FD在傳遞存儲卡1之前的選擇處理中被寫入。
首先,當(dāng)存儲卡1被安裝到像仿真器之類的主機上且被提供給電源電壓VCC時,指令CMD自主機輸入(步驟S201),存儲卡1執(zhí)行通電重置處理(步驟S202)。
此時,由于像閃存檢查數(shù)據(jù)FD,CID/CSD,密碼及寫保護(hù)之類的數(shù)據(jù)未被寫入閃存2,通電重置處理失敗(步驟S203),存儲卡1等待主機輸入指令CMD(步驟S204)。
主機發(fā)出通電重置處理跳過指令(步驟S205)從而將儲存卡1轉(zhuǎn)移到通電重置處理成功完成的狀態(tài),所述通電重置處理跳過指令是用于跳過通電重置處理的調(diào)試指令之一。
調(diào)試指令是為一個售卡商準(zhǔn)備的,用來重寫儲存卡1的系統(tǒng)信息以及分析其中的錯誤。在向調(diào)試模式的轉(zhuǎn)換過程中,所述通電重置處理可被跳過。
之后,主機還發(fā)出閃存檢查數(shù)據(jù)寫入指令以向存儲卡1傳送閃存檢查數(shù)據(jù)FD,所述寫入指令是調(diào)試指令之一(步驟S206)。
當(dāng)存儲卡1從主機接收到閃存檢查數(shù)據(jù)FD(步驟S207)時,閃存檢查數(shù)據(jù)被寫入閃存2的一個特定區(qū)域(步驟S208)。
此外,像CID/CSD,密碼及寫保護(hù)之類的數(shù)據(jù)在步驟S207至S209中也被寫入閃存2的一個特定區(qū)域。
這樣,依照本發(fā)明的所述實施方式,由于即使由主機提供的電源電壓VCC不穩(wěn)定存儲卡1仍可被置為初始化狀態(tài),存儲卡1的可靠性就可被顯著提高。
此外,在此實施方式中,所述通電重置處理被重復(fù)執(zhí)行直到存儲卡1能被成功置為初始化狀態(tài)。然而,還可以限制當(dāng)初始化狀態(tài)失敗時通電重置處理的次數(shù)的。
在此情況下,假定接口邏輯單元5的寄存器5a在用于設(shè)置重置處理錯誤數(shù)據(jù)的比特位之外配備了多個執(zhí)行數(shù)字設(shè)定比特位,以設(shè)定通電重置處理的執(zhí)行次數(shù)。
此外,凡當(dāng)初始化狀態(tài)的設(shè)置失敗時數(shù)據(jù)都被置入所述執(zhí)行次數(shù)設(shè)定比特位,且當(dāng)所有的比特位都被設(shè)置,即初始化狀態(tài)的設(shè)置失敗次數(shù)達(dá)到預(yù)期值后,即使主機發(fā)出CMD指令所述通電重置處理也不被執(zhí)行。
另外,在第一次通電重置處理失敗后,在第二次通電重置處理中所述步驟S104至S107(圖2)中的重置處理可能被跳過,而從步驟S108至S113(圖3)中的系統(tǒng)狀態(tài)讀取處理開始。
即使是這樣,寄存器5a在用于置放重置處理錯誤數(shù)據(jù)的比特位之外還可以有用于置放跳過數(shù)據(jù)的跳過數(shù)據(jù)比特位,并在第一次通電重置處理失敗后設(shè)置用于跳過數(shù)據(jù)的比特位。
當(dāng)用于跳過數(shù)據(jù)的比特位被設(shè)置后,在第二次及之后的通電重置處理中接口邏輯單元5就跳過步驟S104至S107中的重置處理而從步驟S108至S113(圖2)中的系統(tǒng)狀態(tài)讀取處理開始。
這樣,當(dāng)執(zhí)行重試時,通電重置處理所需的時間就可以被縮短。
發(fā)明者們提出的本發(fā)明實際上已在所述首選實施方式的基礎(chǔ)上被描述,但本發(fā)明決不僅局限于上面描述的實施方式,而是在本發(fā)明的范圍內(nèi)允許各種改變和修正。
舉例來說,在所述實施方式中,用于檢查閃存讀/寫操作的檢查數(shù)據(jù)已先被存放在ROM中,但是也可以提出這樣一個設(shè)置使該檢查數(shù)據(jù)與輸出自主機的指令一同由主機輸出。
如上所述,本發(fā)明的用于初始化設(shè)置的存儲卡和方法適用于一塊多媒體卡中的穩(wěn)定操作技術(shù)。
權(quán)利要求
1.一塊存儲卡,包括一個永久性半導(dǎo)體存儲器,用于在一個特定存儲區(qū)域內(nèi)存儲操作檢查數(shù)據(jù);以及一個控制部件,包括一個存儲單元,存儲用于比較的操作檢查數(shù)據(jù)以和讀自所述永久性半導(dǎo)體存儲器的操作檢查數(shù)據(jù)作比較;以及一個處理單元,用于在初始化設(shè)置操作中將讀自所述永久性半導(dǎo)體存儲器的操作檢查數(shù)據(jù)和所述存儲單元中用于比較的操作檢查數(shù)據(jù)進(jìn)行比較,并從外部電路接收操作指示信號和工作電壓,從而依照所述操作指示信號向所述永久性半導(dǎo)體存儲器發(fā)送一個操作指示。
2.依照權(quán)利要求1的存儲卡,包括所述控制部件,其包括所述處理單元,該處理單元用于通過將待寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)存儲到所述存儲單元來檢查所述永久性半導(dǎo)體存儲器的的操作,在初始化設(shè)置操作中將讀自所述永久性半導(dǎo)體存儲器的操作檢查數(shù)據(jù)和所述存儲單元中用于比較的操作檢查數(shù)據(jù)進(jìn)行比較,讀取寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù),將所得到的寫入檢查數(shù)據(jù)和所述存儲單元中的寫入檢查數(shù)據(jù)進(jìn)行比較,以及從外部電路接收操作指示信號和工作電壓從而依照所述操作指示信號向所述永久性半導(dǎo)體存儲器發(fā)送一個操作指示。
3.依照權(quán)利要求1或2的存儲卡,其中所述控制部件配備了一個數(shù)據(jù)存儲單元,用于存儲錯誤數(shù)據(jù)和所述處理單元的設(shè)置,以及其中在讀自所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和用于比較的所述存儲單元中的操作檢查數(shù)據(jù)之間的比較、以及寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)和所述存儲單元中的寫入檢查數(shù)據(jù)之間的比較中的任何一個當(dāng)中檢測到錯誤時,所述處理單元將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元中以通過中斷初始化設(shè)置操作把所述控制部件置為休眠模式,并在將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元的期間中,當(dāng)從一個外部電路接收到用于檢查初始化設(shè)置是否結(jié)束的指令時執(zhí)行初始化設(shè)置操作。
4.一塊存儲卡,包括一個永久性半導(dǎo)體存儲器;以及一個控制部件,用于從一個外部電路接收操作指示信號和工作電壓并依照所述操作指示信號向所述永久性半導(dǎo)體存儲器發(fā)送一個操作指示,其中操作檢查數(shù)據(jù)存儲在所述永久性半導(dǎo)體存儲器的一個特定存儲區(qū)域中,所述控制部件包括一個處理單元,用于基于一個控制程序執(zhí)行預(yù)定的處理;一個永久性存儲單元,存儲用于操作所述處理單元的控制程序;一個暫時存儲單元,用于暫時存儲輸入/輸出數(shù)據(jù)及算法數(shù)據(jù);以及一個接口邏輯單元,用于接收由外部電路輸入或向外部電路輸出的指示各種操作的指令,以及執(zhí)行這些操作所需數(shù)據(jù)輸入/輸出,其中用于和讀自所述永久性半導(dǎo)體存儲器的操作檢查數(shù)據(jù)作比較的操作檢查數(shù)據(jù)存儲在所述永久性存儲單元的一個特定存儲區(qū)域中,在初始化設(shè)置操作中,所述處理單元將讀自所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和用于比較的所述永久性存儲單元中的操作檢查數(shù)據(jù)進(jìn)行比較以檢查所述永久性半導(dǎo)體存儲器的操作。
5.依照權(quán)利要求4的存儲卡,其中待寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)被存儲在所述永久性存儲單元中,以及所述處理單元在初始化設(shè)置操作中通過將讀自所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和用于比較的所述永久性存儲單元中的操作檢查數(shù)據(jù)進(jìn)行比較,讀取寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù),以及將讀得的寫入檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)進(jìn)行比較,來檢查所述永久性半導(dǎo)體存儲器的操作。
6.依照權(quán)利要求4或5的存儲卡,其中所述接口邏輯單元配備了一個數(shù)據(jù)存儲單元,用于存儲錯誤數(shù)據(jù),以及其中在讀自所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和用于比較的所述存儲單元中的操作檢查數(shù)據(jù)之間的比較、以及寫入所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)之間的比較的任何一個當(dāng)中檢測到錯誤時,所述處理單元將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元中以通過中斷初始化設(shè)置操作把所述控制部件置為休眠模式,并在將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元的期間中,當(dāng)從一個外部電路接收到用于檢查初始化設(shè)置操作是否結(jié)束的指令時執(zhí)行初始化設(shè)置操作。
7.存儲卡的一種初始化設(shè)置方法,即從一個外部電路接收一個操作指示信號和一個工作電壓,并使一個控制部件能夠訪問一個永久性半導(dǎo)體存儲器以根據(jù)所述操作指示信號儲存信息或讀取信息的,所述方法包括以下步驟當(dāng)從所述外部電路接收到一個用于檢查初始化設(shè)置操作是否結(jié)束的指令時,讀取先前存儲在所述永久性半導(dǎo)體存儲器的一個特定存儲區(qū)域中的操作檢查數(shù)據(jù),然后將讀自所述永久性半導(dǎo)體存儲器的所述操作檢查數(shù)據(jù)和用于比較的所述永久性存儲單元中的操作檢查數(shù)據(jù)進(jìn)行比較;當(dāng)在所比較的數(shù)據(jù)中檢測到一個錯誤時,在判定所述永久性半導(dǎo)體存儲器中產(chǎn)生了一個錯誤的基礎(chǔ)上通過所述控制部件將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元中,并通過中斷初始化設(shè)置操作以將所述控制部件置為休眠模式;以及在將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元的期間中,每次從外部電路接收到用于檢查初始化設(shè)置操作是否結(jié)束的設(shè)置指令時都將所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和所述永久性存儲單元中用于比較的操作檢查數(shù)據(jù)進(jìn)行比較,直到這些數(shù)據(jù)匹配,并當(dāng)這些數(shù)據(jù)匹配時清除置入所述數(shù)據(jù)存儲單元的錯誤數(shù)據(jù)。
8.存儲卡的一種初始化設(shè)置方法,即從一個外部電路接收一個操作指示信號和一個工作電壓,并使一個控制部件能夠訪問一個永久性半導(dǎo)體存儲器以根據(jù)所述操作指示信號儲存信息或讀取信息的,所述方法包括以下步驟當(dāng)從所述外部電路接收到一個用于檢查初始化設(shè)置操作是否結(jié)束的指令時,讀取先前存儲在所述永久性半導(dǎo)體存儲器的一個特定存儲區(qū)域中的操作檢查數(shù)據(jù),然后將讀自所述永久性半導(dǎo)體存儲器的所述操作檢查數(shù)據(jù)和用于比較的所述永久性存儲單元中的操作檢查數(shù)據(jù)進(jìn)行比較;將存儲在所述永久性存儲單元中的寫入檢查數(shù)據(jù)寫入所述永久性半導(dǎo)體存儲器;讀取存儲在所述永久性半導(dǎo)體存儲器中的寫入檢查數(shù)據(jù),然后將讀得的寫入檢查數(shù)據(jù)和所述永久性半導(dǎo)體存儲器中的寫入檢查數(shù)據(jù)進(jìn)行比較;當(dāng)在所比較的所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和用于比較的所述永久性存儲單元中的操作檢查數(shù)據(jù)二者任何一個當(dāng)中存在錯誤時,或者當(dāng)在所述永久性半導(dǎo)體存儲器中的寫入檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)二者任何一個當(dāng)中存在錯誤時,在由控制部件判定所述永久性半導(dǎo)體存儲器中存在錯誤的基礎(chǔ)上,將錯誤數(shù)據(jù)置入數(shù)據(jù)存儲單元,并隨后通過中斷初始化設(shè)置操作將所述控制部件置為休眠模式;以及在將錯誤數(shù)據(jù)置入所述數(shù)據(jù)存儲單元的期間中,每次從外部電路接收到用于檢查初始化設(shè)置操作是否結(jié)束的設(shè)置指令時都將所述永久性半導(dǎo)體存儲器中的操作檢查數(shù)據(jù)和所述永久性存儲單元中用于比較的操作檢查數(shù)據(jù)進(jìn)行比較,并將所述永久性半導(dǎo)體存儲器的寫入檢查數(shù)據(jù)和所述永久性存儲單元中的寫入檢查數(shù)據(jù)進(jìn)行比較,直到這些數(shù)據(jù)匹配,并且當(dāng)這些數(shù)據(jù)匹配時清除置入所述數(shù)據(jù)存儲單元的錯誤數(shù)據(jù)。
全文摘要
在一塊存儲卡1的初始化設(shè)置中,讀出存儲在一塊閃存2中的閃存檢查數(shù)據(jù)FD,將此數(shù)據(jù)FD與先前存儲在ROM中的操作檢查數(shù)據(jù)FD文檔編號G06F12/16GK1554069SQ02817898
公開日2004年12月8日 申請日期2002年5月8日 優(yōu)先權(quán)日2001年9月13日
發(fā)明者大館英史, 白石敦, 倉形繁男, 片山國弘, 金森賢樹, 弘, 樹, 男 申請人:株式會社瑞薩科技, 日立超大規(guī)模集成電路系統(tǒng)株式會社