TWI564787B - 響應第二讀取請求之第一資料相關技術 - Google Patents
響應第二讀取請求之第一資料相關技術 Download PDFInfo
- Publication number
- TWI564787B TWI564787B TW103118257A TW103118257A TWI564787B TW I564787 B TWI564787 B TW I564787B TW 103118257 A TW103118257 A TW 103118257A TW 103118257 A TW103118257 A TW 103118257A TW I564787 B TWI564787 B TW I564787B
- Authority
- TW
- Taiwan
- Prior art keywords
- read request
- data
- memory
- read
- response
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
- G11C14/0018—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell whereby the nonvolatile element is an EEPROM element, e.g. a floating gate or metal-nitride-oxide-silicon [MNOS] transistor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係有關於響應第二讀取請求之第一資料相關技術。
一電腦系統可包括依電性與非依電性儲存裝置兩者。由於其相當快速之存取時間,諸如動態隨機存取記憶體(DRAM)裝置之依電性記憶體裝置,可用來形成該電腦系統之工作記憶體。該系統關機時為了保存電腦系統資料,資料可儲存在與較低存取時間相關聯之非依電性大量儲存裝置中,諸如磁性媒體式或光學媒體式之大量儲存裝置。近來非依電性記憶體技術之開發正引導非依電性記憶體裝置變得大量用於傳統“記憶體”與“儲存”功能兩者中。
依據本發明之一實施例,係特地提出一種裝置,包含有:一用以響應一第一讀取請求而提取第一資料之讀取單元;一儲存該提取之第一資料的儲存單元;以及一用以響應一第二讀取請求而將該提取之第一資料回傳的回傳單元,其中該提取之第一資料對應於該第一讀取請求之一
位址。
100、200、300‧‧‧裝置
110、210‧‧‧讀取單元
120、220‧‧‧儲存單元
122、122’‧‧‧第一資料
124、124’‧‧‧第二資料
130、230‧‧‧回傳單元
140、140’‧‧‧第一讀取請求
142、152‧‧‧位址
150、150’‧‧‧第二讀取請求
240‧‧‧記憶體
250‧‧‧控制器
252‧‧‧臨界時間
260‧‧‧虛擬讀取請求
270‧‧‧記憶體匯流排
310‧‧‧處理器
320‧‧‧機器可讀儲存媒體
322、324、326、328‧‧‧指令
400‧‧‧方法
410、420、430、440‧‧‧方塊
下列詳細說明參照以下圖式,其中:圖1為一用以響應一第二讀取請求而將第一資料回傳之一裝置的示範方塊圖;圖2為一送出請求之一控制器以及回傳資料之一裝置的示範方塊圖;圖3為一包括用以響應一第二讀取請求而從一DIMM接收第一資料之指令的一計算裝置之示範方塊圖;以及圖4為一用以響應一第二讀取請求而將第一資料輸出至一客戶端之一方法的示範流程圖。
下列說明中將給定特定細節來提供對本技術之範例的了解。然而,應了解本技術之範例在無該等特定細節的情況下仍可加以實作。例如,為了不混淆本技術之範例,系統可以方塊圖來顯示而不需詳細。其他實例中,著名的程序、結構與技術不需詳細顯示以避免混淆本技術之範例。
某些非依電性記憶體裝置,諸如來自原始技術之非依電性記憶體裝置(如範例,快取式隨機存取記憶體(RAM)、相變記憶體與憶阻器技術)可具有顯著地比傳統依電性記憶體裝置,諸如動態隨機存取記憶體(DRAM)裝置的
存取時間還慢的存取時間。由於該存取時間的差異,故與耦合至該相同記憶體匯流排之混合的記憶體技術裝置(諸如非依電性與依電性記憶體裝置)通訊變得相當具挑戰性。
該方式中,因為該記憶體匯流排之計時規格本質上的確定性,故將非依電性與依電性記憶體裝置併入該相同記憶體匯流排會變得相當具挑戰性,而經由該記憶體匯流排傳達至記憶體裝置之命令可期待依序並於某些時間內完成。該等記憶體裝置具有完全不同的計時特性時,符合該等規格更具挑戰性。
例如,現代電腦系統可使用系統記憶體之DRAM雙行記憶體模組(DIMM)。開發來將一標準介面提供至該等DRAM DIMM時,雙倍資料速率(DDR)記憶體介面已發展來預期典型的DRAM特性。例如,該DDR記憶體介面已發展來預期該DIMM之記憶體在一固定時間量之後提供該記憶體所有的讀取存取請求的讀取資料。而此證明具有成功的DRAM情況下,該固定時間可限制使用該相同DDR介面來混合具有不同的記憶體存取潛伏期之記憶體的機會,包括能夠以進階特徵,諸如整合高速存取來另外提升整體效能之更複雜的階層DIMM結構。例如,包括一非依電性記憶體與DDR介面之一DIMM可能無法在該固定時間限制下回應一讀取請求。
本技術之範例可允許具有一較長潛伏期之一記憶體用於針對較短潛伏期記憶體之一記憶體匯流排式的設計中。一示範裝置可包括一讀取單元、一儲存單元與一回
傳單元。該讀取單元可用以響應一第一讀取請求而提取第一資料。該儲存單元可儲存該提取之第一資料。該回傳單元可用以響應一第二讀取請求而將該提取之第一資料回傳。該提取之第一資料可對應於該第一讀取請求之一位址。
因此,本技術之範例可具有全新的記憶體技術、與架構,其具有較長存取來與標準DIMM共享一DDR介面,以便在不提供額外記憶體介面的情況下提供直接存取記憶體之較高容量。藉由允許該DDR介面來支援新的混合潛伏期之記憶體,範例可使較高容量、非依電性、與較低成本DIMM的選擇方案能夠與習知DDR相容DIMM共存。由於此安排,較快的標準DIMM可以其較短潛伏期來遞送資料並且與較慢高容量DIMM共享該DDR介面。
現參照該等圖式,圖1為從一修改的工廠映像來開機之一裝置100的示範方塊圖。該裝置100可耦合至或包括在包括一工廠映像之任何類型的計算裝置中,諸如一筆記型電腦、一桌上型電腦、一單體全備系統、一伺服器、一網路裝置、一無線裝置、一儲存裝置、一行動裝置等等。
圖1之範例中,圖1為一用以響應一第二讀取請求而將第一資料回傳之一裝置100的示範方塊圖。該裝置100可耦合至或包括在任何類型的計算裝置中以存取記憶體,諸如一筆記型電腦、一桌上型電腦、一單體全備系統、一伺服器、一網路裝置、一無線裝置、一儲存裝置、一行動裝置等等。
該裝置100包括一讀取單元110、一儲存單元120
與一回傳單元130。該等讀取、儲存與回傳單元110、120與130可包括,例如,包括用以執行下文所述功能之電子電路,諸如控制邏輯及/或記憶體的一硬體裝置。除此之外或者作為一選擇方案,該等讀取、儲存與回傳單元110、120與130可作為於一機器可讀儲存媒體中編碼並由一處理器執行之一序列指令來予以執行。
該讀取單元110可接收一第一讀取請求140並用以響應一第一讀取請求140而提取第一資料。一讀取請求可為尋找讀取位於一記憶體之一位址的任何類型之訊息或請求。該第一資料可從該裝置之一部分或與該裝置介接的一記憶體(未顯示)來提取。例如,該裝置100可為一雙行記憶體模組(DIMM)。該裝置100可與較長及/或較短潛伏期記憶體兩者之一混合來介接。或者或額外地,可有包含連接至該單一記憶體匯流排之較長及/或較短潛伏期記憶體的多個DIMM。該等DIMM之每一個可包含該等較長及/或較短潛伏期記憶體類型的其中之一。
該較短潛伏期記憶體之範例可包括諸如動態隨機存取記憶體(DRAM)與靜態隨機存取記憶體(SRAM)之依電性記憶體。該較長潛伏期記憶體之範例可包括具有一階層結構、相變或憶阻器模組之記憶體以及,諸如像快取記憶體之隨機存取記憶體(NVRAM)的非依電性記憶體。此外,該裝置100可經由一記憶體匯流排(未顯示)來接收該第一讀取請求140以及一第二讀取請求150。例如,該記憶體匯流排可為任何類型的雙倍資料速率(DDR)匯流排,諸如一
DDR3或DDR4匯流排。例如,一單一DDR匯流排可連接至具有DDR介面之快取與DRAM DIMM的一混合。該DDR匯流排可為一系統匯流排之一部分或與其連接,其可與一系統或其他裝置之構件,諸如一處理器、主要記憶體、輸入/輸出構件、網路卡、等等介接。
該儲存單元120可儲存用以響應該第一讀取請求140而從記憶體提取之第一資料122。該儲存單元120可包括用以儲存從該記憶體提取之資料的一快取記憶體(未顯示)。從該快取記憶體取得之資料可具有比必須首次從該記憶體存取之資料還低的潛伏期。
該記憶體可為一較長潛伏期記憶體時,該裝置100能夠回傳對應於該第一讀取請求140之該提取第一資料122之前,該裝置100可接收該第二讀取請求150。結果是,該回傳單元130可用以響應該第二讀取請求150、而非該第一讀取請求140而回傳該提取之第一資料122’。因此,該提取之第一資料122可對應於該第一讀取請求之一位址142。此外,該提取之第一資料122可不對應於該第二讀取請求150之一位址152。
圖1說明用以響應該第二讀取請求150而回傳之該提取第一資料122,範例亦可包括用以響應一隨後讀取請求,諸如一第三或第四讀取請求而回傳之該提取第一資料122。例如,若該第二讀取請求150被接收後該第一資料122尚未被提取,但因已接收該第三讀取請求之一時間而被提取,則該提取之第一資料122可用以響應該第三讀取請求而
回傳。如下文參照圖2更詳細說明,該等第一與第二讀取請求140與150可由一記憶體控制器(未顯示)來送出。該等第一與第二讀取請求140與150可為具有分開位址142與152之分開的請求。範例可包括該等第一與第二讀取請求140與150間傳送之其他讀取請求。
圖2為送出請求之一控制器250以及回傳資料之一裝置200的示範方塊圖。該裝置200可耦合至或包括在任何類型的計算裝置中以存取記憶體,諸如一筆記型電腦、一桌上型電腦、一單體全備系統、一伺服器、一網路裝置、一無線裝置、一儲存裝置、一行動裝置等等。
圖2之裝置200可至少包括圖1之裝置100的功能及/或硬體。例如,該裝置200包括含有圖1之該讀取單元110的功能及/或硬體之一讀取單元210、含有圖1之該儲存單元120的功能及/或硬體之一儲存單元220以及含有圖1之該回傳單元130的功能及/或硬體之一回傳單元230。該裝置200更包括一記憶體240。如上所述,該記憶體240可僅包括較長潛伏期記憶體,諸如謹非依電性記憶體、或較長與較短潛伏期記憶體之一組合,諸如依電性與非依電性記憶體兩者。較長潛伏期記憶體並不侷限於非依電性記憶體。例如,較長潛伏期記憶體可包括較慢依電性記憶體。雖然該記憶體240顯示位在該裝置200內部,但範例亦可包括該記憶體240位在該裝置200外部。
該裝置200與該記憶體控制器顯示經由一記憶體匯流排270,諸如一DDR匯流排來介接。該記憶體控制器250
可為任何類型的裝置,諸如如同一DDR控制器之一記憶體控制器來接收讀取請求。該控制器250可包括,例如,包括用以執行下文所述功能之電子電路,諸如控制邏輯及/或記憶體的一硬體裝置。除此之外或者作為一選擇方案,該控制器250可作為於一機器可讀儲存媒體中編碼並由一處理器執行之一序列指令來予以執行。
該記憶體控制器250可與一處理器(未顯示),諸如一中央處理單元(CPU)介接或為其一部分。該處理器可將請求,諸如該等第一與第二讀取請求140與150送至該記憶體控制器250。針對該類目的如於該記憶體240儲存資料或從其擷取資料、將該記憶體240之記憶體細胞格列(未顯示)致動等等,該記憶體控制器250可選擇性宣告與解宣告該記憶體匯流排270上之控制、位址與資料信號以產生該記憶體匯流排270上之對應的匯流排週期、或操作。
如上所解釋,該記憶體240可包括具有至該讀取單元210與儲存單元220之一適當記憶體介面,諸如DDR、LPDDR、ONFI、或一非標準的記憶體介面之非依電性記憶體(未顯示)。此外,其他類型記憶體(未顯示),諸如依電性記憶體如DRAM或SDRAM可與裝置200介接或包括其中、或者包括在連接至該記憶體匯流排270之其他裝置中。例如,具有非依電性及/或依電性記憶體之多個裝置200或DIMM可連接至該單一記憶體匯流排270。
假設該記憶體240包括該非依電性記憶體,則相較於存取一依電性記憶體之記憶體細胞格的時間,該非依
電性記憶體之記憶體細胞格,一般而言可具有一相關聯的較小存取時間。結果是,該非依電性記憶體可經歷較長潛伏期來將資料儲存於其記憶體細胞格及/或從其擷取資料。該記憶體匯流排270可由特別針對依電性記憶體之相當快的存取時間來定制之一組最小計時規格來支配。然而,該記憶體匯流排270可為一確定性計時匯流排,其可由不提供一延遲命令或導入一延遲之其他外顯機構的一規格來支配以便可適用於一相當慢的記憶體裝置,諸如包括具有非依電性記憶體之記憶體240的裝置200。
例如,該記憶體匯流排270可為一DDR DRAM或SDRAM記憶體匯流排,其具有允許不提供一命令延遲之一確定性介面。一般而言,該DDR DRAM或SDRAM記憶體匯流排之規格規定所有命令依序完成並具有規定的項目。
該裝置200可包括一匯流排介面(未顯示),其可耦合至該記憶體匯流排270以便對來自該記憶體匯流排270之信號解碼並將編碼信號供應至該記憶體匯流排270,來傳達往返該記憶體240之資料。因此,經由該機構,該記憶體240可,例如,從該記憶體控制器250來接收各種不同命令,諸如寫入資料、讀取資料、致動一給定列、等等的命令。然而,由於其相當小的存取時間,該記憶體240可能無法跟上命令於該記憶體匯流排270上傳達的速率。為了適用於該計時不均等,如上文圖1所述,該裝置200可用以響應一未來的讀取請求、而非一目前的讀取請求而送出請求資料。
如圖2所示,該記憶體控制器250可將該等第一與
第二讀取請求140與150送出或轉送至該裝置200。然而,若該記憶體控制器250用以響應該第二讀取請求150而接收該第一資料122,則該記憶體控制器250仍可將該提取的第一資料122往回輸出,諸如至該處理器,以作為該第一讀取請求140(而非該第二讀取請求150)之一響應。
該讀取單元210可用以響應該第二讀取請求150而提取第二資料124。該儲存單元220可儲存該提取的第二資料124。該回傳單元230可用以響應一第三讀取請求(未顯示)而回傳該提取的第二資料124。相同操作可針對隨後的讀取請求來達成。
該讀取單元210可從該記憶體控制器250根據一序列來接收多個讀取請求。該回傳單元230可根據該相同序列來回傳對應於該等多個讀取請求之資料。於一範例中,該回傳單元230及/或儲存單元220可包括一先入、先出(FIFO)結構(未顯示)以確保資料於相同序列中回傳。例如,該記憶體控制器250可送出第一至第五個讀取請求。對應於該第一至第五個讀取請求之資料可從該記憶體240不依序擷取。雖然如此,該對應資料仍可根據該第一至第五個讀取請求由該讀取單元210接收之該相同序列由該回傳單元230來輸出。
此外,該記憶體控制器250可將該等多個讀取請求輸出至該讀取單元210而與該資料何時由該回傳單元230回傳無關。例如,該記憶體控制器250可將該所有第一至第五個讀取請求送至該讀取單元210而不管該回傳單元230是
否或何時將對應於該第一至第五個讀取請求之資料的任何一個回傳。
該等多個讀取請求之一最後讀取請求送至該讀取單元210後,該記憶體控制器250可將一虛擬讀取請求260送至該讀取單元210。該回傳單元230可用以響應該虛擬讀取請求260而將儲存於該儲存單元220中之提取的最後資料回傳。例如,假設該記憶體控制器250將10個讀取請求送至該裝置200則該裝置送回資料時存有一個讀取請求之一延遲。亦即,該裝置200可用以響應該第二讀取請求150而送出該第一資料122、用以響應該第三讀取請求而送出該第二資料124、等等。之後,該第10個讀取請求由該記憶體控制器250送至該裝置200後,只有對應於該第9個讀取請求之資料將被回傳。然而,該讀取單元210用以響應該第10個讀取請求,而仍可擷取對應於該第10個讀取請求之資料並將其儲存於該儲存單元220中。於是,該第10個讀取請求後,該記憶體控制器250可送出該虛擬讀取請求260,以便使該回傳單元230將對應於該第10個讀取請求之資料送出。該虛擬讀取請求260可被發出來作為一錯誤位址之一存取、或作為一交替地編碼交易,使得由於該虛擬讀取請求260,該讀取單元210可辨識其為一錯誤請求而因此不提取任何資料進入該儲存單元220。
針對類似原因,若僅有一個讀取請求轉送至該裝置200,則該記憶體控制器250亦可送出該虛擬讀取請求260。例如,假設該第一讀取請求140送至該讀取單元210但
無第二讀取請求150送至該讀取單元210。此情況中,若該第一讀取請求140後該虛擬讀取請求260被送出,則該回傳單元230可將該提取之第一資料122回傳至該記憶體控制器250。
若該儲存單元220無回傳任何資料,則該回傳單元230可用以響應該虛擬讀取請求260而將一空的或零數值回傳。於一範例中,若該資料於一預期的時段中尚未被提取,則該回傳單元230亦可將一空的或零數值回傳。例如,若該第一讀取請求140被接收後該第一資料122尚未於該預期時間前回傳以及若該第二讀取請求150被接收後該第一資料122尚未於該預期時間前回傳、等等,則該回傳單元230可將該空的數值回傳。該記憶體控制器250可使用該空的或零數值來追蹤哪個資料尚未被接收。例如,藉由將該資料及/或可正常指出一資料錯誤之錯誤修正碼(ECC)欄位所提供的一特定數值回傳,一空的或零數值可編碼成為該讀取請求之一響應。
於一範例中,該第一讀取請求140送至該裝置200後,該記憶體控制器250可延遲至少一臨界時間252將該第二讀取請求150送至該裝置200。例如,若該臨界時間252為50奈秒,則該記憶體控制器250將該第一讀取請求140與第二讀取請求150送出至該裝置200之間可等待至少50奈秒。一般而言,該記憶體控制器250送出任何連續請求之間亦可等待至少該臨界時間252。此可增加資料可在該先前送出之相關讀取請求的一較接近時間視窗中從該裝置200回傳之
相似性。
例如,若該記憶體控制器250不等待該臨界時間252,則該第一讀取請求140之第一資料122無法從該記憶體控制器250接收直到一第四個讀取請求送至該裝置200之後為止。然而,若該記憶體控制器250等待該臨界時間252,則該第二讀取請求150送至該裝置200之後,該第一讀取請求140之第一資料122可從該記憶體控制器250接收。
於一範例中,該臨界時間252亦可根據該讀取請求之估計潛伏期來動態改變。例如,該回傳單元230可進一步用以響應該第一讀取請求140而將該臨界時間252送至該記憶體控制器250。該裝置200送出之該臨界時間252可根據擷取該第一資料122之一時間。該臨界時間252可根據該記憶體240之一階層、讀取該資料之記憶體240的一細胞格類型(諸如依電性或非依電性記憶體)、該資料之一位置(諸如該裝置200之快取記憶體或該記憶體240)等等。不像習知的記憶體控制器,該記憶體控制器250之範例可包括額外的功能來從混合潛伏期之記憶體讀取資料,甚至經由一習知的記憶體匯流排,諸如一DDR記憶體匯流排來通訊。
圖3為一包括用以響應一第二讀取請求而從一DIMM接收第一資料之指令的一計算裝置300之示範方塊圖。圖3中,該計算裝置300包括一處理器310與一機器可讀儲存媒體320。該機器可讀儲存媒體320更包括用以響應一第二讀取請求而輸出第一資料之指令322、324、326與328。
該計算裝置300可為,例如,一控制器、一安全
微處理器、一筆記型電腦、一桌上型電腦、一單體全備系統、一伺服器、一網路裝置、一無線裝置、或者能夠執行該等指令322、324、326與328之任何其他類型的使用者裝置。某些範例中,該計算裝置300可包括或連接至諸如記憶體、感測器、顯示器、等等之額外構件。
該處理器310可為,至少一中央處理單元(CPU)、至少一半導體式微處理器、適合擷取與執行儲存於該機器可讀儲存媒體320中之指令的其他硬體裝置、或其組合。該處理器310可提取、解碼、與執行指令322、324、326與328來實施用以響應該第二讀取請求而輸出該第一資料。作為擷取與執行指令之一替代方式或者除此之外,該處理器310可包括含有用以執行指令322、324、326與328之功能的許多電子構件之至少一個積體電路(IC)、其他控制邏輯、其他電子電路、或其組合。
該機器可讀儲存媒體320可為包含或儲存可執行指令之任何電子、磁性、光學、或其他實體儲存裝置。因此,該機器可讀儲存媒體320可為,例如,隨機存取記憶體(RAM)、一電子可抹除可程式化唯讀記憶體(EEPROM)、一儲存驅動器、一(CD-ROM)、等等。就本身而言,該機器可讀儲存媒體320可為非暫態。如下文詳細說明,機器可讀儲存媒體320可以用以響應該第二讀取請求而輸出該第一資料之一序列可執行指令來編碼。
再者,該等指令322、324、326與328由一處理器(例如,經由該處理器之一處理元件或多個處理元件)來執行
時,可使該處理器來執行程序,諸如,圖4之程序。例如,該等送出之第一讀取請求指令322可由該處理器310來執行用以響應從一客戶端(未顯示)接收一第一讀取請求而將該第一讀取請求(未顯示)送至一雙行記憶體模組(DIMM)(未顯示)。
該等送出之第二讀取指令324可由該處理器310來執行用以響應從該客戶端接收一第二讀取請求而將該第二讀取請求送至該DIMM。該等輸出指令326可由該處理器310來執行用以響應該第一讀取請求而將第一資料送至該客戶端。該第一資料可用以響應該第二讀取請求而從該DIMM接收。
圖4為一用以響應一第二讀取請求而將第一資料輸出至一客戶端之一方法400的示範流程圖。雖然該方法400之執行於下文係參照該裝置100來執行,但亦可使用執行該方法400之其他適合的構件,諸如該裝置200。此外,用以執行該方法400之構件可在多個裝置間延伸(例如,與輸入以及輸出裝置通訊之一處理裝置)。某些情境中,協調行動之多個裝置可視為執行該方法400之一單一裝置。該方法400可以儲存於一機器可讀儲存媒體,諸如,儲存媒體320中之可執行指令的型式、及/或電子電路的型式來執行。
方塊410中,該裝置100接收一第一讀取請求140。之後,方塊420中,該裝置100從一記憶體提取第一資料122。接著,方塊430中,該裝置100接收一第二讀取請求150。該等第一與第二讀取請求經由一雙行記憶體模組
(DIMM)介面來接收。最後,方塊440中,該裝置100用以響應該第二讀取請求150而輸出該第一資料122’。該第一資料122’並不對應於該第二讀取請求150之一位址。第二資料用以響應該第二讀取請求150而從該記憶體提取。該第二資料用以響應一第三讀取請求而輸出。
根據上述內容,本技術之範例可提供允許具有較長存取之記憶體來與標準DIMM共享一DDR介面之一方法及/或裝置,以提供直接存取較高的記憶體容量而不需提供額外的記憶體介面。由於此安排,較快的標準DIMM可以其較短的潛伏期來遞送資料並與較慢的高容量DIMM共享該DDR介面。
100‧‧‧裝置
110‧‧‧讀取單元
120‧‧‧儲存單元
122、122’‧‧‧第一資料
130‧‧‧回傳單元
140‧‧‧第一讀取請求
142、152‧‧‧位址
150‧‧‧第二讀取請求
Claims (15)
- 一種裝置,包含有:一讀取單元,其用以響應於一第一讀取請求而提取第一資料;一儲存單元,其用以儲存該提取之第一資料;以及一回傳單元,其用以響應於一第二讀取請求而將該提取之第一資料回傳,其中:該提取之第一資料對應於該第一讀取請求之一位址。
- 如請求項1之裝置,更包含:一記憶體控制器,其用以將該等第一與第二讀取請求送至該讀取單元,其中:該記憶體控制器響應於該第一讀取請求而將該提取之第一資料輸出。
- 如請求項2之裝置,其中:在多個讀取請求中之一最後一個讀取請求送至該讀取單元後,該記憶體控制器將一虛擬讀取請求送至該讀取單元;以及該回傳單元用以響應於該虛擬讀取請求而將儲存於該儲存單元中之提取的最後資料回傳。
- 如請求項2之裝置,其中:若該第二讀取請求未送至該讀取單元,則在該第一讀取請求送至該讀取單元後,該記憶體控制器送出一虛 擬讀取請求;以及該回傳單元用以響應於該虛擬讀取請求而將該提取的第一資料回傳。
- 如請求項4之裝置,其中若無資料要由該儲存單元回傳,則該回傳單元響應於該虛擬與第一讀取請求的至少其中之一而將一空數值回傳。
- 如請求項2之裝置,其中在該第一讀取請求送至該裝置後,該記憶體控制器將該第二讀取請求延遲至少一臨界時間送至該裝置。
- 如請求項6之裝置,其中該回傳單元進一步用以響應於該第一讀取請求而將該臨界時間送至該記憶體控制器。
- 如請求項1之裝置,其中:該讀取單元根據一序列來接收多個讀取請求;以及該回傳單元根據該相同序列來將對應於該等多個讀取請求之資料回傳。
- 如請求項8之裝置,其中一記憶體控制器將該等多個讀取請求輸出至該讀取單元係獨立於該資料何時由該回傳單元回傳。
- 如請求項1之裝置,其中該讀取單元用以響應於該第二讀取請求而提取第二資料。
- 如請求項10之裝置,其中:該儲存單元用以儲存該提取之第二資料;以及該回傳單元用以響應於一第三讀取請求而將該提取之第二資料回傳。
- 如請求項2之裝置,其中:該裝置包括一或更多雙行記憶體模組(DIMM),而該記憶體控制器為一雙倍資料速率(DDR)控制器,以及該資料從該一或更多DIMM之一依電性記憶體(VM)與一非依電性記憶體(NVM)的至少其中之一來提取。
- 一種方法,包含下列步驟:接收一第一讀取請求;從一記憶體提取第一資料;接收一第二讀取請求;以及響應於該第二讀取請求而輸出該第一資料,其中:該第一資料並不對應於該第二讀取請求之一位址,以及該等第一與第二讀取請求經由一雙行記憶體模組(DIMM)介面來接收。
- 如請求項13之方法,其中第二資料響應於該第二讀取請求而從該記憶體提取,且該第二資料響應於一第三讀取請求而輸出。
- 一種儲存有指令之非暫態電腦可讀儲存媒體,該等指令由一裝置之一處理器執行時,可使該處理器執行下列步驟:響應於從一客戶端接收一第一讀取請求而將該第一讀取請求送至一雙行記憶體模組(DIMM);響應於從該客戶端接收一第二讀取請求而將該第 二讀取請求送至該DIMM;以及響應於該第一讀取請求而將第一資料輸出至該客戶端,其中:該第一資料係響應於該第二讀取請求而從該DIMM接收。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/052240 WO2015012858A1 (en) | 2013-07-26 | 2013-07-26 | First data in response to second read request |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201506770A TW201506770A (zh) | 2015-02-16 |
TWI564787B true TWI564787B (zh) | 2017-01-01 |
Family
ID=52393712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103118257A TWI564787B (zh) | 2013-07-26 | 2014-05-26 | 響應第二讀取請求之第一資料相關技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9972379B2 (zh) |
EP (1) | EP3025347A1 (zh) |
CN (1) | CN105474318A (zh) |
TW (1) | TWI564787B (zh) |
WO (1) | WO2015012858A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017015790A1 (en) * | 2015-07-24 | 2017-02-02 | Apple Inc. | Packet switched voice service registration techniques with reduced overhead |
US10025508B2 (en) | 2015-12-02 | 2018-07-17 | International Business Machines Corporation | Concurrent upgrade and backup of non-volatile memory |
US10678714B2 (en) | 2017-11-22 | 2020-06-09 | International Business Machines Corporation | Dual in-line memory module with dedicated read and write ports |
US10956246B1 (en) * | 2018-07-16 | 2021-03-23 | Amazon Technologies, Inc. | Isolated read channel management interfaces at streaming data service |
US11036432B2 (en) * | 2019-07-09 | 2021-06-15 | Micron Technology, Inc. | Low power mode for a memory device |
US20220367473A1 (en) * | 2020-12-25 | 2022-11-17 | Unisantis Electronics Singapore Pte. Ltd. | Memory device using semiconductor element |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301278A (en) * | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
US6173344B1 (en) * | 1998-05-27 | 2001-01-09 | Adaptec, Inc | SCSI bus transceiver and method for making the same |
TWI307464B (en) * | 2002-07-11 | 2009-03-11 | Advanced Micro Devices Inc | Dram supporting different burst-length accesses without changing the burst length setting in the mode register |
TWI397081B (zh) * | 2004-11-11 | 2013-05-21 | Nvidia Corp | 適應性1t/2t時序控制之記憶體控制器及其方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959374B2 (en) * | 2003-01-29 | 2005-10-25 | Sun Microsystems, Inc. | System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control |
US6894531B1 (en) | 2003-05-22 | 2005-05-17 | Altera Corporation | Interface for a programmable logic device |
US7224595B2 (en) | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
WO2006117746A1 (en) * | 2005-05-04 | 2006-11-09 | Nxp B.V. | Memory controller and method for controlling access to a memory, as well as system comprising a memory controller |
US20080022050A1 (en) * | 2006-07-18 | 2008-01-24 | Via Technologies, Inc. | Pre-Fetching Data for a Predictably Requesting Device |
US20080133820A1 (en) | 2006-11-30 | 2008-06-05 | Ramkarthik Ganesan | DDR flash implementation with row buffer interface to legacy flash functions |
US20080162799A1 (en) | 2006-12-28 | 2008-07-03 | Bryan Spry | Mechanism for write optimization to a memory device |
WO2012083211A1 (en) | 2010-12-17 | 2012-06-21 | Everspin Technologies, Inc. | Memory controller and method for interleaving dram and mram accesses |
US8612676B2 (en) | 2010-12-22 | 2013-12-17 | Intel Corporation | Two-level system main memory |
JP2012221156A (ja) * | 2011-04-07 | 2012-11-12 | Sony Corp | 再生装置および再生方法 |
US8621157B2 (en) | 2011-06-13 | 2013-12-31 | Advanced Micro Devices, Inc. | Cache prefetching from non-uniform memories |
EP3382556A1 (en) * | 2011-09-30 | 2018-10-03 | INTEL Corporation | Memory channel that supports near memory and far memory access |
US8560757B2 (en) | 2011-10-25 | 2013-10-15 | Cavium, Inc. | System and method to reduce memory access latencies using selective replication across multiple memory ports |
US8812936B2 (en) * | 2012-07-06 | 2014-08-19 | Sandisk Technologies Inc. | Using slow response memory device on a fast response interface |
-
2013
- 2013-07-26 US US14/897,385 patent/US9972379B2/en active Active
- 2013-07-26 CN CN201380078498.7A patent/CN105474318A/zh active Pending
- 2013-07-26 WO PCT/US2013/052240 patent/WO2015012858A1/en active Application Filing
- 2013-07-26 EP EP13890063.4A patent/EP3025347A1/en not_active Withdrawn
-
2014
- 2014-05-26 TW TW103118257A patent/TWI564787B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301278A (en) * | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
US6173344B1 (en) * | 1998-05-27 | 2001-01-09 | Adaptec, Inc | SCSI bus transceiver and method for making the same |
TWI307464B (en) * | 2002-07-11 | 2009-03-11 | Advanced Micro Devices Inc | Dram supporting different burst-length accesses without changing the burst length setting in the mode register |
TWI397081B (zh) * | 2004-11-11 | 2013-05-21 | Nvidia Corp | 適應性1t/2t時序控制之記憶體控制器及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105474318A (zh) | 2016-04-06 |
EP3025347A1 (en) | 2016-06-01 |
US9972379B2 (en) | 2018-05-15 |
WO2015012858A1 (en) | 2015-01-29 |
US20160148673A1 (en) | 2016-05-26 |
TW201506770A (zh) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074961B2 (en) | Method of performing internal processing operation of memory device | |
US10248340B2 (en) | Semiconductor apparatus, memory module and operation method thereof | |
TWI564787B (zh) | 響應第二讀取請求之第一資料相關技術 | |
US10496281B2 (en) | Data storage device, data processing system and method of operation | |
KR100868393B1 (ko) | 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리 | |
US10943183B2 (en) | Electronics device performing software training on memory channel and memory channel training method thereof | |
US10572339B2 (en) | Memory latency management | |
JP7007102B2 (ja) | 不揮発性メモリモジュール、及び格納装置の動作方法 | |
CN109388517A (zh) | 存储器控制器、包括存储器控制器的存储器***和应用处理器 | |
US10769074B2 (en) | Computer memory content movement | |
US9064603B1 (en) | Semiconductor memory device and memory system including the same | |
TWI668703B (zh) | 具有可程式化緩衝器及快取大小的記憶體協定 | |
CN114153373A (zh) | 用于执行存储器设备内的数据操作的存储器***及其操作方法 | |
TWI704489B (zh) | 儲存備份記憶體封裝中之狀態管理 | |
KR101732841B1 (ko) | 내장된 ecc 어드레스 맵핑 | |
US11055220B2 (en) | Hybrid memory systems with cache management | |
US20180188976A1 (en) | Increasing read pending queue capacity to increase memory bandwidth | |
CN107452423B (zh) | 计算***、非易失性存储器模块以及操作存储设备的方法 | |
CN103885906B (zh) | 存储器控制器以及包括存储器控制器的存储*** | |
US20160276016A1 (en) | Non-binary rank multiplication of memory module | |
US9658976B2 (en) | Data writing system and method for DMA | |
US20240168896A1 (en) | Memory controller, electric system including the same and method of controlling memory access | |
US20230236732A1 (en) | Memory device | |
CN107274928B (zh) | 存储器件及其操作方法 |