吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談閃存控制器架構(gòu)

jf_pJlTbmA9 ? 來源:PMC ? 作者:PMC ? 2023-08-29 16:10 ? 次閱讀

分析閃存控制器的架構(gòu),首先得了解SSD。一般來說SSD的存儲(chǔ)介質(zhì)分為兩種,一種是采用閃存(Flash芯片)作為存儲(chǔ)介質(zhì),另外一種是采用DRAM作為存儲(chǔ)介質(zhì)。我們通常所說的SSD就是基于閃存的固態(tài)硬盤,其采用FLASH芯片作為存儲(chǔ)介質(zhì)。SSD的基本組成結(jié)構(gòu)包括Flash顆粒和Flash控制器,F(xiàn)lash控制器中有芯片,負(fù)責(zé)Flash的讀寫、磨損均衡、壽命監(jiān)控等等。

Flash控制器的主要的工作任務(wù)包括三大方面:一是后端訪問Flash,管理后端Flash顆粒,包括各種參數(shù)控制和數(shù)據(jù)IO; 二是前端提供訪問接口和協(xié)議:實(shí)現(xiàn)對(duì)應(yīng)的SAS/SATA target協(xié)議端或者NVMe協(xié)議端, 獲取Host發(fā)出的IO指令并解碼和生成內(nèi)部私有數(shù)據(jù)結(jié)果等待執(zhí)行;三是FTL層核心處理。下面我們具體來介紹一下Flash 控制器是怎樣做這幾件事的。

第一,后端訪問Flash的操作內(nèi)容

后端訪問Flash首先必須提到的是閃存通道控制器。這個(gè)控制器里面有多個(gè)通道,每個(gè)通道掛多片F(xiàn)lash。它與后端Flash顆粒之間存在托管協(xié)議。數(shù)據(jù)寫入Flash的時(shí)候,除了主機(jī)發(fā)送的數(shù)據(jù)或者原始數(shù)據(jù),其他數(shù)據(jù)都必須進(jìn)行ECC校驗(yàn)。ECC是通用的稱謂,里面有多種算法,其中包括糾錯(cuò)率較低的BCH算法,LAPC低密度校驗(yàn)碼等。數(shù)據(jù)讀出的時(shí)候,通過擾碼,加擾,解擾,看ECC是否出現(xiàn)錯(cuò)誤,若有錯(cuò)則在糾錯(cuò)后將芯片發(fā)到內(nèi)部,供后續(xù)的程序處理。因此,后端訪問Flash的主要任務(wù)即是管理后端Flash顆粒,包括各種參數(shù)控制和數(shù)據(jù)IO。

第二,前端提供訪問接口和協(xié)議

前端提供訪問接口和協(xié)議,跟主機(jī)驅(qū)動(dòng)通信,利用標(biāo)準(zhǔn)格式輸配到系統(tǒng)里面,接收主機(jī)端發(fā)過來的指令,即完成、實(shí)現(xiàn)對(duì)應(yīng)的SAS/SATA target協(xié)議端或者NVMe協(xié)議端,獲取Host發(fā)出的IO指令并解碼和生成內(nèi)部私有數(shù)據(jù)結(jié)構(gòu)等待執(zhí)行。如果遵從NVMe標(biāo)準(zhǔn),包括提交命令的方法、完成命令的處理方法等都定好了,包括各種隊(duì)列、隊(duì)列深度,Queue Pair的總體數(shù)量最大可以達(dá)到64K個(gè),隊(duì)列深度也可達(dá)64K個(gè),所以,系統(tǒng)里同時(shí)可能存在64K×64K IO排著,但是目前的系統(tǒng)是用不到這么多Queue的,因?yàn)榈紫碌慕橘|(zhì)速度還不足以支撐。

第三,F(xiàn)TL層――核心層處理

核心層FTL層,是一款Flash控制器的關(guān)鍵競(jìng)爭(zhēng)力所在。它既可以是純軟件算法,包括元數(shù)據(jù)管理,數(shù)據(jù)布局影射、磨損均衡、垃圾回收、緩存策略、片間RAID和掉電元數(shù)據(jù)一致性保障等內(nèi)容。同時(shí),它也可以在進(jìn)行重復(fù)性工作時(shí)輔以硬加速引擎。這是非純軟件的,輔有硬加速的成分在里面。硬加速涉及到所使用的芯片。有的芯片支持硬加速,比如說鏈表的維護(hù)。這是因?yàn)樽隼厥諘r(shí)需要要用到鏈表,拿傳統(tǒng)的軟件算法,插入一個(gè)或者追加一些項(xiàng)目,所耗費(fèi)的CPU周期較大,此時(shí)用硬加速并行,再加上一些硬邏輯的加速,則可節(jié)省開銷。

Flash控制器的兩種策略和方式:

現(xiàn)有的Flash控制器可采用兩種方式:一種是少量的強(qiáng)核心加少量硬件加速。所謂強(qiáng)核心就是一個(gè)核心的性能高、頻率高,分支預(yù)判、并行度、單元數(shù)量、執(zhí)行管道,各種參數(shù)都高于一般水平。核心強(qiáng)了以后,硬加速就不需要這么多了,可以用少量的硬加速。

另一種方式則是大量弱核心+大量硬加速。比如說16個(gè)核心,每個(gè)核心比較弱,但是能夠增加執(zhí)行的并行度,有16個(gè)并發(fā)核心執(zhí)行,跑16套處理程序,這是兩種架構(gòu)。這是一種多核心協(xié)作架構(gòu)模式,其協(xié)作方式可以是同構(gòu)協(xié)作也可以是異構(gòu)協(xié)作

1.同構(gòu)協(xié)作就是每個(gè)核心做的事都是完全一樣的,處理的步驟完全一樣。如果你的控制器陣列里面有16個(gè)IO,有16個(gè)核心,每個(gè)核心都能處理一個(gè)IO,這是同構(gòu)協(xié)作。

2.異構(gòu)協(xié)作則是多個(gè)核心做不同的事情。處理同一個(gè)IO,第一個(gè)IO第一步,第一個(gè)核心處理,這個(gè)核心處理完以后,把這個(gè)IO扔到下一個(gè)核心,再處理下一步,等這個(gè)核心空出來以后,處理下一個(gè)IO的第一步,這就是所謂的流水線了,所謂的異構(gòu)就是如此。
產(chǎn)品實(shí)例:PMC的FlashtecTM NVMe 控制器

這是PMC的控制器,首先它有一個(gè)片上網(wǎng)絡(luò),網(wǎng)絡(luò)承載16個(gè)CPU核心,每個(gè)核心里面有一個(gè)類似網(wǎng)卡的控制器,網(wǎng)卡連到網(wǎng)絡(luò)上,多個(gè)CPU之間連起來。簡(jiǎn)單說就是4口路由器或者交換機(jī)連起來的網(wǎng)絡(luò),多個(gè)CPU之間連起來,此外還有硬加速模塊。另外還包括以下幾部分:

RAM控制器,因?yàn)樾酒闲枰幸欢康腞AM放臨時(shí)數(shù)據(jù),寫放大,讀出來寫進(jìn)去,都要走RAM;

PCIe控制器,這個(gè)是跟前端PCIe對(duì)等的控制器,IO指令從這兒接收過來;

后端Flash控制器,通過一定數(shù)量的通道連Flash顆粒,

加速器(包括緩沖加速器),每做一個(gè)操作,都需要有相應(yīng)的內(nèi)存,把數(shù)據(jù)拷到內(nèi)存里面,內(nèi)存的維護(hù)很費(fèi)時(shí)費(fèi)力。比如在X86上運(yùn)行的Linux,其管理內(nèi)存時(shí)需要耗費(fèi)很多的計(jì)算量。對(duì)于閃存,精打細(xì)算,必須把性能做到極致,因此需用到硬加速。

鏈表加速器,用鏈表來記錄一些信息,哪塊空著,哪塊被應(yīng)用,這塊用軟件維護(hù)很費(fèi)力,所以需要在這里作加速;

XOR加速器,XOR要用硬加速

最后,來看一下軟件的并行度。16個(gè)核心,PMC提供的參考的固件,當(dāng)然SSD廠商會(huì)開發(fā)自己的固件,把自己優(yōu)化的東西放進(jìn)去,優(yōu)化的算法放進(jìn)去。基本上包含了這么一些程序,每個(gè)IO讀的地址可能有重疊,重疊就需要有一個(gè)鎖定協(xié)調(diào),有管命令解析的,有管啟動(dòng)的,有管日志的,有管磨損均衡的,有管查表的,有管寫數(shù)據(jù)的,管前端的PCIe Manager,還有負(fù)責(zé)boot loader的核心,初始化的配置,需要由它處理,data manager,這是主程序,分析IO指令需要干什么,生成一堆的后續(xù)步驟下發(fā)下去。其實(shí)每一塊都可以跑在一個(gè)核心上,同一個(gè)角色可以復(fù)制多份,充分并行。16個(gè)核心,達(dá)到16份程序并行的運(yùn)行,16個(gè)流水線的Stage,這樣就可以屏蔽處理過程中的時(shí)延。
審核編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 閃存
    +關(guān)注

    關(guān)注

    16

    文章

    1799

    瀏覽量

    115113
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16445

    瀏覽量

    179447
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1642

    瀏覽量

    148673
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8691

    瀏覽量

    151915
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電動(dòng)汽車驅(qū)動(dòng)系統(tǒng)的控制器硬件架構(gòu)

    前段時(shí)間有星友咨詢,想了解電動(dòng)汽車驅(qū)動(dòng)系統(tǒng)的控制器(逆變器)硬件架構(gòu),今天我們借助Infineon主驅(qū)逆變器的硬件架構(gòu)說明下這個(gè)問題。
    的頭像 發(fā)表于 01-10 17:09 ?226次閱讀
    電動(dòng)汽車驅(qū)動(dòng)系統(tǒng)的<b class='flag-5'>控制器</b>硬件<b class='flag-5'>架構(gòu)</b>

    物聯(lián)網(wǎng)智慧路燈的功能架構(gòu) 單燈控制器

    物聯(lián)網(wǎng)智慧路燈的功能架構(gòu) 單燈控制器
    的頭像 發(fā)表于 11-16 17:35 ?311次閱讀
    物聯(lián)網(wǎng)智慧路燈的功能<b class='flag-5'>架構(gòu)</b> 單燈<b class='flag-5'>控制器</b>

    憶聯(lián)榮獲2024年度閃存控制器金獎(jiǎng)

    控制器Jaguar6020憑借卓越的性能以及廣泛的應(yīng)用領(lǐng)域,榮獲“2024年度閃存控制器金獎(jiǎng)”,這是繼“2022年度閃存控制器金獎(jiǎng)”后憶聯(lián)再
    的頭像 發(fā)表于 11-08 18:11 ?642次閱讀

    調(diào)試MSP430系列微控制器上的閃存問題

    電子發(fā)燒友網(wǎng)站提供《調(diào)試MSP430系列微控制器上的閃存問題.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 10:27 ?0次下載
    調(diào)試MSP430系列微<b class='flag-5'>控制器</b>上的<b class='flag-5'>閃存</b>問題

    C2000?微控制器的USB閃存編程

    電子發(fā)燒友網(wǎng)站提供《C2000?微控制器的USB閃存編程.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 11:30 ?0次下載
    C2000?微<b class='flag-5'>控制器</b>的USB<b class='flag-5'>閃存</b>編程

    C2000?微控制器的串行閃存編程

    電子發(fā)燒友網(wǎng)站提供《C2000?微控制器的串行閃存編程.pdf》資料免費(fèi)下載
    發(fā)表于 09-03 10:15 ?0次下載
    C2000?微<b class='flag-5'>控制器</b>的串行<b class='flag-5'>閃存</b>編程

    RM48Lx40 16/32-位RISC閃存控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《RM48Lx40 16/32-位RISC閃存控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-08 10:58 ?0次下載
    RM48Lx40 16/32-位RISC<b class='flag-5'>閃存</b>微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    RM48L952 16/32-位RISC閃存控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《RM48L952 16/32-位RISC閃存控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-08 10:56 ?0次下載
    RM48L952 16/32-位RISC<b class='flag-5'>閃存</b>微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    RM42L432 16/32位RISC閃存控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《RM42L432 16/32位RISC閃存控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-08 09:52 ?0次下載
    RM42L432 16/32位RISC<b class='flag-5'>閃存</b>微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    如何通過Miniwiggler V3將labview程序閃存到微控制器

    我正試圖通過 Miniwiggler V3 將 labview 程序閃存到微控制器中,但我找不到任何說明如何操作的文檔。 我是新手,有沒有什么方法可以直接閃存程序?
    發(fā)表于 07-04 06:00

    為什么無法通過modus ide恢復(fù)和閃存控制器

    我面臨著將生成的 ELF 文件導(dǎo)入 modus ide 的問題。 之后,設(shè)置配置調(diào)試 elf 文件,沒有出錯(cuò),但無法通過 modus ide 恢復(fù)和閃存控制器
    發(fā)表于 05-31 08:57

    如何在TC36x微控制器中實(shí)現(xiàn)冗余閃存

    我需要在英飛凌 TC36x 微控制器中實(shí)現(xiàn)冗余閃存。 實(shí)施過程中我需要做哪些事情?
    發(fā)表于 05-30 07:36

    16和32位RISC閃存控制器TMS570LS0914數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《16和32位RISC閃存控制器TMS570LS0914數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-20 14:41 ?0次下載
    16和32位RISC<b class='flag-5'>閃存</b>微<b class='flag-5'>控制器</b>TMS570LS0914數(shù)據(jù)表

    16和32位RISC閃存控制器TMS570LS0714數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《16和32位RISC閃存控制器TMS570LS0714數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-20 14:39 ?1次下載
    16和32位RISC<b class='flag-5'>閃存</b>微<b class='flag-5'>控制器</b>TMS570LS0714數(shù)據(jù)表

    汽車區(qū)域控制器架構(gòu)趨勢(shì)下的SmartFET應(yīng)用

    汽車市場(chǎng)正在轉(zhuǎn)向區(qū)域控制器架構(gòu)的趨勢(shì)方向,而汽車區(qū)域控制器架構(gòu)正朝著分布式、集成化、智能化的方向發(fā)展,以實(shí)現(xiàn)更高效的數(shù)據(jù)處理、功能整合與自動(dòng)駕駛支持。
    的頭像 發(fā)表于 03-19 10:41 ?913次閱讀
    汽車區(qū)域<b class='flag-5'>控制器</b><b class='flag-5'>架構(gòu)</b>趨勢(shì)下的SmartFET應(yīng)用
    百家乐官网开闲的几率多大| 百家乐全部规则| 香港六合彩报码| 网上百家乐官网打牌| 澳门百家乐信誉| 德州扑克官网| 网上百家乐官网哪家较安全| 百家乐如何捕捉长龙| 阜新| 百家乐官网如何赚洗码| 大发888游戏下载中心| 百家乐官网秘诀| 百家乐平台送彩金| 百家乐官网出千原理| 游戏厅百家乐软件| 新世纪| 闲和庄百家乐官网娱乐城| 大发888真钱娱乐网| 百家乐官网规律和方法| 大发888真钱客户端| 百家乐官网赌博技巧论坛| 在线百家乐下| 百家乐官网棋牌正式版| 百家乐真人娱乐场开户注册| 百家乐官网定位膽技巧| 环球百家乐娱乐城| 百家乐官网榄梯打法| 致胜百家乐下载| 真钱百家乐官网公司哪个好| 澳门百家乐赌场娱乐网规则| 百家乐官网游戏机价格| 百家乐翻天在线观看| 百家乐官网庄多还是闲多| 大发888娱乐场大发888娱乐场| 欧洲百家乐官网的玩法技巧和规则 | 六合彩管家婆| 百家乐发牌千数| 百家乐官网赌术揭秘| A8百家乐赌场娱乐网规则| 百家乐官网平台凯发| 大发888娱乐客户端下载|