作者:-1????發布時間:2023-02-13 14:23 ????瀏覽次數 :
4.1 Simulator
這里用到的仿真環境是CMU Parallel Data Lab的DiskSim仿真器。(如果你是專門搞SSD內部的算法,現在比較受歡迎的是flashsim,網上可以查的到開源代碼,C++編程的,好處是面向對象,把SSD內部器件都設計成對象,在Linux環境下做測試)
DiskSim并不專門支持SSD的仿真,但是其處理trace log的基礎架構及其可擴展性使其成為定制的良好工具。
DiskSim模擬存儲器件的層次結構,比如總線和控制器(例如:RAID)以及磁盤。這里實現了從通用的旋轉磁盤模塊派生的SSD模塊。由于該模塊最初不支持多個請求隊列,因此這里添加了一個輔助級別的并行元素,每個元素都有一個密封隊列,代表著flash的每個元素或者gangs。還添加了logic來序列化來自這些并行元素的request完成。對于每一個元素,維護了數據結構來表示SSD的邏輯映射塊,cleaning 狀態和weal-leveling狀態。在處理每個請求時,跟據下表的規范引入充分的延遲來模擬實時延遲。如果跟據模擬器的狀來要求cleaning和回收,就會引入額外的延遲,并且相應的更新狀態。這里添加了配置參數以啟用后臺cleaning,gang大小,gang組織(例如交換或共享控制),交錯(interleaving)和過度配置(overprovisioning)等功能。
驗證模擬需要詳細的實驗來確定實際SSD硬件使用的caching緩存和flash-management algorithms閃存管理算法。