,微代碼可按需要被修改,而不必變更 PFC設(shè)計(jì)。"devsel"字段可用于限定CS (芯片選擇)管腳模式以選擇閃存封裝和DIE。這 個(gè)代碼在閃存管理器物理查找結(jié)果中被確定。閃存命令參數(shù)可以是地址字節(jié)或設(shè)置特征控 制字節(jié)。例如,閃存讀操作可以以命令字節(jié)0x00開(kāi)始,后面是C1、C2、P1、P2、P3地址字節(jié), 后面是0x30的另一命令。從PFC所提供的原始數(shù)據(jù)上下文頭部,中央控制器提取一般操作 和頁(yè)/列地址信息,并在命令總線傳輸內(nèi)供應(yīng)這些數(shù)據(jù)。實(shí)際閃存裝置命令字節(jié)(0x00和 0x30)可嵌入微代碼中,因?yàn)榇a序列和所發(fā)送的命令限定閃存操作。主要狀態(tài)機(jī)實(shí)際上反 映在如圖6所示的命令接口處的行動(dòng)。
[0064] 閃存命令調(diào)用微代碼并跟隨路徑以允許多上下文執(zhí)行。從閃存存儲(chǔ)器返回狀態(tài)或 配置數(shù)據(jù)的閃存命令在發(fā)布"完成(Done ) "命令之前生成響應(yīng)緩沖器。命令接口可在每一 個(gè)命令結(jié)束時(shí)被用信號(hào)通知以發(fā)布"Cmd Done"響應(yīng)代碼。當(dāng)存在響應(yīng)緩沖器時(shí),可主張 RespValid線足夠長(zhǎng)以傳輸具有CmdDone響應(yīng)代碼的響應(yīng)緩沖器。在微程序的控制下,執(zhí)行 代碼使能二次命令的中斷;這個(gè)狀態(tài)總線信息控制輔助命令子例程調(diào)用何時(shí)被執(zhí)行,因?yàn)?可能有不能被中斷的閃存協(xié)議的部分。這些約束可被告知到特定于每一種類型的閃存裝置 的微代碼程序中。Exec FSM維持run_context標(biāo)志,其基于哪個(gè)命令正被執(zhí)行。一般run_ context將為零(主要命令),如果微代碼許可,通過(guò)設(shè)置exec_state==IRQ,Exec FSM將請(qǐng) 求另一命令。如果另一命令隨后被接收到,則中斷出現(xiàn),且排序器狀態(tài)被監(jiān)控,直到它到達(dá) SWAP為止。排序器接著轉(zhuǎn)變到BSY2(BSY2在邏輯上從與run_context=l組合的一般uCode BSY生成)。當(dāng)?shù)诙舷挛拿钔瓿蓵r(shí),排序器狀態(tài)移動(dòng)到D0NE2并暫停以允許Exec FSM 切換run_context flag==0。排序器然后從D0NE2轉(zhuǎn)變到BSYl (BSYl在邏輯上從與run_ context#組合的一般uCode BSY生成)。從這個(gè)狀態(tài),微代碼執(zhí)行通過(guò)重新準(zhǔn)備數(shù)據(jù)管線 并重新進(jìn)入主數(shù)據(jù)循環(huán)而繼續(xù)。
[0065] 微排序器利用可將定時(shí)器、循環(huán)和分支控制以及微命令提供到包含在PHY邏輯中 的管腳排序器中的每一個(gè)管腳排序器的控制存儲(chǔ)。在圖7中示出排序器的頂層圖。
[0066] 當(dāng)裝置被初始化時(shí),配置數(shù)據(jù)可包括裝入DPRAM中的微代碼。命令-指令寄存器 可由ExecFSM裝入并包含微排序器起始地址和參數(shù)陣列(地址或配置數(shù)據(jù))??梢杂欣缬?ExecFSM發(fā)布的一個(gè)或兩個(gè)活動(dòng)命令上下文:主要和輔助。如果主要命令特征許可,則微程 序的控制可以被上下文切換到輔助命令。可以有在微程序中的特定位置,其中分支可出現(xiàn) 以變更指令的正常流程。分支的執(zhí)行可終止在接口空閑條件中,所以原始命令未被干擾。 當(dāng)輔助命令完成時(shí),上下文可恢復(fù)并且微程序被寫入以重新建立預(yù)先變空(一般是數(shù)據(jù)傳 輸)的狀態(tài)并繼續(xù)操作。每一個(gè)命令完成或排序器的從Exec FSM服務(wù)輔助指令的能力可在 cmcLstate□輸出處被用信號(hào)通知。微指令寄存器在等待定時(shí)器事件的同時(shí)可提供關(guān)于每 一個(gè)時(shí)鐘或在幾個(gè)時(shí)鐘上的微控制信息。
[0067] 執(zhí)行FSM基于待執(zhí)行的宏功能來(lái)選擇微程序。在具有微程序指令的情況下,Exec FSM也提供閃存地址字節(jié)的陣列的形式的命令參數(shù)。當(dāng)選定微程序執(zhí)行時(shí),按需要實(shí)現(xiàn)期望 閃存操作的各種地址字節(jié)被選擇。為了實(shí)現(xiàn)閃存配置命令,執(zhí)行FSM選擇適當(dāng)?shù)拿畲a、 裝置選項(xiàng)和任何必要的地址或配置數(shù)據(jù)字節(jié)。例如,為了使用設(shè)置特征微指令來(lái)設(shè)置輸出 驅(qū)動(dòng),ExecFSM供應(yīng)0x10作為驅(qū)動(dòng)器強(qiáng)度寄存器的地址和然后配置數(shù)據(jù)。
[0068] 在圖8中示出PHY邏輯。在控制傳輸期間,控制管腳從排序器指令寄存器被直接驅(qū) 動(dòng),同時(shí)DQ線用閃存命令或在cmd[7:0]上提供的地址信息來(lái)驅(qū)動(dòng)。注意在控制循環(huán)期間, Tx DDR宏不在DDR速率下切換。在寫數(shù)據(jù)傳輸期間,DQ和DQS輸出被使能,ODT被禁用,且 在tx_data上提供的寫數(shù)據(jù)被驅(qū)動(dòng)到DQ上,而DQS根據(jù)do_inst排序器指令來(lái)切換。在示 例中,在400 Mbps下的24nm閃存切換讀數(shù)據(jù)傳輸期間,PHY的DQ和DQS輸出可被禁用,且 ODT可被使能。當(dāng)在DQS上從閃存裝置接收到轉(zhuǎn)變時(shí),DLL可基于在培訓(xùn)期間建立的延遲來(lái) 使邊緣移位,并提供在"stb90"上的時(shí)鐘脈沖。移位的邊緣可用于對(duì)Rx DDR宏進(jìn)行計(jì)時(shí)以 對(duì)DQ輸出采樣,并恢復(fù)閃存讀數(shù)據(jù)。Rx數(shù)據(jù)字被傳輸?shù)絉x FIFO。以后,RxData接口使用 核心時(shí)鐘從Rx FIFO請(qǐng)求讀數(shù)據(jù)。在表1中限定的輸出管腳由每一個(gè)可編程指令的微程序 管腳序列部件驅(qū)動(dòng)。輸入管腳可以是DQS或DQ。DQS在時(shí)間上移位以提供輸入采樣時(shí)鐘。 DQ管腳可使用DQS_in所得到的時(shí)鐘由輸入DDR宏來(lái)捕獲。
【主權(quán)項(xiàng)】
1. 一種用于存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的設(shè)備,包括: 控制器; 與所述控制器通信的閃存存儲(chǔ)器控制器,且所述閃存存儲(chǔ)器控制器與多個(gè)閃存存儲(chǔ)器 電路通信, 其中在所述山村控制器和所述多個(gè)閃存存儲(chǔ)器電路中的一個(gè)閃存存儲(chǔ)器電路之間的 寫數(shù)據(jù)傳輸是可中斷的。
2. 如權(quán)利要求1所述的設(shè)備,還包括所述多個(gè)閃存存儲(chǔ)器電路, 其中所述閃存存儲(chǔ)器電路具有共享公共總線的多個(gè)存儲(chǔ)器芯片。
3. 如權(quán)利要求1所述的設(shè)備,其中當(dāng)讀命令被所述閃存存儲(chǔ)器控制器接收并被引導(dǎo)到 與所述寫數(shù)據(jù)傳輸相同的閃存存儲(chǔ)器電路時(shí),寫數(shù)據(jù)傳輸是可中斷的。
4. 如權(quán)利要求3所述的設(shè)備,其中所述寫數(shù)據(jù)傳輸是可中斷的以針對(duì)所述讀命令的完 成輪詢所述閃存存儲(chǔ)器電路。
5. 如權(quán)利要求4所述的設(shè)備,其中所述寫數(shù)據(jù)傳輸是可中斷的以許可將完成的讀命令 的結(jié)果從所述閃存存儲(chǔ)器電路的緩沖器傳輸?shù)剿鲩W存存儲(chǔ)器控制器。
6. -種管理閃存存儲(chǔ)器裝置的方法,包括: 提供可操作來(lái)管理讀請(qǐng)求、寫請(qǐng)求和與所述寫請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)的隊(duì)列的處理器; 將所述寫請(qǐng)求和所述相關(guān)聯(lián)的數(shù)據(jù)傳送到閃存存儲(chǔ)器接口; 將讀請(qǐng)求發(fā)送到所述閃存存儲(chǔ)器接口;以及 確定到與所述讀請(qǐng)求所識(shí)別的相同的存儲(chǔ)器電路的寫數(shù)據(jù)傳輸是否在進(jìn)行中;以及 中斷所述寫數(shù)據(jù)傳輸以將所述讀請(qǐng)求發(fā)送到所述閃存存儲(chǔ)器電路; 重新開(kāi)始所述寫數(shù)據(jù)傳輸; 等待用來(lái)執(zhí)行所述讀請(qǐng)求的估計(jì)時(shí)間; 確定寫數(shù)據(jù)傳輸是否在進(jìn)行中; 中斷所述寫數(shù)據(jù)傳輸; 輪詢所述存儲(chǔ)器電路以確定是否有數(shù)據(jù)在讀緩沖器中,且如果數(shù)據(jù)在所述讀緩沖器 中,則將數(shù)據(jù)從所述讀緩沖器傳輸?shù)剿鲩W存存儲(chǔ)器接口;以及 重新開(kāi)始以前中斷的寫數(shù)據(jù)傳輸。
7. 如權(quán)利要求6所述的方法,其中在傳送對(duì)應(yīng)的寫命令之前,所述寫數(shù)據(jù)被傳送到所 述閃存存儲(chǔ)器接口。
8. -種用于與閃存存儲(chǔ)器電路對(duì)接的設(shè)備,包括: 控制器,其被配置成使讀命令和寫命令及相關(guān)聯(lián)的寫數(shù)據(jù)排隊(duì),并響應(yīng)于讀命令而接 收數(shù)據(jù),所述控制器適于與用戶和與物理層接口(PHY)對(duì)接;以及 PHY,其包括執(zhí)行微代碼程序的狀態(tài)機(jī)并被配置成提供信號(hào),所述信號(hào)用于控制具有多 個(gè)芯片的閃存存儲(chǔ)器電路并用于在閃存存儲(chǔ)器電路總線接口上發(fā)送和接收命令和數(shù)據(jù); 其中所述PHY可操作來(lái)中斷到所述閃存存儲(chǔ)器電路的數(shù)據(jù)傳輸以許可另一命令的執(zhí) 行并在所述另一命令完成之后重新開(kāi)始所述數(shù)據(jù)傳輸。
9. 如權(quán)利要求8所述的設(shè)備,其中所述數(shù)據(jù)傳輸是將寫到所述閃存存儲(chǔ)器電路的芯片 的數(shù)據(jù),且所述另一命令選自讀命令、輪詢命令或讀數(shù)據(jù)傳輸命令,并被引導(dǎo)到所述閃存存 儲(chǔ)器電路。
10. 如權(quán)利要求9所述的設(shè)備,其中所述輪詢命令確定數(shù)據(jù)已從所述芯片被讀取且在 與所述芯片相關(guān)聯(lián)的緩沖器中是可用的。
11. 如權(quán)利要求8所述的設(shè)備,其中命令和數(shù)據(jù)在相同的總線上被傳送。
12. 如權(quán)利要求8所述的設(shè)備,其中所述微代碼程序是能夠裝入的。
【專利摘要】管理多個(gè)閃存(FLASH)芯片的操作的設(shè)備和方法提供到具有多個(gè)閃存芯片的閃存存儲(chǔ)器電路的物理層(PHY)接口,所述多個(gè)閃存芯片具有公共接口總線。設(shè)備具有用于根據(jù)微編程狀態(tài)機(jī)來(lái)控制接口管腳上的電壓的PHY。在總線上的在進(jìn)行中的數(shù)據(jù)傳輸可被中斷以對(duì)共享總線上的另一芯片執(zhí)行另一命令,且所述數(shù)據(jù)傳輸可在所述另一命令完成之后重新開(kāi)始。
【IPC分類】G06F13-14, G11C16-06
【公開(kāi)號(hào)】CN104520932
【申請(qǐng)?zhí)枴緾N201380026317
【發(fā)明人】G. 皮納特利 D.
【申請(qǐng)人】Sk 海尼克斯存儲(chǔ)技術(shù)公司
【公開(kāi)日】2015年4月15日
【申請(qǐng)日】2013年5月13日
【公告號(hào)】US20130318285, WO2013176912A1