亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于在固態(tài)驅動器中重建的碎片化的固件表格的方法、數據存儲裝置和系統的制作方法

文檔序號:9252389閱讀:407來源:國知局
用于在固態(tài)驅動器中重建的碎片化的固件表格的方法、數據存儲裝置和系統的制作方法
【專利說明】
【背景技術】
[0001]由于固態(tài)驅動器(SSD)中的閃速存儲器的屬性,導致典型地按照頁對數據進行編程并且按照塊對數據進行擦除。SSD中的頁在尺寸上典型地是8-16千字節(jié)(KB)并且塊由大量頁(例如,256或512)組成。因此,在沒有蓋寫同一塊內的頁中的數據的情況下不能直接蓋寫SSD中的特定物理位置(例如,頁),這在磁硬盤驅動器中是可能的。由此,需要地址間接。對諸如SSD的數據存儲裝置上的閃速存儲器進行管理并與主機系統的接口進行交互的傳統的數據存儲裝置控制器使用邏輯到物理(L2P)映射系統,該邏輯到物理(L2P)映射系統作為閃速轉換層(FTL)的一部分、被稱為邏輯塊尋址(LBA)的。當新數據進入以替換已經寫入的舊數據時,數據存儲裝置控制器使得該新數據被寫入在新位置中并且將邏輯映射更新為指向該新物理位置。由于舊物理位置不再保持有效數據,所以在它能夠被再次寫入之前,最終需要將它擦除。
[0002]傳統上,大L2P映射表格將邏輯條目映射到SSD上的物理地址位置??梢晕挥谥T如動態(tài)隨機存取存儲器(DRAM)的易失性存儲器中的該大L2P映射表格通常在寫入進入時被更新,并且被保存到非易失性存儲器在小扇區(qū)中。例如,如果隨機寫入發(fā)生,則盡管該系統可能僅必須更新一個條目,但是盡管如此它可能必須將整個表格或其一部分(包括還未更新的條目)保存到非易失性存儲器,這是天然地低效率的。
[0003]圖1示出用于SSD的傳統邏輯塊尋址(LBA)方案的各方面。如其中示出的那樣,映射表格104包含針對為數據存儲裝置的閃速存儲器106所限定的每個邏輯塊102的一個條目。例如,支持512字節(jié)邏輯塊的64GB SSD可以將它自己向主機呈現為具有125,000,000個邏輯塊。映射表格104中的一個條目包含閃速存儲器106中的125,000, 000個邏輯塊中的每一個的當前位置。在傳統的SSD中,閃速頁保持整數倍的邏輯塊(即,邏輯塊不跨越閃速頁)。在該傳統示例中,8KB閃速頁將保持(尺寸512字節(jié)的)16個邏輯塊。因此,邏輯到物理映射表格104中的每一個條目包含標識其上存儲邏輯塊的閃速管芯的字段108、標識其上存儲邏輯塊的閃速塊的字段110、標識閃速塊內的閃速頁的另一字段112、和標識閃速頁內的偏移的字段114,字段114標識邏輯塊數據在所標識的閃速頁中開始于何處。較大尺寸的映射表格104阻礙表格被保持在SSD控制器內部。傳統上,較大的映射表格104被保持在連接到SSD控制器的外部DRAM中。由于映射表格104被存儲在易失性DRAM中,因而當SSD上電時,它必須被恢復,由于該表格的大尺寸導致這可能花費長時間。
[0004]當讀取邏輯塊時,映射表格104中的對應條目被讀取以確定閃速存儲器中要被讀取的位置。然后對映射表格104中的對應條目中指定的閃速頁執(zhí)行讀取。當讀取的數據可用于閃速頁時,將由映射條目指定的偏移處的數據從SSD傳輸到主機。當邏輯塊被寫入時,映射表格104中的對應條目被更新以反映邏輯塊的新位置。要注意的是,當邏輯塊被寫入時,閃速存儲器將最初包含至少兩個版本的邏輯塊;即,有效的、最近寫入的版本(由映射表格104所指向的)和陳舊的(stale)并且不再由映射表格104中的任何條目所指向的、其至少一個其他舊版本。這些“陳舊的”數據被稱作垃圾,其占用必須被考慮、收集、擦除并且使得可用以供未來使用的空間。
[0005]在正常操作期間,SSD生成必須被保存的固件信息(例如,非用戶數據)。這些信息本質上是開銷數據。例如,當SSD開放或閉合塊時,一些數據被生成并且必須被保存。經常,以表格形式存儲這樣的固件信息。例如,給定的表格可以具有2048個條目,其中每個條目在尺寸上為8字節(jié)。因此,這樣的表格占用約16KB的存儲空間/存儲器。因此,每次開放新的塊時,由系統保存該信息,這在傳統上要求執(zhí)行16KB寫入。傳統上,這樣的表格被存儲在與用于存儲用戶數據的文件系統(例如,文件存儲系統)不同的固件物理文件系統(例如,固件文件系統)中。這樣的固件文件系統在傳統上位于非易失性存儲器的分離的區(qū)域中,并且在傳統上與用戶數據的正常讀取/寫入不同地處理對該固件文件系統的讀取和寫入。這樣的用于固件數據和用戶數據的雙文件系統增加系統的開銷,并且造成要求復雜解決方案的一致性挑戰(zhàn)。
【附圖說明】
[0006]圖1示出用于SSD的傳統邏輯塊尋址(LBA)方案的各方面。
[0007]圖2是根據一個實施例的示出數據存儲裝置的物理和邏輯數據組織的各方面的示圖。
[0008]圖3示出根據一個實施例的數據存儲裝置的易失性存儲器和根據一個實施例的邏輯到物理地址轉換映射及其示例性條目。
[0009]圖4示出根據一個實施例的用于更新邏輯到物理地址轉換映射并且用于創(chuàng)建S-日志條目的方法的各方面。
[0010]圖5示出根據一個實施例的用于更新固件表格條目的方法的各方面。
[0011]圖6是示出根據一個實施例的S-日志在物理地址范圍上的覆蓋和固件日志的內容的示圖。
[0012]圖7是根據一個實施例的S-日志的框圖。
[0013]圖8示出根據一個實施例的S-日志的一個條目的示例性組織。
[0014]圖9是根據一個實施例的超級塊(S-塊)的框圖。
[0015]圖10示出根據一個實施例的超級頁(S-頁)的另一視圖。
[0016]圖1lA示出根據一個實施例的邏輯到物理地址轉換映射、S-日志與S-塊之間的關系O
[0017]圖1lB是根據一個實施例的S-日志映射的框圖。
[0018]圖12是根據一個實施例的示出更新SSD中的固件表格的方法的各方面的框圖。
[0019]圖13是根據一個實施例的對數據存儲裝置進行控制的方法的流程圖。
【具體實施方式】
[0020]系統概況
[0021]圖2是根據一個實施例的示出數據存儲裝置的物理和邏輯數據組織的各方面的示圖。在一個實施例中,數據存儲裝置是SSD。在另一實施例中,數據存儲裝置是包括閃速存儲器和旋轉磁存儲介質的混合驅動器。本公開可應用于SSD和混合實現方式兩者,但是為了簡化,參照基于SSD的實現方式來描述各個實施例。根據一個實施例的數據存儲裝置控制器202可以被配置為被耦合到主機,如在附圖標記218處示出的那樣。主機218可以利用邏輯塊尋址(LBA)方案。雖然LBA尺寸通常是固定的,但是主機能夠動態(tài)地使LBA的尺寸變化。例如,物理數據存儲裝置可以在邏輯上被劃分以支持被配置用于不同尺寸的LBA的分區(qū)(partit1n)。然而,對于物理裝置同時支持不同尺寸的LBA,不要求這樣的分區(qū)。例如,LBA尺寸可以根據接口和接口模式而變化。確實,雖然512字節(jié)是最常見的,但是4KB也變得更加常見,512+(520、528等)和4KB+(4KB+8,4K+16等)格式也是如此。如其中示出的那樣,數據存儲裝置控制器202可以包括或者被耦合到頁寄存器204。頁寄存器204可以被配置為使得控制器202能夠從數據存儲裝置讀取數據并且能夠將數據存儲到數據存儲裝置??刂破?02可以被配置為響應于來自主機218的數據存取命令而對數據進行編程并且讀取來自閃速存儲器裝置的陣列的數據。雖然該描述在此一般是指閃速存儲器,但是應理解的是,存儲器裝置的陣列可以包括各種類型的非易失性存儲器裝置中的一種或更多種,例如,閃速集成電路、硫化物RAM(C-RAM)、相變存儲器(PC-RAM或PRAM)、可編程金屬化單元RAM(PMC-RAM或PMCm)、雙向統一存儲器(OUM)、電阻RAM(RRAM)、NAND存儲器(例如,單級單元(SLC)存儲器、多級單元(MLC)存儲器、或其任何組合)、N0R存儲器、EEPR0M,鐵電存儲器(FeRAM)、磁阻RAM(MRAM)、其他分立的NVM(非易失性存儲器)芯片、或其任何組合。
[0022]頁寄存器204可以被配置為使得控制器202能夠從該陣列讀取數據并且能夠將數據存儲到該陣列。根據一個實施例,閃速存儲器裝置的陣列可以包括管芯(例如,128個管芯)中的多個非易失性存儲器裝置,其中每個包括多個塊,例如圖2中的206處示出的那樣。其他頁寄存器204(未示出)可以被耦合到其他管芯上的塊。被分組在一起的閃速塊的組合可以被稱作超級塊或S-塊。在一些實施例中,形成S-塊的個體塊可以選自一個或更多個管芯、平面或其他粒度水平。因此,S-塊可以包括跨一個或更多個管芯展開的、被組合在一起的多個閃速塊。以該方式,S-塊可以形成在其上閃速管理系統(FMS)進行操作的單元。在一些實施例中,可以根據與管芯水平不同的粒度來選擇形成S-塊的個體塊,例如當存儲器裝置包括被細分為諸如平面的結構的管芯(即,可以取自個體平面的塊)時的情況。根據一個實施例,可以在S-塊水平執(zhí)行分配、擦除和垃圾收集。在其他實施例中,FMS可以根據諸如頁、塊、平面、管芯等的其他邏輯群組來執(zhí)行數據操作。
[0023]進而,閃速塊
當前第1頁1 2 3 4 5 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1