亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于命令描述符的閃存控制方法

文檔序號:6364580閱讀:168來源:國知局
專利名稱:基于命令描述符的閃存控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種閃存控制方法,具體是涉及一種NAND閃存的控制方法。
背景技術(shù)
閃存設(shè)備已為公知,且市面上的閃存設(shè)備通常依據(jù)單獨的存儲單元在單元序列中的互聯(lián)方式不同而區(qū)分為NOR (或非)設(shè)備和NAND (與非)設(shè)備。關(guān)于后者,即NAND設(shè)備 (NAND Flash Device, NFD)由于較之NOR設(shè)備成本低、寫入和擦除速度快,且更適宜數(shù)據(jù)存儲等諸多優(yōu)點而被業(yè)界廣泛采用。然而,由于NAND的管理和控制比較復(fù)雜,關(guān)于NAND閃存標(biāo)準(zhǔn)化組織當(dāng)前并沒有制定統(tǒng)一的接口標(biāo)準(zhǔn),導(dǎo)致市場上NAND閃存種類繁多,這勢必會增加閃存控制器的設(shè)計難度,因此,有必要提供新的閃存控制方法,以屏蔽或者說隱藏不同廠家NAND閃存的差異,降低閃存控制器的設(shè)計難度。中國第CN101477443A發(fā)明專利申請公開在其說明書背景技術(shù)部分對現(xiàn)有NFD的控制方法進(jìn)行了較規(guī)范的論述,并提出了一種控制方法,該控制方法中主機(jī)用于將要進(jìn)行的操作轉(zhuǎn)化為子操作序列,并用微指令集編碼成微指令序列,再將微指令序列輸出到與非閃存控制器中。而與非閃存控制器則包括微指令存儲隊列、編碼和控制模塊、狀態(tài)機(jī)群和數(shù)據(jù)緩存。其中,微指令存儲隊列存儲主機(jī)輸出的微指令序列,解碼和控制模塊依序從微指令存儲隊列中讀取微指令序列并解碼,狀態(tài)機(jī)群根據(jù)解碼和控制模塊的解碼結(jié)果將對應(yīng)的與非閃存控制器接口信號時序發(fā)送給與非閃存器件、并將對應(yīng)的控制信號發(fā)送給數(shù)據(jù)緩存, 數(shù)據(jù)緩存接收狀態(tài)機(jī)群給出的控制信號以及緩存主機(jī)和與非閃存器件之間的交互數(shù)據(jù)。從而,針對不同的閃存器件只需配置不同的微指令序列就可以實現(xiàn),提高了閃存控制的靈活性。然而,上述CN101477443A發(fā)明專利申請公開所記載的方案的支持內(nèi)容仍然需要包含NFD子操作類命令(4條指令)、微指令序列控制(3條指令)和其他類指令(3條指令)。 公知的,傳統(tǒng)的閃存控制方法中主機(jī),如CPU只需下達(dá)功能命令,無需編寫控制流程,使得主機(jī)的負(fù)擔(dān)較??;顯然,基于上述申請公開的方案需要編制操作序列,且所使用指令較多, 實現(xiàn)方法相對比殘復(fù)雜,勢必會較大的增加主機(jī)的負(fù)擔(dān),對應(yīng)的硬件譯碼電路面積也會比較大。本申請及上述的CN101477443A發(fā)明專利申請公開理論上都是該CN101477443A發(fā)明專利申請第0005段所述的方法B的改進(jìn)方案,均需要占用一定的CPU資源,所加以改進(jìn)的主要目的在于降低對CPU資源的占用,盡可能的減小CPU的負(fù)擔(dān)。

發(fā)明內(nèi)容
因此,本發(fā)明的目的在于提供一種基于命令描述符的閃存控制方法,以有效精簡支持指令,控制方法簡單,從而使主機(jī)的負(fù)擔(dān)大大減小,進(jìn)而減小硬件譯碼電路的面積。為了實現(xiàn)本發(fā)明的發(fā)明目的,所采用的技術(shù)方案為
一種基于命令描述符的閃存控制方法,應(yīng)用于與非閃存設(shè)備的控制,所述閃存控制方法包括
主機(jī)根據(jù)用戶所需的與非閃存操作編寫命令描述符的步驟,所述命令描述符由描述有該命令描述符執(zhí)行條件的表頭和其后的操作指令組成,而操作指令依據(jù)具體操作有選擇地包括加在表頭后的用于配置閃存接口的命令指令、描述有與非閃存設(shè)備操作地址的地址指令和描述有與非閃存控制器進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)指令中的至少一個;
當(dāng)檢測到與非閃存設(shè)備外掛,主機(jī)根據(jù)讀取的與非閃存設(shè)備ID進(jìn)行配置,建立連接; 與非閃存控制器下載所述命令描述符;
解析所述命令描述符,獲得所述命令描述符的執(zhí)行條件,進(jìn)而依據(jù)所述執(zhí)行條件依序執(zhí)行表頭后操作指令,并在執(zhí)行條件中的終止條件滿足時轉(zhuǎn)入下一命令描述符的操作或者產(chǎn)生中斷。依據(jù)上述方法,滿足主機(jī)直接下達(dá)功能命令的一般優(yōu)點,同時,由于依據(jù)上述方法的基于命令描述符的閃存控制方法所需要的指令非常精減,每一個命令描述符最多只使用 4條指令,也就是本方法只需使用四條指令,較之已有同類方法之控制方法相對復(fù)雜的缺陷,本方案的實現(xiàn)比較簡單,不僅是主機(jī)的負(fù)擔(dān)大大減小,而且硬件譯碼電路面積也大大減小。顯見的是,采用了相對精簡的指令體系,命令描述符的長度會比較短,不會對主機(jī)造成很大的負(fù)擔(dān),這也是所述領(lǐng)域需要解決的技術(shù)問題。上述基于命令描述符的閃存控制方法,用于與非閃存控制器進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)緩存配置為使用主機(jī)數(shù)據(jù)緩存,或者說使用的是系統(tǒng)緩存,以實現(xiàn)資源共享?,F(xiàn)有的與非閃存控制器的數(shù)據(jù)緩存都集成在片內(nèi),不利于其他功能模塊的調(diào)用,可以說是對緩存資源的很大浪費;本方案使用系統(tǒng)緩存,在閃存使用頻率較低的特點下,不會造成比較大的浪費, 也不會過多的占用系統(tǒng)資源。上述基于命令描述符的閃存控制方法,當(dāng)含有多個操作時,表頭給出對應(yīng)的操作個數(shù)作為終止條件,每一個操作有一個結(jié)束條件,當(dāng)執(zhí)行完一個操作時,核對是否執(zhí)行完所有的操作,若沒有則執(zhí)行下一個操作,直至完成所有操作。操作符的在系統(tǒng)中占用若干字, 如32位系統(tǒng)中,一個字的字長是32位,表頭占用一個字長,整個描述符的字段長度最多4 個字,而每個字所包含的信息足夠完成多個操作,因此,依據(jù)上述方法可以完成多個操作, 且通過表頭設(shè)置實現(xiàn)相應(yīng)命令描述符的順利執(zhí)行。上述基于命令描述符的閃存控制方法,所述命令指令包括與非閃存廠商定制的協(xié)議指令和用戶根據(jù)需要對閃存控制器進(jìn)行預(yù)定操作的用戶指令,協(xié)議指令用于完成閃存接口規(guī)范所規(guī)制的接口操作,用戶指令則用于一些特殊閃存接口操作,如傳輸端口延時,等待一個設(shè)備空閑。上述基于命令描述符的閃存控制方法,所述與非閃存控制器設(shè)有描述符緩存和流程控制模塊,以及仲裁主機(jī)與流程控制模塊對所述描述符緩存控制權(quán)的描述符控制模塊, 其中描述符緩存用于存放主機(jī)編寫的命令描述符,以備流程控制模塊調(diào)用;
流程控制模塊調(diào)用描述符緩存中存放的命令描述符并解析,控制與其相連的功能模塊完成命令描述符的各條指令,實現(xiàn)主機(jī)與通過與非閃存控制器與閃存設(shè)備交互。上述基于命令描述符的閃存控制方法,為了更有利于操作的識別,并在不解析整條指令時就可以預(yù)先進(jìn)行相關(guān)的操作,并在條件成就時,再執(zhí)行指令中操作,可以節(jié)省資源,因此,所述命令指令、地址指令的操作符中均含有標(biāo)識指令類型的標(biāo)志,流程控制模塊在解析出對應(yīng)指令和標(biāo)志后將其一同發(fā)送給用于控制閃存設(shè)備與主機(jī)進(jìn)行數(shù)據(jù)搬運的數(shù)據(jù)通路控制模塊,數(shù)據(jù)通路控制模塊根據(jù)讀取的標(biāo)志所對應(yīng)的指令類型,進(jìn)行匹配對應(yīng)指令的操作。上述基于命令描述符的閃存控制方法,在進(jìn)行匹配對應(yīng)指令的操作時需結(jié)合數(shù)據(jù)通路控制模塊所控制數(shù)據(jù)通路的狀態(tài)進(jìn)行操作,避免與其他操作相沖突。上述基于命令描述符的閃存控制方法,所述數(shù)據(jù)指令的操作碼含有讀寫標(biāo)志位, 流程控制模塊讀取數(shù)據(jù)指令的操作碼時,先判斷讀寫及讀寫所操作的地址空間,如果是讀操作,則發(fā)送讀數(shù)據(jù)標(biāo)志和數(shù)據(jù)長度到數(shù)據(jù)通路控制模塊,數(shù)據(jù)通路控制模塊將讀數(shù)據(jù)標(biāo)志和讀數(shù)據(jù)長度寫入寫緩存,進(jìn)而控制負(fù)責(zé)將數(shù)據(jù)與AHB總線設(shè)備交互的數(shù)據(jù)搬運模塊將所讀數(shù)據(jù)搬運到目標(biāo)AHB總線設(shè)備;
如果是寫操作,流程控制模塊則發(fā)送寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)長度到數(shù)據(jù)通路模塊,數(shù)據(jù)通路模塊將寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)長度寫入寫緩存,進(jìn)而控制復(fù)雜將數(shù)據(jù)與AHB總線設(shè)備交互的數(shù)據(jù)搬運模塊從AHB總線設(shè)備中讀入數(shù)據(jù),再將寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)逐一寫入寫緩存
中。


圖I為依據(jù)本發(fā)明的一種基于命令描述符的閃存控制方法的控制流程。
圖2為一種基于命令描述符的閃存控制方法所依賴的單通道閃存控制器配置結(jié)構(gòu)框圖。
圖3為與非閃存協(xié)議時鐘。
圖4為命令描述符在描述符緩存中的存放結(jié)構(gòu)。
圖5為多通道結(jié)構(gòu)配置的結(jié)構(gòu)框圖。
具體實施方式
參照說明書附圖2,圖中描述了依據(jù)本發(fā)明的基于命令描述符的閃存控制方法所
依賴的一種單通道閃存控制器的硬件結(jié)構(gòu)框圖,支持8 口閃存接口,主機(jī)或者CPU編寫的命令描述符存在系統(tǒng)RAM中。圖中
AHB (Advanced High performance Bus,系統(tǒng)總線)主機(jī)端口 用于閃存控制器通過系統(tǒng)總線向SOC (System on Chip,片上系統(tǒng))芯片系統(tǒng)讀寫數(shù)據(jù)。AHB從機(jī)端口 AHB總線設(shè)備端,掛接與非閃存控制器,用于CPU通過系統(tǒng)總線讀寫閃存控制器??偩€譯碼模塊連接AHB從極端口,將AHB總線請求譯碼,分別將讀寫請求發(fā)送到與其連接的相應(yīng)下位器件,如圖2中的寄存器組、描述符控制模塊和用戶數(shù)據(jù)緩存。其中寄存器組為用于CPU讀寫的控制寄存器,控制閃存控制器的相關(guān)配置。描述符控制模塊則用于仲裁CPU及與該描述符控制模塊連接的流程控制模塊對與該描述符控制模塊相連的描述符緩存的控制權(quán)。描述符緩存用于存放CPU編寫的命令描述符,描述符控制模塊仲裁給CPU對該描述符緩存的控制權(quán)后,CPU可以變形命令描述符,并存放在g描述符緩存中,CPU也可以在系統(tǒng)緩存(如系統(tǒng)Cache)或者RAM中編寫,再下載到上述描述符緩存中,供流程控制模塊提取。用戶數(shù)據(jù)緩存用于存放CPU編寫的用戶信息。地址生成模塊連接于下面的流程控制模塊,用于生成地址指令所需的發(fā)送到閃存設(shè)備的相關(guān)地址。初始化模塊連接于所述流程控制模塊,用于檢索當(dāng)前通路控制器(圖I中的數(shù)據(jù)通路控制模塊)是否外接有效設(shè)備。流程控制模塊在描述符緩存中存有命令描述符時,描述符控制模塊發(fā)送一個信號給該流程控制模塊,表明有命令描述符需要執(zhí)行,而流程控制模塊則解析該命令描述符, 控制所連接的各功能模塊完成命令描述符里的各條指令。進(jìn)而,流程控制模塊連接數(shù)據(jù)通路控制模塊,以接收流程控制模塊控制,進(jìn)行數(shù)據(jù)通路的搬運控制。數(shù)據(jù)搬運模塊通過數(shù)據(jù)通路控制模塊連接到閃存接口,負(fù)責(zé)將數(shù)據(jù)讀入閃存控制器或者通過AHB主機(jī)端口將數(shù)據(jù)寫入SOC系統(tǒng)中。糾錯碼模塊連接所述數(shù)據(jù)通路控制模塊,負(fù)責(zé)數(shù)據(jù)部分的編碼、解碼和糾錯。根據(jù)讀寫控制,所述數(shù)據(jù)通路控制模塊還連接有用于將數(shù)據(jù)進(jìn)行加擾的數(shù)據(jù)加擾模塊和用于將數(shù)據(jù)進(jìn)行解擾的數(shù)據(jù)解擾模塊,并在數(shù)據(jù)加擾模塊與閃存接口間配置數(shù)據(jù)取反模塊和寫緩存,數(shù)據(jù)解擾模塊與閃存接口間配置數(shù)據(jù)取反模塊及寫緩存。其中寫緩存用于存放流程控制模塊向閃存接口發(fā)送的命令請求、地址請求和寫數(shù)據(jù)請求。讀緩存用于存放閃存接口讀入的數(shù)據(jù)。閃存接口 按照閃存物理層時序要求將命令、地址發(fā)送到閃存,以進(jìn)行數(shù)據(jù)的讀依據(jù)上述結(jié)構(gòu)的一個寫頁操作的示例
圖3為與非閃存的協(xié)議要求。首先,有CPU編寫一個命令描述符,寫命令描述符用表I進(jìn)行順明。表I:
寫業(yè)命令描述符地址偏移配置信息描述CMDHEADER0X00000XF5—00—08—Od表頭Speccmd(80)0X00040X41—00—xx—80協(xié)議指令Coladdr(2)0X00080X02—xx—00—00列地址Rowaddr(3)OXOOOcOXOb—00—00—01行地址Wr—main-data(0x2000-0000)0X00100X82—20—00—00數(shù)據(jù)指令Speccmd(10)0X00200X41—00—xx—10協(xié)議指令Usercmd(waitbusy)0X00280X40—00—xx—04用戶指令Usercmd(delay2)0X002c0X40—00—xx—02用戶指令Speccmd(70)0X00300X40—00—xx—70協(xié)議指令Usercmd(readstatus)0X00340X40—00—xx—05協(xié)議指令Usercmd(end)0X00380X40—00—xx—Of用戶指令
表中“描述”僅給出指令類型,不對指令進(jìn)行詳述,下面的方法中會給出相應(yīng)的說明。系統(tǒng)上電后,CPU可以控制初始化模塊檢測閃存控制器是否外掛設(shè)備以及外掛設(shè)備的數(shù)量,并根據(jù)讀取得閃存ID配置寄存器組。
6
進(jìn)而,控制流程為
首先,CPU將編寫好的命令描述符通過AHB從極端口下載到命令描述符緩存;這里CPU 在系統(tǒng)RAM中編寫命令描述符,在描述符控制模塊仲裁給CPU以描述符緩存控制權(quán)時,CPU 將編寫好的命令描述符下載到命令描述符緩存內(nèi),供流程控制模塊調(diào)用。當(dāng)CPU將命令描述符的最后一條指令(用戶指令_結(jié)束,表I中最后一條指令 User_cmd(end))下載完畢后,命令描述符控制模塊向流程控制模塊包括有命令描述符需要執(zhí)行,并仲裁給流程控制模塊以描述符緩存控制權(quán)。然后,流程控制模塊發(fā)現(xiàn)有命令描述符需要執(zhí)行時,到命令描述符控制模塊索取數(shù)據(jù),進(jìn)而將命令描述符的表頭讀出,解析表頭,分析當(dāng)前的操作是塊操作還是扇區(qū)操作以及操作個數(shù),當(dāng)前描述符的長度以及命令結(jié)束后是否需要產(chǎn)生中斷。然后逐一讀取下面的操作碼,直到讀到uSer_Cmd(end)為止,如果當(dāng)前的塊或者扇區(qū)操作個數(shù)等于表頭的操作個數(shù)則說明當(dāng)前命令描述符結(jié)束,否則流程控制模塊將跳回表頭的下一條操作碼,重復(fù)執(zhí)行。進(jìn)而,如果流程控制模塊讀取到命令指令,將命令標(biāo)志和命令(Spec_cmd(80)) 一起發(fā)送到數(shù)據(jù)通路控制模塊,數(shù)據(jù)通路控制模塊見到命令標(biāo)志,將數(shù)據(jù)加擾模塊和數(shù)據(jù)取反模塊無效后,將命令標(biāo)志和命令寫入寫緩存,閃存接口得知寫緩存非空時,讀出命令標(biāo)志和命令,然后按照閃存接口協(xié)議將命令發(fā)出。如果流程控制模塊讀取到地址指令,先從地址生成模塊中得到相應(yīng)的列地址和行地址,然后將地址標(biāo)志和地址一起發(fā)送到數(shù)據(jù)通路控制模塊,數(shù)據(jù)通路控制模塊見到地址標(biāo)志,將數(shù)據(jù)加擾模塊和數(shù)據(jù)取反模塊無效后,將地址標(biāo)志和地址寫入寫緩存,閃存接口得知寫緩存非空時,讀出地址標(biāo)志和地址,然后按照閃存接口協(xié)議將地址發(fā)出。如果流程控制模塊讀取到數(shù)據(jù)指令,首先判斷讀寫及操作的地址空間,如果是讀操作,則發(fā)送讀數(shù)據(jù)標(biāo)志和讀數(shù)據(jù)長度到數(shù)據(jù)通路模塊,數(shù)據(jù)通路模塊會將讀數(shù)據(jù)標(biāo)志和讀數(shù)據(jù)長度寫入寫緩存,并控制數(shù)據(jù)搬運模塊將從閃存讀取的數(shù)據(jù)搬運到S O C系統(tǒng)中; 如果是寫操作,則發(fā)送寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)長度到數(shù)據(jù)通路模塊,數(shù)據(jù)通路模塊會先將寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)長度寫入緩存,然后控制數(shù)據(jù)搬運模塊從S O C系統(tǒng)中將數(shù)據(jù)讀入,再將寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)逐一寫入寫緩存中。結(jié)合上述示例可知,本發(fā)明只需要4條基本指令,就可以完成復(fù)雜的讀、寫操作, 當(dāng)然,依據(jù)協(xié)議指令,可以對相關(guān)指定地址可以進(jìn)行塊、扇區(qū)的操作,指令大大精簡,CPU的負(fù)擔(dān)相對比較小。參見說明書附圖2,每一個與非閃存控制器通道均需要一個用于存放命令描述符的獨立的描述符緩存,如附圖4,命令描述符按照FIFO (First Input First Output,先入先出隊列)的數(shù)據(jù)結(jié)構(gòu)存放入描述符緩存中,方便命令描述符的依序提取。命令描述符則構(gòu)成一個指令隊列,如附圖4,表頭、地址指令、命令指令和數(shù)據(jù)指令依次存放,一個命令描述符最多由五個字組成,表頭既表不一個命令描述符的頭,又描述有命令描述符執(zhí)行的一些條件。下面對命令描述符做詳細(xì)的表述。表頭由4個字節(jié),即32位字段構(gòu)成,形成的描述結(jié)構(gòu)如表2
表2 :位 31; 28定義標(biāo)志描述表頭標(biāo)志27O保留26 25Bs選擇塊或扇區(qū)計數(shù) 00塊和扇區(qū)計數(shù)無效 01塊計數(shù)使能 10扇區(qū)計數(shù)使能 11保留24I中斷使能23 16Bs_oount_h塊/扇區(qū)高位循環(huán)計數(shù)15 BBs_count_l塊/扇區(qū)低位循環(huán)計數(shù)7 OTable length描述符長度
命令操作碼由4個字節(jié)構(gòu)成,形成的描述結(jié)構(gòu)如表3 : 表3 :位定義描述31; 257b0100_000命操作碼標(biāo)志24SUI:協(xié)議指令 O用戶指令23 19Reserved保留18 16Ce_num片選15 BI CWC_wr —count當(dāng)ICWC時寫扇區(qū)計數(shù)(Reserved)(保留)7 OCmd code被發(fā)送到閃存設(shè)備的命令指令
地址操作碼有4個字節(jié)構(gòu)成,形成的描述結(jié)構(gòu)如表4 表4 :
權(quán)利要求
1.一種基于命令描述符的閃存控制方法,應(yīng)用于與非閃存設(shè)備的控制,其特征在于,所述閃存控制方法包括主機(jī)根據(jù)用戶所需的與非閃存操作編寫命令描述符的步驟,所述命令描述符由描述有該命令描述符執(zhí)行條件的表頭和其后的操作指令組成,而操作指令依據(jù)具體操作有選擇地包括加在表頭后的用于配置閃存接口的命令指令、描述有與非閃存設(shè)備操作地址的地址指令和描述有與非閃存控制器進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)指令中的至少一個;當(dāng)檢測到與非閃存設(shè)備外掛,主機(jī)根據(jù)讀取的與非閃存設(shè)備ID進(jìn)行配置,建立連接;與非閃存控制器下載所述命令描述符;解析所述命令描述符,獲得所述命令描述符的執(zhí)行條件,進(jìn)而依據(jù)所述執(zhí)行條件依序執(zhí)行表頭后操作指令,并在執(zhí)行條件中的終止條件滿足時轉(zhuǎn)入下一命令描述符的操作或者產(chǎn)生中斷。
2.根據(jù)權(quán)利要求I所述的基于命令描述符的閃存控制方法,其特征在于,用于與非閃存控制器進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)緩存配置為使用主機(jī)數(shù)據(jù)緩存,以實現(xiàn)資源共享。
3.根據(jù)權(quán)利要求2所述的基于命令描述符的閃存控制方法,其特征在于,當(dāng)含有多個操作時,表頭給出對應(yīng)的操作個數(shù)作為終止條件,每一個操作有一個結(jié)束條件,當(dāng)執(zhí)行完一個操作時,核對是否執(zhí)行完所有的操作,若沒有則執(zhí)行下一個操作,直至完成所有操作。
4.根據(jù)權(quán)利要求2所述的基于命令描述符的閃存控制方法,其特征在于,所述命令指令包括與非閃存廠商定制的協(xié)議指令和用戶根據(jù)需要對閃存控制器進(jìn)行預(yù)定操作的用戶指令。
5.根據(jù)權(quán)利要求I至4任一所述的基于命令描述符的閃存控制方法,其特征在于,所述與非閃存控制器設(shè)有描述符緩存和流程控制模塊,以及仲裁主機(jī)與流程控制模塊對所述描述符緩存控制權(quán)的描述符控制模塊,其中描述符緩存用于存放主機(jī)編寫的命令描述符,以備流程控制模塊調(diào)用;流程控制模塊調(diào)用描述符緩存中存放的命令描述符并解析,控制與其相連的功能模塊完成命令描述符的各條指令,實現(xiàn)主機(jī)與通過與非閃存控制器與閃存設(shè)備交互。
6.根據(jù)權(quán)利要求5所述的基于命令描述符的閃存控制方法,其特征在于,所述命令指令、地址指令的操作符中均含有標(biāo)識指令類型的標(biāo)志,流程控制模塊在解析出對應(yīng)指令和標(biāo)志后將其一同發(fā)送給用于控制閃存設(shè)備與主機(jī)進(jìn)行數(shù)據(jù)搬運的數(shù)據(jù)通路控制模塊,數(shù)據(jù)通路控制模塊根據(jù)讀取的標(biāo)志所對應(yīng)的指令類型,進(jìn)行匹配對應(yīng)指令的操作。
7.根據(jù)權(quán)利要求6所述的基于命令描述符的閃存控制方法,其特征在于,在進(jìn)行匹配對應(yīng)指令的操作時需結(jié)合數(shù)據(jù)通路控制模塊所控制數(shù)據(jù)通路的狀態(tài)進(jìn)行操作。
8.根據(jù)權(quán)利要求5所述的基于命令描述符的閃存控制方法,其特征在于,所述數(shù)據(jù)指令的操作碼含有讀寫標(biāo)志位,流程控制模塊讀取數(shù)據(jù)指令的操作碼時,先判斷讀寫及讀寫所操作的地址空間,如果是讀操作,則發(fā)送讀數(shù)據(jù)標(biāo)志和數(shù)據(jù)長度到數(shù)據(jù)通路控制模塊,數(shù)據(jù)通路控制模塊將讀數(shù)據(jù)標(biāo)志和讀數(shù)據(jù)長度寫入寫緩存,進(jìn)而控制負(fù)責(zé)將數(shù)據(jù)與AHB總線設(shè)備交互的數(shù)據(jù)搬運模塊將所讀數(shù)據(jù)搬運到目標(biāo)AHB總線設(shè)備; 如果是寫操作,流程控制模塊則發(fā)送寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)長度到數(shù)據(jù)通路模塊,數(shù)據(jù)通路模塊將寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)長度寫入寫緩存,進(jìn)而控制復(fù)雜將數(shù)據(jù)與AHB總線設(shè)備交互的數(shù)據(jù)搬運模塊從AHB總線設(shè)備中讀入數(shù)據(jù),再將寫數(shù)據(jù)標(biāo)志和寫數(shù)據(jù)逐一寫入寫緩存中。
全文摘要
本發(fā)明公開了一種基于命令描述符的閃存控制方法,應(yīng)用于與非閃存設(shè)備的控制,所述閃存控制方法包括主機(jī)根據(jù)用戶所需編輯命令描述符,由與非閃存控制器下載所屬命令描述符并解析,進(jìn)而執(zhí)行解析出的指令,本發(fā)明能夠有效精簡支持指令,控制方法簡單,從而使主機(jī)的負(fù)擔(dān)大大減小,進(jìn)而減小硬件譯碼電路的面積。
文檔編號G06F3/06GK102609222SQ201210030838
公開日2012年7月25日 申請日期2012年2月13日 優(yōu)先權(quán)日2012年2月13日
發(fā)明者張洪柳, 李峰, 王運哲, 趙陽, 陸崇心 申請人:山東華芯半導(dǎo)體有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1