從主機PC端開始,用戶從操作系統(tǒng)應用層面對SSD發(fā)出請求,文件系統(tǒng)將讀寫請求經驅動轉化為相應的符合協(xié)議的讀寫和其他命令,SSD收到命令執(zhí)行相應操作,然后輸出結果,每個命令的輸入和輸出經協(xié)議標準組織標準化,這是標準的東西,和HDD無異,只不過HDD替換成SSD硬件存儲數據,訪問的對象變成SSD。
圖1-13 SSD系統(tǒng)調用
SSD的輸入是命令(Command),輸出是數據(Data)和命令狀態(tài)(Command Status)。SSD前端(Front End)接收用戶命令請求,經過內部計算和處理邏輯,輸出用戶所需要的數據或狀態(tài)。
從圖1-13可以看出,SSD主要有三大功能模塊組成:
1. 前端接口和相關的協(xié)議模塊;
2. 中間的FTL層(Flash Translation Layer)模塊;
3. 后端和閃存通訊模塊。
SSD前端負責和主機直接通訊,接收主機發(fā)來的命令和相關數據,命令經SSD處理后,最終交由前端返回命令狀態(tài)或數據給主機。SSD通過諸如SATA、SAS和PCIe等接口與主機相連,實現(xiàn)對應的AHCI、SCSI和NVMe等協(xié)議。
表1-1 SATA/SAS/PCIe接口協(xié)議
我們看看SSD是怎么進行讀寫的。
主機通過接口發(fā)送寫命令給SSD,SSD接收到該命令后執(zhí)行,并接收主機要寫入的數據。數據一般會先緩存在SSD內部的RAM中,F(xiàn)TL會為每個邏輯數據塊分配一個閃存地址,當數據湊到一定數量后,F(xiàn)TL便會發(fā)送寫閃存請求給后端,然后后端根據寫請求,把緩存中的數據寫到對應的閃存空間。
由于閃存不能覆蓋寫,閃存塊需擦除才能寫入。主機發(fā)來的某個數據塊,它不是寫在閃存固定位置,SSD可以為其分配任何可能的閃存空間寫入。因此,SSD內部需要FTL這樣一個東西,完成邏輯數據塊到閃存物理空間的轉換或者映射。
舉個例子,假設SSD容量為128GB,邏輯數據塊大小為4KB,所以該SSD一共有128GB/4KB = 32M個邏輯數據塊。每個邏輯塊都有一個映射,即每個邏輯塊在閃存空間都有一個存儲位置。閃存地址大小如果用4字節(jié)表示,那么存儲32M個邏輯數據塊在閃存中的地址則需要32M*4B = 128MB大小的映射表。
正因為SSD內部維護了一張邏輯地址到物理地址轉換的映射表,當主機發(fā)來讀命令時,SSD能根據需要讀取的邏輯數據塊,查找該映射表,獲取這些邏輯數據在閃存空間所在位置,后端便能從閃存上把對應數據讀到SSD內部緩存空間,然后前端負責把這些數據返回給主機。
由于前端接口協(xié)議都是標準化的,后端和閃存的接口及操作也是標準化的(閃存遵循ONFI或者Toggle協(xié)議),因此,一個SSD在前端協(xié)議及閃存確定下來后,差異化就體現(xiàn)在FTL算法上了。FTL算法決定了性能、可靠性、功耗等SSD的核心參數。
其實,F(xiàn)TL除了完成邏輯數據到閃存空間的映射,還需要做很多其它事情。
前面提到,閃存不能覆蓋寫,因此隨著用戶數據的不斷寫入,閃存空間會產生垃圾(無效數據)。FTL需要做垃圾回收(Garbage Collection)以騰出可用閃存空間用以寫用戶數據。
圖1-14 垃圾數據回收
以圖1-14為例,在Block x和Block y上有很多垃圾數據,其中Block x上A,B,C為有效數據,Block y上D, E,F,G為有效數據。垃圾回收就是把一個或者幾個Block上的有效數據搬出來集中寫到某個空閑Block (比如Block z)。當這些Block上的有效數據都搬走后,F(xiàn)TL便能擦除這些Block,然后這些Block又能拿出來供SSD寫入新的數據了。
還有,閃存都是有壽命的,每個閃存塊不能一直寫數據,因此,為保證最大的數據寫入量,F(xiàn)TL必須盡量讓每個閃存塊均衡寫入,這就是磨損平衡(Wear Leveling)。
除此之外,F(xiàn)TL還需要實現(xiàn)壞塊管理、讀干擾處理、數據保持處理、錯誤處理等等其它很多事情。理解了FTL,SSD的工作原理也就掌握了。關于FTL,本書有專門章節(jié)介紹,讀者可自行跳到第四章閱讀。
1.2 SSD產品核心參數
用戶在購買SSD之前,會關注它的一些參數指標,比如能跑多快、用的是什么閃存等等。特別是企業(yè)級用戶,需要全方位研究SSD的核心指標,解決關注什么指標,如何關注,競爭產品對比這些問題,最終逐一撥開產品內在本質。本節(jié)以SSD產品為例,帶大家一起解讀SSD產品的核心參數。
-
閃存
+關注
關注
16文章
1836瀏覽量
115722 -
SSD
+關注
關注
21文章
2948瀏覽量
119101
原文標題:購買固態(tài)硬盤看哪些核心參數?
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
評論