專利名稱:自適應(yīng)sd存儲卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲卡,特別是指一種能根據(jù)主機自動調(diào)整為相應(yīng)版本的自適應(yīng)SD存儲卡。
背景技術(shù):
以SD2.0規(guī)范和SD1.1/SD1.0規(guī)范為數(shù)據(jù)傳輸標(biāo)準(zhǔn)的SD存儲卡,近年來廣泛應(yīng)用于數(shù)碼相機、手機、PDA、MP3/MP4播放器等消費電子類產(chǎn)品中,發(fā)展非常迅速。
SD2.0規(guī)范和SD1.1/SD1.0規(guī)范所規(guī)定的SD存儲卡有兩種,標(biāo)準(zhǔn)容量(Standard Capacity)SD存儲卡和高容量(High Capacity)SD存儲卡。標(biāo)準(zhǔn)容量的SD存儲卡在SD1.1/SD1.0規(guī)范中定義,支持標(biāo)準(zhǔn)方式的讀寫;高容量的存儲卡在SD2.0規(guī)范中定義,支持高容量方式的讀寫。
SD2.0規(guī)范和SD1.1/SD1.0規(guī)范中規(guī)定主機和存儲卡之間的通訊通過命令(Command,簡稱CMD)和響應(yīng)(Response,簡稱R)來完成。主機通過CMD訪問存儲卡,存儲卡通過相應(yīng)的響應(yīng)反饋主機。
符合SD2.0規(guī)范和SD1.1/SD1.0規(guī)范的主機發(fā)送的CMD具有一個固定的碼長度為48比特,CMD的格式如下表
每個CMD都以一個開始比特開始,以一個結(jié)束比特結(jié)束,以Bit47到Bit0來表示CMD從開始比特到結(jié)束比特的48個比特,對于CMD的每個比特位解釋如下Bit47為開始比特(Start Bit),這一位總為‘0’;Bit46為傳輸方向比特(Transmit Bit),在CMD中,這一位總為‘1’,表示數(shù)據(jù)的傳送方向是主機向卡傳送;Bit45到Bit40為CMD的索引(Index)。如CMD8,這6個比特即為6’b001000;Bit39到Bit8為CMD的參數(shù)(Argument),每個CMD對這32個比特各有定義;Bit7到Bit1為7比特的CRC(Cyclic Redundancy Code)校驗碼;Bit0為結(jié)束比特(End Bit),這一位總為‘1’。
SD2.0規(guī)范和SD1.1/SD1.0規(guī)范中規(guī)定內(nèi)存訪問命令(Memory AccessCMD),如讀、寫、擦除等CMD的Argument表示數(shù)據(jù)地址(Data Address)。
在標(biāo)準(zhǔn)容量的讀寫方式中,CMD的Argument所表示的數(shù)據(jù)地址以1字節(jié)(Byte)為單位,32個比特位最多可表示232字節(jié),即4G字節(jié),所以標(biāo)準(zhǔn)容量的讀寫方式最多可支持4G字節(jié)的卡。SD2.0規(guī)范和SD1.1/SD1.0規(guī)范中規(guī)定標(biāo)準(zhǔn)容量的卡支持到2G字節(jié)。
在高容量的讀寫方式中,CMD的Argument所表示的數(shù)據(jù)地址以512字節(jié)為單位,這樣32個比特位最多可表示232×512字節(jié),即2T字節(jié),所以高容量的讀寫方式最多可支持2T字節(jié)的卡。SD2.0規(guī)范中規(guī)定高容量卡支持到32G字節(jié)。
鑒于上述原因,高容量存儲卡和標(biāo)準(zhǔn)容量存儲卡因?qū)MD的Argument的解釋不同,所以這兩種存儲卡對主機的可用性也不同,如圖1所示,高容量卡和SD1.x的主機之間的通訊是不成立的,也就是說,低容量存儲卡能被同時支持高容量和標(biāo)準(zhǔn)容量兩種讀寫方式的SD2.0的主機正確讀寫,但高容量存儲卡卻不能被只支持標(biāo)準(zhǔn)容量讀寫方式的SD1.x的主機讀寫。
發(fā)明內(nèi)容
本發(fā)明提供了一種可根據(jù)主機的讀寫方式自動調(diào)整的自適應(yīng)SD存儲卡,該SD存儲卡既能同時支持SD2.0規(guī)范和SD1.1/SD1.0規(guī)范,也能同時支持SD規(guī)范主機的兩種讀寫方式高容量讀寫方式和標(biāo)準(zhǔn)容量讀寫方式。
本發(fā)明的自適應(yīng)存儲卡可在主機對卡的識別過程中根據(jù)不同規(guī)范的主機作出相應(yīng)的調(diào)整在SD1.1/SD1.0規(guī)范的主機平臺,卡啟用SD1.1的參數(shù)設(shè)置,支持SD1.1/SD1.0規(guī)范,支持SD1.1/SD1.0規(guī)范的主機用標(biāo)準(zhǔn)方式對其進(jìn)行讀寫訪問;在SD2.0規(guī)范的主機平臺,卡啟用SD2.0的參數(shù)設(shè)置,支持SD2.0規(guī)范,卡根據(jù)主機自動調(diào)整為相應(yīng)的卡。若主機支持高容量讀寫方式,卡相應(yīng)調(diào)整為高容量卡,支持主機用高容量方式對其進(jìn)行讀寫訪問;若主機不支持高容量,卡相應(yīng)調(diào)整為標(biāo)準(zhǔn)容量卡,支持主機用標(biāo)準(zhǔn)方式對其進(jìn)行讀寫訪問。
一種自適應(yīng)SD存儲卡,包括SD界面單元、控制器和存儲模塊,SD界面單元一端用于與外界主機連接,另一端連接控制器,控制器與存儲模塊通過總線連接,所述的控制器具有自適應(yīng)功能,其自適應(yīng)過程包括以下步驟(1)上電后,等待主機發(fā)送有效的CMD0;(2)判斷接收的CMD0是否為有效,若是,則繼續(xù)等待主機發(fā)送有效的ACMD41或有效的CMD8;(3)判斷接收的是否為有效的ACMD41,若是,則返回Response R3,啟用SD1.1的參數(shù)設(shè)置,使卡作為SD1.1卡處理,調(diào)整存儲卡為標(biāo)準(zhǔn)容量卡,采用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位;(4)若判斷接收到的為有效的CMD8,則返回Response R7;(5)繼續(xù)等待主機發(fā)送有效的ACMD41;(6)判斷接收的是否為有效的ACMD41,若是,則判斷ACMD41中包含的HCS比特位;(7)若ACMD41中包含的HCS比特位為‘1’,則返回包含CCS比特位為‘1’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡作為SD2.0卡處理,調(diào)整卡為高容量卡,用高容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以512字節(jié)為單位;(8)若ACMD41中包含的HCS比特位不為‘1’,則返回包含CCS比特位為‘0’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡作為SD2.0卡處理,調(diào)整卡為標(biāo)準(zhǔn)容量卡,用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位。
所述的SD界面單元可采用SD界面連接器或金手指。
所述的存儲模塊可采用一個或多個存儲器件。
所述的存儲器件可采用可擦寫、非易失的半導(dǎo)體存儲器件。
本發(fā)明具有以下特性1.在SD1.x的主機平臺,支持SD1.x規(guī)范,存儲卡自動調(diào)整為標(biāo)準(zhǔn)容量卡,SD1.x的主機可以用標(biāo)準(zhǔn)方式對其進(jìn)行讀寫訪問,即內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址將被解釋為以1字節(jié)為單位。
2.在SD2.0的主機平臺,支持SD2.0規(guī)范,存儲卡根據(jù)主機自動調(diào)整為相應(yīng)的卡如果主機支持高容量,存儲卡相應(yīng)調(diào)整為高容量卡,內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址被解釋為以512字節(jié)為單位;反之,若主機不支持高容量,存儲卡相應(yīng)調(diào)整為標(biāo)準(zhǔn)容量卡,內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址被解釋為以1字節(jié)為單位。
3.具有符合SD2.0規(guī)范和SD1.1/SD1.0規(guī)范的外形特征和接口信號定義。
本發(fā)明解決了普通SD2.0高容量存儲卡不能夠被SD1.0/SD1.1主機正確讀寫的問題。
圖1為主機-普通卡的可用性示意圖;圖2為主機-自適應(yīng)存儲卡的可用性示意圖;圖3為本發(fā)明的結(jié)構(gòu)示意框圖;圖4為本發(fā)明的自適應(yīng)過程流程圖。
具體實施例方式
如圖2所示,本發(fā)明的自適應(yīng)SD存儲卡和SD1.x的主機之間是可用的,即自適應(yīng)SD存儲卡既能被同時支持高容量和標(biāo)準(zhǔn)容量兩種讀寫方式的SD2.0的主機正確讀寫,也能被只支持標(biāo)準(zhǔn)容量讀寫方式的SD1.x的主機正確讀寫。
如圖3所示,一種自適應(yīng)SD存儲卡,包括SD界面單元1、控制器2和存儲模塊3,SD界面單元1一端用于與外界主機連接,另一端連接控制器2,控制器2與存儲模塊3通過FLASH訪問總線連接。
SD界面單元1可采用SD界面連接器或金手指。
控制器2和SD界面單元1一起,完成存儲卡的自適應(yīng)過程、數(shù)據(jù)的傳送和配置、狀態(tài)的報告、SD的界面功能及其兼容性,同時也完成對存儲模塊3的操作,如讀、寫、擦和備份等的命令,可以但不限于是一個單芯片的集成電路;存儲模塊3可采用一個或多個可擦寫、非易失的半導(dǎo)體存儲器件,如閃存器件(Flash Memory),電可擦寫只讀存儲器(EEPROM)等。
控制器2具有自適應(yīng)功能,如圖4所示,其自適應(yīng)過程包括以下步驟(1)將本發(fā)明的自適應(yīng)存儲卡插入主機,存儲卡上電后,等待主機發(fā)送有效的CMD0;(2)判斷接收的CMD0是否為有效。若是,則繼續(xù)等待主機發(fā)送有效的ACMD41或有效的CMD8;(3)判斷接收的是否為有效的ACMD41。若是,則返回Response R3,啟用SD1.1的參數(shù)設(shè)置,使卡作為SD1.1卡處理,調(diào)整存儲卡為標(biāo)準(zhǔn)容量卡,采用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位;(4)若判斷接收到的為有效的CMD8,則回Response R7;(5)繼續(xù)等待主機發(fā)送有效的ACMD41;(6)判斷接收的是否為有效的ACMD41,若是則判斷ACMD41中包含的HCS比特位;(7)若ACMD41中包含的HCS比特位為‘1’,則回包含CCS比特位為‘1’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡為SD2.0卡,調(diào)整卡為高容量卡,用高容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以512字節(jié)為單位;(8)若ACMD41中包含的HCS比特位不為‘1’,則回包含CCS比特位為‘0’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡為SD2.0卡,調(diào)整卡為標(biāo)準(zhǔn)容量卡,用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位。
權(quán)利要求
1.一種自適應(yīng)SD存儲卡,包括SD界面單元(1)、控制器(2)和存儲模塊(3),SD界面單元(1)一端用于與外界主機連接,另一端連接控制器(2),控制器(2)與存儲模塊(3)通過總線連接,其特征在于所述的存儲卡具有自適應(yīng)功能,其自適應(yīng)過程包括以下步驟(1)上電后,等待主機發(fā)送有效的CMD0;(2)判斷接收的CMD0是否為有效,若是,則繼續(xù)等待主機發(fā)送有效的ACMD41或有效的CMD8;(3)判斷接收的是否為有效的ACMD41,若是,則回Response R3,啟用SD1.1的參數(shù)設(shè)置,使卡作為SD1.1卡處理,調(diào)整存儲卡為標(biāo)準(zhǔn)容量卡,采用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位;(4)若判斷接收到的為有效的CMD8,則返回Response R7;(5)繼續(xù)等待主機發(fā)送有效的ACMD41;(6)判斷接收的是否為有效的ACMD41,若是,則判斷ACMD41中包含的HCS比特位;(7)若ACMD41中包含的HCS比特位為‘1’,則返回包含CCS比特位為‘1’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡成為SD2.0卡,調(diào)整卡為高容量卡,用高容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以512字節(jié)為單位;(8)若ACMD41中包含的HCS比特位不為‘1’,則返回包含CCS比特位為‘0’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡成為SD2.0卡,調(diào)整卡為標(biāo)準(zhǔn)容量卡,用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機發(fā)送的內(nèi)存訪問命令,即把內(nèi)存訪問命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位。
2.如權(quán)利要求1所述存儲卡,其特征在于所述的SD界面單元(1)可采用SD界面連接器或金手指。
3.如權(quán)利要求1所述存儲卡,其特征在于所述的存儲模塊(3)可采用一個或多個存儲器件。
4.如權(quán)利要求3所述存儲卡,其特征在于所述的存儲器件可采用可擦寫、非易失的半導(dǎo)體存儲器件。
全文摘要
本發(fā)明公開了一種自適應(yīng)SD存儲卡,包括SD界面單元、控制器和存儲模塊,SD界面單元一端用于與外界主機連接,另一端連接控制器;控制器與存儲模塊通過總線連接,控制器具有自適應(yīng)功能。本發(fā)明的存儲卡能根據(jù)主機自動調(diào)整為相應(yīng)版本,可同時支持SD2.0規(guī)范和SD1.1/SD1.0規(guī)范,能同時支持SD規(guī)范中的兩種讀寫方式高容量讀寫方式和標(biāo)準(zhǔn)容量讀寫方式,解決了普通SD2.0高容量存儲卡不能夠被SD1.0/SD1.1主機正確讀寫的問題。
文檔編號G06F3/06GK1804779SQ200610049198
公開日2006年7月19日 申請日期2006年1月20日 優(yōu)先權(quán)日2006年1月20日
發(fā)明者駱建軍, 楚傳仁 申請人:駱建軍, 楚傳仁