主導(dǎo)閃存發(fā)展的關(guān)鍵技術(shù)
希捷公司(Seagate)推出的Momentus XT硬盤驅(qū)動(dòng)器表明,混合系統(tǒng)可以變得更加復(fù)雜。該存儲(chǔ)系統(tǒng)整合了三種存儲(chǔ)器:DRAM、SLC閃存和旋轉(zhuǎn)磁性存儲(chǔ)器。它具有SATA接口,因此除了閃存和硬盤驅(qū)動(dòng)器控制器之外,還有一個(gè)SATA控制器。這對(duì)于用戶來講完全是透明的。
在閃存中使用硬件控制器還可以讓設(shè)計(jì)人員在混合系統(tǒng)中增加安全和加密等其他功能。硬件加速也可以從這些功能中受益。
將閃存接口標(biāo)準(zhǔn)化一定會(huì)簡(jiǎn)化系統(tǒng)設(shè)計(jì)人員的工作。開放NAND閃存接口(ONFI)工作組一直在致力于這方面的工作,他們于2011年發(fā)布了OFNI 3.0規(guī)范。該規(guī)范旨在提供400Mtransfers/s的傳輸速度和雙數(shù)據(jù)速率(DDR)傳輸。其切換模式2.0可選地采用差分信令。此外,OFNI還規(guī)定了芯片級(jí)外形尺寸,不過閃存可采用的外形尺寸相當(dāng)多。
閃存的尺寸
小型串行閃存設(shè)備的外形尺寸差異相當(dāng)大。有支持一級(jí)(1Wire)協(xié)議的三引腳設(shè)備以及支持I2C和SPI的各種設(shè)備。四SPI(QSPI) NVM設(shè)備可將傳輸?shù)奈粩?shù)增加四分之一,甚至還有微控制器,這類設(shè)備可以直接從像恩智浦半導(dǎo)體(NXP)公司的LPC1800系列這樣的QSPI串行存儲(chǔ)器中執(zhí)行程序。
將程序保存在串行閃存中是相當(dāng)常見的。大多數(shù)PC都將其BIOS保存在串行閃存中。芯片引導(dǎo)裝載程序?qū)⒃摮绦驈?fù)制到執(zhí)行該程序的RAM中。NXP公司的LPC1800一次讀取存儲(chǔ)器中的一個(gè)指令。
串行存儲(chǔ)器是FRAM和MRAM等其他技術(shù)應(yīng)用的首個(gè)用武之地之一。串行存儲(chǔ)器一般包含溫度傳感器和實(shí)時(shí)時(shí)鐘(RTC)等其他子系統(tǒng)。有些RTC甚至利用串行存儲(chǔ)器保存時(shí)間戳信息。
具有JEDEC e-MMC(嵌入式多媒體卡)外形尺寸的芯片(比如San-Disk的iNAND)采用與可移動(dòng)七引腳MMC外形尺寸相同的串行接口。對(duì)于開發(fā)人員來講,其優(yōu)勢(shì)在于他們可以對(duì)固定存儲(chǔ)器和移動(dòng)存儲(chǔ)器使用同樣的接口。
該七引腳MMC設(shè)備可插入與九引腳SD和九引腳SDIO設(shè)備相同的插槽中,因此I/O設(shè)備可以置于該卡上。SD與MMC具有相同的引腳分布,其外沿附近增加了兩個(gè)額外的引腳。MMC接口本質(zhì)上是SPI接口,SD為QSPI接口。11引腳miniSD卡和八引腳microSD卡都采用相同類型的接口,只不過封裝更小。這些串行設(shè)備的傳輸速率為832Mbps。
移動(dòng)閃存也采用USB、SATA和SAS接口。SAS往往只用于驅(qū)動(dòng)器上,而SATA則用于具有磁盤驅(qū)動(dòng)器外形尺寸的閃存驅(qū)動(dòng)器以及像Viking Technology公司的SATA Cube 3這樣的嵌入式設(shè)備中。SATA Cube 3是一堆帶閃存和控制器的電路板。電路板越多,表明存儲(chǔ)容量越大。
板上SATA設(shè)備還包含mSATA和Slim SATA模塊等標(biāo)準(zhǔn)。相比與SD卡等介質(zhì)配合使用的SPI/QSPI 接口,SATA接口可以提供高相當(dāng)多的吞吐能力。大型SATA閃存一般用于1.8、2.5和3.5英寸的硬盤驅(qū)動(dòng)器外形尺寸中。
基于IDE的微型閃存仍是許多嵌入式母板上的常見功能部件。隨著微控制器從IDE和PCI轉(zhuǎn)換到SATA和PCI Express,這種情況正在發(fā)生變化。雖然攝像機(jī)往往采用SD卡,不過仍有許多移動(dòng)設(shè)備(比如數(shù)碼攝像機(jī))使用微型閃存。
USB閃存驅(qū)動(dòng)器已經(jīng)有效地替代了CD、DVD和軟盤。與現(xiàn)在的平均容量相比,首款USB 1.x閃存驅(qū)動(dòng)器的存儲(chǔ)容量相當(dāng)小。如今的高端平臺(tái)的規(guī)模相當(dāng)大,并且采用USB 3.0總線標(biāo)準(zhǔn)。
容量和速度并不是隨著USB閃存驅(qū)動(dòng)器的發(fā)展而變化的唯一指標(biāo)。增加的功能(特別是安全領(lǐng)域中)更為普遍。比如,Apricorn公司的Aegis安全密鑰帶一個(gè)內(nèi)置鍵盤,可用來輸入安全代碼,阻止按鍵記錄病毒捕獲代碼。它可以用在任何操作系統(tǒng)上。
大多數(shù)與安全相關(guān)的其他解決方案都采用在主機(jī)上運(yùn)行并使用主機(jī)輸入所有解碼密鑰的設(shè)備驅(qū)動(dòng)器或者應(yīng)用程序。Aegis安全密鑰具有管理員和用戶密碼。這些功能可用來對(duì)加密和解密保存在閃存中的數(shù)據(jù)的密鑰進(jìn)行解碼。
USB閃存驅(qū)動(dòng)器一般用于便攜設(shè)備中,不過它們也廣泛地用在嵌入式設(shè)備中。許多母板都有一個(gè)內(nèi)部A型連接器。大多數(shù)母板只有背板上有A型連接器。有些設(shè)備(像Eurotech公司的Helios Edge控制器)僅有用于閃存的USB接口和外設(shè)接口(請(qǐng)參見“Eurotech公司的Helios Edge控制器的實(shí)地操作評(píng)估”一文)。
USB頭在母板上也很常見。它們用于通過線纜和背板連接的額外外部USB接口,還可以用于USB存儲(chǔ)器中,比如Swissbit公司的USB存儲(chǔ)器(圖6)。Swissbit USB閃存模塊可插入大多數(shù)母板的標(biāo)準(zhǔn)九引腳USB頭中。母板上不一定總是使用安裝孔,但是當(dāng)板可以用螺栓固定到母板上時(shí),安裝孔確實(shí)可以提供穩(wěn)固的解決方案。
像mSATA和Swissbit公司的USB閃存模塊這樣的模塊并不是基于板的唯一閃存方案。閃存還可用于雙列直插內(nèi)存模塊(DIMM)和小外形DIMM (SODIMM)外形尺寸,不過與DRAM一樣,僅使用閃存的解決方案沒有標(biāo)準(zhǔn)。
另一方面,有些方案(比如Viking Technology公司的ArxCis-NV)將DRAM與閃存整合在一起。閃存作為備份,用于在斷電時(shí)保存DRAM的內(nèi)容。超級(jí)電容器足以執(zhí)行復(fù)制操作。
使用這些混合存儲(chǔ)器的難題在于軟件需要考慮非易失性。過去,具有磁芯存儲(chǔ)器的計(jì)算機(jī)可以在不重裝操作系統(tǒng)或應(yīng)用程序的情況下關(guān)斷和導(dǎo)通。這可以節(jié)省相當(dāng)長(zhǎng)的時(shí)間,對(duì)于嵌入式應(yīng)用來講非常方便。
現(xiàn)在,主要存儲(chǔ)器一般是DRAM。關(guān)斷系統(tǒng)后,這種存儲(chǔ)器中的內(nèi)容就會(huì)丟失,因此默認(rèn)的恢復(fù)過程就會(huì)重啟系統(tǒng)。與這些已經(jīng)保存了DRAM先前內(nèi)容的非易失性解決方案不同的是,保存在閃存中的引導(dǎo)程序不會(huì)丟失。
大多數(shù)這類混合解決方案的目標(biāo)應(yīng)用都是企業(yè)系統(tǒng),不過由于它們采用標(biāo)準(zhǔn)DIMM插座,并且看起來像系統(tǒng)硬件的標(biāo)準(zhǔn)DDR2或DDR3 DRAM,因此這些混合方案可以輕松地整合到嵌入式應(yīng)用中。
曇花一現(xiàn)的PCI Express
帶寬是閃存可以使用的,不過諸如USB和SATA等諸多接口都受限于無法充分利用閃存的速度。PCI Express是加快數(shù)據(jù)移動(dòng)的一種方法。
非易失性內(nèi)存主機(jī)控制器接口(NVMHCI)工作組開發(fā)了NVM Express標(biāo)準(zhǔn),并管理著該標(biāo)準(zhǔn),該標(biāo)準(zhǔn)可以提供非易失性存儲(chǔ)器(在這里基本上是指閃存)的接口。
SCSI Express是另一個(gè)正在準(zhǔn)備階段的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)可將閃存直接應(yīng)用到PCI Express接口中。這兩個(gè)標(biāo)準(zhǔn)的區(qū)別在于接口是SCSI適配器。SAS采用SCSI命令集,因此它可以有效地定義標(biāo)準(zhǔn)SAS接口。而傳統(tǒng)的SAS控制器需要其各自的供應(yīng)商提供的設(shè)備驅(qū)動(dòng)程序。
串行ATA 組織的SATA Express標(biāo)準(zhǔn)是一個(gè)類似的標(biāo)準(zhǔn),不過該標(biāo)準(zhǔn)可以提供SATA接口。與SCSI Express一樣,SATA Express可以同樣輕松地通過接口實(shí)現(xiàn)硬盤存儲(chǔ)器和閃存。
NVM Express和SCSI Express標(biāo)準(zhǔn)都用于企業(yè)。支持熱插拔的板和驅(qū)動(dòng)標(biāo)準(zhǔn)融合在一起。隨著這些平臺(tái)的日益普及,它們可能會(huì)在嵌入式系統(tǒng)中找到用武之地。由于這些平臺(tái)可以提供位于處理和網(wǎng)絡(luò)硬件所在的板上的高速解決方案,因此它們適合用于嵌入式應(yīng)用。
標(biāo)準(zhǔn)組織
上文已經(jīng)提到了大多數(shù)與閃存相關(guān)的重要組織,比如JEDEC、ONFI工作組和NVMHCI工作組。SD協(xié)會(huì)負(fù)責(zé)移動(dòng)存儲(chǔ)器的SD卡系列。同樣,CompactFlash協(xié)會(huì)負(fù)責(zé)管理CompactFlash標(biāo)準(zhǔn)。T10則負(fù)責(zé)管理SCSI和SCSI Express標(biāo)準(zhǔn)。串行ATA組織負(fù)責(zé)管理SATA Express標(biāo)準(zhǔn)。
評(píng)論