亚洲人成影院在线无码按摩店-国产精品久久人妻无码网站一区-中文字幕乱码亚洲精品一区-国产精品久久久久久吹潮-激情图片小说

嵌入式OS設計策略解讀|憶聯企業級SSD高可靠、高性能的實現方法

日期:2023-08-03 瀏覽:3220 分享:

微信掃一掃:分享

使用微信掃一掃

http://www.datousj.com/news_detail.php?menuid=107&id=89

企業級SSD需要在大量企業數據讀寫下保持超高穩定性,以及24 小時全天候運行,SSD的讀寫速度、使用壽命、穩定性及可靠性是企業級用戶關注的重點。為滿足用戶對企業級SSD高性能、低延時、輕量級、高可靠等需求,憶聯設計并開發了適合SSD的嵌入式操作系統(Operating System,縮寫:OS),并在其上構建了可復制性強的SSD 控制器軟件系統。

嵌入式軟件分為三個層次,即驅動層、OS層、業務層。業務層集結了龐大復雜的產品功能,負責處理業務邏輯的部分,通常包括接口協議、業務功能實現、系統數據保存等;驅動層把設備的硬件訪問抽象成軟件接口,為OS層和業務層服務;OS層為業務層提供軟件平臺服務,讓業務層可以聚焦在實現龐大復雜的軟件功能上。

圖1


通用的OS功能很多,包括處理器管理、內存管理、設備管理、文件管理、作業管理等,而對于嵌入式OS來說,主要聚焦在處理器管理、內存管理等核心功能上,本文則重點闡述處理器管理、互斥、通信。


SSD系統的處理器架構和OS部署

在PCIe 4.0時,SSD的讀寫帶寬達到8GB/s, PCIe 5.0時SSD的讀寫帶寬可能達到16GB/s。為了實現SSD的高性能,通常SSD控制器會使用多CPU、甚至多Cluster的處理器架構,分別用于SSD業務計算和Nand flash操作。

圖2


在多處理器、多Cluster架構下,業務部署時可以選擇SMP模式、AMP模式、或者SMP和AMP混合模式。在SSD系統里,基本上都是SMP模式和AMP模式混合,OS要負責程序調度、互斥、通信功能。在嵌入式系統中的AMP模式的通信,可以類比為通用系統里多進程之間的通信,因為沒有全局數據可用,要借助外部存儲空間進行通信。


憶聯OS的調度策略

常規的OS調度對象都是線程,且每個線程有自己的堆棧和優先級,具有搶占機制。憶聯在設計SSD嵌入式系統時,通過分析發現,線程調度開銷大、線程之間存在較為復雜的互斥問題、容易出現優先級逆轉死鎖問題,加之線程運行的隨機性和無序性,讓系統時刻處于“不確定”狀態。因此,憶聯SSD選擇了自創的“功能代碼(入口函數及其調用的全部函數)”調度策略。為了描述方便,本文把這些可以被OS調度的“功能代碼(入口函數及其調用的全部函數)”,稱為SSD系統里的“事務”。


在SSD系統里的程序,不再以線程方式組織,而是以一個個不會阻塞的獨立“事務處理流程”方式組織。這些“事務處理流程”可以以各種方式被OS調度。


(1)不會阻塞。一個事務完成一個特定的計算,它在計算過程中,不需要等待外設動作,會一直運行到結束。如果一個流程會被阻塞,則需要在阻塞點切分為多個獨立的事務。一旦一個事務被CPU執行,則一定會執行到事務結束。在系統里,除了每個CPU正在執行的事務是運行狀態,其他事務都處在結束狀態。比起線程的阻塞狀態,事務狀態變得極其簡單。

(2) 事務共享堆棧。事務執行完成時,不再有局部變量需要保存在堆棧里。事務共享堆棧,堆棧需求小,調度時也沒有了堆棧切換的開銷。

(3)同一個CPU,事務串行執行。一個CPU里的事務,一定是執行完畢一個事務后,才能開始執行下一個事務。同一個事務,在一個CPU上不會重入。

(4)SMP模式下事務間互斥變得簡單。見圖3。

圖3


備注:

(1)事務完成時,不會持有全局變量的訪問鎖。

(2)AMP之間不存在全局共享數據,不存在互斥。



圖4


一次性事務具有事務優先級功能。OS接受一次性事務調度請求,通過高優先級來處理系統里一些緊急事務,以此達成特定事件的實時處理。

圖5


前面已經講述在憶聯OS里,同一個CPU里事務之間不會出現搶占,只有當一個事務運行完成后,才會運行另外一個事務,但是中斷依然具有搶占功能。


中斷處理程序遵循常規的中斷處理流程,中斷到來時,還是會搶占當前事務。當中斷到來時,OS會把當前運行的事務程序壓棧,跳轉到中斷處理程序運行,中斷處理程序完成后,被中斷的事務程序被恢復運行。


中斷處理程序運行時也是使用事務程序運行時的堆棧。


中斷處理程序具備的搶占功能,可以滿足系統里對于實時性要求高的場景,但同時也帶來了中斷和事務之間的互斥問題。中斷和事務的互斥方式如圖六。

圖6


中斷處理程序實現時,可分為中斷上半部和下半部。上半部讀取外設數據,下半部發送事務消息到OS調度處理。中斷下半部的互斥就變成了事務之間的簡單互斥方式了。中斷發給OS的事務調度消息,可以根據需要選擇使用“緊急、高、常規”優先級。


一般來說,IPC中斷用于AMP與 CPU之間的通信。


發送方把數據寫入共享的DDR后,發送IPC中斷給接受方。


接收方的IPC中斷程序讀取DDR里的通信數據,然后發送事務消息到自己的OS,OS按照事務進行調度處理該事務消息。


中斷處理程序讀取DDR里的通信數據,就是中斷上半部。讀取通信數據并做具體處理,則是事務完成,是中斷的下半部。


總結

通過事務調度思路,憶聯實現了旗下企業級SSD產品的高性能和高可靠性,業務功能的設計、實現、擴展都變得更加簡單和靈活,業務功能的代碼復用也變得更簡單,這讓憶聯在開發新代次SSD時,可以很好地繼承已有代次SSD產品的功能和品質,保障憶聯可以持續為客戶提供高品質SSD產品與存儲解決方案。

您可能對其它新聞感興趣

  • 上一篇

    重磅發布:IDC聯合記憶科技發布面向數據中心應用固態硬盤趨勢白皮書

  • 下一篇

    PCIe?標準演進歷史

     
  • 產品中心
    企業級固態硬盤
    數據中心級固態硬盤
    消費級固態硬盤
    嵌入式存儲
    標桿案例
    運營商
    金融
    互聯網
    云計算
    大數據
    消費電子
    核心能力
    存儲控制器開發
    固件設計
    封裝測試
    解決方案
    天工智能生產制造平臺
    憶聯企業級存儲創新中心
    關于憶聯
    企業簡介
    企業文化
    榮譽資質
    大事記
    聯系我們
    加入我們
    新聞資訊
    公司新聞
    媒體報道
    展會活動
    技術科普
    服務支持
    下載中心
    咨詢與投訴
    投資者關系
    公司治理
    管理團隊
    財務報告
    最新公告
    加入我們
    社會招聘
    校園招聘

    深圳憶聯信息系統有限公司

    地址:深圳市南山區記憶科技后海中心B座19樓

    電話:0755-2681 3300

    郵箱:support@unionmem.com

  • 微信:
  • 官方微博

  • Copyright ? 2020-2025 All Rights Reserved. 粵ICP備18155700號 技術支持:深圳憶聯信息系統有限公司 法律聲明 隱私政策
    主站蜘蛛池模板: 长岛县| 德州市| 资阳市| 泰安市| 安泽县| 周口市| 蓝山县| 石河子市| 佳木斯市| 东方市| 平舆县| 信丰县| 广州市| 台中县| 东乡族自治县| 仁寿县| 榆树市| 巴青县| 金昌市| 太湖县| 绿春县| 布拖县| 黄梅县| 昌都县| 铅山县| 邵东县| 金阳县| 福清市| 平陆县| 阿合奇县| 葵青区| 东山县| 东丰县| 济宁市| 天全县| 彩票| 巩义市| 巨鹿县| 关岭| 阜平县| 和田市|