傳統(tǒng)閃存盤單一的功能和大同小異的外觀已經(jīng)不能滿足消費(fèi)者日益增長(zhǎng)的需求,如何創(chuàng)新成為閃存盤廠商急需解決的難題。本文通過對(duì)這些挑戰(zhàn)形成進(jìn)行了分析,提出了相應(yīng)的對(duì)策,著重闡述了基于CBM2080/1180 USB主控芯片的閃存盤產(chǎn)品的二次開發(fā)應(yīng)用。
 |
圖1:CBM2080芯片的內(nèi)部結(jié)構(gòu)框圖。
|
閃存盤剛剛上市就以兼容性好、小巧、安全、高速、大容量等眾多特點(diǎn),快速贏得消費(fèi)者的認(rèn)可,然而,由于閃盤的半導(dǎo)體存儲(chǔ)芯片和控制芯片單一的結(jié)構(gòu)直接導(dǎo)致閃存盤產(chǎn)品存在技術(shù)含量有限的先天性不足。在閃存盤市場(chǎng)的發(fā)展歷程中,很多初期涉足閃存盤領(lǐng)域的廠商已經(jīng)充分體驗(yàn)了由于核心技術(shù)門檻不高而被越來越多廠商效仿和趕超的無奈,產(chǎn)品利潤(rùn)從前兩年200%~300%,降到現(xiàn)在的20%~10%左右。
但是利潤(rùn)的下降,并不意味著閃存盤的發(fā)展空間達(dá)到上限,從市場(chǎng)的反應(yīng)和閃存盤應(yīng)用領(lǐng)域來看,市場(chǎng)遠(yuǎn)遠(yuǎn)沒有達(dá)到飽和。移動(dòng)存儲(chǔ)的發(fā)展被行業(yè)人士普遍看好,以閃盤為例,Intel已在2002年初宣布將在未來的主板芯片組中徹底停止對(duì)軟驅(qū)的支持,聯(lián)想等國(guó)際廠商也已推出標(biāo)配USB閃存盤的電腦,閃存盤取代軟驅(qū)已成大勢(shì)所趨;隨著閃存盤更多的介入個(gè)人消費(fèi)領(lǐng)域,傳統(tǒng)存盤單一的功能和大同小異的外觀已經(jīng)不能滿足消費(fèi)者日益增長(zhǎng)的需求,這使得用戶要求更多類型的產(chǎn)品被開發(fā)出來。由此看來,閃存盤的發(fā)展正面臨著新的發(fā)展契機(jī)。
閃存盤廠商該如何迎接上述挑戰(zhàn)和把握新的契機(jī)?本文通過具體討論基于深圳芯邦微電子有限公司CBM2080型USB2.0和CBM1180型USB1.1主控芯片二次開發(fā)應(yīng)用,來闡述利用創(chuàng)新來解決這些問題的途徑。
CBM2080/1180功能概述
CBM2080是芯邦最新推出的自主設(shè)計(jì)控制芯片,采用32位專用處理器、0.18um工藝,支持NAND、AG-AND、MLC和NOR等閃存,USB2.0/USB1.1芯片管腳對(duì)管腳兼容,BOM和軟件相同,USB2.0工作電流<50mA。芯片的內(nèi)部結(jié)構(gòu)框圖如圖1所示。
CBM2080/1180的主要特色如下:
 |
圖3:CBM2080/1180軟件層次的劃分。
|
1.以軟件配置實(shí)現(xiàn)對(duì)各種閃存支持
在整個(gè)閃存盤成本構(gòu)成中,閃存占據(jù)了絕大部分,為了降低成本、獲取更大的競(jìng)爭(zhēng)優(yōu)勢(shì),閃存盤制造廠商需要更大的閃存選擇空間。CBM2080/CBM1180閃存控制芯片目前已能支持各主流廠商的不同型號(hào)NAND、MLC NAND、AG-AND和NOR閃存,且閃存容量不受限制,拓展了閃存盤制造廠商對(duì)閃存的選擇空間。
同時(shí),無線和消費(fèi)應(yīng)用市場(chǎng)的迅速增長(zhǎng),吸引了Hynix、意法半導(dǎo)體、英飛凌等DRAM廠商紛紛進(jìn)入閃存領(lǐng)域,各種閃存不斷推陳出新。為了能對(duì)新推出的閃存進(jìn)行及時(shí)和有效的支持,芯邦還開發(fā)了獨(dú)特的閃存兼容配置功能,即通過軟件升級(jí)方式迅速實(shí)現(xiàn)對(duì)各種最新閃存的支持,閃存盤制造廠商只須從芯邦公司網(wǎng)站下載相關(guān)軟件(如量產(chǎn)程序軟件)進(jìn)行生產(chǎn)即可,而不需要對(duì)控制芯片本身進(jìn)行硬件上的更新?lián)Q代。
一般的控制芯片本身進(jìn)行硬件或ROM固件更新?lián)Q代就需要數(shù)月的時(shí)間,而芯邦通過采用該項(xiàng)獨(dú)有技術(shù)將該時(shí)間壓縮到僅需數(shù)天甚至幾小時(shí),不僅打破了傳統(tǒng)型“反饋-重新設(shè)計(jì)-重新制造-重新采用”的高成本和低效率模式,更重要的是,閃存盤制造商能夠迅速地實(shí)現(xiàn)對(duì)具有高性價(jià)比的新閃存的支持,降低了材料成本,同時(shí)由于USB1.1和USB2.0管腳對(duì)管腳兼容,減少了庫(kù)存風(fēng)險(xiǎn)和重復(fù)工程開發(fā)費(fèi)用。
 |
圖4:帶指紋識(shí)別功能的閃存盤硬件組成框圖。
|
2.超強(qiáng)ECC糾錯(cuò)能力,對(duì)性能偏差的特殊閃存也能支持
與存取速度同等重要的是閃存存儲(chǔ)數(shù)據(jù)的可靠性。閃存本身的電特性決定了其存儲(chǔ)位單元讀寫時(shí)可能會(huì)發(fā)生錯(cuò)誤,尤其是采用了MLC NAND、AG-AND閃存時(shí)該現(xiàn)象更加明顯。為此,各種閃存對(duì)糾錯(cuò)能力都有最低要求,如SLC NAND、MLC NAND、AG-AND閃存的最低要求分別是1比特、4比特和3比特。而CBM2080的糾錯(cuò)能力遠(yuǎn)遠(yuǎn)超過上述要求,達(dá)到每528個(gè)字節(jié)可糾正任意3個(gè)字節(jié)(24比特)的數(shù)據(jù)錯(cuò)誤,兼之以強(qiáng)大的壞塊管理功能,不但更加可靠地保證了對(duì)各種閃存的兼容,即使對(duì)一些要求糾錯(cuò)位更多的特殊閃存也能支持。此外,CBM2080的ECC糾錯(cuò)是以硬件方式實(shí)現(xiàn)實(shí)時(shí)糾錯(cuò),閃存存取速度不受影響。而采用軟件糾錯(cuò)算法,由于算法的復(fù)雜性,會(huì)大大降低閃存存取速度。
3.硬件+軟件雙重?cái)?shù)據(jù)安全防護(hù)技術(shù)
閃存在進(jìn)行讀寫操作時(shí)由于異常的插拔或斷電會(huì)破壞數(shù)據(jù)完整性,在這種狀況下,如何使閃存盤避免盤內(nèi)數(shù)據(jù)可能丟失/損壞的現(xiàn)象一度成為行業(yè)難題。CBM2080采用軟件數(shù)據(jù)智能備份與恢復(fù)技術(shù),有效地解決了這一難題。此外,在上電和掉電過程中,當(dāng)芯片處在臨界電壓工作狀態(tài)下,控制芯片本身會(huì)產(chǎn)生誤操作,從而破壞閃存的內(nèi)部數(shù)據(jù)。為此CBM2080采用特殊的硬件數(shù)據(jù)安全防護(hù)技術(shù),有效地保護(hù)了數(shù)據(jù)。
4.USB2.0逼近閃存讀寫速度極限
CBM2080的存取速度現(xiàn)已達(dá)到寫19.5MBps、讀21.5MBps,并且還在進(jìn)一步優(yōu)化和提升中。而現(xiàn)有的USB2.0閃存盤速度多數(shù)為7-8MBps。由于閃存控制芯片本身性能的限制,市場(chǎng)上USB2.0閃存盤最大讀寫速度普遍限制在10倍速以下,CBM2080采用了32位USB協(xié)議和閃存存儲(chǔ)專用處理器,以及優(yōu)化的文件存取算法和雙通道技術(shù),使閃存潛力得到充分挖掘,逼近閃存讀寫速度的極限,實(shí)現(xiàn)了“20倍速”的突破。
5.GPIO模式和Normal模式的靈活切換
 |
圖5:帶SIM卡讀卡功能的閃存盤硬件組成框圖。
|
由于客戶需求的差異性,往往需要在芯片現(xiàn)有的功能基礎(chǔ)上增加或更改一些功能。這些新功能中,一般只需對(duì)固件進(jìn)行修改就能實(shí)現(xiàn)。CBM2080/1180架構(gòu)中特有的軟件配置特性可以很好地適應(yīng)此要求。根據(jù)此特性,開發(fā)人員只需修改存放在閃存里的外部軟件就可以完成任務(wù),而不需修改內(nèi)部的固件,節(jié)約了重新流片所需的一至兩個(gè)月時(shí)間和有關(guān)的掩膜費(fèi)用,不僅大大縮短了產(chǎn)品上市的時(shí)間,而且還節(jié)約了費(fèi)用。當(dāng)然外部軟件上載到芯片里運(yùn)行,需要芯片內(nèi)提供額外的程序存儲(chǔ)空間。怎樣使芯片成本得到控制、同時(shí)又能保證靈活性將是一個(gè)挑戰(zhàn),CBM2080/1180采用了自主專利技術(shù),很好地解決了此問題。
除了軟件配置特性外,芯片本身?yè)碛械耐ㄓ媒涌?GPIO)管腳也很關(guān)鍵。目前CBM2080/1180有兩個(gè)閃存接口通道,每個(gè)通道有十幾個(gè)管腳,在普通(Normal)模式下,這些管腳組成的通道會(huì)按閃存接口時(shí)序進(jìn)行工作。但如果通過管腳的模式設(shè)定,使芯片工作在GPIO模式下,這兩路閃存接口通道的大部分管腳便成了GPIO管腳,可以由固件來直接控制,根據(jù)固件的要求產(chǎn)生各種不同類型的時(shí)序,從而滿足不同應(yīng)用所需的時(shí)序要求。
目前按以上方法已完成的各種應(yīng)用開發(fā)包括:帶指紋識(shí)別的閃存盤、帶手機(jī)SIM卡讀卡功能的閃存盤、帶液晶顯示的閃存盤、NOR閃存盤和防偽掃描器等。
CBM2080/1180的硬件設(shè)計(jì)
CBM2080/1180為了適應(yīng)不同場(chǎng)合的應(yīng)用需要主要有兩種封裝形式TQFP48和LQFP6?。48管腳CBM2080/CBM1180最大支持4片閃存,6??腳CBM2080L/CBM1180L最大支持8片閃存。CBM2080/1180 的典型應(yīng)用電路見圖2。
CBM2080/1180能夠適應(yīng)多場(chǎng)合、多領(lǐng)域的應(yīng)用還緣自其內(nèi)部結(jié)構(gòu)GPIO模式和Normal模式的靈活切換的特質(zhì),所有的數(shù)據(jù)線和控制端口都能夠在這兩種模式下由程序自由控制切換,這樣兩個(gè)數(shù)據(jù)端口及部分控制線都能夠擴(kuò)展應(yīng)用為通用輸入輸出端口,為CBM2080/1180適應(yīng)不同用戶應(yīng)用需要提供了硬件資源的保證,CBM2080/1180除了內(nèi)部7K的ROM還能夠通過串口根據(jù)需要任意擴(kuò)展外部EEPROM。
軟件層次的劃分和主流程
CBM2080/1180的軟件層次劃分和主流程如下:
1.第一層是Host端,通過USB連接線與主控連接,Host是所有命令的發(fā)起者,一切操作都根據(jù)它的命令作相應(yīng)的響應(yīng)。
2.第二層解析Host給出的命令,區(qū)分Host的操作。
 |
圖6:帶液晶顯示功能的閃存盤硬件組成框圖。
|
3.第三層根據(jù)Host給出的邏輯參數(shù)(邏輯地址和長(zhǎng)度)和閃存的架構(gòu)得到一些需要的參數(shù),算出要寫入的閃存物理地址。這一部分只與閃存架構(gòu)有關(guān),相對(duì)固定,不會(huì)常修改。
4.第四層是從Host收到的扇區(qū)數(shù)據(jù)寫到閃存中,這一部分是要針對(duì)閃存的架構(gòu)確定Host數(shù)據(jù)的接收方式,四個(gè)緩沖器可以輪流接收數(shù)據(jù)。
5.第五層是直接的閃存物理操作,就是閃存的擦除、讀和寫。
如圖3所示,第三、四、五層(綠色框內(nèi))組成一個(gè)獨(dú)立的模塊,實(shí)現(xiàn)了閃存的邏輯讀寫,只需要三個(gè)參數(shù):邏輯起始地址和長(zhǎng)度,根據(jù)應(yīng)用的需要,寫入閃存的數(shù)據(jù)的來源可以不同,如配置成閃存盤可以從宿主PC的USB端口在寫的過程中接收,也可以將接收到的數(shù)據(jù)先存于數(shù)據(jù)緩沖區(qū),再寫入閃存。
CBM2080/1180在支持閃存時(shí),是將相同架構(gòu)的閃存歸類,通過參數(shù)可以具體的操作到閃存,對(duì)閃存的劃分依據(jù)主要考慮以下幾個(gè)參數(shù):
1.頁(yè)(Page)的大小
2.讀、寫、擦除閃存的命令
3.特殊操作
閃存配合CBM2080/1180主控之后,必須經(jīng)過量產(chǎn)工具系統(tǒng)才可以讀寫,量產(chǎn)的目的一是標(biāo)示出閃存的壞塊,二是寫入CBM2080/1180的對(duì)閃存盤的配置信息,以及預(yù)置一些特定的邏輯信息。
具體應(yīng)用實(shí)例
1.實(shí)現(xiàn)帶指紋識(shí)別功能的閃存盤
該方案以CBM2080/CBM1080主控芯片為平臺(tái),除了具備一般功能特點(diǎn)外,還具有指紋提取與識(shí)別的功能,本方案采用了Symwave的SW6888 CMOS滑動(dòng)指紋傳感器,用戶通常只需將指紋閃存盤連接到PC,就可通過安裝在PC端的應(yīng)用程序界面完成對(duì)指紋進(jìn)行提取、識(shí)別、保存等一系列的操作(見圖4)。
在程序設(shè)計(jì)上,主控工作在Normal模式下,對(duì)傳感器的操作可以通過多種數(shù)字接口如:SSI、SPI、并口和閃存。
2.實(shí)現(xiàn)帶SIM卡讀卡功能的閃存盤
該方案除了具備基于CBM2080/CBM1080主控芯片的閃存盤兼容性高(支持多種閃存)、讀寫速度快、ECC糾錯(cuò)、分區(qū)調(diào)整/加密寫保護(hù)、USB ZIP/HARD BIOS啟動(dòng)、AUTO RUN等功能外,還能夠通過閃存盤上的SIM卡接口,讀寫各種手機(jī)SIM卡的所有信息,并能夠?qū)ζ潆娫捥?hào)碼、短信等信息進(jìn)行編輯/保存/打印,而且還可根據(jù)客戶的需要做更多的功能擴(kuò)展,目前已經(jīng)實(shí)現(xiàn)了不僅能夠支持聯(lián)通、移動(dòng)的GSM和CDMA卡,而且同時(shí)支持港澳臺(tái)、韓國(guó)、日本等國(guó)外手機(jī)SIM卡。其硬件組成框圖如圖5。
 |
圖7:基于CBM2080/1180的NOR閃存。
|
在程序設(shè)計(jì)上,閃存接口工作在Normal模式下,而與SIM卡的接口工作在GPIO模式下。外部EEPROM可根據(jù)客戶設(shè)計(jì)的具體功能需要而擴(kuò)展,這就為客戶端的二次開發(fā)提供了便利。
3.帶液晶顯示功能的U盤實(shí)現(xiàn)
該方案特別具有閃存盤狀態(tài)信息顯示功能,如鎖保護(hù)狀態(tài)、總?cè)萘亢褪S嗫臻g,以及客戶自定義的一些信息。此外,其時(shí)間顯示還具有可選自動(dòng)同步功能,也就是說在閃存盤上電過程中,時(shí)間可以自動(dòng)調(diào)整與電腦時(shí)間一致。將來如果有客戶和廠商的需要,可視閃存盤還可以加上鬧鐘等功能。其硬件組成框圖如圖6。
和SIM卡閃存盤的設(shè)計(jì)相似,在程序設(shè)計(jì)上,閃存接口工作在Normal模式下,而與LCD的接口工作在GPIO模式下。
4.NOR閃存盤
目前CBM2080/1180已能支持各主流廠商的NAND、MLC NAND、AG-AND閃存和NOR閃存,拓展了閃存盤制造廠商對(duì)閃存的選擇空間。CBM2080/1180可通過擴(kuò)展鎖存地址線的方法來實(shí)現(xiàn)對(duì)NOR閃存的支持,目前已能夠?qū)崿F(xiàn)對(duì)目前市場(chǎng)上最大為256MB的NOR閃存的支持。
在程序設(shè)計(jì)上,主控和閃存的接??替工作在Normal和GPIO模式下。
本文小結(jié)
USB技術(shù)在臺(tái)式和便攜式計(jì)算機(jī)領(lǐng)域的地位已如日中天,閃存盤已不在局限于存儲(chǔ)數(shù)據(jù)的單一功能,客戶的需求決定了閃存盤未來的發(fā)展。從以上的具體應(yīng)用可以看出,CBM2080/1180不僅是一款性能突出的閃存盤主控芯片,而且由于其獨(dú)特的功能與結(jié)構(gòu)特點(diǎn),使得CBM2080/1180足以擔(dān)當(dāng)閃存盤應(yīng)對(duì)未來挑戰(zhàn)和提升客戶核心技術(shù)含量與附加值的重任。 |