TWI510920B - 資料儲存裝置與其操作方法 - Google Patents

資料儲存裝置與其操作方法 Download PDF

Info

Publication number
TWI510920B
TWI510920B TW101128905A TW101128905A TWI510920B TW I510920 B TWI510920 B TW I510920B TW 101128905 A TW101128905 A TW 101128905A TW 101128905 A TW101128905 A TW 101128905A TW I510920 B TWI510920 B TW I510920B
Authority
TW
Taiwan
Prior art keywords
block
data storage
logical
blocks
data
Prior art date
Application number
TW101128905A
Other languages
English (en)
Other versions
TW201405309A (zh
Inventor
Bo Zhang
Chen Xiu
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Publication of TW201405309A publication Critical patent/TW201405309A/zh
Application granted granted Critical
Publication of TWI510920B publication Critical patent/TWI510920B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

資料儲存裝置與其操作方法
本發明係有關於快閃記憶體之資料儲存裝置與操作方法。
現今資料儲存裝置常以快閃記憶體(例如,非及閘快閃記憶體/NAND flash)為儲存媒體。
第1A圖圖解一快閃記憶體所提供的儲存空間。快閃記憶體100可劃分為複數個物理區塊(physical blocks)BLK1、BLK2…;且各區塊包括複數物理頁(physical pages)-例如,物理區塊BLK1包括物理頁Page1、Page2…。
快閃記憶體具有一種使用特性:使用過的空間需以區塊為單位抹除(erase)後方可再使用。第1B圖圖解說明一邏輯位址之資料更新,其中在物理區塊BLK中,更新的資料需以閒置的空間Data_New儲存,而先前的儲存空間Data_Old則隨著資料更新轉為無效(invalid)。由於快閃記憶體之需以區塊為單位抹除後方可再使用的特性,若要再度利用無效物理頁Data_Old之空間,須要對物理區塊BLK先作一「有效資料收集」(Garbage Collection)操作,待物理區塊BLK上的有效資料收集到其他物理區塊後方可將物理區塊BLK抹除,釋出為閒置區塊。
快閃記憶體100有多種儲存空間應用,區塊映射(block mapping)和頁面映射(page mapping)為常見的兩種映射模式。第1C圖圖解區塊映射模式下,快閃記憶體上的一個物 理區塊(即第1A圖所定義的「物理區塊/physical block」)係配置來儲存主機端一段連續的邏輯位址(logical address)之資料。此段連續邏輯位址可視為一邏輯區塊(logical block),授與一邏輯區塊數(LBN)作為編號,在區塊映射模式下,一個物理區塊內部的各物理頁是按照邏輯位址的順序連續(sequential)寫入的,因此只要根據邏輯區塊數查找一區塊映射表就可以定位對應的物理區塊,再根據續邏輯位址的偏移量(offset)就可以定位該邏輯位址對應的物理頁。但是區塊映射要求在同一個物理區塊必須順序寫入,因此需要頻繁地進行上述「有效資料收集」操作從而降低使用效率。而在頁面映射模式下,邏輯位址的資料在整個快閃記憶體的範圍內非連續(non-sequential)寫入,即一個物理區塊並不對應一段連續的邏輯位址,因此須通過該邏輯位址查找一資料量巨大的頁面映射表定位出對應的物理頁。頁面映射要求為所有的邏輯位址都存儲對應的物理頁位址,因此需要巨大的存儲空間來存儲該頁面映射表,且大範圍地查找也會降低快閃記憶體之使用效率。因此基於區塊映射和頁面映射模式上述缺陷,如何使快閃記憶體之使用效率提升,為本技術領域一項重要課題。
一種快閃記憶體之資料儲存裝置與其操作方法。
根據一種實施方式,所揭露的資料儲存裝置包括一快閃記憶體以及一控制器。該快閃記憶體包括複數組資料儲存區塊、複數個共享緩存區塊以及複數個專用緩存區塊。 上述各個共享緩存區塊係由一組上述資料儲存區塊所共享。上述專用緩存區塊各自對應一個熱區邏輯區塊。該控制器耦接至該快閃記憶體。當一寫入資料的邏輯區塊被判斷為一熱區邏輯區塊時,該控制器將該寫入資料緩存至該熱區邏輯區塊對應之專用緩存區塊。當上述複數組資料儲存區塊之一組資料儲存區塊中任一資料儲存區塊之空間用盡時,該控制器將邏輯位址對應該任一資料儲存區塊的寫入資料緩存至該組資料儲存區塊對應之共享緩存區塊。
根據一種實施方式,所揭露之資料儲存裝置操作方法包括:於一資料儲存裝置的一快閃記憶體配置複數組資料儲存區塊、複數個共享緩存區塊、以及複數個專用緩存區塊,其中,上述各個共享緩存區塊係由一組上述資料儲存區塊所共享,且上述各個專用緩存區塊對應一個熱區邏輯區塊;當一主機所發出的一寫入指令的一寫入資料對應的一邏輯位址屬於一熱區邏輯區塊時,將該寫入資料緩存至該熱區邏輯區塊對應之專用緩存區塊;以及當該邏輯位址並不屬於熱區邏輯區塊,並且當該邏輯位址所對應的一資料儲存區塊不存在空餘空間時,將該寫入資料緩存至該資料儲存區塊所在的一組資料儲存區塊對應之共享緩存區塊。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖示,詳細說明如下。
第2圖圖解根據一種實施方式所實現的一資料儲存裝 置200,包括一快閃記憶體202、一控制器204,並且,更可包括耦接該控制器204的一隨機存取記憶體206。資料儲存裝置200可耦接一主機208,根據該主機208所下達的指令操作。
該快閃記憶體202提供複數組資料儲存區塊(例如,第一組資料儲存區塊DataBlocks1、第二組資料儲存區塊DataBlocks2…第N組資料儲存區塊DataBlocksN)、複數個共享緩存區塊SCB1、SCB2…SCBN、以及複數個專用緩存區塊DCB1、DCB2…DCBM。
上述複數組資料儲存區塊DataBlocks1~DataBlocksN係分組配置給特定邏輯位址。在一種實施方式中,每組資料儲存區塊有其對應的多個邏輯區塊(邏輯區塊可以是於主機208端一段連續的邏輯位址組成)。關於一組的資料儲存區塊,其中資料儲存區塊可能一對一與邏輯區塊對應,但並不限定之,更有實施方式是令多個資料儲存區塊對應一個邏輯區塊。
一種實施方式係根據邏輯區塊數(LBN)之模數運算(%)結果作區塊分組配置。以四組的資料儲存區塊分群為例,邏輯區塊數之模數為0(LBN%4=0)的邏輯區塊所配置的資料儲存區塊可屬於第一組資料儲存區塊DataBlocks1,即第一組資料儲存區塊DataBlocks1對應的邏輯區塊數LBN為0,4,8,12......;邏輯區塊數之模數為1(LBN%4=1)的邏輯區塊所配置的資料儲存區塊可屬於第二組資料儲存區塊DataBlocks2,即第二組資料儲存區塊DataBlocks2對應的邏輯區塊數LBN為1,5,9,13......;邏輯區塊數之模數為 2(LBN%4=2)的邏輯區塊所配置的資料儲存區塊可屬於第三組資料儲存區塊DataBlocks3,即第三組資料儲存區塊DataBlocks3對應的邏輯區塊數LBN為2,6,10,14......;且邏輯區塊數之模數為3(LBN%4=3)的邏輯區塊所配置的資料儲存區塊可屬於第四組資料儲存區塊DataBlocks4,即第四組資料儲存區塊DataBlocks4對應的邏輯區塊數LBN為3,7,11,15......。以上邏輯區塊數模數分組規則可避免熱資料集中儲存於同一組資料儲存區塊而造成該組資料儲存區塊的過度使用,但並不意圖限定所揭露之資料儲存區塊分群配置規則。凡是資料儲存區塊係根據「邏輯位址」分組者即屬於本案所揭露之技術。例如,在一種實施方式中,同一組的資料儲存區塊對應的邏輯區塊數(LBN)為連續的,例如第一組資料儲存區塊DataBlocks1對應的邏輯區塊數LBN為0,1,2,3...K,以此類推。
上述各個共享緩存區塊係由一組上述資料儲存區塊所共享,以於該組資料儲存區塊任一者之空間用盡時緩存寫入資料。參閱第2圖所示實施例,第一組資料儲存區塊DataBlocks1共享一共享緩存區塊SCB1;第二組資料儲存區塊DataBlocks2共享一共享緩存區塊SCB2;…;且第N組資料儲存區塊DataBlocksN共享一共享緩存區塊SCBN。以第一組資料儲存區塊DataBlocks1內的區塊DB(對應邏輯區塊LBNX)為例,若其空間用盡,則邏輯區塊LBNX後續的寫入資料將交由共享緩存區塊SCB1儲存。特別聲明之,在其他實施方式中,同一組資料儲存區塊可配置多於一個的共享緩存區塊。也可以多組資料存儲區塊 配置一個共享緩存區塊。
上述專用緩存區塊DCB1~DCBM係配置來儲存熱區資料,且各個專用緩存區塊對應一個熱區邏輯區塊。參閱第2圖所示之實施例,其中配置的M個專用緩存區塊DCB1、DCB2…DCBM可儲存上達M個熱區邏輯區塊的資料。
該控制器204耦接至該快閃記憶體202,控制對該快閃記憶體202的讀寫操作:當一寫入資料對應的邏輯區塊被判斷為一熱區邏輯區塊時,該控制器204將該寫入資料緩存至該熱區邏輯區塊對應之專用緩存區塊(DCB1~DCBM之一);當複數組資料儲存區塊DataBlocks1~DataBlocksN之一組資料儲存區塊(例如DataBlocks1)中任一資料儲存區塊之空間用盡時,該控制器204將邏輯位址對應該空间用尽之資料儲存區塊的寫入資料緩存至該組資料儲存區塊(例如DataBlocks1)對應之共享緩存區塊(例如SCB1)。
此段落討論熱區邏輯區塊之判別。根據一種實施方式,控制器204更記錄各邏輯區塊之寫入次數,令寫入次數超過一臨界次數的邏輯區塊屬上述熱區邏輯區塊,需交由專用緩存區塊(DCB1~DCBM其一)儲存。所述紀錄可以隨機存取記憶體206暫存。根據另一種實施方式,控制器204統計共享緩存區塊SCB1…SCBN其中資料所屬的邏輯區塊,令出現次數超過一臨界次數的邏輯區塊屬上述熱區邏輯區塊,需交由專用緩存區塊(DCB1~DCBM其一)儲存。
此外,控制器204可更於該快閃記憶體202針對上述複數組資料儲存區塊DataBlocks1~DataBlocksN、上述共享 緩存區塊SCB1~SCBN、以及上述專用緩存區塊DCB1~DCBM分別提供一資料儲存區塊映射表DMT(BMT與PMT之組合)、複數個共享緩存區塊映射表SCB_MT以及複數個專用緩存區塊映射表DCB_MT,分別記錄各區塊之物理位址與邏輯位址的映射關係。控制器204可將所述映射表載入隨機存取記憶體206,以隨著寫入操作即時修正。
第2圖所示實施方式以一區塊映射子表BMT以及複數個頁映射子表PMT(如第2圖所示,各PMT可儲存於各資料儲存區塊之空餘空間)組成一資料儲存區塊映射表DMT,記錄上述複數組資料儲存區塊DataBlocks1~DataBlocksN的物理位址與邏輯位址映射;第3A圖詳細解說一資料儲存區塊映射表DMT的一種實施方式。區塊映射子表BMT記錄不同邏輯區塊數LBN1、LBN2對應的物理區塊數PBN1、PBN2…,標示不同邏輯區塊所對應的資料儲存區塊。至於各資料儲存區塊內的物理頁儲存狀況,則可記錄於頁映射子表PMT_for_PBN1、PMT_for_PBN2…(即第2圖所示PMT)中。所述頁映射子表可記錄不同邏輯頁偏移量(offset,用以與邏輯區塊數LBN組成邏輯頁數(LPN),而邏輯頁數(LPN)係由邏輯位址(LBA)計算而得)所對應的物理頁數(PPN)。舉例來說,主機所指示的一邏輯位址LBA包括邏輯區塊數LBN與邏輯頁偏移量offset等資訊。根據邏輯區塊數LBN查詢該區塊映射子表BMT,可得知所對應的物理區塊數PBN。尋得物理區塊數PBN所對應的頁映射子表(PMT_for_PBN1、 PMT_for_PBN2…中對應者)後,可根據邏輯頁偏移量offset查得對應的物理頁數PPN。如此一來,即可得知該邏輯位址LBA係位於某一資料儲存區塊的某一頁。在另一實施例中,各物理區塊數PBN所對應的頁映射子表(PMT_for_PBN1、PMT_for_PBN2…中對應者)也可以在定位物理區塊數PBN對應之資料儲存區塊后,由控制器204對對應之資料儲存區塊各物理頁進行掃描以重建之。
第2圖實施例更於該等共享緩存區塊SCB1~SCBN的空餘空間提供對應的共享緩存區塊映射表SCB_MT。該等共享緩存區塊映射表SCB_MT各自記錄對應之共享緩存區塊SCB1~SCBN各物理頁所對應的邏輯頁數。第3B圖圖解一共享緩存區塊映射表SCB_MT的結構,其中紀錄一個共享緩存區塊各物理頁所對應的邏輯頁數LPN。在一種實施方式中,共享緩存區塊映射表SCB_MT可更紀錄其中資料所屬的邏輯區塊之出現次數,實現上述熱區邏輯區塊判別。
第2圖實施例更於該等專用緩存區塊DCB1~DCBM的空餘空間提供對應的專用緩存區塊映射表DCB_MT。該等專用緩存區塊映射表DCB_MT各自記錄對應之專用緩存區塊DCB1~DCBM各物理頁所對應的邏輯頁數。第3C圖圖解一專用緩存區塊映射表DCB_MT的結構,其中紀錄一個專用緩存區塊各物理頁所對應的邏輯頁數LPN。
關於第3B圖與第3C圖所示之共享緩存區塊映射表SBC_MT與專用緩存區塊映射表DCB_MT,由於同一邏輯位址對應的資料可能被多次寫入,因此須注意:同一邏輯頁數LPN可能對應多個物理頁,須以最末更新者為有效映 射。此外,在另一實施例中,各共享緩存區塊映射表SBC_MT或各專用緩存區塊映射表DCB_MT也可以於使用時由控制器204對對應之共享緩存區塊或專用緩存區塊內各物理頁進行掃描以重建之。
控制器204對主機208所發出的寫入/讀取指令可有以下處理。
當主機208發出一寫入指令,控制器204的動作可如第4圖流程。步驟S402判斷寫入資料之邏輯位址是否屬於一熱區邏輯區塊。若屬於熱區邏輯區塊,則流程進行步驟S404,此寫入資料被寫入專用緩存區塊(DCB1~DCBM之一),當然,若此前該邏輯位址所在的邏輯區塊已分配對應的專用緩存區塊,就直接將寫入資料寫入對應之專用緩存區塊,若此前該邏輯位址所在的邏輯區塊並未分配任何對應的專用緩存區塊,就為該邏輯位址所在的邏輯區塊分配對應的專用緩存區塊后,再將寫入資料寫入該新分配之專用緩存區塊。若步驟S402判別出並非屬於熱區邏輯區塊,則流程進行步驟S406,判斷該寫入指令之邏輯位址所對應的資料儲存區塊是否尚存空間。若相關資料儲存區塊尚餘有儲存空間,則流程進行步驟S408,寫入指令係操作於該資料儲存區塊。若步驟S406判定相關資料儲存區塊的空間已經用盡,則流程進行步驟S410,係以共享緩存區塊儲存寫入資料。
當主機208發出一讀取指令,控制器204的動作可如同第5圖流程。步驟S502係根據該讀取指令的邏輯位址(例如,利用其中邏輯頁數LPN資訊)判斷所欲讀取的資料是 否由專用緩存區塊DCB1~DCBM之一儲存。在一實施例中,可以於步驟S502先判斷該邏輯位址是否位於一熱區邏輯區塊,若是,根據該邏輯位址搜尋該熱區邏輯區塊的專用緩存區塊映射表(如第3C圖之一DCB_MT),由於該專用緩存區塊映射表DCB_MT是以物理頁數PPN為索引(index),邏輯頁數LPN為表項,因此根據該邏輯位址搜尋該表時,需要逆向查找,例如利用該邏輯位址其中的邏輯頁數LPN通過逆向遍歷(或其它搜索算法)搜索該專用緩存區塊映射表DCB_MT,找到對應的物理頁數PPN。由於一個邏輯頁數LPN可能對應多個物理頁數PPN,有效(valid)的物理頁數PPN為其中物理頁數PPN最大的那個物理頁數。再於步驟S504根據搜尋到之物理頁數PPN自對應之專用緩存區塊DCB讀取資料。在另一實施例中,可以於步驟S502根據該讀取指令的邏輯位址中之邏輯頁數LPN搜尋所有專用緩存區塊映射表(第2圖該等DCB_MT),以判斷所欲讀取的資料是否由專用緩存區塊DCB1~DCBM之一的某一物理頁儲存。若在該等專用緩存區塊映射表(第2圖該等DCB_MT)尋得該邏輯頁數LPN,則於步驟S504根據對應之專用緩存區塊索引號與物理頁索引號自對應之專用緩存區塊讀取資料。若步驟S502判定該讀取指令之邏輯位址對應之資料並不存在於任何專用緩存區塊,流程進行步驟S506,判斷所欲讀取的資料是否由共享緩存區塊SCB1~SCBN之一儲存。在一實施例中,可以於步驟S506先根據該邏輯位址中之邏輯區塊數LBN作運算來判斷,例如由邏輯區塊數LBN做哈希(Hash)運算判斷該邏輯位址對 應哪個共享緩存區塊SCB1~SCBN。做哈希(Hash)運算的原因是如前所述,為了避免多個熱區資料共用一個共享緩存區塊而造成該共享緩存區塊很快就寫滿,優選實施例是采用例如邏輯區塊數LBN0,4,8,12...共享共享緩存區塊SCB 0,邏輯區塊數LBN1,5,9,13...共享共享共享緩存區塊SCB 1,邏輯區塊數LBN2,6,10,14...共享共享共享緩存區塊SCB 2,邏輯區塊數LBN3,7,11,15...共享共享共享緩存區塊SCB 3,因此對邏輯區塊數LBN運算可判斷其對應哪一個共享緩存區塊,由於共享緩存區塊對應之共享緩存區塊映射表(如第3B圖之一SCB_MT)同專用緩存區塊映射表DCB_MT一樣,是以物理頁數PPN為索引(index),邏輯頁數LPN為表項,因此根據該邏輯位址搜尋對應之物理頁數PPN時,同樣需要逆向查找(查找方法類似專用緩存區塊映射表之查找方法,這裡不再贅述),再於步驟S508根據搜尋到之物理頁數PPN自對應之共享緩存區塊SCB讀取資料。在另一實施例中,可以於步驟S506根據該讀取指令的邏輯位址中之邏輯頁數LPN搜尋所有共享緩存區塊映射表(第2圖該等SCB_MT),以判斷所欲讀取的資料是否由共享緩存區塊SCB1~SCBN之一的某一物理頁儲存。若在某一共享緩存區塊映射表中尋得該邏輯頁數LPN,則於步驟S508根據對應之共享緩存區塊索引號與物理頁索引號自對應之共享緩存區塊讀取資料。若步驟S506判定該讀取指令之邏輯位址對應之資料並不存在於任何共享緩存區塊,則流程進行步驟S510,查詢一資料儲存區塊映射表(第2圖之BMT與PMT),以自資料儲存區塊讀取資料。
通過使用根據本發明所揭示的快閃記憶體的資料儲存裝置及其操作方法,對主機寫入的資料在快閃記憶體內部進行緩存,即快閃記憶體內部同時存儲舊的資料和新寫入的資料,優選地採取兩種不同的緩存策略:為經常寫入的熱區資料動態地分配專用緩存區塊,而使得熱區資料能夠相對集中,從而提高該主機讀取熱區資料時的命中率,並提高該資料儲存裝置每秒進行讀寫操作的次數(Input/Output Operations Per Second,IOPS)以及連續寫入時的有效吞吐量等性能;此外,採取多個資料儲存區塊共享一共享緩存區塊,在任一資料區塊寫滿後即寫入對應之共享緩存區塊,可以利於後續的「有效資料收集」與「區塊空間釋放」操作,並兼顧整個快閃記憶體的性能。本發明較優地適用在控制器內部不配置隨機存取記憶體(Random Access Memory,RAM)作為緩存或隨機存取記憶體容量較小的快閃記憶體中,當然,本發明不限於於此,也可適用在配置有較大容量之隨機存取記憶體的快閃記憶體中。
至於本發明之「有效資料收集」與「區塊空間釋放」,本案有特殊設計如下。
第6A圖圖解一種實施方式,於一共享緩存區塊空間用盡時作「有效資料收集」與「區塊空間釋放」,即控制器204可根據一共享緩存區塊SCB最末頁的一寫入操作(寫入資料602)作「有效資料收集」與「區塊空間釋放」。控制器204將尋得該共享緩存區塊SCB其中資料所涉及的所有邏輯區塊,例如LBN1和LBN2,並對該共享緩存區塊 SCB、以及該等邏輯區塊LBN1和LBN2所對應的資料儲存區塊DB1和DB2以及專用緩存區塊DCB1和DCB2作有效資料收集。具體而言,如第6A圖所示,該共享緩存區塊SCB其中資料所涉及的所有邏輯區塊為LBN1和LBN2,控制器204可尋得對應該邏輯區塊數LBN1的資料儲存區塊DB1內的有效資料604與606,且可自該共享緩存區塊SCB中尋得同屬該邏輯區塊數LBN1的有效資料608,並自該邏輯區塊LBN1對應之專用緩存區塊DCB1中尋得同屬該邏輯區塊數LBN1的有效資料610,控制器204可新配置一個資料儲存區塊DB1_New收集資料604~610;此外,控制器204可尋得對應該邏輯區塊數LBN2的資料儲存區塊DB2內的有效資料622與624,且可自該共享緩存區塊SCB中尋得同屬該邏輯區塊數LBN2的有效資料626和602(假設最末頁的寫入資料602屬於邏輯區塊數LBN2),並自該邏輯區塊LBN2對應之專用緩存區塊DCB2中尋得同屬該邏輯區塊數LBN2的有效資料628,控制器204可再新配置一個資料儲存區塊DB2_New收集資料622~628。如此一來,僅存無效資料的該共享緩存區塊SCB可被抹除釋放為閑置空間,再作共享緩存區塊使用,也可用作其他存儲區塊,如資料儲存區塊或專用緩存區塊使用。
第6B圖圖解一種實施方式,於一專用緩存區塊空間用盡時作「有效資料收集」與「區塊空間釋放」,即控制器204可根據一專用緩存區塊DCB最末頁的一寫入操作(寫入資料612)作「有效資料收集」與「區塊空間釋放」。控制器204係根據該專用緩存區塊DCB所對應之邏輯區塊數 LBN尋得對應之資料儲存區塊DB與共享緩存區塊SCB。控制器204可將該資料儲存區塊內的有效資料614、616與該共享緩存區塊SCB內同屬該邏輯區塊數LBN的有效資料618與該專用緩存區塊內的有效資料620與612收集至閒置的另一專用緩存區塊DCB_New。專用儲存區塊DCB因而僅存無效資料,可被抹除釋放為閒置空間,待日後再作資料儲存用。專用緩存區塊DCB_New則取代DCB對應該邏輯區塊數LBN。另有一種實施方式係新配置一資料儲存區塊DB_New(圖未繪示)而非配置該專用緩存區塊DCB_New收集有效資料612~620,新配置的該資料儲存區塊DB_New可取代DB。
此外,上述「有效資料收集」與「區塊空間釋放」更可設計在上述複數個專用緩存區塊DCB1~DCBM僅餘特定數量之閒置者時。控制器204可針對非閒置的專用緩存區塊其一作有效資料收集。該些有效資料不限定以閒置的專用緩存區塊收集,也可以新配置的資料儲存區塊收集。資料收集後,僅存無效資料的專用緩存區塊可抹除釋放為閑置空間,可再作專用緩存區塊使用,也可用作其他存儲區塊,如資料儲存區塊或共享緩存區塊使用。
以上控制器204有多種實施方式。例如,控制器204可以一微處理器執行韌體實現,其對該快閃記憶體202之操作方法亦屬於本案所欲保護範圍。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧快閃記憶體
200‧‧‧資料儲存裝置
202‧‧‧快閃記憶體
204‧‧‧控制器
206‧‧‧隨機存取記憶體
208‧‧‧主機
602‧‧‧屬於邏輯區塊數LBN2的有效資料
604-610‧‧‧屬於邏輯區塊數LBN1的有效資料
612-620‧‧‧屬於邏輯區塊數LBN的有效資料
622-628‧‧‧屬於邏輯區塊數LBN2的有效資料
BLK、BLK1、BLK2‧‧‧區塊
BMT‧‧‧區塊映射子表
DataBlocks1、DataBlocks2…DataBlocksN‧‧‧第一、第二…第N組資料儲存區塊
Data_Old、Data_New‧‧‧儲存空間
DB、DB1、DB2、DB1_New、DB2_New‧‧‧資料儲存區塊/物理區塊
DCB、DCB1、DCB2…DCBM、DCB_New‧‧‧專用緩存區塊
DCB_MT‧‧‧映射表
DMT‧‧‧資料儲存區塊映射表
LBN、LBN1、LBN2‧‧‧邏輯區塊數
Page1、Page2‧‧‧頁
PMT_for_PBN1、PMT_for_PBN2、PMT‧‧‧頁映射子表
S402-S410‧‧‧步驟
S502-S510‧‧‧步驟
SCB、SCB1、SCB2…SCBN‧‧‧共享緩存區塊
SCB_MT‧‧‧映射表
第1A圖圖解一快閃記憶體所提供的儲存空間;第1B圖圖解說明一邏輯位址之資料更新;第1C圖圖解區塊映射模式下,快閃記憶體上的一個物理區塊係配置來儲存主機端一段連續邏輯位址之資料;第2圖圖解根據一種實施方式所實現的一資料儲存裝置200;第3A圖圖解所揭露之資料儲存區塊映射表DMT;第3B圖圖解所揭露之映射表SCB_MT;第3C圖圖解所揭露之映射表DCB_MT;第4圖以流程圖圖解所揭露技術對寫入指令之動作;第5圖以流程圖圖解所揭露技術對讀取指令之動作;第6A圖圖解本案一種實施方式,其中係根據一共享緩存區塊SCB最末頁的一寫入操作(寫入資料602)作「有效資料收集」與「區塊空間釋放」;以及第6B圖圖解一種實施方式,其中係根據一專用緩存區塊DCB最末頁的一寫入操作(寫入資料612)作「有效資料收集」與「區塊空間釋放」。
200‧‧‧資料儲存裝置
202‧‧‧快閃記憶體
204‧‧‧控制器
206‧‧‧隨機存取記憶體
208‧‧‧主機
BMT‧‧‧區塊映射子表
DataBlocks1、DataBlocks2…DataBlocksN‧‧‧複數組資料儲存區塊
DB‧‧‧對應邏輯區塊數LBNX的物理區塊
DCB1、DCB2…DCBM‧‧‧專用緩存區塊
DCB_MT‧‧‧映射表
PMT‧‧‧頁映射子表
SCB1、SCB2…SCBN‧‧‧共享緩存區塊
SCB_MT‧‧‧映射表

Claims (20)

  1. 一種資料儲存裝置,包括:一快閃記憶體,包括複數組資料儲存區塊、複數個共享緩存區塊以及複數個專用緩存區塊,其中:上述各個共享緩存區塊係由一組上述資料儲存區塊所共享;且上述專用緩存區塊之每一個分別對應一個熱區邏輯區塊;以及一控制器,耦接至該快閃記憶體,當一寫入資料的邏輯區塊被判斷為一熱區邏輯區塊時,該控制器將該寫入資料緩存至該熱區邏輯區塊對應之專用緩存區塊,當上述複數組資料儲存區塊之一組資料儲存區塊中任一資料儲存區塊之空間用盡時,該控制器將邏輯位址對應該任一資料儲存區塊的寫入資料緩存至該組資料儲存區塊對應之共享緩存區塊。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中,上述複數組資料儲存區塊之每一組皆包括多個資料儲存區塊,且各個資料儲存區塊分別對應一個邏輯區塊。
  3. 如申請專利範圍第1項所述之資料儲存裝置,其中,該控制器更記錄各邏輯區塊之寫入次數,令寫入次數超過一臨界次數的邏輯區塊屬上述熱區邏輯區塊。
  4. 如申請專利範圍第1項所述之資料儲存裝置,其中,該控制器更統計上述共享緩存區塊其中資料所屬的邏輯區塊,令出現次數超過一臨界次數的邏輯區塊屬上述熱區邏輯區塊。
  5. 如申請專利範圍第1項所述之資料儲存裝置,其中,該控制器更於該快閃記憶體提供一資料儲存區塊映射表、複數個共享緩存區塊映射表以及複數個專用緩存區塊映射表,分別記錄上述複數組資料儲存區塊、該等共享緩存區塊、以及該等專用緩存區塊之物理位址與邏輯位址的映射關係。
  6. 如申請專利範圍第5項所述之資料儲存裝置,其中,該資料儲存區塊映射表包括:一區塊映射子表,記錄不同邏輯區塊所對應的資料儲存區塊;以及對應上述資料儲存區塊的複數個頁映射子表,記錄不同邏輯頁偏移量所對應的物理頁數,存儲於所對應之上述資料儲存區塊的空餘空間中。
  7. 如申請專利範圍第5項所述之資料儲存裝置,其中,各個共享緩存區塊映射表記錄對應之共享緩存區塊各物理頁所對應的邏輯頁數,各個專用緩存區塊映射表記錄對應之專用緩存區塊各物理頁所對應的邏輯頁數。
  8. 如申請專利範圍第1項所述之資料儲存裝置,其中:根據一主機所發出的一讀取指令的邏輯位址,該控制器判斷該讀取指令所欲讀取的資料是否由上述複數個專用緩存區塊之一儲存,以讀取之;該控制器在判定該讀取指令所欲讀取的資料並不存在於上述複數個專用緩存區塊之任何一個時更判斷該讀取指令所欲讀取的資料是否由上述複數個共享緩存區塊之一儲存,以讀取之;且 該控制器更在判定該讀取指令所欲讀取的資料並不存在於上述複數個共享緩存區塊之任何一個時自上述資料儲存區塊取得該讀取指令所欲讀取的資料。
  9. 如申請專利範圍第1項所述之資料儲存裝置,其中,關於上述複數個共享緩存區塊之一,該控制器更於該共享緩存區塊用盡時尋得該共享緩存區塊其中資料所涉及的邏輯區塊,並對該共享緩存區塊、以及該等邏輯區塊所對應的資料儲存區塊以及專用緩存區塊作有效資料收集。
  10. 如申請專利範圍第1項所述之資料儲存裝置,其中,關於上述複數個專用緩存區塊之一,該控制器更根據該專用緩存區塊所對應之邏輯區塊尋得對應之共享緩存區塊與資料儲存區塊,並對該共享緩存區塊內屬於該邏輯區塊部分、以及該專用緩存區塊與該資料儲存區塊作有效資料收集,更新至閒置的另一專用緩存區塊或另一資料儲存區塊,其中,該控制器於上述複數個專用緩存區塊僅餘特定數量之閒置者時,自非閒置的專用緩存區塊中擇一實行上述有效資料收集或於上述專用緩存區塊最末頁的寫入操作時實行上述有效資料收集。
  11. 一種資料儲存裝置操作方法,包括:於一資料儲存裝置的一快閃記憶體配置複數組資料儲存區塊、複數個共享緩存區塊、以及複數個專用緩存區塊,其中,上述各個共享緩存區塊係由一組上述資料儲存區塊所共享,且上述專用緩存區塊之每一個分別對應一個熱區邏輯區塊;當一主機所發出的一寫入指令的一寫入資料對應的一 邏輯位址屬於一熱區邏輯區塊時,將該寫入資料緩存至該熱區邏輯區塊對應之專用緩存區塊;以及當該邏輯位址並不屬於熱區邏輯區塊,並且當該邏輯位址所對應的一資料儲存區塊不存在空餘空間時,將該寫入資料緩存至該資料儲存區塊所在的一組資料儲存區塊對應之共享緩存區塊。
  12. 如申請專利範圍第11項所述之資料儲存裝置操作方法,其中上述複數組資料儲存區塊之每一組皆包括多個資料儲存區塊,且各個資料儲存區塊分別對應一個邏輯區塊。
  13. 如申請專利範圍第11項所述之資料儲存裝置操作方法,更包括:記錄各邏輯區塊之寫入次數,令寫入次數超過一臨界次數的邏輯區塊屬上述熱區邏輯區塊。
  14. 如申請專利範圍第11項所述之資料儲存裝置操作方法,更包括:統計上述共享緩存區塊其中資料所屬的邏輯區塊,令出現次數超過一臨界次數的邏輯區塊屬上述熱區邏輯區塊。
  15. 如申請專利範圍第11項所述之資料儲存裝置操作方法,更包括:於該快閃記憶體提供一資料儲存區塊映射表、複數個共享緩存區塊映射表以及複數個專用緩存區塊映射表,分別記錄上述複數組資料儲存區塊、該等共享緩存區塊、以及該等專用緩存區塊之物理位址與邏輯位址的映射關係。
  16. 如申請專利範圍第15項所述之資料儲存裝置操作方法,其中,該資料儲存區塊映射表包括:一區塊映射子表,記錄不同邏輯區塊所對應的資料儲存區塊;以及對應上述資料儲存區塊的複數個頁映射子表,記錄不同邏輯頁偏移量所對應的物理頁數,存儲於所對應之上述資料儲存區塊的空餘空間中。
  17. 如申請專利範圍第15項所述之資料儲存裝置操作方法,其中,各個共享緩存區塊映射表記錄對應之共享緩存區塊各物理頁所對應的邏輯頁數,各個專用緩存區塊映射表記錄對應之專用緩存區塊各物理頁所對應的邏輯頁數。
  18. 如申請專利範圍第11項所述之資料儲存裝置操作方法,更包括:根據該主機所發出的一讀取指令的邏輯位址判斷該讀取指令所欲讀取的資料是否由上述複數個專用緩存區塊之一儲存,以讀取之;當判定該讀取指令所欲讀取的資料並不存在於上述複數個專用緩存區塊之任何一個時,更判斷該讀取指令所欲讀取的資料是否由上述複數個共享緩存區塊之一儲存,以讀取之;且當更判定該讀取指令所欲讀取的資料並不存在於上述複數個共享緩存區塊之任何一個時,自上述資料儲存區塊取得該讀取指令所欲讀取的資料。
  19. 如申請專利範圍第11項所述之資料儲存裝置操作 方法,其中,關於上述複數個共享緩存區塊之一,該方法更包括:於該共享緩存區塊用盡時尋得該共享緩存區塊其中資料所涉及的邏輯區塊;以及對該共享緩存區塊、以及該等邏輯區塊所對應的資料儲存區塊以及專用緩存區塊作有效資料收集。
  20. 如申請專利範圍第11項所述之資料儲存裝置操作方法,其中,關於上述專用緩存區塊之一,該方法更包括:根據該專用緩存區塊所對應之邏輯區塊尋得對應之共享緩存區塊與資料儲存區塊;並且對該共享緩存區塊內屬於該邏輯區塊部分、以及該專用緩存區塊與該資料儲存區塊作有效資料收集,更新至閒置的另一專用緩存區塊或另一資料儲存區塊;其中於上述複數個專用緩存區塊僅餘特定數量之閒置者時,自非閒置的專用緩存區塊中擇一實行上述有效資料收集或於上述專用緩存區塊最末頁的寫入操作時實行上述有效資料收集。
TW101128905A 2012-07-17 2012-08-10 資料儲存裝置與其操作方法 TWI510920B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210247902.6A CN102789427B (zh) 2012-07-17 2012-07-17 数据储存装置与其操作方法

Publications (2)

Publication Number Publication Date
TW201405309A TW201405309A (zh) 2014-02-01
TWI510920B true TWI510920B (zh) 2015-12-01

Family

ID=47154832

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101128905A TWI510920B (zh) 2012-07-17 2012-08-10 資料儲存裝置與其操作方法

Country Status (3)

Country Link
US (1) US9053013B2 (zh)
CN (1) CN102789427B (zh)
TW (1) TWI510920B (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751755B2 (en) 2007-12-27 2014-06-10 Sandisk Enterprise Ip Llc Mass storage controller volatile memory containing metadata related to flash memory storage
EP2302636B1 (fr) 2009-09-21 2014-11-05 STMicroelectronics (Rousset) SAS Procédé de lecture d'une mémoire non volatile au moyen de métadonnées et d'une table de correspondance
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
KR20150015764A (ko) * 2013-08-01 2015-02-11 삼성전자주식회사 스토리지 디바이스 및 이를 포함하는 스토리지 시스템
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9305665B2 (en) * 2014-03-31 2016-04-05 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10114557B2 (en) * 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
CN105573661B (zh) * 2014-10-15 2018-11-09 群联电子股份有限公司 数据写入方法、存储器存储装置及存储器控制电路单元
US9760478B2 (en) * 2014-12-02 2017-09-12 Macronix International Co., Ltd. Read leveling method and memory device using the same
US10346039B2 (en) * 2015-04-21 2019-07-09 Toshiba Memory Corporation Memory system
FR3046266A1 (fr) 2015-12-28 2017-06-30 Proton World Int Nv Stockage dans une memoire flash
TWI606339B (zh) * 2016-02-17 2017-11-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI603193B (zh) * 2016-03-31 2017-10-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI614605B (zh) * 2016-03-31 2018-02-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10031845B2 (en) 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US10019198B2 (en) * 2016-04-01 2018-07-10 Intel Corporation Method and apparatus for processing sequential writes to portions of an addressable unit
CN108733584B (zh) * 2017-04-17 2022-07-19 伊姆西Ip控股有限责任公司 用于优化数据缓存的方法和设备
TWI633437B (zh) 2017-05-26 2018-08-21 慧榮科技股份有限公司 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法
CN107784073B (zh) * 2017-09-21 2020-03-27 中国平安财产保险股份有限公司 一种本地缓存的数据查询方法、存储介质和服务器
JP6785205B2 (ja) * 2017-09-21 2020-11-18 キオクシア株式会社 メモリシステムおよび制御方法
CN109683803B (zh) * 2017-10-19 2021-07-13 中兴通讯股份有限公司 一种数据处理方法及装置
KR102387935B1 (ko) * 2017-10-23 2022-04-15 삼성전자주식회사 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치
JP2019079464A (ja) 2017-10-27 2019-05-23 東芝メモリ株式会社 メモリシステムおよび制御方法
JP6982468B2 (ja) 2017-10-27 2021-12-17 キオクシア株式会社 メモリシステムおよび制御方法
CN110858124B (zh) * 2018-08-24 2021-06-01 华为技术有限公司 数据迁移方法及装置
KR20200073794A (ko) * 2018-12-14 2020-06-24 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200076528A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20210027563A (ko) * 2019-08-28 2021-03-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN111338989B (zh) * 2020-02-12 2021-01-12 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储***
KR20220009523A (ko) 2020-07-15 2022-01-25 삼성전자주식회사 스토리지 컨트롤러, 및 스토리지 컨트롤러의 동작 방법
KR20220073017A (ko) * 2020-11-26 2022-06-03 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI835221B (zh) * 2022-07-26 2024-03-11 旺宏電子股份有限公司 記憶體裝置及其操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041138A1 (fr) * 1998-12-28 2000-07-13 Fujitsu Limited Systeme d'absorption d'erreur de donnees squelette a trois dimensions
TW200937195A (en) * 2008-02-29 2009-09-01 Via Tech Inc Management methods and systems for storage units
TW201022936A (en) * 2008-10-15 2010-06-16 Micron Technology Inc Hot memory block table in a solid state storage device
TW201040717A (en) * 2009-05-06 2010-11-16 Via Telecom Inc Flash memory managing methods and computing systems utilizing the same

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007080325A (ja) * 2005-09-12 2007-03-29 Matsushita Electric Ind Co Ltd 半導体記憶装置
US7711890B2 (en) * 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US7568068B2 (en) * 2006-11-13 2009-07-28 Hitachi Global Storage Technologies Netherlands B. V. Disk drive with cache having volatile and nonvolatile memory
CN101286135A (zh) * 2007-04-11 2008-10-15 宇瞻科技股份有限公司 闪存的二维数据写入方法及装置
CN101859278B (zh) * 2009-04-07 2013-02-13 群联电子股份有限公司 用于闪存的数据储存方法及储存***
CN101957797B (zh) * 2009-07-17 2013-01-09 群联电子股份有限公司 闪速存储器逻辑区块管理方法及其控制电路与储存***
CN102096636B (zh) * 2009-12-15 2013-07-03 杭州华三通信技术有限公司 一种数据存储管理方法及数据存储管理装置
CN102012851B (zh) * 2010-12-20 2012-09-26 浪潮(北京)电子信息产业有限公司 一种持续数据保护方法及服务器
US9477600B2 (en) * 2011-08-08 2016-10-25 Arm Limited Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode
US8898423B1 (en) * 2012-01-31 2014-11-25 Western Digital Technologies, Inc. High performance caching architecture for data storage systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041138A1 (fr) * 1998-12-28 2000-07-13 Fujitsu Limited Systeme d'absorption d'erreur de donnees squelette a trois dimensions
TW200937195A (en) * 2008-02-29 2009-09-01 Via Tech Inc Management methods and systems for storage units
TW201022936A (en) * 2008-10-15 2010-06-16 Micron Technology Inc Hot memory block table in a solid state storage device
TW201040717A (en) * 2009-05-06 2010-11-16 Via Telecom Inc Flash memory managing methods and computing systems utilizing the same

Also Published As

Publication number Publication date
CN102789427B (zh) 2015-11-25
US9053013B2 (en) 2015-06-09
TW201405309A (zh) 2014-02-01
CN102789427A (zh) 2012-11-21
US20140025864A1 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
TWI510920B (zh) 資料儲存裝置與其操作方法
CN110678836B (zh) 用于键值存储的持久性存储器
JP5907739B2 (ja) 不揮発性記憶装置
US20140089564A1 (en) Method of data collection in a non-volatile memory
US9104327B2 (en) Fast translation indicator to reduce secondary address table checks in a memory device
US8417914B2 (en) Memory address translation
US9489239B2 (en) Systems and methods to manage tiered cache data storage
US10740251B2 (en) Hybrid drive translation layer
US8095723B2 (en) Log-based flash translation layer and operating method thereof
US20210157746A1 (en) Key-value storage device and system including the same
EP2017739A1 (en) Processing system implementing variable page size memory organization
US9507705B2 (en) Write cache sorting
US10635581B2 (en) Hybrid drive garbage collection
KR20100042455A (ko) 플래시 메모리 시스템 및 그것의 플래시 변환 계층 설계 방법
JP2012064158A (ja) メモリ管理装置及びメモリ管理方法
CN109446117B (zh) 一种固态硬盘页级闪存转换层设计方法
KR102430198B1 (ko) 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법
KR20100021868A (ko) 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법
US20140223075A1 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
CN103543955A (zh) 利用固态硬盘作为设备读缓存的方法、***及固态硬盘
WO2019128200A1 (zh) 大容量存储设备的地址转换方法与装置
KR20100115090A (ko) 버퍼를 고려한 가비지 컬렉션 기법
CN110968269A (zh) 基于scm与ssd的键值存储***及读写请求处理方法
CN102650972B (zh) 数据存储方法、装置及***
KR101155542B1 (ko) Ssd 장치의 매핑 테이블 관리 방법