應(yīng)用串行NOR閃存提升內(nèi)存處理能力
在嵌入式系統(tǒng)中,NOR閃存一直以來(lái)仍然是較受青睞的非易失性內(nèi)存,NOR器件的低延時(shí)特性可以接受代碼執(zhí)行和數(shù)據(jù)存儲(chǔ)在一個(gè)單一的產(chǎn)品。雖然NAND記憶體已成為許多高密度應(yīng)用的首選解決方案,但NOR仍然是低密度解決方案的首選之一。
未來(lái)閃存產(chǎn)品具有快速發(fā)展的趨勢(shì),可以發(fā)現(xiàn),閃存產(chǎn)品從低密度、低性能、低功能的發(fā)展特點(diǎn)轉(zhuǎn)變?yōu)楦呙芏?、高性能、高功能的發(fā)展特點(diǎn)。Spansion的NOR閃存廣泛運(yùn)用于汽車(chē)電子、醫(yī)療設(shè)備、通訊設(shè)備、機(jī)頂盒等。
SPI Flash特性
SPI串行結(jié)構(gòu)的EEPROM最早出現(xiàn)于20世紀(jì)80年代中期,由摩托羅拉在其MC68HC系列中首先引入,MicroWire是由國(guó)半制定的總線標(biāo)準(zhǔn),它和SPI非常相似,只是MicroWire的時(shí)鐘極性CPOL和時(shí)鐘相位CPHA是固定的,均為0。I2C也是出現(xiàn)在80年代,由Philips制定,它通過(guò)一條數(shù)據(jù)線和一條時(shí)鐘線實(shí)現(xiàn)半雙工通信,I2C總線接口實(shí)現(xiàn)了最簡(jiǎn)單的總線接口方式。三種標(biāo)準(zhǔn)如圖1所示。
SPI和MicroWire很相近,速度非???,且在設(shè)計(jì)中無(wú)需上拉電阻,可以支持全雙工通信操作,抗干擾能力強(qiáng),缺點(diǎn)是需要占用較多的數(shù)據(jù)總線,且需要為設(shè)備分配單獨(dú)的片選信號(hào),沒(méi)有接收數(shù)據(jù)的硬板機(jī)制。對(duì)I2C總線來(lái)說(shuō),它占用的總線較少,可以多個(gè)設(shè)備共同用一根總線,支持接收數(shù)據(jù)的硬板機(jī)制,缺點(diǎn)是速度較低,為3.4MHz以下,只支持半雙工的操作,設(shè)計(jì)時(shí)需要上拉電阻,且對(duì)噪聲的干擾相對(duì)敏感。
圖1 三種總線標(biāo)準(zhǔn)
SPI的接口從傳統(tǒng)的單進(jìn)單出已經(jīng)提升到雙進(jìn)雙出或者四進(jìn)四出。如圖2所示,通過(guò)單向輸入SI,輸出SO變?yōu)殡p向的傳輸,同時(shí)將WP引腳和HOLD引腳復(fù)用為雙向的IO口來(lái)實(shí)現(xiàn)多IO口的接口通信,其協(xié)議及基本的讀寫(xiě)操作和原始EEPROM兼容,同時(shí)硬件上實(shí)現(xiàn)簡(jiǎn)單的完全兼容。
相對(duì)于傳統(tǒng)的并行NOR Flash而言,SPI NOR Flash只需要6個(gè)引腳就能夠?qū)崿F(xiàn)單I/O,雙I/O和4個(gè)I/O口的接口通信,而并行的NOR Flash則至少需要40個(gè)引腳。人們普遍使用的是標(biāo)準(zhǔn)NOR Flash異步讀模式,而ADM及地址數(shù)據(jù)信號(hào)復(fù)用,這種并行NOR Flash引腳數(shù)相對(duì)較少,通過(guò)實(shí)現(xiàn)突發(fā)讀模式,其數(shù)據(jù)輸出最快可超過(guò)120MB/s,SPI具有較少的引腳,同時(shí),通過(guò)采用DDR的方式讀操作,在80MHz的時(shí)鐘下,其數(shù)據(jù)輸出可以達(dá)到80MB/s,甚至超過(guò)并行NOR Flash的異步讀速度。
圖2 SPI的接口轉(zhuǎn)變
在過(guò)去的幾年中,隨著直接CPU 內(nèi)存映射功能的支持, SPI的讀操作取得了極大的進(jìn)步,而傳統(tǒng)的SPI外設(shè)控制器仍然在用于傳統(tǒng)的SPI的讀或別的操作,相比之下,通過(guò)CPU的直接讀取操作,速度比通過(guò)SPI控制器來(lái)的更快,延遲低。
SPI雙通道控制器示意圖如圖3所示,雙通道可以使SPI的數(shù)據(jù)輸出增加一倍,硬件上將片選和時(shí)鐘共用的話(huà),只需要10個(gè)引腳就能實(shí)現(xiàn)SPI Flash所有功能??梢钥紤],實(shí)現(xiàn)一片SPI Flash 8bits數(shù)據(jù)的傳輸,從而提升SPI Flash的數(shù)據(jù)輸出能力。
圖3 SPI雙通道控制器
關(guān)于SPI時(shí)序?qū)ψx速度的影響,如圖4所示。tV是指時(shí)鐘的下降沿到有效數(shù)據(jù)輸出所需要的時(shí)間,一般最大為8ns。tHO是數(shù)據(jù)輸出后到下一個(gè)時(shí)鐘下降沿可持續(xù)的時(shí)間,一般最小值0ns。這兩個(gè)參數(shù)和時(shí)鐘頻率一起決定了SPI Flash的最大數(shù)據(jù)輸出速度。事實(shí)上,tHO在實(shí)際應(yīng)用中并不能像時(shí)鐘周期一樣可以無(wú)限壓縮,而往往都會(huì)大于0ns。
早期的4個(gè)I/O口輸出協(xié)議需要對(duì)地址和數(shù)據(jù)分別串行傳送。如,8個(gè)命令周期加上24個(gè)地址周期至少需要32個(gè)時(shí)鐘周期完成一個(gè)讀操作命令周期,如果Flash的尋址超過(guò)128Mbits,僅地址周期就需要32個(gè)時(shí)鐘周期,非常耗時(shí)。[!--empirenews.page--]
圖4 SPI時(shí)序?qū)ψx速度的影響
新的4個(gè)I/O口輸出模式,其地址可以通過(guò)4個(gè)I/O口同時(shí)傳送,如,24位地址信號(hào)僅需要6個(gè)時(shí)鐘周期就可以完成,加上8個(gè)命令周期共需要14個(gè)周期完成命令,其速度比早期的4個(gè)I/O口的傳輸要快很多。
模式bit的應(yīng)用用于通知SPI Flash下一個(gè)命令和前一個(gè)命令是同樣的命令。使我們?cè)谛枰貜?fù)進(jìn)行讀操作的時(shí)候,可以減少命令周期帶來(lái)的總線開(kāi)銷(xiāo),從而進(jìn)一步提高SPI Flash的讀取性能。
DDR的4 I/O口讀模式由一個(gè)8bits的命令開(kāi)始,而輸入地址和輸出的數(shù)據(jù)按照DDR的模式進(jìn)行,這種模式需要協(xié)議的開(kāi)銷(xiāo),需要8個(gè)命令時(shí)鐘周期,加上3個(gè)地址時(shí)鐘周期,一共11個(gè)時(shí)鐘周期可以完成一個(gè)讀命令操作。
通過(guò)模式bit消除可以節(jié)省重復(fù)輸入相同命令時(shí)的時(shí)鐘周期,完成一個(gè)DDR口的讀操作僅需要3個(gè)時(shí)鐘周期。
數(shù)據(jù)總線上的數(shù)據(jù)會(huì)由于時(shí)鐘頻率太高而出現(xiàn)歪斜或失真,導(dǎo)致數(shù)據(jù)的讀錯(cuò)誤,而DLP(data learning pattern)的功能在DDR多I/O口協(xié)議中的使用可以使Flash在時(shí)鐘頻率高時(shí)同樣穩(wěn)定地工作。DLP的功能是通過(guò)利用真實(shí)數(shù)據(jù)輸出前的假數(shù)據(jù)周期,它不會(huì)影響整個(gè)命令的時(shí)鐘周期,DLP的數(shù)據(jù)采用可以使主機(jī)端明確什么時(shí)候可以采用到正確的目標(biāo)數(shù)據(jù),從而提高系統(tǒng)在高頻率SPI數(shù)據(jù)在讀操作時(shí)的可靠性及穩(wěn)定性。
4 I/O口的DDR讀模式增加了DLP和模式bit消除模式后,只需要3個(gè)時(shí)鐘周期的協(xié)議開(kāi)銷(xiāo),目前的器件在80MHz頻率下,數(shù)據(jù)輸出可以達(dá)到80MB/s。
從設(shè)計(jì)的角度來(lái)說(shuō),如圖5所示。芯片內(nèi)部的引腳連接點(diǎn)的放置同樣會(huì)影響到SPI Flash的數(shù)據(jù)輸出速度,時(shí)鐘和I/O口信號(hào)的緊湊設(shè)計(jì)會(huì)減少芯片的數(shù)據(jù)失真,從而提高SPI Flash芯片的工作速度。
圖5 芯片內(nèi)部的引腳連接點(diǎn)設(shè)計(jì)
SPI Flash未來(lái)發(fā)展
未來(lái)SPI Flash的發(fā)展需要一種簡(jiǎn)單、高效和高速接口。隨著傳統(tǒng)的應(yīng)用越來(lái)越多地轉(zhuǎn)向SPI Flash的存儲(chǔ)接口,人們希望傳統(tǒng)的一些并行NOR Flash的功能也能出現(xiàn)在SPI Flash中,比如Reset復(fù)位功能、寬電壓功能,及以扇區(qū)為單位的寫(xiě)保護(hù)等功能。同時(shí)隨著DDR接口被越來(lái)越多廣泛地運(yùn)用,低電壓總線操作的支持等,數(shù)據(jù)SPI Flash將會(huì)提供更高的讀性能。
低成本存儲(chǔ)器解決方案
Spansion的FL-S是65nm工藝的產(chǎn)品,它具有增強(qiáng)的性能和豐富的功能。從產(chǎn)品性能上說(shuō),擦除速度快5倍以上,寫(xiě)速度快3倍以上,同時(shí),最快速讀功能快20%以上。從產(chǎn)品功能上說(shuō),容量覆蓋了主流的128 Mbits~1Gbits,其封裝是工業(yè)標(biāo)準(zhǔn)封裝,并能實(shí)現(xiàn)老產(chǎn)品到下一代新產(chǎn)品的兼容。產(chǎn)品在安全性方面也有很大的提高,除了支持OTP以外,部分型號(hào)支持讀保護(hù)功能。
目前,人們普遍使用的并行NOR Flash,如圖6所示,通過(guò)異步讀取的方式操作Flash,理想的時(shí)序設(shè)計(jì)基本上輸出速度是達(dá)到61MB/s。而Spansion的SPI Flash頁(yè)讀取模式可以達(dá)到98MB/s,和傳統(tǒng)的異步讀模式不同,第一個(gè)讀取周期地址時(shí)序和異步讀相同,但后續(xù)的讀取速度可以遞增25ns,從而大大提高Flash的讀取速度??偟膩?lái)說(shuō),DDR的讀取模式可以在極少的引腳基礎(chǔ)上可以實(shí)現(xiàn)超過(guò)傳統(tǒng)的讀取速度,未來(lái)會(huì)被越來(lái)越多地被采用。
圖6 Page-mode NOR讀取速度優(yōu)勢(shì)
Spansion的FL-S性能較高,對(duì)于SPI Flash來(lái)說(shuō),成本的節(jié)省來(lái)源于三個(gè)主要方面,第一,主芯片成本降低,從傳統(tǒng)的40個(gè)引腳或以上并行NOR Flash的支持到僅需要6個(gè)引腳的SPI Flash支持,成本會(huì)大大降低,但是如果主芯片各種芯片接口都支持的話(huà),成本也不會(huì)明顯降低。第二,SPI Flash自身的封裝生產(chǎn)成本降低,同時(shí)從生產(chǎn)的成本來(lái)說(shuō),SPI由于引腳的減少會(huì)降低成本,測(cè)試成本也會(huì)降低。第三,F(xiàn)lash的速度提升對(duì)于客戶(hù)體驗(yàn)會(huì)有很大的改善,會(huì)給最終客戶(hù)端產(chǎn)品帶來(lái)競(jìng)爭(zhēng)力,如開(kāi)機(jī)時(shí)間、運(yùn)行速度等等。