伊人影院蕉久影院,国产亚洲精品26U在线,91九色精品人成在线观看_高清

      <thead id="i5hmt"><del id="i5hmt"></del></thead>
      <thead id="i5hmt"><del id="i5hmt"><video id="i5hmt"></video></del></thead>
      <object id="i5hmt"></object>
      <optgroup id="i5hmt"><tt id="i5hmt"><tr id="i5hmt"></tr></tt></optgroup>
      <var id="i5hmt"><rp id="i5hmt"><big id="i5hmt"></big></rp></var>
      <object id="i5hmt"><span id="i5hmt"><listing id="i5hmt"></listing></span></object>
      <delect id="i5hmt"></delect>
        <object id="i5hmt"></object>
        <optgroup id="i5hmt"><del id="i5hmt"><video id="i5hmt"></video></del></optgroup>

          新聞動態
          行業新聞
          絕不只是堆砌閃存!SSD中的軟件算法你知多少日期:2017-09-26 瀏覽次數:

          SSD已經日漸流行,現在買電腦不挑帶SSD的都不好意思說自己真懂用戶體驗。和傳統HDD相比,SSD由閃存構成,閃存低延遲的特性令SSD在隨機讀寫性能方面大幅超越HDD,這也是SSD能帶來流暢操作體驗的關鍵。但是,SSD又不僅僅只是閃存的簡單組裝,僅僅把閃存堆砌起來,并不能稱作是SSD。調用閃存的軟件算法,同樣對SSD的壽命、穩定性、性能等方面起著重大作用。SSD中的軟件算法你都了解嗎?今天,就一起來談談SSD中有哪些軟件算法吧!

          一、FTL:沒它SSD就無法識別

          我們都知道SSD的硬件構成和HDD完全不同,因此操作系統識別HDD的很多機制并不適用于SSD。例如,硬盤是由盤片來構成的,盤片是同心圓,把圓分成一個個小小的扇形,數據在這些扇形中儲存,這些扇形就被稱之為扇區。操作系統把扇區組織起來,構成FAT32、NTFS等文件系統,用戶才得以訪問文件/文件夾而不是一個個的扇區物理地址?;旧?,操作系統建立文件系統的基礎就是扇區。

          HDD硬盤盤片上的扇區

          SSD由閃存構成,沒有盤片,自然也沒有扇區。SSD閃存顆?;A單位是數據容量4KB的Page(頁),Page組成Block(區),Block組成Plane(平面),最后Plane組成Die(晶片),這就是閃存的硬件架構??梢奡SD沒有扇區,怎么辦?這就得靠一些算法來進行轉換了。

          SSD使用的是閃存,閃存結構和HDD不同,需要FTL層和文件系統對話。

          把SSD架構虛擬成HDD算法,叫做“FTL”(Flash Translation Lay)。FTL算法由SSD主控提供,比操作系統更加底層。FTL作為一個軟件中間層,可以把SSD基于Page的硬件架構映射成HDD基于扇區的硬件架構。操作系統為SSD建立文件系統時,有了FTL,操作系統看到的東西和HDD沒啥兩樣,就可以用傳統方法對SSD進行分區、格式化等操作,不需要使用專為SSD而生的文件系統。得益于FTL軟件算法,SSD才能無縫接班HDD,沒它SSD就無法識別。

          二、GC垃圾回收:沒它SSD就巨慢無比

          閃存機制是比較獨特的,當你向閃存寫入數據時,必須先把閃存中的數據擦除掉,才能寫入。同時,閃存最小讀寫單位是Page,但最小擦除單位是Block。一個Block中包含了多個Page,SSD工作一段時間后,就沒有哪個Block中Page都是空白的了。如果要擦除某個Block,就必須先把這個Block中存在有效數據的Page復制備份到其他地方,進而擦除,這樣一來才不會丟數據。


          有效數據Page要復制到什么地方進行備份呢?一些比較低端的產品,會把這些Page的數據復制到緩存,待到Block擦除后,再把數據寫回去,這樣一來SSD寫入速度就更加悲劇了——既要寫原來數據,又要寫新數據。解決這個問題的就是SSD中的GC(Gabage Collection),也就是垃圾回收算法。

          GC垃圾回收算法看著有點類似碎片整理,它可以把某個Block中存在有效數據的Page,移動到其他Block中,從而讓操作系統得以擦除這一整個Block。接著再往該Block寫數據,就不需要把備份到其他地方的Page也寫回去了。GC發生在FTL層,不同SSD的GC算法是不一樣的,GC算法的不同深切影響著SSD性能。

          三、Trim:大大提高垃圾回收效率

          Trim是一種用來增加GC垃圾回收效率的算法。沒有Trim的話,會出現這樣一種情況:在操作系統刪除一個文件,實際上數據在物理層面上并沒有被刪除。于是,SSD的某個Block所有Page都會被填滿,待到真正寫入數據時,才被迫進行GC垃圾回收,主控才開始把有效數據的Page移動到其他Block上,進而擦除該Block。如此一來,速度就很慢,SSD用久了每次寫入數據都得先GC,用戶體驗非常不好。

          Trim就可以大大緩解這種情況。操作系統刪除數據后,Trim會告訴SSD主控哪些Page的數據對應著刪除的數據,這些Page會被標記成為無效Page。接著,在閑暇時段,SSD主控就會主動進行GC,把有效數據的Page移走,然后擦除這些Block的數據,提前為操作系統數據寫入準備好足夠多的Block。如此一來,就算是長期使用,只要SSD不是裝得太滿,性能都不會有太過明顯的下滑,大大提升了用戶體驗。Trim算法由操作系統提供,Win7、Android 4.3以后的操作系統都支持Trim。

          四、磨損平衡:保證閃存壽命被均勻消耗

          我們知道閃存是有擦寫壽命的,例如MLC閃存只能夠擦寫數千次,TLC閃存只能夠擦寫數百次等等。其實以現在SSD容量來說,總擦寫數據量非常驚人,例如256G的SSD,壽命是500次擦寫(P/E)的話,那么就需要寫入125TB數據閃存才壽終正寢——就算你每天寫入10G數據,也需要用三十多年才能把閃存給寫掛,更何況很少人每天往SSD中寫10G數據。

          TLC擦寫次數不盡如人意,但正常使用其實也很難掛掉。

          但是很多朋友仍不信任SSD的壽命,理由是SSD這個壽命是根據全盤容量來估算的。有朋友認為,平時讀寫數據,會集中讀寫SSD其中一部分閃存,這部分閃存壽命就會損耗得特別快。一旦這部分閃存掛了,那么整塊SSD也就掛了。然而事實真是這樣嗎?

          事實當然并非如此。實際上,SSD擁有磨損平衡(Wear Leveling)算法,令所有閃存磨損度盡可能保持一致。SSD磨損平衡算法大致分為動態和靜態兩種。動態的算法就是當寫入新數據時,會自動往比較新的Block中去寫,老的閃存就放在一旁歇歇;而靜態算法就更加先進,就算沒有數據寫入,SSD監測到某些閃存Block比較老,會自動進行數據分配,讓比較老的閃存Block承擔不需要寫數據儲存任務,同時讓較新閃存Block騰出空間,平日數據讀寫就在比較新的Block中進行——如此一來,各個Block的壽命損耗,就都差不多了。

          總結

          SSD絕不是把閃存堆在一起就能做成的,要讓SSD穩定、快速地運行,還有賴于種種軟件算法。在選用SSD時,可以多關注一下該SSD所使用的主控方案,關注該主控算法是否靠譜;在使用SSD時,要選擇適合的操作系統,并及時更新SSD固件和驅動。如此一來,才會得到更好的體驗。

          山東華芯半導體HX8800主控芯片不僅是國內首款經國家密碼管理局安審通過的SSD控制器芯片,并結合運用各種軟件算法,保證信息安全的同時也保證了數據的高速傳輸。其相應產品已廣泛應用于涉密、商密、特種行業等高安全、高性能場合,同時也滿足消費級SSD類產品應用要求。

          源自:新浪科技


          上一篇:PCI Express/NVMe分析     下一篇:淺談幾種常見商用國密算法
          伊人影院蕉久影院,国产亚洲精品26U在线,91九色精品人成在线观看_高清