專利名稱:卡和主機(jī)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種卡和一種主機(jī)設(shè)備,例如涉及在對(duì)存儲(chǔ)卡和使用所述存儲(chǔ)卡的主 機(jī)設(shè)備進(jìn)行初始化以及終止從主機(jī)設(shè)備供電時(shí)的處理。
背景技術(shù):
近年來,作為可移動(dòng)存儲(chǔ)設(shè)備的存儲(chǔ)卡已經(jīng)被經(jīng)常用于各種便攜式電子設(shè)備、諸 如個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、照相機(jī)或者蜂窩電話中。在所述存儲(chǔ)卡當(dāng)中,PC卡和 小型SDTM卡更受關(guān)注。所述SDTM卡是一種包含閃存、卡控制器等的存儲(chǔ)卡。所述SDTM卡被 特別設(shè)計(jì)成能夠滿足諸如減少尺寸和增加容量及速度的需要。 現(xiàn)有技術(shù)對(duì)于SD 卡規(guī)定初始化時(shí)間最多是一秒。由此,所有常規(guī)的SD 卡都是 依照此規(guī)格來制造的。然而,隨著SDTM卡的容量增加,自身減少初始化時(shí)間變得越發(fā)困難。 因此,初始化時(shí)間的減少受到限制。特別的是,當(dāng)把所述卡用于數(shù)字照相機(jī)、電影攝影機(jī)等 時(shí),因?yàn)橐筮@些設(shè)備能夠在通電之后立即進(jìn)行拍攝,所以不能簡(jiǎn)單地隨著SDTM卡的容量 的不斷增加而增加初始化時(shí)間。
發(fā)明內(nèi)容
依照本發(fā)明的第一方面,提供了一種主機(jī)設(shè)備,其中插入有具有非易失性半導(dǎo)體 存儲(chǔ)器的卡,并且該主機(jī)設(shè)備用于向所述卡發(fā)出檢查命令,所述檢查命令指示發(fā)送有關(guān)所 述卡是否支持終止處理的信息,在所述終止處理中,所述卡變換至準(zhǔn)備好停止從主機(jī)設(shè)備 供電的狀態(tài)。 依照本發(fā)明的第二方面,提供了一種具有非易失性半導(dǎo)體存儲(chǔ)器的卡,其用于插 入到主機(jī)設(shè)備中,并且用于支持終止處理,在所述終止處理中,所述卡變換至準(zhǔn)備好停止從 主機(jī)設(shè)備供電的狀態(tài),當(dāng)所述卡接收到指示發(fā)送有關(guān)所述卡是否支持終止處理的信息的檢 查命令時(shí),所述卡發(fā)送一個(gè)表明所述卡支持所述終止處理的響應(yīng)。 依照本發(fā)明又一方面,提供了一種主機(jī)設(shè)備,其中插入有卡,該卡包括存儲(chǔ)數(shù)據(jù)的
非易失性半導(dǎo)體存儲(chǔ)器和控制該非易失性半導(dǎo)體存儲(chǔ)器的控制器,該控制器包括接口 、 RAM
和控制部,所述接口從所述數(shù)據(jù)接收包括檢查命令和功能停止命令的命令以及向所述設(shè)備
發(fā)送信號(hào)和從所述設(shè)備接收信號(hào),所述RAM存儲(chǔ)所述控制器的管理數(shù)據(jù),而所述控制部控
制所述控制器的操作, 所述主機(jī)設(shè)備包括 命令控制部,其向所述卡發(fā)出所述檢查命令和所述功能停止命令,其中 所述檢查命令指示所述控制器返回有關(guān)所述卡是否能夠變換至準(zhǔn)備好允許停止對(duì)所述卡供電的就緒狀態(tài)的狀態(tài)信息, 所述功能停止命令指示所述控制器將所述卡變換至所述就緒狀態(tài), 所述設(shè)備接收在所述控制部接收所述檢查命令時(shí)響應(yīng)于該檢查命令而由所述控
制部發(fā)出的包括狀態(tài)信息的響應(yīng), 所述設(shè)備接收由所述控制部響應(yīng)于所述功能停止命令發(fā)出的響應(yīng),
所述控制部將所述卡變換至就緒狀態(tài);以及 所述至就緒狀態(tài)的變換包括將存儲(chǔ)在所述RAM中的管理數(shù)據(jù)保存在所述非易失性半導(dǎo)體存儲(chǔ)器中。
圖1是示出依照本發(fā)明第一實(shí)施例的存儲(chǔ)卡的基本部分的配置的圖; 圖2是示出在依照第一實(shí)施例的卡中信號(hào)與信號(hào)引腳的分配的圖; 圖3是示出在依照第一實(shí)施例的卡中的硬件配置的框圖; 圖4是詳細(xì)示出依照第一實(shí)施例的卡的寄存器部分的配置的圖; 圖5是示出在NAND型閃存中的數(shù)據(jù)設(shè)置的圖表; 圖6是示出了用于檢查依照第一實(shí)施例的終止處理是否被支持的處理的流程圖; 圖7是切換命令和對(duì)其的響應(yīng)的時(shí)序圖; 圖8是示出依照第一實(shí)施例的初始化命令的一部分內(nèi)容的圖; 圖9是示出了在初始化期間由依照第一實(shí)施例的卡和主機(jī)設(shè)備執(zhí)行的終止處理的流程圖; 圖10是示出了在所述卡已經(jīng)接收到功能停止命令之后并且在它完成終止處理之前、在依照第一實(shí)施例的卡和主機(jī)設(shè)備之間傳送和接收信號(hào)的時(shí)序圖; 圖11是示出由依照第一實(shí)施例的主機(jī)設(shè)備發(fā)出的功能停止命令內(nèi)容的基本部分的圖; 圖12是示出圖6中所示的處理的一部分的另一示例的圖表; 圖13是示出依照第一實(shí)施例的初始化命令及對(duì)其的響應(yīng)的一部分內(nèi)容的圖; 圖14是示出在初始化期間由依照第一實(shí)施例的卡執(zhí)行的處理的流程圖; 圖15是示出依照本發(fā)明第二實(shí)施例的卡中的硬件配置的框圖;并且 圖16是示出依照本發(fā)明第三實(shí)施例的卡中的硬件配置的框圖。
具體實(shí)施例方式
結(jié)合在"背景技術(shù)"部分中所描述的問題,能夠使用一種用于即使在主機(jī)設(shè)備已經(jīng)被斷電之后也能夠連續(xù)地向SDTM卡提供電源電壓的技術(shù)。這種技術(shù)消除了當(dāng)主機(jī)設(shè)備被打開時(shí)對(duì)初始化SDTM卡的需要。因此,在主機(jī)設(shè)備已經(jīng)通電之后可以立即使用SDTM卡。然而,
不利的是,來自SDTM卡的漏電流會(huì)使主機(jī)設(shè)備的電池耗盡。從技術(shù)上很難減少這種漏電流。
由此,對(duì)這種技術(shù)的利用十分困難。 下面將參照附圖來描述本發(fā)明的實(shí)施例。在下面的描述中,基本上具有相同功能和配置的組件將由相同的參考標(biāo)記來表示。只有當(dāng)需要時(shí),才會(huì)給出重復(fù)的描述。
(第一實(shí)施例)
圖1示出了依照本發(fā)明第一實(shí)施例的卡的基本部分的配置???存儲(chǔ)卡)l經(jīng)由 總線接口 3向主機(jī)設(shè)備傳送并從中接收信息。所述卡1包括NAND型閃存芯片11、用于控制 NAND型閃存11的卡控制器12以及多個(gè)信號(hào)引腳(第一至第九引腳)13。
多個(gè)信號(hào)引腳13被電連接至卡控制器12。把信號(hào)分配給多個(gè)信號(hào)引腳13、即第 一至第九引腳,例如如圖2所示。把數(shù)據(jù)0至3分別分配給第七引腳、第八引腳、第九引腳 和第一引腳。第一引腳還被分配有卡檢測(cè)信號(hào)。此外,所述第二引腳被分配有命令。第三 和第六引腳被分配有地電壓Vss。第四和第五引腳被分別分配有電源電壓Vdd和時(shí)鐘信號(hào)。
所述卡1這樣形成,以便使它可以被插入到主機(jī)設(shè)備2中所設(shè)置的槽4中并且可 以從中移除。主機(jī)設(shè)備2包括電壓供給部5、讀/寫控制部6、命令控制部7、卡檢測(cè)部8等。
所述電壓供給部5、讀/寫部6、命令控制部7經(jīng)由第一至第九引腳向卡1中的卡 控制器12傳送并從中接收各種信號(hào)和數(shù)據(jù)。例如,當(dāng)將要把數(shù)據(jù)寫入卡1時(shí),命令控制部 7把寫命令作為串行信號(hào)經(jīng)由第二引腳傳送至卡控制器12。在這個(gè)時(shí)候,響應(yīng)于提供給第 五引腳的時(shí)鐘信號(hào),所述卡控制器12加載被提供給第二引腳的寫命令。通過僅利用第二引 腳,把寫命令串行輸入至卡控制器12??z測(cè)部8檢測(cè)是否有任何卡被插入槽4中。
用于NAND型閃存的接口被用來在NAND型閃存11和卡控制器12之間通信。因 此,雖然未示出,但是NAND型閃存11和卡控制器12通過8位I/O線路連接在一起。例如, 當(dāng)所述卡控制器12向NAND型閃存11寫數(shù)據(jù)時(shí),卡控制器12經(jīng)由I/O線路向NAND型閃存 11順序地輸入數(shù)據(jù)輸入命令80H、列地址、頁地址、數(shù)據(jù)和程序命令I(lǐng)OH。此處,命令80H中 的"H"表明十六進(jìn)制數(shù)。實(shí)際上,8位信號(hào)"10000000"被并行提供給8位I/O線路。也就 是說,采用NAND型閃存接口 , 一條多位的命令被并行提供給I/O線路。此外,采用NAND型 閃存接口,使用相同的1/0線路來向NAND型閃存11傳遞命令和數(shù)據(jù)。由此,用于允許主機(jī) 設(shè)備2中的主機(jī)控制器和卡1進(jìn)行通信的接口不同于用于允許NAND型閃存11和卡控制器 12進(jìn)行通信的接口。 圖3是示出在依照本發(fā)明第一實(shí)施例的卡中的硬件配置的框圖。如圖3所示,所 述主機(jī)設(shè)備2包括用于訪問經(jīng)由總線接口 3連接至設(shè)備2的卡1的硬件和軟件。當(dāng)卡1連 接至主機(jī)設(shè)備2時(shí),卡1通過由電壓供給部5供電來操作???依照來自主機(jī)設(shè)備2的訪 問來執(zhí)行處理。 對(duì)于NAND型閃存11來說,用于擦除的擦除塊大小(擦除單元的塊大小)被設(shè)定 為預(yù)定值(例如,256k字節(jié))。此外,以所謂的"頁"為單位(例如2k字節(jié))向NAND型閃 存ll寫入并從中讀取數(shù)據(jù)。 所述卡控制器12具有主機(jī)接口模塊21、微處理單元(MPU)23、閃存控制器26、只讀 存儲(chǔ)器(R0M)24、例如充當(dāng)臨時(shí)儲(chǔ)存存儲(chǔ)器的隨機(jī)存取存儲(chǔ)器(RAM) 25以及緩沖器27。卡 控制器12存儲(chǔ)涉及NAND型閃存11的內(nèi)部物理狀態(tài)的系統(tǒng)數(shù)據(jù)。所述RAM 25是使用諸如 靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)之類的易失性存儲(chǔ)器來實(shí)現(xiàn)的。所述系統(tǒng)數(shù)據(jù)包括表明某一 物理塊地址中包含的邏輯扇區(qū)地址數(shù)據(jù)的序數(shù)的數(shù)據(jù)等,其中這些塊是可寫的。
主機(jī)接口模塊21把卡控制器12和主機(jī)設(shè)備2對(duì)接在一起,并且包括寄存器部22。 圖4詳細(xì)地示出了寄存器部22的配置。所述寄存器部22具有各種寄存器,其中包括卡狀 態(tài)寄存器、CID、 RCA、 DSR、 CSD、 SCR和OCR。所述寄存器部還包括初始化方法表明部模式寄 存器36和繁忙通知部模式寄存器37。所述初始化方法表明部模式寄存器36把將要包含在
5初始化方法表明部中的位模式保存在對(duì)初始化命令的響應(yīng)中。 如下所述那樣來定義這些寄存器。卡狀態(tài)寄存器用于正常操作,并且存儲(chǔ)例如稍后描述的錯(cuò)誤信息。CID、 RCA、 DSR、 CSD、 SCR和OCR主要用于初始化卡1。 CID(卡標(biāo)識(shí)號(hào),Card IDentification誦ber)存儲(chǔ)卡1的特殊編號(hào)(individual number) 。 RCA(相對(duì)卡地址,Relative Card Address)存儲(chǔ)相對(duì)卡地址(在初始化期間由主機(jī)設(shè)備動(dòng)態(tài)地確定)。DSR(驅(qū)動(dòng)器級(jí)寄存器,Driver Stage Register)存儲(chǔ)卡1的總線驅(qū)動(dòng)力等。CSD(卡特定的數(shù)據(jù),Card Specific Data)存儲(chǔ)卡1的特性參數(shù)值。SCR(SD配置數(shù)據(jù)寄存器,SDConfigurationdata Register)存儲(chǔ)卡1中的數(shù)據(jù)的設(shè)置。此夕卜,OCR(操作條件寄存器,Operation Condition Register)存儲(chǔ)當(dāng)卡1具有有限的工作電壓范圍時(shí)的工作電壓。
MPU(控制部)23控制整個(gè)卡1的操作。例如,當(dāng)卡1被供電時(shí),MPU 23讀取存儲(chǔ)在R0M 24中的固件(控制程序)并且把它加載到RAM 25上。然后,MPU 23執(zhí)行預(yù)定的處理,以便在RAM 25上創(chuàng)建各種系統(tǒng)數(shù)據(jù)。MPU 23還從主機(jī)設(shè)備2接收寫命令、讀命令或者擦除命令。然后,MPU 23對(duì)NAND型閃存11執(zhí)行預(yù)定的處理,或者控制經(jīng)由緩沖器26的數(shù)據(jù)傳輸處理。 ROM 24存儲(chǔ)例如由MPU 23控制的控制程序。RAM 25用作MPU 23的工作區(qū),用于存儲(chǔ)控制程序和各種系統(tǒng)數(shù)據(jù)。此外,所述閃存控制器26執(zhí)行卡控制器12和NAND型閃存ll之間的對(duì)接處理。 當(dāng)把由主機(jī)設(shè)備2發(fā)送的數(shù)據(jù)寫入NAND型閃存11時(shí),緩沖器27臨時(shí)存儲(chǔ)規(guī)定量的數(shù)據(jù)(例如, 一頁)。當(dāng)把從NAND型閃存11中讀取的數(shù)據(jù)傳送給主機(jī)設(shè)備2時(shí),緩沖器27也臨時(shí)存儲(chǔ)規(guī)定量的數(shù)據(jù)。 圖5示出了 NAND型閃存11中的數(shù)據(jù)的設(shè)置。NAND型閃存11的每一頁均具有2112
字節(jié)((數(shù)據(jù)存儲(chǔ)部的512字節(jié)+冗余部的10字節(jié))X 4+管理數(shù)據(jù)存儲(chǔ)部的24字節(jié))。一
個(gè)擦除單元合計(jì)是128頁(256k字節(jié)+8k字節(jié)(在此情況下,k是1, 024))。 此外,所述NAND型閃存11包括頁緩沖器11A,用于向閃存輸入并從中輸出數(shù)據(jù)。
頁緩沖器11A的存儲(chǔ)容量是2, 112字節(jié)(2, 048字節(jié)+64字節(jié))。對(duì)于數(shù)據(jù)寫入等來說,所
述頁緩沖器IIA按照等于其自身存儲(chǔ)容量的每一頁向閃存輸入并從中輸出數(shù)據(jù)。 如果NAND型閃存11的存儲(chǔ)容量是例如1G比特,那么256k字節(jié)的塊(擦除單元)
的數(shù)目是512。 此外,圖5舉例說明了擦除單元是256k字節(jié)的情況。然而,這實(shí)際上同樣適用于構(gòu)造所述存儲(chǔ)器以便使擦除單元是例如16k字節(jié)的塊。在此情況下,每一頁均具有528字節(jié)(數(shù)據(jù)存儲(chǔ)部的512字節(jié)+冗余部的16字節(jié))。 一個(gè)擦除單元合計(jì)是32頁(16k字節(jié)+0. 5k字節(jié)(在此情況下,k是1, 024))。 將NAND型閃存11的其中寫入數(shù)據(jù)的區(qū)域(數(shù)據(jù)存儲(chǔ)區(qū))按照所保存的數(shù)據(jù)的類型劃分為多個(gè)區(qū)域,如圖3所示。所述NAND型閃存11包括其中存儲(chǔ)有用戶數(shù)據(jù)的用戶數(shù)據(jù)區(qū)域34,其中存儲(chǔ)有涉及卡1的管理信息的管理數(shù)據(jù)區(qū)域31,其中存儲(chǔ)有機(jī)密數(shù)據(jù)的機(jī)密數(shù)據(jù)區(qū)域32,以及其中存儲(chǔ)有重要數(shù)據(jù)的受保護(hù)數(shù)據(jù)區(qū)域33,作為數(shù)據(jù)存儲(chǔ)區(qū)。
所述用戶數(shù)據(jù)區(qū)域34可以由卡1的用戶自由訪問并使用。只有當(dāng)主機(jī)設(shè)備2根據(jù)卡1和連接至卡1的主機(jī)設(shè)備2之間的相互驗(yàn)證而被證明是有效的時(shí),才可以訪問受保護(hù)數(shù)據(jù)區(qū)域33。
管理數(shù)據(jù)區(qū)域31存儲(chǔ)諸如卡1的介質(zhì)ID之類的卡信息和系統(tǒng)數(shù)據(jù)。所述機(jī)密數(shù) 據(jù)區(qū)域32存儲(chǔ)用于加密的密鑰信息、用于驗(yàn)證的機(jī)密數(shù)據(jù)和安全信息。
所述卡的操作模式被粗分為SD模式和SPI模式。在SD模式中,按照來自主機(jī)設(shè) 備2的總線寬度改變命令,將所述卡1設(shè)置為SD 4位模式或者SD1位模式。
此處,把關(guān)注點(diǎn)放在四個(gè)引腳、即數(shù)據(jù)0引腳(DATO)至數(shù)據(jù)3引腳(DAT3)上。在 其中數(shù)據(jù)按照每4位寬度傳輸?shù)腟D4位模式中,所有四個(gè)引腳、即數(shù)據(jù)0引腳(DATO)至數(shù) 據(jù)3引腳(DAT3)都用于數(shù)據(jù)傳輸。與此相比,在其中數(shù)據(jù)按照每1位寬度傳輸?shù)腟D1位模 式中,只有數(shù)據(jù)O引腳(DATO)用于數(shù)據(jù)傳輸,而數(shù)據(jù)l引腳(DAT1)和數(shù)據(jù)2引腳(DAT2) 不用于數(shù)據(jù)傳輸。另一方面,所述數(shù)據(jù)3引腳(DAT3)例如用于由主機(jī)設(shè)備2中的卡1進(jìn)行 的異步中斷。在SPI模式中,所述數(shù)據(jù)0引腳(DATO)用于從卡1到主機(jī)設(shè)備2的數(shù)據(jù)信號(hào) 線(DATA OUT)。所述命令引腳(CMD)用于從主機(jī)設(shè)備2到卡1的數(shù)據(jù)信號(hào)線(DATA IN)。 所述數(shù)據(jù)l引腳(DAT1)和數(shù)據(jù)2引腳(DAT2)不使用。此外,在SPI模式中,數(shù)據(jù)3引腳 (DAT3)用來把片選信號(hào)C3從主機(jī)設(shè)備2發(fā)送到卡1。 現(xiàn)在將參考圖6至14來給出對(duì)卡1和主機(jī)設(shè)備2的操作的描述。
(對(duì)于支持終端操作的檢查操作) 所述主機(jī)設(shè)備2確定卡1是否支持由功能停止命令指示進(jìn)行的終止處理(將稍后 描述)。所述確定只須在主機(jī)設(shè)備停止供電以前的任何時(shí)間完成即可。 圖6示出了由主機(jī)設(shè)備用來獲知卡1是否支持終止處理的處理的流程圖。如圖6 所示,所述主機(jī)設(shè)備2向卡1發(fā)出用于確定卡1是否支持終止處理的命令(步驟S31)。這 種命令的示例可以包括所謂的切換命令。所述切換命令例如用在檢查功能或者設(shè)置功能 中。例如,模式0用作檢查功能,而模式1用作設(shè)置功能。命令中的模式顯示部分可以被設(shè) 置為"0"或者"1 ",以便切換所述模式。 當(dāng)主機(jī)設(shè)備2訪問卡1時(shí),所述主機(jī)設(shè)備2必須知道卡1的規(guī)格。主機(jī)設(shè)備2向 卡1提供切換命令,所述切換命令被設(shè)置為具有如圖7所示的檢查功能。然后,主機(jī)設(shè)備2 在數(shù)據(jù)線DAT上接收來自卡1的狀態(tài)數(shù)據(jù),以便知道卡的規(guī)格。 當(dāng)支持終止處理的卡1接收到切換命令時(shí),所述卡1送回狀態(tài)數(shù)據(jù),所述狀態(tài)數(shù)據(jù) 表明卡1支持所述處理的。主機(jī)設(shè)備2接收所述狀態(tài)數(shù)據(jù),以便知道在停止供電以前可以 執(zhí)行終止處理。 相反,如果卡1支持切換命令、但是不支持所述終止處理,那么所述狀態(tài)數(shù)據(jù)表示 所述卡1不支持所述處理。主機(jī)設(shè)備2接收這種狀態(tài)數(shù)據(jù),以便知道終止處理無法執(zhí)行。
如果卡1不支持切換命令,那么不送回響應(yīng)和狀態(tài)數(shù)據(jù)。因此,所述主機(jī)設(shè)備2知 道終止處理無法執(zhí)行。主機(jī)設(shè)備可以檢查卡1的版本信息,以便知道卡1對(duì)終止處理的支 持情況。 如果卡1支持各種可切換的操作模式,那么主機(jī)設(shè)備2發(fā)出切換命令,所述切換命 令處于設(shè)置模式下并且說明將由卡1采取的操作模式。 作為選擇,主機(jī)設(shè)備2可以使用初始化命令來確定卡1是支持還是不支持終止處 理。圖8示出了依照第一實(shí)施例的初始化命令的一部分內(nèi)容。如圖8所示,所述初始化命 令包括命令部CM、終止處理標(biāo)識(shí)部TP、繁忙通知部BS和檢錯(cuò)碼部,所述檢錯(cuò)碼部例如可以 包含循環(huán)冗余校驗(yàn)(CRC)。所述命令部包含用于標(biāo)識(shí)命令的索引。
7
依照本實(shí)施例,所述主機(jī)設(shè)備2向卡提供其終止處理標(biāo)識(shí)部TP被設(shè)置(例如被設(shè)置為"l")以便表示所述主機(jī)設(shè)備2支持終止處理的初始化命令。 接收到所述初始化命令后,所述卡1向主機(jī)設(shè)備2送回響應(yīng)。所述響應(yīng)具有與所述命令相同的格式。如果卡1支持終止處理,那么卡1送回在終止處理標(biāo)識(shí)部TP中表明它支持終止處理的響應(yīng),所述響應(yīng)是其終止處理標(biāo)識(shí)部TP具有與該命令相同的位的響應(yīng)。所述主機(jī)設(shè)備2接收該響應(yīng),以便知道它可以對(duì)卡1采用終止處理。 如果卡1識(shí)別出用于確定支持還是不支持終止處理的命令,但是卡1不支持所述處理,那么它送回其終止處理標(biāo)識(shí)部被設(shè)置(例如被設(shè)置為"0")以便表示卡l不支持終止處理的響應(yīng)。 在步驟S32中主機(jī)設(shè)備2確定卡1是否支持終止處理之后,主機(jī)設(shè)備2把數(shù)據(jù)寫入卡1中或從中讀取數(shù)據(jù)(步驟S33、S34)達(dá)所需的次數(shù)。
(終端操作) 所述主機(jī)設(shè)備2例如響應(yīng)于主機(jī)設(shè)備2的斷電而采用下文中所述的終止處理。如果卡1不支持所述終止處理,那么主機(jī)設(shè)備2依照常規(guī)方式停止向卡1供電,以便停止從主機(jī)設(shè)備2訪問卡1。 相反,如果卡1支持所述終止處理,那么主機(jī)設(shè)備2和卡1執(zhí)行圖9中所示的終止處理。圖9是示出依照第一實(shí)施例的卡1和主機(jī)設(shè)備2所采用的終止序列的流程圖。圖10是終止處理的時(shí)序圖。 如圖9和10所示,主機(jī)設(shè)備2首先在命令線CMD上向卡1發(fā)出功能停止命令(步驟S1)。所述功能停止命令可以是上述的切換命令或者新定義的命令。當(dāng)使用所述切換命令時(shí),功能停止命令至少具有命令部CM和保存指示部SS,如圖ll所示。還可以提供檢錯(cuò)碼部ED。當(dāng)使用新定義的命令時(shí),所述指示部CM自身表明此命令是功能停止命令,因此所述保存指示部SS不是必需的。所述保存指示部SS可以獲得這樣的位模式(例如"l"),其至少表明卡1應(yīng)該變換至斷電就緒狀態(tài),在斷電就緒狀態(tài)中所述卡準(zhǔn)備好例如在保存系統(tǒng)數(shù)據(jù)之后停止供電。此外,所述保存指示部SS可以具有這樣的位模式(例如"0"),其表明所述卡1可以在不保存系統(tǒng)數(shù)據(jù)的情況下變換至斷電就緒狀態(tài)。 卡1接收功能停止命令(步驟S2)。響應(yīng)于此命令,卡1在命令線CMD上送回一響應(yīng),并且開始向主機(jī)設(shè)備2傳送信號(hào)(例如"O"),該信號(hào)表明卡1正忙于執(zhí)行所述終止處理(步驟S3)。 在開始供電之后,執(zhí)行關(guān)于所述卡1的狀態(tài)是否已經(jīng)改變的確定(步驟S4)。例如,如果已經(jīng)把數(shù)據(jù)寫入卡1中、鎖定/解鎖功能已經(jīng)改變、或者可編程的CSD寄存器已經(jīng)被設(shè)置為另一狀態(tài),那么可以認(rèn)為卡1的狀態(tài)已經(jīng)改變。 當(dāng)卡1的狀態(tài)已經(jīng)改變時(shí),所述卡1執(zhí)行終止處理(步驟S5)。所述終止處理可以包括多種處理,并且可以是把存儲(chǔ)在RAM 25中的系統(tǒng)數(shù)據(jù)保存到NAND型閃存11上。所述系統(tǒng)數(shù)據(jù)例如可以被保存到管理數(shù)據(jù)區(qū)域31上。作為選擇,所述系統(tǒng)數(shù)據(jù)可以被保存到獨(dú)立于NAND型閃存11提供的非易失性存儲(chǔ)器上。系統(tǒng)數(shù)據(jù)的全部或一部分都可以被保存。
系統(tǒng)數(shù)據(jù)的例子包括地址轉(zhuǎn)換表和分配表。所述地址轉(zhuǎn)換表用來把邏輯地址轉(zhuǎn)換為NAND型閃存11的物理地址。所述分配表用來把用于存儲(chǔ)數(shù)據(jù)的塊(分配有邏輯塊的塊)與不用于存儲(chǔ)數(shù)據(jù)的那些塊(未分配有邏輯塊的塊)加以區(qū)分。
所述終端操作可以包括如下過程。如果沒有定義功能停止命令,那么卡無法得知 何時(shí)停止從主機(jī)設(shè)備供電。因此,所述卡必須把主機(jī)設(shè)備需要寫入的全部數(shù)據(jù)寫入NAND型 閃存11中,以便為可能的突然斷電作好準(zhǔn)備。 相反,所述功能停止命令可以讓卡1預(yù)先知道即將停止從主機(jī)設(shè)備2供電。如圖12 所示,這個(gè)優(yōu)點(diǎn)允許卡1只把主機(jī)設(shè)備2要求寫入的部分?jǐn)?shù)據(jù)寫入NAND型閃存11中(步 驟S33A),并在隨后的時(shí)間內(nèi)寫入其剩余部分(步驟S33B),諸如未由主機(jī)設(shè)備2訪問的部 分。當(dāng)采用這種方法時(shí),剩余部分的數(shù)據(jù)例如可以存儲(chǔ)在RAM 25或者NAND型閃存11中的 高速緩存區(qū)域(臨時(shí)寫入?yún)^(qū)域)中。與寫入全部數(shù)據(jù)相比,這種寫入方法允許卡l用較短 的時(shí)間響應(yīng)于一條寫命令寫入數(shù)據(jù)。 待寫入的剩余部分?jǐn)?shù)據(jù)的寫入必須在停止向卡1供電以前完成。因此,所述終止 處理的例子包括把剩余部分的數(shù)據(jù)寫入NAND型閃存11中。 應(yīng)注意的是,所述主機(jī)設(shè)備可以在其知道卡1支持終止處理或者卡1判定出其自 身應(yīng)該執(zhí)行哪個(gè)處理之后,命令所述卡寫入全部或者部分?jǐn)?shù)據(jù)。 然后,在圖9中,所述卡1自身設(shè)置表明終止處理已經(jīng)完成的位模式(例如"l") (步驟S6)。所述位模式(標(biāo)志)可以被存儲(chǔ)在NAND型閃存11中的區(qū)域(正常終止表明 標(biāo)志35)中,例如,可以存儲(chǔ)在管理數(shù)據(jù)區(qū)域31中,如圖31所示。 然后,一旦所述終止處理已經(jīng)完成,那么卡1就把表明繁忙狀態(tài)已經(jīng)被清除的信 號(hào)傳送至主機(jī)設(shè)備2 (步驟S7)。所述主機(jī)設(shè)備2于是知道繁忙狀態(tài)的清除。
在繁忙狀態(tài)的清除之后,然后,所述卡1變換至低功率模式(步驟S8)。所述低功 率模式允許卡的功耗低于正常狀態(tài)。因此,除了需要變換至初始化處理的部分之外,中斷供 電。由此,正常地完成了卡l變換至低功率模式。 所述低功率模式可以通過限制時(shí)鐘信號(hào)的提供來實(shí)現(xiàn),例如如下所述的兩種方法
的情況下那樣。采用第一種方法,卡l中的時(shí)鐘電路包括鎖相環(huán)(PLL)電路和振蕩器,并且
振蕩器被停止。在此情況下,振蕩器的功耗減少了。此外,例如,所述PLL電路存儲(chǔ)初始頻
率值,以便使時(shí)鐘電路的振蕩頻率能夠在供電開始之后的短時(shí)間內(nèi)被穩(wěn)定。 采用第二種方法,由主機(jī)設(shè)備2提供的時(shí)鐘被停止。當(dāng)卡1在操作時(shí),主機(jī)設(shè)備2
向位于卡1的前端的大多數(shù)觸發(fā)器提供時(shí)鐘信號(hào)???的功耗可以通過停止把時(shí)鐘信號(hào)提
供給例如除位于命令解碼電路中的觸發(fā)器以外的觸發(fā)器而得以減少。 在變換至斷電就緒狀態(tài)(無源狀態(tài))之后,卡l不接受包括讀/寫命令在內(nèi)的任 何命令,直到初始化再一次開始為止。這樣做避免了在停止向卡l供電之前改變所保存的 系統(tǒng)數(shù)據(jù)。 響應(yīng)于繁忙狀態(tài)的清除,主機(jī)設(shè)備2停止向卡1供電(步驟S9)。如上所述,在清 除繁忙狀態(tài)之后,所述卡l變換至低功率模式。這樣做提供了如下所述的優(yōu)點(diǎn)。 一般說來, 在繁忙狀態(tài)被清除之后立即停止向卡1供電。然而,中斷從主機(jī)設(shè)備2供電可能會(huì)因某種 原因而失敗。在此情況下,主機(jī)設(shè)備2的功耗可以通過避免向卡1提供無用的電壓而得以 減少。 所述主機(jī)設(shè)備可以對(duì)卡1的繁忙狀態(tài)提供超時(shí)控制。例如,如果繁忙狀態(tài)持續(xù)時(shí) 間長(zhǎng)于所設(shè)置的超時(shí)周期,那么主機(jī)設(shè)備2停止向卡1供電。在此情況下,所述正常終止表 明標(biāo)志35被設(shè)置為表明終止處理仍未完成的位模式(例如"0")。
當(dāng)所述卡1的狀態(tài)在通電之后沒有改變,并且終止處理在上一次斷電時(shí)已經(jīng)完成,那么終止處理不是必需的。因此,當(dāng)在步驟S10中設(shè)置了正常終止表明標(biāo)志35時(shí),然后繼續(xù)進(jìn)行到步驟S7。
(初始化處理) 現(xiàn)在,參考圖13,將給出對(duì)初始化命令及對(duì)其的響應(yīng)的描述。圖13示出了當(dāng)初始化命令和響應(yīng)具有相同格式時(shí)的初始化命令和響應(yīng)的一部分內(nèi)容。 如圖13所示,所述初始化命令至少具有命令部CM和繁忙通知部BS。所述初始化命令不具有初始化方法表明部FI。還可以提供檢錯(cuò)碼部ED。 在所述響應(yīng)中,初始化方法表明部FI(其不是必需的)示出了卡1已經(jīng)用哪種初始化方法執(zhí)行了初始化。所述繁忙通知部BS用表明卡1正被初始化的位模式(例如位模式"l")或者表明初始化已經(jīng)完成的位模式(例如位模式"0")來形成。所述初始化方法表明部FI直到繁忙狀態(tài)被清除時(shí)才是有效的。 參考圖14,現(xiàn)在將給出在卡1的初始化期間由卡1執(zhí)行的處理的描述。圖14是示出了在初始化期間由依照第一實(shí)施例的卡1執(zhí)行的處理的流程圖。如圖14所示,所述卡1接收初始化命令(步驟S21),然后返回對(duì)初始化命令的響應(yīng)。所述響應(yīng)中的繁忙通知部BS具有表明繁忙狀態(tài)的位模式(步驟S22)。隨后,所述主機(jī)設(shè)備2繼續(xù)發(fā)出初始化命令,直到卡1向主機(jī)設(shè)備2通知所述初始化處理已經(jīng)通過繁忙狀態(tài)的清除而結(jié)束為止???響應(yīng)于對(duì)第一初始化命令的接收,開始如下所述的初始化處理。對(duì)于第二和后續(xù)的初始化命令來說,僅僅返回相同的響應(yīng),在該響應(yīng)中所述繁忙通知部BS具有表明繁忙狀態(tài)的位模式。
在步驟S23中,所述卡1檢查其內(nèi)部保存的正常終止表明標(biāo)志35。當(dāng)上一終止處理未能完成時(shí),清除所述正常終止表明標(biāo)志35。然后,卡l執(zhí)行完整的初始化。也就是說,執(zhí)行步驟S24。當(dāng)上一終止處理完全結(jié)束時(shí),設(shè)置所述正常終止表明標(biāo)志35。然后,卡l執(zhí)行高速的初始化。也就是說,執(zhí)行步驟S27。步驟S24中的完整初始化是常規(guī)的初始化處理,并且包括存儲(chǔ)器數(shù)據(jù)的錯(cuò)誤檢查和系統(tǒng)數(shù)據(jù)的保存。 在完整的初始化處理中,卡1檢查存儲(chǔ)在NAND型閃存11中的存儲(chǔ)器數(shù)據(jù)是否存在任何錯(cuò)誤。例如,當(dāng)上一次在寫入存儲(chǔ)器數(shù)據(jù)期間不適當(dāng)?shù)赝V沽讼蚩╨供電時(shí),所述存儲(chǔ)器數(shù)據(jù)會(huì)被損壞。如果所述存儲(chǔ)器數(shù)據(jù)因此被損壞,那么可以恢復(fù)它們。錯(cuò)誤檢查處理和糾錯(cuò)處理可能會(huì)需要很長(zhǎng)時(shí)間,這是因?yàn)?,它們?cè)诳?的NAND型閃存11的整個(gè)區(qū)域上執(zhí)行。該時(shí)間隨著存儲(chǔ)器的容量增加而相應(yīng)地增加。
然后,卡1創(chuàng)建系統(tǒng)數(shù)據(jù)并且把其保存到RAM中(步驟S25)。
通過省略完整初始化中的某些處理,或者通過采用與完整初始化不同的過程,步驟S27中的高速初始化比完整初始化完成得更快。作為高速初始化的一個(gè)例子,在步驟S27,卡1讀取在上一終止處理期間保存到NAND型閃存11中的系統(tǒng)數(shù)據(jù),并且把所述數(shù)據(jù)加載到RAM 25上。如果所保存的系統(tǒng)數(shù)據(jù)是整個(gè)系統(tǒng)數(shù)據(jù)的一部分,那么把它們保存到RAM上,而剩余部分則被再次創(chuàng)建。隨后使用所得到的系統(tǒng)數(shù)據(jù)。在高速的初始化處理中,省略了在完整初始化期間所執(zhí)行的對(duì)存儲(chǔ)器數(shù)據(jù)中的錯(cuò)誤的檢查以及對(duì)系統(tǒng)數(shù)據(jù)的創(chuàng)建。
在已經(jīng)讀取了系統(tǒng)數(shù)據(jù)之后,MPU 23在初始化方法表明部模式寄存器36中設(shè)置用于表明已經(jīng)采用了哪種初始化方法的位模式(步驟S29)。然后,所述卡l在繁忙通知部模式寄存器37中設(shè)置表明繁忙狀態(tài)已經(jīng)被清除的位模式(步驟S30)。
當(dāng)接收到下一初始化命令時(shí),卡1在響應(yīng)中使用初始化方法表明部FI和繁忙通知
部BS向主機(jī)設(shè)備2通知在寄存器36和37中所設(shè)置的這些位模式。當(dāng)所述主機(jī)設(shè)備2接
收到該響應(yīng)時(shí),它停止發(fā)出初始化命令。由此完成了所述初始化處理。 依照本發(fā)明的第一實(shí)施例,卡1可以預(yù)先知道主機(jī)設(shè)備即將停止供電,并且執(zhí)行
終止處理以便為其作好準(zhǔn)備。如果終止處理已經(jīng)正常地完成了,那么可以執(zhí)行高速的初始
化處理來更加快速地完成初始化。 因此,即便無法僅僅通過隨著存儲(chǔ)器容量的增加而改善完整的初始化方法來輕易 地實(shí)現(xiàn)初始化時(shí)間的減少,但是還是可以減少初始化時(shí)間的。這樣做減少了對(duì)卡控制器12 的設(shè)計(jì)要求。 本實(shí)施例尤其可以減少其中插入了卡1的、諸如數(shù)字照相機(jī)、電影攝影機(jī)等的主 機(jī)設(shè)備2的初始化時(shí)間。這樣做能夠在通電之后立即進(jìn)行拍攝,事實(shí)上這是非常有效的。
當(dāng)卡1已經(jīng)改變其狀態(tài)時(shí),諸如當(dāng)數(shù)據(jù)寫入NAND型閃存11中時(shí),清除所述正常終 止表明標(biāo)志35。只要所述卡的狀態(tài)保持相同,就可以省略所述終止處理。正常終止表明標(biāo) 志35的清除可以在初始化完成時(shí)執(zhí)行。當(dāng)采用此方法時(shí),每當(dāng)卡1接收到功能停止命令時(shí),
必須執(zhí)行終止處理,即便所述卡的狀態(tài)保持相同也一樣。
(第二實(shí)施例) 在第一實(shí)施例中RAM 25是非易失性存儲(chǔ)器。與之相比,在第二實(shí)施例中,RAM 25 是非易失性的磁性隨機(jī)存取存儲(chǔ)器(MRAM)或者鐵電隨機(jī)存取存儲(chǔ)器(FeRAM)。在此情況 下,其中保存有系統(tǒng)數(shù)據(jù)的存儲(chǔ)器和其中提供有正常終止表明標(biāo)志35的區(qū)域不同于依照 第一實(shí)施例的相應(yīng)存儲(chǔ)器和區(qū)域。有幾個(gè)處理也不同于第一實(shí)施例中所使用的那些處理。 下面將描述這些差別。 圖15是示出在依照本發(fā)明第二實(shí)施例的卡中的硬件配置的框圖。在圖15中,提 供了諸如MRAM或者FeRAM之類的非易失性RAM41,以代替第一實(shí)施例中使用的RAM 25。在 RAM 41或者NAND型閃存11中提供了正常終止表明標(biāo)志35 (在圖中,為了方便起見,在RAM 41和NAND型閃存11中都示出了正常終止表明標(biāo)志35)。 在本實(shí)施例中,在卡1的初始化期間所創(chuàng)建的所有系統(tǒng)數(shù)據(jù)都被保存到RAM 41 上。由于MRAM和FeRAM是非易失性的,并且能以高速操作,因此,與第一實(shí)施例相比,在卡l 操作時(shí)不必把系統(tǒng)數(shù)據(jù)移動(dòng)到SRAM上。因此,在當(dāng)接收功能停止命令時(shí)由卡1執(zhí)行的處理 中(圖9),不需要步驟S4中的處理。此外,在初始化期間由卡l執(zhí)行的處理中(圖14),不 需要步驟S27中的處理。依照本實(shí)施例的處理的剩余部分與依照第一實(shí)施例的處理相同。
本發(fā)明的第二實(shí)施例可產(chǎn)生與第一實(shí)施例相同的效果。 [cm2](第三實(shí)施例) 圖16是示出依照第三實(shí)施例的卡中的硬件配置的框圖。如圖16所示,除依照第 一實(shí)施例的RAM 25以外,還提供了非易失性RAM41。在非易失性RAM 41或者NAND型閃存 11中提供了正常終止表明標(biāo)志35 (在圖中,為了方便起見,在非易失性RAM 41和NAND型閃 存11中都示出了正常終止表明標(biāo)志35)。 依照本實(shí)施例,在卡1的初始化期間創(chuàng)建的系統(tǒng)數(shù)據(jù)的一部分被保存到非易失性 RAM 41上。系統(tǒng)數(shù)據(jù)的剩余部分被保存到NAND型閃存11上。由于RAM 41是非易失性的 并且能以高速操作,因此,將要被保存到非易失性RAM 41上的那部分系統(tǒng)數(shù)據(jù)不會(huì)被移動(dòng)
11到RAM 25上,而是在非易失性RAM 41上操作。另一方面,在卡1操作時(shí),將要被保存到NAND型閃存11上的那部分系統(tǒng)數(shù)據(jù)被移動(dòng)到RAM 25并且保存在其中。把此部分系統(tǒng)數(shù)據(jù)移動(dòng)到NAND型閃存11上,如在第一實(shí)施例的情況下那樣,或者當(dāng)停止向卡1提供電源電壓時(shí),將其移動(dòng)到非易失性RAM 41上。當(dāng)所述數(shù)據(jù)易于在初始化中使用其它數(shù)據(jù)來形成時(shí),可以丟棄該數(shù)據(jù)而無需保存。 在接收到功能停止命令時(shí)由卡1執(zhí)行的處理中(圖9),步驟S4中的處理對(duì)應(yīng)于把存在于RAM 25上的那部分系統(tǒng)數(shù)據(jù)保存到NAND型閃存11或者非易失性RAM 41的操作。此外,在初始化期間由卡1執(zhí)行的處理中(圖14),步驟S27中的處理對(duì)應(yīng)于讀取存在于NAND型閃存11上的那部分已處理和未處理的系統(tǒng)數(shù)據(jù)、并且將其加載到RAM 25上的操作。該處理的剩余部分與依照第一實(shí)施例的處理相同。
本發(fā)明的第三實(shí)施例可產(chǎn)生與第一實(shí)施例相同的效果。 本領(lǐng)域技術(shù)人員將會(huì)很容易想到另外的優(yōu)點(diǎn)和修改。因此,本發(fā)明在其較寬的方面不局限于此處示出和描述的具體細(xì)節(jié)和代表性實(shí)施例。因此,在不脫離由所附權(quán)利要求書及其等效內(nèi)容所限定的、本發(fā)明的總體構(gòu)思的實(shí)質(zhì)或范圍的情況下,可以做出各種修改。
權(quán)利要求
一種主機(jī)設(shè)備,其中插入有卡,該卡包括存儲(chǔ)數(shù)據(jù)的非易失性半導(dǎo)體存儲(chǔ)器和控制該非易失性半導(dǎo)體存儲(chǔ)器的控制器,該控制器包括接口、RAM和控制部,所述接口從所述數(shù)據(jù)接收包括檢查命令和功能停止命令的命令以及向所述設(shè)備發(fā)送信號(hào)和從所述設(shè)備接收信號(hào),所述RAM存儲(chǔ)所述控制器的管理數(shù)據(jù),而所述控制部控制所述控制器的操作,所述主機(jī)設(shè)備包括命令控制部,其向所述卡發(fā)出所述檢查命令和所述功能停止命令,其中所述檢查命令指示所述控制器返回有關(guān)所述卡是否能夠變換至準(zhǔn)備好允許停止對(duì)所述卡供電的就緒狀態(tài)的狀態(tài)信息,所述功能停止命令指示所述控制器將所述卡變換至所述就緒狀態(tài),所述設(shè)備接收在所述控制部接收所述檢查命令時(shí)響應(yīng)于該檢查命令而由所述控制部發(fā)出的包括狀態(tài)信息的響應(yīng),所述設(shè)備接收由所述控制部響應(yīng)于所述功能停止命令發(fā)出的響應(yīng),所述控制部將所述卡變換至就緒狀態(tài);以及所述至就緒狀態(tài)的變換包括將存儲(chǔ)在所述RAM中的管理數(shù)據(jù)保存在所述非易失性半導(dǎo)體存儲(chǔ)器中。
2. 如權(quán)利要求l所述的設(shè)備,其中,從至就緒狀態(tài)的變換開始至其完成,所述設(shè)備從所述卡接收指示繁忙狀態(tài)的信號(hào),以及當(dāng)至就緒狀態(tài)的變換完成時(shí),所述設(shè)備從所述卡接收指示繁忙狀態(tài)被釋放的信號(hào)。
3. 如權(quán)利要求2所述的設(shè)備,其中所述指示繁忙狀態(tài)的信號(hào)包括繁忙信號(hào)。
4. 如權(quán)利要求2所述的設(shè)備,其中,所述控制部將指示至用于通過所述功能停止命令停止電源供給的就緒狀態(tài)的變換完成的信息寫入到所述非易失性半導(dǎo)體存儲(chǔ)器,并且在該信息的寫入完成后釋放指示繁忙狀態(tài)的信號(hào)。
5. 如權(quán)利要求4所述的設(shè)備,其中,所述設(shè)備發(fā)出初始化命令,該初始化命令指示所述控制部執(zhí)行初始化,在所述信息指示至用于通過所述功能停止命令停止電源供給的就緒狀態(tài)的變換還未完成時(shí),所述卡利用第一初始化方法執(zhí)行初始化,以及在所述非易失性半導(dǎo)體存儲(chǔ)器指示至用于通過所述功能停止命令停止電源供給的就緒狀態(tài)的變換已經(jīng)完成時(shí),所述卡利用比所述第一初始化方法完成得更快的第二初始化方法來執(zhí)行初始化。
全文摘要
其中插入有具有非易失性半導(dǎo)體存儲(chǔ)器的卡的主機(jī)設(shè)備向所述卡發(fā)出檢查命令。所述檢查命令指示發(fā)送有關(guān)所述卡是否支持終止處理的信息,在所述終止處理中,所述卡變換至準(zhǔn)備好停止從主機(jī)設(shè)備供電的狀態(tài)。
文檔編號(hào)G06K7/00GK101706709SQ200910261980
公開日2010年5月12日 申請(qǐng)日期2005年12月26日 優(yōu)先權(quán)日2004年12月27日
發(fā)明者藤本曜久 申請(qǐng)人:株式會(huì)社東芝