TWI707268B - 資料儲存裝置及其操作方法 - Google Patents
資料儲存裝置及其操作方法 Download PDFInfo
- Publication number
- TWI707268B TWI707268B TW104122645A TW104122645A TWI707268B TW I707268 B TWI707268 B TW I707268B TW 104122645 A TW104122645 A TW 104122645A TW 104122645 A TW104122645 A TW 104122645A TW I707268 B TWI707268 B TW I707268B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- write
- write operation
- available
- volatile memory
- Prior art date
Links
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種資料儲存裝置的操作方法,包含接收一寫入請求、判定是否可能執行同時以複數個位元寫入耦接於一非揮發性記憶體設備之一個字元線之每個記憶胞的一第一寫入操作、及根據一判定結果來執行用於該非揮發性記憶體設備的一垃圾收集操作,並產生第一合併資料。
Description
本說明書之各個實施例係關於一種資料儲存裝置,尤其係關於一種用於一資料儲存裝置寫入資料的方法。
本發明主張的優先權為在2014年8月26日向韓國智慧財產局提出申請的申請案,其韓國申請案號為10-2014-0111453,在此併入其全部參考內容。
一半導體記憶體設備可被使用於儲存資料。記憶體設備可被分類成非揮發性記憶體設備及揮發性記憶體設備。
該等揮發性記憶體設備當失去電源時會遺失儲存於其中的資料。該等揮發性記憶體設備包含靜態隨機存取記憶體(SRAM,Static Random Access Memory)及動態隨機存取記憶體(DRAM,Dynamic Random Access Memory)等等。一般而言,該等揮發性記憶體設備由於處理速度相對較高,因此在資料處理系統中一般用作緩衝記憶體、快取記憶體、工作記憶體或類似物。
相反的,該等非揮發性記憶體設備即使無電源時仍會維持儲存於其中的資料。該等非揮發性記憶體設備包含快閃記憶體,如反及(NAND)快閃或反或(NOR)快閃、鐵電隨機存取記憶體(FeRAM,Ferroelectrics Random Access Memory)、相變隨機存取記憶體(PCRAM,Phase-Change Random Access Memory)、
磁阻隨機存取記憶體(MRAM,Magnetoresistive Random Access Memory)、電阻隨機存取記憶體(ReRAM,Resistive Random Access Memory)或類似物。
於本發明之一實施例中,一種資料儲存裝置的操作方法可包括當一寫入請求被接收時,判定一第一寫入操作是否可用,其中該第一寫入操作係同時以多個位元寫入耦接於一非揮發性記憶體設備之一個字元線的每個記憶胞中;及當判定該第一寫入操作不可用時,產生用於該非揮發性記憶體設備的第一合併資料。
於本發明之一實施例中,一種資料儲存裝置可包括:一控制器,適用於判定用於對應於一寫入請求之寫入資料的一第一寫入操作是否可用,並根據一判定結果來執行一垃圾收集操作;及一非揮發性記憶體設備,適用於在該控制器的控制下執行該第一寫入操作。該第一寫入操作係同時以多個位元寫入耦接於一個字元線的每個記憶胞來被執行。
於本發明之一實施例中,一種資料儲存裝置之操作方法可包括:接收一寫入請求;判定對應於該寫入請求的寫入資料之一長度是否可用於一單次編程操作;當該寫入資料之長度被判定不可用於該單次編程操作時,在一非揮發性記憶體設備上執行一垃圾收集操作,以產生第一合併資料;及在該非揮發性記憶體設備上執行用於該寫入資料的單次編程操作。
根據本發明之實施例,一資料儲存裝置可同時在每一個記憶胞儲存複數位元。
10:資料儲存裝置
100:控制器
110:處理器
120:記憶體
200:非揮發性記憶體設備
210:控制邏輯
220:介面單元
230:位址解碼器
240:資料輸入/輸出單元
250:記憶體區域
BL:位元線
D1:第一分布
D2:第二分布
D3:第三分布
D4:第四分布
LSB:最低有效位元
MSB:最高有效位元
P1:第一頁面
P2:第二頁面
P3:第三頁面
P4:第四頁面
Vth:臨界電壓
WL:字元線
WL1:第一字元線
WL2:第二字元線
S110~S160:步驟
S210~S220:步驟
S310~S380:步驟
S410~S460:步驟
〔圖1〕係例示根據本發明之一實施例之一資料儲存裝置的一方塊圖。
〔圖2〕係例示如圖1所示之一記憶體區域的一詳細圖式。
〔圖3〕係例示記憶胞之一臨界電壓分布的一圖式。
〔圖4〕係當執行一第一寫入操作時用於說明該等記憶胞之一臨界電壓分布之一變化的一圖式。
〔圖5〕係用於說明例示如圖1所示之資料儲存裝置之一操作方法的一流程圖。
〔圖6〕係用於說明藉由執行用於一非揮發性記憶體設備的一垃圾收集操作所產生之第一合併資料之一程序的一流程圖。
〔圖7〕係用於說明如圖1所示之資料儲存裝置之一操作方法的一流程圖。
〔圖8〕係用於說明如圖1所示之資料儲存裝置之一操作方法的一流程圖。
於下文中,一資料儲存裝置及其之一操作方法將會透過實施例之例子並參照所附圖式說明於下。本說明書所稱之所有「實施例」代稱本發明說明如下的複數實施例。該等實施例僅為例子且並非企圖限制本發明。而是,該等實施例被提供,使得本說明書將會周密且完全,並且將完整地傳達本發明之範圍至本發明所屬技術領域中具有通常知識者。通篇說明書中,元件符號直接對應於本發明之各種圖式及實施例中相似的部件。
該等圖式並非必定按照縮尺繪製,並且在一些實施例中比例可
能被誇大以更清楚描繪本發明之某些特徵。於本說明書中,特定術語被使用。該等術語被用來說明本發明,且並非用來限定本發明之概念或限制本發明之範圍。
應注意者,本說明書中,「且/或」代表安排於「且/或」之前及之後的一個或多個元件被包含。此外,「連接/耦接」不僅可表示一個元件直接耦接另一元件,而且可表示一個元件透過一個中間元件與另一個元件非直接耦接。再者,只要在句子中並未特別提及,單數形式可包含複數形式。此外,本說明書所使用的「連接/耦接」代表一個或多個元件、步驟、操作、及元件存在或被增加。
圖1係例示根據本發明之一實施例之一資料儲存裝置10的方塊圖。
該資料儲存裝置10可儲存自一外部裝置(圖未示)所提供的資料,以回應該外部裝置之一寫入請求。而且,該資料儲存裝置10可提供所儲存的資料至該外部裝置,以回應該外部裝置之一讀取請求。該資料儲存裝置10可藉由個人電腦記憶卡國際協會(PCMCIA,Personal Computer Memory Card International Association)卡、小型快閃(CF,Compact Flash)卡、智慧媒體卡、記憶棒、以多媒體卡(MMC,multimedia card)、嵌入式多媒體卡(eMMC,Embedded MMC)、縮尺多媒體卡(RS-MMC,Reduced-size multimedia card)、微型尺寸版本多媒體卡(MMCmicro,Micro-size version of MMC)格式的多媒體卡、安全數位(SD,Secure Digital)、迷你安全數位(miniSD,mini secure digital)、及微型安全數位(microSD,micro secure digital)格式的安全數位卡、通用快閃儲存體(UFS,universal flash storage)、或固態硬碟(SSD,solid state drive)來配置。
該資料儲存裝置10可包含一控制器100及一非揮發性記憶體設備200。
該控制器100可包含一處理器110及一記憶體120。
該處理器110可控制該資料儲存裝置10之一般操作。該處理器110可在該記憶體120上驅動用於控制該資料儲存裝置10之操作的一軟體程式。該處理器110可控制該非揮發性記憶體設備200來執行第一寫入操作及第二寫入操作。該第一寫入操作可被執行同時以多位元寫入耦接於該非揮發性記憶體設備200的被選擇之字元線的每個記憶胞。該第一寫入操作可被稱為一單次(one-shot)程式操作。該第二寫入操作可被執行以單個位元寫入耦接於該非揮發性記憶體設備200的被選擇之字元線的每個記憶胞。
該記憶體120可作用為該處理器110之一工作記憶體、一緩衝記憶體、或一快取記憶體。亦即該記憶體120可儲存一軟體程式或韌體,且藉由該處理器110所驅動的各種程式資料作為工作記憶體。該記憶體120可緩衝在該外部裝置及該非揮發性記憶體設備200之間傳輸的資料,作為緩衝記憶體。
該非揮發性記憶體設備200可包含控制邏輯210、一介面單元220、一位址解碼器230、一資料輸入/輸出單元240、及一記憶體區域250。
該控制邏輯210可控制該非揮發性記憶體設備200之一般操作,例如一寫入操作(亦即一編程操作、一讀取操作、及一抹除操作),以回應自該控制器100所提供的一指令。
該介面單元220可與該控制器100交換各種控制訊號,包括一指令、一位址及資料。該介面單元220可將各種控制訊號及該資料傳輸至該非揮發性記憶體設備200之內部單元。
該位址解碼器230可解碼被傳輸至其中的一列位址及一行位址。該位址解碼器230可根據所解碼的列位址來控制將被選擇性驅動的字元線。該位址解碼器230可控制該資料輸入/輸出單元240,使得位元線BL根據所解碼的行位址來被選擇性驅動。
該資料輸入/輸出單元240可透過該等位元線BL而將由該介面單元220所傳輸的資料傳輸至該記憶體區域250。該資料輸入/輸出單元240可傳輸將透過該等位元線BL而自該記憶體區域250所讀取的資料傳輸至該介面單元220。
該記憶體區域250可透過該等字元線WL而與該位址解碼器230電耦接,且可透過該等位元線BL與該資料輸入/輸出單元240電耦接。該記憶體區域250可包含例如用三維(3D,three-dimensional)架構的一記憶胞陣列。
該記憶體區域250可包含複數記憶胞(圖未示),其被設置於該等字元線WL與該等位元線BL彼此交叉的個別區域。該等記憶胞可根據儲存於各該記憶胞的資料位元數目來區分。例如,該等記憶胞可被分類成每個皆儲存一個位元的單階記憶胞(SLC,single level cell)及每個皆儲存至少多個位元(例如兩個位元)的多階記憶胞(MLC,multi-level cell)。
圖2係如圖1所示之記憶體區域250的一詳細圖式。圖2顯示位址藉由該記憶體區域250之一頁面之單元來分配的一狀態。
該記憶體區域250可包含第一頁面P1至第四頁面P4。雖然如圖2所示之四個頁面作為一個例子,應注意者,該等頁面之數量並不限於四個頁面。該第一頁面P1至第四頁面P4可被以對應位址來分配以被個別讀取。
該第一頁面P1與該第二頁面P2可分享一第一字元線WL1。該
第一頁面P1與該第二頁面P2可藉由驅動該第一字元線WL1來被個別存取。該第三頁面P3與該第四頁面P4可分享一第二字元線WL2。該第三頁面P3與該第四頁面P4可藉由驅動該第二字元線WL2來被個別存取。雖然如圖2所示,兩個頁面分享一個字元線,分享一個字元線之頁面數量並不限於兩個頁面。如稍後將說明的,分享一個字元線之頁面數量可根據被儲存於各該記憶胞的位元數量來判定。
該第一頁面P1至第四頁面P4不僅可由物理區域形成,而且可由邏輯區域形成。各該第一頁面P1至第四頁面P4可視為由耦接至對應的字元線之記憶胞所儲存的資料位元來形成。各該第一頁面P1至第四頁面P4可視為儲存由耦接至對應的字元線之記憶胞所儲存的資料位元。
當記憶胞為每個儲存兩個位元的多階記憶胞時,該等記憶胞可儲存一最低有效位元LSB(LSB,least significant bit)及一最高有效位元MSB(MSB,most significant bit)。儲存於該記憶胞中的最低有效位元及最高有效位元可個別形成一個LSB頁面及一個MSB頁面。例如,當儲存於耦接至該第一字元線WL1之記憶胞中的最低有效位元LSB儲存於該第一頁面P1時,該第一頁面P1可為LSB頁面,並且當儲存於耦接至該第一字元線WL1之記憶胞中的最高有效位元MSB儲存於該第二頁面P2時,該第二頁面P2可為MSB頁面。此外,當儲存於耦接至該第二字元線WL2之記憶胞中的最低有效位元LSB儲存於該第三頁面P3時,該第三頁面P3可為LSB頁面,並且當儲存於耦接至該第二字元線WL2之記憶胞中的最高有效位元MSB儲存於該第四頁面P4時,該第四頁面P4可為MSB頁面。
圖3係顯示記憶胞之一臨界電壓分布的一圖式。該臨界電壓分
布可被描繪於一圖表上,其中該平行軸代表一臨界電壓(Vth)之位準並且該垂直軸代表記憶胞之數量。於圖3中,假設各該記憶胞皆儲存兩個位元。
在一個記憶胞中寫入資料之操作可藉由將一偏移電壓施加於該記憶胞來執行,使得對應的記憶胞具有一預定範圍之一臨界電壓。該記憶胞可根據儲存於其中的資料來具有該預定範圍之臨界電壓。例如,用於儲存「11」的記憶胞可具有形成一第一分布D1的一臨界電壓。用於儲存「01」的記憶胞可具有形成一第二分布D2的一臨界電壓。用於儲存「00」的記憶胞可具有形成一第三分布D3的一臨界電壓。用於儲存「10」的記憶胞可具有形成一第四分布D4的一臨界電壓。
圖4係當執行一第一寫入操作(亦即一單次編程操作)時用於說明記憶胞之臨界電壓分布之一變化的一圖式。
該非揮發性記憶體設備200可執行該第一寫入操作,以在該控制器100的控制下同時將多個位元寫入至各該記憶胞中。該非揮發性記憶體設備200可執行用於耦接至所選擇之一個字元線之記憶胞的第一寫入操作。該非揮發性記憶體設備200可執行該第一寫入操作,以同時將資料儲存於分享該字元線的多個頁面。
於圖4中,各該記憶胞儲存兩個位元。被編程的記憶胞必須在被編程前先被抹除。在該第一寫入操作被執行之前,該等記憶胞存在於一抹除狀態中。於該抹除狀態中的記憶胞可儲存「11」,且因此可形成該第一分布D1。
若該第一寫入操作被執行,則一記憶胞之臨界電壓可對應於四個臨界電壓分布D1、D2、D3及D4中之任一者。在執行該第一寫入操作上的一記憶胞可儲存該最低有效位元LSB及該最高有效位元MSB。
圖5係用於說明如圖1所示之資料儲存裝置10之一操作方法的一流程圖。
該控制器100可藉由該第一寫入操作之一效能單元而透過該程序來將用於執行該第一寫入操作(亦即一單次編程操作)的資料提供至該非揮發性記憶體設備200。該第一寫入操作之效能單元可為對應於分享一個字元線之頁面的位元數量。該第一寫入操作之效能單元可為需要同時以多個位元寫入耦接於一個字元線之每個記憶胞的位元數量。
於步驟S110中,一寫入請求可被接收。該資料儲存裝置10可自該外部裝置接收與該寫入請求一起的寫入資料。
於步驟S120中,將可判定是否可能執行用於該寫入資料的第一寫入操作。亦即,其操作係判定對應於該寫入請求之寫入資料長度是否可用於一單次編程。例如,該處理器110可基於該寫入資料是否符合該第一寫入操作之效能單元,而判定是否可能執行該第一寫入操作。該處理器110可比較該寫入資料之大小或長度與該第一寫入操作之效能單元(亦即一參考值),而且該處理器110可基於一比較結果,而判定是否可能執行該第一寫入操作。當該寫入資料之大小為等於或大於該參考值時,該處理器110可判定可能執行用於該寫入資料之第一寫入操作。當該寫入資料之大小為小於該參考值時,該處理器110可判定不可能執行用於該寫入資料之第一寫入操作。
當判定可能執行該第一寫入操作(是)時,該程序可進行至步驟S160。
於步驟S160中,該第一寫入操作可為了該寫入資料而執行。該非揮發性記憶體設備200可同時以多個位元寫入耦接至一個字元線的每個記憶
胞中,並儲存在該處理器110之控制下的寫入資料。然後,該程序可結束。
於步驟S120中,當判定不可能執行該第一寫入操作(否)時,該程序可進行至步驟S130。
於步驟S130中,當用於該非揮發性記憶體設備200之一垃圾收集操作被執行時,第一合併資料可被產生。該處理器110可執行該垃圾收集操作以收集儲存於該非揮發性記憶體設備200的有效資料,且可藉由將所收集的有效資料增加至該寫入資料而產生該第一合併資料。
於步驟S140中,將可判定是否可能執行用於該第一合併資料的第一寫入操作。例如,該處理器110可基於該第一合併資料是否符合該第一寫入操作之效能單元,而判定是否可能執行該第一寫入操作。該處理器110可比較該第一合併資料之大小與一參考值,且可基於一比較結果,而判定是否可能執行該第一寫入操作。當該第一合併資料之大小為等於或大於該參考值時,該處理器110可判定可能執行用於該第一合併資料之第一寫入操作。當該第一合併資料之大小為小於該參考值時,該處理器110可判定不可能執行用於該寫入資料之第一寫入操作。
當判定可能執行該第一寫入操作(是)時,該程序可進行至步驟S160。
於步驟S160中,該第一寫入操作可為了該寫入資料而執行。為了儲存在該處理器110之控制下的第一合併資料,該非揮發性記憶體設備200可同時以多個位元寫入耦接至一個字元線的個別之記憶胞中。然後,該程序可結束。
於步驟S140中,當判定不可能執行該第一寫入操作(否)時,該
程序可進行至步驟S150。
於步驟S150中,第二合併資料可被產生。該處理器110可藉由將虛擬資料增加至該第一合併資料而產生該第二合併資料。該處理器110可產生當與該第一合併資料比較時藉由將該虛擬資料增加至該第一合併資料而具有增加大小之第二合併資料。該處理器110可將該虛擬資料增加至該第一合併資料,使得該第二合併資料符合該第一寫入操作之效能單元。
於步驟S160中,該第一寫入操作可為了該第二合併資料而執行。為了儲存在該處理器110之控制下的第二合併資料,該非揮發性記憶體設備200可同時以多個位元寫入耦接至一個字元線的記憶胞中。
亦即,當該寫入資料不符合該第一寫入操作之效能單元時,該控制器100可藉由將該有效資料或該虛擬資料增加至該寫入資料來產生符合該第一寫入操作之效能單元的合併資料,並且該控制器100可將該合併資料提供至該非揮發性記憶體設備200。
圖6係用於說明藉由執行用於該非揮發性記憶體設備200的一垃圾收集操作所產生之第一合併資料之一程序的流程圖。如圖6所示之程序可對應於圖5之步驟S130。
於步驟S210中,可判定一犧牲記憶體區塊(victim memory block)是否存在於該記憶體區域250。該犧牲記憶體區塊可基於儲存有效資料之有效頁面及儲存無效資料之無效頁面的配置比例而被判定。該犧牲記憶體區塊可基於用於複製有效頁面的一成本(cost)是否等於或小於一預定值而被判定。當該犧牲記憶體區塊存在(是)時,該程序可進行至步驟S220。
於步驟S220中,包含於該犧牲記憶體區塊的有效頁面可被收集
及被增加至該寫入資料。藉由將該所收集的有效頁面增加至該寫入資料,該處理器110可產生當與該寫入資料比較時具有一增加大小的第一合併資料。然後,該程序可進行至步驟S140。
於步驟S210中,當該犧牲記憶體區塊不存在(否)時,該程序可進行至步驟S140。當該犧牲記憶體區塊不存在作為執行該垃圾收集操作之結果時,該處理器110可不收集增加至該寫入資料的一有效頁面。然後,該處理器110可產生實質相同於該寫入資料的第一合併資料,而無須將一有效頁面增加至該寫入資料。
圖7係用於說明如圖1所示之資料儲存裝置10之一操作方法的一流程圖。除了步驟S330及步驟S340之外,如圖7所示之程序可實質相同於圖5所示之程序。也就是,如圖7所示之個別步驟S310、S320、S350、S360、S370及S380可實質相同於如圖5所示之個別步驟S110、S120、S130、S140、S150及S160。因此,該步驟S330及S340將主要說明如下。
於步驟S320中,當判定不可能執行用於該寫入資料的第一寫入操作(否)時,該程序可進行至步驟S330。
於步驟S330中,預合併資料可被產生。該處理器110可藉由將被快取於該記憶體120中的快取資料增加至該寫入資料而產生該預合併資料。藉由將該快取資料增加至該寫入資料,該處理器110可產生當與該寫入資料比較時具有一增加大小之預合併資料。
於步驟S340中,將可判定是否可能執行用於該預合併資料的第一寫入操作。例如,該處理器110可基於該預合併資料是否符合該第一寫入操作之效能單元,而判定是否可能執行該第一寫入操作。該處理器110可比較該
預合併資料之大小與一參考值,且可基於一比較結果,而判定是否可能執行該第一寫入操作。當該預合併資料之大小等於或大於該參考值時,該處理器110可判定可能執行用於該預合併資料之第一寫入操作。當該預合併資料之大小為小於該參考值時,該處理器110可判定不可能執行用於該預合併資料之第一寫入操作。
當判定可能執行該第一寫入操作(是)時,該程序可進行至步驟S380。
當判定不可能執行該第一寫入操作(否)時,該程序可進行至步驟S350。於步驟S350中,該處理器110可藉由將由執行用於該非揮發性記憶體設備200的垃圾收集操作所收集之有效資料增加至該預合併資料而產生該第一合併資料。
總結這些,當該寫入資料不符合該第一寫入操作之效能單元時,該控制器100可藉由將該快取資料增加至該寫入資料而產生符合該第一寫入操作之效能單元的合併資料,並將該合併資料提供至該非揮發性記憶體設備200。
圖8係用於說明如圖1所示之資料儲存裝置10之一操作方法的一流程圖。
如圖8所示之個別步驟S410、S420、S430、S440及S450可實質相似於如圖5所示之個別步驟S110、S120、S130、S140及S160。因此,其之詳細說明可省略。
於步驟S440中,當判定不可能執行用於該第一合併資料的第一寫入操作(否)時,該程序可進行至步驟S460。
於步驟S460中,該第一合併資料可被儲存於該非揮發性記憶體
設備200之緩衝記憶體區域中。例如,當實質相同於該寫入資料的第一合併資料產生為增加至該寫入資料的一有效頁面時,即使該垃圾收集操作執行但該有效頁面並未被收集,或當該第一合併資料不符合該第一寫入操作之效能單元時,該非揮發性記憶體設備200可將該第一合併資料儲存於分離的緩衝記憶體區域(圖未示)中。該緩衝記憶體區域之每個記憶胞皆可為儲存一個位元的一個單階記憶胞或僅儲存一最低有效位元的一個多階記憶胞。該非揮發性記憶體設備200可透過該第二寫入操作來將該第一合併資料儲存於該緩衝記憶體區域中。該第二寫入操作可被執行來以一個位元寫入耦接至一個位元線的每個記憶胞中。儲存於該緩衝記憶體區域的資料可增加至其他資料作為隨後執行該垃圾收集操作的結果,且從而透過該第一寫入操作而被儲存於該記憶體區域250中。然後,該程序可結束。
雖然各種實施例已說明如上,本發明所屬技術領域之具有通常知識者將了解該等實施例僅以例子的方式來說明。因此,本文所述之資料儲存裝置及其操作方法不應基於所說明之實施例而被限制。
此外,應注意者,藉由本發明所屬技術領域之具有通常知識者在不脫離本發明由下面的申請專利範圍所定義之範圍下,本發明可透過替換、改變、及調整而以各種方式來被達成。
S110~S160:步驟
Claims (18)
- 一種資料儲存裝置的操作方法,包括:當一寫入請求被接收時,判定一第一寫入操作是否可用,其中該第一寫入操作係同時以多個位元寫入耦接於一非揮發性記憶體設備之一個字元線的每個記憶胞中;及當判定該第一寫入操作不可用時,藉由合併以一垃圾收集操作收集的資料以及對應於該寫入請求的寫入資料來產生第一合併資料,其中該第一寫入操作是否可用之判定包括:比較該寫入資料之大小及一參考值;及基於一比較結果而判定用於該寫入資料的第一寫入操作是否可用。
- 如請求項1所述之操作方法,其中該第一合併資料之產生包含:在該非揮發性記憶體設備上執行該垃圾收集操作。
- 如請求項1所述之操作方法,其中該參考值係為對應於分享一個字元線之頁面的位元數量。
- 如請求項1所述之操作方法,更包括:在該非揮發性記憶體設備上根據所判定的寫入操作可用性結果來執行用於該寫入資料的第一寫入操作。
- 如請求項1所述之操作方法,其中該第一寫入操作是否可用之判定更包括:根據所判定的寫入操作可用性結果,將在一記憶體中所快取的快取資料增加至該寫入資料,以產生預合併資料;比較該預合併資料之大小與該參考值;及 基於一比較結果而第二次判定用於該預合併資料的第一寫入操作是否可用。
- 如請求項2所述之操作方法,其中該第一合併資料之產生包括:將該垃圾收集操作之一結果所收集的有效資料增加至對應於該寫入請求的寫入資料。
- 如請求項2所述之操作方法,更包括:額外判定用於該第一合併資料的第一寫入操作是否可用。
- 如請求項7所述之操作方法,更包括:根據該額外判定之一結果來執行用於該第一合併資料的第一寫入操作。
- 如請求項7所述之操作方法,更包括:當判定用於該第一合併資料的第一寫入操作不可用時,將虛擬資料增加至該第一合併資料,且產生第二合併資料;及執行用於該第二合併資料的第一寫入操作。
- 如請求項7所述之操作方法,更包括:當判定用於該第一合併資料的第一寫入操作不可用時,透過一第二寫入操作來將該第一合併資料儲存至該非揮發性記憶體設備之一緩衝記憶體區域中;及其中該第二寫入操作係以一個位元寫入耦接於該非揮發性記憶體設備之一個字元線的每個記憶胞來被執行。
- 一種資料儲存裝置,包括: 一控制器,適用於判定用於對應於一寫入請求之寫入資料的一第一寫入操作是否可用,並根據一判定結果來合併由一垃圾收集操作收集的資料以及該寫入資料以產生第一合併資料;及一非揮發性記憶體設備,適用於在該控制器的控制下執行該第一寫入操作,其中該第一寫入操作係同時以多個位元寫入耦接於一個字元線的每個記憶胞來被執行,其中該控制器比較該寫入資料之大小與一參考值,並且基於一比較結果而判定用於該寫入資料的第一寫入操作是否可用。
- 如請求項11所述之資料儲存裝置,其中該參考值係為對應於分享一個字元線之頁面的位元數量。
- 如請求項11所述之資料儲存裝置,其中該控制器包括適用於儲存快取資料的一記憶體,且判定用於預合併資料的第一寫入操作是否可用,該預合併資料係根據該判定結果而藉由將該快取資料增加至該寫入資料所產生。
- 如請求項11所述之資料儲存裝置,其中該控制器判定用於該第一合併資料的第一寫入操作是否可用,該第一合併資料係藉由將該垃圾收集操作所收集之有效資料增加至該寫入資料所產生。
- 如請求項14所述之資料儲存裝置,其中當判定用於該第一合併資料的第一寫入操作不可用時,該控制器藉由將虛擬資料增加至該第一合併資料而產生第二合併資料。
- 如請求項15所述之資料儲存裝置,其中該第二合併資料符合該第一寫入操作之一效能單元。
- 如請求項14所述之資料儲存裝置,其中該非揮發性記憶體設備包括一緩衝記憶體區域,適用於當判定用於該第一合併資料的第一寫入操作不可用時,藉由一第二寫入操作來儲存該第一合併資料;及其中該第二寫入操作係以一個位元寫入耦接於一個字元線的每個記憶胞中來被執行。
- 一種資料儲存裝置之操作方法,包括:接收一寫入請求;藉由比較該寫入資料的大小以及一參考值來判定對應於該寫入請求的寫入資料之一長度是否可用於一單次編程操作;當該寫入資料之長度被判定不可用於該單次編程操作時,在一非揮發性記憶體設備上執行一垃圾收集操作,藉由合併該垃圾收集操作所收集的資料以及該寫入資料來產生第一合併資料,對該非揮發性記憶體設備上的第一合併資料執行該單次編程操作;及當該寫入資料的大小被判定為可用於該單次編程操作時,在該非揮發性記憶體設備上執行用於該寫入資料的單次編程操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140111453A KR20160024550A (ko) | 2014-08-26 | 2014-08-26 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2014-0111453 | 2014-08-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201608468A TW201608468A (zh) | 2016-03-01 |
TWI707268B true TWI707268B (zh) | 2020-10-11 |
Family
ID=55402640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104122645A TWI707268B (zh) | 2014-08-26 | 2015-07-13 | 資料儲存裝置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9424183B2 (zh) |
KR (1) | KR20160024550A (zh) |
CN (1) | CN105390155B (zh) |
TW (1) | TWI707268B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US10048876B2 (en) * | 2015-09-10 | 2018-08-14 | Western Digital Technologies, Inc. | Method for providing nonvolatile storage write bandwidth using a caching namespace |
US10108350B2 (en) * | 2015-09-10 | 2018-10-23 | Western Digital Technologies, Inc. | Method for providing nonvolatile storage write bandwidth using a caching namespace |
CN110837339B (zh) * | 2018-08-17 | 2023-07-04 | 群联电子股份有限公司 | 数据整并方法、存储器存储装置及存储器控制电路单元 |
KR102586786B1 (ko) * | 2018-09-28 | 2023-10-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200073604A (ko) * | 2018-12-14 | 2020-06-24 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080034174A1 (en) * | 2006-08-04 | 2008-02-07 | Shai Traister | Non-volatile memory storage systems for phased garbage collection |
US20100325351A1 (en) * | 2009-06-12 | 2010-12-23 | Bennett Jon C R | Memory system having persistent garbage collection |
US20110320733A1 (en) * | 2010-06-04 | 2011-12-29 | Steven Ted Sanford | Cache management and acceleration of storage media |
US20120005405A1 (en) * | 2010-06-30 | 2012-01-05 | William Wu | Pre-Emptive Garbage Collection of Memory Blocks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109441A1 (ja) * | 2004-05-11 | 2005-11-17 | Spansion Llc | 半導体装置および書き込み方法 |
KR101938210B1 (ko) | 2012-04-18 | 2019-01-15 | 삼성전자주식회사 | 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
KR102020818B1 (ko) | 2012-07-02 | 2019-09-16 | 삼성전자주식회사 | 3차원 불휘발성 메모리 및 3차원 불휘발성 메모리를 포함하는 메모리 시스템 및의 프로그램 방법 |
-
2014
- 2014-08-26 KR KR1020140111453A patent/KR20160024550A/ko not_active Application Discontinuation
- 2014-12-16 US US14/572,014 patent/US9424183B2/en active Active
-
2015
- 2015-07-13 TW TW104122645A patent/TWI707268B/zh active
- 2015-08-18 CN CN201510508084.4A patent/CN105390155B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080034174A1 (en) * | 2006-08-04 | 2008-02-07 | Shai Traister | Non-volatile memory storage systems for phased garbage collection |
US20100325351A1 (en) * | 2009-06-12 | 2010-12-23 | Bennett Jon C R | Memory system having persistent garbage collection |
US20110320733A1 (en) * | 2010-06-04 | 2011-12-29 | Steven Ted Sanford | Cache management and acceleration of storage media |
US20120005405A1 (en) * | 2010-06-30 | 2012-01-05 | William Wu | Pre-Emptive Garbage Collection of Memory Blocks |
Also Published As
Publication number | Publication date |
---|---|
KR20160024550A (ko) | 2016-03-07 |
CN105390155B (zh) | 2021-03-02 |
CN105390155A (zh) | 2016-03-09 |
TW201608468A (zh) | 2016-03-01 |
US9424183B2 (en) | 2016-08-23 |
US20160062884A1 (en) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI707268B (zh) | 資料儲存裝置及其操作方法 | |
TWI660356B (zh) | 資料儲存裝置及其操作方法 | |
US20150347291A1 (en) | Flash memory based storage system and operating method | |
US10909031B2 (en) | Memory system and operating method thereof | |
CN106486163B (zh) | 非易失性存储器件、包括其的数据储存设备及其操作方法 | |
KR20160024546A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
CN109960466B (zh) | 存储器系统及其操作方法 | |
KR102660399B1 (ko) | 메모리 시스템 및 그것의 동작방법 | |
US20200201548A1 (en) | Storage device, controller and method for operating storage device | |
CN111752856A (zh) | 存储器控制器及其操作方法 | |
KR20190006677A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111445939A (zh) | 存储装置及其操作方法 | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN112053711B (zh) | 存储器装置以及该存储器装置的操作方法 | |
US11055020B2 (en) | Data storage device sharing operations with another data storage device and method of operating the same | |
US20230185471A1 (en) | Temperature controlled zone creation and allocation | |
US20230069382A1 (en) | Managing host input/output in a memory system executing a table flush | |
CN106935265B (zh) | 非易失性存储器装置以及包括该非易失性存储器装置的数据存储装置 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
US11538518B2 (en) | Memory device to suspend ROM operation and a method of operating the memory device | |
CN111798903B (zh) | 存储器系统、存储器装置和存储器控制器 | |
CN105589810B (zh) | 数据储存器件及其操作方法 | |
US11782644B2 (en) | Memory system and method of operating the same | |
CN114442921A (zh) | 用于存储器子系统中的高速缓存读取的高速缓存释放命令 |