命令排隊的制作方法
【專利摘要】本發(fā)明包含用于命令排隊的設(shè)備及方法。若干實(shí)施例包含:在存儲器系統(tǒng)處從主機(jī)接收經(jīng)排隊命令請求;將命令響應(yīng)從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),所述命令響應(yīng)指示所述存儲器系統(tǒng)準(zhǔn)備好在所述存儲器系統(tǒng)的命令隊列中接收命令;及響應(yīng)于發(fā)送所述命令響應(yīng)而在所述存儲器系統(tǒng)處從所述主機(jī)接收所述命令的命令描述符塊。
【專利說明】
命令排隊
技術(shù)領(lǐng)域
[0001 ]本發(fā)明一般來說涉及半導(dǎo)體存儲器及方法,且更具體來說,涉及命令排隊。
【背景技術(shù)】
[0002]存儲器裝置通常作為計算機(jī)或其它電子裝置中的內(nèi)部半導(dǎo)體集成電路及/或外部可裝卸式裝置而提供。存在包含易失性及非易失性存儲器的許多不同類型的存儲器。易失性存儲器可需要電力來維持其數(shù)據(jù)且可包含隨機(jī)存取存儲器(RAM)、動態(tài)隨機(jī)存取存儲器(DRAM)及同步動態(tài)隨機(jī)存取存儲器(SDRAM)以及其它存儲器。非易失性存儲器可在不被供電時存留所存儲數(shù)據(jù)且可包含NAND快閃存儲器、NOR快閃存儲器、相變隨機(jī)存取存儲器(PCRAM)、電阻式隨機(jī)存取存儲器(RRAM)、自旋扭矩轉(zhuǎn)移隨機(jī)存取存儲器(STTRAM)及磁性隨機(jī)存取存儲器(MRAM)以及其它存儲器。
[0003]多個存儲器裝置可組合在一起以形成(舉例來說)包含多個存儲器裝置的存儲器系統(tǒng),例如作為嵌入式存儲解決方案或作為固態(tài)驅(qū)動器的存儲卡。存儲器系統(tǒng)(例如存儲卡)可包含非易失性存儲器(例如,NAND快閃存儲器及/或NOR快閃存儲器)及/或可包含易失性存儲器(例如,DRAM及/或SRAM)以及各種其它類型的非易失性及易失性存儲器??扉W存儲器裝置可包含將數(shù)據(jù)存儲在電荷存儲結(jié)構(gòu)(舉例來說,例如浮動?xùn)艠O)中的存儲器單元且可針對寬廣范圍的電子應(yīng)用用作非易失性存儲器??扉W存儲器裝置通常使用允許高存儲器密度、高可靠性及低電力消耗的單晶體管存儲器單元。
[0004]存儲器系統(tǒng)可用作與計算系統(tǒng)中的若干主機(jī)一起使用的便攜式存儲器或嵌入式存儲解決方案及/或用于替換硬盤驅(qū)動器作為計算系統(tǒng)的主存儲裝置,這是因?yàn)楣虘B(tài)驅(qū)動器在性能、大小、重量、耐用性、操作溫度范圍及電力消耗方面可具有優(yōu)于硬盤驅(qū)動器的優(yōu)點(diǎn)。舉例來說,當(dāng)與磁盤驅(qū)動器相比時,存儲器系統(tǒng)可因其缺少移動部件而具有優(yōu)越性能,缺少移動部件可避免搜尋時間、延時及與磁盤驅(qū)動器相關(guān)聯(lián)的其它機(jī)電延遲。存儲器系統(tǒng)制造商可使用非易失性存儲器來形成存儲器系統(tǒng),所述存儲器系統(tǒng)可不使用內(nèi)部電池供電,因此允許驅(qū)動器更通用及緊湊。
[0005]存儲器系統(tǒng)可包含若干存儲器裝置,例如若干存儲器芯片。如所屬領(lǐng)域的技術(shù)人員將了解,存儲器芯片可包含若干裸片及/或邏輯單元(LUN),例如其中LUN可為一或多個裸片。每一裸片在其上可包含若干存儲器陣列及外圍電路。存儲器陣列可包含組織成若干物理頁的若干存儲器單元,且所述物理頁可組織成若干塊??扉W存儲器單元陣列可一次一頁地進(jìn)行編程及一次一塊地進(jìn)行擦除。在存儲器系統(tǒng)上執(zhí)行的操作(例如讀取、寫入及擦除操作)可受存儲器系統(tǒng)中可用于管理由存儲器系統(tǒng)中的存儲器裝置進(jìn)行的操作的資源量限制。
【附圖說明】
[0006]圖1是根據(jù)本發(fā)明的若干實(shí)施例的呈包含存儲器系統(tǒng)的計算系統(tǒng)的形式的設(shè)備的框圖。
[0007]圖2圖解說明根據(jù)本發(fā)明的若干實(shí)施例的用于存儲器系統(tǒng)中的命令排隊的方法的實(shí)例。
[0008]圖3圖解說明根據(jù)本發(fā)明的若干實(shí)施例的命令塊描述符的實(shí)例。
[0009]圖4A到D圖解說明根據(jù)本發(fā)明的若干實(shí)施例的用于執(zhí)行存儲器系統(tǒng)中的命令隊列中的命令的方法的實(shí)例。
[0010]圖5圖解說明根據(jù)本發(fā)明的若干實(shí)施例的包含在數(shù)據(jù)傳送請求中的數(shù)據(jù)傳送請求標(biāo)頭的實(shí)例。
[0011]圖6圖解說明根據(jù)本發(fā)明的若干實(shí)施例的用于存儲器系統(tǒng)中的命令排隊及命令執(zhí)行的方法的實(shí)例。
【具體實(shí)施方式】
[0012]本發(fā)明包含用于命令排隊的設(shè)備及方法。若干實(shí)施例包含:在存儲器系統(tǒng)處從主機(jī)接收經(jīng)排隊命令請求;將命令響應(yīng)從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),所述命令響應(yīng)指示所述存儲器系統(tǒng)準(zhǔn)備好在所述存儲器系統(tǒng)的命令隊列中接收命令;及響應(yīng)于發(fā)送所述命令響應(yīng)而在所述存儲器系統(tǒng)處從所述主機(jī)接收所述命令的命令描述符塊。
[0013]本發(fā)明的若干實(shí)施例可并入針對使用嵌入式多媒體卡(e.MMC)協(xié)議來控制的命令的命令排隊及同時命令執(zhí)行。新命令類別可經(jīng)引入并添加到e.MMC協(xié)議中的命令以允許在使用e.MMC協(xié)議時進(jìn)行命令排隊及同時命令執(zhí)行。經(jīng)排隊命令請求命令(例如,CMD43)、準(zhǔn)備傳送命令(例如,CMD 44)、任務(wù)管理功能請求命令(例如,CMD 45)、接收數(shù)據(jù)命令(例如,CMD46)及發(fā)送數(shù)據(jù)命令(例如,CMD 47)可作為命令類別添加到e.MMC協(xié)議。這些命令可并入到e.MMC協(xié)議中以允許在具有對存儲器系統(tǒng)的e.MMC狀態(tài)機(jī)的微小改變的情況下或在僅將一個狀態(tài)改變添加到存儲器系統(tǒng)的e.MMC狀態(tài)機(jī)的情況下進(jìn)行命令排隊及同時命令執(zhí)行。
[0014]如本文中所使用,“若干”某物可是指一或多個此類事物。舉例來說,若干存儲器單元可是指一或多個存儲器單元。此外,如本文中所使用,標(biāo)號“M”及“N”(尤其關(guān)于圖式中的元件符號)指示如此標(biāo)示的若干特定特征可與本發(fā)明的若干實(shí)施例包含在一起。
[0015]本文中的各圖遵循編號慣例,其中第一個數(shù)字或前幾個數(shù)字對應(yīng)于圖式圖編號,且其余數(shù)字識別所述圖式中的元件或組件。不同圖之間的類似元件或組件可通過使用類似數(shù)字來識別。舉例來說,104在圖1中可是指元件“04”,且在圖2中,類似元件可指代為204。
[0016]圖1是根據(jù)本發(fā)明的若干實(shí)施例的呈包含存儲器系統(tǒng)104的計算系統(tǒng)100的形式的設(shè)備的框圖。如本文中所使用,存儲器系統(tǒng)104、控制器125或存儲器裝置130-1.....130-N
也可單獨(dú)地視為“設(shè)備”。存儲器系統(tǒng)104可為若干存儲器系統(tǒng)中的任一者(例如存儲卡),且可包含主機(jī)接口 106、控制器125及為存儲器系統(tǒng)104提供存儲卷的多個存儲器裝置130-1、…、130-N(例如,例如NAND快閃裝置的固態(tài)存儲器裝置)。存儲器系統(tǒng)104可經(jīng)由主機(jī)接口106 (例如,底板或總線)通信地耦合到主機(jī)102。
[0017]主機(jī)102的實(shí)例可包含膝上型計算機(jī)、個人計算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄與回放裝置、移動電話、PDA、存儲器讀卡機(jī)及接口集線器以及其它主機(jī)系統(tǒng)。存儲器系統(tǒng)104可為云存儲聯(lián)網(wǎng)基礎(chǔ)設(shè)施的部分,舉例來說,存儲器系統(tǒng)104經(jīng)由主機(jī)接口 106耦合到主機(jī)102,主機(jī)接口 106可包含串行高級技術(shù)附件(SATA)、外圍組件互連高速(PCIe)、通用串行總線(USB)、光纖通道或以太網(wǎng)連接以及其它連接器及接口。然而,一般來說,主機(jī)接口 106可提供用于在存儲器系統(tǒng)104與主機(jī)102之間(舉例來說)在命令線及/或數(shù)據(jù)總線上傳遞控制、地址、數(shù)據(jù)及其它信號的接口。
[0018]主機(jī)102可包含通信地耦合到存儲器與總線控制件的若干處理器(例如,并行處理器、協(xié)處理器等)。所述若干處理器可為若干微處理器或一些其它類型的控制電路(舉例來說,例如若干專用集成電路(ASIC))。計算系統(tǒng)100的其它組件還可具有處理器。存儲器與總線控制件可使存儲器及其它組件直接通信地耦合到其,舉例來說,動態(tài)隨機(jī)存取存儲器(DRAM)、圖形用戶接口及/或其它用戶接口(例如,顯示監(jiān)視器、鍵盤、鼠標(biāo)等)。
[0019]控制器125可與存儲器(例如,存儲器裝置130-1到130-N)通信以控制數(shù)據(jù)讀取、寫入及擦除操作以及其它操作。舉例來說,控制器125可包含呈硬件及/或固件(例如,一或多個集成電路/邏輯)及/或軟件的形式的若干組件以用于控制對存儲器的存取及/或用于促進(jìn)主機(jī)102與存儲器之間的數(shù)據(jù)傳送。
[0020]在圖1中所圖解說明的實(shí)例中,控制器125包含命令隊列126及狀態(tài)寄存器127。然而,控制器125可包含未圖解說明以便不使本發(fā)明的實(shí)施例模糊的各種其它組件。而且,盡管命令隊列126及狀態(tài)寄存器127圖解說明為駐存于控制器125上,但在一些實(shí)施例中,命令隊列126及狀態(tài)寄存器127可(例如)作為獨(dú)立組件駐存于系統(tǒng)100中的別處或駐存于系統(tǒng)的不同組件上。
[0021]命令隊列126可包含已由存儲器系統(tǒng)104從主機(jī)102接收以用于執(zhí)行的若干命令。命令隊列126可包含與命令相關(guān)聯(lián)的信息,所述信息含納于命令隊列126中的命令中的每一者的命令描述符塊中。狀態(tài)寄存器127可為存儲命令隊列126中的命令中的每一者的狀態(tài)信息(舉例來說,例如任務(wù)休眠、任務(wù)啟用、任務(wù)完成、任務(wù)錯誤及/或任務(wù)中止)的寄存器。命令隊列126及狀態(tài)寄存器127可包含易失性存儲器單元(舉例來說,例如DRAM存儲器單元)及/或非易失性存儲器(舉例來說,例如快閃、RRAM、MRAM、STTRAM及/或PCRAM存儲器單元)以存儲與命令相關(guān)聯(lián)的信息。在命令隊列126中的命令的執(zhí)行期間從主機(jī)所接收的數(shù)據(jù)在被存儲于存儲器裝置130-1到130-N中之前可具有由ECC模塊對所述數(shù)據(jù)執(zhí)行的錯誤校正碼(ECC)操作。
[0022]存儲器系統(tǒng)104包含總線120以在存儲器裝置130-1、…、130-N與控制器125之間發(fā)送/接收各種信號及/或命令,例如數(shù)據(jù)信號、控制信號及/或地址信號等。盡管圖1所圖解說明的實(shí)例包含單個總線120,但在一些實(shí)施例中,存儲器系統(tǒng)104可包含若干總線,例如通道,例如若干單獨(dú)數(shù)據(jù)總線、控制總線及/或地址總線??偩€120由多個存儲器裝置130-
1、…、130-N共用且可具有各種類型的總線結(jié)構(gòu),所述總線結(jié)構(gòu)包含但不限于與開放NAND快閃接口(ONFI)相關(guān)的總線結(jié)構(gòu)。此外,總線120可包含各種類型的總線結(jié)構(gòu),所述總線結(jié)構(gòu)包含但不限于緊湊型快閃接口、多媒體卡(MMC)、安全數(shù)字(SD)、消費(fèi)型電子器件高級技術(shù)附件(CE-ATA)、工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)、微通道架構(gòu)(MSA)、擴(kuò)展式ISA(EISA)、智能驅(qū)動電子器件(IDE)、VESA局部總線(VLB)、外圍組件互連(PCI)、卡總線、通用串行總線(USB)、高級圖形端口(AGP)、個人計算機(jī)存儲卡國際協(xié)會總線(PCMCIA)、FireWire(IEEE 1394)及小計算機(jī)系統(tǒng)接口(SCSI)。舉例來說,總線120可為硬連線共享物理總線。
[0023]圖1中所圖解說明的計算系統(tǒng)100是此系統(tǒng)的一個實(shí)例;然而,本發(fā)明的實(shí)施例并不限于圖1中所展示的配置。
[0024]如圖1中所圖解說明,存儲器裝置130-1、…、130-N可包括若干裸片及/或芯片,所述若干裸片及/或芯片可包含為存儲器系統(tǒng)104提供存儲卷的若干存儲器陣列112-1、112-
2、…、112-M。存儲器陣列112-1、112-2、…、112-M在其上可包含外圍電路。在若干實(shí)施例中,存儲器陣列112-1、112-2、…、112-M可為存儲器系統(tǒng)104的能夠獨(dú)立地執(zhí)行來自主機(jī)102的命令及/或經(jīng)由主機(jī)接口 106將狀態(tài)發(fā)送到主機(jī)102的最小組件。舉例來說,存儲器陣列112-
1、112-2、…、112-M可包含具有NAND架構(gòu)的快閃存儲器陣列。然而,實(shí)施例并不限于特定類型的存儲器陣列或陣列架構(gòu)且可包含具有RRAM、MRAM、STTRAM及/或PCRAM存儲器單元的存儲器陣列。
[0025]圖1中所圖解說明的實(shí)施例可包含未圖解說明以便不使本發(fā)明的實(shí)施例模糊的額外電路、邏輯及/或組件。舉例來說,存儲器裝置130-1.....130-N可包含地址電路以鎖存經(jīng)由I/O電路提供于I/O連接器上方的地址信號。信號可由行解碼器及列解碼器接收并解碼以存取存儲器系統(tǒng)102。
[0026]圖2圖解說明根據(jù)本發(fā)明的若干實(shí)施例的用于存儲器系統(tǒng)中的命令排隊的方法的實(shí)例。在圖2中,經(jīng)排隊命令請求240-1(例如,CMD 43)可從主機(jī)202發(fā)送到存儲器系統(tǒng)204。經(jīng)排隊命令請求240-1可向存儲器系統(tǒng)204指示主機(jī)202想要針對存儲器系統(tǒng)204將命令發(fā)送到存儲器系統(tǒng)204以添加到存儲器系統(tǒng)204中的命令隊列。存儲器系統(tǒng)204可響應(yīng)于接收到所述經(jīng)排隊命令請求而將命令響應(yīng)242-1發(fā)送到主機(jī)。命令響應(yīng)242-1可包含設(shè)定為一
(I)的隊列繁忙位,從而指示存儲器系統(tǒng)204并未準(zhǔn)備好在命令隊列中接收命令,例如,命令隊列是滿的。當(dāng)主機(jī)202接收到具有設(shè)定為(I)的隊列繁忙位的命令響應(yīng)242-1時,主機(jī)202不將命令塊描述符往回發(fā)送到存儲器系統(tǒng)204。在若干實(shí)施例中,主機(jī)202可將若干經(jīng)排隊命令請求發(fā)送到存儲器系統(tǒng)204直到存儲器系統(tǒng)204往回發(fā)送具有設(shè)定為零(O)的隊列繁忙位的命令響應(yīng)為止。舉例來說,在一段時間之后,主機(jī)202可將包含與經(jīng)排隊命令請求240-1相同的信息的另一經(jīng)排隊命令請求240-P發(fā)送到存儲器系統(tǒng)204。如果存儲器系統(tǒng)204中的命令隊列準(zhǔn)備好接收待添加到命令隊列的命令,那么存儲器系統(tǒng)204可將具有設(shè)定為零(O)的隊列繁忙位的命令響應(yīng)242-0發(fā)送到主機(jī)202,命令響應(yīng)242-0指示存儲器系統(tǒng)204準(zhǔn)備好將命令添加到命令隊列。主機(jī)202將命令描述符塊244發(fā)送到存儲器系統(tǒng)204且存儲器系統(tǒng)204將命令描述符塊244中所描述的命令放置在命令隊列中。命令描述符塊244包含關(guān)于命令的使主機(jī)202及存儲器系統(tǒng)204能夠在其準(zhǔn)備好執(zhí)行命令時執(zhí)行命令的信息。
[0027]在若干實(shí)施例中,主機(jī)202可將任務(wù)管理功能請求命令(例如,CMD45)發(fā)送到存儲器系統(tǒng)204。任務(wù)管理功能請求命令可用于檢查狀態(tài)寄存器(例如圖1中的狀態(tài)寄存器127)以確定命令隊列(例如,圖1中的命令隊列126)中的命令中的每一者的狀態(tài)。存儲器系統(tǒng)204可將命令隊列中的命令中的每一者的狀態(tài)傳回到主機(jī)202。在若干實(shí)施例中,任務(wù)管理功能請求命令還可在具有中止命令隊列的指示的情況下從主機(jī)202發(fā)送到存儲器系統(tǒng)204,借此由存儲器系統(tǒng)204中止命令隊列中的命令中的每一者。此外,停止命令(例如,CMD 12及/或高優(yōu)先級中斷(HPI)命令)可從主機(jī)202發(fā)送到存儲器系統(tǒng)204,此將致使存儲器系統(tǒng)204中止命令隊列。
[0028]在若干實(shí)施例中,若干命令可在主機(jī)將若干經(jīng)排隊命令請求發(fā)送到存儲器系統(tǒng)且接著響應(yīng)于接收到指示命令隊列準(zhǔn)備好接收命令的若干命令響應(yīng)而將若干命令描述符塊發(fā)送到存儲器系統(tǒng)時添加到命令隊列。所述若干經(jīng)排隊命令請求可在命令線上從主機(jī)接收,使得所述經(jīng)排隊命令請求可由存儲器系統(tǒng)接收且由存儲器系統(tǒng)當(dāng)在存儲器系統(tǒng)中于數(shù)據(jù)總線上執(zhí)行來自命令隊列的命令時對其做出響應(yīng)。
[0029]圖3圖解說明根據(jù)本發(fā)明的若干實(shí)施例的命令塊描述符344的實(shí)例。在圖3中,命令塊描述符344包含提供與命令相關(guān)聯(lián)的信息的若干字段,因此所述命令可放置在命令隊列中且根據(jù)含納于命令塊描述符344中的信息而執(zhí)行。舉例來說,命令塊描述符可包含32個字節(jié)以及其它數(shù)目個字節(jié)。在此實(shí)例中,命令塊描述符344可包含32個字節(jié),其中字節(jié)O與命令操作代碼341相關(guān)聯(lián),字節(jié)I與命令優(yōu)先級信息343相關(guān)聯(lián),字節(jié)2是保留的,字節(jié)3與命令任務(wù)標(biāo)記345相關(guān)聯(lián),字節(jié)4到字節(jié)7與命令變元346相關(guān)聯(lián),字節(jié)8到字節(jié)11與命令起始地址348相關(guān)聯(lián),字節(jié)12到字節(jié)13是保留的,字節(jié)14到字節(jié)15與命令塊計數(shù)349相關(guān)聯(lián)且字節(jié)16到字節(jié)31是保留的。以實(shí)例方式,命令操作字節(jié)341可設(shè)定為對應(yīng)于讀取命令的值Olh。命令操作字節(jié)341可設(shè)定為對應(yīng)于寫入命令的值02h。命令優(yōu)先級信息343可指示命令隊列中的執(zhí)行優(yōu)先級次序。命令優(yōu)先級信息343字節(jié)可設(shè)定為值00h,所述值對應(yīng)于其中將命令無優(yōu)先級地放置在命令隊列中的簡單優(yōu)先級。命令優(yōu)先級信息343字節(jié)可設(shè)定為值Olh,所述值對應(yīng)于其中將命令放置在命令隊列中使得基于存儲器系統(tǒng)接收到所述命令的時間而按時間順序執(zhí)行所述命令的有序優(yōu)先級。命令優(yōu)先級信息343字節(jié)可設(shè)定為值02h,所述值對應(yīng)于其中命令是下一經(jīng)執(zhí)行命令的隊列頭部優(yōu)先級。命令任務(wù)標(biāo)記345字節(jié)可對應(yīng)于用于區(qū)分所述命令與命令隊列中的其它命令的唯一識別符。命令任務(wù)標(biāo)記字節(jié)345可設(shè)定為介于從OOh到FFh的范圍內(nèi)的值。命令變元346(例如,可靠寫入或強(qiáng)制編程請求)、命令起始地址348及命令塊349計數(shù)可設(shè)定為根據(jù)e.MMC協(xié)議的值。
[0030]在若干實(shí)施例中,命令描述符塊可包含任何數(shù)目個字節(jié),例如少于32個字節(jié)。舉例來說,當(dāng)經(jīng)排隊命令請求中包含例如命令優(yōu)先級、命令標(biāo)記、任務(wù)屬性、命令變元及/或塊計數(shù)以及其它信息等一些信息時,命令描述符塊可包含少于32個字節(jié)。
[0031]圖4A到D圖解說明根據(jù)本發(fā)明的若干實(shí)施例的用于執(zhí)行存儲器系統(tǒng)404中的命令隊列中的命令的方法的實(shí)例。在圖4A中,一旦主機(jī)402已將一或多個命令發(fā)送到存儲器系統(tǒng)404中的命令隊列,主機(jī)402便可在主機(jī)402準(zhǔn)備好發(fā)射或接收數(shù)據(jù)時將準(zhǔn)備傳送命令450(例如,CMD 44)發(fā)送到存儲器系統(tǒng)404。存儲器系統(tǒng)404可響應(yīng)于接收到準(zhǔn)備傳送命令450而將數(shù)據(jù)傳送請求452-0發(fā)送到主機(jī)402。數(shù)據(jù)傳送請求452-0可對應(yīng)于命令隊列中的準(zhǔn)備用于下一執(zhí)行的命令。在若干實(shí)施例中,如果存儲器系統(tǒng)404并未準(zhǔn)備好發(fā)送或接收數(shù)據(jù),那么數(shù)據(jù)傳送請求可提供否定響應(yīng)且不請求數(shù)據(jù)傳送。在若干實(shí)施例中,數(shù)據(jù)傳送請求可使用命令/響應(yīng)信號且不使用數(shù)據(jù)總線來遞送。數(shù)據(jù)傳送請求452-0可包含指示在執(zhí)行命令時的數(shù)據(jù)傳送方向的方向位。舉例來說,設(shè)定為I的方向位指示命令是寫入命令,其中數(shù)據(jù)從主機(jī)發(fā)送到存儲器系統(tǒng)。數(shù)據(jù)傳送請求452-0可包含用以識別正執(zhí)行來自命令隊列的哪一命令的命令標(biāo)記字段且還可包含用以指示應(yīng)傳送數(shù)據(jù)的哪些部分的數(shù)據(jù)偏移量字段及數(shù)據(jù)大小字段。在圖4A中,響應(yīng)于接收到準(zhǔn)備傳送命令而發(fā)送的數(shù)據(jù)傳送請求452-0包含設(shè)定為O的方向位,所述方向位指示命令是讀取命令,其中數(shù)據(jù)從存儲器系統(tǒng)發(fā)送到主機(jī)。數(shù)據(jù)傳送請求452-0中的設(shè)定為O的方向位允許存儲器系統(tǒng)404維持對總線的控制且將命令中所請求的讀取數(shù)據(jù)從存儲器系統(tǒng)404發(fā)送到主機(jī)402。存儲器系統(tǒng)404在數(shù)據(jù)傳送請求的方向位設(shè)定為O時保持處于發(fā)送數(shù)據(jù)狀態(tài),因此,在若干實(shí)施例中,具有設(shè)定為O的方向位的數(shù)據(jù)傳送請求不導(dǎo)致存儲器系統(tǒng)404中的狀態(tài)改變。在若干實(shí)施例中,存儲器系統(tǒng)可經(jīng)配置使得在存儲器系統(tǒng)404發(fā)送具有設(shè)定為O的方向位的數(shù)據(jù)傳送請求時,存儲器系統(tǒng)404保持處于發(fā)送數(shù)據(jù)狀態(tài)。
[0032]在圖4B中,一旦主機(jī)402已將一或多個命令發(fā)送到存儲器系統(tǒng)404中的命令隊列,主機(jī)402便可在主機(jī)402準(zhǔn)備好發(fā)射或接收數(shù)據(jù)時將準(zhǔn)備傳送命令450(例如,CMD 44)發(fā)送到存儲器系統(tǒng)404。存儲器系統(tǒng)404可響應(yīng)于接收到準(zhǔn)備傳送命令450而將數(shù)據(jù)傳送請求452-1發(fā)送到主機(jī)402,數(shù)據(jù)傳送請求452-1包含用以指示在命令的執(zhí)行期間的數(shù)據(jù)傳送方向的方向位。在若干實(shí)施例中,如果存儲器系統(tǒng)404并未準(zhǔn)備好發(fā)送或接收數(shù)據(jù),那么數(shù)據(jù)傳送請求可提供否定響應(yīng)且不請求數(shù)據(jù)傳送。在若干實(shí)施例中,數(shù)據(jù)傳送請求可使用命令/響應(yīng)信號且不使用數(shù)據(jù)總線來遞送。在圖4B中,響應(yīng)于接收到準(zhǔn)備傳送命令而發(fā)送的數(shù)據(jù)傳送請求452-1包含對應(yīng)于寫入命令的設(shè)定為I的方向位。數(shù)據(jù)傳送請求452-1可包含用以識別正執(zhí)行來自命令隊列的哪一命令的命令標(biāo)記字段且還可包含用以指示應(yīng)傳送數(shù)據(jù)的哪些部分的數(shù)據(jù)偏移量字段及數(shù)據(jù)大小字段。數(shù)據(jù)傳送請求452-1中的設(shè)定為I的方向位允許主機(jī)402控制總線并將命令中所請求的寫入數(shù)據(jù)從主機(jī)402發(fā)送到存儲器系統(tǒng)404。存儲器系統(tǒng)404在數(shù)據(jù)傳送請求452-1的方向位設(shè)定為I時從發(fā)送數(shù)據(jù)狀態(tài)轉(zhuǎn)變?yōu)榻邮諗?shù)據(jù)狀態(tài)。在若干實(shí)施例中,存儲器系統(tǒng)的狀態(tài)機(jī)可經(jīng)配置使得在存儲器系統(tǒng)404發(fā)送具有設(shè)定為I的方向位的數(shù)據(jù)傳送請求時,存儲器系統(tǒng)404從發(fā)送數(shù)據(jù)狀態(tài)改變?yōu)榻邮諗?shù)據(jù)狀態(tài)。
[0033]在圖4C中,一旦主機(jī)402已將一或多個命令發(fā)送到存儲器系統(tǒng)404中的命令隊列,主機(jī)402便可在主機(jī)402準(zhǔn)備好發(fā)射或接收數(shù)據(jù)時將準(zhǔn)備傳送命令450(例如,CMD 44)發(fā)送到存儲器系統(tǒng)450。存儲器系統(tǒng)404可響應(yīng)于接收到準(zhǔn)備傳送命令450而用數(shù)據(jù)傳送請求452-0對主機(jī)402做出響應(yīng),數(shù)據(jù)傳送請求452-0包含用以指示在命令的執(zhí)行期間的數(shù)據(jù)傳送方向的方向位。在若干實(shí)施例中,如果存儲器系統(tǒng)404并未準(zhǔn)備好發(fā)送或接收數(shù)據(jù),那么數(shù)據(jù)傳送請求可提供否定響應(yīng)且不請求數(shù)據(jù)傳送。在若干實(shí)施例中,數(shù)據(jù)傳送請求可使用命令/響應(yīng)信號且不使用數(shù)據(jù)總線來遞送。在圖4C中,響應(yīng)于接收到準(zhǔn)備傳送命令450而發(fā)送的數(shù)據(jù)傳送請求452-0包含對應(yīng)于讀取命令的設(shè)定為O的方向位。數(shù)據(jù)傳送請求452-0可包含用以識別正執(zhí)行來自命令隊列的哪一命令的命令標(biāo)記字段且還可包含用以指示應(yīng)傳送數(shù)據(jù)的哪些部分的數(shù)據(jù)偏移量字段及數(shù)據(jù)大小字段。主機(jī)402響應(yīng)于接收到具有設(shè)定為O的方向位的數(shù)據(jù)傳送請求452-0而將發(fā)送數(shù)據(jù)命令458(例如CMD 47)發(fā)送到存儲器系統(tǒng)404。發(fā)送數(shù)據(jù)命令458請求存儲器系統(tǒng)404將數(shù)據(jù)發(fā)送到主機(jī)402,因此存儲器系統(tǒng)404從傳送狀態(tài)轉(zhuǎn)變?yōu)榘l(fā)送數(shù)據(jù)狀態(tài)且存儲器系統(tǒng)404控制總線并將命令中所請求的讀取數(shù)據(jù)從存儲器系統(tǒng)404發(fā)送到主機(jī)402。當(dāng)已傳送全部數(shù)據(jù)時,存儲器系統(tǒng)404從發(fā)送數(shù)據(jù)狀態(tài)移動回到傳送狀態(tài)。在若干實(shí)施例中,存儲器系統(tǒng)的狀態(tài)機(jī)可經(jīng)配置使得存儲器系統(tǒng)404在發(fā)送傳送數(shù)據(jù)請求452-0之后從發(fā)送數(shù)據(jù)狀態(tài)改變?yōu)閭魉蜖顟B(tài)且接著在存儲器系統(tǒng)404接收到來自主機(jī)的發(fā)送數(shù)據(jù)命令458時從所述傳送狀態(tài)改變?yōu)榘l(fā)送數(shù)據(jù)狀態(tài)。
[0034]在圖4D中,一旦主機(jī)402已將一或多個命令發(fā)送到存儲器系統(tǒng)404中的命令隊列,主機(jī)402便可在主機(jī)402準(zhǔn)備好發(fā)射或接收數(shù)據(jù)時將準(zhǔn)備傳送命令450(例如,CMD 44)發(fā)送到存儲器系統(tǒng)404。存儲器系統(tǒng)404可響應(yīng)于接收到準(zhǔn)備傳送命令450而將數(shù)據(jù)傳送請求452-1發(fā)送到主機(jī)402,數(shù)據(jù)傳送請求452-1包含用以指示在命令的執(zhí)行期間的數(shù)據(jù)傳送方向的方向位。在若干實(shí)施例中,如果存儲器系統(tǒng)404并未準(zhǔn)備好發(fā)送或接收數(shù)據(jù),那么數(shù)據(jù)傳送請求可提供否定響應(yīng)且不請求數(shù)據(jù)傳送。在若干實(shí)施例中,數(shù)據(jù)傳送請求可使用命令/響應(yīng)信號且不使用數(shù)據(jù)總線來遞送。在圖4D中,響應(yīng)于接收到準(zhǔn)備傳送命令450而發(fā)送的數(shù)據(jù)傳送請求452-1包含對應(yīng)于寫入命令的設(shè)定為I的方向位。數(shù)據(jù)傳送請求452-1可包含用以識別正執(zhí)行來自命令隊列的哪一命令的命令標(biāo)記字段且還可包含用以指示應(yīng)傳送數(shù)據(jù)的哪些部分的數(shù)據(jù)偏移量字段及數(shù)據(jù)大小字段。主機(jī)402響應(yīng)于接收到具有設(shè)定為I的方向位的數(shù)據(jù)傳送請求452-1而將接收數(shù)據(jù)命令460(例如CMD 46)發(fā)送到存儲器系統(tǒng)404。接收數(shù)據(jù)命令460向存儲器系統(tǒng)404指示存儲器系統(tǒng)404將從主機(jī)402接收數(shù)據(jù),因此存儲器系統(tǒng)404從傳送狀態(tài)轉(zhuǎn)變?yōu)榻邮諗?shù)據(jù)狀態(tài)且存儲器系統(tǒng)404允許主機(jī)402控制總線并將命令中所請求的寫入數(shù)據(jù)從主機(jī)402發(fā)送到存儲器系統(tǒng)404。當(dāng)已傳送全部數(shù)據(jù)時,存儲器系統(tǒng)404從接收數(shù)據(jù)狀態(tài)移動回到傳送狀態(tài)。
[0035]在若干實(shí)施例中,存儲器系統(tǒng)的狀態(tài)機(jī)可經(jīng)配置使得存儲器系統(tǒng)404在發(fā)送傳送數(shù)據(jù)請求之后從發(fā)送數(shù)據(jù)狀態(tài)改變?yōu)閭魉蜖顟B(tài)且接著在存儲器系統(tǒng)404接收到來自主機(jī)402的接收數(shù)據(jù)命令460時從所述傳送狀態(tài)改變?yōu)榻邮諗?shù)據(jù)狀態(tài)。
[0036]在若干實(shí)施例中,當(dāng)在命令的執(zhí)行期間發(fā)錯誤時,所述命令失敗。存儲器系統(tǒng)可用具有錯誤位的命令響應(yīng)對來自主機(jī)的額外經(jīng)排隊命令請求做出響應(yīng),所述錯誤位指示在命令的執(zhí)行期間存在錯誤。主機(jī)還可以任務(wù)管理功能請求命令來查詢存儲器系統(tǒng)以接收對命令隊列中的命令的狀態(tài)的更新。
[0037]圖5圖解說明根據(jù)本發(fā)明的若干實(shí)施例的包含于數(shù)據(jù)傳送請求中的數(shù)據(jù)傳送請求標(biāo)頭552的實(shí)例。在圖5中,數(shù)據(jù)傳送請求標(biāo)頭552包含提供與命令相關(guān)聯(lián)的信息的若干字段,因此所述命令可由主機(jī)識別且由主機(jī)及存儲器裝置執(zhí)行。舉例來說,數(shù)據(jù)傳送請求標(biāo)頭可包含32個位以及其它數(shù)目個位。數(shù)據(jù)傳送請求標(biāo)頭552包含32個字節(jié),其中字節(jié)O到字節(jié)I是保留的,字節(jié)2與傳送方向551相關(guān)聯(lián),字節(jié)3與命令任務(wù)標(biāo)記545相關(guān)聯(lián),字節(jié)4到字節(jié)11是保留的,字節(jié)12到字節(jié)13與數(shù)據(jù)緩沖區(qū)偏移量553相關(guān)聯(lián),字節(jié)14到字節(jié)15與命令傳送長度555相關(guān)聯(lián),字節(jié)16到字節(jié)31是保留的。傳送方向551字節(jié)可設(shè)定為對應(yīng)于讀取命令的值00h。傳送方向551字節(jié)可設(shè)定為對應(yīng)于寫入命令的值Olh。命令任務(wù)標(biāo)記545字節(jié)可對應(yīng)于用于區(qū)分并識別所述命令與命令隊列中將執(zhí)行的其它命令的唯一識別符。命令任務(wù)標(biāo)記545字節(jié)可設(shè)定為介于從OOh到FFh的范圍內(nèi)的值。數(shù)據(jù)緩沖區(qū)偏移量553可為在任務(wù)的完整數(shù)據(jù)傳送內(nèi)的數(shù)據(jù)傳送的偏移量。數(shù)據(jù)傳送請求552可由任何數(shù)目個字節(jié)組成。舉例來說,當(dāng)數(shù)據(jù)傳送請求使用命令/響應(yīng)信號來遞送時,數(shù)據(jù)傳送請求可由少于32個字節(jié)組成,即使包含與先前所描述相同的字段。
[0038]圖6圖解說明根據(jù)本發(fā)明的若干實(shí)施例的用于存儲器系統(tǒng)中的命令排隊及命令執(zhí)行的方法的實(shí)例。圖6中所圖解說明的方法包含同時執(zhí)行的若干命令,其中在主機(jī)與存儲器系統(tǒng)之間在命令線上發(fā)送命令及命令響應(yīng),同時在存儲器系統(tǒng)與主機(jī)之間在數(shù)據(jù)總線上傳送與命令相關(guān)聯(lián)的數(shù)據(jù)。因此,在若干實(shí)施例中,數(shù)據(jù)總線可基于在命令線上發(fā)送的命令而由主機(jī)或存儲器系統(tǒng)控制且數(shù)據(jù)總線可在于命令線上發(fā)送命令時用于在主機(jī)與存儲器裝置之間傳送數(shù)據(jù)。舉例來說,可經(jīng)由在主機(jī)與存儲器系統(tǒng)之間發(fā)送的命令而將一命令添加到命令隊列,同時在主機(jī)與存儲器系統(tǒng)之間在數(shù)據(jù)總線上發(fā)送與命令隊列中的命令相關(guān)聯(lián)的數(shù)據(jù)。
[0039]在圖6中,與第一命令647-1相關(guān)聯(lián)的第一經(jīng)排隊命令請求640-1(例如,CMD 43)從主機(jī)602發(fā)送到存儲器系統(tǒng)604。第一命令647-1是4KB讀取命令。作為響應(yīng),存儲器系統(tǒng)604可發(fā)送命令響應(yīng)(未展示)且主機(jī)602可發(fā)送所述第一命令的命令塊描述符(未展示),因此第一命令647-1可添加到命令隊列。
[0040]與第二命令647-2相關(guān)聯(lián)的第二經(jīng)排隊命令請求640-2(例如,CMD 43)從主機(jī)602發(fā)送到存儲器系統(tǒng)604。第二命令647-2是16KB寫入命令。作為響應(yīng),存儲器系統(tǒng)604可發(fā)送命令響應(yīng)(未展示)且主機(jī)602可發(fā)送所述第二命令的命令塊描述符(未展示),因此第二命令647-2可添加到命令隊列。命令隊列現(xiàn)在具有兩個命令:準(zhǔn)備用于執(zhí)行的第一命令647-1及第二命令647-2。
[0041 ] 準(zhǔn)備傳送命令650-1(例如CMD 44)在命令線605上從主機(jī)602發(fā)送到存儲器系統(tǒng)604。在圖6中,存儲器系統(tǒng)604并未準(zhǔn)備好執(zhí)行命令并將指示此情況的命令響應(yīng)發(fā)送到主機(jī)602。在一段時間之后,主機(jī)602接著將準(zhǔn)備傳送命令650-1(例如,CMD 44)再次發(fā)送到存儲器系統(tǒng)604。存儲器系統(tǒng)604用識別所述命令、4KB讀取命令647-1及數(shù)據(jù)傳送方向的數(shù)據(jù)傳送請求652-1對準(zhǔn)備傳送命令650-1做出響應(yīng)。主機(jī)602響應(yīng)于接收到數(shù)據(jù)傳送請求652-1而發(fā)送發(fā)送數(shù)據(jù)命令658-1(例如,CMD 47),從而致使存儲器系統(tǒng)604控制數(shù)據(jù)總線606并發(fā)送與第一命令647-1相關(guān)聯(lián)的4KB數(shù)據(jù)657-1。
[0042]當(dāng)與第一命令647-1相關(guān)聯(lián)的4KB數(shù)據(jù)在數(shù)據(jù)總線606上從存儲器系統(tǒng)604發(fā)送到主機(jī)602時,準(zhǔn)備傳送命令650-2(例如CMD 44)及與第三命令647-3相關(guān)聯(lián)的第三經(jīng)排隊命令請求640-3(例如,CMD 43)在命令線605上從主機(jī)602發(fā)送到存儲器系統(tǒng)604。當(dāng)存儲器系統(tǒng)604發(fā)送對第三經(jīng)排隊命令請求640-3的命令響應(yīng)(未展示)且主機(jī)602可發(fā)送所述第三命令的命令塊描述符(未展示)因此第三命令647-3可添加到命令隊列時,第三命令647-3添加到命令隊列。存儲器系統(tǒng)604用識別第二命令647-2、16KB寫入命令、數(shù)據(jù)傳送方向及待傳送的數(shù)據(jù)的部分(例如數(shù)據(jù)偏移量及數(shù)據(jù)大小)的數(shù)據(jù)傳送請求652-2對準(zhǔn)備傳送命令650-2做出響應(yīng)。主機(jī)602響應(yīng)于接收到數(shù)據(jù)傳送請求652-2而發(fā)送接收數(shù)據(jù)命令660-2 (例如,CMD46),從而致使主機(jī)602控制數(shù)據(jù)總線606并將與第二命令647-2相關(guān)聯(lián)的8KB數(shù)據(jù)657-2發(fā)送到存儲器系統(tǒng)604。
[0043]當(dāng)與第二命令647-2相關(guān)聯(lián)的8KB數(shù)據(jù)在數(shù)據(jù)總線606上從主機(jī)602發(fā)送到存儲器系統(tǒng)604時,準(zhǔn)備傳送命令650-3(例如CMD 44)在命令線605上從主機(jī)602發(fā)送到存儲器系統(tǒng)604。存儲器系統(tǒng)604通過在命令線605上發(fā)送識別第三命令647-3、8KB讀取命令及數(shù)據(jù)傳送方向的數(shù)據(jù)傳送請求652-3而對準(zhǔn)備傳送命令650-3做出響應(yīng)。第三命令647-3中所指示的優(yōu)先級是高于命令647-2的優(yōu)先級,因此接下來執(zhí)行命令647-3且在執(zhí)行第三命令時暫停第二命令647-2的執(zhí)行(例如,其中與第二命令647-2相關(guān)聯(lián)的16KB中僅有8KB從主機(jī)602發(fā)送到存儲器系統(tǒng)604)。主機(jī)602響應(yīng)于接收到數(shù)據(jù)傳送請求652-3而發(fā)送發(fā)送數(shù)據(jù)命令658-3(例如,CMD 47),從而致使存儲器系統(tǒng)604控制數(shù)據(jù)總線606并發(fā)送與第三命令647-3相關(guān)聯(lián)的8KB數(shù)據(jù)657-3。
[0044]與第四命令647-4相關(guān)聯(lián)的第四經(jīng)排隊命令請求640-4(例如,CMD43)從主機(jī)602發(fā)送到存儲器系統(tǒng)604。第四命令647-4是8KB讀取命令。作為響應(yīng),存儲器系統(tǒng)604可發(fā)送命令響應(yīng)(未展示)且主機(jī)602可發(fā)送第四命令的命令塊描述符(未展示),因此第四命令647-4可添加到命令隊列。命令隊列現(xiàn)在具有三個命令:已經(jīng)部分地執(zhí)行的第二命令647-2,及正執(zhí)行的第三命令647-3,及準(zhǔn)備用于執(zhí)行的第四命令647-4。
[0045]當(dāng)與第三命令647-3相關(guān)聯(lián)的8KB數(shù)據(jù)在數(shù)據(jù)總線606上從存儲器系統(tǒng)604發(fā)送到主機(jī)602時,準(zhǔn)備傳送命令650-2(例如CMD 44)再次在命令線605上從主機(jī)602發(fā)送到存儲器系統(tǒng)604,使得第二命令647-2的執(zhí)行可重新開始。存儲器系統(tǒng)604用識別第二命令647-2、16KB寫入命令、數(shù)據(jù)傳送方向及待傳送的數(shù)據(jù)的部分(例如,數(shù)據(jù)偏移量及數(shù)據(jù)大小)的數(shù)據(jù)傳送請求652-2對準(zhǔn)備傳送命令650-2做出響應(yīng)。主機(jī)602響應(yīng)于接收到數(shù)據(jù)傳送請求652-2而發(fā)送接收數(shù)據(jù)命令660-2(例如,CMD 46),從而致使主機(jī)602控制數(shù)據(jù)總線606并將與第二命令647-2相關(guān)聯(lián)的8KB數(shù)據(jù)657-2發(fā)送到存儲器系統(tǒng)604以完成第二命令647-2的執(zhí)行。
[0046]當(dāng)與第二命令647-2相關(guān)聯(lián)的8KB數(shù)據(jù)在數(shù)據(jù)總線606上從主機(jī)602發(fā)送到存儲器系統(tǒng)604時,準(zhǔn)備傳送命令650-4(例如CMD 44)在命令線605上從主機(jī)602發(fā)送到存儲器系統(tǒng)604。存儲器系統(tǒng)604用識別第四命令647-4、8KB讀取命令及數(shù)據(jù)傳送方向的數(shù)據(jù)傳送請求652-4對準(zhǔn)備傳送命令650-4做出響應(yīng)。主機(jī)602響應(yīng)于接收到數(shù)據(jù)傳送請求652-4而發(fā)送發(fā)送數(shù)據(jù)命令658-4(例如,CMD 47),從而致使存儲器系統(tǒng)604控制數(shù)據(jù)總線606并發(fā)送與第四命令647-4相關(guān)聯(lián)的8KB數(shù)據(jù)657-4。
[0047]主機(jī)602將準(zhǔn)備傳送命令650-5及650-6發(fā)送到存儲器系統(tǒng)604,但命令隊列是空的,因此存儲器系統(tǒng)604將指示命令隊列為空的命令響應(yīng)(未展示)發(fā)送到主機(jī)602及/或存儲器系統(tǒng)604響應(yīng)于命令650-5及650-6而不發(fā)送數(shù)據(jù)傳送請求。
[0048]雖然本文中已圖解說明及描述了特定實(shí)施例,但所屬領(lǐng)域的技術(shù)人員將了解,旨在達(dá)成相同結(jié)果的布置可替代所展示的特定實(shí)施例。此揭示內(nèi)容打算涵蓋對本發(fā)明的若干實(shí)施例的更改或變化。應(yīng)理解,已以說明性方式而非限制性方式做出以上說明。在審閱以上說明之后,所屬領(lǐng)域的技術(shù)人員將明了以上實(shí)施例的組合及本文中未具體描述的其它實(shí)施例。本發(fā)明的若干實(shí)施例的范圍包含其中使用以上結(jié)構(gòu)及方法的其它應(yīng)用。因此,本發(fā)明的若干實(shí)施例的范圍應(yīng)參考所附權(quán)利要求書連同此權(quán)利要求書授權(quán)的等效物的全部范圍來確定。
[0049]在前述【具體實(shí)施方式】中,出于簡化本發(fā)明的目的,將一些特征一起聚集于單個實(shí)施例中。本發(fā)明的此方法不應(yīng)解釋為反映本發(fā)明的所揭示實(shí)施例必須使用比每一權(quán)利要求中明確陳述的特征多的特征的意圖。而是,如所附權(quán)利要求書反映,發(fā)明性標(biāo)的物在于少于單個所揭示實(shí)施例的所有特征。因此,特此將所附權(quán)利要求書并入到具體實(shí)施方案中,其中每一權(quán)利要求獨(dú)立地作為單獨(dú)實(shí)施例。
【主權(quán)項】
1.一種用于計算系統(tǒng)中的命令排隊的方法,其包括: 在存儲器系統(tǒng)處從主機(jī)接收經(jīng)排隊命令請求; 將命令響應(yīng)從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),所述命令響應(yīng)指示所述存儲器系統(tǒng)準(zhǔn)備好在所述存儲器系統(tǒng)的命令隊列中接收命令;及 響應(yīng)于發(fā)送所述命令響應(yīng)而在所述存儲器系統(tǒng)處從所述主機(jī)接收所述命令的命令描述符塊。2.根據(jù)權(quán)利要求1所述的方法,其中所述方法包含將所述命令描述符塊中所描述的所述命令添加到所述存儲器系統(tǒng)中的所述命令隊列。3.根據(jù)權(quán)利要求1所述的方法,其中所述命令描述符塊包含所述命令的優(yōu)先級信息。4.根據(jù)權(quán)利要求3所述的方法,其中所述優(yōu)先級信息包含指示將所述命令以執(zhí)行最高優(yōu)先級放置在所述命令隊列中的參數(shù)。5.根據(jù)權(quán)利要求3所述的方法,其中所述優(yōu)先級信息包含指示將所述命令以執(zhí)行時間順序優(yōu)先級放置在所述命令隊列中的參數(shù)。6.根據(jù)權(quán)利要求3所述的方法,其中所述優(yōu)先級信息包含指示將所述命令無執(zhí)行優(yōu)先級地放置在所述命令隊列中的參數(shù)。7.根據(jù)權(quán)利要求1到3中任一權(quán)利要求所述的方法,其中所述命令的所述命令描述符塊包含命令操作代碼、優(yōu)先級信息、任務(wù)標(biāo)記、命令變元、起始地址及塊計數(shù)。8.根據(jù)權(quán)利要求1到3中任一權(quán)利要求所述的方法,其中所述方法包含當(dāng)所述存儲器系統(tǒng)處于傳送狀態(tài)時在所述存儲器系統(tǒng)處接收所述經(jīng)排隊命令請求。9.根據(jù)權(quán)利要求1到3中任一權(quán)利要求所述的方法,其中所述方法包含響應(yīng)于發(fā)送所述命令響應(yīng)而使所述存儲器系統(tǒng)從傳送狀態(tài)改變?yōu)榻邮諣顟B(tài)。10.根據(jù)權(quán)利要求1到3中任一權(quán)利要求所述的方法,其中所述方法包含使用嵌入式多媒體卡e.MMC協(xié)議進(jìn)行命令排隊。11.一種用于存儲器系統(tǒng)中的命令排隊的方法,其包括: 響應(yīng)于在存儲器系統(tǒng)處從主機(jī)接收到經(jīng)排隊命令請求而將命令放置在命令隊列中,響應(yīng)于接收到所述經(jīng)排隊命令請求而將指示所述存儲器系統(tǒng)準(zhǔn)備好在所述存儲器系統(tǒng)的所述命令隊列中接收所述命令的命令響應(yīng)從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),且響應(yīng)于接收到所述命令響應(yīng)而在所述存儲器系統(tǒng)處從所述主機(jī)接收所述命令的命令描述符塊;及 通過以下方式執(zhí)行所述命令:在所述存儲器系統(tǒng)處從所述主機(jī)接收準(zhǔn)備傳送命令;及響應(yīng)于接收到所述準(zhǔn)備傳送命令而將數(shù)據(jù)傳送請求從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),其中所述數(shù)據(jù)傳送請求包含具有允許所述主機(jī)及存儲器系統(tǒng)上的命令執(zhí)行的信息的數(shù)據(jù)包。12.根據(jù)權(quán)利要求11所述的方法,其中執(zhí)行所述命令包含當(dāng)所述命令是寫入命令時在所述存儲器系統(tǒng)處從所述主機(jī)接收接收數(shù)據(jù)命令。13.根據(jù)權(quán)利要求12所述的方法,其中響應(yīng)于從所述主機(jī)接收到所述接收數(shù)據(jù)命令,所述存儲器系統(tǒng)轉(zhuǎn)變?yōu)榻邮諣顟B(tài)且所述主機(jī)將數(shù)據(jù)發(fā)送到所述存儲器系統(tǒng)。14.根據(jù)權(quán)利要求11到13中任一權(quán)利要求所述的方法,其中執(zhí)行所述命令包含當(dāng)所述命令是讀取命令時在所述存儲器系統(tǒng)處從所述主機(jī)接收發(fā)送數(shù)據(jù)命令。15.根據(jù)權(quán)利要求14所述的方法,其中響應(yīng)于從所述主機(jī)接收到所述發(fā)送數(shù)據(jù)命令,所述存儲器系統(tǒng)轉(zhuǎn)變?yōu)榘l(fā)送數(shù)據(jù)狀態(tài)且所述存儲器系統(tǒng)將數(shù)據(jù)發(fā)送到所述主機(jī)。16.—種用于存儲器系統(tǒng)中的命令執(zhí)行的方法,其包括: 在存儲器系統(tǒng)處從主機(jī)接收第一數(shù)目個經(jīng)排隊命令請求; 響應(yīng)于接收到所述第一數(shù)目個經(jīng)排隊命令請求而將第一數(shù)目個命令放置在所述存儲器系統(tǒng)中的命令隊列中; 通過以下方式執(zhí)行所述第一數(shù)目個命令:在所述存儲器系統(tǒng)處從所述主機(jī)接收第一數(shù)目個準(zhǔn)備傳送命令;及響應(yīng)于接收到所述第一數(shù)目個準(zhǔn)備傳送命令而將第一數(shù)目個數(shù)據(jù)傳送請求從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),其中所述第一數(shù)目個數(shù)據(jù)傳送請求各自包含具有允許所述主機(jī)及存儲器系統(tǒng)上的命令執(zhí)行的信息的數(shù)據(jù)包; 在所述存儲器系統(tǒng)處從所述主機(jī)接收第二數(shù)目個經(jīng)排隊命令請求; 響應(yīng)于接收到所述第二數(shù)目個經(jīng)排隊命令請求而將第二數(shù)目個命令放置在所述存儲器系統(tǒng)中的所述命令隊列中;及 中斷所述第一數(shù)目個命令的所述執(zhí)行且執(zhí)行所述第二數(shù)目個命令中的命令,其中所述第二數(shù)目個命令中的所述命令包含指示將所述命令以執(zhí)行最高優(yōu)先級放置在所述命令隊列中的參數(shù)。17.根據(jù)權(quán)利要求16所述的方法,其中所述方法包含通過以下方式執(zhí)行所述第二數(shù)目個命令中的所述命令:在所述存儲器系統(tǒng)處從所述主機(jī)接收準(zhǔn)備傳送命令;及響應(yīng)于接收到所述準(zhǔn)備傳送命令而將數(shù)據(jù)傳送請求從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),其中所述數(shù)據(jù)傳送請求包含具有允許所述主機(jī)及存儲器系統(tǒng)上的命令執(zhí)行的信息的數(shù)據(jù)包。18.根據(jù)權(quán)利要求16到17中任一權(quán)利要求所述的方法,其中所述方法包含:在所述存儲器系統(tǒng)處在命令線上從所述主機(jī)接收所述第二數(shù)目個經(jīng)排隊命令請求,同時在數(shù)據(jù)總線上經(jīng)由數(shù)據(jù)傳送而執(zhí)行所述第一數(shù)目個命令的至少一部分。19.根據(jù)權(quán)利要求16到17中任一權(quán)利要求所述的方法,所述方法包含同時執(zhí)行所述第一數(shù)目個命令中的兩者或兩者以上。20.根據(jù)權(quán)利要求19所述的方法,所述方法包含在已開始執(zhí)行所述第二數(shù)目個命令中的所述命令之后重新開始執(zhí)行所述第一數(shù)目個命令。21.根據(jù)權(quán)利要求19所述的方法,所述方法包含基于所述第一數(shù)目個命令中的每一者的優(yōu)先級信息而執(zhí)行所述第一數(shù)目個命令。22.一種設(shè)備,其包括: 控制器;及 存儲器裝置,其耦合到所述控制器,其中所述設(shè)備經(jīng)配置以: 在所述控制器處從主機(jī)接收經(jīng)排隊命令請求且響應(yīng)于接收到所述經(jīng)排隊命令請求而將命令響應(yīng)從所述控制器發(fā)送到所述主機(jī),所述命令響應(yīng)指示所述設(shè)備準(zhǔn)備好在命令隊列中接收命令;及 響應(yīng)于發(fā)送所述命令響應(yīng)而在所述控制器處從所述主機(jī)接收命令的命令描述符塊且將所述命令描述符塊中所描述的所述命令添加到所述控制器中的所述命令隊列; 在所述控制器處從所述主機(jī)接收準(zhǔn)備傳送命令且響應(yīng)于接收到所述準(zhǔn)備傳送命令而將數(shù)據(jù)傳送請求從所述控制器發(fā)送到所述主機(jī),其中所述數(shù)據(jù)傳送請求包含具有用以允許命令執(zhí)行的信息的數(shù)據(jù)包;及執(zhí)行所述命令。23.根據(jù)權(quán)利要求22所述的設(shè)備,其中設(shè)備經(jīng)配置以通過以下方式執(zhí)行所述命令:在所述控制器處從所述主機(jī)接收接收數(shù)據(jù)命令;從傳送狀態(tài)轉(zhuǎn)變?yōu)榻邮諗?shù)據(jù)狀態(tài);及在所述設(shè)備處從所述主機(jī)接收數(shù)據(jù)。24.根據(jù)權(quán)利要求22所述的設(shè)備,其中設(shè)備經(jīng)配置以通過以下方式執(zhí)行所述命令:在所述控制器處從所述主機(jī)接收發(fā)送數(shù)據(jù)命令;從傳送狀態(tài)轉(zhuǎn)變?yōu)榘l(fā)送數(shù)據(jù)狀態(tài);及將數(shù)據(jù)從所述存儲器裝置發(fā)送到所述主機(jī)。25.根據(jù)權(quán)利要求22到24中任一權(quán)利要求所述的設(shè)備,其中所述設(shè)備經(jīng)配置以從所述主機(jī)接收任務(wù)管理功能請求命令且將所述命令隊列中的若干命令中的每一者的狀態(tài)發(fā)送到所述主機(jī)。26.根據(jù)權(quán)利要求22到24中任一權(quán)利要求所述的設(shè)備,其中所述設(shè)備經(jīng)配置以從所述主機(jī)接收任務(wù)管理功能請求命令且中止所述命令隊列中的若干命令中的每一者。27.根據(jù)權(quán)利要求26所述的設(shè)備,其中設(shè)備經(jīng)配置以在中止所述命令隊列中的所述若干命令且從所述主機(jī)接收后續(xù)經(jīng)排隊命令請求后即刻將任務(wù)隊列狀態(tài)寄存器及例外事件狀態(tài)字段的隊列錯誤位復(fù)位。28.一種設(shè)備,其包括: 控制器;及 存儲器裝置,其耦合到所述控制器,其中所述設(shè)備經(jīng)配置以: 在所述控制器處從主機(jī)接收經(jīng)排隊命令請求且響應(yīng)于接收到所述經(jīng)排隊命令請求而將命令響應(yīng)從所述控制器發(fā)送到所述主機(jī),所述命令響應(yīng)指示所述設(shè)備準(zhǔn)備好在命令隊列中接收命令;及 響應(yīng)于發(fā)送所述命令響應(yīng)而在所述控制器處從所述主機(jī)接收命令的命令描述符塊且將所述命令描述符塊中所描述的所述命令添加到所述控制器中的所述命令隊列; 在所述控制器處從所述主機(jī)接收準(zhǔn)備傳送命令且響應(yīng)于接收到所述準(zhǔn)備傳送命令而將數(shù)據(jù)傳送請求從所述控制器發(fā)送到所述主機(jī),其中所述數(shù)據(jù)傳送請求包含具有用以允許命令執(zhí)行的信息的數(shù)據(jù)包;及執(zhí)行所述命令。29.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述設(shè)備經(jīng)配置以通過從所述主機(jī)接收數(shù)據(jù)而執(zhí)行所述命令,且其中所述設(shè)備經(jīng)配置以將對數(shù)據(jù)總線的控制改交給所述主機(jī)且從發(fā)送數(shù)據(jù)狀態(tài)轉(zhuǎn)變?yōu)榻邮諗?shù)據(jù)狀態(tài)。30.根據(jù)權(quán)利要求28到29中任一權(quán)利要求所述的設(shè)備,其中設(shè)備經(jīng)配置以通過將數(shù)據(jù)發(fā)送到所述主機(jī)而執(zhí)行所述命令,且其中所述設(shè)備經(jīng)配置以維持對所述數(shù)據(jù)總線的控制且保持處于發(fā)送數(shù)據(jù)狀態(tài)。31.—種設(shè)備,其包括: 存儲器系統(tǒng),其包括存儲器裝置;及 主機(jī),其耦合到所述存儲器系統(tǒng),其中所述設(shè)備經(jīng)配置以: 將第一數(shù)目個經(jīng)排隊命令請求從所述主機(jī)發(fā)送到所述存儲器系統(tǒng); 響應(yīng)于接收到所述第一數(shù)目個經(jīng)排隊命令請求而將第一數(shù)目個命令放置在所述存儲器系統(tǒng)中的命令隊列中; 將第一數(shù)目個準(zhǔn)備傳送命令從所述主機(jī)發(fā)送到所述存儲器系統(tǒng)且響應(yīng)于接收到所述第一數(shù)目個準(zhǔn)備傳送命令而將第一數(shù)目個數(shù)據(jù)傳送請求從所述存儲器系統(tǒng)發(fā)送到所述主機(jī),其中所述第一數(shù)目個數(shù)據(jù)傳送請求各自包含具有允許所述主機(jī)及存儲器系統(tǒng)上的命令執(zhí)行的信息的數(shù)據(jù)包; 通過以下方式同時執(zhí)行所述第一數(shù)目個命令:在命令線上將若干接收數(shù)據(jù)命令及若干發(fā)送數(shù)據(jù)命令從所述主機(jī)發(fā)送到所述存儲器系統(tǒng);及響應(yīng)于發(fā)送所述若干發(fā)送數(shù)據(jù)命令及所述若干接收數(shù)據(jù)命令而將數(shù)據(jù)從所述存儲器系統(tǒng)發(fā)送到所述主機(jī)且在數(shù)據(jù)總線上將數(shù)據(jù)從所述主機(jī)發(fā)送到所述存儲器系統(tǒng)。32.根據(jù)權(quán)利要求31所述的設(shè)備,其中所述設(shè)備經(jīng)配置以通過以下方式同時執(zhí)行所述第一數(shù)目個命令:在所述命令線上將所述若干接收數(shù)據(jù)命令及所述若干發(fā)送數(shù)據(jù)命令從所述主機(jī)發(fā)送到所述存儲器系統(tǒng),同時在所述數(shù)據(jù)總線上將數(shù)據(jù)從所述存儲器系統(tǒng)發(fā)送到所述主機(jī)。33.根據(jù)權(quán)利要求31所述的設(shè)備,其中所述設(shè)備經(jīng)配置以通過以下方式同時執(zhí)行所述第一數(shù)目個命令:在所述命令線上將所述若干接收數(shù)據(jù)命令及所述若干發(fā)送數(shù)據(jù)命令從所述主機(jī)發(fā)送到所述存儲器系統(tǒng),同時在所述數(shù)據(jù)總線上將數(shù)據(jù)從所述主機(jī)發(fā)送到所述存儲器系統(tǒng)。34.根據(jù)權(quán)利要求31到33中任一權(quán)利要求所述的設(shè)備,其中設(shè)備經(jīng)配置以: 將第二數(shù)目個經(jīng)排隊命令請求從所述主機(jī)發(fā)送到所述存儲器系統(tǒng)且響應(yīng)于接收到所述第一數(shù)目個經(jīng)排隊命令請求而將所述第二數(shù)目個命令放置在所述存儲器系統(tǒng)中的所述命令隊列中;及 中斷所述第一數(shù)目個命令的所述執(zhí)行且執(zhí)行所述第二數(shù)目個命令中的命令,其中所述第二數(shù)目個命令中的所述命令包含指示將所述命令以執(zhí)行最高優(yōu)先級放置在所述命令隊列中的參數(shù)。
【文檔編號】G06F9/38GK106030521SQ201580008744
【公開日】2016年10月12日
【申請日】2015年2月12日
【發(fā)明人】維克托·Y·蔡, 達(dá)尼洛·卡拉喬, 達(dá)尼埃萊·巴盧智, 尼爾·A·加爾博, 羅伯特·瓦倫
【申請人】美光科技公司