TW201512842A - 完成封包回送技術 - Google Patents
完成封包回送技術 Download PDFInfo
- Publication number
- TW201512842A TW201512842A TW103122824A TW103122824A TW201512842A TW 201512842 A TW201512842 A TW 201512842A TW 103122824 A TW103122824 A TW 103122824A TW 103122824 A TW103122824 A TW 103122824A TW 201512842 A TW201512842 A TW 201512842A
- Authority
- TW
- Taiwan
- Prior art keywords
- data packet
- packet
- memory
- sent
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
若一資料封包的一欄位指示該資料封包係因一快取記憶體容量逐出故而被發送,則在該資料封包被寫入至一記憶體之前,一完成封包可被回送。若該資料封包的該欄位指示該資料封包係因一掃除操作故而被發送,則在該資料封包被寫入至該記憶體之後,該完成封包被回送。
Description
本發明係有關於完成封包回送技術。
一裝置可包括一控制器其與一持久性記憶體介接。欲寫至該持久性記憶體的資料可發送至該控制器。當完成時,該控制器可確認該資料已經寫至該持久性記憶體。製造商、販售商及/或供應商被挑戰以給使用者提供將該資料寫至該持久性記憶體之更有效的方法。
依據本發明之一實施例,係特地提出一種裝置包含:一接收單元以接收包括一欄位之一資料封包;及一寫入單元以應答於該資料封包回送一完成封包,其中若該欄位指示該資料封包係因一快取記憶體容量逐出故而被發送,則於該資料封包被寫至一記憶體之前,該寫入單元係將回送該完成封包,及若該欄位指示該資料封包係因一掃除操作故而被發送,則於該資料封包被寫至一記憶體之後,該寫入單元係將回送該完成封包。
100、200‧‧‧裝置
110‧‧‧接收單元
120‧‧‧寫入單元
150、150’‧‧‧資料封包
152、152’‧‧‧欄位
160‧‧‧完成封包
210、310‧‧‧處理器
212、214、216‧‧‧掃除指令
218‧‧‧快取記憶體
228‧‧‧遠端快取記憶體
230‧‧‧非依電性記憶體(NVM)
300‧‧‧計算裝置
320‧‧‧機器可讀取儲存媒體
322、324‧‧‧指令
400‧‧‧方法
410-450‧‧‧方塊
後文詳細說明部分參考附圖,附圖中:圖1為回送一完成封包之一裝置之一實施例方塊圖;圖2為回送一完成封包之一裝置之另一實施例方塊圖;圖3為包括用以發送一資料封包之指令的一計算裝置之一實施例方塊圖;及圖4為回送一完成封包之一方法之一實施例流程圖。
於後文詳細說明部分中給定特定細節以供瞭解本文技術之實施例。但須瞭解可無此等特定細節而實施本文技術之實施例。舉例言之,系統可以方塊圖顯示以便不會以不必要的細節遮掩本文技術之實施例。於其它情況下,眾所周知之方法、結構及技術可無不必要之細節顯示以免遮掩本文技術之實施例。
一裝置可包括一控制器,諸如介接一記憶體諸如非依電性記憶體(NVM)之一記憶體控制器。該裝置之一處理器可發送欲寫至該記憶體的資料給控制器。在該資料寫至該記憶體後,該控制器可發送一完成封包給該處理器,確認該資料已經成功地寫至該記憶體。
萌芽新穎記憶體技術其許可使用具有較高密度及相似存取延遲的非依電性裝置置換系統動態隨機存取記
憶體(DRAM)。處理器同調協定可經設計使用依電性記憶體工作。但此等協定未曾設計以支援經同調存取的非依電性記憶體之低額外負擔委付。
舉例言之,當資料被寫至依電性DRAM時,一旦
該DRAM之介面已經接收資料且可確保當該位置後來被存取時該資料可以回送,該記憶體控制器可指示寫入為完成。如此藉縮短延遲而提供較佳效能。但當資料被寫至一持久性儲存裝置時,諸如非依電性記憶體,該記憶體控制器可能必須等待指示該寫入為完成,直到資料已經實際上寫至該持久性記憶體為止。雖然延遲增加,但為了正確性要求可能必須確保資料不遺失,諸如若在資料可被寫至該持久性記憶體之前發生電力故障。某些軟體碼及/或操作可能仰賴在進行次一步驟之前,資料被委付給該持久性記憶體。
實施例可提供一同調系統協定,其許可一非依電
性記憶體控制器根據該處理器之動作而決定如何將資料寫至記憶體。舉例言之,處理器可對記憶體控制器指示一寫入至該非依電性記憶體是否應處理為彷彿將該資料寫至一過渡依電性記憶體或一持久性非依電性記憶體。裝置之一實施例可包括一接收單元及一寫入單元。該接收單元可接收包括一欄位之一資料封包。該寫入單元可應答於該資料封包而回送一完成封包。若該欄位指示該資料封包之被發送係因一快取記憶體容量逐出原故,則在該資料封包被寫至一記憶體之前,該寫入單元可回送該完成封包。若該欄
位指示該資料封包之被發送係因掃除操作原故,則在該資料封包被寫至一記憶體之後,該寫入單元可回送該完成封包。
因此,本文技術之實施例可延遲一寫入完成的指
示直到該資料被委付用於一掃除操作,及緊接在資料由該裝置接收之後但在該資料被委付之前,給定寫入完成之指示用於一快取記憶體容量逐出。使用對一處理器的同調協定之此項修正,實施例能夠加速無需要求委付給持久性記憶體的寫入操作或防止該等寫入操作,諸如快取記憶體容量逐出的減慢。此外,實施例可能不要求對確實要求委付給持久性記憶體的寫入操作諸如掃除操作做改變。
現在參考附圖,圖1為回送一完成封包之一裝置
100的實施例方塊圖。該裝置100可耦接至或含括於任何型別的計算裝置包括記憶體,諸如控制器、筆記型電腦、桌上型電腦、全部一體化系統、伺服器、網路裝置、無線裝置、儲存裝置、行動裝置、精簡型電腦、收銀機裝置、遊戲裝置、科學儀器等。
於圖1之實施例中,裝置100包括一接收單元110
及一寫入單元120。該等接收及寫入單元110及120可包括例如含用以具現後述功能的電子電路之硬體裝置,諸如控制邏輯及/或記憶體。此外或另外,該等接收及寫入單元110及120可具現為編碼於一機器可讀取儲存媒體上且可由一處理器執行的一串列指令。
接收單元110可接收包括一欄位152之一資料封
包150。封包一詞可指稱資料之一單位。欄位一詞可指稱儲存例如控制資訊之該封包的一部分。此處,資料封包150可包括資料連同該資料被寫入的一位址,以該裝置100用作為一記憶體控制器。該資料封包可從一處理器發送。
應答於該資料封包150,,該寫入單元120可回送
一完成封包160。該完成封包160可給該處理器指示該資料封包150’已經由該裝置100接受。轉而,該處理器可假設資料封包150’已經寫至一記憶體(圖中未顯示),諸如非依電性記憶體例如硬碟機(HDD)、固態驅動裝置(SSD)、或快閃記憶體,及恢復其它處理程序。
若該欄位152’指示該資料封包150因快取記憶體容量逐出故而被發送,則在該資料封包150’實際上被寫入至該記憶體之前,該寫入單元120可回送該完成封包160。另一方面,若該欄位152’指示該資料封包150’因掃除操作故而被發送,則在該資料封包150’實際上被寫入至該記憶體之後,該寫入單元120可回送該完成封包160。然而,若該欄位152’指示該資料封包150’因快取記憶體容量逐出故而被發送,則在該接收單元110至少已經接收該資料封包150之後,該寫入單元120仍然可回送該完成封包160。
快取記憶體容量逐出可與從已經到達容量的該處理器之一快取記憶體(圖中未顯示)中逐出有關。例如,若該快取記憶體已滿,及該處理器正在尋求放置新資料入該快取記憶體內,則可逐出來自該快取記憶體的老舊資料。老舊資料可經發送而欲寫至記憶體,諸如若老舊資料已經
從記憶體的既有複本修正。判定欲逐出哪個資料行或快取行可藉一演算法決定。
因由處理器執行一指令故,一掃除操作可與從該
快取記憶體掃除資料至該記憶體相關。舉例言之,該指令可造成一有效位址之資料欲從該快取記憶體掃除至一主記憶體。掃除之理由範例可為預防資料、結構及/或分支風險以及快取管理。
圖2為回送一完成封包之一裝置200之另一實施
例方塊圖。該裝置200可耦接至或含括於包括一記憶體的任一型計算裝置,諸如控制器、筆記型電腦、桌上型電腦、全部一體化系統、伺服器、網路裝置、無線裝置、儲存裝置、行動裝置、精簡型電腦、收銀機裝置、遊戲裝置、科學儀器等。
圖2之裝置200可包括至少圖1之裝置100的該功
能及/或硬體。舉例言之,圖2之裝置200包括該等接收及寫入單元110及120。該裝置200進一步顯示為介接一處理器210、一非依電性記憶體(NVM)230及一遠端快取記憶體228。該處理器210可為至少一個中央處理單元(CPU)、至少一個以半導體為基礎之微處理器、或適用於指令之取回與執行之任何其它硬體裝置。該NVM 230可為能夠持久地儲存資料的任何電子式、磁學式、光學式、或其它物理儲存裝置,諸如HDD、SDD及/或快閃記憶體。
如前記,某些操作諸如掃除操作可要求在其完成之前,通知該資料已經寫入至該NVM 230。其它型別之操
作諸如快取記憶體容量逐出在被傳訊為完成之前,不要求此等確證。若欄位152’指示該資料封包150’係因掃除操作而被發送,則在該資料封包150保證寫至NVM 230之後,該寫入單元120可發送該完成封包160。然而,若欄位152’指示該資料封包150’係因快取記憶體容量逐出故而被發送,則在該資料封包150’保證寫至NVM 230之前,該寫入單元120可發送該完成封包160。此種情況下,當完成封包160被發送至處理器210時,該資料封包150’可仍然儲存於一中間記憶體或非持久性記憶體(圖中未顯示),諸如緩衝器或依電性記憶體。
根據該資料封包150是否欲應答於由該處理器210執行一指令而發送,欄位152之值可由處理器210決定。舉例言之,若該資料封包150係因一掃除指令212故而被發送,則該處理器210可設定欄位152之值為邏輯壹,及若該資料封包150係因一快取記憶體容量逐出故而被發送,則設定欄位152之值為邏輯零,或反之亦然。
於一個實施例中,欲藉該處理器210執行的掃除指令212本身可指示欄位152之值,而非由處理器210指示。舉例言之,第一型掃除指令214可設定該欄位152而指示該資料封包150係因掃除操作故而被發送。另一方面,第二型掃除指令216可設定該欄位152而指示該資料封包150係因快取記憶體容量逐出故而被發送。第一型掃除指令214可與避免風險相關,而第二型掃除指令216可與快取管理相關。因此,針對委付給記憶體230,第二型掃除指令216之急迫
性比第一型掃除指令214更低,及因此可以類似快取記憶體容量逐出之方式處理。
若由掃除指令212指示的該資料封包150係非在
處理器210的快取記憶體218,則處理器210可前傳該掃除指令212而非資料封包150給該接收單元110。轉而,該接收單元110可前傳該掃除指令212給一遠端快取記憶體228。該遠端快取記憶體228例如可為另一處理器或另一裝置諸如輸入/輸出(I/O)裝置或周邊裝置的快取記憶體。若由掃除指令212指示的該資料封包150係在該遠端快取記憶體228,則該掃除指令212可於遠端快取記憶體228觸發一掃除操作。
於若干具現中,若遠端快取記憶體228直接觀察
掃除指令212,則接收單元110可不前傳掃除指令212給遠端快取記憶體228。舉例言之,遠端快取記憶體228可監視一位址或一匯流排行(圖中未顯示),攔截該掃除指令212,及發送該相對應資料封包150給該接收單元110。此項處理也可稱作窺探。於此一實施例中,接收單元110可仍然考慮掃除指令212中之一欄位以決定在該資料封包150被寫至該NVM 230之前,是否可發送該完成封包160。
當該接收單元110接收掃除指令212指示與一特
定位址相聯結的資料欲寫至NVM 230時,如該欄位指示,在決定不本地儲存該資料諸如儲存於裝置200的依電性緩衝器(圖中未顯示)之後,接收單元110可發送該完成封包160。若該資料係將於本地儲存,則在發送完成封包160之前,接收單元110首先可將資料寫至NVM 230。
圖3為包括用以發送一資料封包之指令的一計算
裝置300之一實施例方塊圖。於圖3中,計算裝置300包括一處理器310及一機器可讀取儲存媒體320。機器可讀取儲存媒體320進一步包括用以回送該完成封包之指令322及324。
該計算裝置300例如可為控制器、保全微處理
器、筆記型電腦、桌上型電腦、全部一體化系統、伺服器、網路裝置、無線裝置、或可執行該等指令322及324之任何其它型別的使用者裝置。於某些實施例中,計算裝置300可包括或可連結至額外組件,諸如記憶體、感測器、顯示器等。
處理器310可為至少一個中央處理單元(CPU)、至
少一個以半導體為基礎之微處理器、適用於儲存於該機器可讀取儲存媒體320中之指令之取回與執行之任何其它硬體裝置、或其組合。該處理器310可提取、解碼、及執行指令322及324以具現回送該完成封包。作為取回與執行指令之替代方案或此外,該處理器310可包括至少一個積體電路(IC)、其它控制邏輯、其它電子電路、或包括用以執行指令322及324之功能的多個電子組件之其組合。
機器可讀取儲存媒體320可為含有或儲存有可執
行指令的任一種電子式、磁學式、光學式、或其它物理儲存裝置。因此,機器可讀取儲存媒體320例如可為隨機存取記憶體(RAM)、快閃記憶體、可電氣抹除可規劃唯讀記憶體(EEPROM)、儲存裝置驅動器、光碟-唯讀記憶體(CD-ROM)等。如此,機器可讀取儲存媒體320可為非過渡。容後詳述,
機器可讀取儲存媒體320可以一串列可執行指令編碼用以回送該完成封包。
此外,當藉一處理器執行時(例如透過該處理器
之一個處理元件或多個處理元件),該等指令322及324可造成處理器執行處理,諸如圖4之處理。舉例言之,若該資料封包係因一掃除操作故而被發送,則包括第一值指令322的該被發送的資料封包可藉該處理器310執行以發送具有包括一第一值的該資料封包之一欄位的一資料封包(圖中未顯示)。若該資料封包係因一快取記憶體容量逐出故而被發送,則包括第二值指令324的該被發送的資料封包可藉該處理器310執行以發送具有包括一第二值的該資料封包之一欄位的該資料封包。例如,第一值可為邏輯1及第二值可為邏輯0,或反之亦然。
該資料封包可發送至一記憶體控制器(圖中未顯
示)。該記憶體控制器可根據該資料封包之該欄位的一值,應答於該資料封包,改變針對回送一完成封包(圖中未顯示)給該處理器之一時間序。舉例言之,若該資料封包之該欄位指示該資料封包係因掃除操作故被發送,則該記憶體控制器可在一寫入操作完成後回送該完成封包。另一方面,若該資料封包之該欄位指示該資料封包係因快取記憶體容量逐出故被發送,則該記憶體控制器可在一寫入操作完成之前回送該完成封包。
圖4為用以回送一完成封包之一方法400之一範例流程圖。雖然該方法400之執行於後文係參考裝置200描
述,但可利用其它用於方法400之執行的其它合宜組件。此外,用於方法400之執行的該等組件可展開於多個裝置間(例如與輸入及輸出裝置通訊的處理裝置)。某些情況下,協力作用的多個裝置可視為單一裝置以執行方法400。該方法400可以儲存於一機器可讀取儲存媒體諸如儲存媒體320上的可執行指令形式,及/或以電子電路形式具現。
於方塊410,該裝置200檢視欲寫至記憶體230之
一資料封包150’之一欄位152’。然後於方塊420,若該欄位152’指示該資料封包150’係因快取記憶體容量逐出故而被發送,則該方法400流動至方塊440,於該處在該資料封包150’被寫至記憶體230之前,該裝置200回送一完成封包160。但若該欄位152’不指示該資料封包150’係因快取記憶體容量逐出故而被發送,則該方法400從方塊420流至方塊430。於方塊430,若該欄位152’指示該資料封包150’係因掃除操作故而被發送,則該方法400流動至方塊450,於該處在該資料封包150’被寫至記憶體230之後,該裝置200回送該完成封包160。
該資料封包150可從一處理器210發送。根據處理器210之一快取記憶體218之一狀態及/或由該處理器210所執行的指令212之一型別,該欄位152可藉處理器210設定。舉例言之,若該資料封包係因快取管理策略諸如快取記憶體到達容量故而被發送,則處理器210可設定欄位152以指示該快取記憶體容量逐出。若處理器210執行一掃除指令,則該處理器210可設定欄位152以指示該掃除操作。
若該欄位152指示該資料封包150係因該快取記憶體容量逐出故而被發送,則當該完成封包160被回送時,該資料封包150可能不保證被寫至一非依電性記憶體230。若該欄位152指示該資料封包150係因該掃除操作故而被發送,則當該完成封包160被回送時,該資料封包可保證被寫至該非依電性記憶體230。
100‧‧‧裝置
110‧‧‧接收單元
120‧‧‧寫入單元
150、150’‧‧‧資料封包
152、152’‧‧‧欄位
160‧‧‧完成封包
Claims (15)
- 一種裝置,其包含:一接收單元以接收包括一欄位之一資料封包;及一寫入單元以應答於該資料封包回送一完成封包,其中若該欄位指示該資料封包係因一快取記憶體容量逐出故而被發送,則該寫入單元係將在該資料封包被寫至一記憶體之前回送該完成封包,及若該欄位指示該資料封包係因一掃除操作故而被發送,則該寫入單元係將在該資料封包被寫至一記憶體之後回送該完成封包。
- 如請求項1之裝置,其中若該欄位指示該資料封包係因該快取記憶體容量逐出故而被發送,則該寫入單元係將在該接收單元接收該資料封包之後回送該完成封包。
- 如請求項1之裝置,其中,若該欄位指示該資料封包係因該快取記憶體容量逐出故而被發送,則該資料封包不保證將被寫至一非依電性記憶體,及若該欄位指示該資料封包係因該掃除操作故而被發送,則該資料封包係保證將被寫至一非依電性記憶體。
- 如請求項1之裝置,其中,該資料封包係從一處理器發送, 該快取記憶體容量逐出有關於從已經達到容量的該處理器之一快取記憶體逐出,及該完成封包指示給該處理器該資料封包已經由裝置所接受。
- 如請求項4之裝置,其中該欄位之一值係藉該處理器根據應答於由該處理器所執行之一指令該資料封包是否將被發送而決定。
- 如請求項5之裝置,其中欲藉該處理器執行之一掃除指令指示該欄位之該值。
- 如請求項6之裝置,其中,該掃除指令之一第一型別係設定該欄位指示該資料封包係因該掃除操作故而被發送,及該掃除指令之一第二型別係設定該欄位指示該資料封包係因該快取記憶體容量逐出故而被發送。
- 如請求項6之裝置,其中,若由該掃除指令指示之資料係不在該處理器之該快取記憶體內,則該處理器係將前傳該掃除指令給該接收單元,該接收單元係將前傳該掃除指令給一遠端快取記憶體,及若由該掃除指令指示之資料係在該遠端快取記憶體內,則該掃除指令係將於該遠端快取記憶體觸發一掃除操作。
- 如請求項8之裝置,其中根據當接收該掃除指令時該資 料是否在該接收單元,該接收單元係將應答於該掃除指令而將該資料寫至該記憶體之前及之後中之一者發送該完成封包。
- 一種方法,其包含:檢視欲寫至一記憶體之一資料封包之一欄位;若該欄位指示因一快取記憶體容量逐出故該資料封包被發送,則在該資料封包被寫入至該記憶體之前回送一完成封包;及若該欄位指示因一掃除操作故該資料封包被發送,則在該資料封包被寫入至該記憶體之後回送該完成封包。
- 如請求項10之方法,其中,該資料封包係從一處理器禮發送,及該欄位係根據該處理器之一快取記憶體之一狀態及由該處理器執行的一型別之指令中之至少一者藉該處理器設定。
- 如請求項11之方法,其中,若該資料封包係因快取管理故被發送,則該處理器係將設定該欄位以指示該快取記憶體容量逐出,及若該欄位指示該資料封包係因該快取記憶體容量逐出故被發送,則當該完成封包被回送時,該資料封包係不保證被寫至一非依電性記憶體。
- 如請求項11之方法,其中,若該處理器執行一掃除指令,則該處理器係將設定 該欄位以指示該掃除操作,及若該欄位指示該資料封包係因該掃除操作故被發送,則當該完成封包被回送時,該資料封包係保證被寫至一非依電性記憶體。
- 一種儲存指令之非過渡電腦可讀取儲存媒體,該等指令若藉一裝置之一處理器執行則使得該處理器:若一資料封包係因一掃除操作故被發送,則發送該資料封包具有包括一第一值之該資料封包之一欄位;及若該資料封包係因一快取記憶體容量逐出故被發送,則發送該資料封包具有包括一第二值之該資料封包之該欄位,其中該資料封包係發送給一記憶體控制器,及該記憶體控制器係將根據該資料封包之該欄位的一值,應答於該資料封包而改變用於回送一完成封包之一時間序。
- 如請求項14之非過渡電腦可讀取儲存媒體,其中,若該資料封包之該欄位指示該資料封包係因該掃除操作故被發送,則該記憶體控制器係將在一寫入操作完成之後回送該完成封包,及若該資料封包之該欄位指示該資料封包係因該快取記憶體容量逐出故被發送,則該記憶體控制器係將在一寫入操作完成之前回送該完成封包。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/057678 WO2015030819A1 (en) | 2013-08-30 | 2013-08-30 | Completion packet return |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201512842A true TW201512842A (zh) | 2015-04-01 |
TWI563390B TWI563390B (en) | 2016-12-21 |
Family
ID=52587162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103122824A TWI563390B (en) | 2013-08-30 | 2014-07-02 | Completion packet return |
Country Status (5)
Country | Link |
---|---|
US (1) | US9946656B2 (zh) |
EP (1) | EP3039554A1 (zh) |
CN (1) | CN105164656B (zh) |
TW (1) | TWI563390B (zh) |
WO (1) | WO2015030819A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397677B2 (en) * | 2020-04-30 | 2022-07-26 | Hewlett Packard Enterprise Development Lp | System and method for tracking persistent flushes |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470437B1 (en) * | 1999-12-17 | 2002-10-22 | Hewlett-Packard Company | Updating and invalidating store data and removing stale cache lines in a prevalidated tag cache design |
US6745294B1 (en) * | 2001-06-08 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Multi-processor computer system with lock driven cache-flushing system |
US6981110B1 (en) | 2001-10-23 | 2005-12-27 | Stephen Waller Melvin | Hardware enforced virtual sequentiality |
US7099318B2 (en) | 2001-12-28 | 2006-08-29 | Intel Corporation | Communicating message request transaction types between agents in a computer system using multiple message groups |
CN1210956C (zh) | 2002-06-19 | 2005-07-13 | 华为技术有限公司 | 视讯会议流媒体实时接收存储方法 |
JP4001516B2 (ja) * | 2002-07-05 | 2007-10-31 | 富士通株式会社 | 縮退制御装置及び方法 |
US6931504B2 (en) * | 2003-05-06 | 2005-08-16 | Sun Microsystems, Inc. | Method and apparatus for relocating objects within an object-addressed memory hierarchy |
JP4282408B2 (ja) * | 2003-08-22 | 2009-06-24 | Necエレクトロニクス株式会社 | 半導体記憶装置 |
US8060670B2 (en) | 2004-03-17 | 2011-11-15 | Super Talent Electronics, Inc. | Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device |
US7721049B2 (en) * | 2006-03-27 | 2010-05-18 | Kabuhsiki Kaisha Toshiba | Disk drive write method |
CN100487678C (zh) | 2006-08-23 | 2009-05-13 | 晶天电子(深圳)有限公司 | 带有闪存控制器的电子数据闪存卡 |
US8429318B1 (en) | 2007-08-30 | 2013-04-23 | Virident Systems, Inc. | Methods for early write termination into non-volatile memory with metadata write operations |
TWI351599B (en) | 2007-10-11 | 2011-11-01 | Imicro Technology Ltd | Mass production testing of usb flash cards with va |
US8190826B2 (en) * | 2008-05-28 | 2012-05-29 | Advanced Micro Devices, Inc. | Write combining cache with pipelined synchronization |
US8527710B2 (en) * | 2009-02-17 | 2013-09-03 | Hitachi, Ltd. | Storage controller and method of controlling storage controller |
US9152564B2 (en) * | 2010-05-18 | 2015-10-06 | Intel Corporation | Early cache eviction in a multi-flow network processor architecture |
US8095617B2 (en) * | 2009-06-30 | 2012-01-10 | Oracle America Inc. | Caching data in a cluster computing system which avoids false-sharing conflicts |
US9448938B2 (en) | 2010-06-09 | 2016-09-20 | Micron Technology, Inc. | Cache coherence protocol for persistent memories |
US20120079245A1 (en) | 2010-09-25 | 2012-03-29 | Cheng Wang | Dynamic optimization for conditional commit |
US8688899B2 (en) | 2010-09-28 | 2014-04-01 | Fusion-Io, Inc. | Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol |
CN102447608B (zh) | 2010-10-08 | 2014-11-05 | 中兴通讯股份有限公司 | 采用加速技术实现包重组的方法、装置及*** |
CN102223510B (zh) | 2011-06-03 | 2012-11-14 | 浙江宇视科技有限公司 | 缓存调度方法和装置 |
US10359949B2 (en) | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
US9396755B2 (en) * | 2013-02-20 | 2016-07-19 | Kabushiki Kaisha Toshiba | Temperature-defined data-storage policy for a hybrid disk drive |
-
2013
- 2013-08-30 US US14/786,834 patent/US9946656B2/en active Active
- 2013-08-30 EP EP13892368.5A patent/EP3039554A1/en not_active Withdrawn
- 2013-08-30 CN CN201380076166.5A patent/CN105164656B/zh active Active
- 2013-08-30 WO PCT/US2013/057678 patent/WO2015030819A1/en active Application Filing
-
2014
- 2014-07-02 TW TW103122824A patent/TWI563390B/zh active
Also Published As
Publication number | Publication date |
---|---|
US9946656B2 (en) | 2018-04-17 |
TWI563390B (en) | 2016-12-21 |
US20160162412A1 (en) | 2016-06-09 |
WO2015030819A1 (en) | 2015-03-05 |
CN105164656B (zh) | 2018-03-06 |
EP3039554A1 (en) | 2016-07-06 |
CN105164656A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785545B2 (en) | Method and apparatus for providing dual memory access to non-volatile memory | |
US9858015B2 (en) | Solid-state storage management | |
KR101636634B1 (ko) | 프로세서로부터 메모리 서브시스템으로 데이터를 지능적으로 플러싱하기 위한 시스템 및 방법 | |
US8250283B1 (en) | Write-distribute command for RAID mirroring | |
US10573392B2 (en) | Buffered automated flash controller connected directly to processor memory bus | |
KR20160130199A (ko) | 영구 저장소로의 라이트백을 요구하는 비 트랜잭션 코드 영역의 시작과 끝을 마킹하는 명령어들 | |
JP7010809B2 (ja) | デデュープ可能なメモリキャッシュ及びそのための動作方法 | |
US20180089088A1 (en) | Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache | |
KR20170087043A (ko) | 저속 메모리를 이용하여 페이지 리맵핑 방식으로 바이트 어드레스 지정 능력 및 근-dram 성능을 달성하는 메커니즘 | |
US20170270045A1 (en) | Hybrid memory device and operating method thereof | |
KR20150074550A (ko) | 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템 | |
KR20170013882A (ko) | 플래시 메모리 기반 저장 디바이스의 멀티 호스트 전력 제어기(mhpc) | |
KR20190048453A (ko) | 저장 장치 및 메모리 시스템 | |
US8782345B2 (en) | Sub-block accessible nonvolatile memory cache | |
CN115794682A (zh) | 缓存替换方法及装置、电子设备、存储介质 | |
US8516200B2 (en) | Avoiding cross-interrogates in a streaming data optimized L1 cache | |
US9971520B2 (en) | Processing read and write requests | |
KR20220127076A (ko) | 컨트롤러 및 컨트롤러의 동작 방법 | |
US20200310661A1 (en) | Host-trusted module in data storage device | |
TW201512842A (zh) | 完成封包回送技術 | |
US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof | |
US20240233780A1 (en) | Storage device for idle power operation and method therefor | |
KR101542323B1 (ko) | 업데이트 데이터 처리 방법 및 이를 위한 컴퓨팅 장치 | |
KR101553157B1 (ko) | 메모리 읽기 전용화 방법 및 이를 위한 컴퓨팅 장치 | |
JP2023507222A (ja) | ラインキャッシュミスの効果的な回避 |