本申請要求于2016年3月3日提交的第62/303,349號美國臨時專利申請以及2016年6月8日提交的第62/347,569號美國臨時專利申請的優(yōu)先權(quán)和權(quán)益,所述申請的公開通過引用其全部內(nèi)容合并于此。本公開總體上涉及存儲器系統(tǒng),更具體地,涉及一種與標準同步雙數(shù)據(jù)速率(ddr)協(xié)議可兼容的異步通信協(xié)議。
背景技術(shù):
:動態(tài)隨機存取存儲器(dram)模塊(諸如雙數(shù)據(jù)速率(ddr)同步動態(tài)隨機存取存儲器(sdram))使用同步通信協(xié)議(即,ddr協(xié)議)。存儲器控制器負責同步時序、控制和從/到dram的數(shù)據(jù)移動。在這方面,dram是一種從設備并且dram僅向存儲器控制器提供有限的反饋。未來的存儲器接口可以是事務性的接口(transactionalinterface)。事務性的接口能夠支持并置于存儲器通道上的非易失性存儲器和易失性存儲器兩者作為主存儲器。然而,事務性的接口涉及可變時序,并且從存儲器通道裝置期望更多反饋。因此,需要一種支持存儲器模塊的基于事務的異步通信協(xié)議,其中,所述存儲器模塊包括可向存儲器控制器提供裝置反饋的非易失性存儲器或非易失性存儲器和易失性存儲器兩者。技術(shù)實現(xiàn)要素:根據(jù)一個實施例,一種存儲器包括:非易失性存儲器;以及與存儲器控制器進行接合的異步存儲器接口。所述異步存儲器接口可使用雙數(shù)據(jù)速率(ddr)存儲器通道的被改變用途的引腳來將異步數(shù)據(jù)發(fā)送到所述存儲器控制器。根據(jù)另一實施例,一種系統(tǒng)包括:存儲器控制器;包括非易失性存儲器的存儲器模塊;以及所述存儲器控制器和所述存儲器模塊之間的異步存儲器接口。所述異步存儲器接口可使用ddr存儲器通道的被改變用途的引腳來將所述存儲器模塊的裝置反饋發(fā)送到所述存儲器控制器。根據(jù)另一實施例,一種方法包括:在存儲器控制器和存儲器模塊之間提供異步存儲器接口,其中,所述存儲器模塊包括非易失性存儲器;使用雙數(shù)據(jù)速率(ddr)存儲器通道的被改變用途的引腳來將所述存儲器模塊的裝置反饋發(fā)送到所述存儲器控制器。包括事件的實施和組合的各種新穎細節(jié)的上述和其他優(yōu)選特征現(xiàn)在將參照附圖被更具體地描述并且在權(quán)利要求中被指出。應該清楚的是,此處描述的具體系統(tǒng)和方法僅通過圖解的方式被示出而不是作為限制被示出。如本領域的技術(shù)人員將理解的,此處描述的原理和特征可在不脫離本公開的范圍的情況下在各種大量的實施例中被采用。附圖說明作為本說明書的一部分而被包括的附圖示出當前優(yōu)選實施例,并且連同上文給出的總體描述和下文給出的優(yōu)選實施例的詳細描述而用于解釋和教導此處描述的原理。圖1示出根據(jù)一個實施例的示例異步通信協(xié)議;圖2a示出使用標準ddr協(xié)議的讀取周期的時序圖;圖2b示出根據(jù)一個實施例的使用擴展ras-cas協(xié)議的示例讀取周期的時序圖;圖3a示出根據(jù)一個實施例的示例讀取周期的時序圖;圖3b示出根據(jù)一個實施例的示例寫入周期的時序圖;圖3c示出根據(jù)另一實施例的示例讀取狀態(tài)周期的時序圖;圖3d示出根據(jù)一個實施例的示例send(發(fā)送)周期的時序圖;圖3e示出根據(jù)一個實施例的顯示各種命令的定義的表;圖4示出根據(jù)一個實施例的按通道的存儲器控制器的引腳;圖5是示出根據(jù)一個實施例的專用反饋引腳的四個示例的表;圖6示出根據(jù)一個實施例的示例時分反饋方案;圖7是根據(jù)一個實施例的用于使用混合反饋引腳來提供裝置反饋的示例處理的流程圖;圖8示出根據(jù)一個實施例的針對攜帶read_ready信號的alert_n引腳的信號圖的示例;圖9示出根據(jù)一個實施例的被改變用途的消息引腳分配和消息定義的示例;圖10示出根據(jù)一個實施例的針對并置在相同的存儲器通道中的一個dram和一個nvdimm的信號圖的示例;圖11示出根據(jù)一個實施例的針對并置有兩個nvdimm模塊的存儲器模塊的被改變用途的消息引腳分配和消息定義的示例。附圖不必按比例繪制,在附圖中,為了示出的目的,相似結(jié)構(gòu)的元件或功能通常由相似參考標號表示。附圖圖僅旨在幫助對此處描述的各種實施例的描述。附圖并沒有描述此處公開的教導的每個方面并且不限制權(quán)利要求的范圍。具體實施方式此處公開的每個特征和教導可被分開利用或與其他功能和教導結(jié)合使用,以提供與標準同步協(xié)議可兼容的異步通信協(xié)議。將參照附圖更詳細地描述分開及組合地利用許多這些附加特征和教導的代表性示例。該詳細描述僅旨在更加詳細地教導本領域的技術(shù)人員實踐本教導的多個方面,而不意圖限制權(quán)利要求的范圍。因此,具體實施方式中的上文公開的特征的結(jié)合可不必按照最廣泛的意義實施所述教導,而是僅教導用于具體描述本教導的代表性示例。在下面的描述中,僅為了解釋的目的,闡述具體命名以提供對本公開的透徹理解。然而,本領域的技術(shù)人員將清楚的是,不需要這些具體細節(jié)來實施本公開的教導。根據(jù)對計算機存儲器中的數(shù)據(jù)比特的操作的算法和符號表示來呈現(xiàn)此處的詳細描述中的一些部分。這些算法描述和表示可被數(shù)據(jù)處理領域的技術(shù)人員用來有效地向本領域的其他技術(shù)人員傳達他們工作的實質(zhì)。這里的算法總體上被認為是導致所需結(jié)果的步驟的自洽序列。所述步驟是需要對物理量的物理操作的步驟。通常,雖然不必要,這些量采取能夠被存儲、傳輸、組合、比較和其他操作的電信號或磁信號的形式。主要是為了通用的原因,將這些信號稱為比特、值、元素、符號、字符、術(shù)語、數(shù)字等被多次證明是方便的。然而,應該記住的是,所有這些術(shù)語和相似術(shù)語都將與合適的物理量相關聯(lián),并且僅是應用于這些物理量的方便標簽。除非在以下討論中被具體指明,否則清楚的是,在整個描述中,使用諸如“處理”、“運算”、“計算”、“確定”、“顯示”等術(shù)語的討論是指計算機系統(tǒng)或類似電子計算裝置的動作和處理,其中,所述動作和處理對表示為計算機系統(tǒng)的寄存器和存儲器中的物理(電子)量的數(shù)據(jù)進行操作并將其轉(zhuǎn)換成被類似地表示為在計算機系統(tǒng)存儲器或寄存器或其它這樣的信息存儲、傳輸或顯示裝置中的物理量的其他數(shù)據(jù)。此處呈現(xiàn)的算法本質(zhì)上不與任何具體計算機或其他設備相關。各種通用系統(tǒng)、計算機服務器或個人計算機可根據(jù)此處的教導使用程序,或者,構(gòu)造更專用的設備來執(zhí)行所需的方法步驟可被證實是方便的。所需的用于各種這些系統(tǒng)的結(jié)構(gòu)將在下面的描述中出現(xiàn)。將理解的是各種編程語言可被用于實現(xiàn)此處描述的公開的教導。此外,代表性示例和從屬權(quán)利要求的各種特征可以以不被具體明確列舉的方式被組合以提供本教導的另外的有用實施例。同樣被明確指出的是,多組實體的所有數(shù)值范圍或指示為了原始公開的目的和限制所要求保護的主題的目的而公開了每個可能的中間值或中間實體。同樣被明確指出的是,附圖中示出的組件的尺寸和形狀是為了幫助理解本教導如何被實施而被設計的,而并不意圖限制示例中示出的尺寸和形狀。本公開提供了一種與各種版本的雙數(shù)據(jù)速率(ddr)存儲器(例如,ddr1、ddr2、ddr3和ddr4)可兼容的異步通信協(xié)議。本異步通信協(xié)議能夠支持具有可變讀取、寫入和/或激活延遲的存儲器模塊。所述異步存儲器模塊可包括被并置于同一存儲器通道上的非易失性存儲器和/或易失性存儲(例如,dram)。此外,本異步通信協(xié)議允許存儲器模塊向存儲器控制器提供裝置反饋。術(shù)語雙列直插式存儲器模塊(dimm)和存儲器模塊在此處可被互換使用。dimm可以是包括dram的標準dimm、包括nvm的nvdimm或包括dram和nvm兩者的混合dimm。nvdimm型存儲器的示例包括但不限于:包括nvm的非易失性存儲器(nvd)dimm和包括nvm和dram兩者的混合dimm,。nvmdimm作為存儲器提供對nvm的直接訪問。所述混合dimm能夠以直接模式或高速緩存模式進行操作。在直接模式下,所述混合dimm作為與nvmdimm類似的存儲器提供直接訪問。所述混合dimm中的dram和nvm具有不同的地址范圍。主機可用不同地址范圍將dram操作和nvm操作分別發(fā)送到dram和nvm。例如,在ddr標準中的c[2]引腳可被用于將dram的地址范圍和nvm的地址范圍分開。當c[2]引腳是低電平(設置為“0”)時,dram被選擇;如果c[2]引腳是高電平(設置為“1”),則nvm被選擇。在高速緩存模式下,dram用作nvm的高速緩存。dram高速緩存對主機透明,并由混合dimm內(nèi)部的控制器管理。圖1示出根據(jù)一個實施例的示例異步通信協(xié)議。本異步通信協(xié)議針對芯片和模塊接口與drr4可兼容。存儲器模塊120可包括非易失性存儲器121、易失性存儲器122(例如,dram)或包括兩者。非易失性存儲器121的示例包括但不限于:閃存、相變ram(pram)、自旋移矩磁隨機存取存儲器(stt-mram)和電阻型ram(reram)。存儲器控制器110可提供異步通信協(xié)議150以與非易失性存儲器121進行接合(interface),并提供同步通信協(xié)議151以與易失性存儲器122進行接合。異步通信協(xié)議150和同步通信協(xié)議151可共享相同的物理ddr通道或具有專用物理ddr通道。根據(jù)一個實施例,本異步通信協(xié)議使用行地址選擇(或選通)(ras)-列地址選擇(或選通)(cas)對傳統(tǒng)同步ddr協(xié)議進行擴展。傳統(tǒng)同步ddr協(xié)議也被稱為ras-cas協(xié)議或標準ddr協(xié)議。擴展ras-cas協(xié)議對針對標準ddr協(xié)議指定的dram和模塊引腳進行擴展或改變用途,并在存儲器控制器110和存儲器模塊120的非易失性存儲器121之間提供異步接口150。因為本異步通信協(xié)議使用擴展或被改變用途的dram和模塊引腳,所以非易失性存儲器121和易失性存儲器122可被并置于同一存儲器模塊120上并且通過相同的存儲器通道(例如,ddr存儲器通道)與存儲器控制器110進行通信。此外,本異步通信協(xié)議允許存儲器模塊120使用本異步通信協(xié)議通過ddr存儲器通道向存儲器控制器110提供裝置反饋。圖2a示出使用標準ddr協(xié)議的讀取周期的時序圖。為了從被包括在存儲器模塊中的存儲器裝置的存儲器單元讀取數(shù)據(jù),所述存儲器單元必須通過其行坐標與列坐標被選擇,所述單元上的電荷必須被感測、放大并被發(fā)送到支持電路,并且數(shù)據(jù)必須被發(fā)送到存儲器裝置的數(shù)據(jù)輸出引腳。行地址選擇(或選通)(ras)被用于鎖存行地址并啟動存儲周期。列地址選擇(或選通)(cas)被用于鎖存列地址并啟動讀取周期或?qū)懭胫芷?。就讀取周期的時序而言,讀取周期可按照以下順序發(fā)生。首先,存儲器控制器產(chǎn)生激活(act)命令來啟動用于從存儲器模塊讀取數(shù)據(jù)的讀取周期。act命令將行地址傳送到存儲器模塊上的地址輸入引腳,并且ras被鎖存。然后列地址被應用于存儲器模塊上的地址輸入引腳。在cas轉(zhuǎn)變之前,讀取信號rd可被鎖存以啟動讀取操作。然后cas被鎖存。在預定時間之后,所請求的數(shù)據(jù)出現(xiàn)在存儲器模塊的數(shù)據(jù)輸出引腳。讀取信號rd被設置之后數(shù)據(jù)出現(xiàn)的時間可依據(jù)包括ras和cas的各種信號的時序以及信號之間的預定延遲而被設置。在讀取周期完成前,cas和ras可返回它們的非活動狀態(tài)。圖2b示出根據(jù)一個實施例的使用擴展ras-cas協(xié)議的示例讀取周期的時序圖。術(shù)語擴展ras-cas協(xié)議和異步通信協(xié)議在此處可互換使用。擴展ras-cas協(xié)議允許存儲器模塊的非易失性存儲器(nvm)通過對存儲器模塊的一個或更多個專用數(shù)據(jù)引腳或共享數(shù)據(jù)引腳改變用途來與存儲器控制器進行通信。存儲器模塊也可使用被改變用途的引腳向存儲器控制器提供反饋。雖然參照圖2b的時序圖所描述的示例是針對非易失性存儲器(例如,pcm)或易失性存儲器(例如,dram)的讀取周期,但要理解的是,在不偏離本公開的范圍的情況下,擴展ras-cas協(xié)議可被應用于寫入周期或讀取修改寫入周期。與圖2a示出的標準同步ddr協(xié)議(其中,出現(xiàn)在存儲器模塊的數(shù)據(jù)輸出引腳上的讀取數(shù)據(jù)的時序是時間上可預測的和確定的)不同,擴展ras-cas協(xié)議允許存儲器控制器和存儲器模塊之間的數(shù)據(jù)的異步交換。例如,響應于ddr4存儲器通道上發(fā)布了激活(act)命令,存儲器模塊可向存儲器控制器提供裝置反饋(例如,自身的狀態(tài))。存儲器模塊可包括非易失性存儲器或除了包括易失性存儲器外還可包括非易失性存儲器。在這種情況下,裝置反饋可指示數(shù)據(jù)按照類似于dram打開頁面的方式位于非易失性存儲器的數(shù)據(jù)緩沖器中?;诖鎯ζ髂K的狀態(tài),存儲器控制器可確定何時將讀取信號rd發(fā)布到存儲器通道上。在讀取信號rd被鎖存之后,所請求的數(shù)據(jù)在預定時間延遲之后出現(xiàn)在存儲器模塊的數(shù)據(jù)輸出引腳上。激活(act)命令與反饋信號之間的時序以及反饋信號和讀取信號rd可變化,因此本擴展ras-cas協(xié)議雖然可被實現(xiàn)為與同步ddr存儲器通道可兼容,但是本擴展ras-cas協(xié)議是異步的。根據(jù)一個實施例,反饋狀態(tài)可指示nvm數(shù)據(jù)被置于數(shù)據(jù)緩沖器中。數(shù)據(jù)緩沖器可按照類似于dram打開頁面的方式存儲所請求的讀取數(shù)據(jù)。在頁面被打開后,對相同頁面的所有連續(xù)讀取(或?qū)懭?訪問可具有固定的dram延遲。根據(jù)一個實施例,擴展ras-cas協(xié)議可對專用引腳或共享引腳進行擴展和/或改變用途,并且可在相同通道中的不同的雙列直插式存儲器模塊(dimm)之間建立多個鏈接。擴展ras-cas協(xié)議可需要同步邏輯來從存儲器模塊向存儲器控制器提供共享的裝置反饋。此外,擴展ras-cas協(xié)議可通過傳送裝置反饋來向模塊內(nèi)ras特征提供支持。根據(jù)另一實施例,反饋狀態(tài)可包括兩種類型的信號:反饋消息(msgdq)和讀取準備信號(read_ready)。msgdq是同步信號并且總與dq總線上的數(shù)據(jù)對齊。然而,read_ready信號是不必與數(shù)據(jù)對齊的異步信號。圖3a示出根據(jù)一個實施例的示例讀取周期的時序圖。非易失性存儲器或易失性存儲器可不必具有與dram類似的頁面的概念/實現(xiàn)。而是,在這個異步通信協(xié)議中,在act命令被發(fā)出之后,針對每個讀取信號rd需要明確的反饋(例如,read_ready)。read_ready信號可在反饋通道中通過特定引腳(或多個引腳)被傳送,其中,所述read_ready信號指示數(shù)據(jù)包已準備好被主機讀取。在存儲器控制器從存儲器模塊接收到read_ready信號之后,存儲器控制器可發(fā)出另一命令(例如,send)來以確定性時序啟動數(shù)據(jù)讀取事務以檢索數(shù)據(jù)。在事務命令(例如,send)后的預定延遲(例如,trl)之后,讀取的數(shù)據(jù)被呈現(xiàn)在數(shù)據(jù)總線上。除了所述數(shù)據(jù),諸如讀取id(rid)的信息可通過反饋通道中的其他引腳(例如,msg_dq引腳)被傳送。圖3b示出根據(jù)一個實施例的示例寫入周期的時序圖。在主機發(fā)出寫入請求(wr)命令之后,相應的數(shù)據(jù)在預定義的固定延遲之后被呈現(xiàn)在數(shù)據(jù)總線上。主機一直對寫入信用(writecredit,wc)進行計數(shù)來確定有多少寫入操作可被發(fā)送到存儲器模塊。圖3c示出根據(jù)一個實施例的示例讀取狀態(tài)周期的時序圖。在主機發(fā)出讀取狀態(tài)(rs)命令之后,相應的狀態(tài)包在預定義的固定延遲之后被呈現(xiàn)在數(shù)據(jù)總線上。主機使用讀取狀態(tài)(rs)命令來更新寫入信用(wc)(所述wc是在存儲器模塊的寫入緩沖器中可用的入口數(shù))。主機可不發(fā)出任何寫入操作直到在存儲器模塊有可用的寫入緩沖器入口(即,wc>0)為止。寫入信用也可使用讀取數(shù)據(jù)包中的msgdq而被更新。讀取數(shù)據(jù)包中的msgdq中的一個或更多個比特可被用于指示在存儲器模塊中存在可用的1個或特定數(shù)量的wc。狀態(tài)信息消息也可包括一個或更多個寫入id(wid),從而存儲器模塊可針對寫入狀態(tài)返回信息。例如,數(shù)據(jù)寫入id可被用作針對之前的寫入命令的寫入確認。當接收到的寫入id與由主機發(fā)送的寫入id相匹配時,寫入被確認。糾錯碼(ecc)保護(諸如循環(huán)冗余校驗(crc)或奇偶校驗)可被用于msg_dq處的包完整性保護。狀態(tài)信息消息也可包括其他信息,包括準備包計數(shù)、nvm的內(nèi)部狀態(tài)、之前的命令或操作的狀態(tài)、以及任何ras信息和中斷服務信息。存儲器控制器和存儲器模塊之間傳送反饋狀態(tài)的周期數(shù)可由具體的存儲器模塊來確定,并且/或者可在存儲器模塊的初始化時由存儲器控制器選擇性地配置。在存儲器控制器和存儲器模塊之間傳送的反饋狀態(tài)信息的具體配置可根據(jù)傳送反饋狀態(tài)的周期的數(shù)量或反饋狀態(tài)的時鐘速度而改變。例如,如果三(3)個連接器引腳被改變用途作為消息數(shù)據(jù)總線(msgdq),則反饋狀態(tài)可通過四(4)個單數(shù)據(jù)速率(sdr)周期被傳送。在這種情況下,反饋狀態(tài)可包括12比特的數(shù)據(jù)。此外,另一引腳可被改變用途作為讀取準備引腳(read_ready)。作為八(8)個連接器引腳被改變用途的另一示例,反饋狀態(tài)可包括16比特的信息并使用兩(2)個sdr周期來傳送反饋狀態(tài)。在作為三(3)個連接器引腳被改變用途的另一示例中,2個引腳被用于狀態(tài),另一引腳用作狀態(tài)的數(shù)據(jù)選通。在這個示例中的反饋狀態(tài)可包括16比特的信息并使用八(8)個雙數(shù)據(jù)速率(ddr)周期來傳送反饋狀態(tài)。應該理解的是,用于傳達反饋狀態(tài)信息的周期數(shù)和/或比特數(shù)不局限于此處公開的示例。存儲器控制器可在周期1中通過讀取反饋狀態(tài)消息的第一比特msg[0]來區(qū)分普通數(shù)據(jù)包和狀態(tài)包。也就是說,如果msg[0]比特是“0”,則存儲器控制可將包解碼為普通數(shù)據(jù)包。如果msg[0]比特是“1”,則存儲器控制器可將包解碼為狀態(tài)包。在一個實施例中,用擴展命令傳送讀取命令或?qū)懭朊?。擴展命令攜帶其他信息(諸如擴展地址、事務id(transactionid)和與讀取命令或?qū)懭朊钕嚓P的事務優(yōu)先級)。擴展命令可在相應的讀取命令或?qū)懭朊钪盎蛑蟮囊?1)個時鐘周期被傳送。當擴展命令被使用時,每個讀取命令或?qū)懭朊钤诿羁偩€上可占用2個周期。根據(jù)一個實施例,本異步通信協(xié)議能夠支持發(fā)送(send)命令。send命令可被用于使用確定性時序發(fā)起從存儲器模塊到主機的數(shù)據(jù)突發(fā)事務。send命令可如表1被定義。send命令能夠攜帶多至10比特的被用于指定突發(fā)中需要多少包的突發(fā)命令。表一:send消息表2闡述根據(jù)一個實施例的事務狀態(tài)包的示例定義。表2:事務包–“事務狀態(tài)”圖3d示出根據(jù)一個實施例的示例send周期的時序圖。在本示例,read_ready鏈路上針對每個讀取請求的每個準備(ready)可指示數(shù)據(jù)包準備好被讀取。主機發(fā)出send命令來啟動突發(fā)讀取事務以讀取具有固定讀取延遲(例如,trl)的序列中的多個數(shù)據(jù)。所請求的突發(fā)的數(shù)量同樣由send命令中的突發(fā)計數(shù)傳送。突發(fā)讀取事務可包括數(shù)據(jù)包或狀態(tài)包。存儲器控制器在周期1中使用反饋狀態(tài)消息的第一比特msg[0]來識別包的類型。圖3e示出根據(jù)一個實施例的顯示各種命令的定義的表。本異步通信協(xié)議能夠支持nvm讀取命令、nvm寫入命令、nvm擴展命令、nvm發(fā)送命令、讀取狀態(tài)命令和rfu命令。參照圖3a到圖3d解釋針對這些命令的具體時序圖。讀取id(rid)被用來識別來自存儲器模塊的讀取請求和讀取數(shù)據(jù)之間的關系。rid可按照各種方法被產(chǎn)生。在一個實施例中,主機可明確地產(chǎn)生rid。在這種情況下,rid被明確地從主機傳送到存儲器模塊。在另一實施例中,主機和存儲器模塊兩者都能夠依據(jù)讀取命令的類型來明確地產(chǎn)生rid。在另一實施例中,主機和存儲器模塊都不明確地產(chǎn)生rid,而是,主機和存儲器模塊協(xié)定并遵從rid流程。在初始化期間的同步之后,主機和存儲器模塊針對相同的包分別產(chǎn)生相同的rid。圖4示出根據(jù)一個實施例的按通道的存儲器控制器的引腳。存儲器控制器的引腳/鏈路能夠被劃分為:專用于特定的dimm的第一組401和由多個dimm共享的第二組402。存儲器通道的引腳/鏈路的定義在本領域被熟知,例如,在聯(lián)合電子裝置工程委員會(jedec)標準中被描述。根據(jù)一個實施例,本異步通信協(xié)議可使用各種反饋引腳/鏈路以允許存儲器模塊向存儲器控制器提供裝置反饋。根據(jù)一個實施例,專用反饋引腳針對本異步通信協(xié)議被改變用途。這樣的專用反饋引腳的示例包括但不限于:odt[1]、cke[1]、cs[1:3]、ck_n[1]、ck_p[1]和3個rfu。這些專用引腳允許存儲器通道中的dimm之間的簡單同步。在一些實施例中,專用反饋引腳可包括alert_n引腳。alert_n引腳可被多個dimm共享。在另一情況下,主機和存儲器板可被重新設計以具有單獨且專門的alert_n引腳,以允許針對每個存儲器通道有兩個nvdimm。圖5是示出根據(jù)一個實施例的專用反饋引腳的四個示例的表。示例1使用總共4個被改變用途的引腳,示例2和示例3分別使用共8個被改變用途的引腳,示例4使用10個被改變用途的引腳,示例5使用5個被改變用途的引腳。所有這些示例可實現(xiàn)相當于sdr存儲器模塊的速度。在odt[1]、cke[1]、cs[1]和alert_n引腳被改變用途的示例1中,cs[1]、odt[1]和cke[1]被用于消息引腳dq(msgdq)。讀取準備(read_ready)狀態(tài)可使用alert_n引腳被發(fā)送。根據(jù)另一實施例,共享反饋引腳被用于本擴展ras-cas協(xié)議。這樣的共享反饋引腳的示例包括但不限于:dqs9_t~dqs17_t、dqs9_c~dqs17_c和alert_n。在這種情況下,共享引腳可在與電信領域中公知的時分多址tdma方案類似的時分方案被利用。該時分方案可將不同的時隙分配到不同的存儲器裝置,每個存儲器裝置在其分配的時隙進行傳輸。圖6示出根據(jù)一個實施例的示例時分反饋方案。一個或更多個共享反饋引腳可在多個時隙中攜帶裝置反饋,并且每個時隙專用于不同的存儲器模塊。例如,裝置反饋包括針對dimm0和dimm1的交替時隙。值得注意的是,時分方案可用于通過不同的存儲器通道針對不同的存儲器時隙發(fā)送反饋。根據(jù)另一實施例,混合反饋引腳被用于本擴展ras-cas協(xié)議?;旌戏答佉_可包括專用反饋引腳和共享反饋引腳兩者。例如,32個混合反饋引腳包括10個專用反饋引腳(例如,odt[1]、cke[1]、cs[1:3]、ck_n[1]、ck_p[1]和3個保留用于將來使用的(rfu))、18個共享反饋引腳(例如,dqs9_t~dqs17_t、dqs9_c~dqs17_c)和alert_n。這些混合反饋引腳可包括多達32個引腳,所述32個引腳相較于僅共享引腳而言使同步更容易。例如,同步可通過專用引腳完成,狀態(tài)傳輸能夠通過共享引腳或?qū)S靡_完成。圖7是根據(jù)一個實施例的使用混合反饋引腳來提供裝置反饋的示例處理的流程圖。專用引腳可用于同步,并且專用引腳和共享引腳兩者都能夠用于發(fā)送裝置反饋。dimm向存儲器控制器發(fā)送請求,該請求要求可用存儲器通道之中的共享反饋通道(步驟701)。響應于此,存儲器控制器確定共享反饋通道是否被其他dimm擁有(步驟702)。如果共享反饋通道被其他dimm擁有,則存儲器控制器要求dimm稍后重試(步驟711)。如果共享反饋通道被發(fā)出請求的dimm擁有,則存儲器控制器確認該請求(步驟712),dimm開始將反饋信息發(fā)送到存儲器控制器(步驟713)。步驟701、711和712使用專用引腳,步驟713使用混合引腳。根據(jù)一個實施例,每個數(shù)據(jù)請求和傳輸可包括事務id(例如,讀取id/rid或?qū)懭雐d/wid)來增加存儲器并行度。事務id可包括下列項的一部分或全部:列、行、庫、模組(rank)和通道地址。存儲器控制器可用不同的id發(fā)出事務,以支持多個同時事務。在一個實施例,主機可在主機命令中明確地傳送事務id。在另一實施例中,可用列、行、庫、模組(rank)和通道地址不明確地傳送事務id。存儲器模塊可通過使用這些地址重新產(chǎn)生事務id。在另一實施例中,主機和存儲器模塊兩者都維持事務id列表。事務id列表和id分配/釋放機制在系統(tǒng)啟動期間被初始化。然后,主機和存儲器模塊遵循相同的機制來針對主機存儲器控制器和存儲器模塊中的每個存儲器事務分配或釋放相同的事務id。在這種情況下,事務id不需要在存儲器通道上被明確地傳送。根據(jù)一個實施例,裝置反饋上的每個狀態(tài)傳輸可包括ras信息來支持模塊內(nèi)ras特征。這樣的ras信息的示例包括但不限于:讀取/寫入失敗報告、糾錯碼(eec)、磨損均衡和垃圾收集信息、模塊內(nèi)刷新信息以及模塊內(nèi)擦除信息。根據(jù)一個實施例,本異步通信協(xié)議定義alert_n引腳在ddr4中攜帶雙向信號。根據(jù)一個實施例,存儲器模塊可分別在dimm0中和dimm1中包括兩個nvdimm。在這種情況下,消息引腳dq可使用專用引腳,并且讀取準備(read_ready)狀態(tài)能夠使用兩個alert_n引腳而被發(fā)送。圖8示出根據(jù)一個實施例的針對攜帶read_ready信號的alert_n的信號示圖的示例。read_ready反饋信號被用向存儲器控制器請求注意。如果存儲器模塊通過向現(xiàn)有alert_n引腳添加時序限定以在nvdimm模式下運行,則alert_n引腳可被用來攜帶read_ready反饋信號。在現(xiàn)有的ddr4說明書中,alert_n信號被用來用信號傳送兩種類型的錯誤的出現(xiàn):寫入crc錯誤和命令地址(ca)奇偶校驗錯誤。這兩種錯誤可通過alert_n信號的脈沖寬度進行區(qū)分。例如,如果發(fā)生寫入crc錯誤,則在ddr42400說明書中存儲器模塊使alert_n信號在大約6個時鐘周期到大約10個時鐘周期間變low。如果發(fā)生命令地址(ca)奇偶校驗錯誤,在ddr42400說明書中存儲器模塊使alert_n信號在大約72個時鐘周期到大約144個時鐘周期間變low。根據(jù)一些實施例,脈沖寬度在大約2個周期到大約3個周期之間的短alert_n可被用來呈現(xiàn)read_ready信號,從而允許alert_n信號根據(jù)ddr42400說明書針對寫入crc錯誤和ca奇偶校驗錯誤的發(fā)生起作用。在一個實施例中,如果攜帶read_ready反饋信號的alert_n引腳能夠具有最低優(yōu)先級,則從而保證了對寫入crc錯誤或ca奇偶校驗錯誤的發(fā)生的檢測。圖9示出根據(jù)一個實施例的被改變用途的消息引腳分配和消息定義的示例。存儲器模塊可使用alert_n引腳將read_ready反饋信號發(fā)送到存儲器控制器。在接收到read_ready反饋信號后,存儲器控制器通過第二個被改變用途的連接器引腳(或多個引腳)發(fā)送send信號以從存儲器模塊提取數(shù)據(jù)包或狀態(tài)包信息。三個被改變用途的引腳odt[1]、cke[1]和cs_n[1]是為了將msg信息與dq中的數(shù)據(jù)突發(fā)一起發(fā)送到存儲器控制器而被改變用途的。msg信息的示例是數(shù)據(jù)包中的事務標識(tid)。tid、rid或wid指示可能與地址的一部分相似的事務標識(id)。在另一實施例中,反饋msg指示通過dq總線傳送包是狀態(tài)包。dq總線的相對尺寸允許從存儲器模塊向存儲器控制器傳送大量信息比特。根據(jù)另一實施例,存儲器模塊可分別在dimm0和dimm1中包括一個dram和一個nvm。在這種情況下,消息引腳dq可使用與雙nvdimmm的情況類似的專用引腳,但是針對read_ready狀態(tài)反饋使用共享的一個alert_n引腳。圖10示出根據(jù)一個實施例的針對并置在相同的存儲器通道中的一個dram和一個nvdimm的信號示圖的示例。當來自nvdimm模塊的read_ready信號和來自dram模塊的寫入crc錯誤或ca奇偶校驗錯誤彼此重疊時,read_ready信號可能會丟失。因此,當寫入crc錯誤或ca奇偶校驗錯誤被檢測到時,主機可發(fā)出讀取狀態(tài)(rs)命令來在主機和nvdimm模塊之間對狀態(tài)進行重新同步。圖11示出根據(jù)一個實施例的針對并置了兩個nvdimm模塊的存儲器模塊的被改變用途的消息引腳分配和消息定義的示例。連接器引腳odt[1]、cke[1]和cs_n[1]可如針對dimm0的msg[0]那樣專用于傳送消息信息,連接器引腳odt[2]、cke[2]和cs_n[5]可如針對dimm1的msg[1]那樣專用于傳送消息信息。在一個實施例中,所述消息可具有3比特寬以啟用雙數(shù)據(jù)速率(ddr)。alert_n/read_ready[0]和alert_n/read_ready[1]可專用于分別與nvdimm1和nvdimm2進行通信。在另一示例中,當一個dram和一個nvdimm被并置在相同的通道中時,可使用一個共享的alert_n/read_ready[0]。表3闡述了根據(jù)一個實施例的在dramdimm模式下和在nvdimm模式下針對存儲器模塊的連接器引腳。如表3所示,如果存儲器模塊處于dramdimm模式,則alert_n*引腳(引腳208)以公知的方式運行以從存儲器控制器的角度提供發(fā)送(tx)和接收(rx)功能。信號cs_n[1]、odt[1]和cke[1](分別是引腳89、91和203)也以公知的方式運行以從存儲器控制器的角度提供發(fā)送功能。如果該存儲器處于nvdimm模式,則引腳208被定義為alert_n/read_ready信號,并從存儲器控制器的角度提供發(fā)送(tx)和接收(rx)功能。引腳89、91和203被定義為msg[2:0],并從存儲器控制器的角度提供接收功能。在一個實施例中,alert_n/read_ready信號和msg[2:0]可以以單數(shù)據(jù)速率運行。在另一實施例中,alert_n/read_ready信號和msg[2:0]可以以ddr運行。表3:dramdimm模式下和nvdimm模式下的連接器引腳。表4闡述了根據(jù)一個實施例的在nvdimm模式下針對用于攜帶read_ready信號的alert_n連接器引腳的時序和消息定義。在nvdimm模式下,alert_n連接器引腳被定義為針對read_ready信號的2個時鐘周期。對于脈沖寬度在大約6個時鐘周期至10個時鐘周期之間,alert_n連接器引腳被定義為寫入crc錯誤的發(fā)生,并且對于脈沖寬度在72個時鐘周期至144個時鐘周期之間,alert_n連接器引腳被定義為命令地址(ca)奇偶校驗錯誤的發(fā)生。如果發(fā)生錯誤,則主機不得不讀取狀態(tài)來更新事件。alert_n+read_ready定義2read_ready(針對nvdimm)6~10寫入rc錯誤72~144ca奇偶校驗錯誤表4:在nvdimm模式下被用作read_ready信號的alert_n連接器引腳的時序和消息定義。根據(jù)一些其他的實施例,連接器引腳odt[1]和cke[1]能夠被用于如msg[0]和msg[1]分別傳達信息,使得通過使用cs_n[1]來啟用雙數(shù)據(jù)速率(ddr)而言所述消息是兩比特寬,但是包括消息選通信號msg_s。根據(jù)一個實施例,擴展ras-cas協(xié)議能夠支持持續(xù)寫入(pwr)命令。pwr命令允許存儲器控制器在存儲器控制器有wc時寫入數(shù)據(jù),并且請求存儲器模塊發(fā)送異步寫入確認響應。根據(jù)一個實施例,存儲器模塊包括:非易失性存儲器;以及與存儲器控制接合的異步存儲器接口。異步存儲器接口可使用雙數(shù)據(jù)速率(ddr)存儲器通道的被改變用途的引腳來將異步數(shù)據(jù)發(fā)送到存儲器控制器。異步數(shù)據(jù)可以是指示非易失性存儲器的狀態(tài)的裝置反饋。所述裝置反饋可指示所請求的來自存儲器控制器的數(shù)據(jù)位于非易失性存儲器的數(shù)據(jù)緩沖器。所述異步存儲器接口可與ddr1,ddr2,ddr3和/或ddr4可兼容。所述被改變用途的引腳可包括專用于特定dimm的專用數(shù)據(jù)引腳。所述被改變用途的引腳可包括由多個dimm共享的共享數(shù)據(jù)引腳。專用于特定dimm的專用數(shù)據(jù)引腳和由多個dimm共享的共享數(shù)據(jù)引腳都可被用于傳送裝置反饋。所述裝置反饋可包括針對多個dimm的多個時隙。所述裝置反饋的所述多個時隙中的每個時隙可包括事務id。所述裝置反饋可包括存儲器模塊的行地址選擇(ras)信息。存儲器模塊還可包括易失性存儲器,并且非易失性存儲器和易失性存儲可被并置在ddr存儲器通道中。根據(jù)另一實施例,一種系統(tǒng)包括:存儲器控制器;包括非易失性存儲器的存儲器模塊;以及存儲器控制器和存儲器模塊之間的異步存儲器接口。異步存儲器接口可使用ddr存儲器通道的被改變用途的引腳來將存儲器模塊的裝置反饋發(fā)送到存儲器控制器。所述異步存儲器接口可與ddr1、ddr2、ddr3和/或ddr4可兼容。所述被改變用途的引腳可包括專用于特定dimm的專用數(shù)據(jù)引腳。所述被改變用途的引腳可包括由多個dimm共享的共享數(shù)據(jù)引腳。專用于特定dimm的專用數(shù)據(jù)引腳和由多個dimm共享的共享數(shù)據(jù)引腳都可被用于傳送裝置反饋。所述裝置反饋可包括針對多個dimm的多個時隙。所述裝置反饋的所述多個時隙中的每個時隙可包括事務id。所述裝置反饋可包括存儲器模塊的行地址選擇(ras)信息。所述存儲器模塊還可包括易失性存儲器,并且非易失性存儲器和易失性存儲器可被并置在ddr存儲器通道中。根據(jù)另一實施例,一種方法包括:在存儲器控制器和存儲器模塊之間提供異步存儲器接口,其中,存儲器模塊包括非易失性存儲器;使用雙數(shù)據(jù)速率(ddr)存儲器通道的被改變用途的引腳將存儲器模塊的裝置反饋發(fā)送到存儲器控制器。所述異步存儲器接口可與ddr1、ddr2、ddr3和/或ddr4可兼容。所述方法還可包括:使用專用于特定dimm的專用數(shù)據(jù)引腳和由多個dimm共享的共享數(shù)據(jù)引腳來傳送裝置反饋。所述方法還可包括:將裝置反饋在時間上劃分為多個時隙;針對多個dimm中的每個dimm對每個時隙進行分配。裝置反饋的每個時隙可包括指示相應dimm的事務id。所述存儲器模塊還可包括易失性存儲器,并且非易失性存儲器和易失性存儲器可被并置在ddr存儲器通道中。上述示例實施例已被描述以示出實現(xiàn)用于提供與標準同步協(xié)議可兼容的異步通信協(xié)議的系統(tǒng)和方法的各種實施例。對本領域的普通技術(shù)人員來說,將發(fā)生對所公開的示例實施例的各種修改和變化。在權(quán)利要求中闡述意圖在本發(fā)明的范圍內(nèi)的主題。當前第1頁12