SSD如何實現與主機唯一對應,當定製SSD被插入非法主機時自動銷燬資料
SSD 如何實現與主機唯一對應,當定製 SSD 被插入非法主機時自動銷燬資料 最近,實現了來自兩個客戶的真實需求,出於安全考慮,客戶要求 SSD 與主機唯一對應,也就是說 SSD 只能在本機使用,當 SSD 被插入非法主機時,自動啟動銷燬程式,同時,主機必須可以正常使用其他任何一家公司的非定製化 SSD 。
一、專案需求描述
1) 主機介面: SATA 6Gbps
2) 尺寸: 2.5"
3) 容量: 4TB
4) 儲存介質: MLC
5) 環境溫度: -40°C ~ +85°C
6) SSD 只能識別唯一的主機 ;
7) 當 SSD 插入到其他主機時, SSD 啟動自毀功能,將資料銷燬;
8) 主機必須可以正常使用其他廠商的非定製化 SSD 。
二、總體架構設計
1) 主控使用瑞耐斯自主可控晶片,型號: RS3502-IT , SATA 6Gb 介面,單顆主控支援容量 2TB ,使用 2 顆主控組 RAID0 ;
2) 使用 Xilinx FPGA 做 RAID0 晶片,支援 Trim 功能;
(市場上的 RAID 晶片具備下面兩個缺陷: a 、不能滿足工業級溫度需求; 2 、不帶 TRIM 功能,會導致在 SSD 資料寫滿時才固態硬碟才開始做垃圾回收,在垃圾回收過程中,寫入效能會大幅下降甚至會掉到 0MB ,此時,可能導致關鍵應用場景的應用失效)
3) 自毀功能:資料銷燬可以實現物理燒燬和邏輯銷燬(任選或全選)兩種方式;
4) 邏輯銷燬功能可以實現 10 秒內的快速銷燬,銷燬後 SSD 可以繼續在 “ 初始化 ” 操作後繼續使用(資料全部丟失)或者 SSD 無法繼續使用,必須返廠維修才可繼續使用,但所有資料無法恢復;
5) 物理燒燬,是指在 SSD 被插入非法主機後,所有儲存晶片被高壓一一擊穿,所有儲存介質物理性損壞,任何手段都將無法恢復資料。
三、功能實現具體描述
1) 主機與 SSD 唯一對應的實現方式:
客戶端主機 SATA 介面管腳定義不做任何更改,以確保其他普通 SSD 插入後可以正常工作。
硬碟增加一顆 FPGA 晶片(或微控制器)利用 sata 空餘 pin 腳實現硬碟和主機板特徵碼的握手通訊,如果在 3 秒內(時間可以自由設定)握手不成功,則觸發資料銷燬功能。
對於普通硬碟由於空餘 pin 腳沒有定義,則不會與主機板特徵碼進行握手,可以正常使用。
2) 一鍵自毀銷燬的實現和結果
安全刪除是由 IO 擴充晶片的 GPIO 動作,傳送給主控晶片實施。訊號下拉 3 秒安全刪除功能被觸發,無論是透過硬體或軟體。控制器將擦除命令傳送到快閃記憶體啟動安全刪除。
瑞耐斯可以對硬碟實現兩種銷燬方式:邏輯銷燬和物理銷燬。
2.1 邏輯銷燬
邏輯銷燬是指透過軟體的方式將固態硬碟的資料進行刪除、覆蓋等操作,包括對加密 key 、韌體、對映表等進行刪除操作,邏輯銷燬不會損壞儲存介質。
快速刪除的要求一般有如下幾種,每種做法的韌體實現方法不同:
2.1.1 刪除後仍然可以在 OS 下看到磁碟機代號,格式化後仍然可以進行正常的讀寫操作,只是刪除後的狀態用 winhex 檢查全部為 0xFF ;
這種刪除方法必須要考慮的事項是:在執行刪除過程中,如果 SSD 再次接收寫命令,或者 SDRAM 中仍有未寫入 Nand 的資料,在執行刪除後,會繼續向 SSD 中寫入資料,用 winhex 檢視會看到資料不全是 0xFF 。
解決辦法可以有兩種:一是在執行資料銷燬前,先清空 SDRAM 中的資料,避免快取資料在執行安全刪除之後寫入 Nand Flash ;二是,在執行銷燬時,開啟防寫功能,直到 SSD 第二次上電為止,這樣就可以避免執行銷燬之後接收到的寫命令將資料寫入到 SSD 。
2.1.2 刪除後 SSD 無法被系統識別,當然,也無法用軟體來檢視 SSD 內部資料狀態。
2.2 物理銷燬
執行物理銷燬 SSD 上的快閃記憶體顆粒將完全被燒穿:
2.2.1 瑞耐斯獨特的設計思路,確保 45 秒以內可以燒燬所有的快閃記憶體晶片,,不存在個別晶片無法銷燬的情況。
2.2.2 快閃記憶體被燒燬是徹底摧毀每個顆粒中的所有的 Die ,而不是僅僅燒燬 IO 介面,如果僅僅燒燬 IO 介面,那麼,仍然可以透過晶片打磨,將儲存資料的 Die 重新佈線後讀取資料。
2.2.3 在執行銷燬的過程中如果被拔掉電源,重新上電後,仍然繼續執行未完成的燒燬,而不會終止。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69997038/viewspace-2765598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自增長主鍵回顯實現,批次資料插入
- 高價效比BlueHost SSD VPS雲主機體驗評測
- Avalonia如何與通用主機Host整合實現MsDI
- UCloud推出SSD高效能雲主機,讀寫速度百倍提升Cloud
- dell主機板win10如何設定通電自動啟動_dell主機板win10怎麼設定通電自動啟動Win10
- Mybatis:插入資料返回自增主鍵MyBatis
- SSD與Fusion IO 實測隨機讀寫 IOPS隨機
- Zabbix設定主動模式與被動模式模式
- TenSunS對接JumpServer:如何把主機自動同步到JumpServerServer
- 如何設定 MariaDB 主主複製
- BlueHost美國主機如何建立資料庫資料庫
- mysql資料庫實現主從複製MySql資料庫
- Linux修改主機名(靜態主機名、臨時主機名)Linux
- VMware虛擬機器與主機共享資料夾虛擬機
- SQLite設定主鍵自動增長及插入語法SQLite
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- JDBC 獲取被插入資料的主鍵ID值JDBC
- 主動FTP與被動FTPFTP
- 【實用主義】如何用nodejs自動定時傳送郵件提醒?NodeJS
- 從被動響應到主動感知:雲原生自動化應急響應實戰
- phpmyadmin主機名自動補全PHP
- DHCP 動態主機設定協議協議
- 使用LiME收集主機實體記憶體的內容時發生當機記憶體
- HP主機訪問動態IP主機配置
- vmware禁止虛擬主機開啟後自動時間同步到宿主機
- Dledger是如何實現主從自動切換的
- 主鍵、自增主鍵、主鍵索引、唯一索引概念區別與效能區別索引
- 主機被入侵分析過程
- php的變數引用與銷燬機制PHP變數
- 管理資料,應用程式和主機安全-B
- 管理資料,應用程式和主機安全-C
- 如何判斷當前主機是物理機還是虛擬機器?虛擬機
- 廣 告機主機板定製方案能實現雙屏異顯或四屏異顯嗎?
- MySQL主從複製與主主複製MySql
- w10怎麼設定自動關機_w10如何定時自動關機
- Linux實現MySql資料庫的主從複製(一主一從)LinuxMySql資料庫
- VirtualBox中實現與主機檔案的共享
- MongoDB在不同主機間複製資料庫和集合MongoDB資料庫