背景介紹
當前AI技術蓬勃發展,深度學習、強化學習等技術不斷突破,使得AI在圖像識別、語音識別、自然語言處理等領域取得了顯著成果。在圖像處理方面,卷積神經網絡(CNN)被廣泛應用于圖像識別、目標檢測等任務,極大地提升了計算機視覺的準確性和效率。在自然語言處理領域,深度學習模型如循環神經網絡(RNN)和Transformer架構則助力機器理解并生成人類語言,實現了智能對話、文本分類等功能。此外,機器學習算法如決策樹、隨機森林和支持向量機(SVM)在數據分析和預測建模中發揮著關鍵作用。同時,強化學習技術也在游戲AI、機器人控制等領域得到廣泛應用,使智能體能夠自主學習和優化行為策略。
SSD控制器是固態硬盤(SSD)中的核心組件,它負責協調SSD內部各個部件的運作,是數據讀寫的關鍵管理者。面向主機方向,SSD控制器需要有效管理主機請求,通過精準的調度、流控和預測確保主機響應的及時和穩定;面向底層NAND方向,它需要負責SSD上NAND介質的全生命周期管理,確保底層NAND在全場景下的壽命和穩定性除了基礎的數據管理功能,還需要具備強大的錯誤校正能力,能夠及時發現并修復數據傳輸中的錯誤,保證數據的完整性;同時,它還負責執行垃圾回收任務,通過智能算法優化存儲空間的使用,避免數據碎片化的發生,提高SSD的持久性和性能;此外,隨著數據安全性的日益受到重視,SSD控制器還集成了數據加密和保護功能,通過先進的加密算法和安全機制,它能夠有效防止數據被非法訪問或篡改,保護用戶的隱私和信息安全。
圖1:AI加持的SSD控制器
總的來說,AI是一個強大的建模工具,可以完成復雜模型的抽象,在SSD的應用場景下能夠基于經驗數據給出IO和介質的行為級預測;而SSD控制器是一個復雜的管理系統,需要基于主機IO和底層介質的行為完成數據管理和性能優化的功能。AI的能力和SSD的控制器需求可以很好的互補,因此,本文對AI在SSD上的應用進行簡單探索。
經典AI技術介紹
本章我們簡單介紹RF、MLP和CNN這三種經典AI算法,其中,隨機森林屬于傳統機器學習算法,MLP和CNN屬于深度學習算法。
隨機森林屬于機器學習中的集成學習算法,屬于Bagging類型。
集成學習的基本思想就是將多個分類器組合,從而實現一個預測效果更好的集成分類器。Bagging也叫自舉匯聚法(bootstrap aggregating),是一種在原始數據集上通過有放回抽樣重新選出k個新數據集來訓練分類器的集成技術。它使用訓練出來的分類器的集合來對新樣本進行分類,然后用多數投票或者對輸出求均值的方法統計所有分類器的分類結果,結果最高的類別即為最終標簽。在實現上,可以通過簡單的決策樹作為不同抽樣的分類器,通過多個決策樹的預測結果投票,完成最終的預測。
圖2:包含n個決策樹的隨機森林
多層感知機(MLP)是一種基本的前饋神經網絡結構,由多個全連接層組成。
每個層中的神經元接收上一層的輸出作為輸入,并將其加權求和后通過一個激活函數進行非線性轉換。這種結構允許模型學習非線性關系并對輸入數據進行抽象表示。MLP的基本組件包括輸入層、隱藏層和輸出層:輸入層負責接收輸入特征向量,每個特征對應輸入層的一個神經元;隱藏層位于輸入層和輸出層之間,可以包含多個層。每個隱藏層的神經元從前一層的輸出中獲取數據,并進行加權求和和激活函數處理;輸出層提供模型的最終輸出,可以是一個或多個神經元的組合。在回歸問題中,輸出層通常只有一個神經元,它提供了預測的連續值。
圖3:包含一個隱藏層的MLP
卷積神經網絡(CNN)是一種具有局部連接、權值共享等特點的深層前饋神經網絡,具有表征學習能力,能夠按其階層結構對輸入信息進行平移不變分類。
CNN的基本組件包括卷積層、池化層和全連接層:卷積層通過卷積操作對輸入數據進行特征提取。卷積層由一組可學習的過濾器(或稱為卷積核)組成,每個過濾器通過滑動窗口在輸入數據上進行卷積操作,以計算得到特定位置的特征圖;池化層用于對特征圖進行下采樣,減少計算量并保留最重要的特征。常見的池化操作是最大池化,它選擇窗口中最大值作為池化結果;全連接層類似于MLP中的隱藏層和輸出層,用于將卷積和池化層的輸出轉換為最終的預測結果。CNN的訓練也使用反向傳播算法和梯度下降優化器。不同于MLP,CNN在處理圖像等數據時利用了卷積和池化操作的局部連接性和參數共享特性,可以有效地捕捉到輸入數據的空間結構和局部特征。
圖4:包含卷積核池化層的CNN網絡
基于AI的SSD控制器技術
本章我們以AI讀電壓預測的一個簡單例子介紹SSD控制器上AI技術的應用。SSD的存儲單元為NAND顆粒,每個NAND存儲單元可以視為一個可以保存電子的三極管,通過下發一定檢測電壓判斷三極管是否開啟,可以檢測出其保存電子的數量,進而獲取NAND中保存的數據。在NAND中,該檢測電壓即為NAND讀電壓。為了準確的讀取NAND中的數據,需要盡可能準確的讀電壓,否則就會得到錯誤的三極管開啟閾值,造成讀取錯誤。
在實際使用中,NAND的閾值電壓受多種因素影響:NAND的擦寫次數影響NAND單元中電子流失的速度;NAND的上電保持時間等于NAND中電子持續流失的時間;對相鄰NAND單元的讀取可能造成NAND內電子增加;不同物理位置的NAND單元因為工藝的不一致性,在不同的場景中的閾值電壓的變化也會有差異。NAND受各種因素影響的閾值電壓變化量就構成了一個數值模型,我們可以嘗試通過AI對其進行建模。
我們選取了一款主流廠商TLC顆粒進行建模,TLC的一個wordline包含7個不同的讀狀態,為了簡化模型,我們僅考慮了不同磨損次數和不同上電保持時間的閾值電壓模型,最終得到模型的輸入信息為磨損次數PE,上電保持時間T,目標page的所在的plane、block和wordline編號,以及采用讀取得到數據最準確的讀電壓RL1~RL7,采用隨機森林與MLP算法,分別進行AI訓練。
訓練的數據集包括3000個不同位置page在不同PE和T下最優讀電壓的數據。我們在訓練中對數據集進行隨機劃分,按71劃分為訓練集、測試集和驗證集,訓練集用于模型權重的訓練,驗證集用于模型超參數調整和過擬合監控,測試集用于評估模型的性能,我們在訓練中采用模型輸出電壓與數據集中最優電壓的均方誤差作為模型評估的標準。
隨機森林比較簡單,我們采用一個50個隨機決策樹的森林進行隨機樣本的訓練,將所有數據進行隨機劃分,進行多次訓練,當均方誤差收斂后停止訓練,最終得到的隨機森林在測試集上獲得了2.98的均方誤差。
在MLP中,我們采用了一種簡潔高效的架構:輸入層直接接收磨損次數PE、時間T、plane、block和wordline位置這五個關鍵的物理參數,這些參數是影響讀電壓的主要因素;隱藏層中包含兩個大小為128的隱藏層,這種設計旨在提供足夠的模型復雜度,以學習輸入特征與讀電壓之間的潛在關系。ReLU激活函數在這里發揮作用,幫助模型捕捉非線性依賴;輸出層是一個包含7個神經元的線性層,它輸出預測的讀電壓值,對應于TLC NAND存儲單元中可能的不同狀態。訓練后,在測試集上,MLP最終獲得2.99的均方誤差,略高于隨機森林。
圖5:電壓預測MLP訓練架構
因為在本實驗中,選取的場景比較單一,樣本量不大,傳統的機器學習算法與深度學習算法都以很小的模型量級取得了非常不錯的學習效果,模型預測得到的閾值電壓與最優讀電壓的誤差不超過3個電壓檔位,驗證了AI技術在NAND電壓模型上的應用潛力。隨著使用場景的復雜化,深度學習可以通過增加隱藏層,獲得更大精確的模型能力,提供全場景下的準確NAND讀電壓預測。
憶聯在AI領域的布局及應用
在本文我們通過一個簡單的示例展示了AI作為一個新技術,在SSD控制器底層管理上的應用潛力。除了NAND讀電壓,還有NAND健康管理和壽命預測、主機負載預測、IO冷熱預測等多方面,都可以通過AI的建模,針對使用場景在線獲得SSD的最優運行參數,幫助用戶獲得更快、更可靠、更安全的數據管理服務。
在人工智能的趨勢下,不管是AI PC還是超大規模數據中心,都對存儲容量和性能提出了更高要求。一直以來,憶聯持續打磨產品的存儲性能,在7系DSSD、8系ESSD以及SAS產品上,已將AI算法融入了NAND管理、主機訪問優化、性能穩定性等功能。未來,憶聯還將不斷推出具備強勁競爭力的全產品線SSD產品,滿足AI時代算力需求,實現存力突圍,為客戶創造最大價值。
審核編輯:劉清
-
控制器
+關注
關注
112文章
16197瀏覽量
177394 -
神經網絡
+關注
關注
42文章
4762瀏覽量
100535 -
SSD
+關注
關注
20文章
2851瀏覽量
117221 -
向量機
+關注
關注
0文章
166瀏覽量
20850 -
ai技術
+關注
關注
1文章
1257瀏覽量
24246
原文標題:Tech Talk:淺談AI技術在SSD控制器中的應用
文章出處:【微信號:UnionMemory憶聯,微信公眾號:UnionMemory憶聯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論