TWI648740B - 暫停及恢復非揮發性記憶體操作 - Google Patents

暫停及恢復非揮發性記憶體操作 Download PDF

Info

Publication number
TWI648740B
TWI648740B TW104123751A TW104123751A TWI648740B TW I648740 B TWI648740 B TW I648740B TW 104123751 A TW104123751 A TW 104123751A TW 104123751 A TW104123751 A TW 104123751A TW I648740 B TWI648740 B TW I648740B
Authority
TW
Taiwan
Prior art keywords
queue
memory operation
timer
memory
operations
Prior art date
Application number
TW104123751A
Other languages
English (en)
Other versions
TW201606774A (zh
Inventor
羅伯特W 艾里斯
詹斯M 哈根斯
瑞恩R 瓊斯
Original Assignee
美商桑迪士克科技有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商桑迪士克科技有限責任公司 filed Critical 美商桑迪士克科技有限責任公司
Publication of TW201606774A publication Critical patent/TW201606774A/zh
Application granted granted Critical
Publication of TWI648740B publication Critical patent/TWI648740B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Retry When Errors Occur (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種在一非揮發性記憶體系統中之操作之方法包含開始執行來自一第一佇列之一第一記憶體操作且結合啟動經設定以在一第一預定時間間隔之後到期之一第一定時器。該方法進一步包含根據該第一定時器已到期之一判定來判定一第二佇列是否含有用於執行之至少一記憶體操作,且若含有,則暫停該第一記憶體操作,執行來自該第二佇列之一第二記憶體操作,且在完成執行來自該第二佇列之該第二記憶體操作之後,執行一或多個後續操作(例如,恢復執行該第一記憶體操作及重新啟動該第一定時器)。此外,該方法包含在該第二佇列並不含有用於執行之至少一記憶體操作時,重新啟動該第一定時器且繼續執行來自該第一佇列之該第一記憶體操作。

Description

暫停及恢復非揮發性記憶體操作
所揭示實施例大體係關於記憶體系統且特定言之係關於快閃記憶體操作之管理及暫停。
包含快閃記憶體之半導體記憶體裝置通常利用記憶體胞來儲存作為一電值(諸如一電荷或電壓)之資料。例如,一快閃記憶體胞包含具有用於儲存表示一資料值之一電荷之一浮動閘之一單一電晶體。快閃記憶體係可經電擦除及重新程式化之一非揮發性資料儲存裝置。更一般而言,非揮發性記憶體(例如,快閃記憶體以及使用各種技術之任一者實施之其他類型的非揮發性記憶體)即使在未經供電時亦保留經儲存資訊,如與需要電力維持經儲存資訊之揮發性記憶體相反。已依各種方式促進儲存密度之增加,包含藉由製造業發展實現之增加一晶片上之記憶體胞之密度及自單層級快閃記憶體胞轉變至多層級快閃記憶體胞使得可藉由各快閃記憶體胞儲存兩個或兩個以上位元。
因為快閃記憶體可經受對記憶體操作之執行之服務品質約束(例如,可要求一裝置在諸如2ms之一規定時限內回應於讀取操作之至少一預定義百分比,諸如99百分比),所以最佳化記憶體管理程序以適應此等約束是重要的。
隨附技術方案之範疇內之系統、方法及裝置之各種實施方案各具有若干態樣,該等態樣中沒有一單一態樣僅負責本文中所描述之屬性。在不限制隨附技術方案之範疇之情況下,在考量本發明之後且特定言之在考量標題為「實施方式」之章節之後,吾人將理解各種實施方案之態樣如何用於實現快閃記憶體操作之管理及暫停。在一態樣中,結合啟動一定時器執行來自一第一佇列之一第一記憶體操作,且根據該定時器已到期之一判定,執行一或多個操作,該一或多個操作包含判定一第二佇列是否含有一第二記憶體操作,且若含有,則暫停該第一記憶體操作且執行該第二記憶體操作。
100‧‧‧非揮發性記憶體系統
101‧‧‧資料連接
110‧‧‧電腦系統
111‧‧‧控制線
120‧‧‧儲存裝置/記憶體控制器
121‧‧‧管理模組
122‧‧‧處理單元(CPU)
124‧‧‧儲存控制器
129‧‧‧主機介面
130‧‧‧非揮發性記憶體(NVM)控制器
130-1至130-p‧‧‧非揮發性記憶體(NVM)控制器
140-i至140-j‧‧‧非揮發性記憶體(NVM)裝置
140-m至140-n‧‧‧非揮發性記憶體(NVM)裝置
201‧‧‧邏輯模組
202-1‧‧‧操作佇列/佇列
202-2‧‧‧操作佇列/佇列
204-1至204-k‧‧‧定時器
206‧‧‧記憶體
208‧‧‧通信匯流排
210‧‧‧資料讀取模組
212‧‧‧資料寫入模組
214‧‧‧資料擦除模組
220‧‧‧邏輯模組
222‧‧‧暫停模組
224‧‧‧恢復模組
226‧‧‧執行模組
228‧‧‧更動控制模組
230‧‧‧定時器模組
232‧‧‧佇列介面模組
234‧‧‧定時器/第二定時器
236‧‧‧操作佇列/第一操作佇列/第二操作佇列
240‧‧‧處理單元(CPU)
300‧‧‧步驟
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
310‧‧‧步驟
312‧‧‧步驟
400‧‧‧方法
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
410‧‧‧步驟
412‧‧‧步驟
414‧‧‧步驟
416‧‧‧步驟
418‧‧‧步驟
420‧‧‧步驟
422‧‧‧步驟
424‧‧‧步驟
426‧‧‧步驟
428‧‧‧步驟
430‧‧‧步驟
432‧‧‧步驟
434‧‧‧步驟
436‧‧‧步驟
438‧‧‧步驟
440‧‧‧步驟
442‧‧‧步驟
444‧‧‧步驟
446‧‧‧步驟
448‧‧‧步驟
450‧‧‧步驟
452‧‧‧步驟
454‧‧‧步驟
456‧‧‧步驟
458‧‧‧步驟
460‧‧‧步驟
462‧‧‧步驟
464‧‧‧步驟
466‧‧‧步驟
可藉由參考各種實施方案之特徵進行一更特定描述使得可更詳細理解本發明,該等實施方案中有些係繪示於隨附圖式中。然而,該等隨附圖式僅繪示本發明之較相關特徵且因此並不被視為限制,因為該描述可容許其他有效特徵。
圖1係繪示根據一些實施例之一非揮發性記憶體系統之一方塊圖。
圖2A係繪示根據一些實施例之包含於圖1中之一非揮發性記憶體控制器的一方塊圖。
圖2B係繪示根據一些其他實施例之包含於圖1中之一非揮發性記憶體控制器的一方塊圖。
圖3係繪示根據一些實施例之一邏輯模組之操作的一流程圖表示。
圖4A至圖4G繪示根據一些實施例之一管理及暫停方法之一流程圖表示。
根據慣例,圖式中所繪示之各種特徵可不按比例繪製。因此,為清楚起見可任意擴大或縮小各種特徵之尺寸。此外,一些圖式可能 並不描繪一給定系統、方法或裝置之全部組件。最後,相同元件符號貫穿說明書及圖式可用於表示相同特徵。
本文中所描述之各種實施方案包含用於實現快閃記憶體操作之管理及暫停之系統、方法及/或裝置。一些實施方案包含執行以下操作之系統、方法及/或裝置:結合啟動一定時器(例如,與啟動該定時器同時地)執行來自一第一佇列之一第一記憶體操作,且根據該定時器已到期之一判定執行一或多個操作,該一或多個操作包含判定一第二佇列是否含有一第二記憶體操作,且若含有,則暫停該第一記憶體操作且執行該第二記憶體操作。
更明確言之,一些實施例包含一種在一非揮發性記憶體系統中之操作之方法。在一些實施例中,該方法包含:(1)在該非揮發性記憶體系統中開始執行來自一第一佇列之一第一記憶體操作;(2)結合開始執行該第一記憶體操作,啟動該非揮發性記憶體系統中之一第一定時器,其中該第一定時器經設定以在一第一預定時間間隔之後到期;及(3)在啟動該第一定時器之後,根據該第一定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含判定一第二佇列是否含有用於執行之至少一記憶體操作。在此等實施例中,該方法進一步包含根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:(i)暫停來自該第一佇列之該第一記憶體操作;(ii)執行來自該第二佇列之一第二記憶體操作;及(iii)在完成執行來自該第二佇列之該第二記憶體操作之後,執行一或多個後續操作。此外,在此等實施例中,該方法進一步包含根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:(i)重新啟動該第一定時器;及(ii)繼續執行來自該第一佇列之該第一記憶體操作。
在一些實施例中,該第一佇列係用於儲存等待執行之正常優先序記憶體操作之一正常工作佇列且該第二佇列係用於儲存等待執行之高優先序記憶體操作之一高優先序工作佇列。
在一些實施例中,該方法包含自複數個定時器指派第一定時器至第一記憶體操作。
在一些實施例中,一或多個後續操作包含:(1)重新啟動第一定時器;及(2)恢復執行來自第一佇列之第一記憶體操作。
在一些實施例中,來自一主機系統之讀取操作被放置於第二佇列中。
在一些實施例中,第一佇列及第二佇列係邏輯佇列且第一佇列及第二佇列兩者皆為一單一實體佇列之部分。
在一些實施例中,第一佇列及第二佇列係相異實體佇列。
在一些實施例中,非揮發性記憶體系統包含在經設定時指示第一佇列中之記憶體操作不能暫停之一全域指示項,且該方法進一步包含:(1)根據一預定義條件或命令設定該全域指示項;及(2)根據該全域指示項經設定之一判定防止暫停第一佇列中之記憶體操作。
在一些實施例中,該方法進一步包含根據第一定時器已到期之一或多個後續判定之各者執行一或多個操作,該一或多個操作包含:(1)判定第二佇列是否含有用於執行之至少一記憶體操作;(2)根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含(a)暫停來自第一佇列之第一記憶體操作、(b)執行來自第二佇列之一記憶體操作(有時被稱為一各自記憶體操作)及(c)在完成執行來自第二佇列之該記憶體操作之後執行一或多個後續操作,該一或多個後續操作包含(i)重新啟動第一定時器及(ii)恢復執行來自第一佇列之第一記憶體操作;及(3)根據第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多 個操作包含(a)重新啟動第一定時器及(b)繼續執行來自第一佇列之第一記憶體操作。
在一些實施例中,該方法進一步包含:(1)在非揮發性記憶體系統中開始執行來自第一佇列之一第三記憶體操作;(2)結合開始執行該第三記憶體操作,啟動該非揮發性記憶體系統中之一第二定時器,其中該第二定時器經設定以在一第二預定時間間隔之後到期;及(3)在啟動該第二定時器之後,根據該第二定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含判定第二佇列是否含有用於執行之至少一記憶體操作。在此等實施例中,該方法進一步包含根據第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:(i)暫停來自第一佇列之該第三記憶體操作;(ii)執行來自第二佇列之一第四記憶體操作;及(iii)在完成執行來自該第二佇列之該第四記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含(aa)重新啟動該第二定時器及(bb)恢復執行來自第一佇列之該第三記憶體操作。此外,在此等實施例中,該方法進一步包含根據第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含(i)重新啟動第二定時器及(ii)繼續執行來自第一佇列之第三記憶體操作。
在一些實施例中,第二預定時間間隔相異於第一預定時間間隔。
在一些實施例中,該方法進一步包含判定第一佇列中之接續於第一記憶體操作之後之一記憶體操作是否包含一各自指示項,且根據該後續記憶體操作之該各自指示項經設定之一判定防止暫停該後續記憶體操作。
在一些實施例中,該方法進一步包含根據後續記憶體操作之一指示項經設定之一判定防止暫停該後續記憶體操作。
在一些實施例中,非揮發性記憶體系統包含複數個部分,各部分具有一或多個非揮發性記憶體裝置、一(各自)第一佇列、一(各自)第二佇列及在經設定時指示第一佇列中之記憶體操作不能暫停之一部分特定指示項,且該方法進一步包含根據用於該非揮發性記憶體系統之一第一部分(有時被稱為一各自部分)之該部分特定指示項經設定之一判定防止暫停該非揮發性記憶體系統之該第一部分之第一佇列中之記憶體操作。
在一些實施例中,非揮發性記憶體系統包含在經設定時指示該非揮發性記憶體系統中之複數個部分之各自第一佇列中之記憶體操作不能暫停之一全域指示項,且該方法進一步包含:(1)根據一預定義條件或命令設定該全域指示項;及(2)根據該全域指示項經設定之一判定防止暫停非揮發性記憶體系統之複數個部分之各自第一佇列中之記憶體操作。
在一些實施例中,非揮發性記憶體系統包含一或多個快閃記憶體裝置。
在一些實施例中,非揮發性記憶體系統包含一或多個三維(3D)記憶體裝置及與該一或多個3D記憶體裝置中之記憶體元件之操作相關聯的電路。
在一些實施例中,該電路及該一或多個3D記憶體裝置之一各自3D記憶體裝置中之一或多個記憶體元件係在相同基板上。
在另一態樣中,藉由一非揮發性記憶體系統執行上述方法之任一者,該非揮發性記憶體系統包含:(1)一或多個處理器;及(2)儲存一或多個程式之記憶體,該等程式在藉由該一或多個處理器執行時使該非揮發性記憶體系統執行或控制本文中所描述之方法之任一者之效能。
在又另一態樣中,藉由一非揮發性記憶體系統執行上述方法之 任一者,該非揮發性記憶體系統包含複數個部分,各部分具有一或多個非揮發性記憶體裝置,其中對於各部分,該非揮發性記憶體系統包含:(1)一或多個定時器;(2)一第一佇列及一第二佇列;及(3)一邏輯模組,其中該邏輯模組經組態以執行或控制本文中所描述之方法之任一者之效能。
在又另一態樣中,藉由包含用於執行本文中所描述之方法之任一者之構件之一非揮發性記憶體系統執行上述方法之任一者。
在又另一態樣中,一些實施例包含儲存經組態以藉由一非揮發性記憶體系統之一或多個處理器執行之一或多個程式之一非暫時性電腦可讀儲存媒體,該一或多個程式包含用於執行本文中所描述之方法之任一者之指令。
本文中描述許多細節以提供對隨附圖式中所繪示之例示性實施方案之一透徹理解。然而,可在沒有許多特定細節之情況下實踐一些實施例且申請專利範圍之範疇僅藉由申請專利範圍中所明確敘述之該等特徵及態樣限制。此外,未詳盡描述熟知方法、組件及電路以免不必要地模糊本文中所描述之實施方案之較相關態樣。
圖1係繪示根據一些實施例之非揮發性記憶體系統100之一實施方案之一方塊圖。雖然已繪示一些例示性特徵,但為簡潔起見且為避免模糊本文中所揭示之例示性實施方案之較相關態樣而未繪示各種其他特徵。為此目的,舉一非限制性實例,非揮發性記憶體系統100包含一儲存裝置120,該儲存裝置120包含主機介面129、儲存控制器124、非揮發性記憶體(NVM)控制器130(例如,NVM控制器130-1至NVM控制器130-p)及非揮發性記憶體(NVM)(例如,一或多個NVM裝置140,諸如一或多個快閃記憶體裝置)且結合一電腦系統110一起使用。
電腦系統110透過資料連接101耦合至儲存裝置120。然而,在一 些實施例中電腦系統110包含作為一組件及/或一子系統之儲存控制器124。電腦系統110可為任何合適電腦裝置,諸如一電腦、一膝上型電腦、一平板電腦裝置、一迷你筆記型電腦、一網際網路資訊站、一個人數位助理、一行動電話、一智慧型電話、一遊戲裝置、一電腦伺服器或任何其他運算裝置。電腦系統110有時被稱為一主機或主機系統。在一些實施例中,電腦系統110包含一或多個處理器、一或多種類型之記憶體、一顯示器及/或其他使用者介面組件(諸如一鍵盤、一觸控螢幕顯示器、一滑鼠、一觸控板、一數位相機及/或增加功能性之任何數目個增補裝置)。此外,在一些實施例中,電腦系統110經由控制線111發送一或多個主機命令(例如,讀取命令及/或寫入命令)至儲存裝置120。在一些實施例中,電腦系統110係一伺服器系統(諸如一資料中心中之一伺服器系統)且不具有一顯示器及其他使用者介面組件。
在一些實施例中,儲存裝置120包含主機介面129、儲存控制器124、NVM控制器130(例如,NVM控制器130-1至NVM控制器130-p)及NVM裝置140(例如,NVM裝置140-i至140-j及NVM裝置140-m至140-n)。儲存裝置120可包含為簡潔起見且為避免模糊本文中所揭示之例示性實施方案之較相關特徵而未繪示之各種額外特徵,且特徵之一不同配置有可能可行的。主機介面129透過資料連接101提供一介面至電腦系統110。
在一些實施例中,各NVM控制器130包含經組態以執行(例如,在NVM控制器130中之)一或多個程式中之指令之一或多個處理單元(有時被稱為CPU或處理器或微處理器或微控制器)。NVM裝置140透過除了資料之外亦通常傳送命令且視需要除了待儲存於NVM裝置140中之資料值及自NVM裝置140讀取之資料值之外亦傳送後設資料、錯誤校正資訊及/或其他資訊之連接與NVM控制器130耦合。在一些實施 方案中,儲存裝置120經組態以用於適於諸如雲端運算之應用之企業級儲存,或用於快取儲存於(或待儲存於)諸如硬碟機之輔助儲存器中之資料。替代性地,儲存裝置120經組態以用於相對較小規模應用,諸如替代個人電腦、膝上型電腦及平板電腦之個人快閃隨身碟或硬磁碟。儘管快閃記憶體裝置及快閃控制器此處用作一實例,然在一些實施例中儲存裝置120包含(若干)其他非揮發性記憶體裝置及(若干)對應非揮發性記憶體控制器。在一些實施例中,儲存裝置120包含一或多個三維(3D)記憶體裝置,如本文中進一步定義。
一或多個NVM裝置140(例如,NVM裝置140-i至140-j或NVM裝置140-m至140-n)與一對應NVM控制器130(例如,分別為NVM控制器130-1或NVM控制器130-p)之組合有時被稱為一部分或非揮發性記憶體部分,在本文中有時被稱為一記憶體通道。非揮發性記憶體系統100可包含與可藉由一組NVM控制器並行分派給命令之相異組NVM裝置一樣多的部分。
在一些實施例中,儲存裝置120包含一單一NVM裝置(例如,一單一快閃記憶體裝置),而在其他實施例中儲存裝置120包含複數個NVM裝置(例如,複數個快閃記憶體裝置)。在一些實施例中,NVM裝置140包含NAND型快閃記憶體或NOR型快閃記憶體。此外,在一些實施例中,NVM控制器130係一固態硬碟(SSD)控制器。然而,根據多種實施方案之態樣可包含一或多個其他類型之儲存媒體。在一些實施例中,儲存裝置120係一雙列直插式記憶體模組(DIMM)裝置或包含一DIMM裝置。在一些實施例中,儲存裝置120與一DIMM記憶體狹槽相容。在一些實施例中,記憶體控制器120及主機介面使用用於通信之一定義介面標準,諸如雙倍資料速率類型三同步動態隨機存取記憶體(DDR3)。在一些實施例中,藉由記憶體控制器120及主機介面使用之用於通信之該定義介面標準係一串列先進技術附接(SATA)。在一 些其他實施方案中,藉由記憶體控制器120及主機介面使用之用於通信之定義介面標準係SAS(串列附接SCSI)或任何其他合適儲存介面標準。
在一些實施例中,儲存控制器124包含一管理模組121。儲存控制器124通常與主機介面129及NVM控制器130耦合以協調此等組件之操作。儲存控制器124可包含為簡潔起見且為避免模糊本文中所揭示之例示性實施方案之較相關特徵而未繪示之各種額外特徵,且特徵之一不同配置有可能可行的。
在一些實施例中,管理模組121包含經組態以執行(例如,管理模組121中之)一或多個程式之指令之一或多個處理單元(CPU,有時亦被稱為處理器)122。在一些實施例中,該一或多個CPU 122係由在儲存控制器124之功能內且在一些情況中超出儲存控制器124之功能之一或多個組件共用。
然而,在一些實施方案中,儲存控制器124、NVM控制器130及NVM裝置140包含於與其等之組件相同之裝置中。此外,在一些實施方案中儲存控制器124、NVM控制器130及NVM裝置140嵌入於一主機裝置(諸如一伺服器系統、行動裝置、平板電腦、其他電腦或電腦控制裝置)中且藉由嵌入式記憶體控制器執行本文中所描述之方法。
圖2A係繪示根據一些實施例之包含於圖1中之NVM控制器130之一實施方案的一方塊圖。雖然已繪示一些例示性特徵,但為簡潔起見且為避免模糊本文中所揭示之例示性實施方案之較相關態樣而未繪示各種其他特徵。為此目的,舉一非限制性實例,NVM控制器130包含邏輯模組201、操作佇列202(有時被稱為工作佇列)及定時器204。
在一些實施例中,一各自NVM控制器130中之操作佇列202係用於保持藉由耦合至該各自NVM控制器130之一或多個NVM裝置140執行之記憶體操作。一各自操作佇列202在非空時含有對應於用於自一 對應組NVM裝置(例如,NVM裝置140)讀取資料、將資料寫入至該對應組NVM裝置或自該對應組NVM裝置擦除資料之讀取、寫入及/或擦除操作之一或多個記憶體操作(或該等記憶體操作之表示)。在一些實施例中,操作佇列202中之記憶體操作包含自一主機系統(例如,電腦系統110)接收之記憶體操作。例如,在一些實施例中,操作佇列202-1係含有一或多個讀取、寫入及/或擦除操作之一正常優先序工作佇列且操作佇列202-2係含有來自一主機系統之一或多個讀取操作之一高優先序工作佇列。在一些實施例中,該正常優先序工作佇列儲存在等待執行之除自一主機系統接收之讀取操作以外之全部記憶體操作。此外,在一些實施例中,正常優先序佇列含有內部產生之記憶體操作,諸如藉由一無用資料(garbage)收集程序發出之記憶體操作。
在一些實施例中,一各自NVM控制器130中之定時器204係用於計數或追蹤在執行一或多個記憶體操作期間之時間流逝。在一些實施例中,自複數個定時器指派一各自定時器(例如,定時器204-1至204-k之一者)至來自操作佇列202之一各自記憶體操作。在一些實施例中,指派該各自定時器(例如,定時器204-1至204-k之一者)至來自操作佇列202之一各自記憶體操作結合開始執行該各自記憶體操作一起發生(例如,與開始執行該各自記憶體操作同時發生)。在一些實施例中,指派該各自定時器(例如,定時器204-1至204-k之一者)至來自操作佇列202之該各自記憶體操作在開始執行該各自記憶體操作之前發生。在一些實施例中,指派該各自定時器(例如,定時器204-1至204-k之一者)至來自操作佇列202之該各自記憶體操作係根據該各自記憶體操作之操作類型。例如,在一些實施例中,當一第一記憶體操作之操作類型係一寫入操作時,指派一第一定時器至該第一記憶體操作。在一些實施例中,當一第二記憶體操作之操作類型係一擦除操作時,指派一第二定時器至該第二記憶體操作。在一些實施例中,該第一定時器經 設定以在一第一預定時間間隔之後到期且該第二定時器經設定以在一第二預定時間間隔之後到期。在一些實施例中,該第一預定時間間隔係與該第二預定時間間隔相同,而在一些其他實施例中,該第一預定時間間隔相異於該第二預定時間間隔。
在一些實施例中,當一各自記憶體操作之操作類型係一寫入操作時,將來自定時器之一第一子組之一第一定時器指派至該各自記憶體操作,且當該各自記憶體操作之操作類型係一擦除操作時,將來自定時器之一第二子組之一第二定時器指派至該各自記憶體操作。在一些實施例中,當指派來自該第一子組之一定時器時,該定時器經設定以在一第一預定時間間隔之後到期,且當指派來自該第二子組之一定時器時,該定時器經設定以在一第二預定時間間隔之後到期。在一些實施例中,該第一預定時間間隔係與該第二預定時間間隔相同。在一些實施例中,該第一預定時間間隔相異於該第二預定時間間隔。
在一些實施例中,操作佇列202中之一各自操作包含與定時器204之一特定定時器相關聯之一識別符。在一些實施例中,根據該識別符將定時器204之該特定定時器指派至該各自操作。
邏輯模組201耦合至操作佇列202且包含用於管理操作佇列202中之記憶體操作之執行之邏輯。例如,在一些實施例中,邏輯模組201經組態以判定操作佇列202是否含有用於執行之一或多個記憶體操作、管理來自操作佇列202之記憶體操作之執行、管理定時器204及判定定時器204是否已到期。在一些實施例中,邏輯模組201經組態以實施下文參考圖3及圖4A至圖4G所描述之方法之任一者。
儘管圖2A展示兩個操作佇列(例如,操作佇列202-1及操作佇列202-2),然在其他實施例中,NVM控制器130包含一或多個操作佇列。在一些實施例中,NVM控制器130包含作為一單一實體操作佇列之部分之兩個邏輯操作佇列。此外,在一些實施例中,NVM控制器 130包含用於各NVM裝置(例如,NVM裝置140-i至140-j及NVM裝置140-m至140-n之各者)之一定時器。
圖2B係繪示根據一些實施例之包含於圖1中之NVM控制器130之另一實施方案的一方塊圖。NVM控制器130包含用於執行儲存於記憶體206中之模組、程式及/或指令且藉此執行處理操作之一或多個處理單元(CPU)240、記憶體206及用於使此等組件互連之一或多個通信匯流排208。通信匯流排208視需要包含使系統組件互連及控制系統組件之間的通信之電路(有時被稱為一晶片組)。NVM控制器130藉由通信匯流排208耦合至儲存控制器124及NVM裝置140(例如,NVM裝置140-i至140-j)。記憶體206包含高速隨機存取記憶體(諸如DRAM、SRAM、DDR RAM或其他隨機存取固態記憶體裝置)且可包含非揮發性記憶體(諸如一或多個磁碟儲存裝置、光學磁碟儲存裝置、快閃記憶體裝置或其他非揮發性固態儲存裝置)。記憶體206視需要包含自CPU 240遠端定位之一或多個儲存裝置。記憶體206或替代地記憶體206內之(若干)非揮發性記憶體裝置包括一非暫時性電腦可讀儲存媒體。在一些實施例中,記憶體206或記憶體206之該電腦可讀儲存媒體儲存以下程式、模組及資料結構或其等之一子組:˙用於自一或多個NVM裝置讀取資料之資料讀取模組210;˙用於將資料寫入至一或多個NVM裝置之資料寫入模組212;˙用於自一或多個NVM裝置擦除資料之資料擦除模組214;˙用於管理及暫停記憶體操作之執行之邏輯模組220,其視需要包含:○用於暫停一或多個記憶體操作之暫停模組222;○用於恢復一或多個記憶體操作之恢復模組224;○用於執行一或多個記憶體操作之執行模組226;○用於防止暫停一或多個記憶體操作之更動控制模組228; ○用於管理定時器234(包含啟動、停止及重設定時器234及判定定時器234是否已到期)之定時器模組230;○用於判定操作佇列236是否含有用於執行之一或多個記憶體操作之佇列介面模組232;˙用於計數或追蹤在執行一或多個記憶體操作期間之時間流逝之定時器234;及˙用於保持用於執行之記憶體操作之操作佇列236。
以上所識別元件之各者可儲存於先前提及之記憶體裝置之一或多者中且對應於用於執行上文所描述之一功能之一指令集。不需要將以上所識別模組或程式(即,指令集)實施為分離軟體程式、程序或模組且因此此等模組之各種子組可在各項實施例中組合或以其他方式重新配置。在一些實施例中,記憶體206可儲存上文所識別之模組及資料結構之一子組。此外,記憶體206可儲存上文未描述之額外模組及資料結構。在一些實施例中,儲存於記憶體206或記憶體206之電腦可讀儲存媒體中之程式、模組及資料結構提供用於實施下文參考圖3及圖4A至圖4G描述之方法之任一者之指令。
儘管圖2B展示根據一些實施例之NVM控制器130,然與作為本文中所描述之實施例之一結構示意圖相比,圖2B更意欲作為可存在於NVM控制器130中之各種特徵之一功能描述。實務上且如一般技術者所認知,可組合個別展示之品項且可分離一些品項。
圖3係繪示根據一些實施例之一邏輯模組之操作之一流程圖表示。在一些實施例中,藉由圖2A之邏輯模組201執行圖3之操作。在一些實施例中,藉由圖2B之邏輯模組220執行圖3之操作。為了易於闡釋,下文描述如藉由圖2A之邏輯模組201執行之圖3。
在一些實施例中,邏輯模組201開始(300)執行一第一記憶體操作(例如,來自諸如圖2A之佇列202-1之一正常優先序操作佇列之一記憶 體操作)且啟動一第一定時器(例如,圖2A之定時器204-1)。接著,邏輯模組201判定(302)該第一定時器是否已到期。若該第一定時器還未到期(302-否),則邏輯模組201繼續判定(302)該第一定時器是否已到期。若該第一定時器已到期(302-是),則邏輯模組201接著判定(304)一第二佇列(例如,一高優先序操作佇列,諸如圖2A之佇列202-2)是否含有一記憶體操作。若該第二佇列並不含有一記憶體操作(304-否),則邏輯模組201重新啟動(312)第一定時器,繼續執行第一記憶體操作且繼續判定(302)第一定時器是否已到期。
若第二佇列含有一記憶體操作(304-是),則邏輯模組201暫停(306)第一記憶體操作,執行(308)來自第二佇列之一第二記憶體操作且接著執行(310)一或多個後續操作。在一些實施例中,執行(310)一或多個後續操作包含重新啟動第一定時器及恢復執行第一操作。在一些實施例中,每當在執行第一記憶體操作期間啟動或重新啟動第一定時器時,該第一定時器經「設定」以在一預定時間量(諸如500微秒)之後到期。通常,第一記憶體操作之執行在複數次(例如,3次至10次)定時器到期之後完成。在一些境況(諸如其中第二佇列含有多個記憶體操作之境況)中,第一記憶體操作之執行與來自第二佇列之兩個或兩個以上記憶體操作交錯執行。
圖4A至圖4G繪示根據一些實施例之一管理及暫停方法之一流程圖表示。至少在一些實施例中,藉由一儲存裝置(例如,圖1之儲存裝置120)或該儲存裝置之一或多個組件(例如,圖1之儲存控制器124及/或NVM控制器130)執行方法400,其中該儲存裝置與一主機系統(例如,圖1之電腦系統110)可操作耦合。在一些實施例中,藉由儲存於一非暫時性電腦可讀儲存媒體中且藉由一裝置之一或多個處理器(諸如圖1中所展示之管理模組121之一或多個處理單元(CPU)122或圖2B中所展示之NVM控制器130之一或多個處理單元(CPU)240)執行之指 令支配方法400。在一些實施例中,藉由一非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)或該非揮發性記憶體系統之一或多個組件(例如,圖1之電腦系統110及/或儲存裝置120)執行方法400。在一些實施例中,在一主機(例如,圖1之電腦系統110)處執行方法400之一些操作且將資訊傳輸至一儲存裝置(例如,圖1之儲存裝置120)。在一些實施例中,至少部分藉由儲存於一非暫時性電腦可讀儲存媒體中且藉由一主機(圖1中未展示)之一或多個處理器執行之指令支配方法400。為了易於闡釋,下文描述如藉由一儲存裝置(例如,圖1之儲存裝置120)執行之方法400。然而,熟習此項技術者將理解,在其他實施例中,藉由一主機(例如,圖1之電腦系統110)執行方法400中所描述之操作之一或多者。
一儲存裝置(例如,圖1之儲存裝置120)在一非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)中開始(402)執行來自一第一佇列(例如,圖2A之操作佇列202-1)之一第一記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於開始執行來自該第一佇列之該第一記憶體操作。在一些實施例中,一執行模組(例如,圖2B之執行模組226)係用於開始執行來自第一佇列(例如,圖2B之一第一操作佇列236)之第一記憶體操作。
儲存裝置結合開始執行第一記憶體操作啟動(404)非揮發性記憶體系統中之一第一定時器,其中該第一定時器經設定以在一第一預定時間間隔之後到期。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於啟動該第一定時器(例如,圖2A之定時器204-1)。在一些實施例中,一定時器模組(例如,圖2B之定時器模組230)係用於啟動該第一定時器(例如,圖2B之定時器234)。
在一些實施例中,儲存裝置自複數個定時器(例如,圖2A之定時器204或圖2B之定時器234)指派(406)第一定時器(例如,圖2A之定時 器204-1或圖2B之定時器234之一者)至第一記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於指派第一定時器,而在一些實施例中,一定時器模組(例如,圖2B之定時器模組230)係用於指派第一定時器。
儲存裝置在啟動第一定時器之後根據該第一定時器已到期之一判定執行(408)非揮發性記憶體系統中之一或多個操作(有時被稱為一第一組操作)。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201或圖2B之邏輯模組220)在啟動第一定時器(例如,圖2A之定時器204-1或圖2B之定時器234)之後,根據第一定時器已到期之一判定執行非揮發性記憶體系統中之一或多個操作。
該第一組操作包含判定(410)一第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作佇列236)是否含有用於執行之至少一記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於判定該第二佇列是否含有用於執行之至少一記憶體操作,而在一些實施例中,使用一佇列介面模組。
在一些實施例中,第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)係(438)一正常優先序工作佇列且第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作佇列236)係一高優先序工作佇列。在一些實施例中,來自一主機系統(例如,圖1之電腦系統110)之讀取操作被放置(440)於第二佇列中。在一些實施例中,第一佇列及第二佇列係(442)邏輯佇列且第一佇列及第二佇列兩者皆為一單一實體佇列之部分。在一些實施例中,第一佇列及第二佇列係(444)相異實體佇列。
第一組操作進一步包含根據第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作佇列236)含有用於執行之至少一記憶體操作之一判定執行(412)一或多個操作(有時被稱為一第二組操作),該一 或多個操作包含:(1)暫停來自第一佇列之第一記憶體操作;(2)執行來自第二佇列之一第二記憶體操作;及(3)在完成執行來自第二佇列之該第二記憶體操作之後,執行一或多個後續操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於執行該第二組操作。在一些實施例中,一暫停模組(例如,圖2B之暫停模組222)、一執行模組(例如,圖2B之執行模組226)及/或一邏輯模組(例如,圖2B之邏輯模組220)係用於執行該第二組操作。
在一些實施例中,該一或多個後續操作包含:(a)重新啟動(456)第一定時器;及(b)恢復執行來自第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)之第一記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於執行該一或多個後續操作。在一些實施例中,一定時器模組(例如,圖2B之定時器模組230)、一恢復模組(例如,圖2B之恢復模組224)及/或一邏輯模組(例如,圖2B之邏輯模組220)係用於執行該一或多個後續操作。
第一組操作進一步包含根據第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作佇列236)並不含有用於執行之至少一記憶體操作之一判定執行(414)一或多個操作(有時被稱為一第三組操作),該一或多個操作包含:(1)重新啟動第一定時器;及(2)繼續執行來自第一佇列之第一記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於執行該第三組操作。在一些實施例中,一定時器模組(例如,圖2B之定時器模組230)、一執行模組(例如,圖2B之執行模組226)及/或一邏輯模組(例如,圖2B之邏輯模組220)係用於執行該第三組操作。
在一些實施例中,儲存裝置根據第一定時器(例如,圖2A之定時器204-1或圖2B之定時器234)已到期之一或多個後續判定之各者執行(458)一或多個操作,該一或多個操作包含判定(460)第二佇列(例如, 圖2A之操作佇列202-2或圖2B之一第二操作佇列236)是否含有用於執行之至少一記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)及/或一佇列介面模組(例如,圖2B之佇列介面模組232)係用於執行包含判定第二佇列是否含有用於執行之至少一記憶體操作之該一或多個記憶體操作。
在一些實施例中,儲存裝置根據第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作佇列236)含有用於執行之至少一記憶體操作之一判定執行(462)一或多個操作,該一或多個操作包含:(1)暫停來自第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)之第一記憶體操作;(2)執行來自第二佇列之一各自記憶體操作;及(3)在完成執行來自第二佇列之該各自記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含(a)重新啟動第一定時器(例如,圖2A之定時器204-1或圖2B之定時器234)及(b)恢復執行來自第一佇列之第一記憶體操作。此外,在此等實施例中,儲存裝置根據第二佇列並不含有用於執行之至少一記憶體操作之一判定執行(464)一或多個操作,該一或多個操作包含:(1)重新啟動第一定時器;及(2)繼續執行來自第一佇列之第一記憶體操作。
在一些實施例中,儲存裝置(1)在非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)中開始(446)執行來自第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)之一第三記憶體操作,(2)結合開始執行該第三記憶體操作,啟動非揮發性記憶體系統中之一第二定時器(例如,圖2A之定時器204-k或圖2B之一第二定時器234),其中該第二定時器經設定以在一第二預定時間間隔之後到期,及(3)在啟動該第二定時器之後,根據該第二定時器已到期之一判定執行非揮發性記憶體系統中之一或多個操作,該一或多個操作包含判定(448)第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作 佇列236)是否含有用於執行之至少一記憶體操作。此外,在此等實施例中,儲存裝置根據第二佇列含有用於執行之至少一記憶體操作之一判定執行(450)一或多個操作,該一或多個操作包含:(a)暫停來自第一佇列之該第三記憶體操作;(b)執行來自第二佇列之一第四記憶體操作;及(c)在完成執行來自第二佇列之該第四記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含(i)重新啟動第二定時器及(ii)恢復執行來自第一佇列之第三記憶體操作。此外,在此等實施例中,儲存裝置根據第二佇列並不含有用於執行之至少一記憶體操作之一判定執行(452)一或多個操作,該一或多個操作包含(a)重新啟動第二定時器及(b)繼續執行來自第一佇列之第三記憶體操作。
在一些實施例中,第二預定時間間隔(454)相異於第一預定時間間隔。
在一些實施例中,儲存裝置判定(466)第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)中之接續於第一記憶體操作之後之一記憶體操作是否包含一各自指示項,且根據該後續記憶體操作之該各自指示項經設定之一判定防止暫停該後續記憶體操作。例如,該各自指示項可為一「高優先序」或「不暫停」指示項。
在一些實施例中,非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)包含(416)在經設定時指示第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)中之記憶體操作不能暫停之一全域指示項。例如,在一些實施例中,當設定該全域指示項時,第一佇列中之讀取、寫入及/或擦除操作不能暫停。在一些實施例中,全域指示項係至一邏輯模組(例如,圖2A之邏輯模組201或圖2B之邏輯模組220)中之一輸入。
在一些實施例中,儲存裝置根據一預定義條件或命令設定(418)全域指示項。例如,在一些實施例中,當非揮發性記憶體系統(例 如,圖1之非揮發性記憶體系統100)已經歷一電力故障條件時設定全域指示項。在另一實例中,前述命令係一主機命令。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201或圖2B之邏輯模組220)係用於根據該預定義條件或命令設定全域指示項。
此外,在一些實施例中,儲存裝置根據全域指示項經設定之一判定防止(420)暫停第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)中之記憶體操作。在一些實施例中,一邏輯模組(例如,圖2A之邏輯模組201)係用於防止暫停第一佇列中之記憶體操作。在一些實施例中,一更動控制模組(例如,圖2B之更動控制模組228)係用於防止暫停第一佇列中之記憶體操作。
在一些實施例中,非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)包含(422)一或多個快閃記憶體裝置(例如,圖1之NVM裝置140-i至140-j及NVM裝置140-m至140-n)。在一些實施例中,非揮發性記憶體系統包含一單一快閃記憶體裝置,而在其他實施例中非揮發性記憶體系統包含複數個快閃記憶體裝置。例如,在一些實施例中,非揮發性記憶體系統包含組織於平行記憶體通道中之數十個或數百個快閃記憶體裝置(諸如每記憶體通道16個、32個或64個快閃記憶體裝置)及8個、16個或32個平行記憶體通道。在一些實施例中,非揮發性記憶體系統包含NAND型快閃記憶體或NOR型快閃記憶體。在其他實施例中,非揮發性記憶體系統包含一或多個其他類型之非揮發性儲存裝置。
在一些實施例中,非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)包含(424)如本文中進一步定義之一或多個三維(3D)記憶體裝置及與該一或多個3D記憶體裝置中之記憶體元件之操作相關聯之電路。在一些實施例中,非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)包含一單一3D記憶體裝置,而在其他實施例中儲存 媒體包含複數個3D記憶體裝置。
在一些實施例中,電路及一或多個3D記憶體裝置之一各自3D記憶體裝置中之一或多個記憶體元件係(426)在相同基板(例如,一矽基板)上。在一些實施例中,該基板係其上沈積該一或多個記憶體元件之材料層及/或其中形成該一或多個記憶體元件之一晶圓。在一些實施例中,該基板係在一或多個記憶體元件形成之後附接至該一或多個記憶體元件之一載體基板。舉一非限制性實例,在一些實施例中,該基板包含一半導體,諸如矽。
在一些實施例中,非揮發性記憶體系統包含(428)複數個部分,各部分具有一或多個非揮發性記憶體裝置(例如,圖1之NVM裝置140-i至140-j及NVM裝置140-m至140-n)、一各自第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)、一各自第二佇列(例如,圖2A之操作佇列202-2或圖2B之一第二操作佇列236)及在經設定時指示該各自第一佇列中之記憶體操作不能暫停之一部分特定指示項。例如,在一些實施例中,該等部分之各者係具有多個NVM裝置之一記憶體通道或一記憶體通道之一子組或一單一NVM裝置。在一些實施例中,該部分特定指示項係至一邏輯模組(例如,圖2A之邏輯模組201或圖2B之邏輯模組220)之一輸入。
在一些實施例中,儲存裝置根據用於非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)之一各自部分之部分特定指示項經設定之一判定防止(430)暫停非揮發性記憶體系統之該各自部分之第一佇列(例如,圖2A之操作佇列202-1或圖2B之一第一操作佇列236)中之記憶體操作。
在一些實施例中,非揮發性記憶體系統(例如,圖1之非揮發性記憶體系統100)包含(432)在經設定時指示該非揮發性記憶體系統之複數個部分之各自第一佇列中之記憶體操作不能暫停之一全域指示項。在 此等實施例中,儲存裝置根據一預定義條件或命令設定(434)該全域指示項且根據該全域指示項經設定之一判定防止(436)暫停非揮發性記憶體系統之複數個部分之各自第一佇列中之記憶體操作。
在一些實施例中,藉由一儲存裝置執行上述方法之任一者,該儲存裝置包含:(1)一或多個處理器;及(2)儲存一或多個程式之記憶體,該等程式在藉由該一或多個處理器執行時使該儲存裝置執行或控制本文中所描述之方法之任一者之效能。
在一些實施例中,藉由一非揮發性記憶體系統執行上述方法之任一者,該非揮發性記憶體系統包含:(1)一或多個處理器;及(2)儲存一或多個程式之記憶體,該等程式在藉由該一或多個處理器執行時使該非揮發性記憶體系統執行或控制本文中所描述之方法之任一者之效能。
在一些實施例中,藉由一非揮發性記憶體系統執行上述方法之任一者,該非揮發性記憶體系統包含複數個部分,各部分具有一或多個非揮發性記憶體裝置,其中對於各部分,該非揮發性記憶體系統包含:(1)一或多個定時器;(2)一第一佇列及一第二佇列;及(3)一邏輯模組,其中該邏輯模組經組態以執行或控制本文中所描述之方法之任一者之效能。
半導體記憶體裝置包含揮發性記憶體裝置(諸如動態隨機存取記憶體(「DRAM」)或靜態隨機存取記憶體(「SRAM」)裝置)、非揮發性記憶體裝置(諸如電阻性隨機存取記憶體(「ReRAM」)、電可擦除可程式化唯讀記憶體(「EEPROM」)、快閃記憶體(其亦可被視為EEPROM之一子組)、鐵電隨機存取記憶體(「FRAM」)及磁阻性隨機存取記憶體(「MRAM」))及能夠儲存資訊之其他半導體元件。記憶體裝置之各類型可具有不同組態。例如,快閃記憶體裝置可經組態呈一NAND或一NOR組態。
記憶體裝置可由被動及/或主動元件以任何組合形成。藉由非限制性實例,被動半導體記憶體元件包含ReRAM裝置元件,該等ReRAM裝置元件在一些實施例中包含一電阻率切換儲存元件(諸如一反熔絲材料、相變材料等)且視需要包含一導引元件(諸如一二極體等)。此外藉由非限制性實例,主動半導體記憶體元件包含EEPROM及快閃記憶體裝置元件,其等在一些實施例中包含含有一電荷儲存區域之元件(諸如一浮動閘、導電奈米粒子或一電荷儲存介電材料)。
多個記憶體元件可經組態使得其等串聯連接或使得各元件可個別存取。藉由非限制性實例,呈一NAND組態之快閃記憶體裝置(NAND記憶體)通常含有串聯連接之記憶體元件。一NAND記憶體陣列可經組態使得該陣列由多個記憶體串組成,其中一串由共用一單一位元線且作為一群組經存取之多個記憶體元件組成。替代性地,記憶體元件可經組態使得各元件可個別存取(例如,一NOR記憶體陣列)。 NAND及NOR記憶體組態係例示性的且記憶體元件可以其他方式組態。
定位於一基板內及/或上方之半導體記憶體元件可依二維或三維(諸如一二維記憶體結構或一三維記憶體結構)配置。
在一二維記憶體結構中,半導體記憶體元件係配置於一單一平面中或一單一記憶體裝置層級中。通常,在一二維記憶體結構中,記憶體元件係配置於實質上平行於支撐該等記憶體元件之一基板之一主要表面延伸之一平面中(例如,在一x-z方向平面中)。該基板可為其上方或其中形成記憶體元件層之一晶圓或其可為在記憶體元件形成之後附接至該等記憶體元件之一載體基板。舉一非限制性實例,該基板可包含一半導體,諸如矽。
記憶體元件可依一有序陣列(諸如複數個列及/或行)配置於單一記憶體裝置層級中。然而,記憶體元件可排列成非規則或非正交組 態。記憶體元件可各具有兩個或兩個以上電極或接觸線(諸如位元線及字線)。
一三維記憶體陣列經配置使得記憶體元件佔據多個平面或多個記憶體裝置層級,藉此形成一三維(例如,在x、y及z方向上,其中y方向係實質上垂直於基板之主要表面且x及z方向係實質上平行於基板之主要表面)結構。
舉一非限制性實例,一三維記憶體結構可垂直配置為多個二維記憶體裝置層級之一堆疊。舉另一非限制性實例,一三維記憶體陣列可配置為多個垂直行(例如,實質上垂直於基板之主要表面,即,在y方向上延伸之行),其中各行具有在各行中之多個記憶體元件。該等行可配置成一二維組態(例如,在一x-z平面中),從而導致其中元件在多個垂直堆疊之記憶體平面上之記憶體元件之一三維配置。記憶體元件之其他三維組態亦可構成一三維記憶體陣列。
藉由非限制性實例,在一三維NAND記憶體陣列中,記憶體元件可耦合在一起以形成在一單一水平(例如,x-z)記憶體裝置層級內之一NAND串。替代性地,記憶體元件可耦合在一起以形成橫跨多個水平記憶體裝置層級之一垂直NAND串。可預想其他三維組態,其中一些NAND串含有一單一記憶體層級中之記憶體元件而其他串含有跨越通過多個記憶體層級之記憶體元件。三維記憶體陣列亦可依一NOR組態及一ReRAM組態設計。
通常,在一單片三維記憶體陣列中,一或多個記憶體裝置層級形成於一單一基板上方。視需要,該單片三維記憶體陣列亦可具有至少部分在該單一基板內之一或多個記憶體層。舉一非限制性實例,該基板可包含一半導體,諸如矽。在一單片三維陣列中,構成該陣列之各記憶體裝置層級之層通常形成於該陣列之下伏記憶體裝置層級之層上。然而,一單片三維記憶體陣列之相鄰記憶體裝置層級之層可被共 用或具有記憶體裝置層級之間的中介層。
然後再次地,二維陣列可經個別形成且接著封裝在一起以形成具有多個記憶體層之一非單片記憶體裝置。例如,可藉由在分離基板上形成記憶體層級且接著使該等記憶體層級堆疊於彼此頂上來構造非單片堆疊記憶體。可在堆疊之前使基板變薄或自記憶體裝置層級移除基板,但由於記憶體裝置層級最初形成於分離基板上方,所以所得記憶體陣列並非為單片三維記憶體陣列。此外,多個二維記憶體陣列或三維記憶體陣列(單片或非單片)可形成於分離晶片上且接著封裝在一起以形成一堆疊晶片記憶體裝置。
對於記憶體元件之操作及與記憶體元件之通信通常需要相關聯電路。舉非限制性實例,記憶體裝置可具有用於控制及驅動記憶體元件以完成諸如程式化及讀取之功能之電路。此相關聯電路可在與記憶體元件相同之基板上及/或在一分離基板上。例如,用於記憶體讀取-寫入操作之一控制器可定位於一分離控制器晶片上及/或與記憶體元件相同之基板上。
術語「三維記憶體裝置」(或3D記憶體裝置)在本文中經定義以意謂具有記憶體元件之多個記憶體層或多個層級(例如,有時被稱為多個記憶體裝置層級)之一記憶體裝置,包含以下之任一者:具有一單片或非單片3D記憶體陣列之一記憶體裝置,其之一些非限制性實例在上文描述;或經封裝在一起以形成一堆疊晶片記憶體裝置之兩個或兩個以上2D及/或3D記憶體裝置,其等之一些非限制性實例在上文描述。
熟習此項技術者將認知,本發明並不限於所描述之二維及三維例示性結構而是涵蓋如本文中所描述且如一般技術者所理解之在本發明之精神及範疇內之全部相關記憶體結構。
將理解,儘管術語「第一」、「第二」等可在本文中用於描述各 種元件,然此等元件不應受此等術語限制。此等術語僅用於使元件彼此區分。例如,在不改變描述之含義之情況下,一第一區域可命名為一第二區域,且類似地一第二區域可命名為一第一區域,只要所有出現的「第一區域」一致重新命名且所有出現的「第二區域」一致重新命名。該第一區域及該第二區域皆為區域但其等並非相同區域。
本文中所使用之術語係僅出於描述特定實施例之目的且並不意欲限制申請專利範圍。如實施例及隨附申請專利範圍之描述中所使用,除非上下文另有明確指示,否則單數形式「一」、「一個」及「該」意欲亦包含複數形式。亦將理解,如本文中所使用之術語「及/或」係指及涵蓋相關聯列舉項之一或多者之任何及全部可能組合。將進一步理解,術語「包括(comprise)」及/或「包括(comprising)」在本說明書中使用時指定存在所陳述特徵、整體、步驟、操作、元件及/或組件但並不排除存在或增加一或多個其他特徵、整體、步驟、操作、元件、組件及/或其等之群組。
如本文中所使用,片語「A、B及C之至少一者」應理解為需要列舉項之一或多者且此片語繼續讀取僅具有A之一單一例項、僅具有B之一單一例項或僅具有C之一單一例項,同時亦涵蓋列舉項之組合,諸如「在不具有任何C之情況下之A之一或多者及B之一或多者」及類似者。
如本文中所使用,術語「若」可理解為意謂「當一經陳述先決條件取決於上下文真實時」或「在一經陳述先決條件取決於上下文真實之後」或「回應於判定」一經陳述先決條件取決於上下文真實或「根據一經陳述先決條件取決於上下文真實之一判定」或「回應於偵測」一經陳述先決條件取決於上下文真實。類似地,片語「若經判定[一經陳述先決條件真實]」或「若[一經陳述先決條件真實]」或「當[一經陳述先決條件真實]時」可理解為意謂「在判定該經陳述先決條 件取決於上下文真實之後」或「回應於判定」該經陳述先決條件取決於上下文真實或「根據該經陳述先決條件取決於上下文真實之一判定」或「在偵測該經陳述先決條件取決於上下文真實之後」或「回應於偵測」該經陳述先決條件取決於上下文真實。
出於闡釋目的,已參考特定實施例描述前面說明。然而,上文的闡釋性論述並不意欲為詳盡的或將申請專利範圍限制於所揭示之精確形式。鑒於以上教示許多修改及變動係可行的。選取及描述實施例以最佳闡釋操作及實際應用之原理,以藉此使其他熟習此項技術者能夠實現本發明。

Claims (25)

  1. 一種在一非揮發性記憶體系統中之操作之方法,其包括:在該非揮發性記憶體系統中開始執行來自一第一佇列之一第一記憶體操作;結合開始執行該第一記憶體操作,啟動該非揮發性記憶體系統中之一第一定時器,其中該第一定時器經設定以在一第一預定時間間隔之後到期;及在啟動該第一定時器之後,根據該第一定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含:判定一第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第一記憶體操作;執行來自該第二佇列之一第二記憶體操作;及在完成執行來自該第二佇列之該第二記憶體操作之後,執行一或多個後續操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及繼續執行來自該第一佇列之該第一記憶體操作。
  2. 如請求項1之方法,其中該一或多個後續操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及恢復執行來自該第一佇列之該第一記憶體操作。
  3. 如請求項1之方法,其中來自一主機系統之讀取操作被放置於該第二佇列中。
  4. 如請求項1之方法,其中:該第一佇列及該第二佇列係邏輯佇列;且該第一佇列及該第二佇列兩者皆為一單一實體佇列之部分。
  5. 如請求項1之方法,其中該第一佇列及該第二佇列係相異實體佇列。
  6. 如請求項1之方法,其中該非揮發性記憶體系統包含在經設定時指示該第一佇列中之記憶體操作不能暫停之一全域指示項,且該方法進一步包括:根據一預定義條件或命令設定該全域指示項;根據該全域指示項經設定之一判定防止暫停該第一佇列中之記憶體操作。
  7. 如請求項1之方法,其進一步包括:根據該第一定時器已到期之一或多個後續判定之各者執行一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第一記憶體操作;執行來自該第二佇列之一記憶體操作;及在完成執行來自該第二佇列之該記憶體操作之後執行一或多個後續操作,該一或多個後續操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及恢復執行來自該第一佇列之該第一記憶體操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及繼續執行來自該第一佇列之該第一記憶體操作。
  8. 如請求項1之方法,其進一步包括:在該非揮發性記憶體系統中開始執行來自該第一佇列之一第三記憶體操作;結合開始執行該第三記憶體操作,啟動該非揮發性記憶體系統中之一第二定時器,其中該第二定時器經設定以在一第二預定時間間隔之後到期;及在啟動該第二定時器之後,根據該第二定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第三記憶體操作;執行來自該第二佇列之一第四記憶體操作;及在完成執行來自該第二佇列之該第四記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含:重新啟動該第二定時器;及恢復執行來自該第一佇列之該第三記憶體操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第二定時器;及繼續執行來自該第一佇列之該第三記憶體操作。
  9. 如請求項8之方法,其中該第二預定時間間隔相異於該第一預定時間間隔。
  10. 如請求項1之方法,其進一步包括根據一後續記憶體操作之一指示項經設定之一判定,防止暫停該後續記憶體操作。
  11. 如請求項1之方法,其中該非揮發性記憶體系統包含複數個部分、一第一佇列、一第二佇列及在經設定時指示該第一佇列中之記憶體操作不能暫停之一部分特定指示項,其中各部分包含一或多個非揮發性記體裝置;且該方法進一步包括根據用於該非揮發性記憶體系統之一第一部分之該部分特定指示項經設定之一判定,防止暫停該非揮發性記憶體系統之該第一部分之該第一佇列中之記憶體操作。
  12. 一種非揮發性記憶體系統,其包含複數個部分,各部分具有一或多個非揮發性記憶體裝置,其中對於各部分,該非揮發性記憶體系統包括:一或多個定時器;一第一佇列及一第二佇列;及一邏輯模組,其中該邏輯模組經組態以:在該非揮發性記憶體系統中開始執行來自該第一佇列之一第一記憶體操作;結合開始執行該第一記憶體操作,啟動該非揮發性記憶體系統中之該一或多個定時器之一第一定時器,其中該第一定時器經設定以在一第一預定時間間隔之後到期;及在啟動該第一定時器之後,根據該第一定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第一記憶體操作;執行來自該第二佇列之一第二記憶體操作;及在完成執行來自該第二佇列之該第二記憶體操作之後,執行一或多個後續操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及繼續執行來自該第一佇列之該第一記憶體操作。
  13. 如請求項12之非揮發性記憶體系統,其中該一或多個後續操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及恢復執行來自該第一佇列之該第一記憶體操作。
  14. 如請求項12之非揮發性記憶體系統,其中該非揮發性記憶體系統包含在經設定時指示該第一佇列中之記憶體操作不能暫停之一全域指示項,且該邏輯模組進一步經組態以:根據一預定義條件或命令設定該全域指示項;及根據該全域指示項經設定之一判定,防止暫停第一佇列中之該等記憶體操作。
  15. 如請求項12之非揮發性記憶體系統,該邏輯模組進一步經組態以根據該第一定時器已到期之一或多個後續判定之各者執行一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第一記憶體操作;執行來自該第二佇列之一記憶體操作;及在完成執行來自該第二佇列之該記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及恢復執行來自該第一佇列之該第一記憶體操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及繼續執行來自該第一佇列之該第一記憶體操作。
  16. 如請求項12之非揮發性記憶體系統,該邏輯模組進一步經組態以:在該非揮發性記憶體系統中開始執行來自一第一佇列之一第三記憶體操作;結合開始執行該第三記憶體操作,啟動該非揮發性記憶體系統中之一第二定時器,其中該第二定時器經設定以在一第二預定時間間隔之後到期;及在啟動該第二定時器之後,根據該第二定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第三記憶體操作;執行來自該第二佇列之一第四記憶體操作;及在完成執行來自該第二佇列之該第四記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含:重新啟動該第二定時器;及恢復執行來自該第一佇列之該第三記憶體操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第二定時器;及繼續執行來自該第一佇列之該第三記憶體操作。
  17. 如請求項12之非揮發性記憶體系統,該邏輯模組進一步經組態以根據一後續記憶體操作之一指示項經設定之一判定,防止暫停該後續記憶體操作。
  18. 如請求項12之非揮發性記憶體系統,其中該非揮發性記憶體系統包含複數個部分、一第一佇列、一第二佇列及在經設定時指示該第一佇列中之記憶體操作不能暫停之一部分特定指示項,其中各部分包含一或多個非揮發性記憶體裝置;及該邏輯模組進一步經組態以根據該非揮發性記憶體系統之一第一部分之該部分特定指示項經設定之一判定,防止暫停該非揮發性記憶體系統之該第一部分之該第一佇列中之記憶體操作。
  19. 一種非揮發性電腦可讀儲存媒體,其儲存一或多個程式,該一或多個程式經組態以用於由一非揮發性記憶體系統之一或多個處理器執行,該一或多個程式包含用於以下之指令:在該非揮發性記憶體系統中開始執行來自該第一佇列之一第一記憶體操作;結合開始執行該第一記憶體操作,啟動該非揮發性記憶體系統中之一第一定時器,其中該第一定時器經設定以在一第一預定時間間隔之後到期;及在啟動該第一定時器之後,根據該第一定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第一記憶體操作;執行來自該第二佇列之一第二記憶體操作;及在完成執行來自該第二佇列之該第二記憶體操作之後,執行一或多個後續操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及繼續執行來自該第一佇列之該第一記憶體操作。
  20. 如請求項19之非揮發性電腦可讀儲存媒體,其中該一或多個後續操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及恢復執行來自該第一佇列之該第一記憶體操作。
  21. 如請求項19之非揮發性電腦可讀儲存媒體,其中該非揮發性電腦記憶體系統包含在經設定時指示該第一佇列中之記憶體操作不能暫停之一全域指示項,且該一或多個程式進一步包含用於以下之指令:根據一預定義條件或命令設定該全域指示項;根據該全域指示項經設定之一判定,防止暫停第一佇列中之記憶體操作。
  22. 如請求項19之非揮發性電腦可讀儲存媒體,該一或多個程式進一步包含指令,該等指令用於根據該第一定時器已到期之一或多個後續判定執行一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第一記憶體操作;執行來自該第二佇列之一記憶體操作;及在完成執行來自該第二佇列之該記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及恢復執行來自該第一佇列之該第一記憶體操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第一定時器,其中重新啟動該第一定時器係將該第一定時器設定在等於該第一預定時間間隔之一間隔之後到期;及繼續執行來自該第一佇列之該第一記憶體操作。
  23. 如請求項19之非揮發性電腦可讀儲存媒體,該一或多個程式進一步包含指令,該等指令用於:在該非揮發性記憶體系統中開始執行來自該第一佇列之一第三記憶體操作;結合開始執行該第三記憶體操作,啟動該非揮發性記憶體系統中之一第二定時器,其中該第二定時器經設定以在一第二預定時間間隔之後到期;及在啟動該第二定時器之後,根據該第二定時器已到期之一判定執行該非揮發性記憶體系統中之一或多個操作,該一或多個操作包含:判定該第二佇列是否含有用於執行之至少一記憶體操作;根據該第二佇列含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:暫停來自該第一佇列之該第三記憶體操作;執行來自該第二佇列之一第四記憶體操作;及在完成執行來自該第二佇列之該第四記憶體操作之後,執行一或多個後續操作,該一或多個後續操作包含:重新啟動該第二定時器;及恢復執行來自該第一佇列之該第三記憶體操作;及根據該第二佇列並不含有用於執行之至少一記憶體操作之一判定執行一或多個操作,該一或多個操作包含:重新啟動該第二定時器;及繼續執行來自該第一佇列之該第三記憶體操作。
  24. 如請求項19之非揮發性電腦可讀儲存媒體,該一或多個程式進一步包含根據一後續記憶體操作之一指示項經設定之一判定,防止暫停該後續記憶體操作之指令。
  25. 如請求項19之非揮發性電腦可讀儲存媒體,其中該非揮發性記憶體系統包含複數個部分、一第一佇列、一第二佇列及在經設定時指示該第一佇列中之記憶體操作不能暫停之一部分特定指示項,其中各部分包含一或多個非揮發性記憶體裝置;及該一或多個程式進一步包括用於根據該非揮發性記憶體系統之一第一部分之該部分特定指示項經設定之一判定,防止暫停該非揮發性記憶體系統之該第一部分之該第一佇列中之該等記憶體操作的指令。
TW104123751A 2014-07-22 2015-07-22 暫停及恢復非揮發性記憶體操作 TWI648740B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462027712P 2014-07-22 2014-07-22
US62/027,712 2014-07-22
US14/599,183 US9645744B2 (en) 2014-07-22 2015-01-16 Suspending and resuming non-volatile memory operations
US14/599,183 2015-01-16

Publications (2)

Publication Number Publication Date
TW201606774A TW201606774A (zh) 2016-02-16
TWI648740B true TWI648740B (zh) 2019-01-21

Family

ID=53682865

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104123751A TWI648740B (zh) 2014-07-22 2015-07-22 暫停及恢復非揮發性記憶體操作

Country Status (6)

Country Link
US (1) US9645744B2 (zh)
EP (1) EP3172674B1 (zh)
KR (1) KR101883609B1 (zh)
CN (1) CN106687940B (zh)
TW (1) TWI648740B (zh)
WO (1) WO2016014249A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652415B2 (en) 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9647697B2 (en) 2015-03-16 2017-05-09 Sandisk Technologies Llc Method and system for determining soft information offsets
US9772796B2 (en) 2015-04-09 2017-09-26 Sandisk Technologies Llc Multi-package segmented data transfer protocol for sending sub-request to multiple memory portions of solid-state drive using a single relative memory address
US9864545B2 (en) 2015-04-14 2018-01-09 Sandisk Technologies Llc Open erase block read automation
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
KR102624606B1 (ko) * 2016-07-04 2024-01-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
CN109300500B (zh) * 2017-07-25 2020-06-16 旺宏电子股份有限公司 存储器装置的数据管理方法与系统
TWI636363B (zh) 2017-08-08 2018-09-21 慧榮科技股份有限公司 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器
CN107436737A (zh) * 2017-08-14 2017-12-05 郑州云海信息技术有限公司 一种固态硬盘中处理suspend操作优化的方法和系统
US10387347B2 (en) * 2017-08-18 2019-08-20 Quanta Computer Inc. Method to locate SAS JBOD cable routing
US10860214B2 (en) * 2017-11-17 2020-12-08 Stormagic Limited Systems and methods for memory load balancing
TWI639921B (zh) * 2017-11-22 2018-11-01 大陸商深圳大心電子科技有限公司 指令處理方法及使用所述方法的儲存控制器
KR102527925B1 (ko) * 2017-11-29 2023-05-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN109857331B (zh) * 2017-11-30 2022-03-25 深圳大心电子科技有限公司 指令处理方法及使用所述方法的储存控制器
KR102420161B1 (ko) * 2017-12-01 2022-07-12 삼성전자주식회사 메모리 컨트롤러 및 그것의 제어 방법
KR20200025518A (ko) * 2018-08-30 2020-03-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20200141212A (ko) 2019-06-10 2020-12-18 에스케이하이닉스 주식회사 가비지콜렉션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법
US20220404979A1 (en) * 2020-03-10 2022-12-22 Micron Technology, Inc. Managing queues of a memory sub-system
US11557358B2 (en) 2021-04-15 2023-01-17 Sandisk Technologies Llc Memory apparatus and method of operation using adaptive erase time compensation for segmented erase

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030122834A1 (en) * 2001-12-28 2003-07-03 Mastronarde Josh B. Memory arbiter with intelligent page gathering logic
US20100250874A1 (en) * 2009-03-24 2010-09-30 Farrell Todd D Apparatus and method for buffered write commands in a memory
TWM390618U (en) * 2008-12-02 2010-10-11 Motorola Inc Device for maintaining timing across discontinuous activity gaps for a non-real time data interface
TW201209452A (en) * 2010-07-06 2012-03-01 X6D Ltd Universal 3D glasses

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4586167A (en) 1983-01-24 1986-04-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
DE68913695T2 (de) 1988-12-27 1994-10-20 Nippon Electric Co Mikrorechner mit einem elektrisch löschbaren und programmierbaren nichtflüchtigen Speicher.
US5559988A (en) 1993-12-30 1996-09-24 Intel Corporation Method and circuitry for queuing snooping, prioritizing and suspending commands
US5909559A (en) 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US6209072B1 (en) 1997-05-06 2001-03-27 Intel Corporation Source synchronous interface between master and slave using a deskew latch
US6449709B1 (en) 1998-06-02 2002-09-10 Adaptec, Inc. Fast stack save and restore system and method
KR100306882B1 (ko) 1998-10-28 2001-12-01 박종섭 반도체메모리소자에서데이터스트로브신호를버퍼링하기위한방법및장치
US6401213B1 (en) 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
US6944731B2 (en) 2001-12-19 2005-09-13 Agere Systems Inc. Dynamic random access memory system with bank conflict avoidance feature
US6922754B2 (en) 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
KR100632940B1 (ko) 2004-05-06 2006-10-12 삼성전자주식회사 프로그램 사이클 시간을 가변시킬 수 있는 불 휘발성반도체 메모리 장치
KR100616214B1 (ko) 2005-06-30 2006-08-28 주식회사 하이닉스반도체 멀티-레벨 셀을 가지는 플래시 메모리 장치의 프로그램제어 회로 및 그 프로그램 제어 방법
US7712094B2 (en) 2005-12-22 2010-05-04 Alan Joshua Shapiro Method and apparatus for replicating a panoplex onto a storage medium from a master
US20070233937A1 (en) 2006-03-31 2007-10-04 Coulson Richard L Reliability of write operations to a non-volatile memory
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US20110264851A1 (en) 2006-12-07 2011-10-27 Tae-Keun Jeon Memory system and data transmitting method thereof
KR100843280B1 (ko) 2006-12-07 2008-07-04 삼성전자주식회사 메모리 시스템 및 그것의 데이터 전송 방법
KR101354152B1 (ko) 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
US8122202B2 (en) 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
CN101079811B (zh) * 2007-04-28 2011-03-30 北京航空航天大学 飞机与地面系统数据传输方法及系统
US8341623B2 (en) 2007-05-22 2012-12-25 International Business Machines Corporation Integrated placement planning for heterogenous storage area network data centers
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
US20090177943A1 (en) 2008-01-09 2009-07-09 Broadcom Corporation Error correction coding using soft information and interleaving
US8285940B2 (en) 2008-02-29 2012-10-09 Cadence Design Systems, Inc. Method and apparatus for high speed cache flushing in a non-volatile memory
DE102008022831B4 (de) 2008-05-08 2015-09-10 Fujitsu Technology Solutions Intellectual Property Gmbh Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens
US9123422B2 (en) 2012-07-02 2015-09-01 Super Talent Technology, Corp. Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells
US8010738B1 (en) 2008-06-27 2011-08-30 Emc Corporation Techniques for obtaining a specified lifetime for a data storage device
US7855931B2 (en) 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US8289760B2 (en) 2008-07-02 2012-10-16 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US8756369B2 (en) 2008-09-26 2014-06-17 Netapp, Inc. Priority command queues for low latency solid state drives
US20100174845A1 (en) 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
KR20100082185A (ko) 2009-01-08 2010-07-16 삼성전자주식회사 플래시 메모리, 캐시 메모리, 그리고 제어기를 포함하는 사용자 장치
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8429498B1 (en) 2009-03-25 2013-04-23 Apple Inc. Dual ECC decoder
US8055816B2 (en) 2009-04-09 2011-11-08 Micron Technology, Inc. Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
EP2284714A1 (en) 2009-08-14 2011-02-16 Nxp B.V. Memory controller with external refresh mechanism
US8473669B2 (en) 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8838853B2 (en) * 2010-01-18 2014-09-16 Marvell International Ltd. Access buffer
US8615629B2 (en) * 2010-01-18 2013-12-24 Marvell International Ltd. Access scheduler
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8164967B2 (en) 2010-03-24 2012-04-24 Apple Inc. Systems and methods for refreshing non-volatile memory
US20110252215A1 (en) 2010-04-09 2011-10-13 International Business Machines Corporation Computer memory with dynamic cell density
US8397101B2 (en) 2010-06-03 2013-03-12 Seagate Technology Llc Ensuring a most recent version of data is recovered from a memory
JP5957647B2 (ja) 2010-06-18 2016-07-27 シーゲイト テクノロジー エルエルシーSeagate Technology LLC スケーラブルな記憶装置
US10013354B2 (en) 2010-07-28 2018-07-03 Sandisk Technologies Llc Apparatus, system, and method for atomic storage operations
US8862806B2 (en) 2010-08-20 2014-10-14 Samsung Electronics Co., Ltd Semiconductor storage device and method of throttling performance of the same
US8539139B1 (en) 2010-12-17 2013-09-17 Teradota Us, Inc. Managing device wearout using I/O metering
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8397023B2 (en) 2010-12-18 2013-03-12 Lsi Corporation System and method for handling IO to drives in a memory constrained environment
US8595415B2 (en) 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8472274B2 (en) 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
US8918595B2 (en) 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
US8954689B2 (en) 2011-06-30 2015-02-10 Seagate Technology Llc Limiting activity rates that impact life of a data storage media
KR101438716B1 (ko) 2011-08-09 2014-09-11 엘에스아이 코포레이션 I/o 디바이스 및 컴퓨팅 호스팅 상호동작
KR101900423B1 (ko) 2011-09-19 2018-09-21 삼성전자주식회사 반도체 메모리 장치
US8255618B1 (en) 2011-10-06 2012-08-28 Google Inc. Performance isolation in a shared memory device
US8321627B1 (en) 2011-10-06 2012-11-27 Google Inc. Memory operation command latency management
US8886872B1 (en) 2011-10-06 2014-11-11 Google Inc. Memory command dispatch in a data storage device
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
KR101861184B1 (ko) 2011-11-02 2018-05-28 삼성전자주식회사 스토리지의 동작 성능 조절방법 및 그에 따른 반도체 저장장치
KR101824949B1 (ko) 2011-11-23 2018-02-05 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US9082489B2 (en) 2012-01-13 2015-07-14 Stec, Inc. Programming algorithm for improved flash memory endurance and retention
US8949512B2 (en) 2012-02-17 2015-02-03 Apple Inc. Trim token journaling
US8892811B2 (en) 2012-03-01 2014-11-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing write amplification in a flash memory
JP5853899B2 (ja) 2012-03-23 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US9337865B2 (en) 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US9218281B2 (en) 2012-05-04 2015-12-22 Seagate Technology Llc Maintaining ordering via a multi-level map of a solid-state media
US9053808B2 (en) 2012-06-21 2015-06-09 Sandisk Technologies Inc. Flash memory with targeted read scrub algorithm
US9477591B2 (en) 2012-07-06 2016-10-25 Seagate Technology Llc Memory access requests in hybrid memory system
JP5788369B2 (ja) 2012-09-12 2015-09-30 株式会社東芝 メモリシステム、コンピュータシステム、およびメモリ管理方法
US8595590B1 (en) 2012-12-03 2013-11-26 Digital PowerRadio, LLC Systems and methods for encoding and decoding of check-irregular non-systematic IRA codes
US20140173239A1 (en) 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US20140229655A1 (en) 2013-02-08 2014-08-14 Seagate Technology Llc Storing Error Correction Code (ECC) Data In a Multi-Tier Memory Structure
US9552288B2 (en) 2013-02-08 2017-01-24 Seagate Technology Llc Multi-tiered memory with different metadata levels
US20140241071A1 (en) 2013-02-26 2014-08-28 Seagate Technology Llc Fast Power Loss Recovery By Swapping Boot and Recovery Data Sets in a Memory
US20140244897A1 (en) 2013-02-26 2014-08-28 Seagate Technology Llc Metadata Update Management In a Multi-Tiered Memory
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US9136874B2 (en) 2013-03-15 2015-09-15 Ibiquity Digital Corporation Method and apparatus for transmission and reception of in-band on-channel radio signals including complementary low density parity check coding
US10209904B2 (en) 2013-04-09 2019-02-19 EMC IP Holding Company LLC Multiprocessor system with independent direct access to bulk solid state memory resources
US9311326B2 (en) 2013-04-12 2016-04-12 Alterante, Inc. Virtual file system for automated data replication and review
US9128825B1 (en) 2013-05-17 2015-09-08 Google Inc. Optimizing allocation of flash memory to file groups
US9507733B2 (en) 2013-06-21 2016-11-29 Microsoft Technology Licensing, Llc Cache destaging for virtual storage devices
US20160179403A1 (en) 2013-07-17 2016-06-23 Hitachi, Ltd. Storage controller, storage device, storage system, and semiconductor storage device
CN105474190A (zh) 2013-07-25 2016-04-06 慧与发展有限责任合伙企业 包括不兼容的存储器技术或与不兼容的存储器技术接合的存储器模块的应答控制
US9590916B2 (en) 2013-09-04 2017-03-07 Aruba Networks, Inc. Method and system for dynamically prioritizing user connections on network
US9201728B2 (en) 2013-09-12 2015-12-01 Seagate Technology Llc Memory device with variable code rate
KR102102224B1 (ko) 2013-10-01 2020-04-20 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
US20150186278A1 (en) 2013-12-26 2015-07-02 Sarathy Jayakumar Runtime persistence
US9170876B1 (en) 2013-12-31 2015-10-27 Pmc-Sierra Us, Inc. Method and system for decoding encoded data stored in a non-volatile memory
US20150261473A1 (en) 2014-03-11 2015-09-17 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
US20150262632A1 (en) 2014-03-12 2015-09-17 Fusion-Io, Inc. Grouping storage ports based on distance
KR102318478B1 (ko) 2014-04-21 2021-10-27 삼성전자주식회사 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
KR102321501B1 (ko) 2014-05-14 2021-11-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9612957B2 (en) 2014-07-30 2017-04-04 Qualcomm Innovation Center, Inc. Read disturb and data retention handling for NAND devices
US9582220B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
KR20160028680A (ko) 2014-09-04 2016-03-14 삼성전자주식회사 데이터 저장 장치와 이의 작동 방법
US9362000B2 (en) 2014-09-05 2016-06-07 Kabushiki Kaisha Toshiba Memory system and management method thereof
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
KR20160049200A (ko) 2014-10-27 2016-05-09 삼성전자주식회사 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법
US9916087B2 (en) 2014-10-27 2018-03-13 Sandisk Technologies Llc Method and system for throttling bandwidth based on temperature
US9558125B2 (en) 2014-10-27 2017-01-31 Sandisk Technologies Llc Processing of un-map commands to enhance performance and endurance of a storage device
CN105701021B (zh) 2014-12-10 2021-03-02 慧荣科技股份有限公司 数据储存装置及其数据写入方法
KR102291803B1 (ko) 2015-04-07 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법, 및 그것을 포함하는 사용자 시스템의 동작 방법
US9772796B2 (en) 2015-04-09 2017-09-26 Sandisk Technologies Llc Multi-package segmented data transfer protocol for sending sub-request to multiple memory portions of solid-state drive using a single relative memory address
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US20160371394A1 (en) 2015-06-22 2016-12-22 The Governing Council Of The University Of Toronto Indoor localization using crowdsourced data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030122834A1 (en) * 2001-12-28 2003-07-03 Mastronarde Josh B. Memory arbiter with intelligent page gathering logic
TWM390618U (en) * 2008-12-02 2010-10-11 Motorola Inc Device for maintaining timing across discontinuous activity gaps for a non-real time data interface
US20100250874A1 (en) * 2009-03-24 2010-09-30 Farrell Todd D Apparatus and method for buffered write commands in a memory
TW201209452A (en) * 2010-07-06 2012-03-01 X6D Ltd Universal 3D glasses

Also Published As

Publication number Publication date
CN106687940A (zh) 2017-05-17
WO2016014249A1 (en) 2016-01-28
KR101883609B1 (ko) 2018-07-30
TW201606774A (zh) 2016-02-16
EP3172674A1 (en) 2017-05-31
US20160026386A1 (en) 2016-01-28
CN106687940B (zh) 2020-01-24
EP3172674B1 (en) 2019-01-02
KR20170035976A (ko) 2017-03-31
US9645744B2 (en) 2017-05-09

Similar Documents

Publication Publication Date Title
TWI648740B (zh) 暫停及恢復非揮發性記憶體操作
CN110088724B (zh) 使用控制器存储器缓冲区进行自适应提前完成发布的系统和方法
CN107924224B (zh) 用于自适应自动休眠和后台操作的存储器系统及方法
CN110088721B (zh) 用于经由命令仲裁进行热节流的存储系统和方法
EP3149732B1 (en) Methods and systems for staggered memory operations
US9582211B2 (en) Throttling command execution in non-volatile memory systems based on power usage
US20160018998A1 (en) Methods and Systems for Scalable Reliability Management of Non-Volatile Memory Modules
US9070481B1 (en) Internal current measurement for age measurements
US20160019160A1 (en) Methods and Systems for Scalable and Distributed Address Mapping Using Non-Volatile Memory Modules
US10558576B2 (en) Storage device with rapid overlay access
US11288201B2 (en) Techniques for performing a non-blocking control sync operation
US9652415B2 (en) Atomic non-volatile memory data transfer
US10740243B1 (en) Storage system and method for preventing head-of-line blocking in a completion path
US11748027B2 (en) Storage system and method for avoiding clustering of reads during a program suspend
CN108363548B (zh) 交叉点非易失性存储器装置的块擦除方案
JP2022180309A (ja) データストレージ装置及びその動作方法
US11550578B2 (en) Data storage apparatus including swap memory and operating method thereof
WO2024216434A1 (en) Three-dimensional phase-change memory devices and controlling method thereof