DPU600是DapuStor業內首創的智能存儲SoC,基于最新的12nm FinFET工藝,可作為SSD主控提供業界領先的性能,還集成了可計算存儲平臺,用于ASIC加速的機器學習架構等。同時得益于DPU600內置的應用處理器平臺,以及諸多功能接口,用戶可以在DPU600上開發更多“隱藏功能”。
小編在這里先說道說道一個背景:
在固態硬盤量產測試和可靠性測試過程中,都是運用測試機柜(SSD Tester)實現批量測試(比如DapuStor 產品之一 MAT,如圖1)。
DapuStor圖1
其中內在設計方法都是Server+Client(x86)+DUT模式(如圖2):Server負責各個測試節點(Client)的控制操作(更新/維護測試腳本,啟動停止測試,收集測試結果等), Client負責對DUT(固態硬盤SSD)實際交互(測試操作,如讀寫,上下電等)。由于都是基于x86系統的測試平臺,即x86平臺作為測試主機,SSD作為測試品。
這種系統也有一點點“小遺憾”:
1. x86成本略貴,面積較大,功耗高,難以做成更高密度的測試機柜:一般一個x86子系統,由于受限總線速度, 最多做8個槽位,測試機柜放32個x86子系統,即最大可測DUT為256個。
2. 由于x86的PCIe RC是不開放給用戶的,對于底層PCIe PHY無法進行編程,從而使測試項相對減少。
圖2
大家可能比較疑惑,這個SSD Tester是測試SSD的,和作為SSD主控的DPU600有神馬關系?小編這里就祭出DPU600隱藏功能:
第一個大招:DPU600所含PCIe模塊是多模的,即不僅具有PCIe RC功能,也有PCIe主機的功能,而且支持多種PCIe/SPI/UART Ethernet網卡。
同時再透露一下:DPU600內部還有諸多硬件加速模塊,用于數據比較,Pattern產生等數據處理。
第二個大招:DPU600是可以運行Linux系統,這是前面提到DPU600內置的應用處理器:采用ARM A系列CPU,從而支持運行Linux系統,而且具有多核架構,提供強勁的性能,完全滿足作為測試主機(Client)對操作系統(OS)的需求,同時支持Ethernet,以滿足和Server通信;
同時再透露一下:DPU600其PCIe相關底層控制器可以完全對外開放,可編程自定義更多測試項,比如PCIe 控制器各層的注錯,PCIe 兼容性測試等。
于是整個方案變成了都是Sever+Client(SoC)+DUT模式(如圖3),這里的SoC就是用DPU600.
圖3
有人肯定想問,小編你說這么多,好處呢?
優點肯定是有滴:
SoC方案系統僅用了所必須的外設器件,從而整個PCB板子非常小,從而成本低(估算大概只有X86的十分之一),面積小,功耗低(SoC相比x86 CPU功耗差距非常大),可以做成高密度的測試機柜:假設一個SoC子系統連接2個槽位,但其面積只有x86 十分之一,測試機柜最少可以放256個Soc子系統,即最大可測DUT為512個。
作為工科男的小編,非常理解技術控的需求點,這里需要必須繼續透露一些技術點,滿足廣大技術控需求:下面主要說說主要設計。
整體系統如圖3,Server負責各個測試節點(Client)的控制操作(更新/維護測試腳本,啟動停止測試,收集測試結果等), Client負責對DUT(固態硬盤SSD)實際交互(測試操作,如讀寫,上下電等)。其中Client是基于SoC系統的測試平臺,即SoC平臺作為測試主機(Host),SSD作為測試品(DUT)。Server和Client之間通過網絡連接,Client和DUT之間,通過標準總線(目前主流是PCIe)連接。
圖4
1.1 硬件系統設計
如圖4,硬件系統設計上,以SoC為中心組成一個系統(類似計算機最小系統),連接不同的硬件模塊:通過DDR 接口連接動態隨機存儲器(DDR,就是內存),用于數據緩存,運行Linux操作系統所需內存等;
通過PCIe總線連接多個SSD,這是大家可能比較興趣的技術點,小編在這里又要透露一下:有兩種連接方式,如圖5:第一種直連,可連接數量取決SoC所含PCIe RC模塊數量(當前開發中的產品支持為2個),第二種通過Switch擴展,可以連接N個;
通過PCIe/SPI/UART連接與之匹配的網卡,用于和Sever進行網絡通信;
圖5
大家現在肯定非常想知道DPU600內部結構,那么這里必須畫個圖6——SoC內部主要結構模塊:
PCIe Controller/PHY 是多模的,其中RC模式用于PCIe主機功能,外連SSD設備;如有需要也可以連接PCIe網卡。
DDR Controller/PHY 用于隨機存儲功能,外連DRAM設備;CPU系統,包含MMU,CCI等典型應用處理器的功能模塊,用于運行Linux操作系統;外設模塊,如SPI,UART,用于連續SPI/UART設備,如SPI/ UART 網卡等;Specific Data Processor, 用于數據處理的硬件模塊,加速數據比較,特定數據Pattern的生產等;NVMe Controller和NAND Flash Controller/PHY,用于SSD 產品;
圖6
1.2 軟件系統設計
軟件系統設計上,以OS(Linux)為核心組成一個系統(類似最小操作系統),如圖7。
PCIe Host Module,包含PCIe RC相關驅動,接口和協議棧,用于作為Host的軟件處理,如和外部SSD Device進行讀寫操作等。
Test Tools,作為承接測試用例的主體,根據不同的測試需求進行開發, 包含諸如異常上下電,性能統計,測試數據Pattern的產生,測試數據比較等,在前面提到為了加速數據處理,通過調用((TAL-》MDL-》VDL))底層用戶驅動來使用SoC內的硬件加速模塊(Specific Data Processor)實現;同時為了對PCIe相關測試可編程,自定義更多測試項,通過調用底層用戶驅動(VDL)來使用SoC內的PCIe 控制器配置接口來實現。
Software API,作為和外部Server通信的主體,根據不同的通信需求進行開發,如SSH/UDP/FTP等,承接不同命令包的接收,解析等。
1.3 總體測試過程
如圖8,顯示出我們基于DPU600的特別之處
圖8
至此,利用DPU600開發出SSD Tester的功能介紹完畢,這是DPU600眾多功能的一種,更多的功能有待我們繼續努力開發!
編輯:jq
-
SSD
+關注
關注
21文章
2952瀏覽量
119129 -
DPU
+關注
關注
0文章
390瀏覽量
24706 -
FinFET
+關注
關注
12文章
256瀏覽量
90946
原文標題:SSD主控芯片,除了做SSD還能干點啥?
文章出處:【微信號:dputech,微信公眾號:DapuStor】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
慧榮科技車用級SSD主控芯片獲得ASPICE CL3國際認證
慧榮正在開發4nm PCIe 6.0 SSD主控芯片

SSD硬盤對系統性能的影響
什么是SSD硬盤 SSD硬盤的優勢和劣勢
SSD硬盤和HDD硬盤的區別
SSD故障排查與解決方案
如何選擇適合的SSD SSD和HDD的區別
芯盛智能與中芯國際發布SATA企業級SSD主控芯片XT6160
SSD基本架構
SSD硬盤和SATA硬盤有什么區別
SSD是什么意思?它有哪些應用?

評論