一種信息處理方法及電子設(shè)備的制造方法
【專利摘要】本發(fā)明公開了一種信息處理方法及電子設(shè)備,其中,方法包括:獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指令集合;基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令;其中,所述為N個存儲單元切換分配所述通道,并通過所述通道獲取到所述N個存儲單元的操作指令包括:每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令;直至向N個存儲單元發(fā)送完畢操作指令集合中的指令。
【專利說明】
_種信息處理方法及電子設(shè)備
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及信息處理領(lǐng)域中的存儲設(shè)備管理技術(shù),尤其涉及一種信息處理方法及 電子設(shè)備。
【背景技術(shù)】
[0002] 芯片控制器NFC(NAND Flash Controller),是一種控制NAND Flash存儲芯片讀寫 操作的邏輯電路,常存在于SSD(固態(tài)硬盤)和CPU SoC芯片中。由于NAND Flash的接口控制 時序復(fù)雜、NAND Flash的工藝種類繁多(3^:、1^(:、孔(:、30)、嫩冊?1&811廠家采用了私有而 非公有的命令格式,NAND Fish控制器的設(shè)計需要考慮很多因素?,F(xiàn)在常用的設(shè)計方式有兩 種:基于FSM(有限狀態(tài)機),采用硬連線電路來實現(xiàn)控制時序?;贛icro Sequencer(微序 列器),采用可編程微碼控制器來實現(xiàn)控制時序。但是,無論上述哪種控制器,都無法保證靈 活的控制時序,從而無法進一步的提升其處理效率。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明實施例提供一種信息處理方法及電子設(shè)備,能夠至少解決現(xiàn)有技術(shù)中存在 的上述問題。
[0004] 本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
[0005] 本發(fā)明實施例提供一種信息處理方法,包括:
[0006] 獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指令集合,其中,所述 N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù);
[0007] 基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單元切換分配所述 通道,并通過所述通道向所述N個存儲單元發(fā)送指令;
[0008] 其中,所述為N個存儲單元切換分配所述通道,并通過所述通道獲取到所述N個存 儲單元的操作指令包括:每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令 集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令; 直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;n為大于等于1、小于等于N的整數(shù),m 為大于等于1的整數(shù)。
[0009] 本發(fā)明實施例提供一種電子設(shè)備,包括:
[0010]命令調(diào)度器,用于獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指 令集合,其中,所述N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù);
[0011] 微碼控制器,用于基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單 元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令;
[0012] 其中,所述微碼控制器,具體用于每次為第n存儲單元分配所述通道,基于第n存儲 單元的操作指令集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合 中的第m組指令;直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;n為大于等于1、小于 等于N的整數(shù),m為大于等于1的整數(shù)。
[0013] 本發(fā)明實施例提供一種信息處理方法及電子設(shè)備,能夠基于操作指令集合中包含 的控制位,為N個存儲單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指 令。如此,可通過進行控制位的設(shè)計靈活的控制存儲設(shè)備的指令執(zhí)行,靈活的控制在多個操 作指令中進行切換,并且能夠適應(yīng)多種存儲設(shè)備的操作時序,從而使得存儲設(shè)備中的多個 存儲單元能夠交織的進行操作,提升了處理效率。
【附圖說明】
[0014] 圖1為本發(fā)明實施例中信息處理方法的實現(xiàn)流程示意圖;
[0015] 圖2為本發(fā)明實施例指令組成示意圖;
[0016] 圖3為存儲設(shè)備及其邏輯單元與通道之間的關(guān)系示意圖;
[0017] 圖4為本發(fā)明實施例針對邏輯單元的調(diào)度示意圖;
[0018] 圖5為現(xiàn)有技術(shù)中寫入指令的一種時序圖;
[0019] 圖6為現(xiàn)有技術(shù)中寫入指令的另一種時序圖;
[0020] 圖7為本發(fā)明實施例電子設(shè)備組成結(jié)構(gòu)示意圖一;
[0021] 圖8為本發(fā)明實施例電子設(shè)備組成結(jié)構(gòu)示意圖二。
【具體實施方式】
[0022]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細說明。
[0023] 實施例一、
[0024]本發(fā)明實施例提供了一種信息處理方法,應(yīng)用于電子設(shè)備,如圖1所示,包括:
[0025] 步驟101:獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指令集合, 其中,所述N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù);
[0026] 步驟102:基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單元切換 分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令;
[0027] 其中,所述為N個存儲單元切換分配所述通道,并通過所述通道獲取到所述N個存 儲單元的操作指令包括:每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令 集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令; 直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;n為大于等于1、小于等于N的整數(shù),m 為大于等于1的整數(shù)。
[0028] 這里,所述存儲設(shè)備可以為固態(tài)硬盤(SSD,Solid State Drives),其中,所述存儲 單元可以為每一個存儲設(shè)備中包含的多個邏輯單元。
[0029] 所述操作指令集合可以包括有針對N個存儲單元的操作指令,其中,針對每一個存 儲單元的全部操作指令組成子程序;
[0030] 每一個存儲單元對應(yīng)有m組操作指令,這m組操作指令可以組成m個宏指令;進一步 地,所述每一個宏指令可以由至少一個微指令組成。
[0031] 具體來說,在微碼設(shè)計中,多條微指令組合成一個時間上不可拆分的宏指令,控制 NAND Flash總線上多個周期的操作;多條宏指令組合成一個時間上可拆分為多個宏指令的 子程序,控制總線上多個周期的操作,完成一次NAND Flash總線命令。比如,參見圖2,微碼 指令劃分:宏指令、微指令、子程序:
[0032] 一條微指令對應(yīng)一個周期==一條微指令;
[0033] 多條微指令對應(yīng)一次調(diào)度==一條宏指令;
[0034]多條宏指令對應(yīng)一次返回==一個子程序。
[0035] 所述為N個存儲單元切換分配所述通道,可以參見圖3,具備4個通道,每個通道內(nèi)4 個芯片,每個芯片內(nèi)2個邏輯單元,圖中可以看出每一個SSD芯片中包含有兩個邏輯單元,也 就是具備有兩個存儲單元。而針對芯片的操作指令僅通過一個通道來執(zhí)行指令分配,所以 就需要在多個存儲單元之間進行通道的切換。
[0036] 每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令集合中的控制 位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令,可以為:分配 通道給第n個存儲單元,向所述第n存儲單元寫入操作指令集合中的第m組指令,當讀取到所 述第m組指令的控制為時,確定向下一個存儲單元進行指令寫入;以此類推。
[0037] 進一步地,本實施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0038] 其中,所述第一控制位,位于每一組指令中的預(yù)設(shè)第一位置處,用于指示針對第n 存儲單元的所述第m組指令發(fā)送完畢、且能夠開始對第n+1存儲單元進行調(diào)度;所述預(yù)設(shè)第 一位置處可以為每一組指令的最后一比特位;所述第一控制位可以理解為調(diào)度位,也就是 說,當讀取到第一控制位時,可以確定第m組指令發(fā)送完畢,進而可以基于該調(diào)度位,確定執(zhí) 行第n+1存儲單元的一組指令發(fā)送。
[0039]所述第二控制位,位于針對第n存儲單元的全部指令的預(yù)設(shè)第二位置處,用于指示 已發(fā)送完成第n存儲單元的全部指令;所述預(yù)設(shè)第二位置處可以為第n存儲單元的全部指令 的最后一個比特位;所述第二控制位可以理解為返回位,用于指示第n存儲單元的子程序發(fā) 送完成。
[0040]參見表1,也就是說,通過采用本方案,能夠?qū)⒑曛噶睢⒆映绦蛑g的區(qū)分采用調(diào)度 位和返回位來控制,而需要說明的是,宏指令中的多條微指令為時間上不可分割的多個指 令,所以微指令中不會設(shè)置第一控制位或第二控制位。
[0042]表 1
[0043] 這樣的微碼設(shè)計,對應(yīng)了NAND Flash總線上可以在時間和空間上劃分的各種操 作。從時間上看,NAND Flash總線上單周期的操作對應(yīng)一個命令/地址/數(shù)據(jù)的傳輸周期,多 個周期不可拆分的操作對應(yīng)一組命令序列/地址序列/數(shù)據(jù)序列,多周期的組合對應(yīng)一條 NAND Flash命令包含的命令序列、地址序列、數(shù)據(jù)序列。從空間上看,一個NAND Flash通道 內(nèi),多個LUN的命令操作可以交織執(zhí)行。
[0044]可見,通過采用上述方案,就能夠基于操作指令集合中包含的控制位,為N個存儲 單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令。如此,可通過進行 控制位的設(shè)計靈活的控制存儲設(shè)備的指令執(zhí)行,靈活的控制在多個操作指令中進行切換, 提高了存儲單元的指令的并行度;并且能夠適應(yīng)多種存儲設(shè)備的操作時序,從而使得存儲 設(shè)備中的多個存儲單元能夠交織的進行操作,提升了操作效率。
[0045] 實施例二、
[0046] 本發(fā)明實施例提供了一種信息處理方法,應(yīng)用于電子設(shè)備,如圖1所示,包括:
[0047] 步驟101:獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指令集合, 其中,所述N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù);
[0048] 步驟102:基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單元切換 分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令;
[0049] 其中,所述為N個存儲單元切換分配所述通道,并通過所述通道獲取到所述N個存 儲單元的操作指令包括:每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令 集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令; 直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;n為大于等于1、小于等于N的整數(shù),m 為大于等于1的整數(shù)。
[0050] 這里,所述存儲設(shè)備可以為固態(tài)硬盤(SSD,Solid State Drives),其中,所述存儲 單元可以為每一個存儲設(shè)備中包含的多個邏輯單元。
[0051] 所述操作指令集合可以包括有針對N個存儲單元的操作指令,其中,針對每一個存 儲單元的全部操作指令組成子程序;
[0052] 每一個存儲單元對應(yīng)有m組操作指令,這m組操作指令可以組成m個宏指令;進一步 地,所述每一個宏指令可以由至少一個微指令組成。
[0053] 具體來說,在微碼設(shè)計中,多條微指令組合成一個時間上不可拆分的宏指令,控制 NAND Flash總線上多個周期的操作;多條宏指令組合成一個時間上可拆分為多個宏指令的 子程序,控制總線上多個周期的操作,完成一次NAND Flash總線命令。比如,參見圖2,微碼 指令劃分:宏指令、微指令、子程序:
[0054] 一條微指令對應(yīng)一個周期==一條微指令;
[0055] 多條微指令對應(yīng)一次調(diào)度==一條宏指令;
[0056] 多條宏指令對應(yīng)一次返回==一個子程序。
[0057] 所述為N個存儲單元切換分配所述通道,可以參見圖3,具備4個通道,每個通道內(nèi)4 個芯片,每個芯片內(nèi)2個邏輯單元,圖中可以看出每一個SSD芯片中包含有兩個邏輯單元,也 就是具備有兩個存儲單元。而針對芯片的操作指令僅通過一個通道來執(zhí)行指令分配,所以 就需要在多個存儲單元之間進行通道的切換。
[0058]每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令集合中的控制 位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令,可以為:分配 通道給第n個存儲單元,向所述第n存儲單元寫入操作指令集合中的第m組指令,當讀取到所 述第m組指令的控制為時,確定向下一個存儲單元進行指令寫入;以此類推。
[0059] 進一步地,本實施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0060] 其中,所述第一控制位,位于每一組指令中的預(yù)設(shè)第一位置處,用于指示針對第n 存儲單元的所述第m組指令發(fā)送完畢、且能夠開始對第n+1存儲單元進行調(diào)度;所述預(yù)設(shè)第 一位置處可以為每一組指令的最后一比特位;所述第一控制位可以理解為調(diào)度位,也就是 說,當讀取到第一控制位時,可以確定第m組指令發(fā)送完畢,進而可以基于該調(diào)度位,確定執(zhí) 行第n+1存儲單元的一組指令發(fā)送。
[0061] 所述第二控制位,位于針對第n存儲單元的全部指令的預(yù)設(shè)第二位置處,用于指示 已發(fā)送完成第n存儲單元的全部指令;所述預(yù)設(shè)第二位置處可以為第n存儲單元的全部指令 的最后一個比特位;所述第二控制位可以理解為返回位,用于指示第n存儲單元的子程序發(fā) 送完成。
[0062] 參見表1,也就是說,通過采用本方案,能夠?qū)⒑曛噶睢⒆映绦蛑g的區(qū)分采用調(diào)度 位和返回位來控制,而需要說明的是,宏指令中的多條微指令為時間上不可分割的多個指 令,所以微指令中不會設(shè)置第一控制位或第二控制位。
[0064] 表 1
[0065] 進一步地,從通道中獲取并分配針對同一個通道內(nèi)多個存儲單元,即LUN發(fā)送的命 指令;一個通道在管理多個LUN的命令操作時,需要查詢調(diào)度位和返回位的狀態(tài),從而能夠 進行多組指令,比如宏指令,之間的交織操作和子程序的返回處理操作。
[0066] 本實施例具體針對如何進行存儲單元之間的狀態(tài)記錄以及如何確定是否切換到 下一個存儲單元進行指令發(fā)送的操作進行具體說明:
[0067] 所述向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令,包 括:
[0068] 讀取到第m組指令的第一控制位,確定完成向第n存儲單元發(fā)送第m組指令;保存所 述第n個存儲單元的執(zhí)行狀態(tài)。
[0069]基于本實施例的上述介紹,可以理解到一組指令相當于一個宏指令,當讀取到宏 指令中的第一控制位即調(diào)度位時,就能夠確定本次針對存儲單元的指令調(diào)度已經(jīng)完成,此 時,需要對該存儲單元的執(zhí)行中間狀態(tài)進行記錄。比如,可以記錄當前第n存儲單元已經(jīng)完 成發(fā)送第m組指令。
[0070]與其相應(yīng)的,所述向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第 m組指令之后,所述方法還包括:
[0071]切換所述通道至第n+1存儲單元,通過所述通道向第n+1存儲單元發(fā)送操作指令集 合中的指令。
[0072] 具體來說,可以為首先查看所述第n+1存儲單元當前記錄的執(zhí)行狀態(tài),如果查看到 第n+1存儲單元當前記錄的執(zhí)行狀態(tài)為完成第x組指令,并且還具備第x+1組指令需要發(fā)送, 那么就將通道切換至第n+1存儲單元,并通過所述通道向其發(fā)送指令;如果查看到第n+1存 儲單元當前記錄的執(zhí)行狀態(tài)為結(jié)束狀態(tài),那么就停止處理,繼續(xù)查看第n+2組存儲單元當前 記錄的執(zhí)行狀態(tài),依此類推。
[0073] 經(jīng)過上述處理后,本實施例確定完成存儲設(shè)備中全部存儲單元的指令發(fā)送的方式 如下:
[0074]所述直至向N個存儲單元發(fā)送完畢操作指令集合中的指令,包括:
[0075]判斷是否讀取到N個存儲單元的全部的第二控制位,若讀取到N個存儲單元的全部 的第二控制位,則確定N個存儲單元發(fā)送完畢操作指令集合中的指令。
[0076] 具體的,可以為查看記錄的針對N個存儲單元的狀態(tài)記錄,若均記錄為讀取到第二 控制位即處于結(jié)束狀態(tài),則確定N個存儲單元發(fā)送完畢;若存在任意一個存儲單元的狀態(tài)記 錄處于中間狀態(tài),則繼續(xù)調(diào)度該存儲單元剩余的至少一組指令。
[0077] 下面結(jié)合圖4詳細說明本實施例在操作場景中的應(yīng)用:
[0078] 在一個通道內(nèi)獲得針對存儲設(shè)備的兩個存儲單元,即LUN的操作指令集合;
[0079] 先發(fā)送LUN 1的子程序調(diào)用;執(zhí)行4條微指令組合而成的一條宏指令,在宏指令完 成時,調(diào)度位為1;得到調(diào)度位控制時,切換狀態(tài)并保存LUN 1命令的執(zhí)行中間狀態(tài);其中,具 體的,可以為保存上述中間狀態(tài)到可以根據(jù)LUN編號尋址的狀態(tài)存儲器組中;
[0080] 發(fā)送LUN 2的子程序調(diào)用;執(zhí)行3條微指令組合而成的一條宏指令,在宏指令完成 時,調(diào)度位為1;指令調(diào)度器得到調(diào)度位控制時,切換微碼控制器的狀態(tài),保存LUN 2命令的 執(zhí)行中間狀態(tài);
[0081] 加載LUN 1命令保存的中間狀態(tài);微碼控制器繼續(xù)執(zhí)行LUN 1命令,當調(diào)度位為1 時,微碼控制器切換至LUN 2命令中間狀態(tài),繼續(xù)執(zhí)行LUN 2命令;如此交織操作,直到LUN 1 命令對應(yīng)的微碼子程序執(zhí)行完畢,返回位為1,命令調(diào)度器處理器最終狀態(tài);命令調(diào)度器切 換至LUN 2執(zhí)行,直到其返回位為1,處理最終狀態(tài)。
[0082] 進一步地,結(jié)合當前技術(shù)中提高SSD訪問性能的處理進行分析:通常通過增加深度 和寬度兩種方式提高SSD存儲容量、提高SSD訪問性能。具體如下:
[0083] 增加深度:在一個NAND Flash芯片中,掛接封裝多個邏輯單元(LUN)。邏輯單元之 間共享一個總線。
[0084] 增加深度:在一個NAND Flash通道中,掛接多個NAND Flash芯片。芯片之間共享一 個總線
[0085] 增加寬度:在一個NAND Flash控制器上,掛接多個NAND Flash通道。每個通道有獨 立的總線。
[0086] 其中,增加通道深度的一個優(yōu)勢是,可以掩蓋單個邏輯單元內(nèi)部操作的延時,通過 并發(fā)多個邏輯單元的操作來提高通道中共享的數(shù)據(jù)總線的利用效率,提高性能。如圖5、或 者圖6所示,表示了一個通道內(nèi),3個邏輯單元分別執(zhí)行3個命令的并行操作的時序,其中白 色部分為邏輯單元內(nèi)部操作的延時,通過并行操作,白色部分被有色部分掩蓋。而采用本發(fā) 明實施例提供的方案,就能夠通過控制邏輯單元進行交織操作,從而減少邏輯單元內(nèi)的操 作延時。
[0087] 可見,通過采用上述方案,就能夠基于操作指令集合中包含的控制位,為N個存儲 單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令。如此,可通過進行 控制位的設(shè)計靈活的控制存儲設(shè)備的指令執(zhí)行,靈活的控制在多個操作指令中進行切換, 并且能夠適應(yīng)多種存儲設(shè)備的操作時序,從而使得存儲設(shè)備中的多個存儲單元能夠交織的 進行操作,提升了操作效率。
[0088] 實施例三、
[0089]本發(fā)明實施例提供了一種電子設(shè)備,如圖7所示,包括:
[0090]命令調(diào)度器71,用于獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作 指令集合,其中,所述N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù);
[0091] 微碼控制器72,用于基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲 單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令;
[0092] 其中,所述微碼控制器72,具體用于每次為第n存儲單元分配所述通道,基于第n存 儲單元的操作指令集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集 合中的第m組指令;直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;n為大于等于1、小 于等于N的整數(shù),m為大于等于1的整數(shù)。
[0093] 這里,所述存儲設(shè)備可以為固態(tài)硬盤(SSD,Solid State Drives),其中,所述存儲 單元可以為每一個存儲設(shè)備中包含的多個邏輯單元。
[0094] 所述操作指令集合可以包括有針對N個存儲單元的操作指令,其中,針對每一個存 儲單元的全部操作指令組成子程序;
[0095] 每一個存儲單元對應(yīng)有m組操作指令,這m組操作指令可以組成m個宏指令;進一步 地,所述每一個宏指令可以由至少一個微指令組成。
[0096] 具體來說,在微碼設(shè)計中,多條微指令組合成一個時間上不可拆分的宏指令,控制 NAND Flash總線上多個周期的操作;多條宏指令組合成一個時間上可拆分為多個宏指令的 子程序,控制總線上多個周期的操作,完成一次NAND Flash總線命令。比如,參見圖2,微碼 指令劃分:宏指令、微指令、子程序:
[0097] 一條微指令對應(yīng)一個周期==一條微指令;
[0098]多條微指令對應(yīng)一次調(diào)度==一條宏指令;
[0099]多條宏指令對應(yīng)一次返回==一個子程序。
[0100] 所述為N個存儲單元切換分配所述通道,可以參見圖3,具備4個通道,每個通道內(nèi)4 個芯片,每個芯片內(nèi)2個邏輯單元,圖中可以看出每一個SSD芯片中包含有兩個邏輯單元,也 就是具備有兩個存儲單元。而針對芯片的操作指令僅通過一個通道來執(zhí)行指令分配,所以 就需要在多個存儲單元之間進行通道的切換。
[0101] 每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令集合中的控制 位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令,可以為:分配 通道給第n個存儲單元,向所述第n存儲單元寫入操作指令集合中的第m組指令,當讀取到所 述第m組指令的控制為時,確定向下一個存儲單元進行指令寫入;以此類推。
[0102] 進一步地,本實施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0103] 其中,所述第一控制位,位于每一組指令中的預(yù)設(shè)第一位置處,用于指示針對第n 存儲單元的所述第m組指令發(fā)送完畢、且能夠開始對第n+1存儲單元進行調(diào)度;所述預(yù)設(shè)第 一位置處可以為每一組指令的最后一比特位;所述第一控制位可以理解為調(diào)度位,也就是 說,當讀取到第一控制位時,可以確定第m組指令發(fā)送完畢,進而可以基于該調(diào)度位,確定執(zhí) 行第n+1存儲單元的一組指令發(fā)送。
[0104]所述第二控制位,位于針對第n存儲單元的全部指令的預(yù)設(shè)第二位置處,用于指示 已發(fā)送完成第n存儲單元的全部指令;所述預(yù)設(shè)第二位置處可以為第n存儲單元的全部指令 的最后一個比特位;所述第二控制位可以理解為返回位,用于指示第n存儲單元的子程序發(fā) 送完成。
[0105]參見表1,也就是說,通過采用本方案,能夠?qū)⒑曛噶?、子程序之間的區(qū)分采用調(diào)度 位和返回位來控制,而需要說明的是,宏指令中的多條微指令為時間上不可分割的多個指 令,所以微指令中不會設(shè)置第一控制位或第二控制位。
[0107] 表1
[0108] 這樣的微碼設(shè)計,對應(yīng)了NAND Flash總線上可以在時間和空間上劃分的各種操 作。從時間上看,NAND Flash總線上單周期的操作對應(yīng)一個命令/地址/數(shù)據(jù)的傳輸周期,多 個周期不可拆分的操作對應(yīng)一組命令序列/地址序列/數(shù)據(jù)序列,多周期的組合對應(yīng)一條 NAND Flash命令包含的命令序列、地址序列、數(shù)據(jù)序列。從空間上看,一個NAND Flash通道 內(nèi),多個LUN的命令操作可以交織執(zhí)行。
[0109] 可見,通過采用上述方案,就能夠基于操作指令集合中包含的控制位,為N個存儲 單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令。如此,可通過進行 控制位的設(shè)計靈活的控制存儲設(shè)備的指令執(zhí)行,靈活的控制在多個操作指令中進行切換, 提高了存儲單元的指令的并行度;并且能夠適應(yīng)多種存儲設(shè)備的操作時序,從而使得存儲 設(shè)備中的多個存儲單元能夠交織的進行操作,提升了操作效率。
[0110]實施例四、
[0111] 本發(fā)明實施例提供了 一種電子設(shè)備,如圖8所示,包括:
[0112] 命令調(diào)度器81,用于獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作 指令集合,其中,所述N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù);
[0113] 微碼控制器82,用于基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲 單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令;
[0114] 其中,所述微碼控制器82,具體用于每次為第n存儲單元分配所述通道,基于第n存 儲單元的操作指令集合中的控制位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集 合中的第m組指令;直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;n為大于等于1、小 于等于N的整數(shù),m為大于等于1的整數(shù)。
[0115] 這里,所述存儲設(shè)備可以為固態(tài)硬盤(SSD,Solid State Drives),其中,所述存儲 單元可以為每一個存儲設(shè)備中包含的多個邏輯單元。
[0116] 所述操作指令集合可以包括有針對N個存儲單元的操作指令,其中,針對每一個存 儲單元的全部操作指令組成子程序;
[0117] 每一個存儲單元對應(yīng)有m組操作指令,這m組操作指令可以組成m個宏指令;進一步 地,所述每一個宏指令可以由至少一個微指令組成。
[0118] 具體來說,在微碼設(shè)計中,多條微指令組合成一個時間上不可拆分的宏指令,控制 NAND Flash總線上多個周期的操作;多條宏指令組合成一個時間上可拆分為多個宏指令的 子程序,控制總線上多個周期的操作,完成一次NAND Flash總線命令。比如,參見圖2,微碼 指令劃分:宏指令、微指令、子程序:
[0119] -條微指令對應(yīng)一個周期==一條微指令;
[0120]多條微指令對應(yīng)一次調(diào)度==一條宏指令;
[0121 ]多條宏指令對應(yīng)一次返回==一個子程序。
[0122 ]所述為N個存儲單元切換分配所述通道,可以參見圖3,具備4個通道,每個通道內(nèi)4 個芯片,每個芯片內(nèi)2個邏輯單元,圖中可以看出每一個SSD芯片中包含有兩個邏輯單元,也 就是具備有兩個存儲單元。而針對芯片的操作指令僅通過一個通道來執(zhí)行指令分配,所以 就需要在多個存儲單元之間進行通道的切換。
[0123] 每次為第n存儲單元分配所述通道,基于第n存儲單元的操作指令集合中的控制 位,向第n存儲單元發(fā)送與第n存儲單元對應(yīng)的操作指令集合中的第m組指令,可以為:分配 通道給第n個存儲單元,向所述第n存儲單元寫入操作指令集合中的第m組指令,當讀取到所 述第m組指令的控制為時,確定向下一個存儲單元進行指令寫入;以此類推。
[0124] 進一步地,本實施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0125] 其中,所述第一控制位,位于每一組指令中的預(yù)設(shè)第一位置處,用于指示針對第n 存儲單元的所述第m組指令發(fā)送完畢、且能夠開始對第n+1存儲單元進行調(diào)度;所述預(yù)設(shè)第 一位置處可以為每一組指令的最后一比特位;所述第一控制位可以理解為調(diào)度位,也就是 說,當讀取到第一控制位時,可以確定第m組指令發(fā)送完畢,進而可以基于該調(diào)度位,確定執(zhí) 行第n+1存儲單元的一組指令發(fā)送。
[0126] 所述第二控制位,位于針對第n存儲單元的全部指令的預(yù)設(shè)第二位置處,用于指示 已發(fā)送完成第n存儲單元的全部指令;所述預(yù)設(shè)第二位置處可以為第n存儲單元的全部指令 的最后一個比特位;所述第二控制位可以理解為返回位,用于指示第n存儲單元的子程序發(fā) 送完成。
[0127] 參見表1,也就是說,通過采用本方案,能夠?qū)⒑曛噶睢⒆映绦蛑g的區(qū)分采用調(diào)度 位和返回位來控制,而需要說明的是,宏指令中的多條微指令為時間上不可分割的多個指 令,所以微指令中不會設(shè)置第一控制位或第二控制位。
[0129] 表1
[0130] 進一步地,從通道中獲取并分配針對同一個通道內(nèi)多個存儲單元,即LUN發(fā)送的命 指令;一個通道在管理多個LUN的命令操作時,需要查詢調(diào)度位和返回位的狀態(tài),從而能夠 進行多組指令,比如宏指令,之間的交織操作和子程序的返回處理操作。
[0131] 本實施例具體針對如何進行存儲單元之間的狀態(tài)記錄以及如何確定是否切換到 下一個存儲單元進行指令發(fā)送的操作進行具體說明:
[0132] 所述電子設(shè)備還包括:
[0133] 指令調(diào)度器83,用于讀取到第m組指令的第一控制位,確定完成向第n存儲單元發(fā) 送第m組指令;
[0134] 相應(yīng)的,所述存儲器84,用于保存所述第n個存儲單元的執(zhí)行狀態(tài)。
[0135] 基于本實施例的上述介紹,可以理解到一組指令相當于一個宏指令,當讀取到宏 指令中的第一控制位即調(diào)度位時,就能夠確定本次針對存儲單元的指令調(diào)度已經(jīng)完成,此 時,需要對該存儲單元的執(zhí)行中間狀態(tài)進行記錄。比如,可以記錄當前第n存儲單元已經(jīng)完 成發(fā)送第m組指令。
[0136] 與其相應(yīng)的,所述微碼控制器,具體用于切換所述通道至第n+1存儲單元,通過所 述通道向第n+1存儲單元發(fā)送操作指令集合中的指令。
[0137] 具體來說,可以為首先查看所述第n+1存儲單元當前記錄的執(zhí)行狀態(tài),如果查看到 第n+1存儲單元當前記錄的執(zhí)行狀態(tài)為完成第x組指令,并且還具備第x+1組指令需要發(fā)送, 那么就將通道切換至第n+1存儲單元,并通過所述通道向其發(fā)送指令;如果查看到第n+1存 儲單元當前記錄的執(zhí)行狀態(tài)為結(jié)束狀態(tài),那么就停止處理,繼續(xù)查看第n+2組存儲單元當前 記錄的執(zhí)行狀態(tài),依此類推。
[0138] 經(jīng)過上述處理后,本實施例確定完成存儲設(shè)備中全部存儲單元的指令發(fā)送的方式 如下:
[0139] 所述指令調(diào)度器,用于判斷是否讀取到N個存儲單元的全部的第二控制位;
[0140] 相應(yīng)的,所述命令調(diào)度器,還用于若確定所述指令調(diào)度器讀取到N個存儲單元的全 部的第二控制位,則確定N個存儲單元發(fā)送完畢操作指令集合中的指令。
[0141] 具體的,可以為查看記錄的針對N個存儲單元的狀態(tài)記錄,若均記錄為讀取到第二 控制位即處于結(jié)束狀態(tài),則確定N個存儲單元發(fā)送完畢;若存在任意一個存儲單元的狀態(tài)記 錄處于中間狀態(tài),則繼續(xù)調(diào)度該存儲單元剩余的至少一組指令。
[0142] 下面結(jié)合圖4詳細說明本實施例在操作場景中的應(yīng)用:
[0143] 在一個通道內(nèi)的命令調(diào)度器獲得針對兩個LUN的命令后,先向微碼控制器發(fā)送LUN 1的子程序調(diào)用;微碼控制器執(zhí)行4條微指令組合而成的一條宏指令,在宏指令完成時,調(diào)度 位為1;指令調(diào)度器得到調(diào)度位控制時,切換微碼控制器的狀態(tài),保存LUN 1命令的執(zhí)行中間 狀態(tài),發(fā)送LUN 2的子程序調(diào)用;
[0144] 微碼控制器執(zhí)行3條微指令組合而成的一條宏指令,在宏指令完成時,調(diào)度位為1; 指令調(diào)度器得到調(diào)度位控制時,切換微碼控制器的狀態(tài),保存LUN 2命令的執(zhí)行中間狀態(tài), 向微碼控制器加載LUN 1命令保存的中間狀態(tài);
[0145] 微碼控制器繼續(xù)執(zhí)行LUN 1命令,當調(diào)度位為1時,微碼控制器切換至LUN 2命令中 間狀態(tài),繼續(xù)執(zhí)行LUN 2命令;如此交織操作,直到LUN 1命令對應(yīng)的微碼子程序執(zhí)行完畢, 返回位為1,命令調(diào)度器處理器最終狀態(tài);命令調(diào)度器切換至LUN 2執(zhí)行,直到其返回位為1, 命令調(diào)度器處理器最終狀態(tài)。
[0146] 可見,通過采用上述方案,就能夠基于操作指令集合中包含的控制位,為N個存儲 單元切換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令。如此,可通過進行 控制位的設(shè)計靈活的控制存儲設(shè)備的指令執(zhí)行,靈活的控制在多個操作指令中進行切換, 并且能夠適應(yīng)多種存儲設(shè)備的操作時序,從而使得存儲設(shè)備中的多個存儲單元能夠交織的 進行操作,提升了操作效率。
[0147] 本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設(shè)備、只讀 存儲器(R0M,Read_0nly Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或 者光盤等各種可以存儲程序代碼的介質(zhì)。
[0148] 或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品 銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施 例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以 是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。 而前述的存儲介質(zhì)包括:移動存儲設(shè)備、R〇M、RAM、磁碟或者光盤等各種可以存儲程序代碼 的介質(zhì)。
[0149] 以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。
【主權(quán)項】
1. 一種信息處理方法,應(yīng)用于電子設(shè)備,其特征在于,所述方法包括: 獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指令集合,其中,所述N個 存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù); 基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單元切換分配所述通道, 并通過所述通道向所述N個存儲單元發(fā)送指令; 其中,所述為N個存儲單元切換分配所述通道,并通過所述通道獲取到所述N個存儲單 元的操作指令包括:每次為第η存儲單元分配所述通道,基于第η存儲單元的操作指令集合 中的控制位,向第η存儲單元發(fā)送與第η存儲單元對應(yīng)的操作指令集合中的第m組指令;直至 向N個存儲單元發(fā)送完畢操作指令集合中的指令;η為大于等于1、小于等于N的整數(shù),m為大 于等于1的整數(shù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制位至少包括有:第一控制位、以及 第二控制位; 其中,所述第一控制位,位于每一組指令中的預(yù)設(shè)第一位置處,用于指示針對第η存儲 單元的所述第m組指令發(fā)送完畢、且能夠開始對第η+1存儲單元進行調(diào)度; 所述第二控制位,位于針對第η存儲單元的全部指令的預(yù)設(shè)第二位置處,用于指示已發(fā) 送完成第η存儲單元的全部指令。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述向第η存儲單元發(fā)送與第η存儲單元對 應(yīng)的操作指令集合中的第m組指令,包括: 讀取到第m組指令的第一控制位,確定完成向第η存儲單元發(fā)送第m組指令;保存所述第 η個存儲單元的執(zhí)行狀態(tài)。4. 根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在于,所述向第η存儲單元發(fā)送與第η存 儲單元對應(yīng)的操作指令集合中的第m組指令之后,所述方法還包括: 切換所述通道至第η+1存儲單元,通過所述通道向第η+1存儲單元發(fā)送操作指令集合中 的指令。5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述直至向N個存儲單元發(fā)送完畢操作指 令集合中的指令,包括: 判斷是否讀取到N個存儲單元的全部的第二控制位,若讀取到N個存儲單元的全部的第 二控制位,則確定N個存儲單元發(fā)送完畢操作指令集合中的指令。6. -種電子設(shè)備,其特征在于,包括: 命令調(diào)度器,用于獲取到針對存儲設(shè)備的N個存儲單元中每個存儲單元的操作指令集 合,其中,所述N個存儲單元通過同一通道連接數(shù)據(jù)總線,N為大于等于2的整數(shù); 微碼控制器,用于基于每個存儲單元的操作指令集合對應(yīng)的控制位,為N個存儲單元切 換分配所述通道,并通過所述通道向所述N個存儲單元發(fā)送指令; 其中,所述微碼控制器,具體用于每次為第η存儲單元分配所述通道,基于第η存儲單元 的操作指令集合中的控制位,向第η存儲單元發(fā)送與第η存儲單元對應(yīng)的操作指令集合中的 第m組指令;直至向N個存儲單元發(fā)送完畢操作指令集合中的指令;η為大于等于1、小于等于 N的整數(shù),m為大于等于1的整數(shù)。7. 根據(jù)權(quán)利要求6所述的電子設(shè)備,其特征在于,所述控制位至少包括有:第一控制位、 以及第二控制位; 其中,所述第一控制位,位于每一組指令中的預(yù)設(shè)第一位置處,用于指示針對第η存儲 單元的所述第m組指令發(fā)送完畢、且能夠開始對第η+1存儲單元進行調(diào)度; 所述第二控制位,位于針對第η存儲單元的全部指令的預(yù)設(shè)第二位置處,用于指示已發(fā) 送完成第η存儲單元的全部指令。8. 根據(jù)權(quán)利要求7所述的電子設(shè)備,其特征在于,所述電子設(shè)備還包括: 指令調(diào)度器,用于讀取到第m組指令的第一控制位,確定完成向第η存儲單元發(fā)送第m組 指令; 相應(yīng)的,存儲器,用于保存所述第η個存儲單元的執(zhí)行狀態(tài)。9. 根據(jù)權(quán)利要求6-8任一項所述的電子設(shè)備,其特征在于,所述微碼控制器,具體用于 切換所述通道至第η+1存儲單元,通過所述通道向第η+1存儲單元發(fā)送操作指令集合中的指 令。10. 根據(jù)權(quán)利要求8所述的電子設(shè)備,其特征在于,所述指令調(diào)度器,用于判斷是否讀取 到N個存儲單元的全部的第二控制位; 相應(yīng)的,所述命令調(diào)度器,還用于若確定所述指令調(diào)度器讀取到N個存儲單元的全部的 第二控制位,則確定N個存儲單元發(fā)送完畢操作指令集合中的指令。
【文檔編號】G06F3/06GK105892944SQ201610193050
【公開日】2016年8月24日
【申請日】2016年3月30日
【發(fā)明人】楊碧波, 聞軍會, 毛興中
【申請人】聯(lián)想(北京)有限公司