對映管理
參考資料《深入淺出ssd》
對映的種類
1.塊對映
1)劃分標準,以快閃儲存器的塊為對映粒度
2)注意,乙個使用者邏輯塊可以對映到任意乙個快閃儲存器的物理塊,但是對映前後每個頁在塊中的偏移不變
3)優缺點,對映表只儲存塊的對映->所需儲存對映表的空間小;
連續大尺寸的讀寫效能好,但是小尺寸的寫效能很差;
(即使只寫乙個邏輯頁,也需要把整個物理塊資料讀上來,然後改變邏輯頁的資料再整個塊寫入->效能差)
4)使用者空間被化成乙個個邏輯區域,每個區域與快閃儲存器塊的大小相同
2.頁對映
1)劃分標準,以快閃儲存器的頁為對映粒度 ,乙個邏輯頁可以對映到任一物理頁中
2)注意,由於快閃儲存器頁遠比快閃儲存器塊多,因此需要更多的空間來儲存對映表
3)優缺點,效能很好,尤其體現在隨機寫上
4)使用者空間被化成乙個個邏輯區域,每個區域與快閃儲存器頁的大小相同
3.混合對映
1)劃分標準,塊對映和頁對映的結合
2)乙個邏輯塊對映到任一物理塊,但是塊中的每個頁的偏移並不是固定不變的,塊內採用頁對映的方式,乙個邏輯塊的邏輯頁可以對映
到對應物理塊的任一頁,因此它所需要的空間以及效能都是介於塊對映和頁對映之間的。
3)使用者空間劃分成乙個個邏輯區域,邏輯區域和快閃儲存器塊大小相同,每個邏輯塊對應乙個快閃儲存器塊,但邏輯塊內部有分成乙個個邏輯頁,與對應快閃儲存器頁
隨機對應
對映原理
1.使用者通過lba訪問ssd,每個lba代表乙個邏輯塊(邏輯頁,使用者訪問ssd的基本的單元,大小:512b/4kb/8kb)
2.ssd內部,ssd主控是以快閃儲存器頁(物理頁)為基本單元讀寫快閃儲存器的
3.使用者寫入乙個邏輯頁資料,ssd主控會找乙個物理頁把資料寫入,ssd內部的對映表記錄了這條對映
4.下次使用者再讀這個邏輯頁時,可以通過對映表中的對映關係找到快閃儲存器物理頁中儲存的資料
5.案例
ssd內部維護一張邏輯頁到物理頁位址轉換的對映表
v使用者每寫入乙個邏輯頁,就會產生乙個新的對映關係,
這個新的對映關係會加入或者更改對映表
v當讀取某個邏輯頁時,ssd主控首先查詢對映表,找到該邏輯頁對應的物理頁,
然後訪問快閃儲存器讀取相應的資料
6.對映表的大小
ssd大小為256g,邏輯塊資料大小為4kb -> 256gb/4kb = 64m個邏輯資料塊;
每個邏輯資料塊在快閃儲存器空間都有乙個儲存位置,即乙個對映,快閃儲存器大小用4位元組表示;
儲存64m個邏輯資料塊在快閃儲存器中的位址需要64m*4b = 256m大小的對映表。
7.對於帶dram的ssd,dram的作用就是用來儲存對映表的,優點是對映關係可以快速訪問,如圖
8.不帶dram的ssd,一般採用二級對映,如圖
二級表是l2p表(logical address to physical address),它被分成一塊一塊的,小部分快取在ram,大部分都存在快閃儲存器上
一級對映常駐ram,儲存這些塊在快閃儲存器中的實體地址,它不是很大,如圖
例子:ssd工作時,首先檢視邏輯頁對應的對映關係是否在ram內,如果在直接根據對映關係讀取快閃儲存器中的資料,
如果不在,首先需要把對映關係從快閃儲存器中讀取出來,然後再根據這個對映關係讀取資料,需要讀取量詞快閃儲存器,底層有效頻寬減少
9.對於順序讀,對映關係連續,一次對映塊的讀可以滿足很多使用者資料的讀,不帶dram的ssd可以有很好的順序讀效能,
對於隨機讀,對映關係分散,一次對映關係的載入基本只能滿足一筆邏輯頁的讀,需要訪問量詞快閃儲存器才能完成讀操作,效能相對會差
原文:
ftl有三種對映位址 區塊鏈世界裡,對映是什麼?
一直以來,對映 這個詞不少在社群裡被提起。到底什麼是對映?為什麼要對映?如何對映?來,今天一文為你講述區塊鏈世界裡的 對映 一 什麼是對映?對映,準確來說 代幣遷移 token migration 在專案上線之後,專案方會發布代幣 token 但是由於很多區塊鏈專案一開始還沒有完成主網的開發程序,所...
Spring Mybatis 三種查詢對映方式
今天主要跟大家介紹下spring mybatis的幾種對映方式 這裡介紹的是介面 xml對映檔案的使用,其它請下去另查 對映的三種方法 1.關聯關係全部用map對映檔案寫,這個是最慢的方式,不推薦 2.寫對應結果查詢的vo類,無需擔心是多個還是乙個,只要字段對應上就可以了 3.直接返回map類,這樣...
軟考三 cache位址對映
所謂對映就是將主存內容對應到cache中。cache引入就是緩解cpu和主存執行速度差距的。cpu要執行的內容如果在cache中存在,則直接送給cpu,如果不在,則去主存中尋找,主存直接傳給cpu,再根據區域性性原理,將主存中該區域內的內容存到cache中去,而將主存中一部分內容存到cache中,就...