TWI641988B - 用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器 - Google Patents
用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器 Download PDFInfo
- Publication number
- TWI641988B TWI641988B TW106124457A TW106124457A TWI641988B TW I641988 B TWI641988 B TW I641988B TW 106124457 A TW106124457 A TW 106124457A TW 106124457 A TW106124457 A TW 106124457A TW I641988 B TWI641988 B TW I641988B
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- memory element
- controller
- elements
- busy state
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本發明提供一種用來於一記憶裝置中進行編程管理之方法以及該記憶裝置及其控制器。該記憶裝置包含一非揮發性記憶體,且該非揮發性記憶體包含複數個非揮發性記憶體元件。該方法包含有:於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,該控制器檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌狀態或一非忙碌狀態;以及當該另一非揮發性記憶體元件進入該非忙碌狀態時,該控制器編程該目標非揮發性記憶體元件。
Description
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種用來於一記憶裝置中進行編程(programming)管理之方法以及相關之記憶裝置及其控制器。
近年來由於記憶體的技術不斷地發展,各種可攜式記憶裝置(例如:符合SD/MMC、CF、MS、或XD標準之記憶卡)被廣泛地實施於諸多應用中。因此,這些可攜式記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(single level cell, SLC)與多階細胞(multiple level cell, MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩組位元資訊(諸如00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之可攜式記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保可攜式記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,因應的某些類型的寫入(write)/編程(program)運作,記憶裝置的瞬間功耗(instantaneous power consumption)可能過大而超過預定的產品規格。因此,需要一種新穎的方法及記憶體存取架構,以在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化(optimal)效能。
本發明之一目的在於提供一種用來於一記憶裝置中進行編程(programming)管理之方法以及相關之記憶裝置及其控制器,以解決上述問題。
本發明之另一目的在於提供一種用來於一記憶裝置中進行編程管理之方法以及相關之記憶裝置及其控制器,以在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化(optimal)效能。
本發明之至少一實施例提供一種用來於一記憶裝置中進行編程管理之方法,其中該記憶裝置包含一非揮發性記憶體(non-volatile memory, NV memory),且該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element)。例如,該方法可包含:於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及當該另一非揮發性記憶體元件進入該非忙碌狀態時,編程該目標非揮發性記憶體元件。
本發明之至少一實施例提供一種記憶裝置,其包含有:一非揮發性記憶體,用來儲存資訊,其中該非揮發性記憶體包含複數個非揮發性記憶體元件;以及一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之運作。例如:該控制器可包含一處理電路,而該處理電路可用來依據來自一主裝置(host device)的一指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體。另外,於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,該控制器檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌狀態或一非忙碌狀態。此外,當該另一非揮發性記憶體元件進入該非忙碌狀態時,該控制器編程該目標非揮發性記憶體元件。
本發明之至少一實施例提供一種記憶裝置之控制器,其中該記憶裝置包含該控制器與一非揮發性記憶體,且該非揮發性記憶體包含複數個非揮發性記憶體元件。例如,該控制器可包含一處理電路,而該處理電路可用來依據來自一主裝置的一指令控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。另外,於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,該控制器檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌狀態或一非忙碌狀態。此外,當該另一非揮發性記憶體元件進入該非忙碌狀態時,該控制器編程該目標非揮發性記憶體元件。
本發明的好處之一是,藉由適當地進行編程管理,本發明能針對該控制器的運作進行妥善的控制,以避免記憶裝置的瞬間功耗(instantaneous power consumption)超過預定的產品規格。另外,依據本發明之相關實施例來實施並不會增加許多額外的成本,甚至比相關技術更能節省成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於相關技術,本發明能在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化效能。
I. 記憶體系統
請參考第1圖,第1圖為依據本發明一第一實施例之一種記憶裝置100與一主裝置(host device)200的示意圖。例如:記憶裝置100可為一可攜式記憶裝置(例如:符合SD/MMC、CF、MS、或XD標準之記憶卡)或固態硬碟(solid state drive, SSD)。另外,主裝置200的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、可穿戴裝置(wearable device)、以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。依據本實施例,記憶裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory, NV memory)120,其中該控制器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。非揮發性記憶體120可包含複數個非揮發性記憶體元件(NV memory element)122-1、122-2、…與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、…與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明並不限於此。
如第1圖所示,記憶體控制器110可包含一處理電路諸如一微處理器112、一儲存器諸如一唯讀記憶體(read only memory, ROM)112M、一控制邏輯電路114、一緩衝記憶體116、與一傳輸介面電路118,其中這些元件可透過一匯流排彼此耦接。緩衝記憶體116係以一隨機存取記憶體(random access memory, RAM)來實施。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可包含一錯誤更正碼電路(未顯示),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment, SATA)標準、通用序列匯流排(Universal Serial Bus, USB)標準、或快捷外設互聯 (Peripheral Component Interconnect Express,PCIE) 標準)且可依據該特定通訊標準進行通訊。
於本實施例中,主裝置200可藉由傳送指令與對應的邏輯位址予記憶體控制器110來存取記憶裝置100。記憶體控制器110接收該些指令與該些邏輯位址,並控制非揮發性記憶體120讀取、寫入(write)/編程(program)、或抹除(erase)非揮發性記憶體120當中具有實體位址之記憶單位(memory unit),其中該些實體位址對應於該些邏輯位址。
II. 頁位址鏈結表(page address linking table)
第2A圖繪示一快閃晶片0的一區塊當中之一局部(local)頁位址鏈結表,其中快閃晶片0可作為上述快閃記憶體晶片之一例。如第2A圖所示,快閃晶片0包含複數個區塊0、1、2、…、與M。請注意,一區塊係一抹除單位。換言之,當需要抹除資料時,微處理器112同時抹除儲存於該區塊之全部資料。另外,一區塊,諸如第2A圖所示之區塊0,包含複數個頁。例如:快閃晶片0之區塊0包含128頁。在該區塊諸如區塊0中,這些頁被區分為兩個分區,即用來儲存資料之一資料分區以及用來儲存一局部頁位址鏈結表0之一表格分區。該區塊之資料分區內的諸頁可稱為該區塊之資料頁,其中該些資料頁中之任一者可包含一資料位元組區(data byte region)DBR與一備用位元組區(spare byte region)SBR。
依據本實施例,該資料分區內的頁數以及該表格分區內的頁數可依需要來訂定。例如:頁0、1、2、…、126可用來儲存資料,且該區塊中剩下的頁係用來儲存局部頁位址鏈結表0。依據某些實施例,該資料分區可包含少於127頁,且該表格分區可包含兩頁或更多頁。又例如:該區塊內的總頁數、該資料分區內的頁數以及該表格分區內的頁數可分別予以變化。請注意,一頁係一寫入單位。換言之,當需要寫入資料時,微處理器112一次將相當於一頁的資料寫入一頁。依據本實施例,第1圖所示之非揮發性記憶體120中之每一快閃晶片的多個區塊中的每一區塊可具有一局部頁位址鏈結表。為了簡明起見,只有快閃晶片0的區塊0之局部頁位址鏈結表0係繪示於第2A圖,是因為每一局部頁位址鏈結表的功能與運作都彼此相似。
於本實施例中,局部頁位址鏈結表0被建立的時間點是當區塊0中之全部資料頁已被寫入,也就是說,被完全編程(fully programmed)之時。然而,於區塊0中之資料頁被完全編程之前,微處理器112會暫時地在該隨機存取記憶體中儲存一暫時局部頁位址鏈結表0;當區塊0中一實體頁位址與一邏輯頁位址之間的任何鏈結關係改變時,微處理器112就更新暫時局部頁位址鏈結表0。
依據本實施例,該暫時/非暫時局部頁位址鏈結表(例如:該暫時局部頁位址鏈結表0或局部頁位址鏈結表0)之一欄位(項目)的排列順位代表一實體頁位址,而此欄位中的內容代表一相關的邏輯頁位址。例如:假設i
P與j
P分別為第2A圖所示之暫時/非暫時局部頁位址鏈結表之示例表格位置(i
P, j
P)當中的列數與行數,並且i
P= 0、1、…等且j
P= 0、1、…等。在第2A圖所示之暫時/非暫時局部頁位址鏈結表的這個二維陣列示例中,對應於第(i
P* 4 + j
P)個欄位之示例表格位置(i
P, j
P)代表一實體頁位址PPN,其可描述如下: PPN = (PBN * DPC + i
P* 4 + j
P); 其中參數PBN表示討論中的實體區塊之實體區塊編號(例如:PBN = 0、1、2、…等,分別對對應於區塊0、1、2、…等),而參數DPC則表示每一區塊之資料頁數量(例如:於本實施例中可為127)。這只是為了說明的目的而已,並非對本發明之限制。為了便於理解,該暫時/非暫時局部頁位址鏈結表可繪示為單一行,如第2B圖右半部所示。給定i
P仍為列數且i
P= 0、1、…等,則在第2B圖右半部所示的這個一維陣列示例當中,針對區塊PBN的暫時/非暫時局部頁位址鏈結表而言,對應於第i
P個欄位之示例表格位置i
P代表一實體頁位址(PBN * DPC + i
P)。亦即,針對這個一維陣列示例,上式可被重新改寫如下: PPN = (PBN * DPC + i
P)。
例如:當主裝置200傳送一指令予微處理器112以在一邏輯頁位址0x0002寫入某些資料時,微處理器112可將這些資料與邏輯頁位址0x0002分別寫入快閃晶片0之區塊0之頁0之資料位元組區DBR與備用位元組區SBR,且將邏輯頁位址0x0002寫入該暫時局部頁位址鏈結表0之第一個欄位,以藉此指出邏輯頁位址0x0002鏈結/映射至快閃晶片0之區塊0之頁0,其實體頁位址係為0x0000。依此類推。當區塊0中之全部資料頁已被寫入時,微處理器112可複製該暫時局部頁位址鏈結表0之最新版本,以建立局部頁位址鏈結表0。請注意,邏輯頁位址{0x0002, 0x0001, 0x0002, 0x0005, 0x0003, 0x0007, 0x0010, 0x0008, …, 0x0000, 0x0009, 0x0004}可作為該些邏輯位址之例子。依據某些實施例,該些邏輯位址可予以變化。
依據某些實施例,一局部頁位址鏈結表諸如局部頁位址鏈結表0中之邏輯頁位址的範圍可大於一區塊諸如區塊0中之頁數。
依據某些實施例,微處理器112可依據分別對應於多個區塊之多個局部頁位址鏈結表,於該隨機存取記憶體中建立一全域(global)頁位址鏈結表,來記錄/更新該些實體位址與該些邏輯位址之間的關係。
III. 效能控制
記憶體控制器110可於記憶裝置100中管理編程(programming)運作,以在較少或沒有副作用的狀況下解決相關技術的問題。例如:記憶體控制器110可動態地調整該些編程運作之排程(scheduling),以達到記憶裝置100的最佳化(optimal)效能。
第3圖為依據本發明一實施例之一種用來於一記憶裝置中進行編程管理之方法300的流程圖,其中方法300可應用於記憶裝置100,且可應用於該控制器諸如記憶體控制器110。例如:在該處理電路諸如微處理器112之控制下,記憶體控制器110可進行方法300之運作。為了簡化說明,假設記憶裝置100可具有單一通道(Channel)、且該單一通道中之非揮發性記憶體元件的總數可為4(N = 4),並且以這些非揮發性記憶體元件(其可分別為非揮發性記憶體元件122-1、122-2、122-3與122-4)為例進行下列說明;但本發明並不以此為限。方法300也可適用於通道總數(total channel count)NCH、每通道非揮發性記憶體元件數(NV-memory-element-count per channel)NPC、或非揮發性記憶體元件的總數N為任何正整數的記憶裝置100,其中N = (NPC * NCH)。
在步驟302中,記憶體控制器110可選取其中一個未進行編程記憶體元件。例如,在此之前,非揮發性記憶體元件122-1、122-2及122-3已被選取,且選取未被取消,僅剩非揮發性記憶體元件122-4可被選取,因此,在步驟302中,記憶體控制器110選取非揮發性記憶體元件122-4。
在步驟304中,記憶體控制器110可記錄此記憶體元件的選取順序。假設非揮發性記憶體元件122-1、122-2及122-3已被選取,且選取順序分別為0、1及2。例如非揮發性記憶體元件122-4的選取順序為3。
在步驟306中,記憶體控制器110可依據選取順序判斷預設選取間隔(default selection interval)的記憶體元件是否已完成編程。如果是,則執行步驟310;如果否,則執行步驟308。預設選取間隔是用以決定之前選取的非揮發性記憶體元件與目前選取的非揮發性記憶體元件之間的關聯性,且預設選取間隔的值小於非揮發性記憶體元件的總數。依據選取順序,非揮發性記憶體元件122-1、122-2及122-3相對於非揮發性記憶體元件122-4的選取間隔分別為3(例如(3 - 0) = 3)、2(例如(3 - 1) = 2)及1(例如(3 - 2) = 1)。假設預設選取間隔為3,則預設選取間隔的記憶體元件乃對應至非揮發性記憶體元件122-1。記憶體控制器110可檢查非揮發性記憶體元件122-1,是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態。依據本實施例,該非忙碌狀態可為一備妥(ready)狀態,但本發明並不以此為限。
在步驟308中,記憶體控制器110可等待一預設時間;之後,執行步驟306。由於非揮發記憶體元件122-1、122-2及122-3已被選取且目前正在進行編程,為了避免記憶裝置100消耗大多的電力,因此,記憶體控制器110等待一段預設時間,例如:50ns,接著執行步驟306以判斷非揮發記憶體元件122-1是否完成編程,如果是,再進行非揮發記憶體元件122-4的編程。
在步驟310中,記憶體控制器110可開始此記憶體元件的編程。當非揮發記憶體元件122-1完成編程並進入該非忙碌狀態時,記憶體控制器110可編程選取的非揮發性記憶體元件122-4。如此一來,方法300能避免編程選取的非揮發性記憶體元件122-4,直到非揮發性記憶體元件122-1進入該非忙碌狀態後再編程選取的非揮發性記憶體元件122-4,以達到本發明的至少一目的。之後,結束方法300之運作。
另外,步驟310可更包括刪除此記憶體元件的選取順序。之後,當方法300重新被執行時,由於已完成編程的記憶體元件的選取順序被刪除,剩下的選取順序所對應的非揮發性記憶體元件即仍在編程中,處於忙碌狀態,所以步驟306的判斷結果符合非揮發性記憶體元件122-1、122-2、122-3與122-4的真實情況。
在上述實施例中,非揮發性記憶體元件122-1、122-2、122-3與122-4的選取及編程順序為隨機選取,因此,步驟304為必要的。在另一種實施方式中,非揮發性記憶體元件122-1、122-2、122-3與122-4的選取為固定的,即選取順序為固定的,此狀況下,步驟304為非必要的並可省略之。
在上述實施例中,預設編程間隔的值可較佳地等於非揮發性記憶體元件的總數減一;但本發明並不以此為限。例如,預設編程間隔的值可為任何小於非揮發性記憶體元件的總數的正整數。
第4圖為依據本發明另一實施例之一種用來於一記憶裝置中進行編程管理之方法320的流程圖,其中,步驟322、328與330分別等同於步驟302、308與310,而步驟324與326分別異於步驟304與306。
在步驟324中,記憶體控制器110可判斷其它記憶體元件的狀態。例如當非揮發性記憶體元件122-1、122-2及122-3已被選取並正在進行編程中,則非揮發性記憶體元件122-1、122-2及122-3的狀態皆為忙錄狀態。
在步驟326中,記憶體控制器110可判斷處於忙錄狀態的記憶體元件的總數是否小於一預設值。如果是,則執行步驟330;如果否,則執行步驟328。假設預設值為3。此狀況下,由於非揮發性記憶體元件122-1、122-2及122-3的狀態皆為忙錄狀態,所以忙錄狀態的總數並不小於3,所以執行步驟328。當其中之一非揮發性記憶體元件122-1、122-2及122-3的狀態由忙錄狀態變更為非忙碌狀態時,例如:非揮發性記憶體元件122-1首先完成編程,並由忙錄狀態變更為非忙碌狀態,使處於忙錄狀態的記憶體元件的總數小於預設值,故執行步驟330,對非揮發性記憶體元件122-4進行編程。
依據某些實施例,於編程該複數個非揮發性記憶體元件122-1、122-2、…與122-N中之一目標非揮發性記憶體元件122-n之前(符號「n」可代表落入區間[1, N]的任一正整數),記憶體控制器110可檢查該複數個非揮發性記憶體元件122-1、122-2、…與122-N中之另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態。例如該非忙碌狀態可為該備妥狀態,但本發明並不以此為限。當該另一非揮發性記憶體元件進入該非忙碌狀態時,記憶體控制器110可編程目標非揮發性記憶體元件122-n。例如記憶體控制器110可避免編程目標非揮發性記憶體元件122-n,直到該另一非揮發性記憶體元件進入該非忙碌狀態。在該複數個非揮發性記憶體元件122-1、122-2、…與122-N之一預定邏輯序列(predetermined logic sequence)中,該另一非揮發性記憶體元件是目標非揮發性記憶體元件122-n之一後續的(subsequent)非揮發性記憶體元件。為了便於理解,該預定邏輯序列可為{{122-1, 122-2, …, 122-N}, {122-1, 122-2, …, 122-N}, …}(其係由序列{122-1, 122-2, …, 122-N}的重複所組成),但本發明並不以此為限。當目標非揮發性記憶體元件122-n代表預定邏輯序列{{122-1, 122-2, …, 122-N}, {122-1, 122-2, …, 122-N}, …}中的某一個非揮發性記憶體元件時,在預定邏輯序列{{122-1, 122-2, …, 122-N}, {122-1, 122-2, …, 122-N}, …}當中,該另一非揮發性記憶體元件係位於這個非揮發性記憶體元件之後。例如:在該預定邏輯序列中,該另一非揮發性記憶體元件可以是目標非揮發性記憶體元件122-n的下一個非揮發性記憶體元件,諸如非揮發性記憶體元件122-(n + 1)或非揮發性記憶體元件122-(n + 1 - N),其中,若n < N,則該下一個非揮發性記憶體元件代表非揮發性記憶體元件122-(n + 1),否則(這表示n = N),該下一個非揮發性記憶體元件代表非揮發性記憶體元件122-(n + 1 - N)(亦即122-1,當n = N)。此狀況下,在該複數個非揮發性記憶體元件122-1、122-2、…與122-N中,同時處於該忙碌狀態的非揮發性記憶體元件的數量之最大值可等於該複數個非揮發性記憶體元件122-1、122-2、…與122-N的總數減一。另外,該預定邏輯序列可以指出可應用於(applicable to)該複數個非揮發性記憶體元件122-1、122-2、…與122-N之編程運作的順序。因應來自記憶裝置100以外的至少一請求(request),記憶體控制器110可依據該預定邏輯序列輪流編程該複數個非揮發性記憶體元件122-1、122-2、…與122-N。例如:上述至少一請求可代表主裝置200傳送至記憶裝置100之至少一寫入指令。因應上述至少一寫入指令,記憶裝置100可對該複數個非揮發性記憶體元件122-1、122-2、…與122-N進行一系列編程運作,以在避免相關技術的問題(例如:瞬間功耗(instantaneous power consumption)超過預定的產品規格)的狀況下儘快地將一系列資料儲存進入非揮發性記憶體120。基於方法200,記憶體控制器110可管理該系列編程運作,以在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置100之最佳化效能。
依據某些實施例,記憶體控制器110可同時編程該複數個非揮發性記憶體元件122-1、122-2、…與122-N中之一組非揮發性記憶體元件、且使該組非揮發性記憶體元件的數量小於或等於一預定非揮發性記憶體元件數(predetermined NV memory element count),其中該預定非揮發性記憶體元件數小於該複數個非揮發性記憶體元件122-1、122-2、…與122-N的總數。例如:於檢查該另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態之運作的期間,目標非揮發性記憶體元件122-n尚未被選擇成為該組非揮發性記憶體元件中之一非揮發性記憶體元件。當該另一非揮發性記憶體元件進入該非忙碌狀態時,記憶體控制器110可選擇目標非揮發性記憶體元件122-n成為該組非揮發性記憶體元件中之該非揮發性記憶體元件。又例如:於檢查該另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態之運作被進行之前,該另一非揮發性記憶體元件已被選擇成為該組非揮發性記憶體元件的其中之一。當該另一非揮發性記憶體元件進入該非忙碌狀態時,該另一非揮發性記憶體元件就不是該組非揮發性記憶體元件的其中之一。
第5圖繪示於一實施例中之晶片致能(chip-enable, CE)控制方案,而該晶片致能控制方案可應用於第3圖所示方法300與第4圖所示方法320。假設N = 4,但本發明並不限於此。此狀況下,該複數個非揮發性記憶體元件122-1、122-2、…與122-N可代表四個非揮發性記憶體元件122-1、122-2、122-3與122-4。記憶體控制器110可控制晶片致能訊號CE1、CE2、CE3、CE4各自的狀態,來分別致能(enable)或禁能(disable)這四個非揮發性記憶體元件122-1、122-2、122-3與122-4。例如:當晶片致能訊號CE1、CE2、CE3、CE4中之任一晶片致能訊號處於一低電壓位準時,這個晶片致能訊號所控制的非揮發性記憶體元件可處於該忙碌狀態。又例如:當晶片致能訊號CE1、CE2、CE3、CE4中之任一晶片致能訊號處於一高電壓位準時,這個晶片致能訊號所控制的非揮發性記憶體元件可處於該非忙碌狀態,諸如該備妥狀態。當需要時,記憶體控制器110可輪詢(poll)晶片致能訊號CE1、CE2、CE3、CE4中之任一晶片致能訊號,以得知這個晶片致能訊號所控制的非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態。依據本實施例,記憶體控制器110可控制晶片致能訊號CE1、CE2、CE3、CE4同時處於該低電壓位準,但本發明並不限於此。
第6圖繪示於一實施例中之功耗(power consumption)控制方案,而該功耗控制方案可應用於第3圖所示方法300與第4圖所示方法320。第6圖所示之橫軸代表時間。非揮發性記憶體元件122-1、122-2、122-3與122-4各自的功耗PWR1、PWR2、PWR3、PWR4可分別以各種不同的陰影來呈現,其中重度陰影部分可代表編程運作所導致的高功耗,輕度陰影部分可代表非編程運作所導致的低功耗,且非陰影部分可代表沒有功耗或是極低的功耗。如第6圖上半部所示,假設同時編程非揮發性記憶體元件122-1、122-2、122-3與122-4可造成記憶裝置100的功耗超過一預定功率限制(power limitation)。如第6圖下半部所示,記憶體控制器110可基於方法300進行編程管理,以避免這樣的問題,其中指向某些重度陰影部分尾端的箭頭可指出記憶體控制器110能達到記憶裝置100之最佳化效能。
依據本實施例,記憶體控制器110可控制在非揮發性記憶體元件122-1、122-2、122-3與122-4當中同時處於該忙碌狀態的非揮發性記憶體元件的數量。例如:在非揮發性記憶體元件122-1、122-2、122-3與122-4中,同時處於該忙碌狀態的非揮發性記憶體元件的數量之最大值可等於非揮發性記憶體元件122-1、122-2、122-3與122-4的總數減一,亦即3,其中該預定邏輯序列可為{{122-1, 122-2, 122-3, 122-4}, {122-1, 122-2, 122-3, 122-4}, …},但本發明並不以此為限。於是,記憶體控制器110可將非揮發性記憶體元件122-1、122-2、122-3與122-4當中同時被編程的非揮發性記憶體元件的數量維持為不超過該預定非揮發性記憶體元件數,以控制記憶裝置100的功耗於該預定功率限制以內。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
116‧‧‧緩衝記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
122-1,122-2, …,122-N‧‧‧非揮發性記憶體元件
200‧‧‧主裝置
300,320‧‧‧用來於記憶裝置中進行編程管理之方法
302,322‧‧‧選取記憶體元件之步驟
304‧‧‧記錄記憶體元件的選取順序之步驟
306‧‧‧判斷預設選取間隔的記憶體元件是否已完成編程之步驟
308,328‧‧‧等待之步驟
310,330‧‧‧開始記憶體元件的編程之步驟
324‧‧‧判斷其它記憶體元件的狀態之步驟
326‧‧‧判斷處於忙錄狀態的記憶體元件的總數是否小於預設值之步驟
CE1,CE2,CE3,CE4‧‧‧晶片致能訊號
PWR1,PWR2,PWR3,PWR4‧‧‧功耗
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
116‧‧‧緩衝記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
122-1,122-2, …,122-N‧‧‧非揮發性記憶體元件
200‧‧‧主裝置
300,320‧‧‧用來於記憶裝置中進行編程管理之方法
302,322‧‧‧選取記憶體元件之步驟
304‧‧‧記錄記憶體元件的選取順序之步驟
306‧‧‧判斷預設選取間隔的記憶體元件是否已完成編程之步驟
308,328‧‧‧等待之步驟
310,330‧‧‧開始記憶體元件的編程之步驟
324‧‧‧判斷其它記憶體元件的狀態之步驟
326‧‧‧判斷處於忙錄狀態的記憶體元件的總數是否小於預設值之步驟
CE1,CE2,CE3,CE4‧‧‧晶片致能訊號
PWR1,PWR2,PWR3,PWR4‧‧‧功耗
第1圖為依據本發明一第一實施例之一種記憶裝置與一主裝置(host device)的示意圖。 第2A圖繪示一快閃晶片(Flash chip)的一區塊當中之一局部頁位址鏈結表(local page address linking table)。 第2B圖比較第2A圖所示之局部頁位址鏈結表的一維陣列示例與二維陣列示例。 第3圖為依據本發明一實施例之一種用來於一記憶裝置中進行編程(programming)管理之方法的流程圖。 第4圖為依據本發明另一實施例之一種用來於一記憶裝置中進行編程管理之方法的流程圖。 第5圖繪示於一實施例中之晶片致能(chip-enable, CE)控制方案,其中該晶片致能控制方案可應用於第3圖所示方法與第4圖所示方法。 第6圖繪示於一實施例中之功耗(power consumption)控制方案,其中該功耗控制方案可應用於第3圖所示方法與第4圖所示方法。
Claims (20)
- 一種用來於一記憶裝置中進行編程(programming)管理之方法,該記憶裝置包含一非揮發性記憶體(non-volatile memory, NV memory),該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element),該方法包含有: 於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及 當該另一非揮發性記憶體元件進入該非忙碌狀態時,編程該目標非揮發性記憶體元件。
- 如申請專利範圍第1項所述之方法,其另包含: 避免編程該目標非揮發性記憶體元件,直到該另一非揮發性記憶體元件進入該非忙碌狀態。
- 如申請專利範圍第1項所述之方法,其中該複數個非揮發性記憶體元件分別為代表複數個快閃記憶體裸晶(Flash memory die)。
- 如申請專利範圍第1項所述之方法,其中,在該複數個非揮發性記憶體元件之一預定邏輯序列(predetermined logic sequence)中,該另一非揮發性記憶體元件是該目標非揮發性記憶體元件之一後續的(subsequent)非揮發性記憶體元件。
- 如申請專利範圍第4項所述之方法,其中,在該預定邏輯序列中,該另一非揮發性記憶體元件是該目標非揮發性記憶體元件的下一個非揮發性記憶體元件。
- 如申請專利範圍第5項所述之方法,其中在該複數個非揮發性記憶體元件中,同時處於該忙碌狀態的非揮發性記憶體元件的數量之最大值等於該複數個非揮發性記憶體元件的總數減一。
- 如申請專利範圍第4項所述之方法,其中該預定邏輯序列指出可應用於(applicable to)該複數個非揮發性記憶體元件之編程運作的順序;以及該方法另包含: 因應來自該記憶裝置以外的至少一請求(request),依據該預定邏輯序列輪流編程該複數個非揮發性記憶體元件。
- 如申請專利範圍第1項所述之方法,其另包含: 同時編程該複數個非揮發性記憶體元件中之一組非揮發性記憶體元件、且使該組非揮發性記憶體元件的數量小於或等於一預定非揮發性記憶體元件數(predetermined NV memory element count),其中該預定非揮發性記憶體元件數小於該複數個非揮發性記憶體元件的總數。
- 如申請專利範圍第8項所述之方法,其中,於檢查該另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態之運作的期間,該目標非揮發性記憶體元件尚未被選擇成為該組非揮發性記憶體元件中之一非揮發性記憶體元件;以及該方法另包含: 當該另一非揮發性記憶體元件進入該非忙碌狀態時,選擇該目標非揮發性記憶體元件成為該組非揮發性記憶體元件中之該非揮發性記憶體元件。
- 如申請專利範圍第8項所述之方法,其中,於檢查該另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態之運作被進行之前,該另一非揮發性記憶體元件已被選擇成為該組非揮發性記憶體元件的其中之一;以及當該另一非揮發性記憶體元件進入該非忙碌狀態時,該另一非揮發性記憶體元件不是該組非揮發性記憶體元件的其中之一。
- 一種記憶裝置,包含有: 一非揮發性記憶體(non-volatile memory, NV memory),用來儲存資訊,其中該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element);以及 一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之運作,其中該控制器包含: 一處理電路,用來依據來自一主裝置(host device)的一指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體,其中: 於編程(programming)該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,該控制器檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及 當該另一非揮發性記憶體元件進入該非忙碌狀態時,該控制器編程該目標非揮發性記憶體元件。
- 如申請專利範圍第11項所述之記憶裝置,其中該控制器避免編程該目標非揮發性記憶體元件,直到該另一非揮發性記憶體元件進入該非忙碌狀態。
- 如申請專利範圍第11項所述之記憶裝置,其中該複數個非揮發性記憶體元件分別代表複數個快閃記憶體裸晶(Flash memory die)。
- 如申請專利範圍第11項所述之記憶裝置,其中,在該複數個非揮發性記憶體元件之一預定邏輯序列(predetermined logic sequence)中,該另一非揮發性記憶體元件是該目標非揮發性記憶體元件之一後續的(subsequent)非揮發性記憶體元件。
- 如申請專利範圍第14項所述之記憶裝置,其中,在該預定邏輯序列中,該另一非揮發性記憶體元件是該目標非揮發性記憶體元件的下一個非揮發性記憶體元件。
- 一種記憶裝置之控制器,該記憶裝置包含該控制器與一非揮發性記憶體(non-volatile memory, NV memory),該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element),該控制器包含有: 一處理電路,用來依據來自一主裝置(host device)的一指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體,其中: 於編程(programming)該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,該控制器檢查該複數個非揮發性記憶體元件中之另一非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及 當該另一非揮發性記憶體元件進入該非忙碌狀態時,該控制器編程該目標非揮發性記憶體元件。
- 如申請專利範圍第16項所述之控制器,其中該控制器避免編程該目標非揮發性記憶體元件,直到該另一非揮發性記憶體元件進入該非忙碌狀態。
- 如申請專利範圍第16項所述之控制器,其中該複數個非揮發性記憶體元件分別代表複數個快閃記憶體裸晶(Flash memory die)。
- 如申請專利範圍第16項所述之控制器,其中,在該複數個非揮發性記憶體元件之一預定邏輯序列(predetermined logic sequence)中,該另一非揮發性記憶體元件是該目標非揮發性記憶體元件之一後續的(subsequent)非揮發性記憶體元件。
- 如申請專利範圍第19項所述之控制器,其中,在該預定邏輯序列中,該另一非揮發性記憶體元件是該目標非揮發性記憶體元件的下一個非揮發性記憶體元件。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106124457A TWI641988B (zh) | 2017-07-21 | 2017-07-21 | 用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器 |
CN201710965790.0A CN109285574B (zh) | 2017-07-21 | 2017-10-17 | 于记忆装置中进行编程管理的方法、记忆装置及控制器 |
CN202111407494.1A CN114067867A (zh) | 2017-07-21 | 2017-10-17 | 于记忆装置中进行编程管理的方法、记忆装置及控制器 |
US15/859,709 US11069409B2 (en) | 2017-07-21 | 2018-01-01 | Method, associated memory device and controller thereof for performing programming management |
US17/351,200 US11488671B2 (en) | 2017-07-21 | 2021-06-17 | Method, associated memory device and controller thereof for performing programming management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106124457A TWI641988B (zh) | 2017-07-21 | 2017-07-21 | 用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI641988B true TWI641988B (zh) | 2018-11-21 |
TW201908958A TW201908958A (zh) | 2019-03-01 |
Family
ID=65023063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106124457A TWI641988B (zh) | 2017-07-21 | 2017-07-21 | 用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11069409B2 (zh) |
CN (2) | CN109285574B (zh) |
TW (1) | TWI641988B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200109682A (ko) * | 2019-03-14 | 2020-09-23 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 장치 및 그 동작 방법 |
TWI725434B (zh) * | 2019-05-24 | 2021-04-21 | 慧榮科技股份有限公司 | 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 |
US11362267B2 (en) * | 2019-12-19 | 2022-06-14 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device having resistance switching element surrounding top electrode and integrated circuit device including the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20110004723A1 (en) * | 2009-07-03 | 2011-01-06 | Phison Electronics Corp. | Data writing method for flash memory and control circuit and storage system using the same |
US20110093649A1 (en) * | 2009-10-16 | 2011-04-21 | Chun-Kun Lee | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof |
US20120239853A1 (en) * | 2008-06-25 | 2012-09-20 | Stec, Inc. | Solid state device with allocated flash cache |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827348B2 (en) | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
US7212440B2 (en) | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
KR101606880B1 (ko) | 2009-06-22 | 2016-03-28 | 삼성전자주식회사 | 데이터 저장 시스템 및 그것의 채널 구동 방법 |
TWI506422B (zh) * | 2009-09-23 | 2015-11-01 | Silicon Motion Inc | 用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器 |
US8595523B2 (en) * | 2010-02-12 | 2013-11-26 | Phison Electronics Corp. | Data writing method for non-volatile memory, and controller and storage system using the same |
US8310880B2 (en) | 2010-03-05 | 2012-11-13 | 248 Solid State, Inc. | Virtual channel support in a nonvolatile memory controller |
TWI466121B (zh) * | 2010-12-31 | 2014-12-21 | Silicon Motion Inc | 用來進行區塊管理之方法以及記憶裝置及控制器 |
US8954689B2 (en) * | 2011-06-30 | 2015-02-10 | Seagate Technology Llc | Limiting activity rates that impact life of a data storage media |
CN103853666B (zh) * | 2012-12-04 | 2016-12-21 | 群联电子股份有限公司 | 存储器、其存储控制器与数据写入方法 |
US9335952B2 (en) | 2013-03-01 | 2016-05-10 | Ocz Storage Solutions, Inc. | System and method for polling the status of memory devices |
US9711225B2 (en) * | 2013-10-16 | 2017-07-18 | Sandisk Technologies Llc | Regrouping and skipping cycles in non-volatile memory |
US9218283B2 (en) * | 2013-12-02 | 2015-12-22 | Sandisk Technologies Inc. | Multi-die write management |
US9582211B2 (en) | 2014-04-29 | 2017-02-28 | Sandisk Technologies Llc | Throttling command execution in non-volatile memory systems based on power usage |
US9928138B2 (en) * | 2015-02-17 | 2018-03-27 | Toshiba Memory Corporation | Memory system |
TWI556100B (zh) | 2015-10-26 | 2016-11-01 | 點序科技股份有限公司 | 快閃記憶體裝置及其交錯存取方法 |
-
2017
- 2017-07-21 TW TW106124457A patent/TWI641988B/zh active
- 2017-10-17 CN CN201710965790.0A patent/CN109285574B/zh active Active
- 2017-10-17 CN CN202111407494.1A patent/CN114067867A/zh active Pending
-
2018
- 2018-01-01 US US15/859,709 patent/US11069409B2/en active Active
-
2021
- 2021-06-17 US US17/351,200 patent/US11488671B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20120239853A1 (en) * | 2008-06-25 | 2012-09-20 | Stec, Inc. | Solid state device with allocated flash cache |
US20110004723A1 (en) * | 2009-07-03 | 2011-01-06 | Phison Electronics Corp. | Data writing method for flash memory and control circuit and storage system using the same |
US20110093649A1 (en) * | 2009-10-16 | 2011-04-21 | Chun-Kun Lee | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof |
Also Published As
Publication number | Publication date |
---|---|
TW201908958A (zh) | 2019-03-01 |
CN109285574A (zh) | 2019-01-29 |
CN114067867A (zh) | 2022-02-18 |
US20190027221A1 (en) | 2019-01-24 |
CN109285574B (zh) | 2021-12-14 |
US20210312990A1 (en) | 2021-10-07 |
US11069409B2 (en) | 2021-07-20 |
US11488671B2 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296231B2 (en) | Data-storage device and data maintenance method thereof | |
JP5002201B2 (ja) | メモリシステム | |
US9846643B2 (en) | Methods for maintaining a storage mapping table and apparatuses using the same | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
TWI660269B (zh) | 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器 | |
TWI684860B (zh) | 用來進行讀取加速之方法以及資料儲存裝置及其控制器 | |
KR20190032815A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
TWI437569B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
US10365834B2 (en) | Memory system controlling interleaving write to memory chips | |
US9852068B2 (en) | Method and apparatus for flash memory storage mapping table maintenance via DRAM transfer | |
TWI646548B (zh) | 用來於一記憶裝置中進行刷新管理之方法以及記憶裝置及其控制器 | |
CN106504788B (zh) | 具有空闲存储器件的存储系统及其操作方法 | |
TWI644215B (zh) | 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器 | |
TWI709855B (zh) | 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器 | |
TWI721246B (zh) | 資料編程之方法以及記憶裝置及其控制器 | |
TW202314519A (zh) | 刷新資料的資料儲存裝置及其操作方法 | |
TWI725434B (zh) | 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 | |
US8713242B2 (en) | Control method and allocation structure for flash memory device | |
CN115938416A (zh) | 多平面存储器装置中并行平面存取期间的余量管理 |