欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

信息處理方法和系統(tǒng)的制作方法

文檔序號:6545755閱讀:171來源:國知局
信息處理方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種信息處理方法和系統(tǒng),用于對存儲器進(jìn)行控制,該方法包括:從總線接收地址和數(shù)據(jù);在接收到總線的讀寫命令時(shí),將數(shù)據(jù)進(jìn)行緩存;對所緩存的數(shù)據(jù)進(jìn)行校正;基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,以進(jìn)行數(shù)據(jù)存取。本發(fā)明改進(jìn)了控制器的結(jié)構(gòu)和讀寫方法,所需要的存儲裝置的體積更小,實(shí)時(shí)讀寫速度更快,可靠性更高。
【專利說明】信息處理方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲器讀寫控制,特別涉及一種用于嵌入式系統(tǒng)的存儲器控制方法和系統(tǒng)。
【背景技術(shù)】
[0002]NAND設(shè)備成本低、寫入和擦除速度快,且更適宜數(shù)據(jù)存儲等諸多優(yōu)點(diǎn)而被業(yè)界廣泛采用。然而,由于NAND的管理和控制比較復(fù)雜,關(guān)于NAND存儲器標(biāo)準(zhǔn)化組織當(dāng)前并沒有制定統(tǒng)一的接口標(biāo)準(zhǔn),增加存儲器控制電路的設(shè)計(jì)難度?,F(xiàn)有的NAND存儲器種類繁多,對于應(yīng)用在嵌入式環(huán)境保護(hù)和檢測系統(tǒng)的存儲器而言,例如在線水質(zhì)監(jiān)測的嵌入式系統(tǒng),所需要的存儲裝置的體積更小,實(shí)時(shí)讀寫速度更快,可靠性更高。而目前的存儲陣列進(jìn)行邏輯控制效率較低,在實(shí)現(xiàn)高速度、大容量、高可靠性數(shù)據(jù)存儲性能上還有改進(jìn)的余地。

【發(fā)明內(nèi)容】

[0003]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種信息處理方法,用于對存儲器進(jìn)行控制,包括:
[0004]從總線接收地址和數(shù)據(jù);
[0005]在接收到總線的讀寫命令時(shí),將數(shù)據(jù)進(jìn)行緩存;
[0006]對所緩存的數(shù)據(jù)進(jìn)行校正;
[0007]基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,以進(jìn)行數(shù)據(jù)存取。
[0008]優(yōu)選地,所述從總線接收地址和數(shù)據(jù)包括:
[0009]利用AMBA數(shù)據(jù)接口模塊作為與AMBA總線的接口,從AMBA總線接收地址和數(shù)據(jù),
[0010]對地址解碼并且將解碼數(shù)據(jù)寫入控制寄存器與緩存控制電路;
[0011]在AMBA總線中對地址進(jìn)行解碼,并且更新和讀取控制寄存器的內(nèi)容;
[0012]讀取控制單元的狀態(tài),或者讀出或?qū)懭脒M(jìn)入存儲器模組的數(shù)據(jù)。
[0013]優(yōu)選地,所述將數(shù)據(jù)進(jìn)行緩存包括,利用緩存控制電路,控制兩個(gè)緩存器SRAM的數(shù)據(jù)訪問,以允許CPU、SRAM和存儲器控制單元之間的數(shù)據(jù)傳輸,
[0014]所述緩存控制電路控制兩個(gè)緩存器,進(jìn)一步包括:
[0015]通過CPU直接訪問SRAM存儲器;
[0016]通過CPU經(jīng)由SRAM存儲器訪問存儲器數(shù)據(jù);
[0017]訪問兩個(gè)緩存器的數(shù)據(jù);
[0018]通過訪問存儲器控制單元的數(shù)據(jù);
[0019]更新誤差校正編碼器和解碼器校正過的數(shù)據(jù);
[0020]并且,所述緩存控制電路具有兩個(gè)狀態(tài)機(jī),一個(gè)用于處理緩存控制電路模塊與存儲器控制器模塊之間的接口信號,另一個(gè)用于處理緩存控制電路與AMBA接口模塊之間的
接口信號。
[0021]優(yōu)選地,所述對數(shù)據(jù)進(jìn)行校正,包括利用誤差校正編碼器和解碼器進(jìn)行校正,該可誤差校正編碼器和解碼器由存儲器控制單元來編程,通過采用分組預(yù)取譯碼的操作方式,利用三級流水操作,通過軟件配置來改變設(shè)定值;
[0022]所述基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,進(jìn)一步包括:
[0023]利用寄存器堆中的存儲器模塊配置寄存器,記錄包括地址階段的周期數(shù),塊大小以及頁大小,如果在操作期間要改變寄存器里面的值,則發(fā)出軟件復(fù)位,然后發(fā)出命令;
[0024]利用寄存器堆中的存儲器控制電路與緩存控制電路的中斷寄存器,:檢測設(shè)備狀態(tài)檢查失敗中斷,空白檢查中斷,CRC檢查失敗中斷,數(shù)據(jù)訪問中斷,命令完成中斷。
[0025]利用寄存器堆中的緩存控制電路特殊功能使能寄存器,輸出模式使能信號,用于直接訪問SRAM存儲器,并從存儲器讀取SRAM的資料或者將SRAM資料寫入存儲器;
[0026]所述數(shù)據(jù)存取進(jìn)一步包括,在存儲器的讀周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要讀取的地址,然后更新訪問控制寄存器來發(fā)起讀周期,CPU從緩存控制電路讀取數(shù)據(jù);
[0027]在存儲器寫周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要寫入的地址,然后CPU更新訪問控制寄存器來發(fā)起寫周期,最后CPU將數(shù)據(jù)寫入緩存控制電路。
[0028]優(yōu)選地,所述讀寫命令通過存儲器控制單元發(fā)送到存儲器模組,所述存儲器模組為 NAND。
[0029]根據(jù)本發(fā)明的另一方面,提供了一種信息處理系統(tǒng),包括用于對存儲器進(jìn)行控制的存儲器控制電路,其特征在于,該電路包括:
[0030]總線接口模塊,用于從總線接收地址和數(shù)據(jù);
[0031]緩存控制電路,用于在接收到總線的讀寫命令時(shí)緩存數(shù)據(jù);
[0032]誤差校正編碼器和解碼器,用于對所緩存的數(shù)據(jù)進(jìn)行校正;
[0033]存儲器控制單元,用于基于命令寄存器的內(nèi)容發(fā)出讀寫命令到存儲器模組,以進(jìn)行數(shù)據(jù)存取。
[0034]優(yōu)選地,所述總線接口模塊為AMBA數(shù)據(jù)接口模塊,并進(jìn)一步配置為:作為AMBA總線與存儲器控制單元的接口,從AMBA總線接收地址和數(shù)據(jù),然后對地址解碼并且將解碼數(shù)據(jù)寫入控制寄存器與緩存控制電路;在AMBA總線中對地址進(jìn)行解碼并且更新/讀取控制寄存器的內(nèi)容;讀取控制單元的狀態(tài)或者讀出或?qū)懭脒M(jìn)入存儲器模組的數(shù)據(jù)。
[0035]優(yōu)選地,所述緩存控制電路控制兩個(gè)緩存器SRAM的數(shù)據(jù)訪問,該緩存器進(jìn)一步配置為以下模塊:
[0036]用于CPU直接訪問SRAM存儲器的模塊;
[0037]用于CPU經(jīng)由SRAM存儲器訪問存儲器數(shù)據(jù)的模塊;
[0038]用于訪問兩個(gè)緩存器的數(shù)據(jù)的模塊;
[0039]用于訪問存儲器控制單元的數(shù)據(jù)的模塊;
[0040]用于更新誤差校正編碼器和解碼器校正過的數(shù)據(jù)的模塊;
[0041 ] 所述緩存控制電路與AMBA接口模塊的接口從AMBA數(shù)據(jù)FIFO收發(fā)數(shù)據(jù),與存儲器控制單元的接口使得所述控制單元能從緩存控制電路讀寫數(shù)據(jù),與誤差校正模塊的接口使得能夠更正在存儲器內(nèi)保留數(shù)據(jù)中錯(cuò)誤的比特;
[0042]并且,所述緩存控制電路具有兩個(gè)狀態(tài)機(jī),一個(gè)用于處理緩存控制電路模塊與存儲器控制器模塊之間的接口信號,另一個(gè)用于處理緩存控制電路與AMBA接口模塊之間的接口信號。
[0043]優(yōu)選地,所述誤差校正編碼器和解碼器可由存儲器控制單元來編程,通過采用分組預(yù)取譯碼的操作方式,利用三級流水操作,在電路不變的情形下,通過軟件配置來改變設(shè)定值。
[0044]優(yōu)選地,所述存儲器控制單元,進(jìn)一步配置為:
[0045]對一個(gè)寫周期而言,將寫地址從行地址與列地址寄存器在地址鎖存階段出棧,以及將要寫入的數(shù)據(jù)從緩存控制電路在數(shù)據(jù)傳輸階段出棧;對一個(gè)讀周期而言,發(fā)出一個(gè)讀取的命令到存儲器模組并且接收讀到的數(shù)據(jù),再將數(shù)據(jù)進(jìn)棧到緩存控制電路;該存儲器控制單元根據(jù)時(shí)序寄存器的內(nèi)容來決定訪問存儲器模塊的時(shí)序。
[0046]優(yōu)選地,該系統(tǒng)還包括寄存器堆,所述寄存器堆包括以下寄存器:
[0047]第一頁索引與第一列地址寄存器、第二頁索引與第一列地址寄存器、存儲器模塊配置寄存器、存儲器控制電路與緩存控制電路的中斷寄存器、區(qū)塊偏移量寄存器、緩存控制電路特殊功能使能寄存器;
[0048]所述存儲器模塊配置寄存器配置為:記錄包括地址階段的周期數(shù),塊大小以及頁大小,如果在操作期間要改變寄存器里面的值,需要?jiǎng)t發(fā)出軟件復(fù)位,然后發(fā)出命令;
[0049]所述存儲器控制電路與緩存控制電路的中斷寄存器配置為:檢測設(shè)備狀態(tài)檢查失敗中斷,空白檢查中斷,CRC檢查失敗中斷,數(shù)據(jù)訪問中斷,命令完成中斷。
[0050]所述緩存控制電路特殊功能使能寄存器配置為:輸出模式使能信號,用于直接訪問SRAM存儲器,并從存儲器讀取SRAM的資料或者將SRAM資料寫入存儲器。
[0051]優(yōu)選地,在存儲器的讀周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要讀取的地址,然后更新訪問控制寄存器來發(fā)起讀周期,CPU從緩存控制電路讀取數(shù)據(jù);
[0052]在存儲器寫周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要寫入的地址,然后CPU更新訪問控制寄存器來發(fā)起寫周期,最后CPU將數(shù)據(jù)寫入緩存控制電路。
[0053]優(yōu)選地,所述存儲器模組為NAND,并且所述存儲器控制電路為閃存控制電路。
[0054]相比于現(xiàn)有技術(shù),本發(fā)明的技術(shù)方案的具有以下優(yōu)點(diǎn):所需要的存儲裝置的體積更小,實(shí)時(shí)讀寫速度更快,可靠性更高。
【專利附圖】

【附圖說明】
[0055]圖1是根據(jù)本發(fā)明實(shí)施例的存儲器控制裝置的結(jié)構(gòu)圖。
[0056]圖2是根據(jù)本發(fā)明實(shí)施例的存儲器控制方法流程圖。
【具體實(shí)施方式】
[0057]多種方式可以用于(包括實(shí)施為過程;裝置;系統(tǒng);物質(zhì)組成;在計(jì)算機(jī)可讀存儲介質(zhì)上包括的計(jì)算機(jī)程序產(chǎn)品;和/或處理器(諸如如下處理器,該處理器被配置成執(zhí)行在耦合到處理器的存儲器上存儲的和/或由該存儲器提供的指令))實(shí)施本發(fā)明。在本說明書中,這些實(shí)施或者本發(fā)明可以采用的任何其他形式可以稱為技術(shù)。一般而言,可以在本發(fā)明的范圍內(nèi)變更公開的過程的步驟順序。除非另有明示,描述為被配置成執(zhí)行任務(wù)的部件(諸如處理器或者存儲器)可以實(shí)施為被臨時(shí)配置成在給定時(shí)間執(zhí)行該任務(wù)的一般部件或者被制造成執(zhí)行該任務(wù)的具體部件。[0058]下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
[0059]本發(fā)明的目的在于提供一種信息處理系統(tǒng),包括用于對存儲器進(jìn)行控制的存儲器控制電路,實(shí)現(xiàn)存儲陣列的實(shí)時(shí)存儲,對存儲陣列進(jìn)行邏輯控制,實(shí)現(xiàn)高速度、大容量的數(shù)據(jù)存儲,具有體積小,可靠性高,不受外界劇烈震動(dòng)等特點(diǎn)。
[0060]本發(fā)明的存儲器控制電路如圖1所示,控制電路具有AMBA總線接口,能夠支持多個(gè)NAND通道,每個(gè)數(shù)據(jù)總線寬度可為8比特??刂齐娐分С衷L問數(shù)據(jù)緩存器的AMBA數(shù)據(jù)接口,AMBA接口能夠訪問所有的寄存器。緩存控制電路用來并行控制數(shù)據(jù)從AMBA數(shù)據(jù)接口到存儲器控制電路或者是數(shù)據(jù)流反方向的存儲空間。如果在奇偶校驗(yàn)檢查后發(fā)生錯(cuò)誤,誤差校正編碼器和解碼器會產(chǎn)生誤差校正奇偶校驗(yàn),誤差校正奇偶校驗(yàn)檢查以及數(shù)據(jù)校正。利用寄存器端口訪問的備用數(shù)據(jù)SRAM模塊提供一個(gè)專屬的空間來存儲用戶定義的數(shù)據(jù),能夠被用于讀取或?qū)懭氪鎯ζ鞯膫溆每臻g。
[0061]具體地,本發(fā)明的存儲器控制電路包括以下模塊:
[0062]1.AMBA數(shù)據(jù)接口模塊
[0063]AMBA數(shù)據(jù)接口模塊作為AMBA總線與存儲器控制單元的接口,AMBA接口從AMBA總線接收地址和數(shù)據(jù),然后AMBA接口對地址解碼并且將解碼數(shù)據(jù)寫入控制寄存器與緩存控制電路。在配置周期,AMBA接口在AMBA總線對地址解碼并且更新/讀取控制寄存器的內(nèi)容。配置周期可以讀取控制電路的狀態(tài)或者讀出或?qū)懭霐?shù)據(jù)進(jìn)入存儲器模組。
[0064]在存儲器的讀周期,CPU發(fā)出一個(gè)寫周期到頁索引(PageIndex)寄存器,指定要讀取的地址,然后更新訪問控制寄存器來發(fā)起讀周期,最后CPU從緩存控制電路讀取數(shù)據(jù)。
[0065]對存儲器寫周期,CPU需要發(fā)出一個(gè)寫周期到頁索引寄存器,指定它要寫入的地址,然后CPU更新訪問控制寄存器來發(fā)起寫周期,最后CPU寫數(shù)據(jù)進(jìn)入緩存控制電路。
[0066]這里的控制寄存器存儲所有的配置,狀態(tài)以及中斷寄存器。
[0067]2.緩存控制電路
[0068]緩存控制電路控制兩個(gè)16K字節(jié)的緩存器(SRAM)的數(shù)據(jù)訪問,當(dāng)AMBA總線下達(dá)讀、寫、硬件回寫(Copy-Back)命令時(shí),緩存器能用于存儲數(shù)據(jù)。數(shù)據(jù)通路有以下幾條:
[0069]CPU直接訪問SRAM存儲器
[0070]CPU經(jīng)由SRAM存儲器訪問存儲器數(shù)據(jù)[0071 ] 訪問緩存O與緩存I的數(shù)據(jù)
[0072]訪問存儲器控制電路的數(shù)據(jù)
[0073]更新誤差校正編碼器和解碼器校正過的數(shù)據(jù)
[0074]所以在設(shè)計(jì)上與其他模塊會有三個(gè)接口。與AMBA接口模塊的接口從AMBA數(shù)據(jù)FIFO收發(fā)數(shù)據(jù),與存儲器控制電路的接口使得控制電路能從緩存控制電路讀寫數(shù)據(jù),與誤差校正模塊的接口使它更正在存儲器內(nèi)保留數(shù)據(jù)中錯(cuò)誤的比特。
[0075]對于一般讀寫的數(shù)據(jù)傳輸,本發(fā)明采用了乒乓FIFO機(jī)制。例如寫操作,第一個(gè)2K字節(jié)數(shù)據(jù)由AMBA接口接收后存入SRAM0,隨后第二個(gè)2K數(shù)據(jù)收進(jìn)來后存入SRAMl的第一個(gè)區(qū)塊,與此同時(shí),第一個(gè)2K數(shù)據(jù)被存儲器控制電路讀取后寫入存儲器。
[0076]緩存控制電路模塊有兩個(gè)狀態(tài)機(jī),一個(gè)是負(fù)責(zé)處理緩存控制電路模塊與存儲器控制器模塊之間的接口信號,另一個(gè)是負(fù)責(zé)處理緩存控制電路模塊與AMBA接口模塊之間的
接口信號。
[0077]3.誤差校正編碼器和解碼器
[0078]存儲器控制電路可以編程誤差校正編碼器和解碼器。這是根據(jù)MLCNAND存儲器控制電路所設(shè)計(jì)的并行編譯碼器結(jié)構(gòu)。該電路實(shí)現(xiàn)采用優(yōu)化的MEA算法求解錯(cuò)誤位置多項(xiàng)式,規(guī)則化的脈動(dòng)陣列電路結(jié)構(gòu)和模塊化的設(shè)計(jì),通過采用分組預(yù)取譯碼的操作方式,尤其是在譯碼過程中引入三級流水操作,提高了譯碼效率。在電路不變的情形下,最大糾錯(cuò)位數(shù)是可變的,只需軟件配置來改變設(shè)定值1-16即可,不必增加額外的電路面積。
[0079]4.存儲器控制單元
[0080]存儲器控制單元,基于命令寄存器的內(nèi)容發(fā)出命令到存儲器模組。對一個(gè)寫周期而言,是將寫地址從行地址與列地址寄存器在地址鎖存階段出棧(pop),以及將要寫入的數(shù)據(jù)從緩存控制電路在數(shù)據(jù)傳輸階段出棧。對一個(gè)讀周期而言,是發(fā)出一個(gè)讀取的命令到存儲器模組并且從存儲器控制模塊接收讀到的數(shù)據(jù),再將數(shù)據(jù)進(jìn)棧(push)到緩存控制電路。存儲器控制單元根據(jù)時(shí)序寄存器的內(nèi)容來決定訪問存儲器模塊的時(shí)序。
[0081]5.寄存器堆
[0082]寄存器堆部分關(guān)鍵的寄存器說明如下:
[0083]第一頁索引與第一列地址寄存器:分為兩個(gè)部分,[31:24]比特負(fù)責(zé)每個(gè)區(qū)塊(block)第一頁索引,Copy-Back命令需要的來源(Source)頁索引,還有對芯片進(jìn)行空白檢查(BlankCheck)的流程,在相同的存儲平面(Plane)從一個(gè)頁直接拷貝到另一個(gè)頁中。[23:0]比特負(fù)責(zé)第一列地址,針對扇區(qū)索引定制(Custom)格式類型。
[0084]第二頁索引與第一列地址寄存器:分為兩個(gè)部分,[31:24]比特負(fù)責(zé)每個(gè)區(qū)塊第二頁索引,Copy-Back命令需要的目標(biāo)(Target)頁索引,以及對芯片進(jìn)行空白檢查的流程。[23:0]比特負(fù)責(zé)第二列地址。
[0085]存儲器模塊配置寄存器:記錄包括地址階段的周期數(shù),塊大小以及頁大小。如果在操作期間要改變寄存器里面的值,需要?jiǎng)t發(fā)出軟件復(fù)位,然后發(fā)出命令。該寄存器具有以下功能:某個(gè)存儲組使能的數(shù)據(jù)訪問,某個(gè)通道使能的數(shù)據(jù)訪問,行地址階段周期數(shù)目I?4,列地址階段周期數(shù)目I?4,區(qū)塊大小32-256頁,頁大小為2k或4k,平面架構(gòu)是一個(gè)或兩個(gè),還有啟動(dòng)2個(gè)存儲組或4個(gè)存儲組的交叉存取功能。
[0086]存儲器控制電路與緩存控制電路的中斷寄存器:負(fù)責(zé)設(shè)備狀態(tài)檢查失敗中斷,空白檢查中斷,CRC檢查失敗中斷,數(shù)據(jù)訪問中斷,命令完成中斷。控制電路支持兩種完成中斷:數(shù)據(jù)訪問完成中斷與命令完成中斷。數(shù)據(jù)訪問完成中斷指的是數(shù)據(jù)從主控制電路送出到存儲器控制電路或者是從存儲器控制電路接收數(shù)據(jù)送到主控制電路。存儲器命令中斷與存儲器操作有關(guān),在存儲器接口完成。
[0087]存儲器芯片每個(gè)頁中有一定大小的字節(jié),被稱為備份空間,用于存儲元數(shù)據(jù),當(dāng)使用“hardware copyback”或者“blanking checkf low”命令時(shí),真實(shí)的備份空間面積長度可以依靠設(shè)置緩存控制電路里面的“特殊功能寄存器”固定在16字節(jié)或是27字節(jié)。舉例說明,如果只想要從2k頁大小,每個(gè)扇區(qū)16字節(jié)備份空間讀取或者寫入,而且應(yīng)用了糾錯(cuò)碼4比特校正,軟件工程師需要設(shè)置成“備份空間模式”。其間如果想要從備份空間讀取或者寫入資料,必須設(shè)置“頁模式”。
[0088]區(qū)塊偏移量寄存器:該區(qū)塊的編碼與通道號碼以及存儲組使能有關(guān)。
[0089]緩存控制電路特殊功能使能寄存器:輸出的“mode_en”信號能被用于直接訪問SRAM存儲器。此外能夠從存儲器器件讀取SRAM的資料或者將SRAM資料寫入存儲器器件。
[0090]對單通道的操作,一個(gè)字只有LSB字節(jié)是給數(shù)據(jù)存儲(字節(jié)0,字節(jié)4等等),對兩通道操作,一個(gè)字只有最后兩個(gè)字節(jié)是給數(shù)據(jù)存儲(字節(jié)0,字節(jié)1,字節(jié)4,字節(jié)5等等)。
[0091]以下說明存儲器控制電路中的行地址計(jì)算。命令寄存器實(shí)現(xiàn)了對不同格式或種類的控制,使用行地址,控制電路將格式與種類分成三個(gè)組別:無地址組,一個(gè)地址組,兩個(gè)地址組。無論怎樣第一行地址與第二行地址寄存器的內(nèi)容如何,“無地址組”不用計(jì)算行地址?!耙粋€(gè)地址組”是基于第一行地址寄存器的內(nèi)容來計(jì)算,“兩個(gè)地址組”是基于第一行地址與第二行地址寄存器的內(nèi)容來計(jì)算,存儲器的行地址代表存儲器的頁索引,對不同的存儲器架構(gòu),行地址有不同增加的功能。
[0092]根據(jù)本發(fā)明實(shí)施例的另一方面,提出了一種信息處理方法,用于對存儲器進(jìn)行控制,包括:
[0093]從總線接收地址和數(shù)據(jù);
[0094]在接收到總線的讀寫命令時(shí),將數(shù)據(jù)進(jìn)行緩存;
[0095]對所緩存的數(shù)據(jù)進(jìn)行校正;
[0096]基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,以進(jìn)行數(shù)據(jù)存取。
[0097]優(yōu)選地,所述從總線接收地址和數(shù)據(jù)包括:
[0098]利用AMBA數(shù)據(jù)接口模塊作為與AMBA總線的接口,從AMBA總線接收地址和數(shù)據(jù),
[0099]對地址解碼并且將解碼數(shù)據(jù)寫入控制寄存器與緩存控制電路;
[0100]在AMBA總線中對地址進(jìn)行解碼,并且更新和讀取控制寄存器的內(nèi)容;
[0101]讀取控制單元的狀態(tài),或者讀出或?qū)懭脒M(jìn)入存儲器模組的數(shù)據(jù)。
[0102]優(yōu)選地,所述將數(shù)據(jù)進(jìn)行緩存包括,利用緩存控制電路,控制兩個(gè)緩存器SRAM的數(shù)據(jù)訪問,以允許CPU、SRAM和存儲器控制單元之間的數(shù)據(jù)傳輸,
[0103]所述緩存控制電路控制兩個(gè)緩存器,進(jìn)一步包括:
[0104]通過CPU直接訪問SRAM存儲器;
[0105]通過CPU經(jīng)由SRAM存儲器訪問存儲器數(shù)據(jù);
[0106]訪問兩個(gè)緩存器的數(shù)據(jù);
[0107]通過訪問存儲器控制單元的數(shù)據(jù);
[0108]更新誤差校正編碼器和解碼器校正過的數(shù)據(jù);
[0109]并且,所述緩存控制電路具有兩個(gè)狀態(tài)機(jī),一個(gè)用于處理緩存控制電路模塊與存儲器控制器模塊之間的接口信號,另一個(gè)用于處理緩存控制電路與AMBA接口模塊之間的
接口信號。
[0110]優(yōu)選地,所述對數(shù)據(jù)進(jìn)行校正,包括利用誤差校正編碼器和解碼器進(jìn)行校正,該可誤差校正編碼器和解碼器由存儲器控制單元來編程,通過采用分組預(yù)取譯碼的操作方式,利用三級流水操作,通過軟件配置來改變設(shè)定值;
[0111]所述基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,進(jìn)一步包括:[0112]利用寄存器堆中的存儲器模塊配置寄存器,記錄包括地址階段的周期數(shù),塊大小以及頁大小,如果在操作期間要改變寄存器里面的值,則發(fā)出軟件復(fù)位,然后發(fā)出命令;
[0113]利用寄存器堆中的存儲器控制電路與緩存控制電路的中斷寄存器,:檢測設(shè)備狀態(tài)檢查失敗中斷,空白檢查中斷,CRC檢查失敗中斷,數(shù)據(jù)訪問中斷,命令完成中斷。
[0114]利用寄存器堆中的緩存控制電路特殊功能使能寄存器,輸出模式使能信號,用于直接訪問SRAM存儲器,并從存儲器讀取SRAM的資料或者將SRAM資料寫入存儲器;
[0115]所述數(shù)據(jù)存取進(jìn)一步包括,在存儲器的讀周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要讀取的地址,然后更新訪問控制寄存器來發(fā)起讀周期,CPU從緩存控制電路讀取數(shù)據(jù);
[0116]在存儲器寫周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要寫入的地址,然后CPU更新訪問控制寄存器來發(fā)起寫周期,最后CPU將數(shù)據(jù)寫入緩存控制電路。
[0117]優(yōu)選地,所述讀寫命令通過存儲器控制單元發(fā)送到存儲器模組,所述存儲器模組為 NAND。
[0118]本發(fā)明優(yōu)選的實(shí)施例采用C8051F004芯片來構(gòu)建用于水質(zhì)監(jiān)測的SoC系統(tǒng)。該芯片是完全集成的混合信號系統(tǒng)級芯片,有I個(gè)12位多通道ADC和I個(gè)可編程增益放大器,并擁有2個(gè)12位DAC、2個(gè)電壓比較器、I個(gè)電壓基準(zhǔn)、I個(gè)具有32KBFlash存儲器并與8051兼容的微控制電路內(nèi)核,還有硬件實(shí)現(xiàn)的I2C/SM總線、UART、SPI串行接口及I個(gè)可編程計(jì)數(shù)器/定時(shí)器陣列PCA,具有2304字節(jié)的RAM,執(zhí)行速度可達(dá)25MIPS。具有片內(nèi)VDD監(jiān)視器、WDT和時(shí)鐘振蕩器的MCU能有效地管理模擬和數(shù)字外設(shè)。根據(jù)水質(zhì)分析的要求,該SoC系統(tǒng)可與相應(yīng)的試劑包配合使用,利用程序中預(yù)設(shè)的標(biāo)準(zhǔn)曲線,可以直接計(jì)算出待測物的濃度值,測量指標(biāo)可包括C0D、鉛、鎘、六價(jià)鉻、氰化物、甲醛等。
[0119]C8051R)04有32KB的可編程Flash程序存儲器,以512字節(jié)為一個(gè)扇區(qū),可以在系統(tǒng)編程,且不需要在片外提供編程電壓。根據(jù)這一特性,在程序存儲器中劃出部分空間作為非易失性數(shù)據(jù)存儲區(qū)用來保存測量數(shù)據(jù),替代外部的EEPROM芯片;同時(shí)在系統(tǒng)的數(shù)據(jù)存儲器中劃出512字節(jié)的作為緩存區(qū)以方便數(shù)據(jù)的隨機(jī)讀寫。在程序中通過簡單的讀寫操作,即可完成測量結(jié)果的存取,簡化了軟硬件設(shè)計(jì)。由于每組測量結(jié)果需占用10字節(jié)的存貯空間,因此IKB左右的Flash存儲空間即可保存約100組測量數(shù)據(jù),完全可以滿足實(shí)際使用的需要。
[0120]以下是利用本發(fā)明的讀寫控制過程對上述片上系統(tǒng)的存儲器進(jìn)行訪問的示例性過程。如果要在上述flash存儲器中的緩存器SRAM0x9000的地址寫2k字節(jié)的數(shù)據(jù)送到頁大小為2k的閃存,則可包括以下步驟:
[0121]步驟1.開啟“mode_en”信號,寫2k字節(jié)到SRAM,偏移量從0x9000到0x9800 ;
[0122]步驟2.發(fā)出定制類型命令,接著控制電路傳送資料到SRAM,偏移量從0x8000到0x9FFF ;
[0123]步驟3.等到存儲器命令完成中斷。
[0124]如果想要從頁大小為2k閃存讀取數(shù)據(jù),而數(shù)據(jù)在SRAM從0x9000到0x9800的地址,則可包括以下步驟:
[0125]步驟1.開啟“mode_en”信號,發(fā)出定制類型命令,控制電路接著從SRAM偏移量0x8000到0x9FFFF接收數(shù)據(jù);[0126]步驟2.等待緩存控制電路數(shù)據(jù)訪問完成中斷;
[0127]步驟3.從SRAM偏移量0x9000到0x9800讀數(shù)據(jù)當(dāng)訪問的時(shí)候,如果只有一個(gè)或兩個(gè)通道使能有效的數(shù)據(jù)會不同。
[0128]綜上所述,本發(fā)明提供的存儲器控制裝置以及操作方法,使得所需要的存儲裝置的體積更小,在讀寫過程中,實(shí)時(shí)讀寫速度更快,可靠性更高。
[0129]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算系統(tǒng)來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計(jì)算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0130]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【權(quán)利要求】
1.一種信息處理方法,用于對存儲器進(jìn)行控制,其特征在于,包括: 從總線接收地址和數(shù)據(jù); 在接收到總線的讀寫命令時(shí),將數(shù)據(jù)進(jìn)行緩存; 對所緩存的數(shù)據(jù)進(jìn)行校正; 基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,以進(jìn)行數(shù)據(jù)存取。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從總線接收地址和數(shù)據(jù)包括: 利用AMBA數(shù)據(jù)接口模塊作為與AMBA總線的接口,從AMBA總線接收地址和數(shù)據(jù), 對地址解碼并且將解碼數(shù)據(jù)寫入控制寄存器與緩存控制電路; 在AMBA總線中對地址進(jìn)行解碼,并且更新和讀取控制寄存器的內(nèi)容; 讀取控制單元的狀態(tài),或者讀出或?qū)懭脒M(jìn)入存儲器模組的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將數(shù)據(jù)進(jìn)行緩存包括,利用緩存控制電路,控制兩個(gè)緩存器SRAM的數(shù)據(jù)訪問,以允許CPU、SRAM和存儲器控制單元之間的數(shù)據(jù)傳輸, 所述緩存控制電路控制兩個(gè)緩存器,進(jìn)一步包括: 通過CPU直接訪問SR AM存儲器; 通過CPU經(jīng)由SRAM存儲器訪問存儲器數(shù)據(jù); 訪問兩個(gè)緩存器的數(shù)據(jù); 通過訪問存儲器控制單元的數(shù)據(jù); 更新誤差校正編碼器和解碼器校正過的數(shù)據(jù); 并且,所述緩存控制電路具有兩個(gè)狀態(tài)機(jī),一個(gè)用于處理緩存控制電路模塊與存儲器控制器模塊之間的接口信號,另一個(gè)用于處理緩存控制電路與AMBA接口模塊之間的接口信號。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對數(shù)據(jù)進(jìn)行校正,包括利用誤差校正編碼器和解碼器進(jìn)行校正,該可誤差校正編碼器和解碼器由存儲器控制單元來編程,通過采用分組預(yù)取譯碼的操作方式,利用三級流水操作,通過軟件配置來改變設(shè)定值; 所述基于命令寄存器的內(nèi)容,發(fā)出讀寫命令到存儲器模組,進(jìn)一步包括: 利用寄存器堆中的存儲器模塊配置寄存器,記錄包括地址階段的周期數(shù),塊大小以及頁大小,如果在操作期間要改變寄存器里面的值,則發(fā)出軟件復(fù)位,然后發(fā)出命令; 利用寄存器堆中的存儲器控制電路與緩存控制電路的中斷寄存器,:檢測設(shè)備狀態(tài)檢查失敗中斷,空白檢查中斷,CRC檢查失敗中斷,數(shù)據(jù)訪問中斷,命令完成中斷。 利用寄存器堆中的緩存控制電路特殊功能使能寄存器,輸出模式使能信號,用于直接訪問SRAM存儲器,并從存儲器讀取SRAM的資料或者將SRAM資料寫入存儲器; 所述數(shù)據(jù)存取進(jìn)一步包括,在存儲器的讀周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要讀取的地址,然后更新訪問控制寄存器來發(fā)起讀周期,CPU從緩存控制電路讀取數(shù)據(jù); 在存儲器寫周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要寫入的地址,然后CPU更新訪問控制寄存器來發(fā)起寫周期,最后CPU將數(shù)據(jù)寫入緩存控制電路。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述讀寫命令通過存儲器控制單元發(fā)送到存儲器模組,所述存儲器模組為NAND。
6.一種信息處理系統(tǒng),包括用于對存儲器進(jìn)行控制的存儲器控制電路,其特征在于,該電路包括: 總線接口模塊,用于從總線接收地址和數(shù)據(jù); 緩存控制電路,用于在接收到總線的讀寫命令時(shí)緩存數(shù)據(jù); 誤差校正編碼器和解碼器,用于對所緩存的數(shù)據(jù)進(jìn)行校正; 存儲器控制單元,用于基于命令寄存器的內(nèi)容發(fā)出讀寫命令到存儲器模組,以進(jìn)行數(shù)據(jù)存取。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述總線接口模塊為AMBA數(shù)據(jù)接口模塊,并進(jìn)一步配置為:作為AMBA總線與存儲器控制單元的接口,從AMBA總線接收地址和數(shù)據(jù),然后對地址解碼并且將解碼數(shù)據(jù)寫入控制寄存器與緩存控制電路;在AMBA總線中對地址進(jìn)行解碼并且更新/讀取控制寄存器的內(nèi)容;讀取控制單元的狀態(tài)或者讀出或?qū)懭脒M(jìn)入存儲器模組的數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述緩存控制電路控制兩個(gè)緩存器SRAM的數(shù)據(jù)訪問,該緩存器進(jìn)一步配置為以下模塊: 用于CPU直接訪問SRAM存儲器的模塊; 用于CPU經(jīng)由SRAM存儲器訪問存儲器數(shù)據(jù)的模塊; 用于訪問兩個(gè)緩存器的數(shù)據(jù)的模塊; 用于訪問存儲器控制單元的數(shù)據(jù)的模塊; 用于更新誤差校正編碼器和解碼器校正過的數(shù)據(jù)的模塊; 所述緩存控制電路與AMBA接口模塊的接口從AMBA數(shù)據(jù)FIFO收發(fā)數(shù)據(jù),與存儲器控制單元的接口使得所述控制單元能從緩存控制電路讀寫數(shù)據(jù),與誤差校正模塊的接口使得能夠更正在存儲器內(nèi)保留數(shù)據(jù)中錯(cuò)誤的比特; 并且,所述緩存控制電路具有兩個(gè)狀態(tài)機(jī),一個(gè)用于處理緩存控制電路模塊與存儲器控制器模塊之間的接口信號,另一個(gè)用于處理緩存控制電路與AMBA接口模塊之間的接口信號。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述誤差校正編碼器和解碼器可由存儲器控制單元來編程,通過采用分組預(yù)取譯碼的操作方式,利用三級流水操作,在電路不變的情形下,通過軟件配置來改變設(shè)定值。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述存儲器控制單元,進(jìn)一步配置為: 對一個(gè)寫周期而言,將寫地址從行地址與列地址寄存器在地址鎖存階段出棧,以及將要寫入的數(shù)據(jù)從緩存控制電路在數(shù)據(jù)傳輸階段出棧;對一個(gè)讀周期而言,發(fā)出一個(gè)讀取的命令到存儲器模組并且接收讀到的數(shù)據(jù),再將數(shù)據(jù)進(jìn)棧到緩存控制電路;該存儲器控制單元根據(jù)時(shí)序寄存器的內(nèi)容來決定訪問存儲器模塊的時(shí)序。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,還包括寄存器堆,所述寄存器堆包括以下寄存器: 第一頁索引與第一列地址寄存器、第二頁索引與第一列地址寄存器、存儲器模塊配置寄存器、存儲器控制電路與緩存控制電路的中斷寄存器、區(qū)塊偏移量寄存器、緩存控制電路特殊功能使能寄存器; 所述存儲器模塊配置寄存器配置為:記錄包括地址階段的周期數(shù),塊大小以及頁大小,如果在操作期間要改變寄存器里面的值,需要?jiǎng)t發(fā)出軟件復(fù)位,然后發(fā)出命令; 所述存儲器控制電路與緩存控制電路的中斷寄存器配置為:檢測設(shè)備狀態(tài)檢查失敗中斷,空白檢查中斷,CRC檢查失敗中斷,數(shù)據(jù)訪問中斷,命令完成中斷。 所述緩存控制電路特殊功能使能寄存器配置為:輸出模式使能信號,用于直接訪問SRAM存儲器,并從存儲器讀取SRAM的資料或者將SRAM資料寫入存儲器。
12.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,在存儲器的讀周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要讀取的地址,然后更新訪問控制寄存器來發(fā)起讀周期,CPU從緩存控制電路讀取數(shù)據(jù); 在存儲器寫周期,CPU發(fā)出一個(gè)寫周期到頁索引寄存器,指定要寫入的地址,然后CPU更新訪問控制寄存器來發(fā)起寫周期,最后CPU將數(shù)據(jù)寫入緩存控制電路。
13.根據(jù)權(quán)利 要求6所述的系統(tǒng),其特征在于,所述存儲器模組為NAND,并且所述存儲器控制電路為閃存控制電路。
【文檔編號】G06F13/16GK103995785SQ201410189154
【公開日】2014年8月20日 申請日期:2014年5月7日 優(yōu)先權(quán)日:2014年5月7日
【發(fā)明者】毛力 申請人:四川九成信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
珲春市| 宁强县| 达拉特旗| 左权县| 高邮市| 从江县| 高安市| 耒阳市| 库尔勒市| 磐安县| 隆昌县| 曲沃县| 江西省| 潜山县| 社会| 台安县| 泾阳县| 大竹县| 高密市| 长岛县| 措勤县| 乌恰县| 香河县| 阿尔山市| 滨海县| 石楼县| 盈江县| 清远市| 双牌县| 巩义市| 武陟县| 孟连| 周至县| 内乡县| 三原县| 苗栗县| 凯里市| 当涂县| 台州市| 称多县| 鹤壁市|