两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種支持操作亂序執(zhí)行的與非型快閃存儲控制器的制作方法

文檔序號:6444244閱讀:196來源:國知局
專利名稱:一種支持操作亂序執(zhí)行的與非型快閃存儲控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及與非型快閃(即NAND Flash)存儲芯片顆粒的存儲控制器,尤其指一種支持操作亂序執(zhí)行的存儲控制器。
背景技術(shù)
隨著集成電路工藝的不斷發(fā)展,NAND Flash存儲芯片顆粒的體積每年減小40% 50%,而芯片顆粒容量每年翻一番。與此同時,NAND Flash集成電路工藝的進步,使得芯片顆粒內(nèi)部組織結(jié)構(gòu)從傳統(tǒng)的單體、單基片逐步發(fā)展成為多體、多基片。例如,Micron公司的 MT29H32G08GCAH2存儲芯片顆粒,容量為32( ,內(nèi)部包含四個基片。四個基片之間共用I/O 總線以及五根控制信號線地址鎖存信號(ALE)、命令鎖存信號(CLE)、寫使能信號(WE#)、 讀使能信號(RE#)和寫保護信號(WP),但卻擁有自己獨立的片選信號(CE#)和忙閑信號 (R/B#),利用CE#信號線可以獨立選擇顆粒內(nèi)部的特定基片,利用R/B#信號線可以反映出顆粒內(nèi)部特定基片的當前狀態(tài)。針對NAND Flash存儲芯片顆粒大容量、多體化的發(fā)展趨勢,當前工業(yè)界主流的 NAND Flash存儲控制器并沒有主動適應(yīng)芯片顆粒容量和內(nèi)部結(jié)構(gòu)的變化進行重新設(shè)計, 容易造成廣大嵌入式設(shè)備、高性能I/O存儲外設(shè)較低的數(shù)據(jù)吞吐率。目前工業(yè)界的NAND Flash存儲控制器主要有兩種結(jié)構(gòu)順序存儲控制器和解耦存儲控制器。1.[順序存儲控制器]大多數(shù)NAND Flash存儲控制器都是采用順序結(jié)構(gòu),由主機寄存器、數(shù)據(jù)緩沖區(qū), NAND控制模塊組成,順序存儲控制器把芯片當成一個整體進行操作,它按照訪存操作到達的先后順序來訪問存儲芯片顆粒。該結(jié)構(gòu)硬件邏輯簡單,但發(fā)送給芯片顆粒內(nèi)部不同基片的訪存操作只能在時間上串行執(zhí)行,無法實現(xiàn)顆粒內(nèi)部多個基片上的訪存操作并行,數(shù)據(jù)吞吐率較低。2.[解耦存儲控制器]解耦存儲控制器由解耦器、數(shù)據(jù)緩沖區(qū)、NAND控制模塊組成,特點在于將每個訪存操作的執(zhí)行過程分為兩個階段(如開始階段與結(jié)束階段),允許針對不同基片的兩個訪存操作的執(zhí)行時間部分重疊。如果下一個訪存操作所訪問的基片處于空閑狀態(tài),解耦控制器在完成當前操作開始階段之后立刻啟動下一個操作的開始階段;否則,需要等到下一個訪存操作所訪問的基片狀態(tài)空閑之后才開始啟動下一個操作的開始階段。解耦存儲控制器可以支持不同訪存操作之間的并發(fā)執(zhí)行,但一旦出現(xiàn)相鄰訪存操作之間的數(shù)據(jù)相關(guān),便會阻塞后續(xù)訪存操作的正常執(zhí)行,導(dǎo)致了存儲控制器的數(shù)據(jù)吞吐率仍然較低。綜合上述兩種NAND Flash存儲控制器結(jié)構(gòu),它們數(shù)據(jù)吞吐率有限的根本原因都在于沒有充分開發(fā)NAND Flash芯片顆粒內(nèi)部多個基片之間的并行性。在順序結(jié)構(gòu)中,某一時刻只能有單個基片處于忙狀態(tài),最多只能發(fā)揮單基片存儲芯片顆粒的訪存性能;在解耦結(jié)構(gòu)中,雖然多個基片可以在時間上重疊工作,但允許進入開始階段的訪存操作數(shù)量仍然有限。如何提高顆粒內(nèi)部基片工作的并行度,有效提高訪存數(shù)據(jù)吞吐率是本領(lǐng)域技術(shù)人員極為關(guān)注的技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是針對現(xiàn)有NAND Flash存儲控制器訪問NAND Flash芯片顆粒時數(shù)據(jù)傳輸率較低,提出一種支持操作亂序執(zhí)行的高吞吐率NAND Flash存儲控制器結(jié)構(gòu),提高芯片內(nèi)部基片工作的并行度,有效提高訪存數(shù)據(jù)吞吐率。本發(fā)明放在處理器CPU和低層閃存控制模塊之間,低層閃存控制模塊與芯片相連,芯片為NAND Flash芯片,內(nèi)部包含M個基片,M為2的正整數(shù)次冪,一般為4。本發(fā)明由預(yù)處理模塊、保留站模塊、動態(tài)調(diào)度模塊和后處理模塊組成。與本發(fā)明相連的低層閃存控制模塊由背景技術(shù)中提到的M個順序存儲控制器并聯(lián)而成,分別控制芯片中的M個基片。預(yù)處理模塊與處理器、保留站模塊、動態(tài)調(diào)度模塊相連,內(nèi)含第一數(shù)據(jù)隊列組,主要功能是識別處理器發(fā)送的訪存操作,訪存操作包括讀訪存操作和寫訪存操作。預(yù)處理模塊從處理器接收控制指令和地址指令,將控制指令、地址指令發(fā)送給保留站模塊,從保留站模塊接收表項編號。控制指令包含一個命令域、一個標識域和一個地址域,命令域?qū)挾葹镃, C為正整數(shù),一般為3,指明控制指令的類型,包括讀指令和寫指令;標識域?qū)挾葹門,T為正整數(shù),一般為16,指明當前指令的編號;地址域?qū)挾葹?2-C-T,一般為13,指明指令操作的高位物理地址。地址指令包含一個地址域,寬度為32,指明指令操作的低位物理地址。預(yù)處理模塊從處理器接收寫數(shù)據(jù)指令,緩存寫數(shù)據(jù)指令中的數(shù)據(jù)到第一數(shù)據(jù)隊列組。寫數(shù)據(jù)指令包含一個數(shù)據(jù)域,寬度為32,指明要寫入基片的數(shù)據(jù)。預(yù)處理模塊從動態(tài)調(diào)度模塊接收隊列編號與讀隊列信號,讀取第一數(shù)據(jù)隊列組中的寫數(shù)據(jù),發(fā)送寫數(shù)據(jù)到動態(tài)調(diào)度模塊。保留站模塊與預(yù)處理模塊、動態(tài)調(diào)度模塊相連,內(nèi)有保留站表,保留站表由M個表項組成,每個表項由八個域構(gòu)成表項編號、控制指令、地址指令、標識、基片編號、命令相關(guān)性、基片狀態(tài)、有效性。表項編號域?qū)挾葹镮og2M,從0開始編號??刂浦噶钣?qū)挾葹镃,指明控制指令的類型。地址指令域?qū)挾葹?4-C-T,指明控制指令訪存的物理地址。標識域?qū)挾葹門,指明控制指令的編號。基片編號域?qū)挾葹镮og2M,指明控制指令所操作的基片。命令相關(guān)性域?qū)挾葹镸,指明該表項中的控制指令與其他表項中的控制指令之間的相關(guān)性,若命令相關(guān)性域的第i位有效,i為正整數(shù),M,表示當前表項中的控制指令與第i表項中的控制指令之間存在命令相關(guān),若無效,表示不存在命令相關(guān)?;瑺顟B(tài)域?qū)挾葹?,指明當前控制指令所操作的目標基片狀態(tài)。有效性域?qū)挾葹?,指明當前表項的內(nèi)容是否有效。保留站模塊接收預(yù)處理模塊發(fā)送的控制指令,將控制指令的命令域、標識域和地址域分離,命令域信息寫入保留站表的控制指令域,標識域信息寫入保留站表的標識域,地址域信息寫入保留站表中地址指令域的高32-C-T位,發(fā)送表項編號給預(yù)處理模塊。地址域的高Iog2M位表示控制指令操作的目標基片編號,保留站模塊將地址域的高Iog2M位寫入保留站表的基片編號域。保留站模塊接收預(yù)處理模塊發(fā)送的地址指令,寫入保留站表中與命令域同一表項的地址指令域的低32位,接收動態(tài)調(diào)度模塊發(fā)送的基片狀態(tài),寫入保留站表的基片狀態(tài)域。如果當前寫入保留站表項的基片編號與另一(設(shè)為第Ui不等于當寫表項編號))個表項的基片編號相等,則表示當前控制指令與第i個表項的控制指令具有相關(guān)性,將第i個表項的表項編號寫入當前表項的命令相關(guān)性域的第i位,否則,命令相關(guān)性域為零。當保留站表項中的基片狀態(tài)空閑且命令相關(guān)性為零時,保留站模塊向動態(tài)調(diào)度模塊發(fā)送該保留站表項中的控制指令、地址指令、標識、基片編號、表項編號。動態(tài)調(diào)度模塊與預(yù)處理模塊、保留站模塊、后處理模塊、低層閃存控制模塊相連。 動態(tài)調(diào)度模塊接收并緩存保留站模塊發(fā)送的控制指令、地址指令、標識、基片編號和表項編號,產(chǎn)生基片狀態(tài)信號并發(fā)送給保留站模塊,并把控制指令轉(zhuǎn)換成NAND Flash芯片所識別的時序,根據(jù)控制指令的類型產(chǎn)生訪存信號,并將訪存信號發(fā)送給低層閃存控制模塊。如果控制指令是寫指令,動態(tài)調(diào)度模塊發(fā)送讀隊列信號給預(yù)處理模塊,將表項編號作為隊列編號發(fā)送給預(yù)處理模塊,讀取第一數(shù)據(jù)隊列組中的寫數(shù)據(jù)發(fā)送給低層閃存控制模塊。如果控制指令是讀指令,動態(tài)調(diào)度模塊從低層閃存控制模塊讀取從基片讀出的數(shù)據(jù)發(fā)送給后處理模塊,同時發(fā)送寫隊列信號和標識給后處理模塊。后處理模塊內(nèi)含第二數(shù)據(jù)隊列組,與處理器、動態(tài)調(diào)度模塊相連,主要功能是緩存從基片讀出的數(shù)據(jù),將讀出的數(shù)據(jù)按照讀訪存操作發(fā)出的順序輸出到處理器。后處理模塊從動態(tài)調(diào)度模塊接收M路寫隊列信號和讀數(shù)據(jù),將讀數(shù)據(jù)寫入第二數(shù)據(jù)隊列組,從動態(tài)調(diào)度模塊接收M路標識,從處理器接收一路標識,將從處理器接收的標識與從動態(tài)調(diào)度模塊接收的M路標識一一進行比較,將相等的標識對應(yīng)的第二數(shù)據(jù)隊列組中的數(shù)據(jù)輸出給處理
ο預(yù)處理模塊由地址識別單元、第一多路選擇器、第二多路選擇器、第三多路選擇器、第一數(shù)據(jù)隊列組和第一邏輯或門組成。地址識別單元對外與處理器、動態(tài)調(diào)度模塊相連,對內(nèi)與第一多路選擇器相連,第一多路選擇器對外與保留站模塊、對內(nèi)與地址識別單元、第一數(shù)據(jù)隊列組相連,第二多路選擇器對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第一數(shù)據(jù)隊列組和第一邏輯或門相連,第三多路選擇器對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第一數(shù)據(jù)隊列組和第一邏輯或門相連,第一數(shù)據(jù)隊列組與第一多路選擇器、第二多路選擇器、第三多路選擇器相連,第一邏輯或門對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第二多路選擇器、第三多路選擇器相連。地址識別單元通過數(shù)據(jù)線從處理器接收控制指令、地址指令、寫數(shù)據(jù)指令,通過地址線從處理器接收地址,根據(jù)地址的值識別各個指令,如果是控制指令,則將控制指令發(fā)送給命令寄存器,如果是地址指令,則將地址指令發(fā)送給地址寄存器,如果是寫數(shù)據(jù)指令,則將寫數(shù)據(jù)指令中的數(shù)據(jù)發(fā)送給第一多路選擇器。第一邏輯或門接收動態(tài)調(diào)度模塊發(fā)送的M路隊列編號,如果某一路隊列編號沒有值,則該路隊列編號為零,每次只有一路隊列編號值不為零,對這些編號進行邏輯或運算, 取出不為零的一路隊列編號,發(fā)送給第二多路選擇器和第三多路選擇器。第一多路選擇器是1 :M多路選擇器,它接收地址識別單元發(fā)送的寫數(shù)據(jù),根據(jù)從保留站模塊接收的表項編號將寫數(shù)據(jù)發(fā)送給第一數(shù)據(jù)隊列組中編號與表項編號相同的數(shù)據(jù)隊列。第二多路選擇器是M:1多路選擇器,它從動態(tài)調(diào)度模塊接收M個讀隊列信號,從第一邏輯或門接收隊列編號,根據(jù)隊列編號的值i將讀隊列信號i(i = 1,2,……M)輸出到第一數(shù)據(jù)隊列組中的數(shù)據(jù)隊列i。 第三多路選擇器是M: 1多路選擇器,它接收第一數(shù)據(jù)隊列組發(fā)送的M路數(shù)據(jù)和第一邏輯或門發(fā)送的隊列編號,根據(jù)隊列編號的值i將第i路寫數(shù)據(jù)輸出到動態(tài)調(diào)度模塊。
第一數(shù)據(jù)隊列組由M個相同的數(shù)據(jù)隊列組成,每個數(shù)據(jù)隊列大小等于芯片內(nèi)頁面的大小。第一數(shù)據(jù)隊列組一方面將第一多路選擇器發(fā)送的寫數(shù)據(jù)寫入第一多路選擇器選中的數(shù)據(jù)隊列,一方面根據(jù)第二多路選擇器發(fā)送的讀隊列信號將數(shù)據(jù)隊列中的寫數(shù)據(jù)發(fā)送給第三多路選擇器。保留站模塊由第四多路選擇器、第五多路選擇器、表項編號寄存器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、控制邏輯單元和保留站表組成。第四多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與有效性監(jiān)聽單元、控制邏輯單元相連,第五多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與表項編號寄存器、控制邏輯單元相連, 表項編號寄存器對外與預(yù)處理模塊相連,對內(nèi)與有效性監(jiān)聽單元、第五多路選擇器相連,有效性監(jiān)聽單元與第四多路選擇器、表項編號寄存器、控制邏輯單元相連,相關(guān)性判斷單元與控制邏輯單元相連,基片狀態(tài)設(shè)置單元對外與動態(tài)調(diào)度模塊相連,對內(nèi)與控制邏輯單元相連,輸出判斷單元對外與動態(tài)調(diào)度模塊相連,對內(nèi)與控制邏輯單元相連,控制邏輯單元與第四多路選擇器、第五多路選擇器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、保留站表相連,保留站表與控制邏輯單元相連。有效性監(jiān)聽單元接收控制邏輯單元發(fā)送的各個表項的有效性域值,根據(jù)有效性域的值產(chǎn)生保留站表中第一個空表項的表項編號,把第一個空表項的表項編號發(fā)送給第四多路選擇器??刂浦噶顚懭氡A粽颈淼谋眄椇?,表項的有效性域發(fā)生由0到1的變化,有效性監(jiān)聽單元通過邊沿檢測,檢測到該變化,將變化的表項編號輸出到表項編號寄存器。表項編號寄存器是寬度為Iog2M位的寄存器,它存儲有效性監(jiān)聽單元發(fā)來的控制指令寫入的表項編號,將表項編號發(fā)送給第五多路選擇器和預(yù)處理模塊的第一多路選擇器。第四多路選擇器接收預(yù)處理模塊發(fā)送的控制指令,根據(jù)有效性監(jiān)聽單元發(fā)來的保留站表第一個空表項的表項編號將控制指令發(fā)送給控制邏輯單元。第五多路選擇器接收預(yù)處理模塊發(fā)送的地址指令,根據(jù)表項編號寄存器中的值將地址指令發(fā)送給控制邏輯單元??刂七壿媶卧獜牡谒亩嗦愤x擇器接收控制指令,將控制指令的命令域、標識域和地址域分離,命令域信息寫入保留站表中第一個空表項的控制指令域,標識域信息寫入表項的標識域,地址域信息寫入表項中地址指令域的高32-C-T位。地址域的高Iog2M位表示控制指令操作的目標基片編號,控制邏輯單元將地址域的高Iog2M位寫入表項的基片編號域;從第五多路選擇器接收地址指令,寫入與控制指令同一個表項的地址指令域的低32 位??刂七壿媶卧獙⒒幪柊l(fā)送到相關(guān)性判斷單元和基片狀態(tài)設(shè)置單元,從相關(guān)性判斷單元接收相關(guān)性信息,寫入與控制指令同一個表項的命令相關(guān)性域,從基片狀態(tài)設(shè)置單元接收基片狀態(tài)信息,寫入與控制指令同一個表項的基片狀態(tài)域。當控制邏輯單元將基片狀態(tài)寫入保留站表后,發(fā)送該保留站表項的內(nèi)容到輸出判斷單元,發(fā)送完畢后等待從輸出判斷單元接收表項清零信號,以將保留站表中信息已輸出的表項清零。相關(guān)性判斷單元產(chǎn)生各保留站表項之間的命令相關(guān)信息,將相關(guān)性信息發(fā)送給控制邏輯單元。相關(guān)性判斷單元接收控制邏輯單元發(fā)送的各個表項的基片編號,判斷最近寫入表項j(j為正整數(shù),1 < j ^ Μ)的基片編號與其他表項的基片編號是否相等,如果表項 k(k為正整數(shù),1彡k彡M)的基片編號與表項j的基片編號相等,則表項j中的控制指令與表項k中的控制指令具有相關(guān)性,將表項編號k發(fā)送給控制邏輯單元,由控制邏輯單元在表項j的相關(guān)性域?qū)懭氡眄椌幪杒?;瑺顟B(tài)設(shè)置單元由M個寄存器組成,從動態(tài)調(diào)度模塊接收M個基片的基片狀態(tài)信號,緩存在M個寄存器中,從控制邏輯單元接收保留站中M個表項的基片編號,將各個基片編號分別與1、……M比較,如果相等,則將對應(yīng)基片編號的基片狀態(tài)信號發(fā)送給控制邏輯單元,由控制邏輯單元寫入保留站表的基片狀態(tài)域。輸出判斷單元是一個比較器,它接收控制邏輯單元發(fā)送的某一保留站表項的信息,判斷表項的相關(guān)性域和基片狀態(tài)域的值是否為零,判斷表項的有效性域的值是否為一。 如果保留站表項中的相關(guān)性域和基片狀態(tài)域為零,且有效性域為一,輸出判斷單元發(fā)送該保留站表項中的控制指令、地址指令、標識、基片編號、表項編號信息給動態(tài)調(diào)度模塊。信息輸出后,輸出判斷單元發(fā)送表項清零信號給控制邏輯單元。動態(tài)調(diào)度模塊由第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器、M個狀態(tài)機、仲裁器和第二邏輯或門組成,狀態(tài)機編號為狀態(tài)機1,……狀態(tài)機k,……狀態(tài)機M,第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器都是1:M多路選擇器,第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器對外與保留站模塊相連,對內(nèi)與所有的狀態(tài)機相連,第十多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與所有的狀態(tài)機相連,每個狀態(tài)機對外與預(yù)處理模塊、保留站模塊、后處理模塊相連,對內(nèi)與第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器、仲裁器、第二邏輯或門相連,仲裁器與所有狀態(tài)機相連,第二邏輯或門對外與低層閃存控制模塊相連,對內(nèi)與所有狀態(tài)機相連。第六多路選擇器接收保留站模塊發(fā)送的控制指令和基片編號,根據(jù)基片編號的值,將控制指令發(fā)送給編號與基片編號相等的狀態(tài)機。第七多路選擇器接收保留站模塊發(fā)送的地址指令和基片編號,將地址指令發(fā)送給編號與基片編號相等的狀態(tài)機。第八多路選擇器接收保留站模塊發(fā)送的標識和基片編號,將標識發(fā)送給編號與基片編號相等的狀態(tài)機。第九多路選擇器接收保留站模塊發(fā)送的表項編號和基片編號,將表項編號發(fā)送給編號與基片編號相等的狀態(tài)機。第十多路選擇器接收預(yù)處理模塊發(fā)送的寫數(shù)據(jù)和保留站模塊發(fā)送的基片編號,將寫數(shù)據(jù)發(fā)送給編號與基片編號相等的狀態(tài)機。狀態(tài)機k(k = 1,2……,M)由7個狀態(tài)組成,“000”狀態(tài)表示狀態(tài)機空閑,“001”
狀態(tài)表示等待仲裁器的應(yīng)答信號,“010”狀態(tài)表示分析控制指令,“011”狀態(tài)表示等待數(shù)據(jù)從基片讀出并寫入低層閃存控制模塊,“100”狀態(tài)表示等待數(shù)據(jù)從低層閃存控制模塊讀出并寫入后處理模塊,“ 101”狀態(tài)表示等待數(shù)據(jù)從預(yù)處理模塊寫入低層閃存控制模塊,“ 110” 狀態(tài)表示等待數(shù)據(jù)從低層閃存控制模塊寫入基片。上電復(fù)位時,狀態(tài)機處于“000”狀態(tài), 從第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器接收保留站表的信息后,轉(zhuǎn)移到“001”狀態(tài)。狀態(tài)機處于“001”狀態(tài)時,向仲裁器發(fā)送請求信號,等待仲裁器分配訪存信號線的使用,狀態(tài)機接收到仲裁器應(yīng)答信號后轉(zhuǎn)移到“010”狀態(tài)。狀態(tài)機處于 “010”狀態(tài)時,向保留站模塊發(fā)送基片忙狀態(tài)信號,分析控制指令,生成訪存信號,將訪存信號輸出到第二邏輯或門。分析控制指令后,如果是讀指令,則轉(zhuǎn)移到“011”狀態(tài),如果是寫指令,則轉(zhuǎn)移到“101”狀態(tài)。狀態(tài)機處于“011”狀態(tài)時,狀態(tài)機等待低層閃存控制模塊將數(shù)據(jù)從基片讀出并緩存在低層閃存控制模塊,當數(shù)據(jù)讀出完畢后,轉(zhuǎn)移到“100”狀態(tài)。狀態(tài)機處于“100”狀態(tài)時,向保留站模塊發(fā)送基片空閑狀態(tài)信號,向后處理模塊發(fā)送寫隊列信號和從保留站模塊接收的標識,等待數(shù)據(jù)從低層閃存控制模塊讀出并寫入后處理模塊,當數(shù)據(jù)從低層閃存控制模塊讀出完畢后,狀態(tài)機轉(zhuǎn)移到“000”狀態(tài)。狀態(tài)機處于“101”狀態(tài)時, 等待數(shù)據(jù)從預(yù)處理模塊寫入低層閃存控制模塊,寫入完畢后,轉(zhuǎn)移到“110”狀態(tài)。狀態(tài)機處于“110”狀態(tài)時,等待數(shù)據(jù)從低層閃存控制模塊寫入基片,寫入完畢后轉(zhuǎn)移到“000”狀態(tài)。仲裁器接收所有狀態(tài)機發(fā)送的請求信號,初始情況下,從第一個狀態(tài)機(即狀態(tài)機1)的請求信號開始檢測,如果請求信號有效,則發(fā)送應(yīng)答信號給狀態(tài)機1,否則,檢測下一個狀態(tài)機的請求信號,直到找到有效的請求信號。響應(yīng)某一個狀態(tài)機的請求信號后,記錄狀態(tài)機編號,此后再檢測請求信號時,根據(jù)記錄的上次使用訪存信號線的狀態(tài)機編號,從下一個狀態(tài)機的請求信號開始檢測。如果某一個狀態(tài)機的請求信號一直為高,表示狀態(tài)機一直占用訪存信號線,此時不響應(yīng)其他的請求信號,直到請求信號為低。第二邏輯或門接收M個狀態(tài)機發(fā)送的M路訪存信號,如果某一路訪存信號沒有值, 則該路訪存信號為零,由于每次仲裁器只給一個狀態(tài)機分配訪存信號線的使用,所以只有一路訪存信號有效,對這些訪存信號進行邏輯或運算,得到其中有效的一路訪存信號,發(fā)送到低層閃存控制模塊。后處理模塊由比較器、第二數(shù)據(jù)隊列組、第十一多路選擇器組成。比較器對外與動態(tài)調(diào)度模塊、處理器相連,對內(nèi)與第二數(shù)據(jù)隊列組、第十一多路選擇器相連,第二數(shù)據(jù)隊列組對外與動態(tài)調(diào)度模塊相連,對內(nèi)與比較器、第十一多路選擇器相連,第十一多路選擇器對外與處理器相連,對內(nèi)與比較器、第二數(shù)據(jù)隊列組相連。第二數(shù)據(jù)隊列組的參數(shù)與組成和第一數(shù)據(jù)隊列組相同,它接收動態(tài)調(diào)度模塊發(fā)送的M路寫隊列信號和讀數(shù)據(jù),將讀數(shù)據(jù)寫入寫隊列信號有效的數(shù)據(jù)隊列中,接收比較器發(fā)送的M路讀隊列信號,將讀隊列信號有效的數(shù)據(jù)隊列中的數(shù)據(jù)讀出發(fā)送到第十一多路選擇
ο比較器從動態(tài)調(diào)度模塊接收M路標識,從處理器接收一路標識,對從處理器接收的標識與從動態(tài)調(diào)度模塊接收的標識一一比較,如果第i路標識(i = 1,2,……M)與從處理器接收的標識相等,則發(fā)送讀隊列信號i到第二數(shù)據(jù)隊列組中的數(shù)據(jù)隊列i,發(fā)送值為i 的隊列編號到第十一多路選擇器。第十一多路選擇器是M:1多路選擇器,它接收第二數(shù)據(jù)隊列組發(fā)送的M路讀數(shù)據(jù), 接收比較器發(fā)送的值為i的隊列編號,將第i路讀數(shù)據(jù)發(fā)送到處理器。采用本發(fā)明從芯片讀數(shù)據(jù)的過程是預(yù)處理模塊接收處理器發(fā)送的讀訪存操作, 即控制指令和地址指令,并發(fā)送到保留站模塊。保留站模塊接收預(yù)處理模塊發(fā)送的控制指令和地址指令,寫入保留站表中第一個空表項,然后產(chǎn)生標識、命令相關(guān)性、基片編號信息,并寫入保留站表;保留站模塊接收動態(tài)調(diào)度模塊發(fā)送的基片狀態(tài),寫入表項的基片狀態(tài)域。如果表項中的信息滿足輸出條件,則將表項中的控制指令、地址指令、標識、表項編號、 基片編號發(fā)送到動態(tài)調(diào)度模塊。動態(tài)調(diào)度模塊接收到保留站模塊發(fā)送的信息,根據(jù)基片編號的值選擇一個狀態(tài)機接收信息,狀態(tài)機向仲裁器申請使用訪存信號線,得到應(yīng)答后,狀態(tài)機產(chǎn)生訪存信號,發(fā)送到低層閃存控制模塊,低層閃存控制模塊讀出基片中的數(shù)據(jù),發(fā)送給動態(tài)調(diào)度模塊,動態(tài)調(diào)度模塊將讀數(shù)據(jù)和標識發(fā)送給后處理模塊。后處理模塊接收到讀數(shù)據(jù)后,緩存在第二數(shù)據(jù)隊列組,然后接收處理器發(fā)送的標識,將此標識和從動態(tài)調(diào)度模塊接收的標識一一比較,讀出相等的標識對應(yīng)的第二數(shù)據(jù)隊列組中的數(shù)據(jù)。采用本發(fā)明對芯片進行寫數(shù)據(jù)的過程是預(yù)處理模塊接收處理器發(fā)送的寫訪存操作,即控制指令和地址指令,并發(fā)送到保留站模塊,接收處理器發(fā)送的寫數(shù)據(jù)指令,將寫數(shù)據(jù)緩存在第一數(shù)據(jù)隊列組。保留站模塊接收預(yù)處理模塊發(fā)送的控制指令和地址指令,寫入保留站表中第一個空表項,然后產(chǎn)生標識、命令相關(guān)性、基片編號信息,并寫入保留站表;保留站模塊接收動態(tài)調(diào)度模塊發(fā)送的基片狀態(tài),寫入表項的基片狀態(tài)域。如果表項中的信息滿足輸出條件,則將表項中的控制指令、地址指令、標識、表項編號、基片編號發(fā)送到動態(tài)調(diào)度模塊。動態(tài)調(diào)度模塊接收到保留站模塊發(fā)送的信息,根據(jù)基片編號的值選擇一個狀態(tài)機接收信息,狀態(tài)機向仲裁器申請使用訪存信號線,得到應(yīng)答后,狀態(tài)機產(chǎn)生訪存信號,發(fā)送到低層閃存控制模塊;狀態(tài)機從預(yù)處理模塊的第一數(shù)據(jù)隊列組讀出寫數(shù)據(jù),發(fā)送到低層閃存控制模塊,由低層閃存控制模塊控制將數(shù)據(jù)寫入到基片。采用本發(fā)明可以達到以下技術(shù)效果1.由于在同一時間,針對不同基片的訪存操作可以并行執(zhí)行,如果訪存操作的目標基片處于忙狀態(tài),緩存該操作,后續(xù)到達的針對不同基片的訪存操作可以繼續(xù)執(zhí)行,這樣就使得不同基片可以并行工作,有效提高訪存數(shù)據(jù)吞吐率。2.本發(fā)明由預(yù)處理模塊負責識別指令和緩存寫入基片的數(shù)據(jù),保留站模塊負責緩存指令,如果指令操作的目標基片處于忙狀態(tài),則緩存該指令,直到目標基片變成空閑狀態(tài),在此期間,后續(xù)的操作如果針對其他的基片,且該基片空閑,則該后續(xù)操作能正常執(zhí)行, 從而實現(xiàn)了操作的“亂序”執(zhí)行,進一步提高了訪存數(shù)據(jù)吞吐率。


圖1是本發(fā)明的總體結(jié)構(gòu)框圖。圖2是本發(fā)明中預(yù)處理模塊結(jié)構(gòu)示意圖。圖3是本發(fā)明中保留站模塊結(jié)構(gòu)示意圖。圖4是本發(fā)明中保留站內(nèi)保留站表示意圖。圖5是本發(fā)明中動態(tài)調(diào)度模塊結(jié)構(gòu)示意圖。圖6是本發(fā)明中動態(tài)調(diào)度模塊內(nèi)狀態(tài)機示意圖。圖7是本發(fā)明中后處理模塊結(jié)構(gòu)示意圖。
具體實施例方式圖1是本發(fā)明的總體結(jié)構(gòu)框圖。本發(fā)明放在處理器CPU和低層閃存控制模塊之間,低層閃存控制模塊與芯片相連,芯片為NAND Flash芯片,內(nèi)部包含M個基片,M為2的正整數(shù)次冪,一般為4。本發(fā)明由預(yù)處理模塊、保留站模塊、動態(tài)調(diào)度模塊和后處理模塊組成。與本發(fā)明相連的低層閃存控制模塊由背景技術(shù)中提到的M個順序存儲控制器并聯(lián)而成,分別控制芯片中的M個基片。預(yù)處理模塊與處理器、保留站模塊、動態(tài)調(diào)度模塊相連,內(nèi)含第一數(shù)據(jù)隊列組,預(yù)處理模塊從處理器接收控制指令和地址指令,將控制指令、地址指令發(fā)送給保留站模塊,從保留站模塊接收表項編號。預(yù)處理模塊從處理器接收寫數(shù)據(jù)指令,緩存寫數(shù)據(jù)指令中的數(shù)據(jù)到第一數(shù)據(jù)隊列組。預(yù)處理模塊從動態(tài)調(diào)度模塊接收隊列編號與讀隊列信號,讀取第一數(shù)據(jù)隊列組中的寫數(shù)據(jù),發(fā)送寫數(shù)據(jù)到動態(tài)調(diào)度模塊。保留站模塊與預(yù)處理模塊、動態(tài)調(diào)度模塊相連,內(nèi)有保留站表。保留站模塊接收預(yù)處理模塊發(fā)送的控制指令,將控制指令的命令域、標識域和地址域分離,命令域信息寫入保
13留站表的控制指令域,標識域信息寫入保留站表的標識域,地址域信息寫入保留站表中地址指令域的高32-C-T位,發(fā)送表項編號給預(yù)處理模塊。保留站模塊將地址域的高Iog2M位寫入保留站表的基片編號域。保留站模塊接收預(yù)處理模塊發(fā)送的地址指令,寫入保留站表中與命令域同一表項的地址指令域的低32位,接收動態(tài)調(diào)度模塊發(fā)送的基片狀態(tài),寫入保留站表的基片狀態(tài)域。如果當前寫入保留站表項的基片編號與另一(設(shè)為第Ui不等于當寫表項編號))個表項的基片編號相等,則表示當前控制指令與第i個表項的控制指令具有相關(guān)性,將第i個表項的表項編號寫入當前表項的命令相關(guān)性域的第i位,否則,命令相關(guān)性域為零。當保留站表項中的基片狀態(tài)空閑且命令相關(guān)性為零時,保留站模塊向動態(tài)調(diào)度模塊發(fā)送該保留站表項中的控制指令、地址指令、標識、基片編號、表項編號。動態(tài)調(diào)度模塊與預(yù)處理模塊、保留站模塊、后處理模塊、低層閃存控制模塊相連。 動態(tài)調(diào)度模塊接收并緩存保留站模塊發(fā)送的控制指令、地址指令、標識、基片編號和表項編號,產(chǎn)生基片狀態(tài)信號并發(fā)送給保留站模塊,并把控制指令轉(zhuǎn)換成NAND Flash芯片所識別的時序,根據(jù)控制指令的類型產(chǎn)生訪存信號,并將訪存信號發(fā)送給低層閃存控制模塊。如果控制指令是寫指令,動態(tài)調(diào)度模塊發(fā)送讀隊列信號給預(yù)處理模塊,將表項編號作為隊列編號發(fā)送給預(yù)處理模塊,讀取第一數(shù)據(jù)隊列組中的寫數(shù)據(jù)發(fā)送給低層閃存控制模塊。如果控制指令是讀指令,動態(tài)調(diào)度模塊從低層閃存控制模塊讀取從基片讀出的數(shù)據(jù)發(fā)送給后處理模塊,同時發(fā)送寫隊列信號和標識給后處理模塊。后處理模塊內(nèi)含第二數(shù)據(jù)隊列組,與處理器、動態(tài)調(diào)度模塊相連,主要功能是緩存從基片讀出的數(shù)據(jù),將讀出的數(shù)據(jù)按照讀訪存操作發(fā)出的順序輸出到處理器。后處理模塊從動態(tài)調(diào)度模塊接收M路寫隊列信號和讀數(shù)據(jù),將讀數(shù)據(jù)寫入第二數(shù)據(jù)隊列組,從動態(tài)調(diào)度模塊接收M路標識,從處理器接收一路標識,將從處理器接收的標識與從動態(tài)調(diào)度模塊接收的M路標識一一進行比較,將相等的標識對應(yīng)的第二數(shù)據(jù)隊列組中的數(shù)據(jù)輸出給處理
ο圖2是本發(fā)明中預(yù)處理模塊結(jié)構(gòu)示意圖。預(yù)處理模塊由地址識別單元、第一多路選擇器、第二多路選擇器、第三多路選擇器、第一數(shù)據(jù)隊列組和第一邏輯或門組成。地址識別單元對外與處理器、動態(tài)調(diào)度模塊相連,對內(nèi)與第一多路選擇器相連,第一多路選擇器對外與保留站模塊、對內(nèi)與地址識別單元、第一數(shù)據(jù)隊列組相連,第二多路選擇器對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第一數(shù)據(jù)隊列組和第一邏輯或門相連,第三多路選擇器對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第一數(shù)據(jù)隊列組和第一邏輯或門相連,第一數(shù)據(jù)隊列組與第一多路選擇器、第二多路選擇器、第三多路選擇器相連,第一邏輯或門對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第二多路選擇器、第三多路選擇器相連。地址識別單元通過數(shù)據(jù)線從處理器接收控制指令、地址指令、寫數(shù)據(jù)指令,通過地址線從處理器接收地址,根據(jù)地址的值識別各個指令,如果是控制指令,則將控制指令發(fā)送給命令寄存器,如果是地址指令,則將地址指令發(fā)送給地址寄存器,如果是寫數(shù)據(jù)指令,則將寫數(shù)據(jù)指令中的數(shù)據(jù)發(fā)送給第一多路選擇器。第一邏輯或門接收動態(tài)調(diào)度模塊發(fā)送的M路隊列編號,如果某一路隊列編號沒有值,則該路隊列編號為零,每次只有一路隊列編號值不為零,對這些編號進行邏輯或運算, 取出不為零的一路隊列編號,發(fā)送給第二多路選擇器和第三多路選擇器。
第一多路選擇器是1 :M多路選擇器,它接收地址識別單元發(fā)送的寫數(shù)據(jù),根據(jù)從保留站模塊接收的表項編號將寫數(shù)據(jù)發(fā)送給第一數(shù)據(jù)隊列組中編號與表項編號相同的數(shù)據(jù)隊列。第二多路選擇器是M:1多路選擇器,它從動態(tài)調(diào)度模塊接收M個讀隊列信號,從第一邏輯或門接收隊列編號,根據(jù)隊列編號的值i將讀隊列信號i(i = 1,2,……M)輸出到第一數(shù)據(jù)隊列組中的數(shù)據(jù)隊列i。第三多路選擇器是M: 1多路選擇器,它接收第一數(shù)據(jù)隊列組發(fā)送的M路數(shù)據(jù)和第一邏輯或門發(fā)送的隊列編號,根據(jù)隊列編號的值i將第i路寫數(shù)據(jù)輸出到動態(tài)調(diào)度模塊。第一數(shù)據(jù)隊列組由M個相同的數(shù)據(jù)隊列組成,每個數(shù)據(jù)隊列大小等于芯片內(nèi)頁面的大小。第一數(shù)據(jù)隊列組一方面將第一多路選擇器發(fā)送的寫數(shù)據(jù)寫入第一多路選擇器選中的數(shù)據(jù)隊列,一方面根據(jù)第二多路選擇器發(fā)送的讀隊列信號將數(shù)據(jù)隊列中的寫數(shù)據(jù)發(fā)送給第三多路選擇器。圖3是本發(fā)明中保留站模塊結(jié)構(gòu)示意圖。保留站模塊由第四多路選擇器、第五多路選擇器、表項編號寄存器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、控制邏輯單元和保留站表組成。第四多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與有效性監(jiān)聽單元、控制邏輯單元相連,第五多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與表項編號寄存器、控制邏輯單元相連,表項編號寄存器對外與預(yù)處理模塊相連,對內(nèi)與有效性監(jiān)聽單元、第五多路選擇器相連,有效性監(jiān)聽單元與第四多路選擇器、表項編號寄存器、控制邏輯單元相連,相關(guān)性判斷單元與控制邏輯單元相連,基片狀態(tài)設(shè)置單元對外與動態(tài)調(diào)度模塊相連,對內(nèi)與控制邏輯單元相連,輸出判斷單元對外與動態(tài)調(diào)度模塊相連,對內(nèi)與控制邏輯單元相連,控制邏輯單元與第四多路選擇器、第五多路選擇器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、保留站表相連,保留站表與控制邏輯單元相連。有效性監(jiān)聽單元接收控制邏輯單元發(fā)送的各個表項的有效性域值,根據(jù)有效性域的值產(chǎn)生保留站表中第一個空表項的表項編號,把第一個空表項的表項編號發(fā)送給第四多路選擇器??刂浦噶顚懭氡A粽颈淼谋眄椇?,表項的有效性域發(fā)生由0到1的變化,有效性監(jiān)聽單元通過邊沿檢測,檢測到該變化,將變化的表項編號輸出到表項編號寄存器。表項編號寄存器是寬度為Iog2M位的寄存器,它存儲有效性監(jiān)聽單元發(fā)來的控制指令寫入的表項編號,將表項編號發(fā)送給第五多路選擇器和預(yù)處理模塊的第一多路選擇器。第四多路選擇器接收預(yù)處理模塊發(fā)送的控制指令,根據(jù)有效性監(jiān)聽單元發(fā)來的保留站表第一個空表項的表項編號將控制指令發(fā)送給控制邏輯單元。第五多路選擇器接收預(yù)處理模塊發(fā)送的地址指令,根據(jù)表項編號寄存器中的值將地址指令發(fā)送給控制邏輯單元??刂七壿媶卧獜牡谒亩嗦愤x擇器接收控制指令,將控制指令的命令域、標識域和地址域分離,命令域信息寫入保留站表中第一個空表項的控制指令域,標識域信息寫入表項的標識域,地址域信息寫入表項中地址指令域的高32-C-T位。地址域的高Iog2M位表示控制指令操作的目標基片編號,控制邏輯單元將地址域的高Iog2M位寫入表項的基片編號域;從第五多路選擇器接收地址指令,寫入與控制指令同一個表項的地址指令域的低32 位。控制邏輯單元將基片編號發(fā)送到相關(guān)性判斷單元和基片狀態(tài)設(shè)置單元,從相關(guān)性判斷單元接收相關(guān)性信息,寫入與控制指令同一個表項的命令相關(guān)性域,從基片狀態(tài)設(shè)置單元
1接收基片狀態(tài)信息,寫入與控制指令同一個表項的基片狀態(tài)域。當控制邏輯單元將基片狀態(tài)寫入保留站表后,發(fā)送該保留站表項的內(nèi)容到輸出判斷單元,發(fā)送完畢后等待從輸出判斷單元接收表項清零信號,以將保留站表中信息已輸出的表項清零。相關(guān)性判斷單元產(chǎn)生各保留站表項之間的命令相關(guān)信息,將相關(guān)性信息發(fā)送給控制邏輯單元。相關(guān)性判斷單元接收控制邏輯單元發(fā)送的各個表項的基片編號,判斷最近寫入表項j(j為正整數(shù),1 < j ^ Μ)的基片編號與其他表項的基片編號是否相等,如果表項 k(k為正整數(shù),1彡k彡M)的基片編號與表項j的基片編號相等,則表項j中的控制指令與表項k中的控制指令具有相關(guān)性,將表項編號k發(fā)送給控制邏輯單元,由控制邏輯單元在表項j的相關(guān)性域?qū)懭氡眄椌幪杒?;瑺顟B(tài)設(shè)置單元由M個寄存器組成,從動態(tài)調(diào)度模塊接收M個基片的基片狀態(tài)信號,緩存在M個寄存器中,從控制邏輯單元接收保留站中M個表項的基片編號,將各個基片編號分別與1、……M比較,如果相等,則將對應(yīng)基片編號的基片狀態(tài)信號發(fā)送給控制邏輯單元,由控制邏輯單元寫入保留站表的基片狀態(tài)域。輸出判斷單元是一個比較器,它接收控制邏輯單元發(fā)送的某一保留站表項的信息,判斷表項的相關(guān)性域和基片狀態(tài)域的值是否為零,判斷表項的有效性域的值是否為一。 如果保留站表項中的相關(guān)性域和基片狀態(tài)域為零,且有效性域為一,輸出判斷單元發(fā)送該保留站表項中的控制指令、地址指令、標識、基片編號、表項編號信息給動態(tài)調(diào)度模塊。信息輸出后,輸出判斷單元發(fā)送表項清零信號給控制邏輯單元。圖4是本發(fā)明中保留站內(nèi)保留站表示意圖。保留站表由M個表項組成,每個表項由八個域構(gòu)成表項編號、控制指令、地址指令、標識、基片編號、命令相關(guān)性、基片狀態(tài)、有效性。表項編號域?qū)挾葹镮og2M,從0開始編號??刂浦噶钣?qū)挾葹镃,指明控制指令的類型。地址指令域?qū)挾葹?4-C-T,指明控制指令訪存的物理地址。標識域?qū)挾葹門,指明控制指令的編號?;幪栍?qū)挾葹镮og2M,指明控制指令所操作的基片。命令相關(guān)性域?qū)挾葹镸,指明該表項中的控制指令與其他表項中的控制指令之間的相關(guān)性,若命令相關(guān)性域的第i位有效,i為正整數(shù),M,表示當前表項中的控制指令與第i表項中的控制指令之間存在命令相關(guān),若無效,表示不存在命令相關(guān)。 基片狀態(tài)域?qū)挾葹?,指明當前控制指令所操作的目標基片狀態(tài)。有效性域?qū)挾葹?,指明當前表項的內(nèi)容是否有效。圖5是本發(fā)明中動態(tài)調(diào)度模塊結(jié)構(gòu)示意圖。動態(tài)調(diào)度模塊由第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器、M個狀態(tài)機、仲裁器和第二邏輯或門組成,狀態(tài)機編號為狀態(tài)機 1,……狀態(tài)機k,……狀態(tài)機M,第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器都是1:M多路選擇器,第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器對外與保留站模塊相連,對內(nèi)與所有的狀態(tài)機相連,第十多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與所有的狀態(tài)機相連,每個狀態(tài)機對外與預(yù)處理模塊、保留站模塊、后處理模塊相連,對內(nèi)與第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器、仲裁器、第二邏輯或門相連,仲裁器與所有狀態(tài)機相連,第二邏輯或門對外與低層閃存控制模塊相連,對內(nèi)與所有狀態(tài)機相連。第六多路選擇器接收保留站模塊發(fā)送的控制指令和基片編號,根據(jù)基片編號的值,將控制指令發(fā)送給編號與基片編號相等的狀態(tài)機。第七多路選擇器接收保留站模塊發(fā)送的地址指令和基片編號,將地址指令發(fā)送給編號與基片編號相等的狀態(tài)機。第八多路選擇器接收保留站模塊發(fā)送的標識和基片編號,將標識發(fā)送給編號與基片編號相等的狀態(tài)機。第九多路選擇器接收保留站模塊發(fā)送的表項編號和基片編號,將表項編號發(fā)送給編號與基片編號相等的狀態(tài)機。第十多路選擇器接收預(yù)處理模塊發(fā)送的寫數(shù)據(jù)和保留站模塊發(fā)送的基片編號,將寫數(shù)據(jù)發(fā)送給編號與基片編號相等的狀態(tài)機。仲裁器接收所有狀態(tài)機發(fā)送的請求信號,初始情況下,從第一個狀態(tài)機(即狀態(tài)機1)的請求信號開始檢測,如果請求信號有效,則發(fā)送應(yīng)答信號給狀態(tài)機1,否則,檢測下一個狀態(tài)機的請求信號,直到找到有效的請求信號。響應(yīng)某一個狀態(tài)機的請求信號后,記錄狀態(tài)機編號,此后再檢測請求信號時,根據(jù)記錄的上次使用訪存信號線的狀態(tài)機編號,從下一個狀態(tài)機的請求信號開始檢測。如果某一個狀態(tài)機的請求信號一直為高,表示狀態(tài)機一直占用訪存信號線,此時不響應(yīng)其他的請求信號,直到請求信號為低。第二邏輯或門接收M個狀態(tài)機發(fā)送的M路訪存信號,如果某一路訪存信號沒有值, 則該路訪存信號為零,由于每次仲裁器只給一個狀態(tài)機分配訪存信號線的使用,所以只有一路訪存信號有效,對這些訪存信號進行邏輯或運算,得到其中有效的一路訪存信號,發(fā)送到低層閃存控制模塊。圖6是本發(fā)明中動態(tài)調(diào)度模塊內(nèi)狀態(tài)機示意圖。狀態(tài)機k(k = 1,2……,M)均由7個狀態(tài)組成,“000”狀態(tài)表示狀態(tài)機空閑,“001” 狀態(tài)表示等待仲裁器的應(yīng)答信號,“010”狀態(tài)表示分析控制指令,“011”狀態(tài)表示等待數(shù)據(jù)從基片讀出并寫入低層閃存控制模塊,“100”狀態(tài)表示等待數(shù)據(jù)從低層閃存控制模塊讀出并寫入后處理模塊,“ 101”狀態(tài)表示等待數(shù)據(jù)從預(yù)處理模塊寫入低層閃存控制模塊,“ 110” 狀態(tài)表示等待數(shù)據(jù)從低層閃存控制模塊寫入基片。上電復(fù)位時,狀態(tài)機處于“000”狀態(tài),從第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器接收保留站表的信息后,轉(zhuǎn)移到“001”狀態(tài)。狀態(tài)機處于“001”狀態(tài)時,向仲裁器發(fā)送請求信號,等待仲裁器分配訪存信號線的使用,狀態(tài)機接收到仲裁器應(yīng)答信號后轉(zhuǎn)移到“010”狀態(tài)。狀態(tài)機處于 “010”狀態(tài)時,向保留站模塊發(fā)送基片忙狀態(tài)信號,分析控制指令,生成訪存信號,將訪存信號輸出到第二邏輯或門。分析控制指令后,如果是讀指令,則轉(zhuǎn)移到“011”狀態(tài),如果是寫指令,則轉(zhuǎn)移到“101”狀態(tài)。狀態(tài)機處于“011”狀態(tài)時,狀態(tài)機等待低層閃存控制模塊將數(shù)據(jù)從基片讀出并緩存在低層閃存控制模塊,當數(shù)據(jù)讀出完畢后,轉(zhuǎn)移到“100”狀態(tài)。狀態(tài)機處于“100”狀態(tài)時,向保留站模塊發(fā)送基片空閑狀態(tài)信號,向后處理模塊發(fā)送寫隊列信號和從保留站模塊接收的標識,等待數(shù)據(jù)從低層閃存控制模塊讀出并寫入后處理模塊,當數(shù)據(jù)從低層閃存控制模塊讀出完畢后,狀態(tài)機轉(zhuǎn)移到“000”狀態(tài)。狀態(tài)機處于“101”狀態(tài)時,等待數(shù)據(jù)從預(yù)處理模塊寫入低層閃存控制模塊,寫入完畢后,轉(zhuǎn)移到“110”狀態(tài)。狀態(tài)機處于 “ 110”狀態(tài)時,等待數(shù)據(jù)從低層閃存控制模塊寫入基片,寫入完畢后轉(zhuǎn)移到“000”狀態(tài)。圖7是本發(fā)明中后處理模塊結(jié)構(gòu)示意圖。后處理模塊由比較器、第二數(shù)據(jù)隊列組、第十一多路選擇器組成。比較器對外與動態(tài)調(diào)度模塊、處理器相連,對內(nèi)與第二數(shù)據(jù)隊列組、第十一多路選擇器相連,第二數(shù)據(jù)隊列組對外與動態(tài)調(diào)度模塊相連,對內(nèi)與比較器、第十一多路選擇器相連,第十一多路選擇器對外與處理器相連,對內(nèi)與比較器、第二數(shù)據(jù)隊列組相連。
第二數(shù)據(jù)隊列組的參數(shù)與組成和第一數(shù)據(jù)隊列組相同,它接收動態(tài)調(diào)度模塊發(fā)送的M路寫隊列信號和讀數(shù)據(jù),將讀數(shù)據(jù)寫入寫隊列信號有效的數(shù)據(jù)隊列中,接收比較器發(fā)送的M路讀隊列信號,將讀隊列信號有效的數(shù)據(jù)隊列中的數(shù)據(jù)讀出發(fā)送到第十一多路選擇
ο比較器從動態(tài)調(diào)度模塊接收M路標識,從處理器接收一路標識,對從處理器接收的標識與從動態(tài)調(diào)度模塊接收的標識一一比較,如果第i路標識(i = 1,2,……M)與從處理器接收的標識相等,則發(fā)送讀隊列信號i到第二數(shù)據(jù)隊列組中的數(shù)據(jù)隊列i,發(fā)送值為i 的隊列編號到第十一多路選擇器。第十一多路選擇器是M:1多路選擇器,它接收第二數(shù)據(jù)隊列組發(fā)送的M路讀數(shù)據(jù), 接收比較器發(fā)送的值為i的隊列編號,將第i路讀數(shù)據(jù)發(fā)送到處理器。
權(quán)利要求
1. 一種支持操作亂序執(zhí)行的與非型快閃存儲控制器,放在處理器和低層閃存控制模塊之間,低層閃存控制模塊與芯片相連,芯片為與非型快閃芯片,內(nèi)部包含M個基片,M為2的正整數(shù)次冪,其特征在于支持操作亂序執(zhí)行的與非型快閃存儲控制器由預(yù)處理模塊、保留站模塊、動態(tài)調(diào)度模塊和后處理模塊組成,所述低層閃存控制模塊由M個順序存儲控制器并聯(lián)而成,分別控制芯片中的一個基片預(yù)處理模塊與處理器、保留站模塊、動態(tài)調(diào)度模塊相連,內(nèi)含第一數(shù)據(jù)隊列組,預(yù)處理模塊從處理器接收控制指令和地址指令,將控制指令、地址指令發(fā)送給保留站模塊,從保留站模塊接收表項編號;控制指令包含一個命令域、一個標識域和一個地址域,命令域?qū)挾葹?C,C為正整數(shù),指明控制指令的類型,包括讀指令和寫指令;標識域?qū)挾葹門,T為正整數(shù),指明當前指令的編號;地址域?qū)挾葹?2-C-T,指明指令操作的高位物理地址;地址指令包含一個地址域,指明指令操作的低位物理地址;預(yù)處理模塊從處理器接收寫數(shù)據(jù)指令,緩存寫數(shù)據(jù)指令中的數(shù)據(jù)到第一數(shù)據(jù)隊列組;寫數(shù)據(jù)指令包含一個數(shù)據(jù)域,指明要寫入基片的數(shù)據(jù);預(yù)處理模塊從動態(tài)調(diào)度模塊接收隊列編號與讀隊列信號,讀取第一數(shù)據(jù)隊列組中的寫數(shù)據(jù),發(fā)送寫數(shù)據(jù)到動態(tài)調(diào)度模塊;保留站模塊與預(yù)處理模塊、動態(tài)調(diào)度模塊相連,內(nèi)有保留站表,保留站表由M個表項組成,每個表項由八個域構(gòu)成表項編號、控制指令、地址指令、標識、基片編號、命令相關(guān)性、 基片狀態(tài)、有效性;表項編號域從0開始編號;控制指令域指明控制指令的類型;地址指令域指明控制指令訪存的物理地址;標識域指明控制指令的編號;基片編號域指明控制指令所操作的基片;命令相關(guān)性域指明該表項中的控制指令與其他表項中的控制指令之間的相關(guān)性,若命令相關(guān)性域的第i位有效,i為正整數(shù),M,表示當前表項中的控制指令與第i表項中的控制指令之間存在命令相關(guān),若無效,表示不存在命令相關(guān);基片狀態(tài)域指明當前控制指令所操作的目標基片狀態(tài);有效性域指明當前表項的內(nèi)容是否有效;保留站模塊接收預(yù)處理模塊發(fā)送的控制指令,將控制指令的命令域、標識域和地址域分離,命令域信息寫入保留站表的控制指令域,標識域信息寫入保留站表的標識域,地址域信息寫入保留站表中地址指令域的高32-C-T位,發(fā)送表項編號給預(yù)處理模塊;保留站模塊將地址域的高Iog2M位寫入保留站表的基片編號域;保留站模塊接收預(yù)處理模塊發(fā)送的地址指令,寫入保留站表中與命令域同一表項的地址指令域的低32位,接收動態(tài)調(diào)度模塊發(fā)送的基片狀態(tài),寫入保留站表的基片狀態(tài)域;如果當前寫入保留站表項的基片編號與第i 個表項的基片編號相等,則表示當前控制指令與第i個表項的控制指令具有相關(guān)性,將第i 個表項的表項編號寫入當前表項的命令相關(guān)性域的第i位,否則,命令相關(guān)性域為零,i不等于當前寫表項編號;當保留站表項中的基片狀態(tài)空閑且命令相關(guān)性為零時,保留站模塊向動態(tài)調(diào)度模塊發(fā)送該保留站表項中的控制指令、地址指令、標識、基片編號、表項編號;動態(tài)調(diào)度模塊與預(yù)處理模塊、保留站模塊、后處理模塊、低層閃存控制模塊相連;動態(tài)調(diào)度模塊接收并緩存保留站模塊發(fā)送的控制指令、地址指令、標識、基片編號和表項編號, 產(chǎn)生基片狀態(tài)信號并發(fā)送給保留站模塊,并把控制指令轉(zhuǎn)換成NAND Flash芯片所識別的時序,根據(jù)控制指令的類型產(chǎn)生訪存信號,并將訪存信號發(fā)送給低層閃存控制模塊;如果控制指令是寫指令,動態(tài)調(diào)度模塊發(fā)送讀隊列信號給預(yù)處理模塊,將表項編號作為隊列編號發(fā)送給預(yù)處理模塊,讀取第一數(shù)據(jù)隊列組中的寫數(shù)據(jù)發(fā)送給低層閃存控制模塊;如果控制指令是讀指令,動態(tài)調(diào)度模塊從低層閃存控制模塊讀取從基片讀出的數(shù)據(jù)發(fā)送給后處理模塊,同時發(fā)送寫隊列信號和標識給后處理模塊;后處理模塊內(nèi)含第二數(shù)據(jù)隊列組,與處理器、動態(tài)調(diào)度模塊相連,后處理模塊從動態(tài)調(diào)度模塊接收M路寫隊列信號和讀數(shù)據(jù),將讀數(shù)據(jù)寫入第二數(shù)據(jù)隊列組,從動態(tài)調(diào)度模塊接收M路標識,從處理器接收一路標識,將從處理器接收的標識與從動態(tài)調(diào)度模塊接收的M路標識一一進行比較,將相等的標識對應(yīng)的第二數(shù)據(jù)隊列組中的數(shù)據(jù)輸出給處理器。
2.如權(quán)利要求1所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述控制指令的命令域?qū)挾菴為3,標識域?qū)挾萒為16,地址域?qū)挾葹?3 ;地址指令的地址域?qū)挾葹?2 ;寫數(shù)據(jù)指令的數(shù)據(jù)域?qū)挾葹?2。
3.如權(quán)利要求1所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于預(yù)處理模塊由地址識別單元、第一多路選擇器、第二多路選擇器、第三多路選擇器、第一數(shù)據(jù)隊列組和第一邏輯或門組成;地址識別單元對外與處理器、動態(tài)調(diào)度模塊相連,對內(nèi)與第一多路選擇器相連,第一多路選擇器對外與保留站模塊、對內(nèi)與地址識別單元、第一數(shù)據(jù)隊列組相連,第二多路選擇器對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第一數(shù)據(jù)隊列組和第一邏輯或門相連,第三多路選擇器對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第一數(shù)據(jù)隊列組和第一邏輯或門相連,第一數(shù)據(jù)隊列組與第一多路選擇器、第二多路選擇器、第三多路選擇器相連,第一邏輯或門對外與動態(tài)調(diào)度模塊相連,對內(nèi)與第二多路選擇器、第三多路選擇器相連;地址識別單元通過數(shù)據(jù)線從處理器接收控制指令、地址指令、寫數(shù)據(jù)指令,通過地址線從處理器接收地址,根據(jù)地址的值識別各個指令,如果是控制指令,則將控制指令發(fā)送給命令寄存器,如果是地址指令,則將地址指令發(fā)送給地址寄存器,如果是寫數(shù)據(jù)指令,則將寫數(shù)據(jù)指令中的數(shù)據(jù)發(fā)送給第一多路選擇器;第一邏輯或門接收動態(tài)調(diào)度模塊發(fā)送的M路隊列編號,如果某一路隊列編號沒有值, 則該路隊列編號為零,每次只有一路隊列編號值不為零,對這些編號進行邏輯或運算,取出不為零的一路隊列編號,發(fā)送給第二多路選擇器和第三多路選擇器;第一多路選擇器是1:M多路選擇器,它接收地址識別單元發(fā)送的寫數(shù)據(jù),根據(jù)從保留站模塊接收的表項編號將寫數(shù)據(jù)發(fā)送給第一數(shù)據(jù)隊列組中編號與表項編號相同的數(shù)據(jù)隊列;第二多路選擇器是M:1多路選擇器,它從動態(tài)調(diào)度模塊接收M個讀隊列信號,從第一邏輯或門接收隊列編號,根據(jù)隊列編號的值i將讀隊列信號i輸出到第一數(shù)據(jù)隊列組中的數(shù)據(jù)隊列 i,i = 1,2,......M;第三多路選擇器是M: 1多路選擇器,它接收第一數(shù)據(jù)隊列組發(fā)送的M路數(shù)據(jù)和第一邏輯或門發(fā)送的隊列編號,根據(jù)隊列編號的值i將第i路寫數(shù)據(jù)輸出到動態(tài)調(diào)度模塊。第一數(shù)據(jù)隊列組由M個相同的數(shù)據(jù)隊列組成,第一數(shù)據(jù)隊列組一方面將第一多路選擇器發(fā)送的寫數(shù)據(jù)寫入第一多路選擇器選中的數(shù)據(jù)隊列,一方面根據(jù)第二多路選擇器發(fā)送的讀隊列信號將數(shù)據(jù)隊列中的寫數(shù)據(jù)發(fā)送給第三多路選擇器。
4.如權(quán)利要求1所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述保留站模塊由第四多路選擇器、第五多路選擇器、表項編號寄存器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、控制邏輯單元和保留站表組成;第四多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與有效性監(jiān)聽單元、控制邏輯單元相連,第五多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與表項編號寄存器、控制邏輯單元相連,表項編號寄存器對外與預(yù)處理模塊相連,對內(nèi)與有效性監(jiān)聽單元、第五多路選擇器相連,有效性監(jiān)聽單元與第四多路選擇器、表項編號寄存器、控制邏輯單元相連,相關(guān)性判斷單元與控制邏輯單元相連,基片狀態(tài)設(shè)置單元對外與動態(tài)調(diào)度模塊相連,對內(nèi)與控制邏輯單元相連,輸出判斷單元對外與動態(tài)調(diào)度模塊相連,對內(nèi)與控制邏輯單元相連,控制邏輯單元與第四多路選擇器、第五多路選擇器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、保留站表相連,保留站表與控制邏輯單元相連;有效性監(jiān)聽單元接收控制邏輯單元發(fā)送的各個表項的有效性域值,根據(jù)有效性域的值產(chǎn)生保留站表中第一個空表項的表項編號,把第一個空表項的表項編號發(fā)送給第四多路選擇器;控制指令寫入保留站表的表項后,表項的有效性域發(fā)生由0到1的變化,有效性監(jiān)聽單元通過邊沿檢測,檢測到該變化,將變化的表項編號輸出到表項編號寄存器;表項編號寄存器存儲有效性監(jiān)聽單元發(fā)來的控制指令寫入的表項編號,將表項編號發(fā)送給第五多路選擇器和預(yù)處理模塊的第一多路選擇器;第四多路選擇器接收預(yù)處理模塊發(fā)送的控制指令,根據(jù)有效性監(jiān)聽單元發(fā)來的保留站表第一個空表項的表項編號將控制指令發(fā)送給控制邏輯單元;第五多路選擇器接收預(yù)處理模塊發(fā)送的地址指令,根據(jù)表項編號寄存器中的值將地址指令發(fā)送給控制邏輯單元;控制邏輯單元從第四多路選擇器接收控制指令,將控制指令的命令域、標識域和地址域分離,命令域信息寫入保留站表中第一個空表項的控制指令域,標識域信息寫入表項的標識域,地址域信息寫入表項中地址指令域的高32-C-T位,將地址域的高Iog2M位寫入表項的基片編號域;從第五多路選擇器接收地址指令,寫入與控制指令同一個表項的地址指令域的低32位;控制邏輯單元將基片編號發(fā)送到相關(guān)性判斷單元和基片狀態(tài)設(shè)置單元,從相關(guān)性判斷單元接收相關(guān)性信息,寫入與控制指令同一個表項的命令相關(guān)性域,從基片狀態(tài)設(shè)置單元接收基片狀態(tài)信息,寫入與控制指令同一個表項的基片狀態(tài)域;當控制邏輯單元將基片狀態(tài)寫入保留站表后,發(fā)送該保留站表項的內(nèi)容到輸出判斷單元,發(fā)送完畢后等待從輸出判斷單元接收表項清零信號,以將保留站表中信息已輸出的表項清零;相關(guān)性判斷單元產(chǎn)生各保留站表項之間的命令相關(guān)信息,將相關(guān)性信息發(fā)送給控制邏輯單元;相關(guān)性判斷單元接收控制邏輯單元發(fā)送的各個表項的基片編號,判斷最近寫入表項j的基片編號與其他表項的基片編號是否相等,如果表項k的基片編號與表項j的基片編號相等,則表項j中的控制指令與表項k中的控制指令具有相關(guān)性,將表項編號k 發(fā)送給控制邏輯單元,由控制邏輯單元在表項j的相關(guān)性域?qū)懭氡眄椌幪杒,j為正整數(shù), 1彡j彡M,k為正整數(shù),1彡k彡M ;基片狀態(tài)設(shè)置單元由M個寄存器組成,從動態(tài)調(diào)度模塊接收M個基片的基片狀態(tài)信號, 緩存在M個寄存器中,從控制邏輯單元接收保留站中M個表項的基片編號,將各個基片編號分別與1、……M比較,如果相等,則將對應(yīng)基片編號的基片狀態(tài)信號發(fā)送給控制邏輯單元, 由控制邏輯單元寫入保留站表的基片狀態(tài)域;輸出判斷單元是一個比較器,它接收控制邏輯單元發(fā)送的某一保留站表項的信息,判斷表項的相關(guān)性域和基片狀態(tài)域的值是否為零,判斷表項的有效性域的值是否為一;如果保留站表項中的相關(guān)性域和基片狀態(tài)域為零,且有效性域為一,輸出判斷單元發(fā)送該保留站表項中的控制指令、地址指令、標識、基片編號、表項編號信息給動態(tài)調(diào)度模塊;信息輸出后,輸出判斷單元發(fā)送表項清零信號給控制邏輯單元。
5.如權(quán)利要求1所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述動態(tài)調(diào)度模塊由第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器、M個狀態(tài)機、仲裁器和第二邏輯或門組成,第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器都是1:M多路選擇器,第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器對外與保留站模塊相連,對內(nèi)與所有的狀態(tài)機相連,第十多路選擇器對外與預(yù)處理模塊相連,對內(nèi)與所有的狀態(tài)機相連,每個狀態(tài)機對外與預(yù)處理模塊、保留站模塊、后處理模塊相連,對內(nèi)與第六多路選擇器、第七多路選擇器、第八多路選擇器、第九多路選擇器、第十多路選擇器、仲裁器、第二邏輯或門相連,仲裁器與所有狀態(tài)機相連,第二邏輯或門對外與低層閃存控制模塊相連,對內(nèi)與所有狀態(tài)機相連;第六多路選擇器接收保留站模塊發(fā)送的控制指令和基片編號,根據(jù)基片編號的值,將控制指令發(fā)送給編號與基片編號相等的狀態(tài)機;第七多路選擇器接收保留站模塊發(fā)送的地址指令和基片編號,將地址指令發(fā)送給編號與基片編號相等的狀態(tài)機;第八多路選擇器接收保留站模塊發(fā)送的標識和基片編號,將標識發(fā)送給編號與基片編號相等的狀態(tài)機;第九多路選擇器接收保留站模塊發(fā)送的表項編號和基片編號,將表項編號發(fā)送給編號與基片編號相等的狀態(tài)機;第十多路選擇器接收預(yù)處理模塊發(fā)送的寫數(shù)據(jù)和保留站模塊發(fā)送的基片編號,將寫數(shù)據(jù)發(fā)送給編號與基片編號相等的狀態(tài)機;仲裁器接收所有狀態(tài)機發(fā)送的請求信號,初始情況下,從第一個狀態(tài)機的請求信號開始檢測,如果請求信號有效,則發(fā)送應(yīng)答信號,否則,檢測下一個狀態(tài)機的請求信號,直至檢測到有效的請求信號;響應(yīng)某一個狀態(tài)機的請求信號后,記錄狀態(tài)機編號,此后再檢測請求信號時,根據(jù)記錄的上次使用訪存信號線的狀態(tài)機編號,從下一個狀態(tài)機的請求信號開始檢測;如果某一個狀態(tài)機的請求信號一直為高,表示狀態(tài)機一直占用訪存信號線,此時不響應(yīng)其他的請求信號,直到請求信號為低;第二邏輯或門接收M個狀態(tài)機發(fā)送的M路訪存信號,如果某一路訪存信號沒有值,則該路訪存信號為零,對這些訪存信號進行邏輯或運算,得到其中有效的一路訪存信號,發(fā)送到低層閃存控制模塊。
6.如權(quán)利要求1所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述后處理模塊由比較器、第二數(shù)據(jù)隊列組、第十一多路選擇器組成;比較器對外與動態(tài)調(diào)度模塊、處理器相連,對內(nèi)與第二數(shù)據(jù)隊列組、第十一多路選擇器相連,第二數(shù)據(jù)隊列組對外與動態(tài)調(diào)度模塊相連,對內(nèi)與比較器、第十一多路選擇器相連,第十一多路選擇器對外與處理器相連,對內(nèi)與比較器、第二數(shù)據(jù)隊列組相連;第二數(shù)據(jù)隊列組由M個相同的數(shù)據(jù)隊列組成,它接收動態(tài)調(diào)度模塊發(fā)送的M路寫隊列信號和讀數(shù)據(jù),將讀數(shù)據(jù)寫入寫隊列信號有效的數(shù)據(jù)隊列中,接收比較器發(fā)送的M路讀隊列信號,將讀隊列信號有效的數(shù)據(jù)隊列中的數(shù)據(jù)讀出發(fā)送到第十一多路選擇器;比較器從動態(tài)調(diào)度模塊接收M路標識,從處理器接收一路標識,對從處理器接收的標識與從動態(tài)調(diào)度模塊接收的標識一一比較,如果第i路標識與從處理器接收的標識相等, 則發(fā)送讀隊列信號i到第二數(shù)據(jù)隊列組中的數(shù)據(jù)隊列i,發(fā)送值為i的隊列編號到第十一多路選擇器,i = 1,2,……M;第十一多路選擇器是M:1多路選擇器,它接收第二數(shù)據(jù)隊列組發(fā)送的M路讀數(shù)據(jù),接收比較器發(fā)送的值為i的隊列編號,將第i路讀數(shù)據(jù)發(fā)送到處理器。
7.如權(quán)利要求1所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述保留站表中的表項編號域?qū)挾葹镮og2M,從0開始編號;控制指令域?qū)挾葹镃,地址指令域?qū)挾葹?4-C-T,標識域?qū)挾葹門,基片編號域?qū)挾葹镮og2M,命令相關(guān)性域?qū)挾葹镸,基片狀態(tài)域?qū)挾葹?,有效性域?qū)挾葹?。
8.如權(quán)利要求2所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述第一數(shù)據(jù)隊列組、第二數(shù)據(jù)隊列組中M個數(shù)據(jù)隊列中每個數(shù)據(jù)隊列的大小等于芯片內(nèi)頁面的大小。
9.如權(quán)利要求3所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述表項編號寄存器是寬度為Iog2M位的寄存器。
10.如權(quán)利要求4所述的支持操作亂序執(zhí)行的與非型快閃存儲控制器,其特征在于所述M個狀態(tài)機編號為狀態(tài)機1,……狀態(tài)機k,……,狀態(tài)機M,狀態(tài)機k由7個狀態(tài)組成,k = 1,2……,M,“000”狀態(tài)表示狀態(tài)機空閑,“001”狀態(tài)表示等待仲裁器的應(yīng)答信號, “010”狀態(tài)表示分析控制指令,“011”狀態(tài)表示等待數(shù)據(jù)從基片讀出并寫入低層閃存控制模塊,“ 100”狀態(tài)表示等待數(shù)據(jù)從低層閃存控制模塊讀出并寫入后處理模塊,“ 101”狀態(tài)表示等待數(shù)據(jù)從預(yù)處理模塊寫入低層閃存控制模塊,“110”狀態(tài)表示等待數(shù)據(jù)從低層閃存控制模塊寫入基片;上電復(fù)位時,狀態(tài)機處于“000”狀態(tài),從第六多路選擇器、第七多路選擇器、 第八多路選擇器、第九多路選擇器接收保留站表的信息后,轉(zhuǎn)移到“001”狀態(tài);狀態(tài)機處于 “001”狀態(tài)時,向仲裁器發(fā)送請求信號,等待仲裁器分配訪存信號線的使用,狀態(tài)機接收到仲裁器應(yīng)答信號后轉(zhuǎn)移到“010”狀態(tài);狀態(tài)機處于“010”狀態(tài)時,向保留站模塊發(fā)送基片忙狀態(tài)信號,分析控制指令,生成訪存信號,將訪存信號輸出到第二邏輯或門;分析控制指令后,如果是讀指令,則轉(zhuǎn)移到“011”狀態(tài),如果是寫指令,則轉(zhuǎn)移到“ 101”狀態(tài);狀態(tài)機處于 “011”狀態(tài)時,狀態(tài)機等待低層閃存控制模塊將數(shù)據(jù)從基片讀出并緩存在低層閃存控制模塊,當數(shù)據(jù)讀出完畢后,轉(zhuǎn)移到“100”狀態(tài);狀態(tài)機處于“100”狀態(tài)時,向保留站模塊發(fā)送基片空閑狀態(tài)信號,向后處理模塊發(fā)送寫隊列信號和從保留站模塊接收的標識,等待數(shù)據(jù)從低層閃存控制模塊讀出并寫入后處理模塊,當數(shù)據(jù)從低層閃存控制模塊讀出完畢后,狀態(tài)機轉(zhuǎn)移到“000”狀態(tài);狀態(tài)機處于“101”狀態(tài)時,等待數(shù)據(jù)從預(yù)處理模塊寫入低層閃存控制模塊,寫入完畢后,轉(zhuǎn)移到“110”狀態(tài);狀態(tài)機處于“110”狀態(tài)時,等待數(shù)據(jù)從低層閃存控制模塊寫入基片,寫入完畢后轉(zhuǎn)移到“000”狀態(tài)。
全文摘要
本發(fā)明公開了一種支持操作亂序執(zhí)行的與非型快閃存儲控制器,目的是提高提高訪存數(shù)據(jù)吞吐率。本發(fā)明由預(yù)處理模塊、保留站模塊、動態(tài)調(diào)度模塊和后處理模塊組成,預(yù)處理模塊由地址識別單元、三個多路選擇器、第一數(shù)據(jù)隊列組和第一邏輯或門組成;保留站模塊由二個多路選擇器、表項編號寄存器、有效性監(jiān)聽單元、相關(guān)性判斷單元、基片狀態(tài)設(shè)置單元、輸出判斷單元、控制邏輯單元和保留站表組成;動態(tài)調(diào)度模塊由五個多路選擇器、M個狀態(tài)機、仲裁器和第二邏輯或門組成;后處理模塊由比較器、第二數(shù)據(jù)隊列組、一個多路選擇器組成。采用本發(fā)明可以并行執(zhí)行對存儲芯片不同基片的訪存操作,提高基片工作的并行度,有效提高訪存數(shù)據(jù)吞吐率。
文檔編號G06F13/16GK102567246SQ20111045230
公開日2012年7月11日 申請日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者肖儂, 賴明澈, 陳博, 黃立波 申請人:中國人民解放軍國防科學技術(shù)大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
伽师县| 鹤庆县| 获嘉县| 郎溪县| 安国市| 洞口县| 宜春市| 黑龙江省| 外汇| 昭觉县| 丰都县| 漯河市| 如皋市| 南宫市| 岐山县| 黄冈市| 沙河市| 饶河县| 罗甸县| 徐汇区| 雅江县| 客服| 通河县| 梨树县| 怀化市| 台中市| 北海市| 乌什县| 镇平县| 荣昌县| 中阳县| 茂名市| 临潭县| 安远县| 随州市| 崇左市| 黎平县| 前郭尔| 潜山县| 蕉岭县| 永善县|