0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于用閃存為儲存的固態(tài)硬盤

SSDFans ? 來源:未知 ? 作者:李倩 ? 2018-03-27 14:31 ? 次閱讀

基于用閃存為儲存的固態(tài)硬盤(Solid State Drive,SSD),與基于用磁性盤片為儲存的傳統(tǒng)硬盤(Hard Disk Drive,HDD)相比較,固態(tài)硬盤具有:(1)無噪音(2)耐震動(3)數(shù)據(jù)讀寫速度快(4)低耗電等等的優(yōu)勢。又隨著各家閃存制造商陸續(xù)推出更多更便宜且高容量的閃存內(nèi)存,在未來傳統(tǒng)硬盤被固態(tài)硬盤所取代將是趨勢。

然因閃存內(nèi)存不像磁性盤片具有可重復覆寫的好處,因此固態(tài)硬盤裝置內(nèi)都需要執(zhí)行一個所謂的FTL(Flash Translation Layer)程序,以維持隨時都有閑置的區(qū)塊(free blocks)可以儲存新寫入的數(shù)據(jù)。而在一個閑置區(qū)塊被用于儲存客戶端的寫入數(shù)據(jù)時,又必須檢查閑置區(qū)塊數(shù)量是否足夠。如果不足,則又需要進行所謂的垃圾回收(Garbage Collection,GC)讓閑置區(qū)塊個數(shù),得以足夠以應付未來從客戶端寫入的新數(shù)據(jù)。

我們知道,較早期的計算機文件系統(tǒng)(File System)對于被刪除的文件之處理,僅僅在文件配制表(File Allocation Table)上,將被刪除文件所使用的叢集(cluster),標示成「未使用狀態(tài)」,這些叢集所相對應的邏輯區(qū)塊地址(Logic Block Address,LBA)上所儲存之數(shù)據(jù)并未被移除,這樣的操作方式對可重復覆寫的傳統(tǒng)硬盤而言是合理適當?shù)?,但對不可重復覆寫固態(tài)硬盤而言卻是不適當?shù)?,而且會需要垃圾回收之處理。因此在較新ATAPI(ATA Packet Interface)命令規(guī)范標準,或是NVMe(NVM express)規(guī)范標準里,都加入了數(shù)據(jù)集管理(Dataset Management)命令,讓較先進的計算機文件系統(tǒng),可以對固態(tài)硬盤下達「將某些邏輯區(qū)塊地址上的數(shù)據(jù)丟棄」,以減少固態(tài)硬盤垃圾回收的處理。不但如此,數(shù)據(jù)集管理命令也降低了固態(tài)硬盤的寫入放大值(Write Amplification Index),使得固態(tài)硬盤的使用壽命得以延長。

然則,數(shù)據(jù)集管理命令為固態(tài)硬盤帶來了好處,但也帶來了不易被察覺的嚴重問題-邏輯物理塊映射表不正確!底下讓我們來描述邏輯物理塊映射表不正確的問題,是如何發(fā)生及問題發(fā)生時的癥狀。

為了簡化問題的描述,我們假設

1 一個物理塊區(qū)塊擁有4個頁面

2 邏輯區(qū)塊地址(LBA)和物理區(qū)塊地址(PBA)的映射表,內(nèi)容為一個數(shù)對,分別代表物理區(qū)塊碼(block number)與頁碼(page number),數(shù)對(0,0)則代表無數(shù)據(jù)

3 固態(tài)硬盤有16個邏輯區(qū)塊地址

因為閃存內(nèi)存不具有「重復覆寫」的特性,一個邏輯區(qū)塊地址的數(shù)據(jù),存放在閃存內(nèi)存的哪個位置是不固定的,因此固態(tài)硬盤里,皆存在著邏輯物理映射表(L2P Table)。這個映像表的功能,是讓FTL程序查出某個邏輯區(qū)塊地址之數(shù)據(jù)被儲存在閃存的哪個位置(包含閃存物理區(qū)塊碼(block number)、頁碼(page number)、偏移量(offset)等)。這一個映像表需要儲存一份在閃存內(nèi)存里,讓固態(tài)硬盤在斷電后再次供電運作時,才能得知最新數(shù)據(jù)在哪里。對讀寫速度要求高的固態(tài)硬盤,會配置足夠的動態(tài)隨機存取內(nèi)存(Dynamic Random Access Memory,DRAM)存放這個映像表,讓FTL程序可以更快速查詢或更新映射表。因此固態(tài)硬盤在開始供電當下,會將儲存在閃存內(nèi)存里的邏輯物理映射表讀到DRAM,如 Fig. 1 所示。(圖中,頁面標示為FFFFFFFF代表此頁面處于抹除狀態(tài);頁面標示為XXXXXXXX代表此頁面曾經(jīng)被寫入數(shù)據(jù)但事后被其他實體地址數(shù)據(jù)所取代或被數(shù)據(jù)集管理指令所丟棄而成為無效數(shù)據(jù))

接下來,客戶端刪除文件,下達了數(shù)據(jù)集管理指令給固態(tài)硬盤,指示將 LBA1~2的數(shù)據(jù)刪除,并且又下了寫LBA13的指令。一般做法,固態(tài)硬盤將會執(zhí)行下列步驟(Fig. 2、Fig. 3 圖示說明):

1. 將LBA1、2 在映射表 (DRAM) 里更新為 (0,0)

2. 要求一個閑置的物理塊區(qū)塊,假設取物理區(qū)塊4, 將LBA13的數(shù)據(jù)寫入物理塊區(qū)4,更新LBA13的邏輯物理塊映像表格。

3. 發(fā)現(xiàn)閑置的物理塊區(qū)塊個數(shù)不足(少于3),啟動垃圾回收,將物理區(qū)塊3上的有效數(shù)據(jù)(LBA3 數(shù)據(jù))寫至物理區(qū)塊4,更新LBA3的邏輯物理塊映像表格,并將物理區(qū)塊3 回收為閑置塊(Free Block)。

如果在固態(tài)硬盤執(zhí)行垃圾回收之后,計算機系統(tǒng)出現(xiàn)不穩(wěn)狀況突然間失去電源供應,固態(tài)硬盤將在下次電源恢復時,執(zhí)行下列步驟(Fig. 4、Fig. 5 圖式說明):

1. 將儲存在閃存內(nèi)存里的邏輯物理塊映射表讀到DRAM。

2. 讀取區(qū)塊4每一頁面內(nèi)容,并根據(jù)頁面內(nèi)容所紀錄對應的邏輯區(qū)塊地址,更改DRAM上的邏輯物理塊映射表。

比較 Fig. 5 與Fig. 3 映射表(DRAM) 的內(nèi)容會發(fā)現(xiàn),邏輯區(qū)塊地址1、2上的物理塊對應地址有差異。也就是邏輯物理塊映射表的正確性以經(jīng)有錯誤了(Fig. 5標示為紅色部分)!

Fig. 5 的邏輯物理塊映射表顯示,邏輯區(qū)塊地址1、2數(shù)據(jù)存在于物理塊區(qū)塊3。實際上物理區(qū)塊3已經(jīng)是一個閑置區(qū)塊,不存在任何數(shù)據(jù)。這樣子的錯誤映像對FTL程序而言是一種嚴重的錯誤。事后,如果固態(tài)硬盤繼續(xù)使用下去,當別的邏輯區(qū)塊數(shù)據(jù)寫入物理區(qū)塊3之后,讀取邏輯區(qū)塊地址1、2會讀到別的邏輯區(qū)塊地址之數(shù)據(jù)。隨著時間的經(jīng)過,不同時間讀又會有不同數(shù)據(jù)寫入物理區(qū)塊3,讀取邏輯區(qū)塊地址1、2數(shù)據(jù)還會隨著時間的不同而改變?;蛟S讀者會問,既然邏輯區(qū)塊地址1、2的數(shù)據(jù)已經(jīng)被客戶端下達數(shù)據(jù)集管理指令刪除了,讀到甚么數(shù)據(jù)并不重要。但讀者要知道,一個儲存裝置必須要有數(shù)據(jù)完整(data integrity)的特性,讀取的數(shù)據(jù)如果會隨著時間的變動而變動,該裝置就稱不上擁有數(shù)據(jù)完整的特性。讀者也許還會續(xù)問,既然邏輯區(qū)塊地址1、2的數(shù)據(jù)已經(jīng)被客戶端下達數(shù)據(jù)集管理指令給刪除了,客戶端就不會再去讀取這些地址的數(shù)據(jù)了。要知道,客戶端系統(tǒng)不勝枚舉,客戶端的程序不會再去讀取這些地址的數(shù)據(jù)是無法保證的。例如儲存裝置被用于組成獨立硬盤冗余陣列(Redundant Array of Independent Disks, RAID),其中一個硬盤發(fā)生了我們所描述的問題,這些被數(shù)據(jù)集管理指令刪除的數(shù)據(jù)就會被讀取.

邏輯物理塊映射表與數(shù)據(jù)的一致性一直都是固態(tài)硬盤設計上存在的問題。市場上充斥著成千成百的固態(tài)硬盤產(chǎn)品,對那些不曾思考過這個問題的設計商,質(zhì)量堪憂。一般的固態(tài)硬盤買家多以訪問速度快慢做為購買的考慮因素。但聰明的讀者在選購固態(tài)硬盤時應該花點時間了解該產(chǎn)品的設計商,是否如大心電子,有固態(tài)硬盤領先的技術質(zhì)量。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 閃存
    +關注

    關注

    16

    文章

    1771

    瀏覽量

    114768
  • 固態(tài)硬盤

    關注

    12

    文章

    1444

    瀏覽量

    57222

原文標題:一種引發(fā)固態(tài)硬盤映射表不正確的情境

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    [灌水]閃存時代來臨 固態(tài)硬盤占領服務器市場

    閃存時代來臨 固態(tài)硬盤占領服務器市場  百度公司早已在去年,宣布已實現(xiàn)了網(wǎng)頁檢索平臺上全部服務器 “告別”硬盤而邁向閃存時代。通俗
    發(fā)表于 02-10 08:50

    固態(tài)硬盤應用攻略

    同樣可以進行應用,目前許多主板都已經(jīng)支持RAID0,如果兩塊32GB組成RAID,那么您將感受的是什么呢?   通過Windows設備屬性可以看出,兩塊魔典64GB固態(tài)硬盤組成RAID 0模式后可用
    發(fā)表于 02-23 15:08

    圖示固態(tài)硬盤加電容

    。下面就讓我們一起來看看解決方案。固態(tài)硬盤固態(tài)硬盤固態(tài)硬盤里面寫入數(shù)據(jù),首先存儲到的并不是不怕
    發(fā)表于 06-09 16:26

    固態(tài)硬盤的基本常識以及選購、使用和維護

    ,和我們平時的U盤一樣,是閃存芯片加上主控和緩存組成的。和優(yōu)盤的不同點 在于,U盤一般只用一兩顆閃存芯片,平時讀寫都集中在上面,所以U盤壽命不是很長,特別是買到劣質(zhì)產(chǎn)品;而固態(tài)
    發(fā)表于 08-05 11:14

    工業(yè)級固態(tài)硬盤和商業(yè)級固態(tài)硬盤大有區(qū)別

    們做分析診斷,但是因為供應商是美國企業(yè),時差的問題,讓溝通的效率很差。2個月后,我們得到答案,說是固態(tài)硬盤因未知原因,持續(xù)的寫入一個小范圍的固定位置導致該位置的閃存被寫穿,然后固態(tài)
    發(fā)表于 04-20 23:47

    固態(tài)硬盤SSD的保護等級

    雖然閃存設備或固態(tài)硬盤(SSD)比機械硬盤(HDD)功能更強大,但是在發(fā)生電源故障時,SSD硬盤仍然會丟失數(shù)據(jù)。因此,當人們將
    發(fā)表于 08-02 07:08

    ICMAX盤點固態(tài)硬盤SDD和機械硬盤HDD的前世今生

    。(機械硬盤內(nèi)部結(jié)構(gòu)圖,圖片來源百度)固態(tài)硬盤固態(tài)硬盤其內(nèi)部構(gòu)造十分簡單,固態(tài)
    發(fā)表于 08-03 13:38

    東莞回收固態(tài)硬盤

    SSD固態(tài)硬盤,高價求購內(nèi)存:內(nèi)存芯片,內(nèi)存條,內(nèi)存顆粒,內(nèi)存FLASH,閃存,顯存,TF卡,SD卡,cf卡,MINI卡,MMC卡,SSD硬盤...回收閃迪、鎂光、東芝、金士頓、威剛、
    發(fā)表于 12-12 15:55

    什么是固態(tài)硬盤?固態(tài)硬盤有什么優(yōu)勢?

    什么是固態(tài)硬盤?固態(tài)硬盤有什么優(yōu)勢?
    發(fā)表于 06-18 06:53

    高價收購固態(tài)硬盤,長期回收固態(tài)硬盤

    高價收購固態(tài)硬盤,長期回收固態(tài)硬盤。深圳帝歐專業(yè)回收電子物料。帝歐趙生***QQ1816233102/879821252/1714434248郵箱dealic@163.com專業(yè)收購S
    發(fā)表于 07-08 19:18

    高價回收SSD固態(tài)硬盤 收購固態(tài)硬盤價格高

    深圳帝歐回收固態(tài)硬盤,長期高價收購SSD一條龍服務(熱線:135-3012-2202,QQ:8798-21252) 高價回收SSD固態(tài)硬盤,全新二手均可,2.5寸,M-SATA,M.2
    發(fā)表于 11-03 14:57

    固態(tài)硬盤閃存種類介紹

    SLC全稱是單層式儲存 (Single Level Cell),因為結(jié)構(gòu)簡單,在寫入數(shù)據(jù)時電壓變化的區(qū)間小,所以壽命較長,傳統(tǒng)的SLC NAND閃存可以經(jīng)受10萬次的讀寫。而且因為一組電壓即可驅(qū)動,所以其速度表現(xiàn)更好,目前很多高端固態(tài)
    的頭像 發(fā)表于 01-17 16:24 ?2.2w次閱讀

    固態(tài)硬盤是什么意思_固態(tài)硬盤有什么

    本文首先介紹了固態(tài)硬盤的概念,其次介紹了固態(tài)硬盤的分類,最后介紹了固態(tài)硬盤的作用。
    發(fā)表于 03-23 10:54 ?2.6w次閱讀

    固態(tài)硬盤和機械硬盤,誰才是安防儲存的未來?

    固態(tài)硬盤誕生以來,有關于儲存方面的爭端便愈演愈烈。伴隨著技術的成熟,在PC端上,原本機械硬盤還可以靠大容量以及低價格來爭奪市場,但現(xiàn)在固態(tài)
    的頭像 發(fā)表于 10-19 14:40 ?5254次閱讀

    aigo國民好物固態(tài)硬盤P7000:高端SSD固態(tài)硬盤的首選

    里,值得購買嗎?下面我就給大家來介紹一下。 和普通的機械硬盤相比較,固態(tài)硬盤主要采用閃存顆粒制作,因而儲存更大,使用的時候噪音也更小,抗震能
    的頭像 發(fā)表于 10-13 17:43 ?833次閱讀