TW201205286A - Controller, data storage device, and program product - Google Patents
Controller, data storage device, and program product Download PDFInfo
- Publication number
- TW201205286A TW201205286A TW100105520A TW100105520A TW201205286A TW 201205286 A TW201205286 A TW 201205286A TW 100105520 A TW100105520 A TW 100105520A TW 100105520 A TW100105520 A TW 100105520A TW 201205286 A TW201205286 A TW 201205286A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- unit
- write
- block
- information
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 189
- 238000006243 chemical reaction Methods 0.000 claims abstract description 238
- 238000007726 management method Methods 0.000 claims abstract description 205
- 230000006835 compression Effects 0.000 claims description 285
- 238000007906 compression Methods 0.000 claims description 260
- 238000011084 recovery Methods 0.000 claims description 121
- 239000000463 material Substances 0.000 claims description 44
- 238000013519 translation Methods 0.000 claims description 11
- 238000000151 deposition Methods 0.000 claims 1
- 238000004880 explosion Methods 0.000 claims 1
- 239000000344 soap Substances 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 3
- 238000005056 compaction Methods 0.000 abstract 4
- 239000004065 semiconductor Substances 0.000 description 205
- 238000000034 method Methods 0.000 description 127
- 238000010586 diagram Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 28
- 230000002354 daily effect Effects 0.000 description 23
- 230000008901 benefit Effects 0.000 description 19
- 230000015654 memory Effects 0.000 description 19
- 238000012937 correction Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013523 data management Methods 0.000 description 5
- 239000004020 conductor Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004043 responsiveness Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 208000001613 Gambling Diseases 0.000 description 1
- 241001536374 Indicator indicator Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 102220541155 Tumor necrosis factor receptor superfamily member 5_S35G_mutation Human genes 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 238000009933 burial Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/7202—Allocation control and policies
-
- 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
-
- 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/0608—Saving storage space on 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
201205286 六、發明說明: 【發明所屬之技術領域】 本文所述實施例大體而言係關於一種控制器、一種資料 儲存裝置及一種程式。 本申請案基於並主張2010年3月18日提出申請的第2010-0631 91號曰本專利申請案之優先權之利益,該申請案之全 部内容以引用方式併入本文中。 【先前技術】 在相關技術中’在資料儲存裝置(例如一硬碟驅動機 (HDD)或一固態驅動機(SSD))中,使用各種管理資訊來管 理儲存媒體之使用狀態,例如一轉換表,其中一邏輯位址 (LBA :邏輯區塊位址)與一實體位址(pBA :實體區塊位址) 彼此相關聯。該邏輯位址係可由一主機裝置(例如一伺服 器電腦、一儲存系統之一控制器或一個人電腦)辨識的一 儲存媒體之一邏輯位址。該實體位址係指示該儲存媒體之 一實體儲存位置之一位址。 作為該資料儲存裝置之儲存媒體之一實例,已知一半導 體儲存元件,例如-NAN_快閃記憶體。此儲存媒體無 法實現-隨機資料讀取/寫入操作,且需要以稱為一頁: 一單元讀取/寫入資料,構建稱為一區塊之一單元之一 存區域,肖區塊中收集複數個頁。為將新的資料寫入已宣 入資料之頁或區塊中,需要w r α 馬 需要以—區塊單元擦除已寫入資 料。亦即,可關於在彼處尚未穹 罵人資枓之已擦除資料之區 塊之右干頁以一頁單元順序地 7。呙入貪科且關於已寫入資料 153846.doc 201205286 之頁無法貫現資料之覆寫。 主機裝置關於資料蚀& 者存裝置執行一資料讀取/寫入操作 時之一讀取/寫入單元骚 稱為一區段且係不相依於一頁單 或一區塊單元確定。裹你 一 疋舉例而言,一區塊大小確定為512千 位元組’ 一頁大小確定A 4 从-a 唯疋马4千位兀組且一區段大小確定為 5 12位元纽。 在使用具有上文所提及約束讀存媒社㈣儲存裝置 中’採用-種區塊管理方法,該方法在管理資訊中使用_ 區塊士小之整倍數之一大小作為一資料管理大小。當在該 區鬼s理方法中自该主機裝置請求隨機寫入時,該資料健 存裝置將以下資料讀取至一暫時儲存區域中,該資料未被 該寫入請求更新且包含於儲存於對應於一邏輯位址區域之 一個或多個區塊中之資料中,該邏輯位址區域係該主機裝 置清求寫入之-系列邏輯位址。該資料餘存袭置將該資料 與寫入物件資料合併。該資料儲存裝置執行擦除一個或多 個新的寫入物件區塊之一程序,寫入該經合併資料且更新 該管理資訊以使得該邏輯位址區域與一個或多個新的寫入 物件區塊對應於彼此。 如上文所述’在該區塊管理方法中,由於該資料儲存裝 置中之一資料已寫入大小及一資料讀取大小明顯大於自該 主機裝置所請求之一資料寫入所請求大小’因此一處理時 間可增加且隨機寫入效能可明顯劣化。 出於此原因’在使用具有上文所提及約束之儲存媒體之 資料儲存裝置中,隨機寫入效能可使用一日誌結構化方法 153846.doc 201205286 來改良(舉例而言’參考Mendel Rosenblum and John Κ. Ousterhout,「The LFS Storage Manager」,1990 Summer
Usenix之學報’阿納海姆、加利福尼亞,1990年6月第3i5 至324頁),該方法由一作業系統(〇S)記憶體管理或一樓案 系統執行。 在使用該曰諸結構化方法之資料儲存裝置中,以頁之升 序順序地寫入寫入物件資料,而不論由來自該主機裝置之 寫入請求所指定之一邏輯位址如何。若自該主機裝置做出 再次指定一先前所指定邏輯位址之一寫入請求,則該資料 儲存裝置將新的寫入物件資料寫入其中完成一擦除程序之 一區塊之一未經寫入頁中。該資料儲存裝置在該管理資訊 中使對應於該邏輯位址之頁(當過去指定對應邏輯位址時 寫入資料之頁)無效,使在彼處寫入新的寫入物件資料之 一頁有效’且使該頁與該對應邏輯位址相關聯。 在具有日誌結構化方法之資料儲存裝置中,若無效頁之 數目增加,則可寫入資料且完成一擦除程序之新區塊之數 目(亦即,在擦除程序之後未寫入資料之空閒區塊之數目) 增加且不可執行新的資料寫入。出於此原因,在適當時間 執行壓縮(對應於垃圾收集)。 在執行該壓縮中,該資料儲存裝置收集儲存於若干區塊 當中未無效(包含無效頁)之實體位址中之有效資料,將該 有效資料複製至-空閒區塊中以移動該有效資料,且對自 其進行複製之該等區塊執行一擦除程序以產生一新的空閒 區塊。該資料儲存裝置可藉由執行該壓縮自一無法實現寫 153846.doc 201205286 入之區塊產生-空閒區塊。甚至在有效資料係藉由移動來 寫入彼處之-區塊中,若存在—未經寫人頁,則能夠實現 關於該頁之新的寫入。 根據此日誌結構化方法,由於該資料儲存裝置中之一已 寫入資料大小及-已讀取資料大小並未變得如此大於自該 主機裝置所請求之-資料寫人所請求大小,因此可獲得高 隨機寫入效能。半導體儲存元件之壽命通常相依於一擦除 計數或-寫人計數。為增加㈣料儲存裝置之設計壽命, 該資料儲料置中之已寫人㈣大小較佳地小於自該主機 裝置所請求之資料寫入所請求大小。 同時’在關於該資料儲存裝置之—存取型樣中,通常存 在位址局部性。在上文所述日㈣構化方法巾,由於未考 量該存取«之位址局部性,因此不能有效地改良—般使 用效能。 【發明内容】 實施例之-目標係、提供_種控制器、—種資料儲存裝置 及-種可改良其-般使用效能之程式產品。 -般而言’根據-個實施例,一寫入指示單元指示一資 料存取單元將.寫人物件資料寫入―資料儲存單元之由一第 -實體位址指示之-儲存區域中,指示―管理資訊存取單 元更新位址轉換資訊,且指示—第一存取單元更新該第一 實體位址。一壓縮單元操取愿縮物件資料之一實體位址, 指示該資料存取單元讀取儲存於該㈣儲存單元之由該實 體位址指示之一儲存區域中之該壓縮物件資料,指示該資 153846.doc 201205286 料存取單元將該壓縮物件資料寫入該資料儲存單元之由一 第二實體位址指示之-儲存區域中,指示該管理資訊存取 車元更新該位址轉換資訊’且指示一第二存取單元更新該 第一貫體位址。 根據上文所述該實施例,可改良一般使用效能。 【實施方式】 下文中,將參相圖詳_述根據若干實施例之一種控 制器、一種資料儲存裝置及-種程式。在以下實施例中, 將;'咖例示為該資料儲存裝置,但本發明並不限於此。 在以下實施例中’例示其中該資料儲存裝 理單元具有等於一 負竹s 限於此。•例而/一::之情況’但本發明並不 ° 個頁可儲存複數個資料管理單元 續育:管理單元可具有小於該頁大小之-大小)或複數個連 卞可錯存-個資料管理單元(資料管理單元可具有大於 s亥頁大小之一大小)。 第一實施例 .. 實施例中’例示以下情況:獨立地保證用以儲 存(添加)針對一主機寫入請求之寫入物件資料之一儲存區 域及用以添加針對壓縮之壓縮物件資料之—儲存區域。 熊首先’將闡述根據該第一實施例之該資料儲存裝置之組 圖1係顯示根據該第一實施例之一資料儲存裝置1〇〇之硬
署^態之—實例之一方塊圖。如圖1中所示,資料儲存裝 置 1 0 0 包含一# IB 窃5 1、一開機唯讀記憶體(r〇m)52、— 153846.doc 201205286 記憶體介面53、一動態隨機存取記憶體(DRAM)54、一 SATA/SAS介面 55、NAND介面 57A至 57F、NAND(半導體 儲存媒體)58A至58F及連接此等元件之一匯流排56。在下 文說明中,當NAND介面57A至57F不需要彼此區分時, NAND介面57A至57F可簡單地稱為NAND介面57。同樣 地,當NAND58A至58F不需要彼此區分時,NAND58A至 58F可簡單地稱為NAND 58。 開機ROM 52儲存當將電力供應至資料儲存裝置100時執 行之一程式。NAND 58儲存各種系統程式。SATA/SAS介 面55在處理器51之控制下控制與一主機裝置(圖式中未顯 示)之通信。 處理器51在供應電力時自開機ROM 52讀取一程式並執 行該程式且根據對應程式將儲存於NAND 58中之各種系統 程式傳送至DRAM 54。處理器51執行傳送至DRAM 54之該 等系統程式以控制整個資料儲存裝置100且實現各種功 能。具體而言,處理器51執行傳送至DRAM 54之該等系統 程式,解譯透過SATA/SAS介面55自該主機裝置發射之一 命令且根據所解譯命令控制關於NAND 58之資料寫入或自 NAND 58之資料讀取。處理器5 1根據需要控制一壓縮程 序。該等各種程式中之全部或部分可由實現由該等各種系 統程式實現之程序中之全部或部分之一電路替換。 記憶體介面53控制DRAM 54。DRAM 54儲存各種資料或 程式。NAND介面57控制NAND 58且包含一錯誤校正電 路。NAND 5 8由一 NAND型快閃記憶體中所使用之一儲存 153846.doc 201205286 元件構成。 在圖1中所示之一實例中,NAND 58之數目為6β此乃因 一存取速度可藉由連接複數個_D 58且共同執行一存取 而增加。然而,NAND之數目並不限於6。在該第_實施例 中,例示以-區塊單元進行之一程序。然而,當連接複數 個财仙58且執行-存取時,該程序可以稱為—邏輯區塊 之一單7G執行,在該邏輯區塊中連接該複數個區塊。 圖2係顯示根據該第一實施例之資料儲存裝置之功能 組態之概要之一實例之—方塊圖。如圖2令所示,資料储 存裝置1〇〇包含一接收器110、一管理資訊儲存單元12〇、 一管理資訊存取單元121、一第一儲存單元】3〇、_第一存 取單元131、一第二儲存單元丨4〇、一第二存取單元I"、 寫入4曰不單元150、一讀取指示早元160、一壓縮單元 170、一資料儲存單元1〇5及一資料存取單元1〇6。 接收器110自主機裝置接收一寫入請求。該寫入請求包 含對應於該主機裝置請求將資料寫入彼處之一系列邏輯位 址之一邏輯位址區域之資訊及規定寫入物件資料之寫入資 料規定資訊》該邏輯位址係可由該主機裝置辨識的資料儲 存裝置100之一邏輯位址。寫入資料規定資訊係該寫入物 件資料之資訊或包含該寫入物件資料之一儲存地點之資訊 的資訊。 接收器110自該主機裝置接收一讀取請求。該讀取請求 包含對應於該主機裝置請求讀取在彼處之資料之一系列邏 輯位址之一邏輯位址區域之資訊。該讀取請求可包含指示 153846.doc • 10· 201205286 讀取資料之一儲存地點之儲存地點資訊。 接收器110之一功能係藉由由處理器51執行各種系統程 式及SATA/SAS介面55之一功能來實現。 管理資訊儲存單元120儲存管理資訊。為操作資料儲存 裝置100所需之資訊之管理資訊包含其中—實體位址與一 邏輯位址彼此相關聯之位址轉換資訊。該實體位址指示儲 存於資料儲存單元105中之資料之一實體儲存位置。 儲存單元13。儲存下文欲闡述之寫入指示單元15〇將 其才曰疋為資料寫入目的地之一實體位址。 第二儲存單元140儲存下文欲闡述之壓縮單元17〇將其指 疋為資料寫入目的地之一實體位址。 所有管理資訊儲存單元120、第一儲存單元13〇及第二儲 存單元140由DRAM 54之預定區域來實現。 管理資訊存取單元121自寫入指示單元15〇、讀取指示單 元160或㈣單元17〇接收一讀取指令,自管理資訊儲存單 元120讀取管理資訊且將該所讀取管理資訊提供給一讀取 指令源(寫入指示單㈣、讀取指示單元“Ο或愿缩單元 17〇)。管理資訊存取單元121自寫人指示單元15〇或壓縮單 元170接收-寫人指令且將指示寫人之管理資訊寫入管理 資訊儲存單元120中。 第-存取單元m自寫入指示單元15〇接收一讀取指令, 自第-儲存單元13〇讀取-實體位址,且將所讀取實體位 址提供給寫入指示單元15〇。第—存取單元131自寫入指示 單元⑼接收一寫入指令且將指示寫入之實體位址寫入第 】53846.doc -11 · 201205286 一儲存單元130中。 第一存取單元141自壓縮單元170接收一讀取指令,自第 二儲存單元14 0讀取一實體位址且將所讀取實體位址提供 給壓縮單兀170。第二存取單元141自壓縮單元17〇接收一 寫入私令且將指示寫入之實體位址寫入第二儲存單元14〇 中。 所有管理資訊存取單元121、第一存取單元131及第二存 取單元141係藉由記憶體介面53之一功能來實現。 資料儲存單元1〇5儲存各種資料,例如自該主機裝置要 求寫入之使用者資料。資料儲存單元1〇5係藉由NAND 58 來實現。 資料存取單元1〇6自寫入指示單元15〇、讀取指示單元 160或壓縮單元17〇接收一讀取指令,自資料儲存單元 讀取資料且將所讀取資料提供給一讀取指令源(寫入指示 單元150、讀取指示單元16〇或壓縮單元17〇)。資料存取單 70106自寫入指示單元! 50或壓縮單元17〇接收寫入指令且 將指示寫入之資料寫入資料儲存單元j 〇5中。資料存取單 元10 6係藉由N AND介面57之一功能來實現。 寫入指示單元150參考包含於由接收器ι1〇所接收之唁寫 入請求中之寫入資料規定資訊且獲取寫入物件資料。寫入 指示單元150指示第一存取單元131讀取儲存於第— 元130中之一實體位址並獲取該實體位址。寫入指 儲存單 示單元 150指示資料存取單元1〇6將所獲取寫入物件資料 馬入資料 儲存單元105之由所獲取實體位址所指示之儲存位 置。 153846.doc -12- 201205286 寫入指不單元150指示管理資訊存取單元121將寫入資料儲 存單兀105中之寫入物件資料之位址轉換資訊寫入管理資 訊儲存單元120中。寫入指示單元150指示第一存取單元 131更新由第一儲存單元13〇儲存之實體位址並寫入經更新 實體位址。 項取指不單元16〇擷取包含於由接收器11〇所接收 取印求十之讀取物件資料之邏輯位址區域資訊。讀取指示 單7L 160指不管理資訊存取單元121讀取儲存於管理資訊儲 存單元120中之管理資訊並獲取該管理資訊。讀取指示單 το 160使用所擁取邏輯位址區域資訊自所獲取管理資訊榻 取該實體位址。讀取指示單元⑽指示資料存取單元1〇6自 資料储存單疋105之由所操取實體位址所指示之儲存位置 讀取讀取物件請並獲取讀取物件資料。讀取指示單元 160透過接收器11G將—讀取回復發射至該主機裝置。該讀 取回復係讀取物件資料之資訊或包含指示該讀取物件.資料 儲存於由儲存地點資訊所規定之地財之資訊的資訊。 遂縮早兀170指示營jg咨> 子曰不s理貧讯存取早凡12i讀取儲存於管理 資訊儲存單元m中之管理資訊並獲取該管理資訊。虔縮 單元170使用所獲取瞢裡次 设取s理貝汛擷取壓縮物件資料之一 :址。當寫入指示單元15〇關於某一邏輯位址寫入新資料 ^其中先前關於指示相同值之該邏輯位址執行寫入的該 ^科之儲存區域變成一無效儲存區域。塵縮物件資料係儲 存於一非無效儲存區域中之資料。 壓縮單元170指示資粗尨而。〇 — 相丁貢枓存取早九l06自資料儲存單元⑼ i53846.doc I3 201205286 之由所操取邏輯位址所指示之儲存位置讀取壓縮物件資 料,並獲取該壓縮物件資料。麼縮單元17〇指示第二存取 單元141讀取儲存於第二儲存單元14时之實體位址,並獲 取該實體位址。壓縮單元17()指Μ料存取單元⑽將所獲 取遂縮物件資料寫入資料儲存單元1〇5之由所獲取實體位 址所指示之儲存位置中。壓縮單元m指示f理資訊存取 早7L 121將寫入資料儲存單元i 〇 5中之壓縮物件資料之位址 轉換資訊寫人管理資訊儲存單元㈣中。壓縮單元17〇指示 第存取單元141更新由第二儲存單元14〇所儲存之實體位 址並寫入經更新實體位址。 寫入指示單元150、讀取指示單元16〇及壓縮單元17〇之 功能係藉由由處理器51執行各種系統程式來實現。 如上文所述,根據該第一實施例,由於獨立地保證用以 儲存(添加)針對主機寫入請求之寫入物件資料之儲存區域 及用以添加針對I缩之I缩物件資料之儲存區$,因此可 考量存取型樣之位址局部性且可改良一般使用效能。 第二實施例 在該第-實施例中’例示以下情況:獨立地保證用以儲 存(添加)針對主機寫入請求之寫入物件資料之儲存區域及 用以添加針對壓縮之壓縮物件資料之儲存區域。當獨立地 執行主機寫入程序及壓縮程序時,關於相同邏輯位址區域 之該主機寫入程序及該壓縮程序可彼此重叠,且需要保證 官理資訊之一致性。 因此’在該第:實施例中,例示以下情況:當關於相同 153846.doc 14 201205286 邏輯位址之該主機寫入程序及該壓縮程序彼此重疊時,管 理資訊最後經更新以指示在彼處藉由主機寫入程序寫入資 料之一新頁,且保證該管理資訊之一致性。 首先’將闡述用於保證該管理資訊之一致性之一方法。 圖3至ό顯示其中關於相同邏輯位址區域之該主機寫入程 序及該壓縮程序係重疊之一情形。在此情形中,若該管理 資訊最後經更新以指示在彼處藉由該主機寫入程序寫入資 料之一新頁’則可保證該管理資訊之一致性。 在圖3中所示之一實例中,該壓縮程序首先開始,該主 機寫入程序在該壓縮程序期間開始且該該壓縮程序在該主 機寫入程序完成之前完成。在此情況下,該管理資訊係藉 由s亥壓縮程序及該主機寫入程序兩者更新且該管理資訊指 示在彼處藉由該主機寫入請求寫入資料之一新頁。 在圖4中所示之一實例中,該壓縮程序首先開始,該主 機寫入程序在該壓縮程序期間開始,且該主機寫入程序在 該壓縮程序完成之前完成。在此情況下,當該壓縮程序結 束時不更新該管理資訊且該管理資訊指示在彼處藉由該主 機寫入請求寫入資料之一新頁。 在圖5中所示之一實例中,該主機寫入程序首先開始, 該壓縮程序在該主機寫入程序期間開始,且該主機寫入程 序在戎壓縮程序完成之前完成。在此情況下,當該壓縮程 序結束時不更新該管理資訊且該管理資訊指示在彼處藉由 該主機寫入請求寫入資料之一新頁。 在圖6中所示之一實例中,該主機寫入程序首先開始, 153846.doc -15- 201205286 該壓縮程序在該主機寫入程序期間開始,且該磨縮程序在 該主機寫入程序完成之前完成。在此情況下,該管理資訊 係藉由該壓縮程序及該主機寫入程序兩者更新且該管理資 訊指示在彼處藉由該主機寫人請求寫人資料之一新頁。 若該資料儲存裝置丢失該管理資訊,則該資料儲存裝置 不能正常運行。出於此原因,需要在任意時間將該管理資 訊储存於該儲存媒體中且根據需要恢復所儲存管理資訊。 每當更新該管理資訊時皆需㈣存該㈣資訊^而, 若每當更新該管理資訊時皆所有健存該管理資訊,則一儲 存時間增加且關於該儲存媒體之寫入量亦可增加。因此, 在預定時間儲存所有該管理資訊(快照)且每當更新該管理 資訊時儲存差異資訊(日誌)。 執行該管理資財恢復錢得在恢復財於該儲存媒體 中之-最新快照之後,在儲存該快照之後所儲存之—日諸 按照時間序列之次序順序地應用於所恢復快照。藉此,^; 恢復田最後§己錄一曰誌、時之一時間點之管理資訊。 若獨立地保證針對主機寫入請求之儲存區域及針對壓縮 之儲存區域且獨立地執行該主機寫人程序及該㈣程序, 則基於該线冑人請求之冑人目㈣及該壓_序之存取 目的地變成該儲存媒體上之離散實體位址。在使用一半導 體儲存元件(例如SSD)作為儲存媒體之資料儲存裝置之情 況下,即使當對儲存媒體進行存取時對應實體位址係離散 實體位i止’亦不存在一時間懲罰&可忽略該時間懲罰。因 此,當獨立地保證針對主機寫入請求之儲存區域及針對壓 153846.doc 201205286 縮之儲存區域且獨立地執行該主機寫人程序及該壓縮程序 時所獲得之—有利效應增加。在使用-磁碟(例如一hdd) 作為儲存媒體之-資料儲存裝置之情況下,若當對該儲存 媒體進行存取時對應實體位址係、離散實體位址時,一時間 懲罰增加,例如—磁頭之-移動程序時.間或直至提示該磁 碟上之資料之一旋轉等待時間。因此,當獨立地保證針對 主機寫入請求之料區域及針㈣縮之儲存區域且獨立地 執行該主機寫入程序及該壓縮程序時所獲得之一有利效應 增加。 接下來,將闡述根據該第二實施例之該資料儲存裝置之 組態。 圖7係顯示根據該第二實施例之一資料儲存裝置2 〇 〇之詳 細功能組態之一實例之一方塊圖。如圖7中所示,資料儲 存裝置200包含一半導體儲存媒體控制單元2〇3、一半導體 儲存媒體205、一轉換表控制單元221、一轉換表儲存單元 223、一主機寫入日誌結構化指標控制單元232、一主機寫 入日誌結構化指標儲存單元23〇、一壓縮日誌結構化指標 控制單元242、一壓縮日誌結構化指標儲存單元24〇、一區 塊使用資訊控制單元226、一區塊使用資訊儲存單元228、 緩衝控制單元207、一緩衝儲存單元209、一主機介面單 元2丨〇、_命令控制單元215、一寫入指示單元MO、一讀 取指示單元260、一壓縮單元270、一快照儲存單元282、 一曰誌儲存單元284、一管理資訊恢復單元29〇、一快照恢 復單元292及一日誌、恢復單元294。 153846.doc -17- 201205286 半導體儲存媒體控制單元203控制關於半導體儲存媒體 205之資料讀取/寫入且對自寫入指示單元250、讀取指示 單元260、壓縮單元270、快照儲存單元282、曰誌儲存單 元284、快照恢復單元292及曰誌恢復單元294存取半導體 儲存媒體205給予支援。半導體儲存媒體控制單元2〇3之一 功能係藉由由處理器5丨執行各種系統程式及NAND介面57 之一功能來實現。 若半導體儲存媒體控制單元203自寫入指示單元250、讀 取指示單元260或壓縮單元270接收所指定實體位址區域之 一資料讀取請求’則半導體儲存媒體控制單元2〇3自半導 體儲存媒體205之所指定實體位址區域讀取資料並將所讀 取資料提供給一讀取請求源。若半導體儲存媒體控制單元 2〇3自寫入指示單元25〇、讀取指示單元26〇或壓縮單元27〇 接收寫入物件資料及關於所指定實體位址區域之一資料寫 入請求’則半導體儲存媒體控制單元203將所接收寫入物 件資料寫入半導體儲存媒體2〇5之所指定實體位址區域 中。 若自寫入指示單元250、讀取指示單元26〇或壓縮單元 27〇連續發佈一讀取請求或一寫入請求,則半導體儲存媒 體控制單元203連續執行所請求程序。現在考量以下一情 形.自/已自寫入指示單元250、讀取指示單元26〇及壓縮 單元270當中不同於發佈連續請求之功能單元之一功能單 元單獨地或連續地發佈一讀取請求或寫入請求至半導體儲 存媒體控制單元203。舉例而言,考量以下一情形:壓縮 153846.doc 201205286 單元270連續發佈請求以使得半導體儲存媒體控制單元2〇3 連續執行該等所請求程序,且自寫入指示單元25〇發佈一 寫入請求或已自寫入指示單元25〇發佈一寫入請求。在此 情況下’半導體儲存媒體控制單元加不執行下__連續請 求之-程序’而根據需要執行自不同於發佈該等連續請求 之功能單元之功能單元所請求之㈣。亦即,半導體儲存 媒體控制單元203根據需要切換該程序。若切換之 序係完成,則半導體儲存媒體控制單元加根據需要執行 下-連續請求之-程序H半導體料媒體控制單元 203根據需要重新開始被切換程序。 若半導體健存媒體控制單元203自寫入指示單元25〇或壓 縮單元270接收所指定區塊之—擦除請求,料導體儲存 媒體控制單元203執行半導體儲存媒體2〇5之所指定區塊之 一擦除程序。 若半導體儲存媒體控制單元2〇3接收來自快照儲存單元 282或日誌、儲存單元284之一資料儲存請求,則半導體儲存 媒體控制單元203將請求儲存之資料儲存於半導體赌存媒 體205之-敎區域中或可自儲存於半導體儲存媒體2〇5之 預定區域中之資訊追蹤之—區域中。 若半導體儲存媒體控制單元2〇3接收來自快照恢復單元 292或日總恢復單元294之一資料讀取請求,則半導體儲存 媒體控制單元2G3自半導體儲存媒體2()5之—預定區域或自 可自儲存於半導體儲存媒體2〇5之預定區域中之資訊追蹤 之一區域讀取所請求資料。半導體儲存媒體控制單元203 153846.doc •19· 201205286 將該所讀取資料提供給快照恢復單元292或日該恢 294。 半導體儲存媒體205對應於資料儲存單元丨且由一 NAND型快閃記憶體構成。一儲存元件(例如NAND型快閃 記,體)無法實現隨機讀取/寫入,能夠實現以稱為一頁之 一單元之讀取/寫入且構建稱為一區塊之一單元之一儲存 區域,該區塊中收集複數個頁。半導體儲存媒體2〇5係藉 由收集複數個區塊來構建。可連接複數個半導體儲存媒體 205 - 轉換表控制單元2 21控制存取由轉換表儲存單元2 2 3所儲 存之轉換表,且對自寫入指示單元25〇、讀取指示單元 260、壓縮單元270、快照儲存單元282、快照恢復單元292 及日誌恢復單元294存取轉換表儲存單元223給予支援《轉 換表控制單元221之一功能係藉由由處理器51執行各種系 統程式及記憶體介面5 3之一功能來實現。 轉換表控制單元221自寫入指示單元250、讀取指示單元 260、壓縮單元270、快照儲存單元282、快照恢復單元292 或曰誌恢復單元294接收關於該轉換表之一存取讀取,且 根據所接收存取請求執行一程序。 轉換表控制單元221執行該轉換表之一鎖定程序,以使 得寫入指示單元250或壓縮單元270執行該轉換表之排他控 制。轉換表控制單元221執行該轉換表之一鎖定釋放程 序,以使得寫入指示單元250或壓縮單元270結束該轉換表 之排他控制。 153846.doc -20- 201205286 轉換表儲存單元223對應於管理資訊儲存單元i2〇之一部 分且儲存該轉換表。該轉換表包含一正向查找表、一反向 查找表、一有效頁旗標及一有效頁計數器。 該正向查找表係指示由資料儲存裝置2〇〇所儲存之資料 之一邏輯位址與指不對應資料實際上儲存於半導體儲存媒 體205中之-實體儲存位置之一實體位址之間的一對應關 係之一表且當將位址自邏輯位址轉換成實體位址時使用。 圖8顯示正向查找表之資料組態之—實例。如圖8中所示, 正向查找表使用邏輯位址作為一索引且包含邏輯位址及實 體位址作為一條目。實體位址包含一區塊編號及一頁編 號。 該反向查找表係指示由資料儲存裝置2〇〇所儲存之資料 之一邏輯位址與指示對應資料實際上儲存於半導體儲存媒 體205中之一實體儲存位置之一實體位址之間的一對應關 係之一表且當將位址自實體位址轉換成邏輯位址時使用, 此與正向查找表相反。該有效頁旗標使用一真/假值顯示 該區塊中所包含之若干頁當中對應於在彼處寫入有效資料 之一頁之一有效頁。該有效頁計數器顯示該區塊中所包含 之5亥等頁當中有效頁之數目。 圖9顯示該反向查找表、該有效頁旗標及該有效頁計數 器之資料組態之一實例。如圖9中所示,該反向查找表、 該有效頁旗標及該有效頁計數器使用一區塊編號作為一索 引且包含該區塊編號、該有效頁計數器、該邏輯位址集及 °亥有效頁旗標集作為一條目。該邏輯位址集及該有效頁旗 153846.doc -21- 201205286 標集以該等頁設置於該區塊中之次序配置且可規定該邏輯 位址或該有效頁旗標之頁。相同區塊之有效頁計數器之一 值與有效頁旗標之真值之總數目彼此匹配。相同區塊中, 變成索引之區塊編號及變成正向查找表之條目之區塊編號 指派有相同編號。 主機寫入日誌結構化指標控制單元232控制存取由主機 寫入日誌結構化指標儲存單元23〇所儲存之主機寫入曰誌 結構化指標’且對自寫入指示單元250、快照儲存單元 282、快照恢復單元292及日誌恢復單元294存取主機寫入 曰誌結構化指標儲存單元230給予支援。主機寫入日誌結 構化指標控制單元232之一功能係藉由由處理器5 1執行各 種系統程式及記憶體介面53之一功能來實現。 主機寫入日誌結構化指標控制單元232自寫入指示單元 250、快照儲存單元282、快照恢復單元292或曰誌恢復單 元294接收關於主機寫入曰誌結構化指標之一存取請求, 且根據所接收存取請求執行一程序。 主機寫入日s忽結構化指標儲存單元23〇對應於第一儲存 單元130且儲存主機寫入日誌結構化指標。圖1〇顯示主機 寫入曰誌結構化指標之資料組態之一實例。如圖丨〇中所 不,主機寫入日誌結構化指標包含一區塊編號及一頁編 號。藉此,可辨識在彼處寫入資料之下一頁之一實體位 址。 壓縮日誌結構化指標控制單元242控制存取由壓縮日誌 結構化指標儲存單元240所儲存之壓縮日誌結構化指標, 153846.doc •22· 201205286 且對自壓縮單元270、快照儲存單元282、快照恢復單元 292及日誌恢復單元294存取壓縮日誌結構化指標儲存單元 240給予支援。壓縮曰誌結構化指標控制單元242之一功能 係藉由由處理器5 1執行各種系統程式及記憶體介面53之一 功能來實現。 壓縮日誌結構化指標控制單元242自壓縮單元270、快照 儲存單元282、快照恢復單元292或日誌恢復單元294接收 關於麈縮日誌結構化指標之一存取請求,且根據所接收存 取请求執行一程序。 壓縮曰誌結構化指標儲存單元240對應於第二儲存單元 140且储存壓縮日諸結構化指標。類似於圖丨〇中所示之主 機寫入日誌結構化指標,壓縮日誌結構化指標包含一區塊 編號及一頁編號。藉此,可辨識在彼處寫入資料之下一頁 之一實體位址。 區塊使用資訊控制單元226控制存取由區塊使用資訊儲 存單元228所儲存之區塊使用資訊。區塊使用資訊指示半 導體儲存媒體205中所包含之每一區塊是一未使用區塊還 是一已使用區塊。在此情況下,未使用區塊係在彼處未寫 入資料之一區塊或收集為一新的寫入目的地區塊之一區 • 塊’此乃因確定在所有頁中先前寫入之資料係無效。已使 用區塊係先前分配為一新寫入目的地區塊之一區塊及未收 集為未使用區塊之一區塊,此乃因尚未確定在所有頁中所 寫入資料係無效。區塊使用資訊控制單元226對自寫入指 示單元250、壓縮單元270、快照儲存單元282、快照恢復 153846.doc •23- 201205286 單元292及日諸恢復單元294存取區塊使用資訊儲存單元 228給予支援。區塊使用資訊控制單元226之一功能係藉由 由處理器5 1執行各種系統程式及記憶體介面53之一功能來 實現。 區塊使用資訊控制單元226自寫入指示單元250、壓縮單 元270、快照儲存單元282、快照恢復單元292或日誌恢復 單元294接收關於區塊使用資訊之一存取請求,並根據所 接收存取清求執行一程序。 區塊使用資訊儲存單元228對應於管理資訊儲存單元12〇 之一部分且儲存該區塊使用資訊。在該區塊使用資訊中, 指示半導體儲存媒體205中所包含之每一區塊是一未使用 區塊還是一已使用區塊之資訊與每一區塊相關聯。關於當 製造或操作資料儲存裝置2〇〇時確定為有缺陷區塊之區 塊’指示有缺陷區塊之資訊可係相關聯。 緩衝控制單元207控制關於緩衝儲存單元209之一資料輸 入/輸出’且對自寫入指示單元250、讀取指示單元260及 壓縮單元270存取緩衝儲存單元2〇9給予支援。緩衝控制單 元207之一功能係藉由由處理器5丨執行各種系統程式及記 憶體介面5 3之一功能來實現。 緩衝控制單元207自寫入指示單元250、讀取指示單元 260或壓縮單元270接收欲輸入之資料及一資料輸入請求, 且將所接收資料輸入至緩衝儲存單元2〇9。缓衝控制單元 207自寫入指示單元250、讀取指示單元26〇或壓縮單元27〇 接收一資料輸出請求’自緩衝儲存單元209輸出對應於所 153846.doc -24 * 201205286 接收輸出請求之資料且將該資料提供給該資料輸出請求 源。 緩衝儲存單元209作為一緩衝器儲存資料且係藉由 DRAM 54之一預定區域來實現。 主機介面單元210對應於接收器11〇之一部分功能且控制 一主機裝置(例如一伺服器電腦、一儲存系統之一控制器 及一個人電腦)與資料儲存裝置2〇〇之間的通信。 主機介面單元210自該主機裝置接收包含一寫入命令及 一讀取命令之一命令且向命令控制單元215發佈一命令執 行通知以根據一所接收命令類型執行一程序。該寫入命令 包含資料儲存裝置200之一寫入目的地邏輯位址及一寫入 資料大小。該讀取命令包含資料儲存裝置2〇〇之一讀取目 的地邏輯位址及一讀取資料大小。 若主機介面單元2H)自彳令控制單元215接收請求該主機 裝置發射資料之—請求’則主機介面單元21()發佈該所接 收請求該主機裝置發射資料之請求。若主機介面單元21〇 接收自該主機裝置發射且欲由資料儲存裝置2〇〇接收之資 料,則主機介面單元210將該資料發射至命令控制單元 215。 若主機介面單元210自命令控制單元215接收請求該主機 裝置接收資料之—請求,則主機介面單元η叫佈該所接 收請求該主機裝置接收資料之請求。若主機介面單元η。 自該主«置接收—f料接收請求,則主機介面單元 向命令控制單元2丨5發佈所接收來自該主機裝置之資料接 153846.doc •25· 201205286 收請求,且將該資料(其係自命令控制單元215接收且欲由 S玄主機農置接收)發射至該主機裝置。 命令控制單元215對應於接收器110之一部分功能。若命 令控制單元215自主機介面單元2 10接收一命令執行通知, 則命令控制單元215根據所接收命令之類型將一程序分配 、’Ό寫入心示單元25 〇或讀取指示單元260。命令控制單元 215之一功能係藉由由處理器51執行各種系統程式來實 現。 田命令控制單元215自主機介面單元21〇接收一寫入命令 或一讀取命令且針對該命令之一區域跨越一管理大小區域 (頁)之一邊界時,命令控制單元215以該管理大小區域之邊 界分割該命令。圖㈣示—寫人命令(其—寫人目的地邏 輯位址為3且一寫入資料大小為16)之一寫入區域與其中一 區段大小為512位元組且一管理大小為4千位元組之組態中 該雀理大小區域之邊界之間的一關係。在圖11中所示之一 實例之情況下,命令控制單元215將其寫入目的地邏輯位 址為3且寫入資料大小為16之寫入命令分割為具有一寫入 目的地邏輯位址3及一寫入資料大小5之一寫入命令、具有 一寫入目的地邏輯位址8及一寫入資料大小8之一寫入命令 及具有一寫入目的地邏輯位址16及一寫入資料大小3之一 寫入命令。當經分割命令為一寫入命令時命令控制單元 215通知寫入指示單元25〇該經分割命令且當經分割命令為 一讀取命令時通知讀取指示單元260該經分割命令。在自 主機"面單元21〇接收之該寫入命令或該讀取命令之區域 153846.doc •26· 201205286 不跨越該管理大小區域之邊界之情形下,當所接收命令為 一寫入命令時,命令控制單元215通知寫入指示單元25〇該 所接收命令且當所接收命令為一讀取命令時,通知讀取指 示單元260該所接收命令。 右命f控制單元215自主機介面單元21〇接收不同於該寫 入命令或該讀取命令之一命令之一執行通知時,命令控制 單元215執行一適當程序。 若命令控制單元2丨5自寫入指示單元25〇接收請求該主機 裝置發射資料之一請求,命令控制單元215將所接收請求 該主機裝置發射資料之請求發射至主機介面單元2ι〇。若 命令控制單元215自主機介面單元21〇接收由該主機裝置發 射之資料,則命令控制單元215將該所接收資料發射至寫 入指示單元250。 若命令控制單元215自讀取指示單元26〇接收請求該主機 裝置接收資料之一請求,則命令控制單元215將所接收請 求該主機裝置接收資料之請求發射至主機介面單元210。 若命令控制單元215自主機介面單元21〇接收來自該主機裝 置之一資料接收請求,則命令控制單元215將所接收來自 該主機裝置之資料接收請求發射至讀取指示單元26〇 ^若 命令控制單元215自讀取指示單元260接收欲由該主機裝置 接收之資料,則命令控制單元215將該所接收資料發射至 主機介面單元210。 寫入指示單元250執行對應於該寫入命令之一程序。寫 入指不單元250之一功能係藉由由處理器5丨執行各種系統 153846.doc •27· 201205286 程式來實現< 寫入指示單元25。自命令控制單元215接收-寫入命令 (其包含由命令控制單元215分割之若干寫入命令)。 寫入指示單元250向命令控制單元215發佈請求該主機裝 置發射資料之—請求。若寫人指*單以〇自命令控制單 元215接收由該主機裝置發射之資料,則寫入指示單元25〇 向缓衝控料元2〇7發佈所接收資料之__儲存請求。關於 由命令控制單元215分割之該等寫入命令,寫人指示單元 250可如上文所述與該主㈣置個別地交換資料或者命令 控制單元215或主機介面單元加可收集該資料且同時與該 主機裝置交換該資料。 當該寫人命令之-寫人資料大小小於-管理大小時(舉 例而言’如圖11中所示之該實例中,料分割結果變成具 有-寫入目的地邏輯位址3及一寫入資料大小5之一寫入命 令之-命令.下文中,作為分割結果變成具有寫入目的地 邏輯位址3及寫入資料大小5之寫入命令之命令稱為圖"中 所示之該實例),寫入指示單元25〇執行一整墊程序以使得 該寫入資料變成對應於該管理大小之資料。具體而言,寫 入指示單元250詢問轉換表控制單元221剩餘邏輯位址區域 (在圖11中所示之該實例中為一邏輯位址〇及一資料大小3 之區域)對應之一實體位址區域並獲取該剩餘邏輯位址區 域對應之該實體位址區域之資訊。寫入指示單元25〇向半 導體儲存媒體控制單元203發佈所獲取的該剩餘邏輯位址 區域對應之實體位址區域之一資料讀取請求,且向緩衝控 153846.doc •28· 201205286 制單元207發佈所讀取資料之一儲存請求,因此’緩衝控 制單元207將對應於該管理大小之資料連同自命令控制單 元215接收之資料儲存於緩衝儲存單元2〇9中。 寫入指示單元250詢問主機寫入曰誌結構化指標控制單 元2 3 2 S刖主機寫入曰誌、結構化指標,獲取該主機寫入 日遠結構化指標,且獲取該主機寫入日誌結構化指標對應 之一實體位址區域之資訊。 寫入指示單元250向緩衝控制單元2〇7發佈所儲存對應於 該管理大小之資料之一擷取請求,將所擷取資料及所獲取 主機寫入曰誌結構化指標對應之實體位址區域之資訊發射 至半導體儲存媒體控制單元203,且請求半導體儲存媒體 控制單元203將所擷取資料寫入所獲取主機寫入日誌結構 化指標對應之該實體位址區域中。當所獲取主機寫入曰誌 結構化指標指示該區塊之一首頁時,寫入指示單元25〇在 請求半導體儲存媒體控制單元2〇3寫入資料之前請求半導 體儲存媒體控制單元203執行一區塊擦除程序。然而,該 區塊擦除程序之執行時間並不限於此。舉例而言,該執行 時間可係當新分配用於主機寫入之一區塊時之時間、當將 -區塊收集為-未使用區塊時之時間或在將該區塊收集為 未使用區塊之後直至寫人指示單元25〇請求半導體儲存媒 體控制單元203寫人資料為止之—時間週期期間之任意時 間。 ' 寫入指示單元250請求轉換表控制單元221將包含該寫入 命令之區域之該管理大小區域之一頭部之一邏輯:址(在 153846.doc •29· 201205286 圖π中所不之該實例中為邏輯位址〇)登記在所獲取主機寫 入曰誌結構化指標對應之實體位址區域之對應反向查找表 中。寫入彳a示單元250通知曰誌儲存單元284經更新轉換表 之更新資訊。 寫入指示單元250請求轉換表控制單元221執行該轉換表 之一排他控制開始程序(鎖定程序)。 寫入指示單元250在該轉換表之排他控制期間更新該轉 換表以指不新寫入之資料。具體而言,寫入指示單元25〇 在接收該寫入命令之前詢問轉換表控制單元221對應於包 含該寫入命令之區域之管理大小區域之頭部之一邏輯位址 (在圖11中所示之該實例中為邏輯位址〇)之一實體位址(更 新前之實體位址)。寫入指示單元25〇請求轉換表控制單元 221致使所獲取更新前之實體位址對應之一有效頁旗標變 成OFF。寫入指示單元250請求轉換表控制單元221遞減所 獲取更新前實體位址對應之一區塊之一有效頁計數器。寫 入指不單元250請求轉換表控制單元221致使所獲取主機寫 入曰誌結構化指標對應之一有效頁旗標變成〇N。寫入指 示單元250請求轉換表控制單元221遞增所獲取主機寫入曰 誌結構化指標對應之一區塊之一有效頁計數器。寫入指示 單元250請求轉換表控制單元221更新該正向查找表之包含 該寫入命令之區域之管理大小區域之頭部之邏輯位址(在 圖11中所示之該實例中為邏輯位址〇)以指示主機寫入曰諸 結構化指標對應之實體位址區域之資訊。寫入指示單元 250通知曰誌儲存單元284經更新轉換表之更新資訊。 153846.doc -30· 201205286 寫入指示單元250請求轉換表控制單元221執行該轉換表 之一排他控制結束程序(鎖定釋放程序)。 寫入指示單元250請求主機寫入曰諸結構化指標控制單 元232更新該主機寫入曰誌結構化指標以指示下_頁。寫 入指示單元250詢問主機寫入曰誌結構化指標控制單元232 經更新主機寫入日誌結構化指標是否在該區塊之最後—頁 上。若寫入指示單元250接收指示該經更新主機寫入日總 結構化指標在該區塊之該最後一頁上之一回復,則寫入指 示單元250請求區塊使用資訊控制單元226執行一未使用區 塊之一分配程序。因此,更新該區塊使用資訊。寫入指示 單元250請求主機寫入曰諸結構化指標控制單元232更新該 主機寫入日途、結構化指標以指示一新分配區塊之—頭部之 一頁。寫入指示單元250通知曰誌儲存單元284經更新主機 寫入日誌結構化指標之更新資訊及經更新區塊使用資訊之 更新資訊。 寫入指示單元250請求曰誌儲存單元284提交通知給曰註 儲存單元284之更新資訊。 讀取指示單元260執行對應於該讀取命令之一程序。讀 取指示單元2 6 0之一功能係藉由由處理器5丨執行各種系統 程式來實現。 讀取指示單元260自命令控制單元215接收—讀取命令 (其包含由命令控制單元215分割之若干讀取命令)。讀取指 示單元260詢問轉換表控制單元221所接收讀取命令之邏輯 位址區域對應之一實體位址區域,並獲取該對應實體位址 153846.doc •31- 201205286 區域之資訊。 讀取指示單元260向半導體儲存媒體控制單元2〇3發佈該 所獲取實體位址區域之-資料讀取請求,並向緩衝控制單 元207發佈所讀取資料之一儲存請求。 讀取指示單元260向命令控制單元215發佈請求該主機褒 置接收資料之一請求。若讀取指示單元26〇自命令控制單 元215接收來自該主機裝置之一資料接收請求則讀取指 示單元2 6 0向緩衝控制單元2 〇 7發佈該所讀取資料之一擷取 請求並將所擷取資料遞送至命令控制單元215。關於由命 令控制單儿215分割之該等讀取命令,讀取指示單元26〇可 如上文所述與該主機裝置個別地交換資料或者命令控制單 元215或主機介面單元210可收集資料且同時與該主機裝置 交換該資料。 壓縮單元270在需要一壓縮程序時之時間或任意時間執 行該壓縮程序。壓縮單元270之功能係藉由由處理器51執 行各種系統程式來實現。 壓縮單元270詢問區塊使用資訊控制單元226已使用區塊 之一區塊編號並獲取該已使用區塊之該區塊編號。 壓縮單元270詢問轉換表控制單元22 1該等所獲取區塊當 中適於一壓縮物件之區塊’並獲取適於該壓縮物件之該區 塊之區塊編號及對應區塊之一有效頁旗標與一有效頁計數 器。適於壓縮物件之該區塊係其中該有效頁計數器之一值 係最小之一區塊。在此情況下,當選擇其中該有效頁計數 器之值為〇之區塊作為該壓縮物件時,壓縮單元270請求區 153846.doc -32· 201205286 塊使用資訊控制單元226將對應區塊登記為一未使用區 塊。因此,將該對應區塊收集為該未使用區塊。當將該對 應區塊收集為未使用區塊時,壓縮單元270通知日誌儲存 單元284經更新區塊使用資訊之更新資訊。 壓縮單元270向半導體儲存媒體控制單元2〇3發佈所獲取 壓縮物件區塊編號及有效頁旗標資訊對應之一實體位址區 域(複製源頁)之一讀取請求。若壓縮單元270接收該所讀取 資料,則壓縮單元270向緩衝控制單元207發佈所接收資料 之一儲存請求。 壓縮單元270詢問壓縮日誌結構化指標控制單元242 一當 前壓縮日誌結構化指標,獲取該壓縮日誌結構化指標且獲 取該壓縮曰總結構化指標對應之實體位址區域(複製目的 地頁)之資訊。 壓縮單元270向緩衝控制單元207發佈該所儲存資料之一 擷取請求’將該所擷取資料且所獲取壓縮日誌結構化指標 對應之實體位址區域(複製目的地頁)之資訊發射至半導體 儲存媒體控制早元203且凊求半導體儲存媒體控制單元203 將該所擷取資料寫入所獲取壓縮日誌結構化指標對應之實 體位址區域(複製目的地頁)中。當所獲取壓縮日誌結構化 指標指示該區塊之一首頁時,壓縮單元270在請求半導體 儲存媒體控制單元203寫入資料之前請求半導體儲存媒體 控制單元203執行一區塊擦除程序。然而,執行該區塊擦 除程序之時間並不限於此。舉例而言,該時間可係當新分 配用於壓縮之一區塊時之時間、當將一區塊收集為一未使 153846.doc -33- 201205286 用區塊時之時間或在將該區塊收集為該未使用區塊之後直 至壓縮單疋270請求半導體儲存媒體控制單元2〇3寫入資料 為止之一時間週期期間之任意時間。 壓縮單元270請求轉換表控制單元221將所獲取壓縮物件 區塊編號及有效頁旗標資訊對應之實體位址區域(複製源 頁)之反向查找邏輯位址資訊登記在所獲取壓縮日誌結構 化指標對應之實體位址區域(複製目的地頁)之對應反向查 找表中。壓縮單元270通知日誌儲存單元284經更新轉換表 之更新資訊。 壓縮單元270請求轉換表控制單元22丨執行該轉換表之一 排他控制開始程序(鎖定程序)。 壓縮單元270在該轉換表之排他控制期間更新該轉換表 以指示一壓縮目的地之資料。然而,如上文所述,當與正 被複製之資料對應之一邏輯位址區域相同之邏輯位址區域 之一寫入程序在該資料之複製程序期間由寫入指示單元 250完成時’壓縮單元270不應更新該轉換表。 具體而言’壓縮單元270向轉換表控制單元221發佈使用 所獲取壓縮物件區塊編號及有效頁旗標資訊對應之實體位 址區域(複製源頁)之反向查找邏輯位址資訊的正向查找表 之一參考請求’且獲取對應於該反向查找邏輯位址資訊之 一實體位址。壓縮單元270確定對應於所獲取反向查找邏 輯位址資訊之實體位址及所獲取壓縮物件區塊編號及有效 頁旗標資訊對應之實體位址區域(複製源頁)是否彼此匹 配》當確定該實體位址與該實體位址區域彼此不匹配時, 153846.doc •34· 201205286 此意指與正被複製之資料對應之邏輯位址區域相同之邏輯 位址區域之寫入程序在該資料之複製程序期間由寫入指示 單元250完成。出於此原因,壓縮單元270在該轉換表之排 他控制期間結束該程序且未更新該轉換表。當確定該實體 位址與該實體位址區域彼此匹配時,此意指與正被複製之 資料對應之邏輯位址區域相同之邏輯位址區域之寫入程序 在該資料之複製程序期間未由寫入指示單元250執行或執 行了但未完成。出於此原因,壓縮單元270更新該轉換 表。 具體而言’壓縮單元270請求轉換表控制單元221致使所 獲取塵縮物件區塊編號及有效頁旗標資訊對應之一實體位 址區域(複製源頁)之一有效頁旗標變成〇FF。壓縮單元27〇 請求轉換表控制單元221遞減對應於所獲取壓縮物件區塊 編號之一區塊之一有效頁計數器。壓縮單元27〇請求轉換 表控制單元221致使所獲取壓縮日誌結構化指標對應之實 體位址區域(複製目的地頁)之一有效頁旗標變成〇N。壓縮 單元270請求轉換表控制單元221遞增所獲取壓縮日誌結構 化指標對應之一區塊之一有效頁計數器。壓縮單元27〇請 求轉換表控制單元221更新該正向查找表的由所獲取壓縮 物件區塊編號及有效頁旗標資訊對應之實體位址區域(複 製源頁)之反向查找邏輯位址所指示之一條目以指示該壓 縮曰誌結構化指標對應之實體位址區域資訊(複製目的地 頁)。壓縮單兀270通知日誌儲存單元284經更新轉換表之 更新資sfl。若所獲取壓縮物件區塊之有效頁計數器之值變 153846.doc •35· 201205286 為〇,則壓縮單元270請求區塊使用資訊控制單元226將對 應區塊登記為一未使用區塊。因此,將該對應區塊收集為 未使用區塊。當將該對應區塊收集為未使用區塊時,壓縮 單元270通知日誌儲存單元284經更新區塊使用資訊之更新 資訊。 壓縮單元270請求轉換表控制單元22 1執行該轉換表之一 排他控制結束程序(鎖定釋放程序)。 壓縮單元270請求壓縮日誌結構化指標控制單元242更新 壓、%i日s志結構化指標以指不下一頁。壓縮單元2 7 〇詢問壓 縮日誌結構化指標控制單元242經更新壓縮日誌結構化指 標是否在該區塊之最後一個頁上。若壓縮單元270接收指 示該經更新壓縮日諸結構化指標在該區塊之該最後一個頁 上之一回復時,壓縮單元270請求區塊使用資訊控制單元 226執行一未使用區塊之一分配程序。因此,更新該區塊 使用資讥。壓縮單元270請求壓縮曰總結構化指標控制單 元242更新該壓縮日誌' 結構化指標以指示一新分配區塊之 一頭部之一頁。壓縮單元270通知日誌儲存單元284經更新 壓縮日誌結構化指標之更新資訊及經更新區塊使用資訊之 更新資訊。 壓縮單元270請求曰誌、儲存單元m提交通知給曰妹儲存 單元284之更新資訊。 快照储存單元282在當需要一快照儲存程序時之時間或 任意時間執行該快照儲存程序。快照儲存單元282之—功 能係藉由由處理器51執行各種系統程式來實現。 153846.doc -36· 201205286 快照儲存單元282請求日誌儲存單元284儲存指示一快照 記錄開始之資訊之一日誌》藉此,可辨識快照與日誌之記 錄時間之一次序關係。 快照儲存單元282請求轉換表控制單元221擷取該轉換 表,且獲取該轉換表。快照儲存單元282請求主機寫入曰 誌結構化指標控制單元232擷取主機寫入日誌結構化指 標,且獲取該主機寫入日誌結構化指標。快照儲存單元 282請求壓縮日誌結構化指標控制單元242擷取壓縮日誌結 構化指標’且獲取該壓縮日誌結構化指標。快照儲存單元 282請求區塊使用資訊控制單元226擷取區塊使用資訊,且 獲取該區塊使用資訊。 快照儲存單元282請求半導體儲存媒體控制單元2〇3儲存 所獲取轉換表、所獲取主機寫人日鼓、結構化指標、所獲取 塵縮日諸結構化指標及所獲取區塊使用資訊,並記錄快 照。若先前不能辨識半導體儲存媒體2〇5之在彼處記錄該 快照或該日諸之-實體位址,則當給資料儲存裝置細供 應電力時不能恢復該管理資訊。出於此原因,使半導體儲 存=之在彼處記錄該快照或該曰諸之該實體位址指 不半導體儲存媒體205之一預定區域或可 體⑽之該職區域中所記錄之資訊追蹤之―區域。錯存媒 =存:元282請求曰諸儲存單元m儲 §己錄結束之資訊之-以。藉此,可辨識快照與日: 錄時間之一次序關係。 ^ 心° 曰誌儲存單元 日誌儲存單元284執行一日誌儲存程序。 153846.doc -37- 201205286 284之一功能係藉由由處理器 現。 51執行各種系 統程式來實 曰諸儲存單元284自寫入指示罝一 收久锸不早70 250或壓縮單元270接 收各種資訊之更新資訊之一 訊。 且暫時儲存所接收更新資 曰諸儲存單元284自寫入指示單元25〇或壓縮單元27〇接 收一提交通知’請求半導體儲存媒體控制單元2〇3儲存該 暫時儲存之更新資訊且㈣料料之更新以記錄為一 曰誌。日誌儲存單元284自快照儲存單元282接收指示一快 照記錄開始之資訊之-日tt'之—儲存通知,請求半導體儲 存媒體控制單元203儲存所接收指示該快照記錄開始之該 資訊之日誌且將該資訊記錄為該日誌。日誌儲存單元2以 自快照儲存單元282接收指示一快照記錄結束之資訊之一 曰誌之一儲存通知,請求半導體儲存媒體控制單元2〇3儲 存所接收指示該快照記錄結束之資訊之日誌且將該資訊記 錄為該日t志。 圖1 2中顯示日誌儲存單元284透過半導體儲存媒體控制 單元203儲存之日誌之一實例。如圖丨2中所示,日誌儲存 單元284以按照日誌提交程序請求之接收次序之時間序列 配置日誌、。在此情況下,若偵測快照之記錄結束,則由於 快照記錄開始之前之日t志(在圖12中所示之一實例中為日 誌1及2)及先前所記錄之快照在一管理資訊恢復程序中變 得不必要,因此日誌儲存單元284釋放出該快照記錄開始 之前之日誌及先前所記錄之快照作為一新的資料儲存區 153846.doc -38 - 201205286 域。 當需要恢復管理資訊時,管理資訊恢復單元29〇執行一 管理資訊恢復程序。管理資訊恢復單元29〇之一功能係藉 由由處理器51執行各種系統程式來實現。管理資訊恢復單 元29〇5月求快照恢復單元292恢復一最新快照。管理資訊恢 復早7G290請求曰誌恢復單元294自在儲存該最新快照之後 所儲存之一日誌恢復管理資訊。 快照恢復單元292恢復該最新快照。快照恢復單元292之 一功能係藉由由處理器51執行各種系統程式來實現。 若快照恢復單元292自管理資訊恢復單元29〇接收最新快 照之一恢復請求,則快照恢復單元292向半導體儲存媒體 控制單元203發佈該最新快照之一擷取請求且接收該最新 快照。 快照恢復單元292自所接收快照擷取該轉換表,且請求 該轉換表控制單元2 21健存該所摘取轉換表。快照恢復單 兀292自所接收快照擷取主機寫入日誌結構化指標且請 求主機寫入日誌結構化指標控制單元232儲存該所擷取主 機寫入日誌結構化指標。快照恢復單元292自所接收快照 操取壓縮日遠、結構化指標,且請求壓縮日諸結構化指標控 制單元242儲存該所擁取壓縮日諸結構化指標。快照恢復 單元292自該所接收快照擷取該區塊使用資訊,且請求區 塊使用資訊控制單元226儲存該所擷取區塊使用資訊。 日誌恢復單元294自儲存該最新快照之後所儲存之日誌 恢復該管理資訊。日誌恢復單元294之一功能係藉由由處 153846.doc •39· 201205286 理器51執行各種系統程式來實現。 若日諸恢復單元294自管理資訊恢復單元290接收自儲存 該最新快照之後所儲存之日誌的該管理資訊之一恢復請 求’則曰'恢復早元2 9 4向半導體儲存媒體控制單元2 0 3發 佈在儲存該最新快照之後所儲存之該日諸之一掘取請求, 且接收在儲存該最新快照之後所儲存之該日键日該恢復 單元294按照記錄次序自該等所接收日誌擷取該等日誌, 且請求轉換表控制單元221、主機寫入曰誌結構化指標控 制單元232、壓縮日誌結構化指標控制單元242或區塊使用 資訊控制單元226反應該等日誌中所記錄之各種資訊之更 新資訊。 接下來’將闡述根據該第二實施例之該資料儲存裝置之 操作。 首先’將參考圖13闡述由資料儲存裝置2〇〇根據來自該 主機裝置之一寫入命令執行的一寫入程序之一序列。圖13 係顯不由資料儲存裝置200執行之該寫入程序之一序列之 一流程之一實例的一流程圖。為來自該主機裝置之該寫入 命令做準備’資料儲存裝置200先前保證一未使用區塊用 於來自該主機裝置之該寫入命令。 在步驟S1中’主機介面單元21〇自該主機裝置接收該寫 P 7且向卩7控制單元215發佈一命令執行通知以根據 所接收命令類型執行一程序。 在步驟S2中’若命令控制單元215自主機介面單元210接 收該寫入命令’則命令控制單元215調查對應命令之一區 153846.doc 201205286 域是否跨越管理大小區域(頁)之邊界。當該對應命令之區 域跨越該管理大小區域(頁)之邊界(在步驟32中為是)時, 則該程序繼續進行至步驟S3。同時,當該對應命令之區域 不跨越該管理大小區域(頁)之邊界(在步驟32中為否)時, 則該程序繼續進行至步驟S4。 在步驟S3中,命令控制單元215以該管理大小區域之邊 界分割該對應命令》舉例而言,如圖丨〖中所示,命令控制 單元215將其一寫入目的地邏輯位址為3且一寫入資料大小 為16之一寫入命令分割為具有一寫入目的地邏輯位址3及 一寫入資料大小5之一寫入命令、具有一寫入目的地邏輯 位址8及一寫入資料大小8之一寫入命令及具有一寫入目的 地邏輯位址16及一寫入資料大小3之一寫入命令。 在步驟S4中,命令控制單元215通知寫入指示單元25〇該 等經分割命令。當自主機介面單元21〇接收之該寫入命令 之£域不跨越該f理大小區域之邊界時,命令控制單元 215通知寫入指示單元25〇該所接收命令。因此,當分割該 寫入命令時,寫入指示單元25〇重複地執行以下程序。 在步驟S5t,寫入指示單元25〇向命令控制單元215發佈 請求該主機裝置發射資料之一請求。若命令控制單元215 自寫入指示單元250接收請求該主機裝置發射資料之該請 求,則命令控制單元215將所接收請求該主機裝置發射資 料之請求發射至主機介面單元21〇。若主機介面單元21〇自 命令控制單元215接收請求該主機裝置發射資料之該請 求,則主機介面單元210向該主機裝置發射所接收請求該 153846.doc •41- 201205286 ί Π置發射資料之請求。若主機介面單元210自該主機 欲由資料儲存裝置_接收之資料,則主機介面 <由資料儲存裝置接收之該㈣發射至命令 =早元215。若命令控制單元215自主機介面單元21〇接 2該主機裝置發射之該㈣,斜令_單元215將該 收資料發射至寫人指示單元25G。若寫入指示單元, 自H制單元215接收由該主機裝置發射之該資料,則 ^入指不早元25G向緩衝㈣單元2G7發佈該所接收資料之 二儲存請,。關於由命令控制單元⑴分割之該等寫入命 7 ’寫入指不單元250可如上文所述與該主機裝置個別地 交換資料或者命令控制單元215或主機介面單元㈣可收集 該資料且同時與該主機裝置交換該資料。緩衝控制單元 207將所指定資料儲存於緩衝儲存單元209中。 •在步驟S6中’寫入指示單元25〇調查該寫入彳令之寫入 =料大小疋否小於該管理大小。當該寫人資料大小小於該 管理大小(在步驟S6中為是)時,則該程序繼續進行至步驟 S7。當邊寫入資料大小不小於該管理大小(等於該管理大 小)(在步驟S6中為否)時,則該程序繼續進行至步驟s8。如 在圖11中所示之該實例中,其中寫入資料大小小於該管理 大小之情況係具有寫入目的地邏輯位址3及寫入資料大小$ 之寫入命令之情況。 在步驟S7中,寫入指示單元25〇詢問轉換表控制單元m 剩餘邏輯位址區域(在圖丨丨中所示之該實例中為具有邏輯 位址0及資料大小3之區域)對應之一實體位址區域。轉換 153846.doc • 42- 201205286 表控制單元221參考由轉換表儲存單元223所儲存之轉換 表,且提供對應實體位址區域之資訊。寫入指示單元25〇 獲取所獲取剩餘邏輯位址區域對應之該實體位址區域之資 訊,且向半導體儲存媒體控制單元2〇3發佈該剩餘邏輯位 址區域對應之該實體位址區域之一資料讀取請求。半導體 儲存媒體控制單元203讀取半導體儲存媒體2〇5之所指定實 體位址區域之資料且提供該資料。當自寫入指示單元25〇 連續發佈寫入請求或讀取請求並連續執行所請求程序且 自讀取指示單元260或壓縮單元270發佈或已經發佈讀取請 求或寫入請求時,半導體儲存媒體控制單元2〇3不執行下 一連續凊求之一程序而根據需要執行自讀取指示單元26〇 或壓縮單元270請求之一程序,亦即,半導體儲存媒體控 制單元203根據需要切換該程序。若切換之後之程序係完 成,則半導體儲存媒體控制單元2〇3根據需要執行下一連 續請求之一程序。亦即,半導體儲存媒體控制單元2〇3根 據需要重新開始被切換程序。寫入指示單元25〇向緩衝控 制單元207發佈該所讀取資料之一儲存請求。因此,緩衝 控制單元207將對應於該管理大小之資料連同自命令控制 單元215接收之資料儲存於緩衝儲存單元2〇9中。緩衝控制 單元207將所指定資料儲存於緩衝儲存單元2〇9中。 在步驟S8中’寫入指示單元25〇詢問主機寫入日誌結構 化指標控制單元232-當前主機寫入日誌、結構化指標。主 機寫入日諸結構化指標控制單元232提供由主機寫入日誌 結構化指標儲存單元23〇所儲存之主機寫入日誌結構化指 153846.doc -43· 201205286 標。寫入指示單元250獲取該主機寫入日誌結構化指標且 獲取該主機寫入日誌結構化指標對應之實體位址區域之資 §fl。寫入指不單元250向緩衝控制單元2〇7發佈所儲存對應 於該管理大小之資料之一擷取請求。緩衝控制單元2〇7擷 取由緩衝儲存單元209所儲存之所指定資料且提供該所指 定資料。寫入指示單元250將該所擷取資料及所獲取主機 寫入日誌結構化指標對應之實體位址區域資訊發射至半導 體儲存媒體控制單元203,且請求半導體儲存媒體控制單 兀203將該所擷取資料寫入該所擷取主機寫入日誌結構化 指標對應之該實體位址區域中。當所獲取主機寫入日誌結 構化指標指示該區塊之一首頁時,寫入指示單元25〇在請 求半導體儲存媒體控制單元2〇3寫入資料之前請求半導體 儲存媒體控制單元203執行一區塊擦除程序。然而,該區 塊擦除程序之執行時間並不限於此。舉例而言,該執行時 間可係當新分配用於主機寫入之一區塊時之時間、當將一 區塊收集為一未使用區塊時之時間或在將該區塊收集為該 未使用區塊之後直至寫入指示單元25〇請求半導體儲存媒 體控制單元203寫A資料為止之—時間週期期間之任意時 間。半導體儲存媒體控制單元2〇3將所指定資料寫入該半 導體儲存媒體之所指定實體位址區域中。t自寫入指示單 7C 250連續發佈寫入請求或讀取請求並連續執行所請求程 序,且自讀取指示單元26〇或壓縮單元270發佈或已經發佈 凟取凊求或寫入請求時,半導體儲存媒體控制單元2〇3不 執打下一連續請求之一程序而根據需要執行自讀取指示單 I53846.doc 201205286 兀260或壓縮單TL27G請求之-程序。亦即,半導體儲存媒 體控制單元203根據需要切換該程序。若切換之後之程序 係完成,則半導體儲存媒體控制單元2〇3根據需要執行下 一連續請求之一程序。亦即,半導體儲存媒體控制單元 203根據需要重新開始被切換程序。 在步驟S9中,寫入指示單元250請求轉換表控制單元221 將包含該寫入命令之區域之管理大小區域之頭部之邏輯位 址(在圖11中所示之該實例中為邏輯位址〇)登記於所獲取主 機寫入日諸結構化指標對應之反向查找表中。轉換表控制 單元221將包含該寫入命令之區域之管理大小區域之頭部 之邏輯位址(在圖11中所示之該實例中為邏輯位址〇)登記於 為轉換表儲存單元223所儲存之轉換表及所獲取主機寫入 曰諸結構化指標對應之反向查找表中。寫入指示單元250 通知日結健存單元284經更新轉換表之更新資訊。日誌儲 存單元284接收該經更新轉換表之更新資訊。 在步驟S10中’寫入指示單元250請求轉換表控制單元 221執行該轉換表之一排他控制開始程序(鎖定程序)。轉換 表控制單元221執行該轉換表之該排他控制開始程序(鎖定 程序)。 在步驟S11中,寫入指示單元250詢問轉換表控制單元 221在接收該寫入命令之前對應於包含該寫入命令之區域 之該管理大小區域之頭部之邏輯位址(在圖丨丨中所示之該 實例中為邏輯位址〇)之一實體位址(更新前實體位址)。轉 換表控制單元221參考由轉換表儲存單元223所儲存之轉換 153846.doc •45· 201205286 表,獲取在接收該寫入命令之前對應於包含該寫入命令之 區域之管理大小區域之頭部之邏輯位址(在圖丨丨中所示之 該實例中為邏輯位址〇)之實體位址(更新前實體位址)且提 供該實體位址。寫入指示單元250獲取在接收該寫入命令 之刖對應於包含該寫入命令之區域之管理大小區域之頭部 之邏輯位址(在圖1 1中所示之該實例中為邏輯位址〇)之實體 位址(更新前實體位址)。 在步驟S12中,寫入指示單元25〇請求轉換表控制單元 221致使所獲取更新前實體位址對應之一有效頁旗標變成 OFF。在步驟Sl3中,寫入指示單元25〇請求轉換表控制單 元221遞減該所獲取更新前實體位址對應之一區塊之一有 效頁計數器。在步驟S14中,寫入指示單元25〇請求轉換表 控制單元221致使所獲取主機寫入日誌結構化指標對應之 一有效頁旗標變成ON。在步驟S15中,寫入指示單元25〇 請求轉換表控制單元221遞增所獲取主機寫入日誌結構化 指標對應之一區塊之一有效頁計數器。在步驟si6中,寫 入指不單TC250請求轉換表控制單元221更新正向查找表之 包含該寫人命令之區域之管理大小區域之頭部之邏輯位址 (在圖11中所示之該實例中為邏輯位_以指示該主機寫入 日誌結構化指標對應之實體位址區域之資訊。轉換表控制 單元221㈣-指令更新由轉換表儲存單元⑵所儲存之該 轉換表。寫人指示單元25G通知日誌儲存單元—經更新轉 換表之更新資訊。 在步驟S17中,寫入指示單元25〇請求轉換表控制單元 153846.doc 46· 201205286 221執行該轉換表之一排他控制結束程序(鎖定釋放程序)。 轉換表控制單元221執行該轉換表之排他控制結束程序(鎖 定釋放程序)。 在步驟S18中,寫入指示單元250請求主機寫入日誌結構 化指標控制單元232更新該主機寫入日誌結構化指標以指 示下一頁。主機寫入日誌結構化指標控制單元232更新該 主機寫入曰誌結構化指標以指示下一頁。寫入指示單元 250通知日誌儲存單元284經更新主機寫入日誌結構化指標 之更新資訊。 在步驟S19中,寫入指示單元250詢問主機寫入曰誌結構 化指標控制單元232經更新主機寫入日誌結構化指標是否 在該區塊之最後一個頁上。主機寫入日誌結構化指標控制 單元232調查經更新主機寫入日誌結構化指標是否在該區 塊之最後一個頁上且提供該調查結果。若寫入指示單元 250接收指示經更新主機寫入日誌結構化指標在該區塊之 最後一個頁上之一回復時,該程序繼續進行至步驟S2〇。 否則’該程序繼續進行至步驟S21。 在步驟S20中,寫入指示單元250請求區塊使用資訊控制 單元226執行一未使用區塊之一分配程序。因此,更新該 區塊使用資訊。區塊使用資訊控制單元226自由區塊使用 資訊儲存單元228所儲存之區塊使用資訊選擇未使用狀態 之區塊’分配該未使用區塊且更新該區塊使用資訊。寫入 指示單元250請求主機寫入曰誌結構化指標控制單元232更 新主機寫入日誌結構化指標以指示一新分配區塊之一頭部 153846.doc • 47· 201205286 之一頁。主機寫入曰誌結構化指標控制單元232更新由主 機寫入日誌結構化指標儲存單元230所儲存之該主機寫入 日誌結構化指標以指示一新分配區塊之一頭部之一頁。寫 入指示單元250通知日誌儲存單元284經更新主機寫入日誌 結構化指標之更新資訊及經更新區塊使用資訊之更新資 訊。 在步驟S21中,寫入指示單元25〇請求日誌儲存單元284 提交通知給日誌儲存單元284之該更新資訊。日誌儲存單 元284自寫入指示單元25〇接收一提交通知,且請求半導體 儲存媒體控制單元203儲存該暫時儲存之更新資訊。半導 體儲存媒體控制單元203將該暫時儲存之更新資訊記錄為 一曰誌。若先前不能辨識半導體儲存媒體2〇5之在彼處記 錄該日誌之實體位址,則當給資料儲存裝置2〇〇供應電力 時不能恢復該管理資訊。出於此原因,使半導體儲存媒體 205之在彼處記錄該日誌之實體位址指示半導體儲存媒體 205之一預定區域或可自半導體儲存媒體2〇5之預定區域中 所記錄之資訊追蹤之一區域。 在步驟S22中,根據需要自步驟S4重複該程序。 接下來,將參考圖14闡述由資料儲存裝置2〇〇根據來自 该主機裝置之一讀取命令執行之一讀取程序之一序列。圖 14係顯示由資料儲存裝置2〇〇執行之該讀取程序之一序列 之一流程之一實例的一流程圖。在此情況下,假設請求讀 取之資料先前藉由寫入命令寫入。 在步驟S31中,主機介面單元21〇自該主機裝置接收一讀 153846.doc •48· 201205286 取命令且向命令控制單元215發佈一命令執行通知以根據 一所接收命令類型執行一程序。 在步驟S32中,若命令控制單元215自主機介面單元21〇 接收該讀取命令,則命令控制單元215調查對應命令之區 域是否跨越管理大小區域(頁)之邊界。當該對應命令之區 域跨越該管理大小區域(頁)之邊界(在步驟S32中為是)時, 則該程序繼續進行至步驟S33,當該對應命令之區域不跨 越該管理大小區域(頁)之邊界(在步驟S32中為否)時,則該 程序繼續進行至步驟S34。 在步驟S33中,命令控制單元215以管理大小區域之邊界 分割對應命令^該命令分割程序與寫入程序之情況下之命 令分割程序相同》 在步驟S34中,命令控制單元215通知讀取指示單元26〇 該等經分割命令。當自主機介面單元.21〇接收之該讀取命 令之區域不跨越該管理大小區域之邊界時,命令控制單元 215通知讀取指示單元260所接收命令。因此,當分割該讀 取命令時’讀取指示單元260重複地執行以下程序。 在步驟S35中,讀取指示單元260詢問轉換表控制單元 221所接收讀取命令之邏輯位址區域對應之一實體位址區 域’且獲取對應實體位址區域之資訊。轉換表控制單元 221參考由轉換表儲存單元223所儲存之轉換表,且提供所 接收讀取命令之邏輯位址區域對應之該實體位址區域資 訊。讀取指示單元260獲取所接收讀取命令之邏輯位址區 域對應之實體位址區域資訊。 153846.doc -49- 201205286 在步驟S36中,讀取指示單元26〇向半導體儲存媒體控制 單元203發佈所獲取實體位址區域之一資料讀取請求。半 導體儲存媒體控制單元2〇3讀取該半導體儲存媒體之所指 定實體位址區域之資料且提供該資料。當自讀取指示單元 260連續發佈讀取請求並連續執行所請求程序且自寫入指 示單元250或壓縮單元27〇發佈或已經發佈讀取請求或寫入 請求時,半導體儲存媒體控制單元203不執行下一連續請 求之程序而根據需要執行自寫入指示單元25〇或壓縮單元 270請求之一程序。亦即,半導體儲存媒體控制單元2〇3根 據需要切換該程序。若切換之後之程序係完成,則半導體 儲存媒體控制單元203根據需要執行下一連續請求之一程 序。亦即,半導體儲存媒體控制單元2〇3根據需要重新開 始被切換程序❶讀取指示單元26〇向緩衝控制單元2〇7發佈 所讀取資料之一儲存請求。緩衝控制單元2〇7將所指定資 料儲存於緩衝儲存單元2〇9中。 在步驟S37中,璜取指示單元260向命令控制單元215發 佈睛求該主機裝置接收資料之一請求。若命令控制單元 2 15自讀取指示單元26〇接收請求該主機裝置接收資料之該 請求’則命令控制單元215將所接收請求該主機裝置接收 資料之請求發射至主機介面單元210。若主機介面單元21〇 自命令控制單元215接收請求該主機裝置接收資料之該請 求,則主機介面單元21〇發佈所接收請求該主機裝置接收 資料之請求。若主機介面單元210自該主機裝置接收一資 料接收請求,則主機介面單元21〇向命令控制單元215發佈 153846.doc 201205286 所接收來自該主機裝置之資料接收請求。若命令控制翠元 215透過主機介面單元21〇接收來自該主機裝置之資料接收 °月求則叩7控制單元215將所接收來自該主機裝置之資 料接收請求發射至讀取指示單元鳩。若讀取指示單元26〇 自命令控制單元215接收來自該主機裝置之該資料接收請 求,則讀取指示單元26〇向緩衝控制單元2〇7發佈所讀取資 料之擷取切求。緩衝控制單元207擷取由緩衝儲存單元 謝所健存之所指^資料且提供該所掏取資料。讀取指示 單元260將該所擷取資料遞送至命令控制單元215。若命令 控制單元215自讀取指示單元細接收欲由該主機裝置接收 之資料,則命令控制單元215將所接收資料發射至主機介 面單TC210 ^主機介面單元21〇將自命令控制單元2〗5接收 且欲由該主機裝置接收之資料發射至該主機裝置。關於由 命令控制單元215分割之該等讀取命令,讀取指示單元26〇 可如上文所述與該主機裝置個別地交換資料或者命令控制 單凡215或主機介面單元210可收集該資料且同時與該主機 裝置交換該資料。 在步驟S38中,根據需要自步驟S34重複該程序。 接下來,將參考圖15闡述由資料儲存裝置2〇〇執行之一 壓縮程序之一序列。圖15係顯示由資料儲 之該壓縮程序之一序列之一流程之一實例的—流程圖執; 料儲存裝置200在需要該壓縮程序時之時間或任意時間執 行該壓縮程序。需要該壓縮程序之時間 區塊使用資訊中之未使用區塊之數目是否小於預 153846.doc •51 · 201205286 來確定。 在步驟S41中,壓縮單元270詢問區塊使用資訊控制單元 226已使用區塊之一區塊編號。區塊使用資訊控制單元 參考由區塊使用資訊儲存單元228所儲存之該區塊使用資 訊,且提供已使用區塊之區塊編號。壓縮單元27〇獲取已 使用區塊之區塊編號。壓縮單元27〇詢問轉換表控制單元 221該等所獲取區塊當中適於一壓縮物件之區塊及該對應 區塊之有效頁旗標及有效頁計數器。適於壓縮物件之該區 塊係其中該有效頁計數器之一值為最小之一區塊。轉換表 控制單元221參考由轉換表儲存單元223所儲存之該轉換 表’掏取該等所獲取區塊當中適於該壓縮物件之該區塊且 提供適於該壓縮物件之該區塊之區塊編號、該對應區塊之 該有效頁旗標及該有效頁計數器。壓縮單元27〇獲取適於 該壓縮物件之該區塊之該區塊編號、該對應區塊之該有效 頁旗標及該有效頁計數器。 在步驟S42中,壓縮單元270調查選定為壓縮物件之區塊 之該有效頁計數器之值是否為〇。當該值為〇時,該程序繼 續進行至步驟S43。當該值不為0時,該程序繼續進行至步 驟 S44。 在步驟S43中,壓縮單元270請求區塊使用資訊控制單元 226將該對應區塊登記為一未使用區塊。因此,將該對應 區塊收集為該未使用區塊。區塊使用資訊控制單元226將 該對應區塊作為未使用區塊登記於由區塊使用資訊儲存單 元228所儲存之該區塊使用資訊中。因此,將該對應區塊 153846.doc -52· 201205286 收集為未使用區塊。壓縮單元270通知日誌儲存單元284經 更新區塊使用資訊之更新資訊。然後,該程序返回至步驟 S41 〇 在步驟S44中,壓縮單元270暫時儲存所獲取壓縮物件區 塊編號及有效頁旗標資訊。 在步驟S45中’壓縮單元270關於其中所獲取有效頁旗標 負訊為ON之頁重複地執行以下程序。 在步驟S46中,壓縮單元27〇向半導體儲存媒體控制單元. 203發佈所獲取壓縮物件區塊編號及有效頁旗標資訊對應 之一實體位址區塊(複製源頁)之一讀取請求。半導體儲存 媒體控制單7G203讀取該半導體儲存媒體之所指定實體位 址區塊之資料且提供該資料。當自壓縮單元27〇連續發佈 寫入清求或讀取請求並連續執行所請求程序且自讀取指示 單7L260或寫入指不單元25〇發佈或已經發佈讀取請求或寫 入請求時,半導體儲存媒體控制單元203不執行下一連續 明求之一程序而根據需要執行自讀取指示單元26〇或寫入 ^不早7L 250請求之一程序。,亦即,+導體儲存媒體控制 單7L 203根據需要切換該程序。若切換之後之程序係完 成丄則半導體儲存媒體控制單元2Q3根據需要執行下一連 續明求之一程序。亦即,半導體儲存媒體控制單元2〇3根 據而要重新開始被切換程序。若壓縮單元謂接收該所讀 取資料則壓縮單元27〇向緩衝控制單元2〇7發佈所接收資 料之儲存晴求。緩衝控制單元將所指定資料儲存於 緩衝儲存單元209中。 153846.doc -53- 201205286 在步驟S47中,壓縮單元270詢問轉換表控制單元221所 獲取壓縮物件區塊編號及有效頁旗標資訊對應之實體位址 區域(複製源頁)之反向查找邏輯位址資訊。轉換表控制單 元221參考由轉換表儲存單元223所儲存之轉換表,且提供 所獲取壓縮物件區塊編號及有效頁旗標資訊對應之實體位 址區域(複製源頁)之反向查找邏輯位址資訊。壓縮單元27〇 獲取所獲取壓縮物件區塊編號及有效頁旗標資訊對應之實 體位址區域(複製源頁)之反向查找邏輯位址資訊。 在步驟S48中’壓縮單元270詢問壓縮日誌結構化指標控 制單元242 —當前壓縮日誌結構化指標。壓縮日誌結構化 指標控制單元242提供由壓縮曰誌結構化指標儲存單元24〇 所儲存之壓縮日誌結構化指標。壓縮單元27〇獲取該壓縮 日誌結構化指標對應之實體位址區域(複製目的地頁)之資 訊。壓縮單元270向緩衝控制單元207發佈所儲存資料之一 擷取請求。緩衝控制單元207擷取由緩衝儲存單元2〇9所儲 存之所指定資料且提供該所擷取資料。壓縮單元27〇獲取 該儲存資料。壓縮單元270將該所擷取資料及所獲取壓縮 曰誌結構化指標對應之實體位址區域(複製目的地頁)之資 訊發射至半導體儲存媒體控制單元203,且請求半導體儲 存媒體控制單元203將該所擷取資料寫入所獲取壓縮日誌 結構化指標對應之實體位址區域(複製目的地頁)中。當所 獲取壓縮日誌結構化指示區塊之一首頁時,壓縮單元27〇 在請求半導體儲存媒體控制單元203寫入資料之前請求半 導體儲存媒體控制單元203執行一區塊擦除程序。然而, I53846.doc •54· 201205286 執行該區塊擦除程序之時間並不限於此。舉例而言,該時 間可係當新分配用於屡縮之一區塊時之時間、當將一區塊 收集為一未使用區塊時之時間或在將該區塊收集為該未使 用區塊之後直至屋縮單元270請求半導體儲存媒體控制單 疋203寫入資料為止之一時間週期期間之任意時間。半導 體儲存媒體控制單元203將所指定資料寫入半導體儲存媒 體205之所指定實體位址區域中。當自&缩單元㈣連續發 佈寫入請求或讀取請求並連續執行所請求程序且自讀取指 不單元26G或寫人指示單元25()發佈或已經發佈讀取請求或 寫入請求時,半導體儲存媒體控制單元203不執行下一連 續請求之一程序而根據需要執行自讀取指示單元細或寫 入私示單元250所請求之一程序。亦即,半 ㈣單元203根據需要切換該程序。若切換之後之程序係 完成,則半導體儲存媒體控制單元2〇3根據需要執行下一 連續請求之-料。亦即,半導體儲存㈣㈣單元 根據需要重新開始被切換程序。 在步驟S49中,壓縮單元270請求轉換表控制單元22〗將 所獲取壓縮物件區塊編號及有效頁旗標資訊對應之實體位 址區,(複製源頁)之對應反向查找邏輯位址資訊登記於所 獲取壓縮日誌結構化指標對應之實體位址區域(複製目的 地頁)之對應反向查找表中。轉換表控制單元221在由轉換 i 表儲存單元223所儲存之轉換表中將所獲取壓縮物件區塊 編號及有效頁旗標資訊對應之實體位址區域(複製源頁)之 對應反向查找邏輯位址資訊登記於所獲取壓縮日誌結構化 153846.doc 55· 201205286 指標對應之實體位址區域(複製目的地頁)之對應反向查找 表中。壓縮單元270通知曰誌儲存單元284經更新轉換表之 更新資訊》 在步驟S50中’壓縮單元270請求轉換表控制單元221執 行該轉換表之一排他控制開始程序(鎖定程序)。轉換表控 制單元22 1執行該轉換表之一排他控制開始程序(鎖定程 序)。 在步驟S51中,壓縮單元270使用所獲取壓縮物件區塊編 號及有效頁旗標資訊對應之實體位址區域(複製源頁)之對 應反向查找邏輯位址資訊向轉換表控制單元221發佈正向 查找表之一參考請求。轉換表控制單元221參考由轉換表 储存單元223所儲存之該轉換表、使用所獲取壓縮物件區 塊編號及有效頁旗標資訊對應之實體位址區域(複製源頁) 之對應反向查找邏輯位址資訊來參考正向查找表,且提供 對應於該反向查找邏輯位址資訊之一實體位址區域之資 说。壓縮單元27〇獲取對應於反向查找邏輯位址資訊之一 實體位址區域。 在步驟S52中,壓縮單元27〇確定對應於所獲取反向查找 邏輯位址資訊之實體位址區域與所獲取壓縮物件區塊編號 及有效頁旗標資訊對應之實體位址區域(複製源頁)是否彼 Α匹配。如上文所述,當與正被複製之資料對應之邏輯位 址區域相同之邏輯位址區域之寫入程序在該資料之該複製 程序期間由寫入指示單元25〇完成時,則不更新該轉換 表。當確定該等實體位址區域不匹配(在步驟S52中為否) 153846.doc •56· 201205286 時’此意指與正被複製之資料對應之邏輯位址區域相同之 邏輯位址區域之寫入程序在該資料之該複製程序期間由寫 入指示單元250完成。出於此原因,該程序繼續進行至步 驟S60且不應更新該轉換表。當確定該等實體位址區域匹 配(在步驟S52中為是)時’此意指與正被複製之資料對應 之邏輯位址區域相同之邏輯位址區域之寫入程序在該資料 之該複製程序期間未由寫入指示單元250執行或執行了但 未完成。出於此原因,該程序繼續進行至步驟§53且更新 該轉換表。 在步驟S53中,壓縮單元270請求轉換表控制單元221致 使所獲取壓縮物件區塊編號及有效頁旗標資訊對應之一實 體位址區域(複製源頁)之一有效頁旗標變成〇FF。在步驟 S54中,壓縮單元270請求轉換表控制單元221遞減對應於 所獲取壓縮物件區塊編號之一區塊之一有效頁計數器。在 步驟S56中,若所獲取壓縮物件區塊之有效頁計數器之值 ’憂成0(在步驟S55中為是),則壓縮單元27〇請求區塊使用 資訊控制單元226將該對應區塊登記為一未使用區塊。因 此,將該對應區塊收集為該未使用區塊。若所獲取壓縮物 件區塊之有效頁計數器之值變成〇(在步驟S55中為是),則 區塊使用資訊控制單兀226將該對應區塊作為未使用區塊 登記於由區塊使用資訊儲存單元228所儲存之區塊使用資 訊中且將該對應區塊收集為未使用區塊。#將㈣應區塊 收集為未使用區塊時,壓縮單元27G通知日諸儲存單元m 經更新區塊使用資訊之更新資訊。在步驟S57中,壓縮單 153846.doc -57- 201205286 元270請求轉換表控制單元221致使所獲取壓縮日誌結構化 才曰標對應之實體位址區域(複製目的地頁)之一對應有效頁 旗標變成ON。在步驟S58中,壓縮單元27〇請求轉換表控 制單元221遞增所獲取壓縮日誌結構化指標對應之一區塊 之一有效頁計數器。在步驟S59中,壓縮單元270請求轉換 表控制單元221更新該正向查找表之由所獲取壓縮物件區 塊編號及有效頁旗標資訊對應之實體位址區域(複製源頁) 之對應反向查找邏輯位址所指示之一條目以指示壓縮曰誌 結構化指標對應之實體位址區域(複製目的地頁)之資訊。 轉換表控制單元221根據一指令更新由轉換表儲存單元223 所儲存之轉換表。壓縮單元27〇通知日誌儲存單元284經更 新轉換表之更新資訊。 在步驟S60中,壓縮單元27〇請求轉換表控制單元221執 行該轉換表之一排他控制結束程序(鎖定釋放程序)。轉換 表控制單元22 1執行該轉換表之一排他控制結束程序(鎖定 釋放程序)^ 在步驟S61中’壓縮單元27〇請求壓縮日誌結構化指標控 制單元242更新壓縮日誌結構化指標以指示下一頁。壓縮 曰誌結構化指標控制單元242更新壓縮日誌結構化指標以 才曰不下一頁。壓縮單元27〇通知日誌儲存單元284經更新壓 縮日誌'結構化指標之更新資訊。 在步驟S62中,壓縮單元27〇詢問壓縮日誌結構化指標控 制單元242經更新壓縮日誌結構化指標是否在區塊之最後 個頁上。壓縮日誌結構化指標控制單元242調查經更新 153846.doc -58· 201205286 壓縮日誌結構化指標是否在區塊之最後一個頁上且提供該 調查結果。若壓縮單元270接收到指示經更新壓縮曰誌結 構化指標在區塊之最後一個頁上之回復’則該程序繼續進 行至步驟S63。否則,該程序繼續進行至步驟S64。 在步驟S63中,壓縮單元270請求區塊使用資訊控制單元 226執行一未使用區塊之一分配程序。因此,更新該區塊 使用資訊。區塊使用資訊控制單元226自由區塊使用資訊 儲存單元228所儲存之區塊使用資訊選擇未使用區塊,.分 配該未使用區塊且更新該區塊使用資訊。壓縮單元270請 求壓縮日誌結構化指標控制單元242更新壓縮日誌結構化 指標以指示一新分配區塊之一頭部之一頁。壓縮日誌結構 化指標控制單元242更新由壓縮日誌結構化指標儲存單元 240所儲存之壓縮日誌結構化指標以指示一新分配區塊之 一頭部之一頁。壓縮單元270通知日誌儲存單元284經更新 壓縮日誌結構化指標之更新資訊及經更新區塊使用資訊之 更新資訊。 在步驟S64中,壓縮單元270請求日誌儲存單元284提交 通知給日誌儲存單元284之該更新資訊。日誌儲存單元284 自壓縮單元270接收一提交通知且請求半導體儲存媒體控 制單元203儲存暫時儲存之更新資訊。半導體儲存媒體控 制單元203將該暫時儲存之更新資訊記錄為一日誌。若先 前不此辨識半導體儲存媒體205之在彼處記錄該日誌之一 實體位址,則當給資料儲存裝置2〇〇供應電力時不能恢復 該官理資訊。出於此原因,使半導體儲存媒體2〇5之在彼 I53846.doc •59· 201205286 處記錄該日誌之該實體位址指示半導體儲存媒體2〇5之一 預定區域或可自半導體儲存媒體205之該預定區域中所記 錄之資訊追蹤之一區域。 在步驟S65中,根據需要自步驟S45重複該程序。 接下來’將參考圖16闡述由資料儲存裝置200執行之一 快照記錄程序之一序列。圖16係顯示由資料儲存裝置2〇〇 執行之該快照記錄程序之序列之一流程之一實例的一流程 圖。資料儲存裝置200在預定時間或任意時間執行該快照 儲存程序。 在步驟S71中,快照儲存單元282請求日誌儲存單元284 儲存指示一快照記錄開始之資訊之一日誌。藉此,可辨識 快照與日誌之記錄時間之一次序關係。日誌儲存單元284 請求半導體儲存媒體控制單元2〇3儲存指示該快照記錄開 始之資訊。半導體儲存媒體控制單元2〇3將指示該快照記 錄開始之資訊記錄為該日誌。若先前不能辨識半導體儲存 媒體205之在彼處記錄該日誌之一實體位址,則當給資料 儲存裝置200供應電力時不能恢復該管理資訊。出於此原 因’使半導體儲存媒體205之在彼處記錄該日誌之該實體 位址指示半導體儲存媒體2〇5之一預定區域或可自半導體 儲存媒體205之該預定區域中所記錄之資訊追蹤之一區 域。 在步驟S72中,快照儲存單元282請求轉換表控制單元 221擷取該轉換表且獲取該轉換表。快照儲存單元282請求 主機寫入日誌結構化指標控制單元232擷取主機寫入曰誌 153846.doc -60 - 201205286 結構化指標,且獲取該主機寫入日誌結構化指標。快照儲 存單元282請求壓縮曰誌結構化指標控制單元242擷取壓縮 日誌結構化指標,且獲取該壓縮日誌結構化指標。快照儲 存單元282請求區塊使用資訊控制單元226擷取區塊使用資 訊’且獲取該區塊使用資訊。轉換表控制單元22 1擷取由 轉換表儲存單元223所儲存之該轉換表且提供該轉換表。 主機寫入日链結構化指標控制單元2 3 2操取由主機寫入曰 諸結構化指標儲存單元230所儲存之該主機寫入日誌結構 化指標且提供該主機寫入日誌.結構化指標。壓縮日誌結構 化指標控制單元242擷取由壓縮日誌結構化指標儲存單元 240所儲存之該壓縮日誌結構化指標且提供該壓縮日誌結 構化指標。區塊使用資訊控制單元226擷取由區塊使用資 訊儲存單元228所儲存之該區塊使用資訊且提供該區塊使 用資訊》 在步驟S73中,快照儲存單元282請求半導體儲存媒體控 制單元203儲存所獲取轉換表、所獲取主機寫入日誌結構 化指標、所獲取壓縮日誌結構化指標及所獲取區塊使用資 訊並記錄該快照《半導體儲存媒體控制單元2〇3將所獲取 轉換表、所獲取主機寫入日誌結構化指標、所獲取壓縮日 諸結構化指標及所獲取區塊使用資訊記錄為該快照。若先 前不能辨識半導體儲存媒體205之在彼處記錄該快照或該 曰諸之一實體位址,則當給資料儲存裝置2〇〇供應電力時 不能恢復該管理資訊。出於此原因,使半導體儲存媒體 205之在彼處記錄該快照或該日誌之該實體位址指示半導 153846.doc •61- 201205286 _存媒體205之一預定區域或可自半導體儲存媒體2〇5之 該預定區域中所記錄之資訊追蹤之一區域。 在步驟S74中’快照儲存單元282請求曰誌儲存單元284 儲存扎示一快照記錄結束之資訊之一日誌。藉此,可辨識 邊快照與該曰諸、之記錄時間之一次序關係。日諸儲存單元 284请求半導體儲存媒體控制單元2〇3儲存指示該快照記錄 °束之資汛。半導體儲存媒體控制單元203將指示該快照 。己錄結束之資訊記錄為該日誌。若先前不能辨識半導體儲 存媒體205之在彼處記錄該日諸之一實體位址,則當給資 料儲存裝置200供應電力時不能恢復該管理資訊。出於此 原因,料導體_媒體2〇5之在彼處記錄該日誌之該實 體位址記錄在半導體儲存媒體2〇5之一預定區域中或可自 半導體儲存媒體205之該預定區域中所記錄之資訊追蹤之 一區域申。曰誌儲存單元284透過半導體儲存媒體控制單 元203儲存之該等日誌由日誌儲存單元284以按照日誌提交 程序請求之接收次序之時間序列配置,如圖12中所示。在 此情況下,由於在該快照記錄開始之前之日誌(在圖12中 所示之4實例中為曰誌' 1及2)及先前所記錄之快照在一管 理資訊恢復程序中變成不必要,因此曰誌儲存單元284釋 放出該快照記錄開始之前之該等日諸及先前所記錄之快照 作為一新的資料儲存區域。 接下來,將參考圖17闡述由資料儲存裝置2〇〇執行之一 管理資訊恢復程序之一序列。圖17係顯示由資料儲存裝置 2〇〇執行之該管理資訊恢復程序之該序列之—流程之一實 153846.doc •62· 201205286 例的一流程圖。當給資料儲存裝置200供應電力時,資料 儲存裝置200恢復該管理資訊。資料儲存裝置2〇〇可在當需 要恢復该官理資訊時(甚至在不同於當給資料儲存裝置2〇〇 供應電力時之情況下)之時間恢復該管理資訊。舉例而 言,當偵測到儲存於DRAM 54中之管理資訊之資料破壞 時,資料儲存裝置200可執行該管理資訊恢復程序。 在步驟S81中,管理資訊恢復單元29〇請求快照恢復單元 292恢復一最新快照。若快照恢復單元292自管理資訊恢復 單元290接收該最新快照之一恢復請求,則快照恢復單元 2 9 2向半導體儲存媒體控制單元2 〇 3發佈該最新快照之一擷 取請求。半導體儲存媒體控制單元203自半導體儲存媒體 205讀取所請求資料且提供該所讀取資料。快照恢復單元 292接收該最新快照。快照恢復單元292自該所接收快照擷 取轉換表且請求轉換表控制單元2 2丨儲存所擷取轉換表。 轉換表控制單元2 21將該所擷取轉換表儲存於轉換表儲存 單元223中。快照恢復單元292自該所接收快照擷取主機寫 入曰誌結構化指標且請求主機寫入日誌結構化指標控制單 元232儲存該所擷取主機寫入日誌結構化指標。主機寫入 日誌結構化指標控制單元232將該所擷取主機寫入日誌結 構化指標儲存於主機寫入日誌結構化指標儲存單元23〇 中。快照恢復單元292自該所接收快照祿取壓缩日總結構 化指標且請求壓縮日誌結構化指標控制單元242儲存該所 擷取壓縮日誌結構化指標。壓縮日誌結構化指標控制單元 242將該所棟取壓縮曰镜、結構化指#儲存於壓縮曰諸結構 153846.doc •63- 201205286 化才曰心儲存單το 24G中。快照恢復單元292自該所接收快照 糊取區塊使用資sfl且請求區塊使用資訊控制單元226健存 斤擷取區塊使用資訊。區塊使用資訊控制單元226將該 斤榻取區塊使用資sfl健存於區塊使用資訊健存單元228 中。 在步驟S82至S84中,管理資訊恢復單元挪請求日誌恢 二單元294自在儲存該最新快照之後所儲存之一日誌恢復 苢里資Λ若日諸恢復單元294自管理資訊恢復單元290接 收自在儲存該最新快照之後所儲存之該日誌的該管理資訊 ,恢復請求,貝"誌恢復單元294向半導體儲存媒體控制 單元203發佈在儲存該最新快照之後所儲存之該日誌之一 擷取請求。半導體儲存媒體控制單元2〇3自半導體儲存媒 體205讀取所請求資料且提供該所讀取資料。日誌恢復單 元294接收在儲存該最新快照之後所儲存之該日誌。日誌 恢復單元294按照記錄次序自該等所接收日誌擷取該等日 达,且請求轉換表控制單元22!、主機寫入日誌結構化指 標控制單元232、壓縮日誌結構化指標控制單元242或區塊 使用資訊控制單元226反應該等曰誌中所記錄之各種資訊 之更新資訊《轉換表控制單元221、主機寫入曰誌結構化 才曰私控制單元232 '壓縮日誌結構化指標控制單元242或區 塊使用資訊控制單元226將該等日誌中所記錄之各種資訊 之更新資訊反應在由轉換表儲存單元223所儲存之轉換 表、由主機寫入日Ί志結構化指標儲存單元23 〇所儲存之主 機寫入日I志結構化指標、由壓縮日誌、結構化指標儲存單元 153846.doc •64· 201205286 240所儲存之壓縮日誌結構化指標或由區塊使用資訊儲存 單元228所儲存之區塊使用資訊上。 接下來,將闡述根據該第二實施例之資料儲存裝置2〇〇 之一有利效應。 在該壓縮程序中,作為該壓縮程序之結果,將變成壓縮 源之區塊收集為未使用區塊。因此,較佳地’藉由該壓縮 複製之頁之數目係小。出於此原因,當偵測到壓縮物件區 塊時,較佳地選擇其中有效頁之數目盡可能小之區塊。然 而,為改良效率,需要使用位址局部性來降低偵測為壓縮 物件區塊之區塊之有效頁之數目。 在關於3亥資料儲存裝置之一存取型樣中,通常存在位址 局部性。若存在位址局部性,則其中更新頻率為高之資料 容易因新的寫入變為無效,且其中更新頻率為低之資料很 少因新的寫入冑為無效β出於此原目,自該主機裝置請求 寫入之資料係具有高更新頻率之資料且被壓縮資料係直至 區塊被壓縮才更新之資料。因此,被壓縮資料係具有低更 新頻率之資料。 在根據該第二實施例之資料儲存裝置2〇〇中,由於使用 其中個別地提供主機寫入日誌結構化指標及壓縮日誌結構 化指標之組態’因此可個別地收集具有高更新頻率之資料 及具有低更新頻率之資料。若收集具有高更新頻率且容易 變為無效之資料,則可降低對應區塊之有效頁之數目之一 預期值自於根據該第二實施例之資料儲存裝置中有 效頁之總數目隸定’因此若收集具有低更新頻率且很少 153846.doc •65- 201205286 變為無效之資料,則對應區塊之有效頁之數目之一預期值 增加。因此,可降低另一區塊之有效頁之數目之一預期 值。 同時,在其中不存在位址局部性之隨機寫入時,甚至當 使用或不使用其中個別地提供主機寫人日tt、結構化指標及 壓縮日誌結構化指標之組態時,偵測為壓縮物件區塊之區 _有效頁之數目之一預期值係相同。出於此原因,如在 該第二實施例中,即使使用其中個別地提供主機寫入日諸 結構化指標及壓縮日誌結構化指標之組態,隨機寫入效能 亦未劣化。 上文所述,在该第二實施例中,可藉由使用存取型樣 之位址局部性來降低欲㈣之—區塊之有效頁之數目之一 頁期值0此,與不使用其中個別地提供主機寫入日諸結 構:指標及壓縮曰誌結構化指標之組態之情況相比較,可 使實際上在該資料儲存裝置中寫人及讀取之資料之大小小 於自該主機裝置請求寫人之資料之大小。因此,可獲得該 資料储存裝置之高寫人效能及長設計壽命。 在-正常狀態中’總是執行壓縮。因此,當不使用其中 :别地提供主機寫人日諸結構化指標及壓縮日諸結構化指 標之組態時’冑自該主機裝置請求寫人之資料寫入於作為 壓縮程序執行結果產生之—新的寫人區域中。此時,若未 完成(連續)壓縮寫入’則不寫入自該主機裝置請求寫入之 ㈣1於此原因’該(連續)壓縮寫入阻礙來自該 置之該寫人請求,且不能給該主機裝置提供穩定的寫j 153846.doc • 66 - 201205286 能 相反,在該第二實施例中,使用其中個別地提供主機寫 入曰總結構化指標及壓縮日誌結構化指標之組態,且獨立 地執行該主機寫入程序及該壓縮程序。此外,在半導體儲 存媒體控制單元203中,可根據需要切換自寫入指示單元 250對半導體儲存媒體205之寫入請求或讀取請求之程序及 自壓縮單元270對半導體儲存媒體205之寫入請求或讀取請 求之程序。因此,根據該第二實施例,可根據需要以一頁 單元切換該主機寫入及該壓縮寫入,且可抑制來自該主機 裝置之該寫入請求被該壓縮寫入阻礙。因此,可給該主機 裝置提供穩定的寫入效能。 如在該第二實施例中,若使用其中個別地提供主機寫入 曰誌結構化指標及壓縮日誌結構化指標之組態,則記錄在 資料儲存裝置200中之資料易於藉由來自該主機裝置之操 作而按照邏輯位址次序配置。具體而言,自該主機裝置發 佈由資料儲存裝置2〇〇提供之邏輯位址區域之一全尺寸川1 序寫入凊求,且§己錄在該資料儲存裝置中之資料可按照邏 輯位址次序配置。下文中’將參考圖18闡述此組態。 若自該主機裝置發佈由資料儲存裝置2〇〇提供之邏輯位 址區域之王尺寸順序寫人請求,則在執行該全尺寸順序寫 入期間在«“資料之邏輯位址中’在執行該全尺寸順 序寫入期間不再次寫入資料。現在考量-區塊,其已係用 於該主機寫人之-日諸結構化區塊且針對其在當該全尺寸 順序寫人之執行開始時之—時間點之後完成添加。現在將 153846.doc -67- 201205286 該區塊管理為一已使用區塊》不使此區塊之一頁無效。亦 即’不選擇以下區塊作為壓縮物件區塊:其已係用於該主 機寫入之日誌結構化區塊,針對其在當該全尺寸順序寫入 之執行開始時之一時間點之後完成添加且將其管理為已使 用區塊。 同時,在當該全尺寸順序寫入開始時之一時間點已經管 理為一已使用區塊之一區塊之一有效頁係尚未藉由該全尺 寸順序寫入進行寫入之一邏輯位址之資料。此外,已係用 於壓縮之一日誌結構化區塊、針對其在該全尺寸順序寫入 之執行開始時之一時間點之後完成添加且將其管理為一已 使用區塊之一區塊之一有效頁係尚未藉由該全尺寸順序寫 入進行寫入之一邏輯位址之資料。 因此,在未來藉由該全尺寸順序寫入使該等頁無效。如 上文所述,使在當該全尺寸順序寫入開始時之一時間點已 經管理為一已使用區塊之區塊之有效頁及已係用於壓縮之 曰誌結構化區塊且針對其在當該全尺寸順序寫入之執行開 始時之一時間點之後完成添加以被管理為一已使用區塊之 區塊之有效頁一個接著一個地無效。被選擇為壓縮物件區 塊的係在當開始該全尺寸順序寫入時之一時間點已經管理 為一已使用區塊之區塊或已係用於壓縮之日誌結構化區塊 且針對其在當該全尺寸順序寫入之執行開始時之一時間點 之後完成添加以被管理為一已使用區塊之區塊。 若該全尺寸順序寫入完成,則按照邏輯位址次序配置記 錄在資料儲存裝置200中之資料。相反,若不使用其中個 153846.doc -68· 201205286 別地提供主機寫入日誌、結構化指標及塵縮日該結構化指標 之組態,則指示該等邏輯位址上之一不—致值之被壓縮資 料及指示該等邏輯位址上之一一致值且自該主機裝置請求 寫入之資料總是混合在-個區塊中。因此,難以完美地配 置按照邏輯位址次序寫入之資料。 如上文所述,在其中完美地配置按照邏輯位址次序寫入 之資料及自該主機裝置發射-順序寫人請求且在根據該寫 入請求寫入資料中使用一個區塊之一狀態中,藉由一個區 塊使在該等實體位址上係連續之資料無效。因此,若在按 照邏輯位址次序配置㈣之程序之後自該主機裝置發佈該 順序寫入請求,則不需要執行基於壓縮之一複製程序。 在該日誌結構化方法中,由於需要先前保證壓縮目的地 之區塊,因此資料儲存裝置200使用藉由自安裝在資料儲 裝置200中之儲存媒體之總谷篁減去預定容量之邊際容 量所獲得之容量作為提供給該主機裝置之所宣佈容量。在 其中美配置按照邏輯位址次序寫入之資料之一狀態中, 對應於所旦佈容量之所有區塊充滿有效頁,且對應於邊際 容量之所有區塊變成空。 出於此原因,甚至當在按照邏輯位址次序配置資料之程 序之後自該主機裝置發佈隨機寫入請求時,直至寫入資料 置至少變成對應於該邊際容量之寫入資料量才產生基於壓 縮之複製程序。 同時,若執行基於壓縮之複製程序,則自該主機裝置請 求寫入之資料之寫入效能比關於該儲存媒體之資料寫入效 153846.doc •69- 201205286 能更劣化。由於在一正常狀態中執行基於壓縮之複製程 序,因此當狀態變成該正常狀態時,自該主機裝置請求寫 入之資料之寫入效能比關於該儲存媒體之資料寫入效能更 劣化。如上文所述,直至在按照邏輯位址次序配置資料之 程序之後寫入資料量至少變成對應於該邊際容量之寫入資 料量才產生基於壓縮之複製程序。出於此原因,直至寫入 資料量至少變成對應於該邊際容量之寫入資料量,自該主 機裝置請求寫入之資料之寫入效能才變成關於該儲存媒體 之資料寫入效能。 因此,使用其中個別地提供主機寫入日誌結構化指標及 壓縮曰誌結構化指標之組態,且可易於達成其中自該主機 裝置請求寫入之資料之寫入效能變成關於該儲存媒體之資 料寫入效能之一狀態。 在上文說明中,按照邏輯位址次序配置資料之程序係藉 由自該主機裝置發佈由該資料儲存裝置所提供之邏輯位址 實現。然而,執行按照邏輯 機制可併入該資料儲存裝置 區域之全尺寸順序寫入請求來實現 位址次序配置資料之程序之一機制 中。 第三實施例 如上文所述’在使用具右幼* l . wu
153846.doc •70- 201205286 此外在該第二實施例中 财㈣實現該管理資訊之儲存及 恢復程序。然而,當如在兮笛 _ ^第二實施例中將該資料管理單 元設定為頁大小時,每當自該 ζ主機裝置研求寫入或每當葬 由§亥壓縮寫入寫入對應於一個頁t資# & tb ^ Ί回貝之貧料時皆更新該管理資 訊。出於此原目’每當自該主機裝置請求寫入或每當藉由 該屋縮寫人寫人對應於—個頁之資料時,需要將日誌、寫入 個頁中。此意指僅實現關於該儲存媒體之資料寫入效能 之一半且自㈣存㈣之壽命計算之該㈣儲存裝置之設 計壽命變成1/2。 上因此,在該第三實施例中,將闡述其中降低一日諸記錄 。十數之一貫例。在下文說明中,主要闡述該第二實施例與 該第三實施例之差異’且具有與該第二實施例之彼等功能 相同之功能之組件藉由與該第二實施例之彼等參考編號相 同之參考編號標示且不重複對其說明。 首先’將闡述根據該第三實施例之―資料儲存裝置之組 態。 圖19係顯示根據該第三實施例之一資料儲存裝置3〇〇之 詳細功能組態之一實例的一方塊圖。在根據該第三實施例 之資料儲存裝置300中,一轉換表儲存單元323、一區塊使 用資訊控制單元326、一寫入指示單元35〇、一壓縮單元 370及一日誌恢復單元394不同於根據該第二實施例之資料 儲存裝置200之彼等單元。下文中,將闡述該等個別單元 之差異。 轉換表儲存單元323儲存一轉換表。根據該第三實施例 153846.doc -71· 201205286 之該轉換表包含一正向查找表、一有效頁旗標及一有效頁 计數器’但不包含一反向查找表。 圖20顯示該有效頁旗標及該有效頁計數器之資料組態之 一實例。如圖20中所示,該有效頁旗標及該有效頁計數器 使用一區塊編號作為一索引且包含該區塊編號、該有效頁 s十數器及該有效頁旗標集作為一條目。該有效頁旗標集係 按照該等頁在該區塊中配置之次序配置且可規定有效頁旗 標之頁。相同區塊之有效頁計數器之一值與有效頁旗標之 真值之總數目彼此匹配。相同區塊中,變成索引之區塊編 號及變成正向查找表之條目之區塊編號指派有相同編號。 "玄正向查找表與根據該第二實施例之轉換表儲存單元Μ〗 所包含之正向查找表相同。 如上文所述,根據該第三實施例之轉換表儲存單元Μ 不包含反向查找表,此與根據該第二實施例之轉換表儲启 單元223相反。藉此,在該第三實施例中,可降低管理養 =之-記Μ使用量1可降低該管理資訊之記憶體使用 1時,此意指欲儲存為快照之容量降低。因此,可降低傷 存該快照所需要之-程序時間,可降低關於半導體儲存销 體205之寫入量且可增加資料儲存裝置3〇〇之設計壽命。 若區塊使用資訊控制單元326自寫入指示單元35〇接收一 未使用區塊之一分配請求,則區塊使用資訊控制單元U 暫停寫人指示單S35G之-程序,直至自壓縮單元37〇完$ 接收未使賴塊之分配請求為止1樣地,若區塊使用^ 訊控制單元326自㈣單元37()接收—未使用區塊之一分酉 153846.doc •72· 201205286 請求,則區塊使用資訊控制單元326暫停壓縮單元37〇之一 程序,直至自寫入指示單元350完全接收未使用區塊之分 配請求。 若區塊使用資訊控制單元326自寫入指示單元35〇及壓縮 單元370兩者完全接收一未使用區塊之一分配請求’且在 一對應時間點來自該主機裝置之寫入量為i且資料儲存裝 置300中欲處理之壓縮之寫入量為N(N為等於或大於〇之一 整數),則區塊使用資訊控制單元326將一個未使用區塊分 配給寫入指示單元350且將>1個未使用區塊分配給壓縮單元 370。區塊使用資訊控制單元326可自由區塊使用資訊儲存 單元228所儲存之區塊使用資訊中所包含之已使用區塊之 數目之資Λ或未使用區塊之數目之資訊確定N之一值。考 量以下一情況:當在一對應時間點來自該主機裝置之寫入 量為1時,將N之值設定為大於資料儲存裝置3〇〇中欲處理 之壓縮之寫人量。當來自該主機裝置之寫人請求之-負載 不大時,首先執行壓縮程序且降低未來欲執行之一壓縮程 序之里。因此,可改良當來自該主機裝置之寫入請求之負 載在未來增加時之時間的回應性。 區塊使用資訊控制單元326根據所分配内容更新由區塊 使用貧訊儲存單元228所儲存之區塊使用資訊。區塊使用 資訊控制單元326重新開始寫入指示單元35〇及壓縮單元 370兩者之暫停之程序。 接下來’將參考圖21至25闡述壓縮程序及根據來自該主 機裝置之主機寫入請求之寫入程序。 153846.doc •73· 201205286 首先,如圖21中所示’區塊使用資訊控制單元326將一 區塊D分配給寫入指示單元35〇且將區塊A、B&c分配給壓 縮單元370。在彼處壓縮單元370藉由該壓縮程序寫入資料 之頁之次序變成區塊A、B及C之次序。若區塊使用資訊控 制單元326重新開始寫入指示單元35〇及壓縮單元37〇之暫 停之程序,則如圖22中所示,根據針對該主機寫入之曰誌 結構化指標及針對壓縮之日誌結構化指標添加壓縮物件資 料及來自該主機裝置之寫入物件資料。如圖23或24中所 示’甚至當該4日諸'結構化指標中之一者到達所分配區塊 之末尾處時,暫停該程序直至另一日誌結構化指標到達所 刀配£塊之末尾處,且不分配___新的區塊。 如上文所述,當在一對應時間點來自該主機裝置之寫入 量為1且在資料儲存裝置3〇〇中欲處理之壓縮之寫入量為 Ν(Ν係等於或大於〇之一整數)時,區塊使用資訊控制單元 326將一個未使用區塊分配給寫入指示單元35〇且將Ν個未 使用區塊分配給壓縮單元370。此係為保證在一對應時間 點所需之壓縮量且盡可能地避免該程序甚至在—個日諸結 構化指標到達所分配區塊之末尾處時被暫停直至另一日認 結構化指標到達所分配區塊之末尾處為止,如圖23或24中 所示。 如圖25中所示,若兩個日誌結構化指標都到達所分配區 塊之末尾處’則區塊使用資訊控制單元326將新的區塊分 配給寫入指示單元350及壓縮單元370且重新開始寫入指示 單元350及壓縮單元370之暫停之程序且狀態變成圖21中所 153846.doc • 74- 201205286 不之一狀態。下文中,自分配該區塊至分配下一區塊所需 之時間稱為一「期限」。 在其中來自該主機裝置之存取型樣中存在位址局部性之 情況下’當在一對應時間點來自該主機裝置之寫入量為1 時’在資料儲存裝置300中欲處理之壓縮量可明顯降低。 然而’在此情況下,在上文所述區塊分配規則中,如圖26 中所示’適當切換其中分配用於壓縮之一個日誌結構化區 塊之期限(期限2及6)及其中未分配用於壓縮之曰誌結構化 區塊之期限(期限1、3、4、5)。 返回參考圖19,區塊使用資訊控制單元326通知日誌儲 存單元284關於所分配(N+1)個區塊之區塊分配資訊。在分 配資訊之次序中,分配給壓縮單元37〇之一區塊在時間上 在分配給寫入指示單元3 5〇之一區塊之前。當將複數個區 塊分配給壓縮單元370時,分配資訊之次序變成壓縮單元 370使用之該等區塊之次序。舉例而言,在其中如圖η至 25所示分配區塊之情況下的分配資訊之次序變成區塊a、 區塊B、區塊c及區塊D之次序。在其中如圖26中所示分配 區塊之隋況下的分配資訊之次序變成期限1中之區塊A、期 限2中之區塊B及區塊C、期限3中之區塊D、期限4中之區 塊E、期限5中之區塊ρ及期限6中之區塊g及區塊H之次 序。區塊使用資訊控制單元326請求日誌儲存單元284提交 通知給日誌儲存單元284之資訊。 寫入指示單元350向缓衝控制單元2〇7發佈對應於管理大 小之所儲存資料之一擷取請求,將所擷取資料及所獲取主 153846.doc -75· 201205286 機寫入日誌結構化指標對應之實體位址區塊資訊發射至半 導體儲存媒體控制單元203,且請求半導體儲存媒體控制 單元203將該所操取資料寫入所獲取主機寫入日誌結構化 才B標對應之該實體位址區域中。當所獲取主機寫入日註、名士 構化指標指示區塊之一首頁時,寫入指示單元35〇在請求 半導體儲存媒體控制單元203寫入資料之前請求半導體儲 存媒體控制單元203執行一區塊擦除程序。然而,該區塊 擦除程序之執行時間並不限於此。舉例而言,該執行時間 可係當新分配用於主機寫入之一區塊時之時間、當將一區 塊收集為一未使用區塊時之時間或在將該區塊收集為該未 使用區塊之後直至寫入指示單元350請求半導體儲存媒體 控制單元203寫入資料為止之一時間週期期間的任意時 間。 在半導體儲存媒體205之頁中,除用以記錄使用者資料 之一區域外通常提供一冗餘區域。舉例而言,該冗餘區域 用來記錄關於該使用者資料之一錯誤校正碼之資料。在其 中降低日誌記錄計數之該第三實施例中,將該錯誤校正碼 之資料及對應頁之反向查找邏輯位址記錄在該冗餘區域中 以降低曰誌記錄計數。亦即,如圖27中所示,關於記錄在 該頁中之資料,將該使用者資料記錄在用以記錄使用者資 料之區域中且將對應頁之反向查找邏輯位址及錯誤校正碼 之資料記錄在冗餘區域中。所記錄反向查找邏輯位址係包 含一寫入命令之一區域之一管理大小區域之一頭部之一邏 輯位址(在圖Π中所示之該實例中為邏輯位址〇)。 153846.doc -76- 201205286 寫入指示單元350在該轉換表之排他控制期間更新該轉 換表以指示新寫入之資料。具體而言,寫入指示單元 s句問轉換表控制單元221在接收該寫入命令之前對應於包 含該寫入命令之區域之該管理大小區域之頭部之一邏輯位 址(在圖11中所示之該實例中為邏輯位址〇)之一實體位址 (更新前實體位址)。寫入指示單元3 5 〇請求轉換表控制單元 致使所獲取更新前實體位址對應之一有效頁旗標變成 OFF。寫入指示單元35〇請求轉換表控制單元22丨遞減所獲 取更新前實體位址對應之一區塊之一有效頁計數器。寫入 指示單元350請求轉換表控制單元221致使所獲取主機寫入 日誌結構化指標對應之一有效頁旗標變成ON。寫入指示 單元350請求轉換表控制單元221遞增所獲取主機寫入曰諸 結構化指標對應之一區塊之一有效頁計數器。寫入指示單 元350請求轉換表控制單元221更新反向查找表之包含該寫 入命令之區域之該管理大小區域之頭部之邏輯位址(在圖 11中所示之該實例中為邏輯位址0)以指示該主機寫入曰誌 結構化指標對應之實體位址區域之資訊。 根據該第三實施例之寫入指示單元350不通知日誌儲存 單元284該轉換表之更新資訊,此與根據該第二實施例之 寫入指示單元250相反。此係由於該轉換表之更新資訊可 在下文欲闡述之恢復管理資訊時基於記錄在該頁中之反向 查找邏輯位址來恢復。在根據該第二實施例之寫入指示單 元250中,每當寫入一個頁之使用者資料時皆記錄該轉換 表之更新資訊之日誌。然而,在根據該第三實施例之寫入 I53846.doc •77· 201205286 扣不單兀3 50中’ 4當寫入_個頁之使用者資料時不需要 δ己錄更新資訊之日諸,且可極大地降低日㉟記錄計數。 寫入指示單元350請求主機寫入曰該結構化指標控制單 7L 232更新該主機寫入日誌結構化指標以指示下一頁。寫 入指示單元350詢問主機寫入曰誌結構化指標控制單元232 經更新主機寫入日誌結構化指標是否在區塊之最後一個頁 上。若寫入指示單元350接收到指示經更新主機寫入曰誌 結構化指標在區塊之最後一個頁上之一回復,則寫入指示 單元350通知日誌儲存單元284對應區塊之添加完成資訊且 請求日誌儲存單元284提交所通知資訊。為降低下文欲闡 述之一恢復處理時間,可儲存在分配一區塊之後直至完成 添加為止時添加於該區塊中之所有頁之反向查找邏輯位 址,且添加於對應區塊中之該等頁之反向查找邏輯位址可 包含於§亥對應區塊之添加寫入結束日諸中。 若寫入指示單元350接收到指示經更新主機寫入曰誌結 構化指標在區塊之最後一個頁上之一回復,則寫入指示單 元350請求區塊使用資訊控制單元326執行一未使用區塊之 一分配程序。因此,更新該區塊使用資訊。寫入指示單元 350請求主機寫入曰誌結構化指標控制單元232更新主機寫 入日諸結構化指標以指示一新分配區塊之一頭部之一頁。 根據該第三實施例之寫入指示單元3 5 0不通知曰總儲存 單元284該主機寫入日誌結構化指標之更新資訊,此與根 據該第二實施例之寫入指示單元250相反。由根據該第二 實施例之寫入指示單元250通知的區塊使用資訊之更新資 153846.doc • 78· 201205286 訊在第三實施例令由區塊使用資訊控制單元326通知。此 係由於當可在下文欲闡述之恢復管理資訊時基於記錄在該 頁中之反向查找邏輯位址恢復該轉換表時,可恢復該主機 寫入日誌結構化指標。在根據該第二實施例之寫入指示單 元250中,每當寫入一個頁之使用者資料時皆記錄該主機 寫入日諸結構化指標之更新資訊之日諸。然而,在根據該 第三實施例之寫入指示單元350中,每當寫入一個頁之使 用者資料時不需要記錄更新資訊之日諸,且可極大地降低 曰言志記錄計數。 壓縮單元370詢問轉換表控制單元221所獲取區塊當中適 於一壓縮物件之區塊,且獲取適於壓縮物件之該區塊之區 塊編號及對應區塊之一有效頁旗標及一有效頁計數器。適 於壓縮物件之該區塊係其中有效頁計數器之一值係最小之 一區塊。在此情況下,當選擇其中該有效頁計數器之值為 〇之區塊為該壓縮物件時,壓縮單元37〇請求區塊使用資訊 控制單元326將對應區塊登記為一未使用區塊。因此,將 该對應區塊收集為該纟使用$ 士鬼。當將該對應區塊收集為 該未使用區塊時,壓縮單元37〇通知日誌儲存單元284經更 新區塊使用資訊之更新資訊。此外,壓縮單元370請求曰 諸儲存單元284提交通知給日⑽存單元,之資訊。 £縮單元370向半導體儲存媒體控制單元2〇3發佈所獲取 壓縮物件區塊編號及有效頁旗標資訊對應之一實體位址區 域(複製源頁)之_请取請求H縮單元谓接收到該所讀 取資料則壓縮單元37〇向緩衝控制單元撕發佈所接收資 153846.doc -79- 201205286 料之一儲存請求。在所接收資料中,如圖27中所示,使用 者資料記錄在用以記錄使用者資料之區域中,且對應頁之 反向查找邏輯位址及錯誤校正碼之資料記錄在冗餘區域 中。壓縮單元370擷取記錄在所讀取資料之冗餘區域中之 反向查找邏輯位址且暫時儲存該反向查找邏輯位址。 壓縮單元3 7 0向緩衝控制單元2 〇 7發佈所儲存資料之一擷 取請求,將該所操取資料及所獲取壓縮日諸結構化指標對 應之實體位址區域(複製目的地頁)之資訊發射至半導體儲 存媒體控制單元2G3且請求半導體儲存媒體控制單元2〇3將 所擷取資料寫入所獲取壓縮日誌結構化指標對應之實體位 ㈣域«製目的地頁)中。#所獲取壓縮日結結構化指標 指示區塊之一首頁時,壓縮單元37〇在請求半導體儲存媒 體控制單元2〇3寫人資料之前請求半導㈣存媒體控制單 元203執行—區塊擦除程序。然而’執行該區塊擦除程序 之時間並不限於此。舉例而·r ’該時間可係當新分配用於 廢縮之-區塊時之時間、當將—區塊收集為-未使用區塊 時之時間或在將該區塊收集為該未使用區塊之後直至磨縮 單元370請求半導體儲存媒體控制單元2〇3寫入資料為止之 一時間週期期間之任意時間。 由於儲存於該頁中之資料係儲存於緩衝儲存單元209中 之資料,因此如圖27中所示,使用者資料記錄在用以記錄 使用者資料之區域中且對應頁之反向查找邏輯位址及錯誤 杈正碼之資料記錄在冗餘區域中。僅在將資料寫入頁中時 才新寫入反向查找表、此後不更新該反向查找表且僅在壓 153846.doc -80 - 201205286 縮時>考該反向查找表。因&,當根據來自該主機裝置之 寫入請求將資料寫人頁中時可同時寫人反向查找表,且當 讀取被麗縮資料時可同時讀取該反向查找表。因此,未額 外引起一懲罰》 壓縮單元370在該轉換表之排他控制期間更新該轉換表 以指示一壓縮目的地之資料。然而,如上文所述,當與正 被複製之資料對應之一邏輯位址區域相同之邏輯位址區域 之一寫入程序在該資料之該複製程序期間由寫入指示單元 350完成時,壓縮單元37〇不應更新該轉換表。 具體而言’壓縮單元370向轉換表控制單元221發佈使用 暫時儲存之反向查找邏輯位址資訊的正向查找表之一參考 請求且獲取對應於該暫時儲存之反向查找邏輯位址資訊之 一貫體位址。壓縮單元370確定對應於該暫時储存之反向 查找邏輯位址資訊之實體位址及所獲取壓縮物件區塊編號 及有效頁旗標資訊對應之實體位址區域(複製源頁)是否彼 此匹配。當確定該實體位址與該實體位址區域彼此不匹配 時’此意指與正被複製之資料對應之邏輯位址區域相同之 邏輯位址區域之寫入程序在該資料之該複製程序期間由寫 入指示單元350完成。出於此原因,壓縮單元370在該轉換 表之排他控制期間結束該程序且不更新該轉換表。當確定 該實體位址與該實體位址區域彼此匹配時,此意指與正被 複製之資料對應之邏輯位址區域相同之邏輯位址區域之寫 入程序在該資料之該複製程序期間未由寫入指示單元350 執行或執行了但未完成。出於此原因,壓縮單元370更新 153846.doc -81 · 201205286 該轉換表。 具體而言,壓縮單元370請求轉換表控制單元221致使所 獲取壓縮物件區塊編號及有效頁旗標資訊對應之一實體位 址區域(複製源頁)之一有效頁旗標變成OFF。壓縮單元370 請求轉換表控制單元221遞減對應於所獲取壓縮物件區塊 編號之一區塊之一有效頁計數器。壓縮單元370請求轉換 表控制單元221致使所獲取壓縮日誌結構化指標對應之實 體位址區域(複製目的地頁)之一對應有效頁旗標變成ON。 壓縮單元370請求轉換表控制單元221遞增所獲取壓縮曰誌 結構化指標對應之一區塊之一有效頁計數器。壓縮單元 370請求轉換表控制單元221更新正向查找表之由所獲取壓 縮物件區塊編號及有效頁旗標資訊對應之實體位址區域 (複製源頁)之對應反向查找邏輯位址所指示之一條目以指 示壓縮日誌結構化指標對應之實體位址區域(複製目的地 頁)之資訊。 根據該第三實施例之壓縮單元370不通知曰誌儲存單元 284 s亥轉換表之更新資訊,此與根據該第二實施例之壓縮 單7G 270形成對比。此係由於該轉換表之更新資訊可在下 文欲闡述之恢復管理資訊時基於記錄在該頁中之反向查找 邏輯位址來恢復。在根據該第二實施例之壓縮單元27〇 中,每當寫入一個頁之使用者資料時皆記錄該轉換表之更 新資訊之曰誌。然而,在根據該第三實施例之壓縮單元 37〇中,每當寫入一個頁之使用者資料時不需要記錄更新 資訊之日誌,且可極大地降低日誌記錄計數。 153846.doc • 82 · 201205286 若所獲取壓縮物件區塊之有效頁計數器之值為〇,則壓 縮單元370請求區塊使用資訊控制單元326將對應區塊登記 為一未使用區塊。因此’將該對應區塊收集為該未使用區 塊。當將該對應區塊收集為該未使用區塊時,壓縮單元 370通知曰誌儲存單元284經更新區塊使用資訊之更新資 讯,且請求日總儲存單元284提交通知給日總儲存單元284 之資訊。 壓縮單元3 70請求壓縮日諸結構化指標控制單元242更新 壓縮日έ志結構化指標以指示下一頁。壓縮單元3 7 〇詢問壓 縮日結構化指標控制單元242經更新壓縮日誌'結構化指 標是否在區塊之最後一個頁上。若壓縮單元37〇接收到指 示經更新壓縮日誌結構化指標在區塊之最後一個頁上之一 回復,則壓縮單元370通知日誌儲存單元284該對應區塊之 添加完成資訊且請求日誌儲存單元284提交通知給日誌、儲 存單元284之資訊。為降低下文欲闡述之一恢復處理時 間,可儲存在分配一區塊之後直至完成添加寫入為止時添 加於s亥區塊中之所有頁之反向查找邏輯位址,且添加於該 對應區塊中之該等頁之反向查找邏輯位址可包含於該對應 區塊之添加寫入結束日言志中。 若壓縮單元370接收到指示經更新壓縮日誌結構化指標 在區塊之最後一個頁上之一回復,則壓縮單元37〇請求壓 縮日誌結構化指標控制單元242更新壓縮日誌結構化指標 以指示自區塊使用資訊控制單元326分配之下一區塊之一 頭部之一頁。 153846.doc •83- 201205286 當壓縮單元370接收到指示經更新壓縮日誌結構化指標 在區塊之最後一個頁上之一回復且使用自區塊使用資訊控 制單元326分配之所有區塊時,壓縮單元37〇請求區塊使用 資訊控制單元326執行一未使用區塊之一分配程序。因 此,更新該區塊使用資訊。壓縮單元37〇請求壓縮日誌結 構化指標控制單元242更新壓縮日誌結構化指標以指示一 新分配區塊之一頭部之一頁。 根據该第二實施例之壓縮單元37〇不通知日誌儲存單元 284壓縮日誌結構化指標之更新資訊,此與根據該第二實 施例之壓縮單元270相反。由壓縮單元27〇通知的該區塊使 用資訊之更新資訊在該第三實施例中由區塊使用資訊控制 單元326通知。此係由於壓縮日誌結構化指標可在當可在 下文欲闡述之恢復管理資訊時基於記錄在該頁中之反向查 找邏輯位址恢復該轉換表之更新資訊時恢復。在根據該第 二實施例之壓縮單元270中,每當寫入一個頁之使用者資 料時皆記錄壓縮日誌結構化指標之更新資訊之日誌。然 而’在根據該第三實施例之壓縮單元370中,每當寫入一 個頁之使用者資料時不需要記錄更新資訊之日誌,且可極 大地降低日誌記錄計數。 若曰絲恢復單元394自管理資訊恢復單元290接收自在儲 存最新快照之後所儲存之日誌的管理資訊之一恢復請求, 則曰諸恢復單元394向半導體儲存媒體控制單元203發佈在 儲存最新快照之後所儲存之日誌之一擷取請求,且接收在 儲存最新快照之後所儲存之日誌。 153B46.doc -84- 201205286 在》亥日中,記錄新分配區塊之資訊、區塊之添加完成 資訊及收集為未使用區塊之區塊之資訊中之任-者。在此 情況下,在新分配區塊之資訊中,用於壓縮添加之一個或 多個區塊之資訊係按照壓縮單元37〇使用該等區塊之次序 配置’且後跟由寫入指示單元350所使用之用於主機添加 之區塊之資訊。只要未完成在某一期限中所分配之所有區 塊之添加,該期限便不繼續進行至下一期限。因此,藉由 按照記錄次序追蹤日誌,確認在其中記錄在某一期限中所 分配之所有區塊之添加完成資訊之一狀態中記錄下一期限 之區塊分配之一日誌且調查該日誌之有效性。 關於所分配區塊之資訊,日誌恢復單元394順序地擷取 區塊編號。關於所擷取區塊編號之區塊,日諸恢復單元 394自一頭部之一頁順序地向半導體儲存媒體控制單元2〇3 發佈一頁之一讀取請求。曰誌恢復單元394自半導體儲存 媒體控制單元203接收所讀取頁之資料且自所接收資料操 取反向查找邏輯位址資訊。 曰途、恢復單元3 9 4基於所操取反向查找邏輯位址資訊致 使該轉換表之所擷取反向查找邏輯位址之條目指示該所讀 取頁。具體而言,日誌恢復單元394詢問轉換表控制單元 221在讀取該頁之前對應於所擷取反向查找邏輯位址之一 實體位址(更新前實體位址)。曰誌恢復單元394請求轉換表 控制單元221致使所獲取更新前實體位址對應之一有效頁 旗標變成OFF。曰誌恢復單元394請求轉換表控制單元221 遞減所獲取更新前實體位址對應之一區塊之一有效頁計數 153846.doc -85- 201205286 [日諸恢復單請求轉換表控制單元221致使所讀取 頁對應之-有效頁旗標變成⑽。日諸恢復單元别請求轉 換表控制單元22丨遞增所讀取頁對應之一區塊之一有效頁 計數器》日諸恢復單元394請求轉才奐表控制單元m更新正 向查找表之所擷取反向查找邏輯位址以指示所讀取頁對應 之實體位址區域資訊。 關於其中未完成添加之區塊,在上文程序期間讀取一未 經記錄之頁。考量以下-情況:經擦除頁之包含圖27中所 示之冗餘區塊之資料的資料之所有位元具有一值(例如口。 舉例而言’若確定所有位元之值是否變成1,則可辨識所 讀取頁為一未經記錄頁。此時,當其中未完成添加之區塊 為分配用於主機添加之區塊時,曰誌恢復單元394請求主 機寫入曰瑞結構化指標控制單元232更新主機寫入曰總結 構化指標以指示未經記錄頁。同時,當其中未完成添加之 區塊為分配用於壓縮添加之區塊時,日誌恢復單元394請 求壓縮曰言志結構化指標控制單元242更新壓縮曰諸結構化 指標。 在此情況下,在相同期限中,甚至當在相同邏輯位址中 產生主機寫入及屋縮時,首先在管理資訊上反映根據該廢 縮寫入之改變,然而反映根據該主機寫入之改變。最後, -系列管理資訊指示該頁經受該主機寫入。藉此,保證該 管理資訊之一致性。 當儲存在分配該區塊之後直至完成添加為止時添加於該 區塊中之所有頁之反向查找邏輯位址且添加於對應區塊中 153846.doc * 86 - 201205286 之該等頁之反向查找邏輯位址包含於對應區塊之添加完成 曰誌中時,可僅藉由觀看添加完成日誌來辨識添加於對應 區塊中之所有頁之反向查找邏輯位址。藉此,可極大地降 低自半導體健存媒體205之讀取程序之量,且僅關於其中 執行最後添加之區塊’可自頭部順序地讀取該等頁。 若收集為未使用區塊之區塊之資訊記錄在該日諸、中,則 曰言志恢復單元394請求區塊使用資訊控制單元326將對應區 塊之使用狀態改變為未使用狀態。 接下來’將闡述根據該第三實施例之該資料儲存裝置之 才呆作。由於讀取程序及快照記錄程序與該第二實施例之彼 等程序相同,因此將不重複對其說明。 首先’將參考圖28闡述由資料儲存裝置3〇〇根據來自該 主機裝置之一寫入命令執行之一寫入程序之一序列。圖28 係顯示由資料儲存裝置300執行之該寫入程序之一序列之 一流程之一實例的一流程圖。 由於步驟S101至S107之程序與圖13之步驟S1至S7之彼等 程序相同,因此將不重複說明。 由於步驟S108之一程序亦與圖13之步驟S8之彼程序相 同’因此將不重複說明。然而,如圖27中所示,在該頁 中’使用者資料記錄在用以記錄使用者資料之區域中且對 應頁之反向查找邏輯位址及錯誤校正碼之資料記錄在冗餘 區域中。出於此原因’在該第三實施例中,如圖13之步驟 S9中所示,已寫入頁之反向查找邏輯位址不需要單獨登 記’且該反向查找邏輯位址不需要記錄在該日誌中。 153846.doc • 87 - 201205286 由於步驟S110至S115之程序與圖13之步驟S10至S15之彼 等程序相同,因此將不重複說明。 由於步驟S116之一程序與圖13之步驟S16之彼程序相 同,因此將不重複說明。然而,在步驟S116中,不將該轉 換表之更新資訊通知給日誌儲存單元284。此係由於該轉 換表之更新資訊可在下文欲闡述之恢復管理資訊時基於記 錄在該頁中之反向查找邏輯位址來恢復。藉此,在圖13之 步驟S12至S16中,每當寫入一個頁之使用者資料時皆記錄 該轉換表之更新資訊之日誌。然而,在圖28之步驟S112至 S116中’每當寫入一個頁之使用者資料時不需要記錄該更 新資sfl之日达’且可極大地降低日然記錄計數。 由於步驟S117之一程序與圖13之步驟S17之彼程序相 同’因此將不重複說明。 由於步驟S118之一程序幾乎與圖13之步驟S18之彼程序 相同’因此將不重複說明。然而,在步驟S118中,不將經 更新主機寫入日遠結構化指標之更新資訊通知給日總儲存 單元284 »此係由於主機寫入曰誌結構化指標之更新資訊 可在下文欲闡述之恢復管理資訊時恢復。藉此,在圖13之 步驟S18中,每當寫入一個頁之使用者資料時皆記錄主機 寫入日總結構化指標之更新資訊之日誌。然而,在圖28之 步驟S118中,每當寫入一個頁之使用者資料時不需要記錄 更新資訊之日諸’且可極大地降低日總記錄計數。 由於步驟S119之一程序與圖13之步驟S19之彼程序相 同’因此將不重複說明。 153846.doc • 88 · 201205286 在步驟SU9.5中,寫入指示單元35〇通知曰誌儲存單元 284對應區塊之添加完成資訊且請求日誌儲存單元2料提交 所通知資訊。為降低下文欲闡述之一恢復處理時間,可儲 存在分配一區塊之後直至完成添加為止時添加於該區塊甲 之所有頁之反向查找邏輯位址,且可將添加於對應區塊十 之該等頁之反向查找邏輯位址包含於該對應區塊之添加結 束曰誌中。曰誌儲存單元284自寫入指示單元35〇接收提交 通知,且請求半導體儲存媒體控制單元2〇3儲存暫時儲存 之更新資訊。半導體儲存媒體控制單元2〇3將該暫時儲存 之更新資訊記錄為一日誌。若先前不能辨識半導體儲存媒 體205之在彼處記錄該日誌之實體位址,則當給資料儲存 裝置300供應電力時不能恢復該管理資訊。出於此原因, 使半導體儲存媒體205之在彼處記錄該日誌之實體位址指 示半導體儲存媒體205之一預定區域或可自半導體儲存媒 體205之該預定區域中所記錄之資訊追蹤之一區域。寫入 指示單元350請求區塊使用資訊控制單元326執行一未使用 區塊之一分配程序《若區塊使用資訊控制單元326自寫入 指示單元350接收一未使用區塊之一分配請求,則區塊使 用資訊控制單元326暫停寫入指示單元35〇之一程序,直至 自壓縮單元3 70接收到未使用區塊之分配請求為止。 在步驟S120中,若區塊使用資訊控制單元326自寫入指 示單元350及壓縮單元370兩者完全接收一未使用區塊之— 分配請求,且在一對應時間點來自該主機裝置之寫入量為 1且資料儲存裝置3〇〇中欲處理之壓縮之寫入量為N(N為等 153846.doc -89· 201205286
於或大於0之一整數),則區塊使用資訊控制單元326將一 個未使用區塊分配給寫入指示單元350且將N個未使用區塊 分配給壓縮單元370。區塊使用資訊控制單元326可自由區 塊使用資訊儲存單元228所儲存之區塊使用資訊中所包含 之已使用區塊之數目之資訊或未使用區塊之數目之資訊確 定N之一值。若當在一對應時間點來自該主機裝置之寫入 量為1時將N之值設定為大於在資料儲存裝置3〇〇中欲處理 之壓縮之寫入量’則當來自該主機裝置之寫入請求之一負 載不大時’區塊使用資訊控制單元326首先執行該壓縮程 序且降低未來欲執行之一壓縮程序之量,藉此改良當來自 β亥主機裝置之寫入請参之負載在未來增加時之回應性。區 塊使用資訊控制單元326根據所分配内容更新由區塊使用 資訊儲存單元228所儲存之區塊使用資訊。區塊使用資訊 控制單元326重新開始寫入指示單元350之暫停之程序。區 塊使用資訊控制單元326通知日誌儲存單元284關於所分配 (Ν+1)個區塊之區塊分配資訊。在分配資訊之次序中,分 配給壓縮單元370之一區塊在時間上在分配給寫入指示單 元350之一區塊之前。當將複數個區塊分配給壓縮單元370 時’該分配資訊之次序變成壓縮單元370使用之該等區塊 之次序。舉例而言,在其中如圖21至以中所示分配區塊之 情況下的分配資訊之次序變成區塊A、區塊Β、區塊c及區 塊D之次序。在如圖26中所示分配區塊之情況下的分配資 訊之次序變成期限1中之區塊A、期限2中之區塊B及區塊 C、期限3中之區塊D、期限4中之區塊E、期限5中之區塊F 153846.doc •90· 201205286 及期限6中之區塊G及區塊Η之次序。區塊使用資訊控制單 元326請求日誌儲存單元284提交通知給日誌儲存單元284 之資sfl。日諸儲存單元284自區塊使用資訊控制單元326接 收提交通知且請求半導體儲存媒體控制單元2〇3儲存暫時 儲存之更新資訊。半導體儲存媒體控制單元2〇3將該暫時 儲存之更新資記錄為一日諸。若先前不能辨識半導體儲 存媒體205之在彼處記錄該日誌之實體位址,則當給資料 儲存裝置300供應電力時不能恢復該管理資訊。出於此原 因’使半導體儲存媒體205之在彼處記錄該日誌之該實體 位址指示半導體儲存媒體205之一預定區域或可自半導體 儲存媒體205之該預定區域中所記錄之資訊追蹤之一區 域。寫入指示單元350請求主機寫入曰誌結構化指標控制 卓元2 3 2更新主機寫入日·|志結構化指標以指示一新分配區 塊之一頭部之一頁。主機寫入日誌結構化指標控制單元 232更新由主機寫入日誌結構化指標儲存單元23〇所儲存之 該主機寫入日誌結構化指標以指示一新分配區塊之一頭部 之一頁。 如上文所述,在圖28中,藉由區塊分配事件記錄日誌。 然而’由於區塊分配事件與壓縮程序中之區塊分配程序在 相同時間,因此不能如圖13之步驟S21中所示在結束時執 行曰誌提交程序,因此需要按需要提交日誌。 由於步驟S122之一程序與圖13之步驟S22之彼程序相 同’因此將不重複說明。 接下來,將參考圖29闡述由資料儲存裝置300執行之一 153846.doc •91· 201205286 壓縮程序之一序列。圖29係顯示由資料儲存裝置3〇〇執行 之該壓縮程序之一序列之一流程之一實例的—流程圖。資 料儲存裝置300在當需要該壓縮程序時之時間或任意時間 執行該壓縮程序》需要該壓縮程序之時間可藉由確定記錄 在區塊使用資訊中之未使用區塊之數目是否小於預定臨限 值來確定。 首先,由於步驟S141及S142之程序與圖15之步驟S41及 S42之彼等程序相同’因此將不重複說明。 由於步驟S143之一程序幾乎與圖15之步驟S43之彼程序 相同,因此將不重複說明。然而,執行以下程序。壓縮單 元370請求日誌儲存單元284提交經更新區塊使用資訊。曰 誌儲存單元284自壓縮單元370接收提交通知,且請求半導 體儲存媒體控制單元203儲存暫時儲存之更新資訊。半導 體儲存媒體控制單元2 0 3將該暫時儲存之更新資訊記錄為 一曰誌。若先前不能辨識半導體儲存媒體2〇5之在彼處記 錄該日誌之實體位址,則當給資料儲存裝置3〇〇供應電力 時不能恢復該管理資訊。出於此原因,使半導體儲存媒體 205之在彼處記錄該日誌之該實體位址指示半導體儲存媒 體205之一預定區域或可自半導體儲存媒體2〇5之該預定區 域中所記錄之資訊追縱之一區域。 由於步驟S144至S146之程序與圖15之步驟S44至S46之彼 等程序相同,因此將不重複說明。關於步驟S146中之所讀 取資料,如圖27中所示,使用者資料記錄在用以記錄使用 者資料之區域中,且對應頁之反向查找邏輯位址及錯誤校 153846.doc -92- 201205286 正碼之資料記錄在冗餘區域中。 ”在步驟⑽中,壓縮單元370擷取記錄在所讀取資料之 几餘區域巾之反向查找邏輯位址且暫時儲存該反向查找邏 輯位址。 由於步驟S148之一程序幾乎與圖15之步驟S48之彼程序 相同,因此將不重複說明。然而,如圖27中所示,在該頁 中,使用者資料記錄在用以記錄使用者資料之區域中且對 應頁之反向查找邏輯位址及錯誤校正碼之資料記錄在冗餘 區域中。出於此原因,在該第三實施例中,如圖15之步驟 S49中所示,不需要單獨登記已寫入頁之反向查找邏輯位 址且不需要將反向查找邏輯位址記錄在該日諸中。如上文 所述’僅在將資料寫入頁中時才新寫入反向查找表、此後 不更新該反向查找表且僅在壓縮時參考該反向查找表。因 此,當根據來自該主機裝置之寫入請求將資料寫入該頁中 時可同時寫入該反向查找表且當讀取欲壓縮之資料時可同 時讀取該反向查找表。因此,未額外引起一懲罰。 由於步驟S150至S158之程序幾乎與圖15之步驟S50至S58 之彼等程序相同,因此將不重複說明。圖15之步驟S50至 S58中之「所獲取壓縮物件區塊編號及有效頁旗標資訊對 應之實體位址區域(複製源頁)之對應反向查找邏輯位址」 對應於圖29之步驟S150至S158中之所擷取反向查找邏輯位 址0 由於步驟S159之一程序幾乎與圖15之步驟S59之彼程序 相同,因此將不重複說明。在圖29之步驟S159中,不將該 153846.doc •93- 201205286 轉換表之更新資訊通知給日誌儲存單元284,此與圖丨5之 步驟S5 9相反。此係由於該轉換表之更新資訊可在下文欲 闡述之恢復管理資訊時基於該頁中所記錄之反向查找邏輯 位址來恢復。藉此’在圖15之步驟S53至S59中,每當寫入 一個頁之使用者資料時皆記錄該轉換表之更新資訊之曰 誌。然而’在圖29之步驟S153至S159中,每當寫入一個頁 之使用者資料時不需要記錄該更新資訊之日誌、,且可極大 地降低曰諸記錄計數。當壓縮物件區塊之有效頁計數器之 值變成0且將該對應區塊收集為未使用區塊時,壓縮單元 370通知日諸儲存單元284經更新區塊使用資訊之更新資訊 且§f求曰諸儲存單元284提交通知給日總儲存單元284之該 資訊。曰Ί志儲存單元284自麼縮單元370接收提交通知且請 求半導體儲存媒體控制單元203儲存該暫時儲存之更新資 訊。半導體儲存媒體控制單元203將該暫時儲存之更新資 訊記錄為一日钱。若先前不能辨識半導體儲存媒體2〇5之 在彼處記錄該日tfe之實體位址,則當給資料儲存裝置3〇〇 供應電力時不能恢復該管理資訊。出於此原因,使半導體 儲存媒體205之在彼處記錄該日誌之該實體位址指示半導 體儲存媒體205之一預定區域或可自半導體儲存媒體205之 該預定區域中所記錄之資訊追蹤之一區域。 由於步驟S160之一程序與圖15之步驟S60之彼程序相 同,因此將不重複說明。 由於步驟S161之一程序幾乎與圖15之步驟S61之彼程序 相同,因此將不重複說明。在圖29之步驟S161中,不將經 I53846.doc • 94· 201205286 更新壓縮日妹結構化指標之更新資訊通知給日認儲存單元 2 8 4 ’此與圖1 5之步驟S 61相反。此係由於該壓縮日钱結構 化指標之更新資訊可在下文欲闡述之恢復管理資訊時恢 復。藉此,在圖15之步驟S61中,每當執行一個頁之壓縮 時皆記錄該壓縮曰諸結構化指標之更新資訊之日誌、。然 而’在圖29之步驟S161中,每當執行一個頁之壓縮時不需要 記錄該更新資訊之日諸,且可極大地降低日誌、記錄計數。 由於步驟S162之一程序與圖15之步驟S62之彼程序相 同,因此將不重複說明。 在步驟S162.1中’壓縮單元370通知日諸儲存單元284對 應區塊之添加元成資且請求日該儲存單元2 § 4提交所通 知資訊。為降低下文欲闡述之一恢復處理時間,可儲存在 分配一區塊之後直至完成添加為止時添加於該區塊中之所 有頁之反向查找邏輯位址,且可將添加於對應區塊中之該 等頁之反向查找邏輯位址包含於該對應區塊之添加結束曰 言志中。日誌'儲存單元284自壓縮單元370接收提交通知,且 請求半導體儲存媒體控制單元203儲存暫時儲存之更新資 訊。半導體儲存媒體控制單元203將該暫時儲存之更新資 訊記錄為一曰誌。若先前不能辨識半導體儲存媒體2〇5之 在彼處記錄該日諸之實體位址,則當給資料儲存裝置3〇〇 供應電力時不能恢復該管理資訊。出於此原因,使半導體 儲存媒體205之在彼處記錄該曰誌之該實體位址指示半導 體儲存媒體205之一預定區域或可自半導體儲存媒體Mg之 該預疋區域中所S己錄之資訊追縱之一區域。 153846.doc •95· 201205286 在步驟S162.2中,壓縮單元370調查是否使用自區塊使 用資訊控制單元326分配之所有該等區塊。當使用所有該 等區塊時,該程序繼續進行至步驟S162.3。同時,當未使 用所有該等區塊時’該程序繼續進行至步驟S162.5。 在步驟S162.3中,壓縮單元370請求區塊使用資訊控制 單元326執行一未使用區塊之一分配程序。若區塊使用資 訊控制單元326自壓縮單元370接收一未使用區塊之一分配 請求’則區塊使用資訊控制單元326暫停壓縮單元370之一 程序’直至自寫入指示單元350完全接收未使用區塊之分 配請求為止。 在步驟S162.4中,若區塊使用資訊控制單元326自寫入 指不單元350及壓縮單元370兩者完全接收一未使用區塊之 一分配請求,且在一對應時間點來自該主機裝置之寫入量 為1且資料儲存裝置3 00中欲處理之壓縮之寫入量為N(N為 等於或大於〇之一整數),則區塊使用資訊控制單元326將 一個未使用區塊分配給寫入指示單元35〇且將1^個未使用區 塊分配給壓縮單元37〇β區塊使用資訊控制單元326可自由 區塊使用資訊儲存單元228所儲存之區塊使用資訊中所包 含之已使用區塊之數目之資訊或未使用區塊之數目之資訊 確疋Ν之一值。若將Ν之值設定為大於在資料儲存裝置川〇 中欲處理之壓縮之寫入量且在—對應時間點來自該主機裝 置之寫入量為1’貝當來自該主機裝置之該寫入請求之一 負载不大時,區塊使用資訊控制單元326首先執行該壓縮 程序且降低在未來執行-㈣程序之量,藉此改良在當來 153846.doc -96· 201205286 自S亥主機裝置之該寫入請求之負載在未來增加時之時間的 回應性。區塊使用資訊控制單元326根據經更新内容更新 由區塊使用資訊儲存單元228所儲存之區塊使用資訊。區 塊使用資訊控制單元326重新開始壓縮單元370之暫停之程 序。區塊使用資訊控制單元326通知日誌儲存單元284關於 所分配(N+1)個區塊之區塊分配資訊。在分配資訊之次序 中,分配給壓縮單元370之一區塊在時間上在分配給寫入 指示單元350之一區塊之前。當將複數個區塊分配給壓縮 單元370時,該分配資訊之次序變成壓縮單元37〇使用之該 4區塊之次序。舉例而言,在如圖21至25中所示分配區塊 之情況下的分配資訊之次序可變成區塊A、區塊B '區塊c 及區塊D之次序。在如圖26中所示分配區塊之情況下的分 配資訊之次序變成期限1中之區塊A、期限2中之區塊b及 區塊C、期限3中之區塊D、期限4中之區塊E、期限5中之 區塊F及期限6中之區塊G及區塊Η之次序。區塊使用資訊 控制單元326請求日誌儲存單元284提交通知給日誌儲存單 元284之該資訊》日誌儲存單元284自區塊使用資訊控制單 το 326接收提交通知且請求半導體儲存媒體控制單元2〇3儲 存暫時儲存之更新資訊。半導體儲存媒體控制單元2〇3將 該暫時儲存之更新資訊記錄為一日誌。若先前不能辨識半 導體儲存媒體205之在彼處記錄該日誌之實體位址,則當 給資料儲存裝置300供應電力時不能恢復該管理資訊。出 於此原因,使半導體儲存媒體2〇5之在彼處記錄該日誌之 該實體位址指示半導體儲存媒體2〇5之一預定區域或可自 153846.doc •97· 201205286 半導體儲存媒體205之該預定區域中所記錄之資訊追蹤之 一區域。 如上文所述,在圖29中,藉由區塊分配事件記錄日德。 然而’由於區塊分配事件與寫入程序中之區塊分配程序在 相同時間,因此不能如圖1 5之步驟S64中所示在結束時執 行曰誌提交程序,因此需要按需要提交日誌β 在步驟S162.5中,壓縮單元370請求壓縮日誌結構化指 標控制單元242更新該壓縮日誌結構化指標以指示自區塊 使用資訊控制單元326分配之下一區塊之一頭部之一頁或 新分配區塊之一第一區塊之一頭部之一頁。壓縮日誌結構 化指標控制單元242更新由該壓縮日誌結構化指標儲存單 元所儲存之該壓縮日誌結構化指標以指示一所指定區塊之 一所指定頁。 由於步驟S165之一程序與圖15之步驟S65之彼程序相 同,因此將不重複說明。 接下來,將參考圖30闡述由資料儲存裝置3〇〇執行之一 管理資訊恢復程序之一序列。圖3〇係顯示由資料儲存裝置 300執行之該管理資訊恢復程序之該序列之一流程之二實 例的一流程圖。當給資料儲存裝置3〇〇供應電力時,資料 儲存裝置3GG恢復該管理f訊。f料儲存裝置3⑽可在需要 恢復该官理資訊時(甚至在不同於當給資料儲存裝置Μ。供 應電力時之情況下)之一時間恢復該管理資訊。舉例而 言,當傾測到儲存於DRAM 54中之管理資訊之資料破壞 時’資料儲存單元3〇〇可執行該管理資訊恢復程序。 153846.doc -98- 201205286 首先,由於步驟S181至S184之程序幾乎與圖17之步驟 S81至S84之彼等程序相同,因此將不重複說明。然而,步 驟S 183之一日誌之類型包含指示將區塊收集為未使用區塊 之空間區塊收集資訊、指示完成區塊之添加之區塊添加完 成資訊及指示區塊之分配之區塊分配資訊。步驟S183之一 程序對應於圖17之更新根據該日誌資訊恢復之該管理資訊 之步驟S83之程序且顯示根據每一日誌類型之一程序》在 此情況下,在新分配區塊之資訊中,用於壓縮添加之一個 或多個區塊之資訊按照壓縮單元370使用該等區塊之次序 配置,且配置由寫入指示單元350使用之用於主機添加之 區塊之資訊。因此’關於每一所分配區塊編號重複執行基 於該區塊之分配日誌之恢復程序》 下文中,將闡述根據每一日誌之類型之程序。 首先,將參考圖3 1闡述當每一日諸之類型係區塊分配資 訊時之恢復程序之一流程之一序列。圖3 1係顯示當每一曰 誌之類型係區塊分配資訊時之恢復程序之一序列之一流程 之一實例的一流程圖。 在步驟S201中’關於該日誌中所記錄之區塊編號之區 塊,日誌'恢復單元394自一頭部之一頁順序地向半導體儲 存媒體控制單元203發佈一頁之一讀取請求。亦即,重複 執行以下程序。半導體儲存媒體控制單元2〇3讀取半導體 儲存媒體205之所指定實體位址之資料且提供該資料。曰 誌恢復單元394自半導體儲存媒體控制單元2〇3接收所讀取 頁之資料。 I53846.doc -99· 201205286 在步驟S202中,日諸恢復單元394確定所讀取頁是否為 未經記錄頁。具體而言,由於經擦除頁之包含® 27中所示 之冗餘區域之資料的資料之所有位元具有-值1,因此若 確定所有該等位元之值是否變成1’則可辨識所讀取頁為 -未經記錄頁。當所讀取頁為未經記錄頁時,該程序繼續 進行至步驟S203。同時’當所讀取頁不為未經記錄頁(亦 即為已記錄頁)時,則該程序繼續進行至步驟S204。 在步驟S203中,當對應區塊係用於主機寫入之日誌結構 化區塊時,曰誌恢復單元394請求主機寫入曰誌結構化指 標控制單元232更新主機寫入曰誌結構化指標以指示該未 經§己錄頁。同樣地,當對應區塊為分配用於壓縮添加之區 塊時,日誌恢復單元394請求壓縮日誌結構化指標控制單 元242更新壓縮日誌結構化指標。主機寫入日誌結構化指 標控制單7C 232自日誌恢復單元394接收主機寫入日誌結構 化指標更新請求且更新由主機寫入日誌結構化指標儲存單 το 230所儲存之該主機寫入日誌結構化指標。壓縮日誌結 構化指標控制單元242自日誌恢復單元394接收壓縮日誌結 構化指標更新請求且更新由壓縮日誌結構化指標儲存單元 240所儲存之壓縮日誌結構化指標。 在步驟S204中’日誌恢復單元394自所讀取資料擷取反 向查找邏輯位址資訊。 在步驟S205至S209中’日誌恢復單元394基於所擷取反 向查找邏輯位址資訊致使該轉換表之所擷取反向查找邏輯 位址資訊之條目指示所讀取頁。具體而言,日誌恢復單元 153846.doc 100· 201205286 394,旬問轉換表控制單元221在讀取該頁之前對應於所掘取 反向查找邏輯位址之-實體位址(更新前實體位址)。轉換 表控制單元221參考由轉換表儲存單元如所儲存之該轉換 表且提供在讀取該頁之前對應於所操取反向查找邏輯位址 之該實體位址(更新前實體位址)。日諸恢復單元394獲取在 讀取該頁之前對應於所操取反向查找邏輯位址之該實體位 址(更新前實體位址)。日諸恢復單元394請求轉換表控制單 兀221致使所獲取更新前實體位址對應之—有效頁旗標變 成OFF >日諸恢復單元394請求轉換表控制單元221遞減所 獲取更新則實體位址對應之__區塊之__有效頁計數器。日 認恢復單元394請求轉換表控制單元221致使所讀取頁對應 之一有效頁旗標變成0N。日誌恢復單元394請求轉換表控 制單元221遞增所讀取頁對應之一區塊之一有效頁計數 益。曰誌恢復單元394請求轉換表控制單元221更新正向查 找表之所擷取反向查找邏輯位址以指示所讀取頁對應之實 體位址區域資訊。轉換表控制單元221根據指令更新由轉 換表儲存單元323所儲存之該轉換表。 如上文所述,執行與在頁寫入時的該轉換表之更新程序 相同之程序。亦即,在該第三實施例中,不將該管理資訊 之更新資訊詳細記錄在日誌中且不恢復,而記錄藉由其更 新該管理資訊之因子,再現自該因子更新之該管理資訊之 一態樣且恢復該管理資訊。 在步驟S210中,根據需要自步驟S2〇1重複該程序。 在此情況下,在相同期限中,甚至當在相同邏輯位址中 153846.doc -101 - 201205286 產生主機寫入程序及壓縮程序時’首先將根據該壓縮寫入 之改變反應在該管理資訊上然後反應根據該主機寫入之改 變。最後’一系列管理資訊顯示該頁經受該主機寫入。藉 此’保證該管理資訊之一致性。 接下來’將參考圖32闡述當每一日誌之類型係區塊之添 加完成資訊時之恢復程序之一流程之一序列。圖32係顯示 §每一日这' 之類型係區塊之添加完成資訊時之恢復程序之 一序列之一流程之一實體的一流程圖。 在該日誌、中,記錄新分配區塊之資訊、區塊之添加完成 資訊及指示將區塊收集為未使用區塊之資訊。只要未完成 在某一期限中所分配之所有區塊之添加,該期限便不繼續 進行至下一期限。在步驟S220中,當按照記錄次序追蹤該 曰誌時’曰誌恢復單元394確認在其中記錄某一期限中所 为配之所有區塊之添加完成資訊之一狀態中記錄下一期限 之區塊分配之一日誌且可調查該日誌之有效性。當儲存在 分配該區塊之後直至完成添加為止時添加於該區塊中之所 有頁之反向查找邏輯位址且將添加於對應區塊中之該等頁 之反向查找邏輯位址包含於該對應區塊之添加完成日諸中 時’可僅藉由觀看添加完成日諸來辨識添加於該區塊中之 所有頁之反向查找邏輯位址。藉此’可極大地降低圖31之 步驟S201之程序(亦即’自半導體儲存媒體2〇5之讀取程 序)。出於此原因’僅關於其中執行最後添加之區塊,可 自頭部順序地讀取該等頁。因此,可降低管理資訊恢復程 序之程序時間。 153846.doc -102- 201205286 接下來’將參考圖33闌述當每一曰誌之類型係空閒區塊 收集資訊時之恢復程序之一流程之一序列。圖33係顯示當 每一日誌之類型係空間區塊收集資訊時之恢復程序之一序 列之一流程之一實例的一流程圖。在步驟S23〇中,日誌恢 復單元394請求區塊使用資訊控制單元326將對應區塊之使 用狀態改變為未使用狀態《區塊使用資訊控制單元326根 據來自日誌恢復單元394之請求更新由區塊使用資訊儲存 單元228所儲存之區塊使用資訊。 藉由上文程序,可正確地恢復該管理資訊同時可極大地 降低日誌記錄計數。因此,與關於儲存媒體之資料之寫入 效能相比,可進一步改良關於來自該主機裝置之寫入請求 之寫入效能。此外,可增加資料儲存裝置之設計壽命。 在該第三實施例中,在區塊分配規則中存在以下兩個約 束。 第一個約束係當主機寫入曰誌結構化指標及壓縮曰諸結 構化指標使用在對應期限中所分配之所有區塊時同步地執 行用於壓縮添加之日誌結構化區塊及用於主機寫入之日諸 結構化區塊之新區塊分配。 第二個約束係關於當在一對應時間點來自該主機裝置之 寫入量為1且在該資料儲存裝置中欲處理之壓縮之寫入量 為N(N為等於或大於0之一整數)時所分配區塊之數目,亦 即’將一個未使用區塊分配給用於主機添加之區塊且將N 個未使用區塊分配給用於壓縮添加之區塊。 接下來,將參考圖34至38闡述因違反以上約束而不能正 153846.doc •103· 201205286 確地恢復該管理資訊之一實例,同時考量到反向查找表之 恢復。由於下文提及之一情形可應用於有效頁旗標或有效 頁計數器之恢復,因此本文將不重複說明。 在其中使用該等區塊用於主機寫入及壓縮之一情形下, 如圖34中所示’針對主機寫入之日誌結構化指標到達區塊 之末尾處。在此情況下,獲取新的區塊,此違反該第一約 束,且繼續處理來自該主機裝置之寫入存取,如圖35中所 示。在此情況下,由於在來自該主機裝置之寫入存取中產 生位址偏離’因此如圖35及36中所示,使記錄於區塊a中 用於壓縮之一 LBA 2之資料無效,區塊B變成壓縮物件, 且將一 LBA 4之資料複製至區塊A中用於壓縮。圖37中顯 示在此時間點之曰誌》 在圖36中所示之情形下’由於中斷給資料儲存裝置3〇〇 之電力供應且再次給資料儲存裝置300供應電力,因此恢 復正向查找表之内容。在此情況下,如圖37中所示,由於 指示「區塊就緒」之一日誌之時間次序係區塊A、區塊 B、區塊C及區塊D之次序’因此按照此次序讀取每一區塊 之一頁且恢復圖38中所示之一正向查找表。在圖38中所示 之正向查找表中,正向查找表之關於LBA 4之資訊可指示 並非最新之區塊B之一頁0。 接下來’將參考圖39至44闡述因遵守以上約束而可正喊 地恢復該管理資訊之一實例,同時考量到正向查找表之恢 復。 在其中使用區塊用於主機寫入及壓縮之一情形下,如圖 153846.doc -104- 201205286 39中所示’針對主機寫入之日誌結構化指標到達區塊之末 尾處。在此情況下,遵守該第一約束,使新區塊之獲取延 遲直至針對壓縮之日誌結構化指標到達區塊之末尾處為 止,如圖40中所示,且當該等日誌結構化指標到達用於寫 入之區塊之末尾處時獲取新的區塊。然後,同時處理根據 來自該主機裝置之寫入請求之寫入及壓縮寫入且同步地執 行區塊之獲取’如圖41中所示。如圖42中所示,將用於主 機寫入之區塊Β設定為壓縮物件且執行壓縮,且將存在於 區塊Β中之有效頁複製至區塊ε中。圖43中顯示在此時間點 之日誌。 在圖42中所示之情形下,由於中斷給資料儲存裝置3〇〇 之電力供應且再次給資料儲存裝置300供應電力,因此恢 復正向查找表之内容。圖44顯示經恢復正向查找表。由於 一所聚焦LBA(邏輯位址)為一在前LBA,因此圖42中未顯 示第十一個至第十七個LBA。若遵守該等約束,則由於當 曰誌'結構化指標獲取新區塊時必須以一群組之形式獲取用 於主機寫入之區塊及用於歷縮之區塊,因此以一群組單元 執行一恢復程序,甚至在重新構建正向查找表之情況下。 在圖44之一狀態之情況下,獲得包含區塊a及β之一群 組、區塊C及D之一群組及區塊E及F之一群組之三個群 組。三個群組之恢復次序係在一寫入程序中使用該等區塊 之次序。首先,順序地讀取區塊A及B之群組之若干頁、 區塊C及D之群組之若干頁及區塊E&F之群組之若干頁且 恢復該正向查找表。在每一群組中,在讀取用於壓縮之區 153846.doc -105- 201205286 塊之該等頁且恢復該正向查找表之後,讀取用於主機寫入 之區塊之該等頁且恢復該正向查找表。舉例而言,關於區 塊A及B之群組’在處理區塊a之該等頁之後,處理區塊b 之該等頁。 如圖44之正向查找表恢復結果中所示,可認識到,儘管 由於如在圖36中所示之存取型樣中產生位址偏離而立即壓 縮自該主機裝置寫入之資料,但正向查找表之恢復結果保 證一致性。 第一約束係當兩個寫入指標使用所有所獲取區塊時致使 執行用以寫入具有不同特性之兩種類型資料之區塊之獲取 及致使關於每一區塊之寫入歷史按照正確次序儲存及規定 的、’々束自此組態,可s忍識到若不遵守第一約束,則不 能正確地執行自該日誌之正向查找表恢復。 第二約束係致使動態地反應來自該主機裝置之寫入請求 頻率之改變或未使用區塊之數目之改變同時遵守該第一約 束的一約束。在其中不需要(舉例而言)緊接著在該系統之 使用開始之後執行壓縮之情形下,針對壓縮之曰誌結構化 指標可未獲取該等區塊。同時,在其中由於該系統之未使 用區塊之數目之一降低需要執行壓縮之—情形下,使眾多 區塊由針對壓縮之日誌結構化指標獲取,且產生其中關於 該主機寫入執行多次壓縮之—情形。 以此方式,可保證在一對應時間點需要之壓縮之寫入 量,且可盡可能地避免該程序甚至在一個日總結構化指標 到達所分配區塊之末尾處時被暫停直至另一日誌結構化指 153846.doc -106. 201205286 才示到達所分配區塊之末尾處為止。 第四貫施例 在該第四實施例中,將闡述其中一有效頁旗標未包含在 一轉換表中之一實例。 若在寫入頁中之反向查找邏輯位址與正向查找表之間實 現以下第一及第二關係,則可採用其中有效頁旗標未包含 在該轉換表中之組態。 弟關係係「當藉由寫入頁中之反向查找邏輯位址參考 正向查找表且記錄在該正向查找表中之實體位址指示對應 頁時,此意指在該對應頁之寫入之後未執行對應邏輯位址 之寫入’且該對應頁係有效的」。 第二關係係「當藉由寫入頁中之反向查找邏輯位址參考 正向查找表且記錄在該正向查找表中之實體位址未指示對 應頁時,此意指在該對應頁之寫入之後執行關於該對應邏 輯位址之寫入,且該對應頁係無效的」。 虽该轉換表經構建而不包含有效頁旗標時,使用上文關 係’參考上文所述有效頁旗標之ON及off之程序由以下程 序替換。 (1) 讀取若干頁之資料之程序。 (2) 藉由反向查找邏輯位址參考正向查找表及確定記錄 在該正向查找表中之實體位址是否指示藉由(1)讀取之頁之 程序。 (3) 當(2)變成真時確定該有效頁旗標為on且當(2)變成 假時確定該有效頁旗標為〇FF之程序。 153846.doc 201205286 如上文所述’在該第四實施例中’可藉由使用其中有效 頁旗標未包含在該轉換表中之組態降低該管理資訊之記憶 體使用量。當可降低該管理資訊之記憶體使用量時,此意 指可降低欲儲存為快照之容量。因此,可降低儲存快照所 需之程序時間’可減少關於半導體儲存媒體之寫入量且可 增加該資料儲存裝置之設計壽命。可將「寫入頁中之反向 查找邏輯位址」讀取為「對應於該轉換表中之對應頁之反 向查找邏輯位址」。 第五貫施例 在該第五實施例中,將闡述其中各種程序不係以一區塊 單元執行而係以稱為一邏輯區塊之一單元執行,該邏輯區 塊中組合複數個區塊。下文中,將區塊稱為一實體區塊以 將區塊與邏輯區塊彼此區分。 當該等程序係以邏輯區塊單元執行時,正向查找表具有 圖45中所示的一第一階段之一 LBA表及圖46中所示的—第 二階段之一邏輯/實體轉換表8 LBA表使用邏輯位址作為— 索引且包含該邏輯位址、指派給該邏輯區塊之一邏輯區塊 編號、一通道編號及指派給該頁之一頁編號。按照區塊產 生次序指派邏輯區塊編號。通道編號在圖1中所示之組熊 之情況下變成CH0至CH5,且顯示在彼處寫入寫入物件^ 料之通道。邏輯/實體轉換表係指示屬於邏輯區塊之每— 通道之每一實體區塊之資訊。邏輯/實體轉換表使用邏輯 區塊編號作為一索引且包含一邏輯區塊編號及包含在該邏 輯區塊中之每一通道之每一實體區塊編號。 153846.doc -108- 201205286 圖47中顯示反向查找表、有效頁旗標及有效頁計數器。 如圖47中所不,反向查找表、有效頁旗標及有效頁計數器 使用邏輯區塊編號作為—索引,纟包含該邏輯區塊編號、 該有效頁計數器、每—通道之每—實體區塊之該邏輯位址 及=效頁旗標集作為—條目。每―通道之每__實體區塊之 邏輯位址及有效頁旗標集使用通道編號作為一索引,且通 道編號、邏輯位址及有效頁旗標係按照頁設置於對應實體 區塊中之次序配置且可規定邏輯位址資訊或有效頁旗標資 訊對應之頁。相同邏輯區塊之有效頁計數器之—值與有效 頁旗私之真值之總數目彼此匹配。在相同區塊中,變成索 引之邏輯區塊編號及變成正向查找表之條目之邏輯區塊編 號指派有相同編號。 類似於圖9中所示之反向查找表,反向查找表係指示該 資料儲存裝置所儲存之資料之一邏輯位址與指示資料實際 儲存於半導體儲存媒體中之一實體儲存位置之一實體位址 的一對應關係且當將位址自實體位址轉換成邏輯位址(與 正向查找表相反)時使用之一表。有效頁旗標使用一真/假 值來顯示包含於該實體區塊中之若干當頁中在彼處寫入有 效資料之一有效頁。有效頁計數器顯示包含於該邏輯區塊 中之該等頁當中有效頁之數目。 在此情況下,若構成邏輯區塊之實體區塊之頁之寫入次 序(亦即,日誌結構化指標之前進方法)係如圖48中所示確 定,則上文所述以(實體)區塊單元進行之各種程序可由以 邏輯區塊單元進行之程序替換。藉此,共同存取複數個半 153846.doc -109· 201205286 導體儲存媒體且可增加存取速度。藉由組合該第三實施例 或該第四實施例’可使用其中不包含反向查找表或有效頁 旗標之組態。 根據上文所述至少一個實施例之—控制器,一寫入指示 單元指示-資料存取單元將寫入物件資料寫入一資料儲存 單元之由一第一實體位址所指示之一儲存區域中,指示一 管理資訊存取單元更新位址轉換資訊且指示一第一存取單 元更新該第一實體位址。一壓縮單元擷取壓縮物件資料之 一實體位址,指示該資料存取單元讀取儲存於該資料儲存 單元之由該實體位址所指示之一儲存區域中之壓縮物件資 料,指示該資料存取單元將該壓縮物件資料寫入該資料儲 存單元之由一第二實體位址指示之一儲存區域中,指示該 管理資訊存取單元更新該位址轉換資訊,且指示一第二存取 單元更新該第二實體位址。因此,可改良一般使用效能。 雖然已闡述了某些實施例,但僅以實例方式呈現此等實 施例’且此等實施例不意欲限制本發明之範嘴。實際上, 本文所闡述之新穎實施例可以各種其他形式體現;此外, 可在不背離本發明精神之情況下對本文所闡述該等實施例 之形式作出各種省略、替代及改變。隨附申請專利範圍及 其等效物意欲涵蓋將屬於本發明之範疇及精神之此等形式 或修改。 【圖式簡單說明】 圖1係顯示根據一第一實施例的一資料儲存裝置之硬體 組態之—實例之一方塊圖; 153846.doc -110· 201205286 圖2係顯示根據該第一實施例之該資料儲存裝置之功能 組態之一實例之一方塊圖; 圖3係顯示一用於保證管理資訊之一致性之方法之一實 例之一圖示; 圖4係顯示一用於保證管理資訊之一致性之方法之一實 例之一圖示; 圖5係顯示一用於保證管理資訊之一致性之方法之一實 例之一圖示; 圖6係顯示一用於保證管理資訊之一致性之方法之一實 例之一圖示; 圖7係顯示根據一第二實施例之一資料儲存裝置之功能 組態之一實例之一方塊圖; 圖8係顯示一正向查找表之資料組態之一實例之一圖 圖9係顯示一反向查找表、一有效頁旗標及一有效頁計 數器之資料組態之一實例之一圖示; 圖1 〇係顯示一主機寫入曰誌結構化指標之資料組態之一 實例之一圖示; 圖11係一 圖12係顯示一 命令分割方法之一實例之一圖示; 不 日3志之^實例之一圖不, 圖13係顯示根據該第二實施例的該資料儲存裝置之一寫 程序之1例之-流程圖;
取程序之― 實例之一流程圖; 施例的該資料儲存裝置之一讀 153846.doc -111- 201205286 圖15係顯示根據該第二實施例的該資料儲存裝置之—壓 縮程序之一實例之一流程圖; 圖16係顯示根據該第二實施例的該資料儲存裝置之—快 照δ己錄程序之一貫例之—流程圖, 圖1 7係顯示根據該第二實施例的該資料儲存裝置之—管 理資訊恢復程序之一實例之一流程圖; 圖1 8係按照邏輯位址次序配置資料之一原理之一圖示; 圖19係顯示根據一第三實施例的一資料健存裝置之功能 組態之一實例之一方塊圖; 圖20係顯示一有效頁旗標及一有效頁計數器之資料組態 之一貫例之一圖示; 圖21係一未使用區塊之一分配方法之一圖示; 圖22係一未使用區塊之一分配方法之—圖示; 圖23係一未使用區塊之一分配方法之—圖示; 圖24係一未使用區塊之一分配方法之—圖示; 圖25係一未使用區塊之一分配方法之—圖示; 圖26係一未使用區塊之一分配方法之—圖示; 圖27係顯示關於一頁之一資料寫入方法之—圖示; 圖28係顯示根據該第三實施例的該資料儲存裝置之一寫 入程序之一實例之一流程圖; 圖29係顯示根據該第三實施例的該資料儲存裝置之一壓 縮程序之—實例之一流程圖; 圖30係顯示根據該第三實施例的該資料儲存裝置之一管 理資訊恢復程序之一實例之一流程圖; 153846.doc •112· 201205286 圖3 1係顯示根據該第三實施例的該資料儲存裝 —。 ππ~11 塊分配程序之一實例之一流程圖; 圖32係顯示根據該第三實施例的該資料儲存裝置之_區 塊添加完成程序之一實例之一流程圖; 圖33係顯示根據該第三實施例的該資料儲存裝置之一空 閒區塊收集程序之一實例之一流程圖; 圖34係顯示不根據約束之一恢復程序之一實例之一圖 不, 圖35係顯示不根據約束之一恢復程序之一實例之一圖 示; 圖36係顯示不根據約束之一恢復程序之一實例之一圖 示; 圖3 7係顯示不根據約束之一恢復程序之一實例之一圖 不, 圖3 8係顯示不根據約束之一恢復程序之一實例之一圖 不, 圖3 9係顯示不根據約束之一恢復程序之一實例之一圖 不, 圖4 0係顯示不根據約束之一恢復程序之一實例之一圖 不, 圖41係顯示不根據約束之一恢復程序之一實例之一圖 不, 圖42係顯示不根據約束之一恢復程序之一實例之一圖 不 > 133846.doc -113· 201205286 圖43係顯示不根據約束之一恢復程序之一實例之一圖 示; 圖44係顯示不根據約束之一恢復程序之一實例之一圖 示; 圖45係顯示一 LBA表之資料組態之一實例之一圖示; 圖46係顯示一邏輯/實體轉換表之資料組態之一實例之 '一圖示; 圖47係顯示一反向查找表、一有效頁旗標及一有效頁計 數器之資料組態之一實例之一圖示;及 圖48係顯示一日誌結構化指標之一前進方法之一實例之 一圖示。 【主要元件符號說明】 51 處理器 52 開機唯讀記憶體 53 記憶體介面 54 動態隨機存取記憶體 55 ATA/SAS 介面 56 匯流排 57A NAND介面 57B NAND介面 57C NAND介面 57D NAND介面 57E NAND介面 57F NAND介面 153846.doc · 114· 201205286 58A NAND 58B NAND 58C NAND 58D NAND 58E NAND 58F NAND 100 資料儲存裝置 105 資料儲存單元 106 資料存取單元 110 接收器 120 管理資訊儲存單元 121 管理資訊存取單元 130 第一儲存單元 131 第一存取單元 140 第二儲存單元 141 第二存取單元 150 寫入指示單元 160 讀取指示單元 170 壓縮單元 200 資料儲存裝置 203 半導體儲存媒體控制單元 205 半導體儲存媒體 207 緩衝控制單元 209 緩衝儲存單元 153846.doc -115- 201205286 210 主機介面單元 215 命令控制單元 221 轉換表控制單元 223 轉換表儲存單元 226 區塊使用資訊控制單元 228 區塊使用資訊儲存單元 230 主機寫入日誌結構化指標儲存單元 232 主機寫入日誌結構化指標控制單元 240 壓縮日誌結構化指標儲存單元 242 壓縮日誌結構化指標控制單元 250 寫入指示單元 260 讀取指示單元 270 壓縮單元 282 快照儲存單元 284 曰誌儲存單元 290 管理資訊恢復單元 292 快照恢復單元 294 日誌恢復單元 300 資料儲存裝置 323 轉換表儲存單元 326 區塊使用資訊控制單元 350 寫入指示單元 370 壓縮單元 394 曰誌恢復單元 153846.doc -116-
Claims (1)
- 201205286 七、申請專利範圍: !.-種控制器’其連接至以下單元:—資料存取單元,其 將資料寫入至儲存資料之-資料儲存單元及自其讀取資 H理資訊存取單元’其將資料寫人至儲存包含位 址轉換資訊之管理資訊之一管理資訊儲存單元及自其讀 取資料,該位址轉換資訊中該資料儲存單元之實體位址 與邏輯位址彼此相關m取單元,其將資料寫 入至储存該資料儲存單元之-第—實體位址之—第一儲 存單元及自其讀取資料;及—第:存取單元,其將資料 寫入至儲存該資料儲存單元之—第二實體位址之一第二 儲存單元及自其讀取資料,該控制器包括: -接收器’其自一主機裝置接收_資料寫入請求; 一:寫入指示單元,其指示該第—存取單元讀取該第一 =體位址’指示該資料存取單元將為由—主機裝置請求 萬入之資料之寫入物件資料耷 貪科寫入该資料儲存單元之由該 =貫=址指示之-儲存區財,指示該管理資訊存 第物件資料之位址轉換資訊,且指示該 子取皁元更新該第_實體位址;及 資:::凡’其指示該管理資訊存取單元讀取該管理 單元令之資料木由厭 存於該資料館存 資科…縮物件資料之一實 貝:存取單元讀取储存於該資料儲存單元之由該 址指示之一儲在貫體位 存取… 該塵縮物件資料,指示該第二 早兀呼取該第一貫體位址,指示該資料存取單元將 153846.doc 201205286 該壓縮物件資料寫入該資料儲存單元之由 -^ 田所讀取之該第 :實體位則曰示之-儲存區域卜指示該管理資訊存取 早兀更新該壓縮物件資料之該位 铱- ^ 付伏貝吼,且指示該 第一存取皁元更新該第二實體位址。 2·如請求項1之控制器, 其中當該壓縮物件資料之一讀取源之一儲存區域為一 無效儲存區域時,該爆維 一 4才忒魘縮早兀不私不该管理資訊存取單 元更新該位址轉換資訊。 3.如請求項1之控制器,其進一步包括: 一快照儲存單元,其指示該資料存取單元將該管理資 訊作為一快照儲存於該資料儲存單元中; 一日誌儲存單元,其指示該資料存取單元將該管理資 讯之更新資訊作為—日誌儲存於該資料儲存單元中; 一快照恢復單元,其指示該資料存取單元讀取儲存於 該資料儲存單元中之該快照且恢復該快照作為該管理資 訊;及 一曰訪、恢復單元’其指示該資料存取單元讀取儲存於 該資料儲存單元中之該日誌且將該日誌應用於由該快照 恢復單元恢復之該管理資訊以恢復該管理資訊。 4.如請求項3之控制器, 其中為該寫入物件資料分配用於主機寫入之一日誌結 構化區塊, 為s亥壓縮物件資料分配用於壓縮之一日誌結構化區 塊, 153846.doc 201205286 该寫入指示單元指示該資料存取單元將該寫入物件資 料及该寫入物件資料之一邏輯位址寫入用於該主機寫入 之該日總結構化區塊之一頁中, S亥麼縮單元指示該資料存取單元將該壓縮物件資料及 °亥廢縮物件資料之一邏輯位址寫入用於該壓縮之該日誌 結構化區塊之一頁中,且 该控制器進一步包括一區塊使用資訊控制單元,其為 該寫入物件資料分配用於主機寫入之一新日誌結構化區 塊’為該壓縮物件資料分配用於壓縮之一新日誌結構化 區塊’且當關於用於該主機寫入之該日誌結構化區塊之 所有頁完成寫入且關於用於該壓縮之該日誌結構化區塊 之所有頁完成寫入時,按照用於該壓縮之該日誌結構化 區塊及用於該主機寫入之該日誌結構化區塊之次序將分 配資訊記錄為一日誌、。 5. 如請求項4之控制器, 其中該區塊使用資訊控制單元將N(N為等於或大於〇之 一整數)個用於壓縮之新日誌結構化區塊分配給一個用於 主機寫入之新日誌結構化區塊。 6. 如請求項4之控制器, 其中該壓縮單元參考該位址轉換資訊,當與寫入該頁 中之該壓縮物件資料之該邏輯位址相關聯之一實體位址 指示該頁時確定該頁係有效,且當與寫入該頁中之該壓 縮物件資料之該邏輯位址相關聯之該實體位址不指示該 頁時確定該頁係無效。 153846.doc 201205286 一種資料儲存裝置,其包括·· 一資料儲存單元,其儲存資料; -管理資訊儲存單元’其儲存包含位址轉換資訊之管 理資訊,該位址轉換資訊中該資料儲存單元之實體位址 與邏輯位址彼此相關聯; 第一儲存單70 ’其儲存該資㈣存單元之-第一實 體位址; 一第二儲存單元,其儲存該資料儲存單元之-第二實 體位址; 其將資料寫入至該資料儲存單元及 一資料存取單元 自其讀取資料; 一管理資訊存取單元,其蔣眘M & #將資枓寫入至該管理資訊儲 存單元及自其讀取資料; 一第一存取單元,其將資料寫人至該第-儲存單元及 自其讀取資料; 一第二存取單元,其將資料寫人至該第二儲存單元及 自其讀取資料; -接收器,其自-主機裝置接收一資料寫入請求. -寫入指示單元’其指示該第—存取單元讀取該第— 實體位址,指示該資料存取單元將為由—主機裝置請求 寫入之資料之寫入物件資料寫入該資料儲存單^之^ 第一實體位址指示之一儲存區域令,指 6A 〇〇 一 δ亥營理資訊存 取單元更新該寫入物件資料之位址轉換眘 穴貝atli,且指干_yp. 第一存取單元更新該第一實體位址;及 153846.doc -4- 201205286 一壓縮單元,其指示該管理資訊存取單元讀取該管理 資訊,基於所讀取之該管理資訊擷取儲存於該資料儲存 單元中之資料當中壓縮物件資料之一實體位址,指示該 寊料存取單元續取儲存於該資料儲存單元之由該實體位 址指示之一儲存區域中之該壓縮物件資料,指示該第二 存取單元讀取該第二實體位址,指示該資料存取單元將 該塵縮物件資料寫入該資料儲存單元之由所讀取之該第 一實體位址指示之一儲存區域中,指示該管理資訊存取 单元更新該壓縮物件資料之該位址轉換資訊,且指示該 第二存取單元更新該第二實體位址。 8. -種程式產品,其用於—控制器,該控制器連接至以下 單几:-資料存取單元,其將資料寫入至儲存資料之一 資料儲存單元及自其讀取資料;—管理資訊存取單元, 其將貝料寫入至儲存包含位址轉換資訊之管理資訊之一 管理資訊儲存單元及自其讀取資料,該位址轉換資訊中 該資料儲存單元之實體位址與邏輯位址彼此相關聯卜 第存取單元’其將資料寫入至儲存該資料儲存單元之 一第:實體位址之-第-錯存單元及自其讀取資料;及 第一存取早70 ’其將資料寫入至儲存該資料儲存單元 之一第二實體位址之-第二餘存單元及自其讀取資料, 該程式產品具有包含經程式化指令之-電腦可讀媒體, 其中該等指令在由—電腦執行時致使該電腦用作: 一接收器,其自一主機裝置接收-資料寫入請求; 一寫入指示單元,其指示該第一存取單㈣取該第一 153846.doc 201205286 實體位址’指示該資料存取單元將為由一主機 寫入之資料之寫入物件資料寫入該資料儲存單元之㈣ 第-實體位址指示之-儲存區域中,指示該管理^ 取單元更新該寫人物件資料之位址轉換資訊,且指°_: 第一存取單元更新該第一實體位址;及 一壓縮單元,其指示該管理資訊存取單元讀取該管理 資訊,基於所讀取之該管理資訊掏取健存於該資料儲存 單兀中之資料當中屋縮物件資料之-實體位址,指亍.亥 資料存取單元讀取儲存於該資料儲存單元之由該實體: 址指…儲存區域中之該壓縮物件資料,指示該第二 存取早元讀取該第二膏艘/ .t _ _ 貫體位址,扎不該資料存取單元將 該壓縮物件資料寫人該資料儲存單元之由所讀取之該第 :實體位址扎不之—儲存區域中,指示該管理資訊存取 早元更新該壓縮物你咨a » / . 平 物件資枓之該位址轉換資訊,且指示該 第二存取單元更新該第二實體位址。 153846.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010063191A JP5066209B2 (ja) | 2010-03-18 | 2010-03-18 | コントローラ、データ記憶装置、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201205286A true TW201205286A (en) | 2012-02-01 |
TWI424316B TWI424316B (zh) | 2014-01-21 |
Family
ID=44166702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100105520A TWI424316B (zh) | 2010-03-18 | 2011-02-18 | 控制器、資料儲存裝置、及程式產品 |
Country Status (6)
Country | Link |
---|---|
US (10) | US8495336B2 (zh) |
EP (1) | EP2367100A3 (zh) |
JP (1) | JP5066209B2 (zh) |
KR (1) | KR101270807B1 (zh) |
CN (1) | CN102193748B (zh) |
TW (1) | TWI424316B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI512463B (zh) * | 2012-10-30 | 2015-12-11 | Toshiba Kk | 記憶體裝置及主機裝置 |
TWI682279B (zh) * | 2018-03-22 | 2020-01-11 | 日商東芝記憶體股份有限公司 | 儲存裝置及電腦系統 |
US20230393976A1 (en) * | 2022-06-01 | 2023-12-07 | Micron Technology, Inc. | Controlling variation of valid data counts in garbage collection source blocks |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101632068B (zh) | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
KR101090407B1 (ko) * | 2009-12-24 | 2011-12-06 | 주식회사 팍스디스크 | 듀얼 메모리 영역을 관리하는 반도체 스토리지 시스템의 제어 방법 |
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
JP5066209B2 (ja) * | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US11789631B2 (en) | 2010-11-29 | 2023-10-17 | Pure Storage, Inc. | Utilizing metadata storage trees in a vast storage network |
US20220214944A1 (en) * | 2010-11-29 | 2022-07-07 | Pure Storage, Inc. | Optimized Selection of Participants in Distributed Data Rebuild/Verification |
JP5405513B2 (ja) * | 2011-03-22 | 2014-02-05 | 株式会社東芝 | メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
JP5674634B2 (ja) | 2011-12-28 | 2015-02-25 | 株式会社東芝 | コントローラ、記憶装置およびプログラム |
JP5687639B2 (ja) | 2012-02-08 | 2015-03-18 | 株式会社東芝 | コントローラ、データ記憶装置及びプログラム |
TWM439846U (en) * | 2012-02-15 | 2012-10-21 | Waremax Electronics Corp | Connection device capable of enhancing data read/write speed |
JP5687648B2 (ja) | 2012-03-15 | 2015-03-18 | 株式会社東芝 | 半導体記憶装置およびプログラム |
US8370567B1 (en) * | 2012-03-23 | 2013-02-05 | DSSD, Inc. | Storage system with self describing data |
US20140032820A1 (en) * | 2012-07-25 | 2014-01-30 | Akinori Harasawa | Data storage apparatus, memory control method and electronic device with data storage apparatus |
US8954694B2 (en) * | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9286936B1 (en) * | 2013-02-21 | 2016-03-15 | Seagate Technology Llc | Zone based band mapping |
JP6191209B2 (ja) * | 2013-04-12 | 2017-09-06 | 富士通株式会社 | ストレージ装置、制御プログラムおよび制御方法 |
KR102114388B1 (ko) * | 2013-10-18 | 2020-06-05 | 삼성전자주식회사 | 전자 장치의 메모리 압축 방법 및 장치 |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
CN105094742B (zh) * | 2014-05-09 | 2018-12-07 | 华为技术有限公司 | 一种写数据的方法和设备 |
CN105393207B (zh) | 2014-06-11 | 2018-06-12 | 株式会社东芝 | 共享贮存系统、以及控制向贮存装置的访问的方法 |
US9779110B2 (en) * | 2014-07-11 | 2017-10-03 | Nec Corporation | Placement device, placement method and recording medium, that stores placement program information processing device |
US9378149B1 (en) | 2014-08-29 | 2016-06-28 | Emc Corporation | Method and system for tracking modification times of data in a storage system |
US20160188233A1 (en) * | 2014-12-26 | 2016-06-30 | Mediatek Inc. | Method for interrupting cleaning procedure of flash memory |
TWI573143B (zh) * | 2015-03-04 | 2017-03-01 | 慧榮科技股份有限公司 | 資料重新寫入方法以及使用該方法的裝置 |
US20160306810A1 (en) * | 2015-04-15 | 2016-10-20 | Futurewei Technologies, Inc. | Big data statistics at data-block level |
TWI569139B (zh) * | 2015-08-07 | 2017-02-01 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 |
US9880770B2 (en) * | 2015-09-02 | 2018-01-30 | SK Hynix Inc. | Supporting invalidation commands for non-volatile memory |
CN106897311B (zh) * | 2015-12-21 | 2020-08-11 | 财团法人工业技术研究院 | 数据库批次更新方法、数据还原日志产生方法与存储装置 |
US10162561B2 (en) * | 2016-03-21 | 2018-12-25 | Apple Inc. | Managing backup of logical-to-physical translation information to control boot-time and write amplification |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US10592113B2 (en) | 2016-07-18 | 2020-03-17 | Storart Technology (Shenzhen) Co., Ltd. | Method for transferring command from host to device controller and system using the same |
TWI625628B (zh) * | 2016-08-12 | 2018-06-01 | 深圳衡宇芯片科技有限公司 | 由主機到設備控制器傳輸命令的方法及使用該方法的系統 |
JP6720788B2 (ja) * | 2016-09-07 | 2020-07-08 | 富士通株式会社 | ログ管理装置及びログ管理プログラム |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
JP6478965B2 (ja) * | 2016-12-13 | 2019-03-06 | キヤノン株式会社 | 情報処理装置、その方法及びプログラム |
US10402355B2 (en) | 2017-02-08 | 2019-09-03 | Texas Instruments Incorporated | Apparatus and mechanism to bypass PCIe address translation by using alternative routing |
FR3065303B1 (fr) * | 2017-04-12 | 2019-06-07 | Stmicroelectronics (Rousset) Sas | Procede d'ecriture dans un dispositif de memoire non volatile et dispositif de memoire non volatile correspondant |
CN109101185B (zh) * | 2017-06-20 | 2023-08-11 | 北京忆恒创源科技股份有限公司 | 固态存储设备及其写命令和读命令处理方法 |
JP2019053415A (ja) | 2017-09-13 | 2019-04-04 | 東芝メモリ株式会社 | メモリシステム、その制御方法及びプログラム |
JP7074454B2 (ja) * | 2017-10-30 | 2022-05-24 | キオクシア株式会社 | 計算機システムおよび制御方法 |
CN107844432B (zh) * | 2017-11-22 | 2021-01-12 | 深圳忆联信息系统有限公司 | 一种固态硬盘动态垃圾回收的方法及固态硬盘 |
KR20200096613A (ko) | 2017-12-11 | 2020-08-12 | 마이크론 테크놀로지, 인크. | 캐싱된 플래시 변환 계층에서의 가비지 수집의 효율을 개선하기 위한 기법 |
US10936199B2 (en) * | 2018-07-17 | 2021-03-02 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
KR102513919B1 (ko) * | 2018-11-05 | 2023-03-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
JP7042716B2 (ja) * | 2018-07-26 | 2022-03-28 | キオクシア株式会社 | 記憶装置及び記憶制御方法 |
JP7178916B2 (ja) | 2019-01-29 | 2022-11-28 | キオクシア株式会社 | メモリシステムおよび制御方法 |
TWI696073B (zh) * | 2019-04-02 | 2020-06-11 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN111813325B (zh) * | 2019-04-12 | 2023-06-27 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
JP2021015384A (ja) * | 2019-07-10 | 2021-02-12 | 富士通株式会社 | 情報処理回路、情報処理装置、情報処理方法及び情報処理プログラム |
CN111261206B (zh) | 2020-01-17 | 2022-03-08 | 苏州浪潮智能科技有限公司 | 一种读写方法、装置和电子设备及可读存储介质 |
US11853599B2 (en) | 2020-03-31 | 2023-12-26 | Kioxia Corporation | Memory system and information processing system |
CN114546245B (zh) * | 2020-11-18 | 2024-09-03 | 北京忆恒创源科技股份有限公司 | 利用zns标准实现透明压缩的方法及其设备 |
US11934280B2 (en) | 2021-11-16 | 2024-03-19 | Netapp, Inc. | Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors |
US20230188324A1 (en) * | 2021-12-09 | 2023-06-15 | Sap Se | Initialization vector handling under group-level encryption |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3534585B2 (ja) * | 1997-10-21 | 2004-06-07 | 株式会社日立製作所 | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
US6470436B1 (en) * | 1998-12-01 | 2002-10-22 | Fast-Chip, Inc. | Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory |
JP3793868B2 (ja) * | 1999-11-25 | 2006-07-05 | カシオ計算機株式会社 | フラッシュメモリ管理装置及び記録媒体 |
JP4131894B2 (ja) * | 2000-02-29 | 2008-08-13 | 株式会社東芝 | ランダムディスクライトに好適なディスク制御機構 |
US7424498B1 (en) * | 2003-06-30 | 2008-09-09 | Data Domain, Inc. | Probabilistic summary data structure based encoding for garbage collection |
KR100533682B1 (ko) * | 2003-12-26 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
US20060161724A1 (en) * | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
KR20070031647A (ko) | 2005-09-15 | 2007-03-20 | 삼성전자주식회사 | 플래시 메모리 장치에 압축 데이터를 기록하는 방법 및상기 기록된 데이터를 읽는 방법, 그리고 상기 방법을이용하는 플래시 메모리 장치 |
JP5002944B2 (ja) * | 2005-11-15 | 2012-08-15 | ソニー株式会社 | 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム |
EP1895418B1 (en) * | 2005-12-09 | 2015-04-01 | Panasonic Corporation | Nonvolatile memory device, method of writing data, and method of reading out data |
US20070143376A1 (en) | 2005-12-16 | 2007-06-21 | Mcintosh Robert | Methods, systems, and computer program products for displaying at least one electronic media file on an electronic calendar based on information associated with the electronic calendar |
US20070143378A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
JP2008003932A (ja) * | 2006-06-23 | 2008-01-10 | Sony Corp | データ記憶装置、データ記憶方法およびコンピュータプログラム |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US8429352B2 (en) * | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
JP4538034B2 (ja) | 2007-09-26 | 2010-09-08 | 株式会社東芝 | 半導体記憶装置、及びその制御方法 |
US8566504B2 (en) * | 2007-09-28 | 2013-10-22 | Sandisk Technologies Inc. | Dynamic metablocks |
JP4461170B2 (ja) | 2007-12-28 | 2010-05-12 | 株式会社東芝 | メモリシステム |
CN101632068B (zh) | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
JP4675984B2 (ja) * | 2008-02-29 | 2011-04-27 | 株式会社東芝 | メモリシステム |
JP2009211192A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP4510107B2 (ja) * | 2008-03-12 | 2010-07-21 | 株式会社東芝 | メモリシステム |
JP4653817B2 (ja) | 2008-03-01 | 2011-03-16 | 株式会社東芝 | メモリシステム |
JP4592774B2 (ja) * | 2008-03-01 | 2010-12-08 | 株式会社東芝 | メモリシステム |
JP4439569B2 (ja) | 2008-04-24 | 2010-03-24 | 株式会社東芝 | メモリシステム |
JP2010015197A (ja) | 2008-06-30 | 2010-01-21 | Toshiba Corp | ストレージ制御装置、データ復元装置およびストレージシステム |
JP2010015195A (ja) | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
JP2010009548A (ja) | 2008-06-30 | 2010-01-14 | Toshiba Corp | 記憶装置、制御装置、記憶システム、および記憶方法 |
JP5242264B2 (ja) | 2008-07-07 | 2013-07-24 | 株式会社東芝 | データ制御装置、ストレージシステムおよびプログラム |
TW201005537A (en) * | 2008-07-29 | 2010-02-01 | Ralink Technology Corp | Controller, method, system and program for direct memory access |
JP4551958B2 (ja) | 2008-12-22 | 2010-09-29 | 株式会社東芝 | 半導体記憶装置および半導体記憶装置の制御方法 |
JP5317689B2 (ja) | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP5268710B2 (ja) | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
JP5066209B2 (ja) * | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
-
2010
- 2010-03-18 JP JP2010063191A patent/JP5066209B2/ja active Active
- 2010-09-16 US US12/883,796 patent/US8495336B2/en active Active
-
2011
- 2011-02-18 TW TW100105520A patent/TWI424316B/zh active
- 2011-02-28 KR KR1020110018246A patent/KR101270807B1/ko active Active
- 2011-02-28 EP EP20110156162 patent/EP2367100A3/en not_active Withdrawn
- 2011-03-01 CN CN201110048761.0A patent/CN102193748B/zh active Active
-
2013
- 2013-07-02 US US13/933,804 patent/US9690691B2/en active Active
-
2016
- 2016-12-08 US US15/530,151 patent/US9940233B2/en active Active
-
2018
- 2018-02-21 US US15/901,443 patent/US10229053B2/en active Active
-
2019
- 2019-01-23 US US16/255,284 patent/US10783072B2/en active Active
-
2020
- 2020-08-17 US US16/995,029 patent/US11269766B2/en active Active
-
2022
- 2022-02-01 US US17/590,310 patent/US11675697B2/en active Active
-
2023
- 2023-05-02 US US18/310,597 patent/US11977481B2/en active Active
-
2024
- 2024-04-02 US US18/624,930 patent/US12259813B2/en active Active
-
2025
- 2025-02-19 US US19/057,097 patent/US20250190342A1/en active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI512463B (zh) * | 2012-10-30 | 2015-12-11 | Toshiba Kk | 記憶體裝置及主機裝置 |
US9983794B2 (en) | 2012-10-30 | 2018-05-29 | Toshiba Memory Corporation | Memory device and host device |
US10353586B2 (en) | 2012-10-30 | 2019-07-16 | Toshiba Memory Corporation | Memory device and host device |
US10976930B2 (en) | 2012-10-30 | 2021-04-13 | Toshiba Memory Corporation | Memory device and host device |
US11573701B2 (en) | 2012-10-30 | 2023-02-07 | Kioxia Corporation | Memory device and host device |
US12189947B2 (en) | 2012-10-30 | 2025-01-07 | Kioxia Corporation | Memory device and host device |
TWI682279B (zh) * | 2018-03-22 | 2020-01-11 | 日商東芝記憶體股份有限公司 | 儲存裝置及電腦系統 |
US20230393976A1 (en) * | 2022-06-01 | 2023-12-07 | Micron Technology, Inc. | Controlling variation of valid data counts in garbage collection source blocks |
US11947452B2 (en) * | 2022-06-01 | 2024-04-02 | Micron Technology, Inc. | Controlling variation of valid data counts in garbage collection source blocks |
US12321266B2 (en) | 2022-06-01 | 2025-06-03 | Micron Technology, Inc. | Controlling variation of valid data counts in garbage collection source blocks |
Also Published As
Publication number | Publication date |
---|---|
US11977481B2 (en) | 2024-05-07 |
EP2367100A2 (en) | 2011-09-21 |
TWI424316B (zh) | 2014-01-21 |
US20220156182A1 (en) | 2022-05-19 |
US20200379901A1 (en) | 2020-12-03 |
US20190179745A1 (en) | 2019-06-13 |
US20230267075A1 (en) | 2023-08-24 |
US9690691B2 (en) | 2017-06-27 |
JP5066209B2 (ja) | 2012-11-07 |
US10783072B2 (en) | 2020-09-22 |
US12259813B2 (en) | 2025-03-25 |
US20170103017A1 (en) | 2017-04-13 |
JP2011197945A (ja) | 2011-10-06 |
US20110231624A1 (en) | 2011-09-22 |
KR20110105333A (ko) | 2011-09-26 |
US20250190342A1 (en) | 2025-06-12 |
CN102193748B (zh) | 2014-01-01 |
US20240256442A1 (en) | 2024-08-01 |
US11675697B2 (en) | 2023-06-13 |
EP2367100A3 (en) | 2014-05-07 |
CN102193748A (zh) | 2011-09-21 |
US8495336B2 (en) | 2013-07-23 |
KR101270807B1 (ko) | 2013-06-05 |
US20180239698A1 (en) | 2018-08-23 |
US10229053B2 (en) | 2019-03-12 |
US20130297900A1 (en) | 2013-11-07 |
US11269766B2 (en) | 2022-03-08 |
US9940233B2 (en) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201205286A (en) | Controller, data storage device, and program product | |
US10152381B1 (en) | Using storage defragmentation function to facilitate system checkpoint | |
US10235066B1 (en) | Journal destage relay for online system checkpoint creation | |
US10176190B2 (en) | Data integrity and loss resistance in high performance and high capacity storage deduplication | |
US8819362B1 (en) | Managing replication and reservations | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
KR102033323B1 (ko) | 플래시 메모리에서 사용하는 로그 구조 파일시스템의 메타데이터 저장 방법 | |
CN115705152A (zh) | 使用存储器内日志在非易失性存储器装置中的元数据管理 | |
CN105808449A (zh) | 一种用于虚拟机的虚拟存储映像版本管理方法和系统 | |
JP7304215B2 (ja) | ストレージシステムおよび履歴情報管理方法 | |
JP2023056222A (ja) | ストレージシステム及びストレージシステムにおけるデータ複製方法 | |
US11288006B2 (en) | Storage system and volume copying method where changes to address conversion table is rolled back | |
JP2023037883A (ja) | 情報処理装置 | |
Lee et al. | Efficient logging of metadata using NVRAM for NAND flash based file system | |
US9063656B2 (en) | System and methods for digest-based storage | |
CN115705263A (zh) | 存储器内日志 | |
WO2018055750A1 (ja) | 情報システム及び記憶制御方法 |