專利名稱:與非門快閃存儲器的物理接口、接口方法和管理設備的制作方法
技術領域:
本發明涉及一種接口設備,具體地講,涉及一種為與非門快閃存儲器而提供的物理接口;更進一步講,涉及一種在控制器(例如嵌入式處理器)和與非門快閃存儲器之間提供接口的物理接口、接口方法和用于與非門快閃存儲器的管理設備。
背景技術:
與非門快閃存儲器(以下簡稱閃存)自身沒有存儲控制器,其結構可看作是由許多的小區塊組成的,每塊都能存儲一定數量的信息,類似于硬盤的簇。閃存的讀寫也是以塊和頁為單位來進行的,使用例如8比特的I/O端口存取數據。閃存容量大、成本低、可以達到比較高的速度,所以應用較為廣泛。閃存的基本工作方式是按順序讀取,一個區塊寫入或讀取結束再接著下一個,是“串行”方式而不是“并行”方式,操作上也是如此,比如區塊上已有信息,就一定要先擦除,再寫入,其它操作也是一樣的。
閃存管理主要由例如嵌入式中央處理器(簡稱為CPU)依靠軟件完成。CPU除了需要對閃存作出使用策略的管理,還需要對具體的讀寫進行干預。通用的做法是CPU使用較高頻率的主頻,在讀寫閃存時使用固件(firmware)的讀寫函數通過操作一個簡單的由鎖存器(latch)構成的物理接口來生成閃存的接口時序。
現有技術的物理接口存在著以下問題1)CPU消耗比較高。由于實際上整個讀寫時序是由固件函數生成,而CPU執行一條匯編指令需要若干個時鐘周期,所以CPU必須工作在比閃存讀寫接口高幾倍的頻率上,不利于使用低端降低成本;2)高的主頻會造成更高的功耗;3)管理整個時序操作會占用很大的資源;4)使用固件來管理接口時序使得兼容多種閃存變得很困難;5)另外由于不同閃存接口讀寫速度有較大差別,現有技術的物理接口很難充分發揮不同閃存的最佳速度。
發明內容
本發明的目的在于提供性能優異的閃存物理接口。它管理整個閃存的操作時序,簡化嵌入式CPU的工作,降低對CPU的要求,降低功耗,并且提供靈活的對多種閃存的支持。
本發明的上述目的通過提供用于與非門快閃存儲器的物理接口和接口方法以及管理設備而實現。
根據第一方面,提供一種為與非門快閃存儲器提供接口的物理接口,包括協議選擇單元,根據和與非門快閃存儲器有關的全局參數選擇相應的協議;波形生成單元,根據協議選擇單元所選擇的協議,基于外部時鐘產生操作與非門快閃存儲器所需的波形。
根據第二方面,提供一種管理與非門快閃存儲器的設備,包括物理接口,和與非門快閃存儲器相連,用于對與非門快閃存儲器進行管理操作;所述物理接口包括協議選擇單元和波形生成單元;其中,協議選擇單元根據和與非門快閃存儲器有關的全局參數選擇相應的協議,波形生成單元根據協議選擇單元所選擇的協議,基于外部時鐘產生操作與非門快閃存儲器所需的波形;控制器,與物理接口相連;當控制器需要管理與非門快閃存儲器時,控制器用和與非門快閃存儲器本身無關的控制指令指示物理接口管理與非門快閃存儲器,物理接口根據控制指令產生操作與非門快閃存儲器所需的波形,對與非門快閃存儲器進行管理操作。
在第二方面中,所述控制器優選是嵌入式微處理器或基帶。進一步優選的是,所述物理接口通過DMA方式與嵌入式微處理器或基帶交換數據;并且/或者,嵌入式處理器或基帶通過中斷方式控制物理接口。
優選的是,管理設備包括數據傳輸通道控制單元,它和物理接口相連,以便從/向與非門快閃存儲器讀/寫數據。進一步優選的是,所述數據傳輸通道控制單元和物理接口通過DMA方式進行數據交換。
根據第三方面,提供一種電子設備,包括如第一方面提供的物理接口或如第二方面提供的管理與非門快閃存儲器的設備。
根據第四方面,提供一種為與非門快閃存儲器提供物理接口的接口方法,包括根據和與非門快閃存儲器有關的全局參數選擇相應的協議;根據所選擇的協議,基于外部時鐘產生驅動與非門快閃存儲器所需的波形。
根據本發明的閃存控制用物理接口能顯著節約例如嵌入式微處理器的資源,從而可以使用低端CPU降低成本,同時對CPU主頻要求降低故而可以降低功耗;能靈活支持多種閃存,并且能適應各種速度的閃存。
本發明的優選實施方案的這些以及其他特征在結合附圖閱讀詳細描述之后將變得一目了然,在附圖中圖1是根據本發明的一個實施例的閃存管理設備的示意圖;圖2是波形生成模塊結構的一個示意圖;以及圖3是波形生成模塊所生成的波形示意圖,包括圖3(a)、圖3(b)和圖3(c)。
具體實施例方式圖1是根據本發明的一個實施例的閃存管理設備的示意圖。在圖1中,閃存管理設備包括嵌入式微處理器10、微處理器數據存儲器20、直接存儲器存取(簡稱DMA)控制單元30、數據傳輸通道控制單元40、中斷處理單元50、物理接口單元60、時鐘單元70、和全局參數設定單元80。該閃存管理設備用于連接與非門快閃存儲器(簡稱閃存)90并且對其進行管理操作。所述管理操作包括讀、寫、回拷讀(Copybackread)、回拷寫(Copybackwrite)、和擦除(Erase)。
所述嵌入式微處理器10對閃存90進行行為上的管理,其對閃存的操作由所述物理接口單元60來完成。當嵌入式微處理器10需要管理閃存時,它向物理接口單元60發出管理操作指令,所述管理操作指令規范的是閃存90的一些基本功能,例如讀、寫、擦除閃存等。這些基本功能在不同閃存中具體實現的方式并不相同。物理接口單元60結合閃存的自身特點,將管理操作指令具體化為對閃存的實際控制和操作指令和時序。
所述嵌入式微處理器10還可以控制DMA控制單元30選擇物理接口60的數據流向。所述物理接口單元60和所述DMA控制單元30通過所述中斷控制單元50與所述嵌入式微處理器單元10交互。
所述物理接口60通過所述DMA控制單元30實現數據在閃存90與所述數據傳輸通道控制單元40或者微處理器數據存儲器20之間的傳輸。所述DMA控制單元30操作從物理接口60中傳出的數據,DMA控制單元30與其他模塊的數據交換則通過數據傳輸通道控制單元40仲裁并且傳輸。
另一方面,需要所述嵌入式微處理器10管理的數據則通過DMA方式送入微處理器數據存儲器20。這里,微處理器數據存儲器可以是例如靜態隨機存取存儲器。
使用DMA方式可以減少使用微處理器傳輸數據的時間,提高數據傳輸的速度。需要指出,除DMA控制方式以外,本發明還可以采用其它的傳輸控制方式,只要是能夠實現數據傳輸。例如,在一個替代性實施例中,嵌入式微處理器可以通過端口(port)方式從閃存中讀取數據。
所述中斷控制單元50對來自于所述DMA控制單元30和物理接口單元60的中斷進行仲裁并發給所述嵌入式微處理器10。通常,當一個操作指令完成,或者發生編程錯誤,或者在讀出的時候發生不可修復ECC錯誤等條件下,會發生中斷請求。需要指出,可以采用輪詢的方式來替代中斷方式。
所述時鐘單元70根據一個鎖相環(PLL)(未圖示)輸出的高頻時鐘,分頻得到一個頻率與占空比可調的時鐘。該時鐘可用來生成具體的接口時序。不同的閃存可能有不同的時序要求。比如說兩種指令集一樣但是速度不一樣的閃存,它們的時序指令結構是一樣的,但是它們要求的時序速度可能是不一樣的。通過調節時鐘的頻率和占空比,就可以使得物理接口滿足不同閃存的要求。通常,可以根據閃存的讀/寫使能信號最小周期、高電平最小有效持續時間和低電平最小有效持續時間來調整時鐘的頻率和占空比,使得時鐘信號的高電平持續時間大于且逼近閃存的高電平最小有效持續時間,時鐘信號的低電平持續時間大于且逼近閃存的低電平最小有效持續時間,時鐘信號的周期大于且逼近閃存的讀/寫使能信號最小周期。
優選地,嵌入式微處理器可以根據閃存類型、接口速度,具體配置時鐘單元70中相應的寄存器從而調節時鐘的頻率和占空比。除了嵌入式微處理器外,其他單元如基帶(Baseband)等也可以實現配置功能。
所述全局參數設定單元80為所述物理接口60提供與閃存有關的全局參數。全局參數主要包括閃存的頁(page)類型、存儲器(memory)結構、壞塊標志方式、廠商、容量大小以及特殊指令等。這些參數可由嵌入式微處理器根據具體的閃存來配置,也可以由其他單元如基帶等來完成。
所述物理接口60根據全局參數并且基于頻率和占空比不同的所述時鐘,來生成速度不同的接口時序,從而滿足支持不同速度閃存的需求。
下文以讀操作為例,描述閃存管理設備的工作流程。
上電后,所述嵌入式微處理器單元10分別指示時鐘單元70和全局參數設定單元80配置完成用于物理接口60的時鐘和全局參數。
當所述數據傳輸通道控制單元40需要從閃存90讀取一定的數據時,它先對所述DMA控制單元30提出請求,DMA控制單元通過中斷控制單元50對嵌入式微處理器10提出請求。根據該請求,所述嵌入式微處理器10對DMA控制單元30和物理接口單元60進行配置并且觸發物理接口的讀操作。物理接口60根據全局參數對協議進行選擇并完成從閃存讀出數據。其后,數據通過DMA控制單元30送到數據傳輸通道控制單元40的例如靜態隨機存取存儲器(sram)中。DMA控制單元30讀操作完成后將通過中斷控制單元50通知嵌入式微處理器10。
相反,如果嵌入式微處理器10需要從閃存90中讀取數據,它配置DMA控制單元30和物理接口60,將數據讀入微處理器數據存儲器20。
接下來,對物理接口60的結構進行描述。如圖1所示,所述的物理接口60包括一個接口協議模塊62和一個波形生成模塊64。所述接口協議模塊62根據全局參數設定單元80提供的閃存類型、廠商等信息選擇適當的接口協議以滿足對不同閃存的支持要求。協議選擇的主要目的是針對不同閃存而選擇相應的指令集。所述波形生成模塊64使用為物理接口單元60提供的時鐘,根據接口協議模塊62所選擇的接口協議生成真實的接口波形。通過選擇適當的時鐘,可使閃存的速度最大化。
圖2是波形生成模塊結構的一個示意圖。如圖2所示,波形生成模塊64包括寄存器組110、有限狀態機120、條件判斷模塊130和波形生成邏輯140,它們在來自時鐘單元的時鐘(未圖示)的協調和控制下工作。
寄存器組110將接口協議模塊62所選擇好的指令集存儲下來,并且供有限狀態機120、條件判斷模塊130和波形生成邏輯140引用。條件判斷模塊130對從寄存器組110讀出的內容以及狀態機120的狀態進行判斷,并為有限狀態機120提供包括判斷結果在內的一些必要的參數,有限狀態機120具體控制著波形生成的步驟,而有限狀態機120的輸出被引用到波形生成邏輯140,具體生成接口波形。
下文以三星32MB小頁類型的閃存為例,描述以上實施例的閃存管理設備的工作過程。
在當前的閃存是三星32MB小頁(page)類型的閃存的情況下,協議選擇模塊62會依據有關全局參數設定好以下內容根據全局參數中的廠商信息得知是三星閃存,選擇在使用讀狀態(read status)指令時返回的狀態結果以三星方式處理;根據容量大小,依據最大容量設定地址范圍;根據頁類型,選擇小頁類型指令集;根據特殊指令參數可知該閃存不支持copybackread和copybackprogram,故而使用讀(read)和頁編程(pageprogram)代替。
當嵌入式微處理器需要對該閃存做一次copyback的時候,它先向物理接口60發出copybackread命令。波形生成模塊64根據協議選擇模塊62設定小頁類型的讀指令的要求生成相應接口波形,例如根據地址選擇讀指針,根據最大地址范圍選擇輸入地址的字節數,根據小頁指令對CE的要求控制CE等等。波形生成模塊64將讀出的數據放入相應的緩存(未圖示)中,并完成ECC糾錯檢查。然后,物理接口60向嵌入式微處理器發出中斷請求,表明已經完成copybackread。
嵌入式微處理器接下來向物理接口60發出一個copybackprogram,波形生成模塊64將根據協議選擇使用小頁類型的pageprogarm代替copybackprogram,并且根據其他協議選擇的內容發出pageprogarm的波形將緩存中的內容寫入閃存中。最后,波形生成模塊64將使用讀狀態指令讀出編程后閃存的狀態,依據協議選擇的要求使用三星的狀態(status)定義方式進行分析。如果編程正確,物理接口60將發出正確完成的中斷;如果編程錯誤,將發出編程錯誤的中斷。
圖3是根據上述實施例波形生成模塊64生成的對閃存進行回拷(copyback)的波形的示意圖。圖3包括圖3(a)、圖3(b)和圖3(c)三個部分。圖3(a)示意了使用讀實現回拷讀的過程,圖3(b)示意了使用頁編程實現回拷寫的過程,而圖3(c)則示意了讀狀態的過程。
嵌入式微處理器對閃存的其它操作可依相似方式加以實現,這里不一一贅述。
需要指出,本發明中的嵌入式微處理器可以由很多控制器單元代替。可替代的控制器單元例如有純硬件的閃存控制器、基帶、數字信號處理器(DSP),以及其他需要對閃存進行操作的單元。
此外,數據傳輸通道控制單元可以面向和外接多種裝置或設備。例如,它可以通過通用串行總線(USB)通道與PC(個人計算機)相連,可以通過基帶通道從手機上網中下載上傳文件,可以通過數字信號處理裝置和模數轉換器(DAC)進行midi,mp3的播放,可以通過模數轉換器(ADC)進行錄音,也可以與圖像處理模塊相聯實現播放閃存中的多媒體文件或者將攝像拍照下的文件存入閃存中。
在本發明的實施方案中CPU不對讀寫過程做具體的操作,只負責觸發的動作,所以CPU工作的頻率可以比較低,并且因而減少功耗。另外,由于工作頻率要求降低而且CPU參與的工作大大減少,減少了對CPU的依賴,故此可使用低端CPU降低成本。
此外,在本發明中,物理接口可以依據與非門快閃存儲器的特點(比如不同的指令集和速度)對與非門快閃存儲器實施具體的管理操作,而CPU無需了解與非門快閃存儲器的特點。因此,這樣的結構較易于兼容不同類型的與非門快閃存儲器。
本發明的閃存管理設備在和各種與非門快閃存儲器組合之后,可以應用于包括但不限于手機、掌上電腦、PDA和數碼相機等電子便攜設備及各種信息家電。例如可應用于u盤、移動電話、和數碼相機的存儲部件,以及mp3,mp4等播放器。
雖然本發明的實施方案已經在前述的說明書中公開,但本領域內的技術人員應該理解的是,在前述說明書和附圖所展示的技術方案的基礎上還可以做出許多改進和其他變更。因此,需要理解的是,本發明因此不限于在上面所公開的具體實施方案,許多改進和其他實施方案均應包括在附加的權利要求范圍內。比如,在上述實施例中時鐘單元70和全局參數設定單元80雖然是外置于物理接口60之外,但是它們也可以被設置在物理接口60之中。而且,雖然在這里和在下面的權利要求書中使用特定的術語,但是它們在使用時僅具有通用和描述的意義,而不是為了限制所描述的發明的目的,也不是為了限制下面的權利要求書的目的。
權利要求
1.一種為與非門快閃存儲器提供接口的物理接口,包括協議選擇單元,根據和與非門快閃存儲器有關的全局參數選擇相應的協議;波形生成單元,根據協議選擇單元所選擇的協議,基于外部時鐘產生操作與非門快閃存儲器所需的波形。
2.如權利要求1所述的物理接口,其特征在于所述外部時鐘由一個時鐘單元提供。
3.如權利要求1或2所述的物理接口,其特征在于該時鐘的頻率和/或占空比可調。
4.如權利要求1或2所述的物理接口,其特征在于所述全局參數由一個全局參數設定單元提供。
5.如權利要求4所述的物理接口,其特征在于由嵌入式微處理器或基帶為全局參數設定單元配置全局參數。
6.一種管理與非門快閃存儲器的設備,包括物理接口,和與非門快閃存儲器相連,用于對與非門快閃存儲器進行管理操作;所述物理接口包括協議選擇單元和波形生成單元;其中,協議選擇單元根據和與非門快閃存儲器有關的全局參數選擇相應的協議,波形生成單元根據協議選擇單元所選擇的協議,基于外部時鐘產生操作與非門快閃存儲器所需的波形;控制器,與物理接口相連;當控制器需要管理與非門快閃存儲器時,控制器用和與非門快閃存儲器本身無關的控制指令指示物理接口管理與非門快閃存儲器,物理接口根據控制指令產生操作與非門快閃存儲器所需的波形,對與非門快閃存儲器進行管理操作。
7.如權利要求6所述的管理與非門快閃存儲器的設備,其特征在于所述控制器是嵌入式微處理器或基帶。
8.如權利要求7所述的管理與非門快閃存儲器的設備,其特征在于所述物理接口通過DMA方式與嵌入式微處理器或基帶交換數據。
9.如權利要求7所述的管理與非門快閃存儲器的設備,其特征在于嵌入式處理器或基帶通過中斷方式控制物理接口。
10.如權利要求7所述的管理與非門快閃存儲器的設備,其特征在于包括數據傳輸通道控制單元,它和物理接口相連,以便從/向與非門快閃存儲器讀/寫數據。
11.如權利要求10所述的管理與非門快閃存儲器的設備,其特征在于所述數據傳輸通道控制單元和物理接口通過DMA方式進行數據交換。
12.電子設備,包括如權利要求1-4之一所述的物理接口或權利要求5-10之一的管理與非門快閃存儲器的設備。
13.一種為與非門快閃存儲器提供物理接口的接口方法,包括根據和與非門快閃存儲器有關的全局參數選擇相應的協議;根據所選擇的協議,基于外加時鐘產生驅動與非門快閃存儲器所需的波形。
全文摘要
本發明提供用于與非門快閃存儲器的物理接口、管理設備和接口方法。該物理接口包括協議選擇單元,根據與非門快閃存儲器的全局參數選擇相應的協議;和波形生成單元,根據協議選擇單元所選擇的協議,基于外部時鐘產生操作與非門快閃存儲器所需的波形。該接口和方法以及管理設備顯著節約控制與非門快閃存儲器操作的電子裝置例如嵌入式微處理器的資源,從而可以使用低端CPU降低成本,同時對微處理器主頻要求降低可以降低功耗;能靈活支持多種閃存,并且能適應各種速度的閃存。
文檔編號G06F3/06GK1752917SQ200510123578
公開日2006年3月29日 申請日期2005年11月21日 優先權日2005年11月21日
發明者張 浩, 史大北 申請人:北京中星微電子有限公司