TW201905713A - 用於記憶體系統之控制器 - Google Patents
用於記憶體系統之控制器Info
- Publication number
- TW201905713A TW201905713A TW106130200A TW106130200A TW201905713A TW 201905713 A TW201905713 A TW 201905713A TW 106130200 A TW106130200 A TW 106130200A TW 106130200 A TW106130200 A TW 106130200A TW 201905713 A TW201905713 A TW 201905713A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- host
- interface
- management operation
- request
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- 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/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Abstract
一種用於記憶體系統之控制器,包括:一邏輯,配置用以執行主機端請求和記憶體管理操作。記憶體管理操作具有複數個記憶體指令週期。當記憶體控制器之邏輯正在執行非主機端之記憶體指令時,此時,主機端也在同個時間要求一個讀取資料請求於記憶體控制器。記憶體管理操作接收請求,並暫停非主機端之記憶體指令,然後執行讀取資料請求。完成主機端請求後,重新啟動執行非主機端之記憶體指令,直到此程序結束。
Description
本發明是有關於一種記憶體系統之裝置,可透過一控制器以取得一主機端讀取資料或寫入資料之一記憶體,例如是NAND型快閃記憶體。
資料處理系統有時以包括主機端系統和記憶體系統為其特徵。主機端系統執行任務功能且通常與於主機端系統軟體和在記憶體系統之實體記憶體之間提供一抽象層之邏輯位址一同執行。記憶體系統包括維持用以執行邏輯至實體位址轉換和其他記憶體管理操作之表格之控制器模組,以及根據邏輯位址轉換主機端層讀取和寫入請求至指令架構和記憶體裝置所使用之實體位址。(例如參照Gupta,et al
., “DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings
,” ASPLOS’09, March 7–11, 2009, Washington, DC, USA.)
記憶體系統意圖被設計為記憶體管理操作係以限制具有主機任務功能之介面之數量的方式來執行。記憶體管理功能也可能於系統後台上被執行,主機系統不會被通知或不會“注意”到記憶體管理功能。舉例來說,在快閃記憶體中,記憶體控制器開發快閃轉換層(Flash Translation Layer)程序來轉換主機端之讀取和寫入請求,即以隱藏寫入和抹除快閃記憶體區塊額外負擔之方法。這些程序可以包括後台操作使用控制器裡的區域記憶體和將要提供給快閃記憶體儲器設備的一系列命令,在實體記憶體中保持一個實體區塊,這區塊稱之為目前資料區塊(Current Data Block, CDB)可經由選擇可用的實體區塊,擦除它,以及存儲識別CDB的系統變量,CDB主要用來準備接受寫入。當目前資料區塊(CDB)已滿或已用盡,實體區塊的狀態會被改變至將其辨識為原資料(即原資料區塊(Original Data Block, ODB)),以及一新的CDB被選擇。
這些程序也可以包括其他記憶體管理功能,以在使用提供給快閃記憶體裝置之指令之後台被執行。後台存儲器管理功能之例子包括耗損平均技術、自動記憶體管理機制、需要於重置或電源恢復之重要參數備份複製等。後台操作也可以在一個被稱為系統資訊表(System Information Table, SIT)之一區塊保持系統變數,例如:部分對映表的進入點。再者,在使用一後台存儲器管理功能之情況下,系統變數週期性地被備份,或複製至一可用的實體區塊於快閃記憶體中。在一些系統中,位址轉換表在使用快取演算法之情況下被保持,該快取演算法包括快取對映表(Cache Mapping Table, CMT)中之記錄對映關係,快取對映表(CMT)記錄已寫入到快閃記憶體中的對映表以及尚未寫入的對映表。
如果主機端產生一個請求要求記憶體系統直行寫入或讀取資料,當記憶體系統正在執行後台操作使用快閃記憶體裝置且記憶體指令被快閃記憶體接收時,則記憶體系統可能不會立刻回應主機端請求。在這種情況下來自主機端之對時間敏感的請求,例如是一些資料讀取型態和狀態讀取請求這樣的例子,任務功能之執行可以被延遲,或是一逾時狀態可以使主機端系統實行一回應至逾時狀態作為通知。被執行之回應取決於特別的任務功能,以及可以有大的變化。在一些情況中,從一記憶體指令逾時中恢復之一協定,可以對主機端系統之執行有實質影響。
有需要提供在後台存儲器管理操作期間可避免延遲和在主機端層之逾時狀態之一控制器。
本發明提供一用於系統之控制器,儘管是在後台存儲器管理執行期間,控制器快速地回應敏感請求,例如是一些讀取請求型態或其他可被安全地執行之請求。
根據本發明之一方面,一種用於記憶體系統之控制器,包括:執行記憶體指令使用實體位址的記憶體、以及提供讀取或寫入資料請求利用邏輯位址在記憶體中的主機端。控制器包括一主機端介面和一記憶體介面、以及配置用以譯碼在主機端介面被接收之主機端請求和執行使用記憶體介面之記憶體指令週期之邏輯。記憶體指令週期包括傳送一記憶體指令至一記憶體裝置,以及決定記憶體裝置何時為了下一指令而就緒。記憶體指令週期出現於在記憶體介面中,可以包括一或多個指令之主機端請求執行,以出現於在記憶體介面中,可以包括多個指令之主機端請求執行。因此,於此敘述之實施例,在記憶體管理操作執行期間之一特定型態之一主機端請求之一事件中,當記憶體介面在記憶體管理操作完成之前已就緒,控制器邏輯選擇一對應主機端請求之一記憶體指令,作為對應於一記憶體指令週期之一目前指令,以及之後可以重新啟動記憶體管理操作。
與在記憶體裝置之記憶體指令週期並行,邏輯可監控和譯碼主機端請求,以及辨識特別型態或主機端請求型態,例如預先指定之請求,舉例來說,因為它們是對於時間敏感的請求,以及需要可以在記憶體管理操作期間安全地執行之記憶體指令。在記憶體管理操作執行期間,主機端請求辨識類型之請求的情況下,邏輯可以暫停記憶體管理操作並儲存一記憶體管理操作之一狀態,然後優先執行一主機端請求。一旦記憶體指令週期完成以支援主機端請求,在控制器中之邏輯可以根據先前儲存狀態去恢復記憶體管理操作。在記憶體管理操作正在執行主機端指定之外的請求,邏輯不中斷執行記憶體管理操作直到完成後,才執行主機端請求。
根據本發明之另一方面,提供一種記憶體系統之一控制器之控制操作方法。控制器包括:耦接於一記憶體之一記憶體介面、耦接於一主機端之一主機端介面、以及配置用以執行操作之邏輯。所述之方法包括: 執行一記憶體管理操作,記憶體管理操作包括複數個記憶體指令週期; 在所謂之執行記憶體管理操作期間,於控制器之主機端介面被接收之一特定型態之一主機端請求之一事件中,當在一最後階之前,在複數個記憶體指令週期中之一目前記憶體指令週期中就緒,則暫停記憶體管理操作,以及當記憶體管理操作被暫停,則執行主機端請求;以及 在執行記憶體管理操作期間之一主機端請求之一事件中,除了在控制器之主機端介面被接收之一特定型態之主機端請求,繼續記憶體管理操作。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
本技術之實施例係參照第1-4圖進行詳細說明。
第1圖繪示一系統之一簡化功能方塊圖,包括一耦接於一快閃記憶體120和一主機端110之記憶體控制器130。控制器130包括控制電路136、一主機端介面132、以及一記憶體介面134。藉由在一快閃記憶體介面134所需之形式,從在主機端110之更高階功能轉譯請求為指令,控制器130控制和快閃記憶體120之通訊。
記憶體控制器130可以包括執行更高階功能之一處理器,包括“感知”記憶體管理功能,包括後台功能。記憶體管理操作功能傳送指令給需要支援記憶體管理功能之記憶體操作。記憶體管理功能注意到有高優先權之主機端請求,以及可以提供有效且快速之回應。
舉例來說,一電腦系統執行更高階任務功能,主機端110透過一通訊匯流排140,傳送請求(即寫入或讀取)至控制器之主機端介面132,以支援任務功能。在一些實施例中,主機端請求也可以執行後台功能。主機端介面132可以包括緩衝器以及/或是在通訊期間用以儲存主機端請求之記錄器。
通訊匯流排140可以包括快捷外設互聯架構(PCI)匯流排、快捷外設互聯標準(PCIe)匯流排、序列先進技術附件(SATA),以及其他合適之通訊協定。
控制器130可以透過記憶體管理介面134和透過一資料匯流排142之快閃記憶體120通訊,其可為平行或序列式。同樣地,記憶體介面134可以包括緩衝器,以及/或用以儲存指令和經由匯流排142被通訊之資料。
快閃記憶體120可以是一每單元單位元或每單元多位元NAND型非揮發快閃記憶體裝置,或一組例如固態驅動記憶體技術之裝置。在其他例子中,快閃記憶體120可以包括非揮發記憶體裝置之其他型態,包括每單元單位元或每單元多位元NOR型快閃、相變記憶體、磁性記憶體、金屬氧化可程式化阻抗記憶體等。
在記憶體控制器130中之控制電路136包括邏輯137,舉例來說,包括一狀態機和其他處理資源。邏輯可以包括可程式化邏輯電路、專用的邏輯電路、一軟體控制之通常目的處理器、以及邏輯之各種型態之連結。舉例來說,邏輯137可以執行包括虛轉實位址轉換之快閃轉換層(FTL)功能,以及隱藏快閃記憶體之寫入前抹除特徵。再者,邏輯137可以執行各式各樣之記憶體管理操作,例如:耗損平均技術和自動記憶體管理機制。
控制電路136也可以包括一資料緩衝器138,配置用以儲存傳送進和取出於快閃記憶體120和主機端110之資料。
控制電路136可以包括當正使用時,儲存位址轉換表之區域複製之工作記憶體139。位址轉換表例如是邏輯轉實體(Logic-to-physical, L2P)轉換表、參數和查表。再者,控制電路136可以在工作記憶體儲存系統資訊表,系統資訊表包括對於相關周邊區域之寫入計算、抹除計算和有效計算,以支援例如自動記憶體管理機制和耗損平均技術。
在一些實施例中,於控制電路136之邏輯137也執行操作,以保持或備份在工作記憶體之資料複製,以對應在啟動期間,用以資料恢復之無效快閃記憶體120之區塊,以及在快取過程中,處理如此之資料。在記憶體系統初始期間,控制器130可以從對應在快閃記憶體120中之快取管理表區塊和系統資訊表區塊至工作記憶體139,以複製位址轉換表和系統資訊表。
控制電路136包括譯碼在主機端介面132所接收之主機端請求之邏輯,以產生用以傳送至記憶體介面134之記憶體指令,以執行被接收之主機端請求。每一主機端請求,資料被讀取自/寫入快閃記憶體120。
第2圖係一繪示被在記憶體控制器130之邏輯執行,以支援在這個例子之快閃轉換層,以執行主機端請求和執行記憶體管理操作之流程圖。邏輯包括一狀態機(301),在電源開啟或其他和記憶體系統相關之事件時被啟動。邏輯監控主機端介面以判斷一主機端請求是否出現(302)。若一主機端請求出現,主機端請求被譯碼,這牽涉到藉由例如是在第1圖控制器中之邏輯137,轉換請求為一或多個記憶體指令(303)。接著邏輯判斷記憶體裝置是否就緒,以接收下一指令(304)。若記憶體尚未就緒,邏輯就等待。若記憶體及時就緒,則支援主機端請求之指令透過記憶體介面被送至記憶體裝置(305)。接著邏輯執行一記憶體指令週期過程,當中任何必要的透過記憶體介面之轉換被執行,以及記憶體介面為了來自記憶體裝置之忙碌/就緒信號被監控,或為了其他可以指明記憶體介面已就緒,以接收下一指令(307)之狀態。
在記憶體指令週期過程307期間,記憶體控制器可以為了下一主機端請求輪詢主機端介面。主機端302之偵測和主機端請求之譯碼303可以在記憶體指令週期過程307同步被執行。因此,步驟302、303和304可以和一目前執行記憶體指令週期於重疊期間同步被執行,以及可以成為控制器中之一記憶體指令週期過程307之一部分。
記憶體指令週期之長度變化取決於被執行之特別記憶體指令、被利用之特別記憶體裝置和其他變數。再者,在步驟304之記憶體介面是否就緒以為了下一指令之判斷,可以根據被執行之特別指令和下一指令之本質,使其以根據不同狀態而產生。典型地,記憶體裝置在可被用以偵測一目前記憶體指令週期之已就緒以接收下一指令之記憶體介面之完成之記憶體介面,產生一就緒/忙碌信號。一些記憶體裝置可以在寫入操作時執行一讀取狀態。在寫入操作時之一讀取狀態,記憶體介面可以在一程式操作完成之執行且完成之前期間就緒,以接收一讀取狀態指令。
在此例之方法中,若在步驟302中,在主機端介面沒有待定主機端請求,則邏輯可以執行一後台存儲器管理操作(306)。後台存儲器管理操作可以被記憶體控制器在沒有主機端請求系統之涉入下排序。記憶體管理操作有時被執行,以支援記憶體控制器,以及可以包括如上所述之快閃轉換層操作。一後台存儲器管理功能之執行可以如第3圖所顯示之實施。
寫入資料至一NAND型快閃記憶體裝置之請求可以出現於由主機端啟動之前台操作,或出現於由記憶體控制器啟動之一後台操作或存儲器管理操作。當譯碼一主機端寫入請求且由控制器執行之寫入流程之例子如下: A. 檢查CDB是否有一空白頁,若是,透過一記憶體指令程式化寫入請求之資料內容至空白頁,以及進入下方之步驟H。若CDB已滿,且無法取得可用之空白頁,則一新CDB必須被建立,接著進入步驟B。 B. 透過一記憶體指令選取一無用過區塊作為新CDB,以及抹除新區塊。在抹除之後,快取管理表和系統資訊表需要被同步執行。進入步驟C。 C. 檢查在記憶體之CMT是否有一可使新CMT實體區塊被儲存之空白頁。若CMT實體區塊已滿,則進入步驟D以設立一新CMT實體區塊。若目前CMT實體區塊有一可用之空白頁,則透過一記憶體指令將CMT內容寫入到CMT實體區塊的空白頁。進入步驟E。 D. 選取一無用過之實體區塊作為新的CMT實體區塊,以及透過一記憶體指令抹除無用過之區塊。在抹除之後,透過一記憶體指令將CMT內容寫入到新CMT實體區塊的空白頁,以及進入步驟E。 E. 在寫入完CMT內容至該實體區塊後,判斷系統資訊表是否擁有指定實體區塊的空白頁可做同步資訊。若不包括一空白頁,則進入步驟F。否則進入步驟G。 F. 選取一指定的且無用過的實體區塊當作新的SIT的實體區塊,以及透過一記憶體指令抹除無用過區塊。在抹除之後,更新SIT內容裡面的CMT與CDB實體區塊位置,並透過一記憶體指令複製新SIT內容至新的SIT實體區塊。接著進入步驟G。 G. 在同步執行快閃轉換層表之後,透過一記憶體指令寫入主機端資料至在CDB中可用之頁面。 H. 再者,邏輯在快取管理表中更新在邏輯轉實體(L2P)對映實體。
相反地,一主機端讀取請求執行更簡易。其牽涉到以下步驟: A. 藉由轉換透過在控制器中之L2P轉換表之讀取請求之邏輯位址,找出一實體位址,以及產生一記憶體指令以執行讀取。 B. 經由記憶體介面載入資料至實體位址。 C. 經由主機介面傳送資料至主機端。
正如所見的,一讀取請求不需要在NAND型快閃記憶體寫入資料到CDB或CMT實體區塊,因此不會改變被控制器使用之L2P對映。在另一方面之來自主機端請求之一寫入資料將會改變L2P對映關係,因而寫入指令必須按次序地被執行。否則,快閃轉換層可能無法準確地辦識其前台主機端請求和執行後台操作之間的控製表中的最新數據。依序操作之需求為了寫入指令之安全執行,限制在記憶體控制器功能實施之彈性。
從這些流程圖可以看出一後台操作(即步驟B-F)執行期間必須要完全地執行完後台操作才可響應來至主機端的寫入請求。這些操作可以由第2圖之步驟303之轉換主機端要求至一或多個記憶體指令之操作來排序。再者,包括複數個記憶體指令之後台操作可以被排序,以在各種其他情況下執行,以支援耗損平均技術、自動記憶體管理機制和其他習知部分之快閃轉換層操作程序。這些後台操作可以根據計時器、根據於記憶體管理期間出現之事件、根據各種因素和因素之連結而排序執行。在一些實施例中,後台操作也可以使用一或多個主機端請求來排序操作或執行。
第3圖為繪示由在記憶體控制器130中之邏輯所執行,以支援對應於第2圖之步驟306之執行記憶體管理操作之例子之快閃轉換層操作之一流程圖。因此,第3圖所示之流程圖以控制器選擇包含N個記憶體指令之一記憶體管理操作之區塊306開始,以及在這個例子中設定一狀態變數“i”做為1之初始值。這個記憶體管理操作保持在記憶體管理操作期間,包括記憶體指令週期執行期間,以及並非一記憶體管理操作之最後記憶體指令週期之前,對出現於主機端介面之主機端請求的感知。
因此,在這個例子中,記憶體管理操作包含邏輯以輪詢對應於主機端請求之主機端介面,以及譯碼與目前執行之一記憶體指令週期過程同步之主機端請求。因此,判斷一主機端請求是否出現於主機端介面之步驟被執行(308)。若主機端請求出現,則被譯碼以判斷其是否為一主機端讀取請求(309),或在記憶體管理操作被執行期間,安全地執行之一預先指定型態之一主機端請求。若在主機端介面有一讀取請求(309),將其解碼或以其他方式轉換為一記憶體指令或記憶體指令之序列,其中之一被排序以傳送至記憶體(310)。
若沒有待定主機端請求(308),或待定主機端請求並非一讀取請求或其他預先指定型態(309),則記憶體管理操作提供記憶體管理指令i至記憶體介面(314)。
在步驟310或步驟314提供之下一指令被執行之後,以及若記憶體介面已就緒(311),則指令被送至記憶體裝置(312)。如上所述,一旦傳送指令至記憶體裝置312,一記憶體指令週期過程被執行(313)。
此外,和在區塊314之傳送指令同步執行,並傳送至記憶體介面,狀態變數“i”被檢查以決定是否在記憶體管理操作之最後指令已被傳送至記憶體介面;即是否i=N(315)。若最後一指令已被傳送,則一旦最後記憶體週期指令和任何進一步功能之區域處理完成,記憶體管理操作被完成,以及步驟迴圈回到第2圖之步驟302。若最後指令已經被傳送,則狀態變數則以i=i+1方式遞增(316),以及步驟迴圈回到方塊308以判斷是否有一待定主機端請求。若記憶體管理操作之最後指令已被傳送,則一旦最後記憶體指令操作週期完成(320),則操作被完成。
這些程序315、316、308、309可以和目前執行記憶體指令週期過程被同步執行,且即時重疊。
如上所提及,在一些實施例中,在步驟308之一待定主機端請求是否於出現之偵測,可以執行於在當下時間區間讀取主機端介面之一輪詢操作。在其他實施例中,待定主機端請求之出現可以在記憶體管理操作中每一指令傳送之後之其他時間被判斷。
正如所見,第3圖繪示在一記憶體管理操作執行期間,在一特定型態之一主機端請求之一事件中之邏輯之一實施例。儲存記憶體管理操作狀態(即狀態變數“i”) ,以及當記憶體管理介面就緒,則選擇對應於主機端請求之一記憶體指令做為一目前記憶體指令。邏輯也可判斷記憶體介面何時為了下一記憶體指令而就緒。當記憶體介面就緒,則邏輯根據為了下一記憶體指令週期之儲存狀態,選擇對應於記憶體管理操作之下一記憶體指令(指令+1)。這中斷記憶體管理操作,以及當記憶體管理操作被暫停,允許某種型態之主機端請求執行。一旦主機端請求完成,則記憶體管理操作可以透過使用儲存狀態而重新啟動。
再者,第3圖繪示在本實施例中之一主機端請求事件中,除了在一記憶體管理操作之執行期間之特定型態,下個被選擇之指令為一對應於記憶體管理操作之一指令。
一些流程圖繪示由一記憶體控制器或由一記憶體裝置執行之邏輯。邏輯可以透過使用程式化處理器或透過儲存於電腦系統可得到之記憶體之電腦程式被實施,以及可被處理器、包括現場可程式積體電路之專用邏輯硬體、專用邏輯硬體和電腦程式之結合所執行。在此所述全部流程圖,當可理解到許多步驟可以被結合與被同步執行,或在不影響達到功能的情況下,以一不同次序被執行。在一些案例中,如同所能理解的是,只有在做出某種其他改變的情況下,步驟的重新安排才會達到相同的結果。在另一些案例中,如同所能理解的是,只有在某些條件滿足的情況下,步驟的重新安排才會達到相同的結果。此外,於此之流程圖僅顯示關於了解本發明之步驟,以及將會了解許多額外為要完成其他功能之步驟可以於這些顯示之前、之後、期間被執行。
第4圖為繪示於此所述之一記憶體控制器之操作之時序之一循序圖。
循序圖包括在右行之記憶體控制器之主機端介面,在中間之記憶體控制器中之控制邏輯,以及左行之記憶體控制器之記憶體介面。在控制邏輯行之垂直時間線被陰影線標記,以指明如左下方備註顯示之一記憶體管理操作和一主機端功能。控制邏輯可以執行於第2圖和第3圖所示之流程為例。
在序列中之第一事件包括在主機端介面之一主機端讀取請求501,其在一譯碼時間以譯碼形式被傳遞至控制邏輯(502)之後。(在循序圖中,譯碼時間繪示於主機端介面以便於說明。執行譯碼之邏輯可能實體上位於裝置之任何地方)控制邏輯接著產生一讀取指令或讀取指令設定,以執行讀取請求503,以及提供至記憶體介面,並開始一記憶體讀取指令週期過程。一旦一記憶體讀取指令完成,快閃記憶體120提供一就緒信號561至記憶體介面,其被傳遞至指明記憶體讀取指令週期過程之結尾之控制邏輯,且記憶體讀取指令週期過程依序地提供讀取資料至主機端介面和產生一確認562。讀取資料被傳送至主機端,透過一動態記憶體存取DMA協定(580)之例子。若主機端請求需要多個記憶體裝置讀取,則一讀取迴圈可以被執行。舉例來說,若一主機端請求辨識在512位元單元(十進制)中,長度為0x100之邏輯區塊位址0x0,則讀取請求試圖讀取大約 128K位元單元。對於有16K位元之一頁面讀取之記憶體裝置,主機端請求可以於快閃轉換層轉換至少8頁面讀取指令,其可被控制器按次序地執行。
在就緒信號561之後,控制邏輯可以判斷時間可用於執行記憶體管理操作包括例如程式指令531到記憶體。在記憶體管理操作期間,控制邏輯可以檢查(534)對應在記憶體中之程式操作之完成之記憶體介面之狀態。當程式操作繼續進行,記憶體介面從記憶體接收一忙碌信號(563)。再者,控制邏輯可以藉由檢查(533)在主機端介面之主機端請求,以監控對應主機端請求之主機端介面。如本例子所繪示,主機端介面在檢查533之時間可能無待定請求(570)。
在記憶體管理操作期間之控制邏輯可以為了一就緒狀態,繼續檢查(536)記憶體介面。當記憶體介面接收一就緒信號(564),控制邏輯可以判斷其為了下一指令而就緒。
正如在這例子所繪示,控制邏輯和程式指令週期同步執行,且可以在從記憶體介面之前接收就緒信號564之前,繼續檢查(535)主機端介面之狀態。在這例子中,一主機端讀取請求505在就緒信號 564之前,於主機端介面被偵測。在一譯碼時間之後,以譯碼形式506之讀取請求被提供至控制邏輯。因此,如上所述,一旦接收就緒信號564 ,控制邏輯位在記憶體管理操作之一記憶體指令週期之一末端。在那時,記憶體管理操作可以被暫停,以及用以執行主機端請求之指令可以被傳遞至記憶體介面。在這例子中,對應於主機端請求之讀取指令507(或一組讀取指令)被提供,以做為下一至記憶體介面之指令,以及一讀取記憶體指令週期被輸入。一旦對應於記憶中之讀取之令之記憶體操作週期完成,則記憶體介面可以偵測來自記憶體裝置之一就緒信號565。讀取資料和確認信號566被提供至主機端介面,以及資料回到主機端581。再一次地,在實體記憶體層之複數個指令可能在快閃轉換層被產生,以回應一單個主機端請求。
在這例子中,當接收就緒信號565,沒有待定主機端請求被發現,以及控制邏輯可以重新啟動記憶體管理操作,並藉由傳送一讀取指令538至記憶體介面,以開始記憶體管理操作中一下階段。和讀取記憶體操作週期同步執行,控制邏輯透過檢查539和回應571,繼續監控主機端介面。
在這例子中,在管理操作至記憶體介面中,一旦如同在記憶體介面被就緒信號568指明之讀取指令完成,控制邏輯找不到待定主機端請求,且提供下個記憶體指令,則抹除指令540。裝置輸入在此時抹除記憶體操作週期,並結束於就緒信號569。和抹除記憶體操作週期同步執行,控制邏輯,透過檢查541和回應572,繼續監控主機端介面。
在第4圖之循序圖展示在記憶體控制器功能效率上之重大改善,當後台操作在一安全狀態,包括例如是主機端請求譯碼和優先處理對時間敏感和於後台安全操作之主機端請求之表現之線路。
因此,控制器發佈一或多個指令至記憶體介面做為主機端請求執行之一部分,以及發佈一或多個記憶體指令至記憶體介面做為記憶體管理操作之一部分。再者,控制邏輯藉由判斷記憶體介面何時指明在一記憶體指令完成後,記憶體就緒,以判斷記憶體指令週期之完成,否則被發佈做為記憶體管理操作之一部分。
記憶體控制器中的控制邏輯可以執行後台存儲器管理操作,同時知道待處理的主機端請求。任何待定主機端請求可以安全地被執行當記憶體管理操作的記憶體指令循環結束時,因為控制邏輯可暫停記憶體管理操作,讓主機端操作在沒有過度的延遲情況下完成。再者,待定主機端請求可以在即時重疊於記憶體管理操作當中之記憶體介面之記憶體指令週期之譯碼時間之期間被譯碼。這個譯碼時間之重疊可以允許記憶體管理操作判斷主機端請求型態待定,並且可以在暫停記憶體管理操作之後,減少開始執行命令所需的時間。
一般來說,後台存儲器管理操作可以配置用以在於非揮發記憶體中可收回、回復或檢驗區塊狀態,或執行減少系統錯誤風險或改善執行之記憶體管理操作之主機端系統之一理想狀態期間竊取時間。這樣的後台操作可能涉及到在一非揮發記憶體,例如一NAND型快閃記憶體,中之許多頁面程式和區塊抹除,而會消耗大量的時間。因此,有一風險為在後台操作執行期間,主機端系統之理想狀態可能會結束。這此案例中,記憶體控制器可能不能立即回應一主機端請求。若請求為對時間敏感,例如是一讀取指令,則主機端系統會受到負面影響。
一種使用快閃轉換層功能來控制一記憶體系統之執行操作的方法,其中記憶體系統包括一控制器,控制器包括耦接於一主機端之一主機端介面、及耦接於一記憶體之一記憶體介面。記憶體例如是一NAND型快閃記憶體。此方法在一些實施例中包括: 透過記憶體介面執行包含複數個記憶體指令週期之一快閃轉換層操作; 在快閃轉換層操作期間,且當記憶體介面尚未就緒,則判斷一讀取請求於主機端介面被接收; 一旦在快閃轉換層操作之一最後記憶體指令週期之前,複數個記憶體指令週期中,其中之一完成,則當記憶體介面就緒,暫停快閃轉換層操作,以及儲存快閃轉換層操作之一狀態; 根據儲存狀態來重新啟動快閃轉換層操作;當要執行主機端讀取之外的請求,必須執行完快閃轉換層轉換出複數個記憶體指令週期之最後記憶體指令完成。
一種記憶體控制器,包括邏輯以執行上述之方法。
在此所述之技術提供一種記憶體控制器,記憶體控制器於一後台存儲器管理操作期間輪詢或監控對應於主機端請求之主機端介面。記憶體控制器可以在記憶體操作,例如是程式、抹除或讀取操作以偵測或譯碼主機端請求執行期間,利用一忙碌狀態時間。當一高優先權主機端請求被接收,例如是一讀取資料請求,則當暫停在一安全記憶體指令週期中之後台存儲器管理操作,記憶體控制器可以優先操作以執行主機端請求。因此,記憶體管理操作可以以“注意”待定高優先權主機端請求之方法被執行,以及當主機端請求完成時可以藉由暫停記憶體管理操作、儲存它的狀態、以及重新啟動它來回應這些請求。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110‧‧‧主機端
120‧‧‧快閃記憶體
130‧‧‧記憶體控制器
132‧‧‧主機端介面
134‧‧‧快閃記憶體介面
136‧‧‧控制電路
137‧‧‧邏輯
138‧‧‧資料緩衝器
139‧‧‧工作記憶體
140‧‧‧通訊匯流排
142‧‧‧資料匯流排
第1圖繪示在一實施例中,包含“感知”記憶體管理操作(MMO)邏輯之一記憶體控制器之一系統之一功能方塊圖。 第2圖繪示在一實施例中,控制器之控制功能之流程圖。 第3圖繪示在一實施例中,於一記憶體管理操作期間之控制器之控制功能之流程圖。 第4圖繪示在一實施例中,實施於一記憶體系統之一控制器所執行之操作之一循序圖。
Claims (15)
- 一種用於記憶體系統之控制器,包括: 一主機端介面和一記憶體介面;以及 一邏輯,配置用以執行於該主機端介面所接收的請求和執行包括複數個記憶體指令週期之一記憶體管理操作,其中: 在該記憶體管理操作的執行期間之一特定型態的主機端請求之一事件中,當該記憶體介面在該記憶體管理操作完成之前就緒,則選擇該主機端請求之記憶體指令作為一記憶體指令週期之一目前指令。
- 如申請專利範圍第1項所述之控制器,其中該邏輯儲存該所選記憶體指令之記憶體指令週期期間之該記憶體管理操作之一狀態,以及當該記憶體介面就緒,則為了下一記憶體指令週期而根據所儲存之該狀態選擇該記憶體管理操作之記憶體指令。
- 如申請專利範圍第1項所述之控制器,其中該邏輯係配置用以使得在該記憶體管理操作之執行期間之一有別於該特定型態之主機端請求之一事件中,該邏輯為了下一記憶體指令週期而選擇該記憶體管理操作之一後續指令。
- 如申請專利範圍第1項所述之控制器,其中該控制器包括另一邏輯,於該記憶體介面尚未為了下一記憶體指令週期就緒之期間,執行輪詢該主機端請求之該主機端介面之該記憶體管理操作。
- 如申請專利範圍第1項所述之控制器,其中該主機端請求之該特定型態包括一讀取請求,該記憶體管理操作包括快閃記憶體轉換層功能。
- 如申請專利範圍第1項所述之控制器,其中該邏輯譯碼在該主機端介面之主機端請求,以於與該目前記憶體指令週期重疊之期間辨認出該特定型態。
- 如申請專利範圍第1項所述之控制器,其中在該記憶體管理操作未被執行時之一主機端請求之一事件中,為了使用該記憶體介面之下一記憶體指令週期,該邏輯選擇一對應於該主機端請求之一後續指令。
- 一種用於記憶體系統之一控制器之操作方法,該控制器包括耦接於一記憶體之一記憶體介面、耦接於一主機端之一主機端介面、以及執行操作之邏輯,該方法包括: 執行一記憶體管理操作,該記憶體管理操作包括複數個記憶體指令週期,其中執行該記憶體管理操作之步驟包括: 在該記憶體管理操作之執行期間之一特定型態之一主機端請求之一事件中,當該記憶體介面就緒,則選擇對應於該主機端請求之一記憶體指令,以作為對應於使用該記憶體介面之一記憶體指令之一目前指令。
- 如申請專利範圍第8項所述之方法,其中該方法包括儲存該所選記憶體指令之該記憶體指令週期期間之該記憶體管理操作之一狀態,以及當該記憶體介面就緒,則為了下一記憶體指令週期而根據所儲存之該狀態選擇該記憶體管理操作之記憶體指令。
- 如申請專利範圍第8項所述之方法,其中該方法包括於該記憶體管理操作之執行期間之一有別於該特定型態之主機端請求之一事件中,為了使用該記憶體介面之下一記憶體指令週期而選擇該記憶體管理操作之一後續指令。
- 如申請專利範圍第8項所述之方法,其中該方法包括於該記憶體介面尚未為了下一記憶體指令週期就緒之該記憶體管理操作之期間,輪詢該主機端請求之該主機端介面。
- 如申請專利範圍第8項所述之方法,其中該主機端請求之該特定型態包括一讀取請求,該記憶體管理操作包括快閃記憶體轉換層功能。
- 如申請專利範圍第8項所述之方法,其中該方法包括譯碼在該主機端介面之主機端請求,以於與該目前記憶體指令週期重疊之期間辨認出該特定型態。
- 如申請專利範圍第8項所述之方法,其中在該記憶體管理操作未被執行時之一主機端請求之一事件中,為了使用該記憶體介面之下一記憶體指令週期,選擇該主機端請求之一後續指令。
- 一種操作於一記憶體系統之控制方法,該記憶體系統包括有耦接於一主機端之一主機端介面和耦接於一記憶體之一記憶體介面,該方法包括: 執行包括複數個使用該記憶體介面之記憶體指令週期之快閃記憶體轉換層操作; 當該記憶體介面就緒時,暫停該記憶體轉換層操作,以及儲存該記憶體轉換層操作之一狀態; 當該記憶體轉換層操作因於該主機端介面所接收之一讀取請求而被暫停時,執行使用該記憶體介面之一記憶體指令週期; 根據該儲存狀態繼續執行該記憶體轉換層操作;以及 在暫停該記憶體轉換層操作之前,偵測該主機端讀取請求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/630,075 | 2017-06-22 | ||
US15/630,075 US10521375B2 (en) | 2017-06-22 | 2017-06-22 | Controller for a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201905713A true TW201905713A (zh) | 2019-02-01 |
TWI684868B TWI684868B (zh) | 2020-02-11 |
Family
ID=64692617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106130200A TWI684868B (zh) | 2017-06-22 | 2017-09-04 | 記憶體控制器及其操作方法以及記憶體系統之控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10521375B2 (zh) |
CN (1) | CN109117391B (zh) |
TW (1) | TWI684868B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI783742B (zh) * | 2021-09-09 | 2022-11-11 | 瑞昱半導體股份有限公司 | 存取記憶體的電子裝置及資料寫入方法 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10877898B2 (en) | 2017-11-16 | 2020-12-29 | Alibaba Group Holding Limited | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
KR102596407B1 (ko) * | 2018-03-13 | 2023-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
US11816043B2 (en) | 2018-06-25 | 2023-11-14 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of I/O requests |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US10996886B2 (en) | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
US10977122B2 (en) | 2018-12-31 | 2021-04-13 | Alibaba Group Holding Limited | System and method for facilitating differentiated error correction in high-density flash devices |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US11132291B2 (en) | 2019-01-04 | 2021-09-28 | Alibaba Group Holding Limited | System and method of FPGA-executed flash translation layer in multiple solid state drives |
US11200337B2 (en) | 2019-02-11 | 2021-12-14 | Alibaba Group Holding Limited | System and method for user data isolation |
US10970212B2 (en) | 2019-02-15 | 2021-04-06 | Alibaba Group Holding Limited | Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones |
US11061834B2 (en) | 2019-02-26 | 2021-07-13 | Alibaba Group Holding Limited | Method and system for facilitating an improved storage system by decoupling the controller from the storage medium |
US10891065B2 (en) | 2019-04-01 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive |
US10922234B2 (en) | 2019-04-11 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive |
US10908960B2 (en) * | 2019-04-16 | 2021-02-02 | Alibaba Group Holding Limited | Resource allocation based on comprehensive I/O monitoring in a distributed storage system |
US11169873B2 (en) | 2019-05-21 | 2021-11-09 | Alibaba Group Holding Limited | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive |
US11188461B2 (en) * | 2019-06-19 | 2021-11-30 | Micron Technology, Inc. | Garbage collection adapted to memory device life expectancy |
US10860228B1 (en) * | 2019-06-24 | 2020-12-08 | Western Digital Technologies, Inc. | Method to switch between traditional SSD and open-channel SSD without data loss |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11074124B2 (en) | 2019-07-23 | 2021-07-27 | Alibaba Group Holding Limited | Method and system for enhancing throughput of big data analysis in a NAND-based read source storage |
US11126561B2 (en) | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
KR20210077451A (ko) * | 2019-12-17 | 2021-06-25 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11150986B2 (en) | 2020-02-26 | 2021-10-19 | Alibaba Group Holding Limited | Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction |
US11200114B2 (en) | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11218165B2 (en) | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11636904B2 (en) * | 2021-04-13 | 2023-04-25 | Micron Technology, Inc. | Almost ready memory management |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396103B2 (en) | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
EP2183749B1 (en) * | 2007-08-06 | 2013-05-29 | SanDisk Technologies Inc. | Enhanced write abort mechanism for non-volatile memory |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
TW201019108A (en) | 2008-11-06 | 2010-05-16 | Promise Technology Inc | Flash memory data access system, data reading method and data management method thereof |
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 |
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 |
US11232022B2 (en) * | 2010-10-29 | 2022-01-25 | Samsung Electronics Co., Ltd. | Memory system, data storage device, user device and data management method thereof having a data management information matching determination |
US8819328B2 (en) | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
US8707073B2 (en) * | 2011-08-31 | 2014-04-22 | International Business Machines Corporation | Energy-efficient polling loop |
DE102013100596B4 (de) * | 2012-01-27 | 2023-09-07 | Samsung Electronics Co. Ltd. | Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren |
US9122582B2 (en) * | 2012-06-12 | 2015-09-01 | International Business Machines Corporation | File system for maintaining data versions in solid state memory |
US9329990B2 (en) | 2013-01-11 | 2016-05-03 | Micron Technology, Inc. | Host controlled enablement of automatic background operations in a memory device |
US9348774B2 (en) | 2013-01-25 | 2016-05-24 | Seagate Technology Llc | Controller-opaque communication with non-volatile memory devices |
US9195406B2 (en) | 2013-06-28 | 2015-11-24 | Micron Technology, Inc. | Operation management in a memory device |
US10152437B2 (en) * | 2015-07-10 | 2018-12-11 | Megachips Corporation | Memory system |
JP2017174387A (ja) * | 2016-03-17 | 2017-09-28 | パナソニックIpマネジメント株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
-
2017
- 2017-06-22 US US15/630,075 patent/US10521375B2/en active Active
- 2017-09-04 TW TW106130200A patent/TWI684868B/zh active
- 2017-09-06 CN CN201710797596.6A patent/CN109117391B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI783742B (zh) * | 2021-09-09 | 2022-11-11 | 瑞昱半導體股份有限公司 | 存取記憶體的電子裝置及資料寫入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109117391B (zh) | 2022-02-22 |
US20180373655A1 (en) | 2018-12-27 |
CN109117391A (zh) | 2019-01-01 |
US10521375B2 (en) | 2019-12-31 |
TWI684868B (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI684868B (zh) | 記憶體控制器及其操作方法以及記憶體系統之控制方法 | |
US10649815B2 (en) | Apparatus and method of managing shared resources in achieving IO virtualization in a storage device | |
TWI649759B (zh) | 資料儲存裝置與將資料寫入記憶體裝置之方法 | |
US7600090B2 (en) | Microcontroller based flash memory digital controller system | |
US20150089287A1 (en) | Event-triggered storage of data to non-volatile memory | |
JP4960364B2 (ja) | ハードウェア支援されたデバイス設定検出 | |
TW201839615A (zh) | 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置 | |
JP6811819B2 (ja) | エラー処理方法、並びにデータ記憶装置及びその制御装置 | |
TWI790383B (zh) | 資料儲存裝置與資料處理方法 | |
TW201915754A (zh) | 資料儲存裝置及其操作方法 | |
US20160139995A1 (en) | Information processing apparatus, memory dump method, and storage medium | |
TWI612473B (zh) | 垃圾回收方法以及使用該方法的裝置 | |
US20170269870A1 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method | |
JP2010277194A (ja) | 記憶装置、データ処理方法およびデータ処理プログラム | |
TW201643737A (zh) | 組態串列裝置 | |
TW201939283A (zh) | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 | |
JP2013200692A (ja) | メモリシステム | |
US20210157524A1 (en) | Memory system and operating method thereof | |
US10846019B2 (en) | Semiconductor device | |
JP6089492B2 (ja) | システム制御装置、情報処理システム、システム制御装置の制御方法およびシステム制御装置の制御プログラム | |
TWI768829B (zh) | 記憶體裝置的參數調整方法與記憶體儲存系統 | |
TWI824843B (zh) | 記憶裝置的控制方法與相關的快閃記憶體控制器與記憶裝置 | |
CN209746537U (zh) | 一种兼容nvdimm-p功能的nvdimm-n | |
TWI480799B (zh) | 嵌入式系統之韌體更新方法及設備 | |
CN114420192A (zh) | DRAMLess SSD NAND编程出错的优化方法、装置及介质 |