啊灬啊别停灬用力啊动态图

  • <code id="ga626"><rp id="ga626"></rp></code>
      <table id="ga626"><strike id="ga626"></strike></table>
      <td id="ga626"><strike id="ga626"></strike></td>
      
      

      <acronym id="ga626"><strong id="ga626"></strong></acronym>

      <track id="ga626"><strike id="ga626"><ol id="ga626"></ol></strike></track>

    1. 您現在的位置:首頁 ? 新聞動態 ? 行業新聞
      新聞動態

      專業視角:怎樣降低SSD寫放大?

      2020-07-02 點擊數:

      SSD的設計完全不同于機械磁盤,甚至可以認為SSD就是一個五臟俱全的小型PC。首先,因為沒有寫磁頭,在讀寫數據的時候就少了磁頭在磁道之間的尋道過程,所以也就能提供較高的IOPS性能。這里插一句,很多人認為因為少了機械磁頭的搬來搬去,會減少電量的使用,但這一點其實并不絕對,比如有的NVMe類型的SSD在耗電量上并不比機械硬盤低。

      但當SSD被寫滿一遍后,再寫入數據就需要對原有的數據進行擦除(注:一般擦除的單位要比最小寫入單位大,比如常見的寫入單位,即頁大小是4K,但常見的擦除單位,即塊大小是512K或者更高),這就額外增加了一個步驟,所以整體的速度就下來了。就像一張紙,頻繁的用橡皮擦除,紙就自燃變薄了,而寫入放大增加了SSD整體寫入的數據量,自然也就減少了SSD的使用壽命。

      那到底什么是寫放大呢?

      讓我們舉個例子來進行說明,假設要寫入一個4KB的數據,可是一個塊里已經沒有干凈空間了,但是有失效的數據可以擦除,所以主控就把所有的數據搬到緩存或者OP空間,然后擦除塊,再加上這個4KB新數據寫回去,這個操作就造成了寫入放大,即本來是寫4K的數據,卻造成了整個塊(以512KB為例)的寫入操作,也就是128倍放大(當然,真實世界的SSD內部主控不會這么“傻”,但寫入放大卻是真實存在的)。

      同時,原本只需要簡單的寫4KB的操作變成讀取(512KB),擦(512KB),改寫(512KB),造成了延遲大大增加,寫的速度自然就慢了。當這樣的擦除過多時,也就影響了SSD的使用壽命。

      所以一個有效的方法就是可以通過修改OP預留空間,以及及時清理固態硬盤中的無用數據,留出更多的空白空間,以減少多余的擦除和寫入,從而降低固態的寫入放大值,提升固態壽命,但這種方式最大的問題是對SSD造成了浪費。

      老司機發車,如何優雅的解決SSD的寫入放大問題

      除此之外,正如我們前文說的,SSD可以看作是一個迷你型的PC,在設計SSD的時候,寫入放大問題也是主控芯片設計要考慮的主要問題之一。

      SSD發展至今,本身已經演繹出了很多具體的功能來解決寫入放大的問題,比如對齊寫、追加寫、Trim命令、垃圾回收、磨損均衡等功能機制,進而提升自身的使用壽命。

      而在目前流行的軟件定義理念的趨勢下,則是通過軟件定義的方式,在主機端通過軟件控制自己的訪問行為,使之更符合SSD的特性,進而解決SSD自身硬件上的“不理性”。很多老司機喜歡稱這種方式為Host Based(別翻譯,翻譯顯得不專業),而傳統使用SSD的方式,是把SSD完全當機械硬盤一樣用的,即 Device Based的方式。

      這里以僅以杉巖數據在追加寫方面的改進為例:

      常見的隨機寫入(Random writes)會寫入很多非連續的LBA(Logical Block Address),將會大大提升寫入放大。

      所以在使用SSD作為cache時,利用軟件定義的方式,將發往SSD的隨機IO變成順序IO,使得寫入SSD的數據都是追加寫,而不是原地更改的寫,這樣就減少了SSD的寫入放大,而對于被覆蓋寫的數據,使用Trim命令以及智能的垃圾回收機制,保證了用戶數據空間的及時高效回收。

      在測試中,我們往往會遇到很多這樣的情況:在硬件配置相同的情況下,不同的軟件性能會相差很多。這其中最主要的原因就是寫放大的問題,寫得多不如寫的準!所以,一款好的存儲軟件一定需要一個好的算法,一個好的算法一定需要盡可能的減少寫入放大。對于減少寫放大的問題還有一些其它的方法,比如靜動數據分離等等,由于篇幅有限,這里不再贅述。

      • SuZhou JetSave Electronics Technology co., LTD
        Mob:(86)18569512671; (86)15501695677;(86)18914086837
        E-mail:dennis.zhang@jcsave.com
        Add:Room 2-1083, 2 Building, 75, TongYuan Rd,
      啊灬啊别停灬用力啊动态图