鬼佬大哥大
  • / 12
  • 下載費用:30 金幣  

固態硬盤寫入數據的方法.pdf

摘要
申請專利號:

CN201410359016.1

申請日:

2014.07.25

公開號:

CN105279108A

公開日:

2016.01.27

當前法律狀態:

撤回

有效性:

無權

法律詳情: 發明專利申請公布后的視為撤回IPC(主分類):G06F 12/16申請公布日:20160127|||實質審查的生效IPC(主分類):G06F 12/16申請日:20140725|||公開
IPC分類號: G06F12/16 主分類號: G06F12/16
申請人: 廣明光電股份有限公司
發明人: 林政儀; 蕭亦隆
地址: 中國臺灣桃園縣
優先權:
專利代理機構: 北京市柳沈律師事務所11105 代理人: 史新宏
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201410359016.1

授權公告號:

||||||

法律狀態公告日:

2018.08.28|||2016.02.24|||2016.01.27

法律狀態類型:

發明專利申請公布后的視為撤回|||實質審查的生效|||公開

摘要

一種固態硬盤寫入數據的方法,該方法包括接收寫入數據,轉換成具有邏輯分配地址與邏輯分配數據的邏輯頁,在首部連結表搜尋相同的邏輯頁,合并修正邏輯頁,將邏輯頁的邏輯分配地址暫存在首部連結表,且將邏輯頁的邏輯分配數據暫存在數據緩沖單元,檢查首部連結表被填滿時,將緩沖存儲器暫存的邏輯頁同時寫入各閃存,以提高效率。

權利要求書

1.一種固態硬盤寫入數據的方法,其步驟包含:
在固態硬盤的緩沖存儲器建立首部連結表與數據緩沖單元;
接收主機傳送的寫入數據,轉換成具有邏輯分配地址與邏輯分配數據的
邏輯頁;
在首部連結表搜尋相同的邏輯頁;
將接收的邏輯頁合并修正至已暫存的邏輯頁;
將邏輯頁的邏輯分配地址暫存在首部連結表,且將邏輯頁的邏輯分配數
據暫存在數據緩沖單元;
檢查首部連結表被填滿;
將緩沖存儲器暫存的邏輯頁同時寫入各閃存。
2.如權利要求1所述的固態硬盤寫入數據的方法,其中該首部連結表設
有邏輯面地址字段暫存邏輯頁的邏輯分配地址,數據緩沖單元設有相對應邏
輯面地址字段的數據緩沖字段暫存相對應邏輯頁的邏輯分配數據。
3.如權利要求2所述的固態硬盤寫入數據的方法,其中該首部連結表連
結所有暫存在緩沖存儲器的邏輯頁的邏輯分配地址形成一比對表。
4.如權利要求2所述的固態硬盤寫入數據的方法,其中該固態硬盤的每
一閃存各設一相對應的邏輯面地址,每一邏輯面地址再依對應的閃存的存儲
層規劃相對應的邏輯面地址的字段。
5.如權利要求3所述的固態硬盤寫入數據的方法,其中該邏輯面地址字
段依相對應的閃存及存儲層順序排列。
6.如權利要求2所述的固態硬盤寫入數據的方法,其中在首部連結表的
邏輯面地址字段搜尋相同邏輯頁的邏輯分配地址。
7.如權利要求6所述的固態硬盤寫入數據的方法,其中在首部連結表未
搜尋到相同的邏輯頁時,依序檢查首部連結表中找出空邏輯面地址字段,將
接收的邏輯頁的邏輯分配地址暫存在首部連結表中空邏輯面地址字段,且將
邏輯頁的邏輯分配數據暫存在對應的數據緩沖單元的數據緩沖字段。
8.如權利要求1所述的固態硬盤寫入數據的方法,其中檢查首部連結表
未被填滿,繼續接收主機傳送的寫入數據。
9.如權利要求1所述的固態硬盤寫入數據的方法,其中寫入各閃存是將
各邏輯頁暫存在首部連結表與數據緩沖單元的的邏輯分配地址與邏輯分配
數據同時寫入。
10.如權利要求2所述的固態硬盤寫入數據的方法,其中檢查首部連結
表被填滿以檢查每一邏輯面地址具有至少一字段被填滿時,將緩沖存儲器暫
存的邏輯頁同時寫入各閃存。
11.如權利要求2所述的固態硬盤寫入數據的方法,其中檢查首部連結表
以每一邏輯面地址具有至少一字段被填滿時,同時將各邏輯面地址登錄的一
邏輯頁寫入各閃存。

說明書

固態硬盤寫入數據的方法

技術領域

本發明涉及一種固態硬盤,特別是涉及固態硬盤在寫入數據時,管理緩
沖存儲數據,搜尋修正相同數據,以及分配寫入閃存的方法。

背景技術

固態硬盤(SolidStateDrive,簡稱SSD)一般由數個與非門閃存(NAND
FlashMemory)整合成為單一儲存裝置。由于固態硬盤無移動性的機構,適
于隨身攜帶,且傳輸數據非常快速,有利于大量數據的傳輸,已成為信息儲
存的消費主流產品。

如圖1所示,為現有技術固態硬盤寫入數據的流程。現有技術固態硬盤
接收主機傳送具有邏輯區塊地址(LogicalBlockAddress,簡稱LBA)的寫入
數據區塊,暫存在緩沖存儲器(請參步驟P1);接著在緩沖存儲器中搜尋相同
的寫入數據(步驟P2),檢查是否查到相同的寫入數據(步驟P3);查到相同的
寫入數據時,則進行合并修正相同寫入數據(步驟P4),再將寫入數據區塊
轉換成具有邏輯分配地址(LogicalAllocationAddress,簡稱LAA)的邏輯頁數
據格式,隨機分配各邏輯頁寫入的閃存,登錄在邏輯-實體對照表(Mapping
Table)(步驟P5),分送邏輯頁數據經閃存各自的先進先出(FirstInFirstOut,
簡稱FIFO)傳輸管道,寫入至各閃存的實體頁(步驟P6)。因此,現有技術固
態硬盤利用緩沖存儲器暫存的寫入數據,搜尋相同的寫入數據,并合并修正
相同的寫入數據,以減少相同數據重復寫入的時間,避免占住閃存的傳輸管
道,導致讀取數據的速度下降,造成主機操作的延遲。

然而,現有技術固態硬盤在緩沖存儲器搜尋相同的寫入數據時,必須搜
尋及比對緩沖存儲器中全部暫存的寫入數據,相當耗費時間。另外,現有技
術固態硬盤將數據隨機分配寫入至各閃存,緩沖存儲器無法累積暫存較多的
寫入數據,不僅降低搜尋相同寫入數據的機會,且無法平均的寫入到各閃存,
而可能一直寫入在同一個固態硬盤的閃存,讓具有存取次數限制的閃存,過
度集中使用,導致減少壽命。因此,固態硬盤在寫入數據的方法上,仍有問
題亟待解決。

發明內容

本發明的目的是提供一種固態硬盤寫入數據的方法,藉由在固態硬盤的
緩沖存儲器建立相對應各閃存層的首部連結表,連結暫存邏輯頁的首部,作
為搜尋相同寫入數據的比較對象,減少比對的數據,以提高搜尋速度。

本發明另一目的是提供一種固態硬盤寫入數據的方法,在固態硬盤的緩
沖存儲器建立相對應各閃存層的數據緩沖單元,靜態及動態分配寫入的閃
存,以平均閃存的壽命。

本發明再一目的是提供一種固態硬盤寫入數據的方法,利用緩沖存儲器
建立首部連結表及緩沖存儲單元,累積暫存邏輯頁的數據,在每一邏輯面地
址字段被填滿時,同時將暫存的邏輯頁寫入各閃存,以提升寫入效率及搜尋
相同數據的機會。

為了達到前述發明的目的,本發明固態硬盤寫入數據的方法,在固態硬
盤的緩沖存儲器建立首部連結表與數據緩沖單元;接收主機傳送的寫入數
據,轉換成具有邏輯分配地址與邏輯分配數據的邏輯頁;在首部連結表搜尋
相同的邏輯頁;將接收的邏輯頁合并修正至已暫存的邏輯頁;將邏輯頁的邏
輯分配地址暫存在首部連結表,且將邏輯頁的邏輯分配數據暫存在數據緩沖
單元;檢查首部連結表被填滿;將緩沖存儲器暫存的邏輯頁同時寫入各閃存。

本發明固態硬盤寫入數據的方法在首部連結表設有邏輯面地址字段暫
存邏輯頁的邏輯分配地址,連結所有暫存在緩沖存儲器的邏輯頁的邏輯分配
地址形成一比對表,數據緩沖單元設有相對應邏輯面地址字段的數據緩沖字
段暫存相對應邏輯頁的邏輯分配數據。各邏輯面地址相對應固態硬盤的每一
閃存,邏輯面地址字段則相對應閃存的存儲層設置,且依相對應的閃存及存
儲層順序排列。

本發明固態硬盤寫入數據的方法在首部連結表的邏輯面地址字段搜尋
相同邏輯頁的邏輯分配地址。未搜尋到相同的邏輯頁時,依序檢查首部連結
表中找出空邏輯面地址字段,暫存邏輯頁。而檢查首部連結表未被填滿,繼
續接收主機傳送的寫入數據。檢查首部連結表以每一邏輯面地址具有至少一
字段被填滿時,將緩沖存儲器暫存的邏輯頁同時寫入各閃存。或以檢查每一
邏輯面地址具有至少一字段被填滿時,同時將各邏輯面地址登錄的一邏輯頁
寫入各閃存。

附圖說明

圖1為現有技術固態硬盤寫入數據的方法的流程圖。

圖2為本發明使用的固態硬盤的結構圖。

圖3為本發明邏輯頁的數據格式圖。

圖4為本發明的首部連結表的結構圖。

圖5為本發明的數據緩沖單元的結構圖。

圖6為本發明固態硬盤寫入數據的示意圖。

圖7為本發明固態硬盤寫入數據的方法流程圖。

附圖符號說明:

10固態硬盤

11控制器

12緩沖存儲器

20閃存

21實體頁

22首部

23數據部

24首部連結表

25數據緩沖單元

具體實施方式

有關本發明為實現上述目的,所采用的技術手段及其功效,茲舉較佳實
施例,并結合附圖加以說明如下。

請同時參閱圖2、圖3及圖4,圖2為本發明使用的固態硬盤的結構圖,
圖3為本發明邏輯頁的數據格式圖,圖4為本發明的首部連結表的結構圖,
圖5為本發明的數據緩沖單元的結構圖。圖2中為本發明使用的公知的固態
硬盤10,固態硬盤10內設控制器11、緩沖存儲器12及多個閃存20。其中
控制器11配合暫存數據的緩沖存儲器12,接收主機的存取數據,控制多個
閃存20進行存取數據。因固態硬盤10的閃存20數量,可依據所需的存儲
容量增減,本實施例的固態硬盤10雖以四個閃存20,即閃存Flash0-Flash3
為例說明,但包含且不限于四個閃存。

閃存20一般依據存儲單元(Cell)可儲存的位數據(Bit),分為單層單元
(SingleLevelCell,簡稱SLC)、多層單元(MultiLevelCell,簡稱MLC)、三層
單元(TripleLevelCell,簡稱TLC)及四層單元(QuadLevelCell,簡稱QLC)等
等。本發明使用的閃存20為多層單元,本實施例雖以雙層儲存位數據的多
層單元閃存為例說明,但本發明包含且不限于多層單元閃存。多層單元的閃
存20由下存儲層P0與上存儲層P1組成,每一存儲層規劃有多個實體頁21,
用以儲存邏輯頁的數據。多層單元的閃存20相鄰上下存儲層的實體頁,具
有可同時存取的邏輯頁數據的特性。

本發明的固態硬盤10在接收主機傳送具有邏輯區塊地址(LBA)的寫入
數據區塊時,如圖3中,先將寫入數據區塊轉換成具有首部22的邏輯分配
地址(LAA)與數據部23的邏輯分配數據(LogicalAllocationData,簡稱LAD)
的數據格式的邏輯頁。其中首部22的邏輯分配地址為分配邏輯頁將寫入固
態硬盤10的地址,而數據部23的邏輯分配數據則為真正儲存的使用者數據,
并將邏輯頁暫存在緩沖存儲器12等待寫入閃存20。由于邏輯頁的邏輯分配
地址與寫入數據區塊的邏輯區塊地址具有對應關系,固態硬盤10利用儲存
的對照表加以連結對照。

為了管理緩沖存儲器12暫存的邏輯頁,圖4中本發明在緩沖存儲器12
建立一個首部連結表24,首部連結表24針對Flash0至Flash3每一閃存20
各設一相對應的邏輯面地址(LogicalPlaneAddress,簡稱LPA),即LPA0至
LPA3,每一邏輯面地址再依對應的閃存20的下存儲層P0與上存儲層P1規
劃相對應的邏輯面地址上字段與邏輯面地址下字段,用以暫存等待寫入該存
儲層的邏輯頁的邏輯分配地址,例如LPA0-P0字段暫存等待寫入Flash0的
下存儲層P0的邏輯頁的邏輯分配地址。邏輯面地址字段依相對應的Flash0
至Flash3及下存儲層P0與上存儲層P1順序排列。因此首部連結表24可連
結所有暫存在緩沖存儲器12的邏輯頁的邏輯分配地址形成一比對表。同樣,
在圖5中本發明在緩沖存儲器12建立一個數據緩沖單元(DataCacheUnit,
簡稱DCU)25,數據緩沖單元25針對Flash0至Flash3的每一閃存20的下存
儲層P0與上存儲層P1各設一相對應的數據緩沖字段,且數據緩沖字段相對
應邏輯面地址字段,用以暫存等待寫入該存儲層的邏輯頁的邏輯分配數據,
例如DCU1-P1字段暫存等待寫入Flash1的上存儲層P1的邏輯頁的邏輯分配
數據。數據緩沖字段對應邏輯面地址字段順序排列。因此數據緩沖單元25
就可將暫存邏輯頁數據量大的邏輯分配數據與邏輯分配地址分開存放。

如圖6所示,為本發明固態硬盤寫入數據的示意圖。舉一具體實施例說
明本發明固態硬盤寫入數據的過程,假設本發明固態硬盤接收主機首批的寫
入數據,轉換后為邏輯頁0-1-2,邏輯頁0-1-2具有邏輯分配地址(LAA)與邏
輯分配數據(LAD)的數據格式。對于邏輯頁0,首先在首部連結表24搜尋相
同的邏輯頁0的邏輯分配地址,因尚未暫存數據,未搜尋到相同的數據。接
著依序檢查首部連結表24中邏輯面地址字段是否填滿,檢查邏輯面地址字
段LPA0-P0未填滿,就將邏輯頁0的邏輯分配地址暫存在首部連結表24中
邏輯面地址字段LPA0-P0,并將邏輯頁0的邏輯分配數據暫存在對應的數據
緩沖單元25的數據緩沖字段DCU0-P0,等待寫入閃存Flash0下存儲層P0
的實體頁。然后,檢查每一邏輯面地址是否具有至少一字段被填滿,因LPA1-
LPA3尚無暫存數據,不將暫存的邏輯頁0寫入閃存。

接著處理邏輯頁1,同樣未搜尋到相同的數據,依序檢查首部連結表24
中邏輯面地址字段是否填滿,因邏輯面地址字段LPA0-P0已被邏輯頁0填
滿,而下一邏輯面地址字段LPA0-P1未填滿,將邏輯頁1的邏輯分配地址
動態暫存在下一邏輯面地址字段LPA0-P1,并將邏輯頁1的邏輯分配數據暫
存在對應的數據緩沖字段DCU0-P1,等待寫入閃存Flash0上存儲層P1的實
體頁。檢查每一邏輯面地址未具有至少一字段被填滿,因LPA1-LPA3尚無
暫存數據,不將暫存的邏輯頁0-1寫入閃存。再處理邏輯頁2,同樣未搜尋
到相同的數據,依序檢查首部連結表24中邏輯面地址字段,因邏輯面地址
字段LPA0-P0已被邏輯頁0填滿,而邏輯面地址字段LPA0-P1已被邏輯頁
1填滿,下一邏輯面地址字段LPA1-P0未填滿,將邏輯頁2的邏輯分配地址
暫存在邏輯面地址字段LPA1-P0,并將邏輯頁2的邏輯分配數據暫存在對應
的數據緩沖字段DCU1-P0,等待寫入閃存Flash1下存儲層P0的實體頁。檢
查每一邏輯面地址未具有至少一字段被填滿,因LPA2-LPA3尚無暫存數據,
不將暫存的邏輯頁0-2寫入閃存。以累積暫存的邏輯頁。

本發明固態硬盤繼續接收次批的寫入數據邏輯頁4-5-8,依序處理邏輯
頁4-5-8,同樣在首部連結表24未搜尋到相同的數據,檢查首部連結表24
中邏輯面地址字段,如圖6中灰色字段,依序找出空字段而將邏輯頁4-5-8
邏輯分配地址分別暫存在邏輯面地址字段LPA1-P1,LPA2-P0及LPA2-P1,
并將邏輯頁4-5-8的邏輯分配數據分別暫存在對應的數據緩沖字段
DCU1-P1,DCU2-P0及DCU2-P1,等待寫入閃存的實體頁。檢查每一邏輯
面地址未具有至少一字段被填滿,因LPA3尚無暫存數據,不將暫存的邏輯
頁0-1-2-4-5-8寫入閃存。

本發明固態硬盤繼續接收另一批的寫入數據邏輯頁2-3,檢查首部連結
表24中邏輯面地址字段LPA1-P0有暫存邏輯頁2的相同數據,而無邏輯頁
3相同數據。將接收的邏輯頁2合并修正至數據緩沖單元25的數據緩沖字
段DCU1-P0已暫存的邏輯頁2的邏輯分配數據。而對接收的邏輯頁3,檢
查首部連結表24中邏輯面地址字段,如圖6中深灰色字段,依序找出空邏
輯面地址字段LPA3-P0,而將邏輯頁3邏輯分配地址動態暫存至邏輯面地址
字段LPA3-P0,并將邏輯頁3的邏輯分配數據相對應的暫存在數據緩沖單元
25的數據緩沖字段DCU3-P0。再檢查每一邏輯面地址具有至少一字段被填
滿,將緩沖存儲器12暫存的邏輯頁0-1-2-3同時寫入各閃存,以減少影響數
據讀取。

前述實施例,雖以檢查每一邏輯面地址具有至少一字段被填滿,才同時
將各邏輯面地址登錄的一邏輯頁寫入各閃存,但本發明包含且不限于前述實
施例,因將邏輯頁寫入各閃存的條件,可隨需要設定,例如設定首部連結表
的字段被填滿時,將緩沖存儲器暫存的邏輯頁同時寫入各閃存。

如圖7所示,為本發明固態硬盤寫入數據方法的流程圖。本發明固態硬
盤寫入數據方法的詳細步驟說明如下:在步驟S1,本發明首先在固態硬盤的
緩沖存儲器建立首部連結表與數據緩沖單元,首部連結表設有邏輯面地址字
段暫存邏輯頁的邏輯分配地址,數據緩沖單元設有數據緩沖字段暫存相對應
邏輯頁的邏輯分配數據;步驟S2,接收主機傳送的寫入數據,并轉換為邏輯
頁,具有邏輯分配地址與邏輯分配數據的數據格式;步驟S3,在首部連結表
搜尋是否有相同的邏輯頁的邏輯分配地址的數據?假如搜尋到相同的數據,
則進入步驟S4,將接收的邏輯頁合并修正至數據緩沖單元已暫存的邏輯頁
的邏輯分配數據,再進入步驟S6;假如未搜尋到相同的數據,則進入步驟S5,
依序檢查首部連結表中找出空邏輯面地址字段;在步驟S6,將邏輯頁的邏輯
分配地址暫存在首部連結表中邏輯面地址字段,且將邏輯頁的邏輯分配數據
暫存在對應的數據緩沖單元的數據緩沖字段。在步驟S7,檢查首部連結表
中邏輯面地址字段是否被填滿?假如未填滿,則回到步驟S2,繼續接收主機
傳送的寫入數據,假如已填滿,就進入步驟S8,將緩沖存儲器暫存在首部
連結表與數據緩沖單元的各邏輯頁的邏輯分配地址與邏輯分配數據同時寫
入各閃存。

經由前述的步驟,本發明固態硬盤寫入數據的方法,就可藉由在固態硬
盤的緩沖存儲器建立相對應各閃存層的首部連結表及數據緩沖單元,利用首
部連結表字段暫存邏輯頁的邏輯分配地址,與數據緩沖單元暫存邏輯頁的邏
輯分配數據分開,作為搜尋相同寫入數據的比較對象,減少比對的數據及重
復寫入的時間,達到提高搜尋速度的目的。另利用靜態分配首部連結表字段
及動態搜尋空字段分配寫入的閃存,讓閃存平均寫入邏輯頁,以平均閃存的
壽命。此外,本發明利用緩沖存儲器建立首部連結表及緩沖存儲單元,累積
暫存邏輯頁的數據,增加搜尋相同數據的機會,并在邏輯面地址被填滿時,
同時將各邏輯面地址登錄的一邏輯頁寫入各閃存,以達到提升寫入效率的目
的。

以上所述者,僅為用以方便說明本發明的較佳實施例,本發明的范圍不
限于所述的較佳實施例,凡依本發明所做的任何變更,于不脫離本發明的精
神的前提下,皆屬本發明的權利要求的范圍。

關 鍵 詞:
固態 硬盤 寫入 數據 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:固態硬盤寫入數據的方法.pdf
鏈接地址:http://www.wwszu.club/p-6405441.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大