大話儲存後傳筆記

mi_zy發表於2019-10-20

固態儲存概念:

1、MSB-Most Significant Bit LSB -Last Significant(有意義的,有效的) Bit,比如某個暫存器為8位,但是 程式沒有這麼多資料要放,只能用到6位,此時MSB就是5,LSB就是0。

2、SSD的上/下頁:Upper Page(多個Cell的MSB組成的page)和Lower Page (多個Cell的LSB組成的page);快頁和慢頁還須具體區分讀寫場景來看:MSB讀快,寫慢;LSB讀慢,寫快。

3、NAND Flash物理限制:充電量必須逐級增加,而 不可能一開始充過頭了再放電NAND Flash放電要放掉整個Block的電。

4、 NAND由來: NAND Flash每次I/O單元為一個Page,一般為8k/16k,要讀取某個Page,需要將Block中所有Page裡的Cell強行導通,需要找一個參考電壓來與列輸出電壓進行比較,列輸出電壓高,SAMP(Sense Amplifier)的輸出為邏輯1,表示待讀取Cell中沒有充電;反之為0,這就是NAND,Not AND中Not的意義:也就是實際含義(1-0)與表象電壓值(不充電-充電)相反。

5、對於PCIe介面的、NVMe訪問協議的 固態盤,目前的Raid卡是無能為力的,因為目前的Raid卡只提供了SAS/SATA介面接入硬碟。可行的選項是在主機端採用軟體做Raid,例如使用Linux核心自帶的MD Raid模組。

6、NCS8000全快閃記憶體陣列的每個快閃記憶體模組包含1、2或4個快閃記憶體控制器,每個快閃記憶體控制器包含16個NAND快閃記憶體晶片,每個快閃記憶體晶片包含8個Die,每個Die包含2個Plane,每個Plane包含1024個Block,每個Block包含512個Pages,每個Pages為16KB。

7、PCIe裝置在系統掉電之後會收到一箇中斷訊號,內部的CPU可以利用這幾十毫秒的時間打掃現場;對於那些沒來得及寫入Flash的表,如果是Device Based的,掉電後可以依靠SSD內的電容,將長髒頁面在幾十毫秒內迅速寫入Flash。

8、帶RAID功能的HBA被稱為RAID卡。在HBA上增加或者增強對應資源,比如嵌入式CPU、板載DRAM、硬加速計算邏輯等,便可實現各種RAID了,此時HBA上報給OS的並不是其下掛的物理資源,而是經過RAID虛擬化之後的邏輯資源。有SCSI RAID卡,SATA RAID卡,SAS RAID卡。

9、通訊是雙方的,所有裝置必須被接入I/O通道控制器上,比如IDE------IDE控制器,SATA盤-----SATA控制器,SAS----SAS控制器,SCSI、 PCIe等各自也都有各自的控制器。這些I/O通道控制器在後端透過各自的聯結器將1個、2個或者多個裝置透過各自不同的匯流排方式掛接上,在前端則透過PCIe或者內部私有匯流排與系統I/O橋連線,I/O橋再透過更高速的匯流排連線到CPU。所以這類控制器又被稱為匯流排介面卡,如果將這類I/O控制器做成一張板,插到PCIe槽上與I/O橋連線,則稱之為HBA(Host Bus Adapter):有SCSI HBA,FC HBA,SAS HBA,乙太網HBA,InfiniBand HBA。對於SATA、IDE、PCIe、EMMC(貼片方式連線)、UFS (貼片方式連線)這些協議的介面控制器,由於太過常用,一般都被整合到系統I/O橋晶片中了,不需要轉接到PCIe外擴出HBA來。

10、 PCIe控制器是直接整合到CPU裡的,不需要HBA,最多也只是用一個 聯結器轉接板將CPU上的PCIe的I/O管腳連線到外部聯結器或者插槽上。

11、Combo即三模式(Tri-mode)的槽位可以插SATA/SAS/NVMe SDD。

12、 NVMe最好直接over到PCIe上,因為目前來講,PCIe的物理層+鏈路層+網路層+傳輸層還是非常高效的;處於擴充套件性考慮,也可以 NVMe over TCP/IP, NVMe over FC等。

13、SAS和SA他的聯結器看上去差不多,但仔細觀察會發現SATA聯結器中間的缺口在SAS上是被補平的,其反面其實還有7根資料線,這就是企業級冗餘所要求的 雙埠,這第二個資料口接入到第二個SAS控制器或者Expander上。

14、物理層聯結器:U.2聯結器(SFF8649聯結器),其中包括SAS、SATA和PCIe x4三套介面,充分利用空間,將三套金手指訊號做到介面上, 各幹各的。意味著可以插入一塊SAS、SATA或PCIe盤, U.2實質上是一種 Combo組合介面。M.2聯結器,廣泛用於平板電腦裡的固態儲存介質。其底層可承載PCIe傳輸協議,然後可以SCSI over PCIe,NVMe over PCIe。

15、SCSI協議體系其實從物理層到應用層都有定義,後期SCSI體系的下四層被其他協議取代,iSCSI+TCP/IP+乙太網相當於取代了下四層,所以SCSI上三層不需要自己去發現網路裡的節點和Target了,這些都有iSCSI這個代理去完成。儲存系統一側執行iSCSI Target,其作用是接收iSCSI Initiator端傳輸過來的SCSI協議指令和資料,在 iSCSI Initiator端程式中需要配置所需要連線的 iSCSI Target端的IP地址。 Initiator端向OS核心註冊從 Target端獲取到的Lun,OS核心便針對每個Lun載入其各自的驅動(Windows下就是Class Driver,Linux下就是Block Driver/Tape Driver),便在對應的/dev/下生成各自的裝置,所以, iSCSI Initiator其實是一個虛擬的Port Driver,其透過呼叫TCP/IP,TCP/IP再繼續呼叫底層網路卡Port Driver實現資料傳輸。 WWPN相當於乙太網的MAC地址

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2660704/,如需轉載,請註明出處,否則將追究法律責任。

相關文章