技術(shù)領(lǐng)域:
本發(fā)明的實施例總體上涉及一種計算系統(tǒng),更具體地講,涉及一種用于通信的系統(tǒng)。
背景技術(shù):
:現(xiàn)代消費和工業(yè)電子產(chǎn)品,特別是諸如圖形計算系統(tǒng)、服務(wù)器、電視、投影儀、蜂窩電話、便攜式數(shù)字助理和組合裝置的裝置,提供了越來越高級別的功能以支持現(xiàn)代生活。對現(xiàn)有技術(shù)的研究和開發(fā)可采取無數(shù)不同的方向。大多數(shù)電子產(chǎn)品需要數(shù)據(jù)存儲。待存儲的數(shù)據(jù)的通信是首要的。在提供靈活性以無縫地混合不同類型的存儲裝置和主機裝置時,存儲裝置與主機裝置之間的通信正在變得越來越復(fù)雜。因此,仍需要一種具有通信機制的計算系統(tǒng),其具有魯棒和可靠的機制,同時避免了基于專有信息的交互性問題。鑒于不斷增加的商業(yè)競爭壓力,以及增長的消費者預(yù)期和市場上的有意義的產(chǎn)品差異化的機會減少,尋找這些問題的答案日益重要。另外,對降低成本、提高效率和性能以及滿足競爭壓力的需求使尋找這些問題的答案的必要的緊迫性變大。長久以來一直在尋找這些問題的解決方案,但是之前的發(fā)展沒有教導或提出任何解決方案,因此,本領(lǐng)域技術(shù)人員為能找到這些問題的解決方案。技術(shù)實現(xiàn)要素:本發(fā)明的實施例提供一種計算系統(tǒng),包括:主機存儲器,包括驅(qū)動器和地址映射;主機中央處理單元,結(jié)合至主機存儲器,被構(gòu)造為利用驅(qū)動器將命令劃分成命令包,將命令包映射至地址映射,并且經(jīng)由命令地址介質(zhì)基于地址映射傳送命令包。本發(fā)明的實施例提供一種計算系統(tǒng),包括:主機接口,被構(gòu)造為對來自命令地址介質(zhì)的命令包進行解析;命令塊,結(jié)合至主機接口,被構(gòu)造為從命令包匯編出命令。本發(fā)明的實施例提供一種計算系統(tǒng)的控制的方法,包括:利用驅(qū)動器將命令劃分成命令包;將命令包映射至地址映射;經(jīng)由命令地址介質(zhì)基于地址映射傳送命令包。除了上述那些以外或者代替上述那些,本發(fā)明的某些實施方式具有其它步驟或元件。對于本領(lǐng)域技術(shù)人員而言通過參照附圖閱讀以下詳細描述,所述步驟或元件將變得顯而易見。附圖說明圖1是實施例的具有數(shù)據(jù)通信機制的計算系統(tǒng)的框圖的示例。圖2是用于實施例的計算系統(tǒng)所使用的通信機制的地址映射的示例的更詳細示圖。圖3是利用實施例的計算系統(tǒng)所使用的通信機制發(fā)布命令的流程圖的示例。圖4是利用實施例的計算系統(tǒng)所使用的通信機制檢索狀態(tài)的流程圖的示例。圖5是本發(fā)明的實施例的計算系統(tǒng)的操作方法的流程圖。具體實施方式各種實施例提供一種靈活的存儲器接口;其在使用諸如DDR的易失性存儲器接口的同時保留現(xiàn)有存儲型系統(tǒng)的功能。各種實施例使用命令地址介質(zhì)。作為具體示例,命令地址介質(zhì)可以是針對非易失性存儲器雙列直插存儲器模塊(NVM-DIMM)的基于命令和地址(CA)總線的協(xié)議,其完全獨立于主機中央處理單元(作為具體示例,中央處理單元(CPU)/平臺、算法及其實現(xiàn)方式),其可被應(yīng)用于具有任何糾錯碼(ECC)/加擾機制的任何系統(tǒng)上,從而允許廣泛的系統(tǒng)采用。換言之,可使用命令地址介質(zhì)來將命令或命令包傳送至基于存儲器通道的NVM-DIMM系統(tǒng),而非使用數(shù)據(jù)傳送介質(zhì)。實施例可提供靈活性以脫離主機計算機的數(shù)據(jù)傳送介質(zhì)的專有實現(xiàn)方式(可包括涉及專有糾錯碼(ECC)、加擾和調(diào)配(swizzling)的數(shù)據(jù)傳送)。各種實施例允許靈活地操作存儲器通道裝置,而無需從主機計算機(或者更具體地講,主機中央處理單元)知道保護信息的細節(jié)。實施例允許經(jīng)由命令地址介質(zhì)處理和傳輸裝置命令。同時,實施例使得主機計算機或主機中央處理單元能夠經(jīng)由用于傳送的數(shù)據(jù)介質(zhì)仍使用和發(fā)送保護信息(諸如,ECC保護/加擾/調(diào)配的數(shù)據(jù))。充分詳細地描述以下實施例以使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)并使用本發(fā)明。將理解,其它實施例將基于本公開顯而易見,在不脫離本發(fā)明的實施例的范圍的情況下可進行系統(tǒng)、處理或機制的改變。在以下描述中,給出了眾多具體細節(jié)以提供實施例的徹底理解。然而,將顯而易見的是,實施例可在沒有這些具體細節(jié)的情況下實踐。為了避免模糊實施例,一些公知電路、系統(tǒng)配置和處理步驟沒有詳細公開。示出系統(tǒng)的實施例的附圖是半圖解的,不按比例,具體地講,一些尺寸是為了清晰呈現(xiàn),在附圖中夸大示出。類似地,盡管為了方便描述,附圖中的視圖通常呈現(xiàn)相似的取向,圖中的這種描繪大多數(shù)情況下是隨意的。通常,實施例可按照任何取向來操作。為了描述方便,實施例可被編號為第一實施例、第二實施例等,并非意在具有任何其它含義或者對實施例提供限制。本文中所提及的術(shù)語“模塊”在本發(fā)明的實施例中根據(jù)使用術(shù)語的上下文可包括軟件、硬件或者其組合。例如,軟件可以是機器代碼、固件、嵌入代碼和應(yīng)用軟件。另外,例如,硬件可以是電路、處理器、計算機、集成電路、集成電路核心、壓力傳感器、慣性傳感器、微機電系統(tǒng)(MEMS)、無源裝置或其組合。另外,如果在下面的設(shè)備權(quán)利要求部分中撰寫了模塊,則所述模塊被認為包括用于設(shè)備權(quán)利要求的目的和范圍的硬件電路?,F(xiàn)在參照圖1,示出了本發(fā)明構(gòu)思的實施例的具有通信機制的計算系統(tǒng)100的框圖的示例。該框圖描繪了連接到主機計算機102的存儲系統(tǒng)101。在此示例中,主機計算機102可向計算系統(tǒng)100提供計算和接口資源。主機計算機102還可向計算系統(tǒng)100或者向計算系統(tǒng)100提供存儲資源或者對存儲資源進行接口連接。存儲系統(tǒng)101可向計算系統(tǒng)100(或者作為具體示例,主機計算機102)提供存儲容量或者擴展存儲容量。作為實施例的示例,主機計算機102可經(jīng)由特定存儲器接口(諸如,易失性存儲器接口或者作為更具體的示例,經(jīng)雙數(shù)據(jù)速率(DDR)易失性存儲器接口),與存儲系統(tǒng)101通信。為了靈活性,計算系統(tǒng)100可向主機計算機102和存儲系統(tǒng)101混合和匹配各種組合。例如,主機計算機102可被設(shè)計成與易失性存儲器(諸如早前提及的DDR)一起操作,而計算系統(tǒng)100想要更持久的存儲器(諸如非易失性存儲器,或者作為更具體的示例,固態(tài)盤(SSD)或閃速存儲器裝置)以用于存儲系統(tǒng)101。實施例允許主機計算機102在使用易失性存儲器接口(諸如DDR接口的物理層)的同時與作為非易失性存儲器的存儲系統(tǒng)101進行操作。出于示意性目的,計算系統(tǒng)100被描述成將主機計算機102與存儲系統(tǒng)101混合和匹配,但是將理解,針對計算系統(tǒng)100的配置可不同。例如,主機計算機102可連接至不是必須提供存儲功能的不同類型的系統(tǒng)。另外,例如,主機計算機102可使用存儲接口(諸如,易失性存儲器或DDR接口)以外的不同物理層接口。主機計算機102可使用DDR以外的不同通信協(xié)議。作為示例,主機計算機102可使用諸如用于局域網(wǎng)(LAN)、存儲域網(wǎng)絡(luò)(SAN)或城域網(wǎng)(MAN)的網(wǎng)絡(luò)協(xié)議接口。主機計算機102還可使用無線接口以及有線接口。返回主機計算機102的描述,主機計算機102可按照多種方式來實現(xiàn)。作為示例,主機計算機102可以作為服務(wù)器、工作站、路由器、臺式計算機、移動計算裝置或者其組合。主機計算機102可至少包括主機中央處理單元104以及結(jié)合至主機中央處理單元104的主機存儲器106。主機存儲器106可向主機計算機102提供指令代碼或數(shù)據(jù)存儲。作為示例,主機存儲器106可包括驅(qū)動器108和地址映射110。驅(qū)動器108可以是用于主機計算機102與存儲系統(tǒng)101交互以及主機計算機102的其它功能的代碼。地址映射110可提供用于主機計算機102可用來與存儲系統(tǒng)101交互的系統(tǒng)地址的系統(tǒng)地址信息。作為具體示例,主機計算機102可使用驅(qū)動器108利用地址映射110將命令130轉(zhuǎn)換為命令包131,如圖1中的虛線所描繪的。命令包131可被發(fā)送至存儲系統(tǒng)101。命令130是從主機計算機102發(fā)送至存儲系統(tǒng)101的操作指令。命令130的示例包括將數(shù)據(jù)寫入到存儲系統(tǒng)101的寫入命令或者從存儲系統(tǒng)101讀取數(shù)據(jù)的讀取命令。命令130的其它示例包括狀態(tài)查詢和清除命令。命令包131是將被發(fā)送至存儲系統(tǒng)101的針對各個命令130的部分。命令包131可包括基于命令130的格式(formatting)。命令130和命令包131將稍后進一步描述。主機中央處理單元104可提供用于主機計算機102的執(zhí)行硬件電路。主機中央處理單元104可從主機存儲器106檢索代碼或數(shù)據(jù)。出于示意性目的,在主機存儲器106與主機中央處理單元104相分離和不同的情況下描述計算系統(tǒng)100,但是將理解,計算系統(tǒng)100可被不同地配置。例如,主機中央處理單元104可包括主機存儲器106的至少一部分。主機中央處理單元104還可包括驅(qū)動器108的至少一部分。地址映射110也可至少部分地駐留于主機中央處理單元104內(nèi)。主機中央處理單元104可包括外圍接口112。外圍接口112可向主機計算機102提供接口功能以及提供來自主機計算機102的接口功能。作為示例,外圍接口112允許主機計算機102使用存儲系統(tǒng)101。主機中央處理單元104可按照多種不同的方式利用硬件電路來實現(xiàn)。例如,主機中央處理單元104可以是處理器、專用集成電路(ASIC)、嵌入式處理器、微處理器、硬件控制邏輯、硬件有限狀態(tài)機(FSM)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)或者其組合。外圍接口112可按照多種不同的方式利用硬件電路來實現(xiàn)。例如,外圍接口112可利用數(shù)字電路、模擬電路或者其組合來實現(xiàn)。另外,例如,外圍接口112可利用邏輯門、晶體管或者其組合來實現(xiàn)。在此示例中,存儲系統(tǒng)101可包括主機接口114、命令塊116、控制器118和存儲器接口120。主機接口114提供存儲系統(tǒng)101與主機計算機102(或者作為更具體的示例,外圍接口112)之間的通信功能。主機計算機102和存儲系統(tǒng)101可通過命令地址介質(zhì)122和數(shù)據(jù)介質(zhì)124進行通信。命令地址介質(zhì)122可提供命令、地址和控制的通信。命令地址介質(zhì)122可以是有線的或無線的。命令地址介質(zhì)122可按照雙向或單向的方式來操作。命令地址介質(zhì)122可按照全雙工或單工的方式工作。數(shù)據(jù)介質(zhì)124可提供數(shù)據(jù)的通信。數(shù)據(jù)介質(zhì)124可以是有線的或無線的。數(shù)據(jù)介質(zhì)124可按照雙向或單向的方式來操作。數(shù)據(jù)介質(zhì)124可按照全雙工或單工的方式工作。主機接口114可按照多種方式來實現(xiàn)。例如,主機接口114可利用包括數(shù)字電路、模擬電路、有限狀態(tài)機、可編程邏輯或電路、處理器核、處理器或者其組合的硬件電路來實現(xiàn)。在此實施例中,作為示例,命令塊116處理來自主機計算機102的命令包131。命令塊116還可與控制器118交互以用于處理命令包131。命令塊116還可從存儲器接口120檢索數(shù)據(jù)。另外,例如,控制器118可將接口提供給存儲系統(tǒng)101提供接口、提供存儲系統(tǒng)101的操作控制或者其組合。作為具體示例,控制器118可與存儲器接口120交互。存儲器接口120提供對外圍存儲器126的訪問。在此示例中,控制器118可執(zhí)行命令130以用于訪問外圍存儲器126(該外圍存儲器126可以是非易失性存儲器,諸如固態(tài)盤或者閃速存儲器裝置或者硬盤驅(qū)動器(HDD))??刂破?18可按照多種方式來實現(xiàn)。例如,控制器118可被實現(xiàn)為處理器、處理器核、專用集成電路(ASIC)、嵌入式處理器、微處理器、硬件控制邏輯、硬件有限狀態(tài)機(FSM)、數(shù)字信號處理器(DSP)、FPGA或其組合。另外,例如,控制器118可利用諸如數(shù)字電路或邏輯、模擬電路或其組合的硬件電路來實現(xiàn)。返回針對主機接口114的描述,主機接口114可包括命令包生成器(CPG)128、主機寫入緩沖器132和主機讀取緩沖器134。命令包生成器128生成或解析來自主機計算機102的命令包131。如稍后進一步描述的,命令包生成器128基于命令地址介質(zhì)122上承載的信息來生成或解析命令包131。主機寫入緩沖器132輔助在主機計算機102與存儲系統(tǒng)101之間傳送信息。作為示例,主機寫入緩沖器132可從命令地址介質(zhì)122、數(shù)據(jù)介質(zhì)124或其組合接收信息。主機寫入緩沖器132可用作存儲系統(tǒng)101的其它部分檢索和使用信息之前的臨時存儲。主機寫入緩沖器132可按照多種方式來實現(xiàn)。例如,主機寫入緩沖器132可被實現(xiàn)為處理器、處理器核、微處理器、硬件控制邏輯、硬件有限狀態(tài)機(FSM)、數(shù)字信號處理器(DSP)、FPGA或其組合。主機寫入緩沖器132還可利用諸如隨機存取存儲器(RAM)、邏輯寄存器或其組合的存儲器結(jié)構(gòu)來實現(xiàn)。作為更具體的示例,主機寫入緩沖器132可利用先入先出(FIFO)功能、鏈表或隊列來實現(xiàn)。主機讀取緩沖器134輔助在主機計算機102與存儲系統(tǒng)101之間傳送信息。作為示例,主機讀取緩沖器134可從命令塊116、控制器118、存儲器接口120或其組合接收信息。主機讀取緩沖器134可向命令地址介質(zhì)122、數(shù)據(jù)介質(zhì)124或其組合提供信息。主機讀取緩沖器134可用作主機計算機102檢索和使用信息之前的臨時存儲。主機讀取緩沖器134可按照多種方式來實現(xiàn)。例如,主機讀取緩沖器134可被實現(xiàn)為處理器、處理器核、微處理器、硬件控制邏輯、硬件有限狀態(tài)機(FSM)、數(shù)字信號處理器(DSP)、FPGA或其組合。主機讀取緩沖器134還可利用諸如隨機存取存儲器(RAM)、邏輯寄存器或其組合的存儲器結(jié)構(gòu)來實現(xiàn)。作為更具體的示例,主機讀取緩沖器134可利用先入先出(FIFO)功能、鏈表或隊列來實現(xiàn)。返回命令塊116的描述,作為示例,命令塊116可包括命令包匯編器(CPA)136、命令隊列138、配置狀態(tài)塊140、存儲器寫入緩沖器142、響應(yīng)緩沖器144或其組合。命令包匯編器136可將命令包131的序列或子序列累積成命令130之一的完整版本。命令包匯編器136的更多細節(jié)將稍后描述。命令塊116可按照多種方式來實現(xiàn)。例如,命令塊116可被實現(xiàn)為處理器、處理器核、專用集成電路(ASIC)、微處理器、硬件控制邏輯、硬件有限狀態(tài)機(FSM)、數(shù)字信號處理器(DSP)、FPGA或其組合。另外,例如,命令塊116可利用諸如數(shù)字電路或邏輯、模擬電路或其組合的硬件電路來實現(xiàn)。在此示例中,命令隊列138可提供用于命令130的完整版本的存儲。來自命令隊列138的命令130可由控制器118執(zhí)行。控制器118可與存儲器接口120交互以完成命令130的執(zhí)行。另外,在此示例中,配置狀態(tài)塊140可提供配置存儲系統(tǒng)101以及從存儲系統(tǒng)101檢索狀態(tài)信息141的能力。存儲器寫入緩沖器142輔助在存儲器接口120和主機寫入緩沖器132、控制器118、命令包匯編器136、命令隊列138、配置狀態(tài)塊140或其組合之間的信息傳送。作為示例,存儲器寫入緩沖器142可用作存儲系統(tǒng)101的其它部分檢索和使用信息之前的臨時存儲。響應(yīng)緩沖器144輔助在主機讀取緩沖器134與存儲系統(tǒng)101的其它部分之間的信息傳送。作為示例,響應(yīng)緩沖器144可將信息從存儲器接口120、配置狀態(tài)塊140、控制器118或其組合提供給主機讀取緩沖器134。此實施例可以是持久地更接近主機中央處理單元104移動數(shù)據(jù)(更一般地講,接近主機中央處理單元104移動數(shù)據(jù))的應(yīng)用示例,以用于進行性能改進、省電或其組合,特別是在大數(shù)據(jù)時代。已發(fā)現(xiàn),實施例提供一種在使用諸如DDR的易失性存儲器接口的同時保留現(xiàn)有存儲系統(tǒng)的功能的靈活的存儲器接口。各種實施例針對非易失性存儲器雙列直插存儲器模塊(NVM-DIMM)而利用命令地址介質(zhì)122(作為具體示例,基于命令和地址(CA)總線的協(xié)議),其完全獨立于主機中央處理單元104(作為具體示例,中央處理單元(CPU)/平臺、算法及其實現(xiàn)方式),其可被應(yīng)用于具有任何ECC/加擾機制的任何系統(tǒng)上,從而允許廣泛的系統(tǒng)采用。換言之,可使用命令地址介質(zhì)122來傳送命令130或命令包131,而非使用數(shù)據(jù)介質(zhì)124。實施例可提供靈活性以脫離主機計算機102在數(shù)據(jù)介質(zhì)124上的專有實現(xiàn)方式(可包括涉及專有糾錯碼(ECC)、加擾和調(diào)配的數(shù)據(jù)傳送)。作為此實施例的更具體的示例,計算系統(tǒng)100可使用命令地址介質(zhì)122,而非數(shù)據(jù)介質(zhì)124來將命令130作為命令包131從主機計算機102傳送給存儲系統(tǒng)101。命令130(或者作為具體示例,命令包131)的示例可包括SSD命令,諸如,寫入數(shù)據(jù)、讀取數(shù)據(jù)、讀取狀態(tài)、配置命令、清除命令或其組合。計算系統(tǒng)100或主機計算機102可利用驅(qū)動器108來使用系統(tǒng)地址中的預(yù)定地址空間和地址映射110經(jīng)由命令地址介質(zhì)122傳送命令130(或者作為具體示例,命令包131)。繼續(xù)此示例,計算系統(tǒng)100可利用數(shù)據(jù)介質(zhì)124來在主機計算機102和存儲系統(tǒng)101之間傳送數(shù)據(jù)。與經(jīng)由數(shù)據(jù)介質(zhì)124的數(shù)據(jù)關(guān)聯(lián)的其它信息(這種其它信息包括ECC編碼、加擾、調(diào)配或其組合)可被當作數(shù)據(jù)并且在不被改變的情況下被存儲在存儲系統(tǒng)101中,并且無需知道ECC、加擾器和調(diào)配器的細節(jié)。主機計算機102可經(jīng)由命令地址介質(zhì)122來傳送在哪里存儲此數(shù)據(jù)的地址信息(諸如外圍存儲器126的存儲器區(qū)域)。進一步繼續(xù)此示例,計算系統(tǒng)100可通過數(shù)據(jù)介質(zhì)124檢索狀態(tài)信息141以用于由存儲系統(tǒng)101執(zhí)行命令130??蓮呐渲脿顟B(tài)塊140檢索狀態(tài)信息141。作為更具體的示例,經(jīng)由命令地址介質(zhì)122的命令130(或者作為具體示例,命令包131)可包括狀態(tài)查詢、命令查詢和配置讀取。這些類型的命令130也可通過命令包生成器128、命令包匯編器136或其組合來處理。在此示例中,命令包匯編器136一次處理命令130之一。一旦通過命令包匯編器136處理了命令包131的所有字段,完成的或者完整的命令130可被移至命令隊列138。另外,命令包生成器128可解析來自命令地址介質(zhì)122的地址比特。地址比特的示例包括體組、體(bank)、行和列信息。另外,作為示例,配置狀態(tài)塊140中的狀態(tài)信息141可直接由主機計算機102利用對系統(tǒng)地址空間進行重映射的地址映射110直接訪問以便于讀取?,F(xiàn)在參照圖2,這里示出了實施例的用于圖1的計算系統(tǒng)100所使用的通信機制的地址映射110的示例的更詳細的示圖。如早前所述,地址映射110使圖1的主機計算機102能夠與圖1的存儲系統(tǒng)101交互。作為具體示例,主機計算機102可使用地址映射110利用圖1的驅(qū)動器108以通過圖1的命令地址介質(zhì)122(而非圖1的數(shù)據(jù)介質(zhì)124)來傳送圖1的命令130。來自命令地址介質(zhì)122的命令130可由圖1的命令包生成器128、圖1的命令包匯編器136或其組合來處理。作為示例,圖2中所描繪的地址映射110是用于DDR的接口,即使存儲系統(tǒng)101可包括非易失性存儲器??舍槍w組202或者體組202中的體204來組織地址映射110。作為具體示例,在地址映射110中,可用4個比特來表示體組202,體204可按照從0至F的十六進制地址來表示。另外,在地址映射110中可像針對DDR地址的示例中一樣來提供行和列地址。根據(jù)圖1的外圍存儲器126的具體情況,行地址可為14至18比特,列地址可為10比特,但是在其它實施例中可使用其它大小。在此示例中,地址映射110可被劃分成不同的程序區(qū)域。體204中的一個體可被專用于寫入端口206。寫入端口206允許主機計算機102向存儲系統(tǒng)101寫入數(shù)據(jù)。體204中另一個體可被專用于讀取端口208。讀取端口208允許主機計算機102從存儲系統(tǒng)101讀取數(shù)據(jù)。繼續(xù)此示例,體204中的另一體可被專用于狀態(tài)讀取端口210。狀態(tài)讀取端口210允許主機計算機102讀取針對發(fā)送至存儲系統(tǒng)101的命令130的圖1的狀態(tài)信息141。體204中的另一體可被專用于狀態(tài)配置讀取或清除212。狀態(tài)配置讀取或清除212允許主機計算機102從存儲系統(tǒng)101讀取配置或者清除存儲系統(tǒng)101中的配置。在此示例中,地址映射110還具有多個命令端口214,各個命令端口214具有多個體204,以用于將圖1的各個命令130作為圖1的命令包131從主機計算機102傳送給存儲系統(tǒng)101。標記為0至5的體204可共同地表示命令端口0(標記為端口0.0至0.5)。標記為8至D的體204可共同地表示命令端口1(標記為端口1.0至1.5)。在此示例中,主機計算機102可使用驅(qū)動器108以確保主機計算機102對存儲系統(tǒng)101的各個訪問被轉(zhuǎn)換至地址映射110中的適當體204。作為具體示例,命令包131可被映射至地址映射110的適當端口以傳送命令130。下表1描繪了命令包131的示例。標記為“字段”的列表示用于各個命令包131的部分的功能。標記為“寬度”的列表示用于該特定字段的比特的數(shù)量。標記為“注釋”的列提供該字段的簡短功能描述。表1:命令包字段寬度注釋VALID_MASK8保護(由于垃圾值導致的)無效操作STREAM_ID8用于分離的數(shù)據(jù)的重新匯編CMD_ID16命令標簽FEATURE16關(guān)于主機接口的信息OPCODE16命令的操作代碼SECTOR_COUNT16用于寫入的數(shù)據(jù)塊大小LBA48LBA??紤]塊大小CRC8命令的CRC,用于信號傳送保護STREAM_ID可由命令包匯編器136用來將命令包131的子序列匯編成一個完整命令130。CRC是循環(huán)冗余校驗的縮寫,但是此字段可使用任何檢錯方案或代碼?,F(xiàn)在參照圖3,這里示出了實施例的利用圖1的計算系統(tǒng)100所使用的通信機制發(fā)布命令130的流程圖的示例。作為此實施例的示例,流程圖可包括命令發(fā)布302、命令傳輸304、命令提取306和命令匯編308。命令發(fā)布302準備將從圖1的主機計算機102發(fā)送的命令130。作為示例,主機計算機102(或者作為具體示例,主機中央處理單元104)可利用驅(qū)動器108處理命令130。此處理可將各個命令130適當?shù)胤指罨騽澐殖蓤D2的地址映射110的字段。此處理還可將各個命令130分割或劃分成圖1的命令包131。作為具體示例,驅(qū)動器108可指示將各個命令130打碎成命令包131或者存儲器訪問的子序列,并且將命令包131映射至地址映射110的適當端口。流程可前進至命令傳輸304。命令傳輸304從主機計算機102發(fā)送命令130。作為示例,主機計算機102(或者作為具體示例,主機中央處理單元104)可將分割或劃分的命令130(或者換言之,命令包131)發(fā)送至存儲系統(tǒng)101。主機計算機102可利用體204發(fā)送命令包131以經(jīng)由命令地址介質(zhì)122(而非經(jīng)由數(shù)據(jù)介質(zhì)124)發(fā)送圖2的適當字段。類似地,存儲系統(tǒng)101經(jīng)由命令地址介質(zhì)122(而非經(jīng)由數(shù)據(jù)介質(zhì)124)接收命令包131。在圖3所示的示例中,正被處理的命令130是寫入命令,命令包131被示出于標記為0、4、1、3、5和2的體204中。主機計算機102或者主機中央處理單元104可經(jīng)由命令地址介質(zhì)122發(fā)布6個存儲器寫入,針對標記為0至5的體204的地址映射110中的每個命令端口是一個存儲器寫入??蔀樽x取命令或?qū)懭朊畋A裘疃丝诨蛘吒鱾€體204。主機計算機102仍可正常地對外圍存儲器126執(zhí)行直接讀取或?qū)懭?。流程可前進至命令提取306。直接讀取或?qū)懭氡硎緛碜灾鳈C中央處理單元104的數(shù)據(jù)可在沒有ECC解碼/編碼、解擾/加擾、也不涉及調(diào)配的情況下從存儲系統(tǒng)101讀取/寫入到存儲系統(tǒng)101。命令提取306從主機計算機102接收命令包131。命令提取306還從經(jīng)由命令地址介質(zhì)122接收的信息解析出命令包131。作為示例,存儲系統(tǒng)101(作為具體示例,主機接口114)可從命令地址介質(zhì)122接收命令包131。作為實施例的示例,圖1的命令包生成器136解析并提取從圖1的命令地址介質(zhì)122、主機寫入緩沖器132或其組合接收的包括命令包131信息。流程可前進至命令匯編308。命令匯編308從命令包131構(gòu)成完整命令130。作為示例,圖1的命令塊116(或者作為具體示例,圖1的命令包匯編器136)基于命令傳輸304中所使用的體204的體號將命令包131排序成正確的順序。還可基于命令包131中的STREAM_ID字段(示出于表1中)來對命令包131進行排序。另外,命令匯編308還可對各個命令包131或者由命令包匯編器136匯編的命令130執(zhí)行錯誤檢測。錯誤檢測可基于表1所示的CRC字段來進行。一旦錯誤檢測通過,匯編的命令130就可被發(fā)送至圖1的命令隊列138。出于示意性目的,從命令發(fā)布302至命令匯編308的流程圖被示出為線性和單向流程,但是將理解,流程圖可不同。例如,流程圖中可存在并行的活動。在命令匯編308正在處理命令130中的一個命令時,命令提取306可并行處理命令130中的另一命令,其中命令提取306和命令匯編308二者可均在存儲系統(tǒng)101中執(zhí)行。另外,可利用命令傳輸304并行處理命令130中的另一命令,以及利用命令發(fā)布302的并行操作(在此示例中,在主機計算機102中執(zhí)行)。術(shù)語“并行”表示利用重疊操作來執(zhí)行,而無需等待利用圖3所示的整個流程進行并完成命令130中的一個命令,然后在圖3中的流程的不同階段處理命令130中的另一命令。類似地,甚至在命令傳輸304完成較早命令130的處理之前,命令發(fā)布302可使用地址映射110中的不同命令端口。作為實施例的示例,一個命令130處理的限制可被實施為:一個命令130必須完全從命令傳輸304移除,然后那些命令端口中的任何命令端口才可用于下一命令130。另外,例如,流程圖可具有迭代和循環(huán)。在命令匯編308中的錯誤檢測的示例中,代替將錯誤版本的命令130發(fā)送至命令隊列138,流程可從命令匯編308返回到命令發(fā)布302、命令傳輸304、命令提取306或其組合?,F(xiàn)在參照圖4,這里示出了在實施例的利用圖1的計算系統(tǒng)100所使用的通信機制檢索圖1的狀態(tài)信息141的流程圖的示例。表2包括圖1的配置狀態(tài)塊140中的狀態(tài)信息141的示例。表2:狀態(tài)每一個CMD_ID表示用于操作存儲系統(tǒng)101的存儲器裝置的命令。例如,命令可以是讀取、寫入、狀態(tài)查詢、清除或其組合。所有命令均預(yù)定義,并且可指派有唯一標識。圖4中所描繪的流程圖是讀取狀態(tài)信息141的處理的示例。此示例描繪了在圖1的存儲系統(tǒng)101內(nèi)發(fā)生的處理。在此示例中,命令處理可像圖3中一樣描述,并且為了簡明地示出,圖中未示出那部分的流程圖。在此示例中,流程圖可包括狀態(tài)準備402、狀態(tài)加載404、冗余映射406和狀態(tài)返回408。狀態(tài)準備402指示正被請求的適當?shù)臓顟B(tài)信息141。狀態(tài)信息141的示例示出于表2中。狀態(tài)加載404加載針對狀態(tài)請求的讀取端口寄存器410。冗余映射406基于狀態(tài)信息141提供可用于錯誤檢測或糾錯的保護信息412。保護信息412還可包括數(shù)據(jù)的加擾和調(diào)配(二者均可為專有的,不容易知道)。狀態(tài)返回408提供狀態(tài)信息141以及保護信息412(如果有的話)。保護信息412通常為專有的,實施例使得數(shù)據(jù)能夠作為無需知道ECC、加擾、調(diào)配或其組合的細節(jié)的數(shù)據(jù)而被存儲在存儲系統(tǒng)101中。已發(fā)現(xiàn),實施例允許靈活地利用通信機制操作,而無需知道來自該通信機制的主機計算機102(或者更具體地講,主機中央處理單元104)的保護信息412的細節(jié)。實施例允許經(jīng)由命令地址介質(zhì)122處理和傳輸命令130。此外,實施例使得主機計算機102或主機中央處理單元104能夠仍經(jīng)由數(shù)據(jù)介質(zhì)124使用和發(fā)送保護信息412。作為示例,圖1的主機計算機102可通過利用圖3的命令發(fā)布302發(fā)布圖3的寫入命令130來請求狀態(tài)。圖3的命令傳輸340可經(jīng)圖2的命令地址介質(zhì)122利用所請求的特定狀態(tài)信息141的適當標識來傳送針對狀態(tài)信息141的命令130(作為更具體的示例,作為命令包131)。如此示例中一樣,所述標識可以是表2中所示的狀態(tài)信息141的字段之一。存儲系統(tǒng)101可利用圖3中所描述的流程的至少一部分來處理針對狀態(tài)信息141的命令130。作為具體示例,圖1的命令包生成器128可針對圖1的命令包131分割或劃分來自命令地址介質(zhì)122的信息。圖1的命令包匯編器136可對命令包131進行排序。在完全匯編之后,命令130可從命令包匯編器136發(fā)送至配置狀態(tài)塊140。在此示例中,配置狀態(tài)塊140可執(zhí)行狀態(tài)準備402。可將來自命令130的標識與如表2所示的狀態(tài)信息141的字段之一進行匹配??蛇x擇與標識匹配的狀態(tài)信息141,并且存儲系統(tǒng)101可向狀態(tài)加載404指示該部分的狀態(tài)信息141。狀態(tài)加載404可將來自狀態(tài)準備402的狀態(tài)信息141加載到讀取端口寄存器410。作為示例,可通過圖2的地址映射110和圖2的狀態(tài)讀取端口210來訪問讀取端口寄存器410。另外,例如,讀取端口寄存器41可以是圖1的響應(yīng)緩沖器144的一部分或在其外部。另外,作為示例,讀取端口寄存器410可以是圖1的主機讀取緩沖器134的一部分或在其外部。流程可從狀態(tài)加載404繼續(xù)進行到冗余映射406。冗余映射406提供與讀取端口寄存器410中的狀態(tài)信息141關(guān)聯(lián)的保護信息412。冗余映射406可按照多種方式提供保護信息412。例如,可通過利用從存儲系統(tǒng)101發(fā)送至主機計算機102的狀態(tài)信息141進行訓練來獲得保護信息412。訓練可基于已知的表2中的狀態(tài)信息141的各種字段,保護信息412未知。作為具體示例,訓練可由圖1的命令塊116、圖1的控制器118或其組合來執(zhí)行。利用已知允許計算出保護信息412是什么,該保護信息412可被存儲在查找表(LUT)中。保護信息412可以是LUT中的條目,其中,狀態(tài)信息141的值可用作對LUT的索引??赏ㄟ^多種觸發(fā)來調(diào)用冗余映射406的執(zhí)行。作為示例,可基于作為指明狀態(tài)信息141的哪一字段的標識被請求的寫入函數(shù)的命令130來執(zhí)行冗余映射406。作為另一示例,可基于用于讀取狀態(tài)信息141的命令130來執(zhí)行冗余映射406,其描述如下。主機計算機102可發(fā)布用于讀取狀態(tài)信息141和關(guān)聯(lián)的保護信息412的命令130。作為示例,主機計算機102可執(zhí)行狀態(tài)信息141的直接讀取,而不使用命令發(fā)布302或命令傳輸304??衫弥鳈C計算機102通過發(fā)布關(guān)于命令地址介質(zhì)122的讀取端口寄存器410的地址來執(zhí)行直接讀取。狀態(tài)返回408可操作,使得讀取端口寄存器410可經(jīng)由圖1的數(shù)據(jù)介質(zhì)124返回狀態(tài)信息141和關(guān)聯(lián)的保護信息412。作為具體示例,如果命令130為寫入圖2的體組202E(十六進制)或者圖2的狀態(tài)配置讀取或清除212的“RdStatus”,則已被指明的狀態(tài)信息141被移至讀取端口寄存器410。使用讀取端口寄存器410中的值來從LUT檢索保護信息412。狀態(tài)信息141、保護信息412或其組合可被移至配置狀態(tài)塊140、主機讀取緩沖器134或其組合以由主機計算機102讀取。如果命令130被寫入體組202F(十六進制),則狀態(tài)信息141、保護信息412或其組合被配置狀態(tài)塊140、主機讀取緩沖器134或其組合讀出。如果命令130是寫入體組202E(十六進制)的“ClrStatus”,則狀態(tài)信息141的部分可被清除?,F(xiàn)在參照圖5,這里示出了本發(fā)明的實施例的計算系統(tǒng)100的操作方法的流程圖。該方法500包括:在方框502中利用驅(qū)動器將命令劃分成命令包;在方框504中,將命令包映射至地址映射;以及,在方框506中,經(jīng)由命令地址介質(zhì)基于地址映射傳送命令包。作為示例,方框502可由圖1的主機計算機102(或者作為具體示例,由圖1的主機中央處理單元104)執(zhí)行。另外,作為示例,方框504可由主機計算機102(或者作為具體示例,由主機中央處理單元104)執(zhí)行。另外,例如,方框506可由主機計算機102(或者作為具體示例,由圖1的外圍接口112)執(zhí)行。方框506還可進一步包括訪問地址映射的體。方框506還可進一步包括基于地址映射傳送用于寫入的命令以請求狀態(tài)信息,并且方法500進一步包括發(fā)布用于讀取狀態(tài)信息的另一命令。方法500可進一步包括對來自命令地址介質(zhì)的命令包進行解析或者從來自命令地址介質(zhì)的命令包匯編出命令。方法500可進一步包括:進行訓練以計算保護信息或者經(jīng)由數(shù)據(jù)介質(zhì)接收保護信息。方法500可進一步包括對命令包進行排序以對命令進行匯編或者不經(jīng)由數(shù)據(jù)介質(zhì)接收命令包,此排序可由圖1的命令塊116執(zhí)行。方法500還可進一步包括由圖1的存儲系統(tǒng)101提供非易失性存儲。所得方法、處理、設(shè)備、裝置、產(chǎn)品和/或系統(tǒng)是簡單的、成本效益高的、不復(fù)雜的、高度多樣化的、精確的、靈敏的和有效的,可通過修改已知的組件來實現(xiàn)以便于容易、有效和經(jīng)濟的制造、應(yīng)用和利用。本發(fā)明的實施例的另一重要方面在于,它有益地支持并服務(wù)于降低成本、簡化系統(tǒng)和增加性能的歷史趨勢。因此本發(fā)明的實施例的這些和其它有價值的方面將技術(shù)狀態(tài)至少推進至下一水平。盡管結(jié)合特定最佳模式描述了本發(fā)明,將理解,對于本領(lǐng)域技術(shù)人員而言通過以上描述,許多替代、修改和變化將是顯而易見的。因此,旨在涵蓋落入所包括的權(quán)利要求書的范圍內(nèi)的所有這些替代、修改和變化。本文所闡述的或者附圖中所示出的所有內(nèi)容均將從示意性而非限制性意義上解釋。當前第1頁1 2 3