固態硬盤的寫入方法
【專利摘要】一種固態硬盤的寫入方法,在處理固態硬盤內部寫入數據的需求時,檢查寫入數據的來源地及目的地的實體地址都在健康狀態,在快閃轉換層登錄寫入數據的邏輯位對照目的地的實體地址,將儲存在來源地的寫入數據,直接寫入至目的地的實體地址,以加速寫入速度。
【專利說明】
固態硬盤的寫入方法
技術領域
[0001]本發明有關一種固態硬盤,尤其關于固態硬盤在寫入數據時,處理固態硬盤內部數據移轉的寫入方法。
【背景技術】
[0002]固態硬盤(Solid State Drive,簡稱SSD)是將與非門閃存數組(NAND FlashMemory Array)整合成為單一的儲存裝置,由于固態硬盤利用半導體變換電壓記憶的特性,傳輸數據非常地快速,且體積輕薄短小,已成為大量信息儲存的消費主流產品。
[0003]如圖1所示,為先前技術固態硬盤的數據寫入流程。先前技術固態硬盤寫入數據的需求,主要有二個來源,一是主機要求寫入數據,另一需求來源來自固態硬盤的內部。當主機要求寫入的數據時(請參步驟Pl)會將寫入數據暫存在固態硬盤的動態隨機內存(Dynamic Random Access Memory,簡稱DRAM)中(步驟P2),再利用固態硬盤的錯誤校正編碼器(Error Correct Code Encoder,簡稱ECC編碼器),對暫存的寫入數據進行編碼,加入ECC的編碼數據(步驟P3),以便寫入數據在儲存后再被讀取時,借由ECC的編碼數據自動校正部分讀取訊號失誤的數據,達到確保正確讀取寫入數據的目的。然后將ECC編碼后的寫入數據,寫入固態硬盤中的閃存(步驟P4)。
[0004]對于來自固態硬盤內部的寫入數據需求(步驟P5),因固態硬盤內閃存的每個記憶單元(Memory Cell)有使用次數的壽命限制,超過抹除、寫入的限制次數,將造成記憶單元失效。因此固態硬盤本身需要進行磨耗平衡(Wear Leveling),將已寫入的數據重新搬移至抹寫次數較少的記憶區,平均抹寫次數,以增加固態硬盤整體的使用壽命。此外,閃存包含多個實體區塊(Block),實體區塊內含復數個實體頁(Page)作為數據儲存的單位,但抹除數據時需以實體區塊為單位。因此閃存對更新后廢棄的實體頁,無法立即抹除,而是利用邏輯-實體對照的快閃轉換層(Flash Transmit Layer,簡稱FTL)登錄為廢棄實體頁,等待固態硬盤自動執行搜集垃圾區塊程序時,將實體區塊中少數有效的實體頁,先搬移至其它實體區塊,再抹除廢棄實體區塊中儲存的數據,以回收實體區塊再利用。
[0005]固態硬盤執行磨耗平衡或搜集垃圾區塊程序等內部寫入需求時,首先固態硬盤讀取各閃存需要搬移的數據(步驟P6),經由錯誤校正編碼器譯碼成原寫入數據(步驟P7),暫存在固態硬盤的動態隨機內存中(步驟P2),重新設定搬移位置后,再利用錯誤校正編碼器進行編碼,加入ECC的編碼數據(步驟P3),最后重新寫入固態硬盤中的閃存(步驟P4)。
[0006]然而,先前技術的動態隨機內存通常一邊要接收從主機來的寫入數據,一邊要接受固態硬盤內部搬移所讀取的數據,另一邊又要處理閃存寫入數據的需求,常常造成數據存取不及,導致固態硬盤寫入數據的延遲。此外,在寫入數據時,除將主機寫入數據暫存在動態隨機內存外,固態硬盤也將讀取的內部寫入數據暫時存在動態隨機內存,以致極度使用動態隨機內存,極易造成動態隨機內存容量不足,最后影響固態硬盤整體的存取效能。因此,固態硬盤在數據的寫入方法上,仍有問題亟待解決。
【發明內容】
[0007]本發明的目的提供一種固態硬盤的寫入方法,借由判斷固態硬盤內部需搬移數據的來源地及搬移目的地的閃存的健康性,在健康的狀態,進行固態硬盤內部搬移,以加速數據的寫入速度。
[0008]本發明的另一目的提供一種固態硬盤的寫入方法,利用固態硬盤進行內部搬移時,不經動態隨機內存及編譯碼處理的直接搬移,減少使用動態隨機內存及固態硬盤的作業,以提尚整體的存取效能。
[0009]為了達到前述發明的目的,本發明固態硬盤的寫入方法,在處理固態硬盤內部寫入數據的需求時,由固態硬盤根據快閃轉換層規劃寫入數據的目的地,并根據快閃轉換層登錄的健康性的管理信息,檢查寫入數據的來源地及目的地的實體地址都在健康狀態,在快閃轉換層登錄寫入數據的邏輯位對照目的地的實體地址,將儲存在來源地的寫入數據,直接寫入至目的地的實體地址。
[0010]本發明固態硬盤的寫入方法,檢查寫入數據的來源地及目的地的實體地址有一不健康,讀取來源地儲存的寫入數據,譯碼寫入數據形成具有邏輯地址的原寫入數據,暫存在動態隨機內存,再重新編碼暫存的原寫入數據,固態硬盤重新規劃儲存目的地的實體地址,并在快閃轉換層登錄原寫入數據的邏輯位對照搬移目的地的實體地址,然后寫入固態硬盤中閃存的實體地址。
【附圖說明】
[0011]圖1為先前技術固態硬盤的數據寫入的流程圖。
[0012]圖2為本發明固態硬盤的系統結構。
[0013]圖3為本發明固態硬盤對主機需求寫入數據的示意圖。
[0014]圖4為本發明固態硬盤對內部需求寫入數據的示意圖。
[0015]圖5為本發明固態硬盤無法進行內部寫入的示意圖。
[0016]圖6為本發明固態硬盤的寫入方法的流程圖。
[0017]符號說明
[0018]20固態硬盤
[0019]21控制器
[0020]22動態隨機內存
[0021]23錯誤校正編碼器
[0022]24閃存
[0023]25快閃轉換層
[0024]26實體頁
[0025]27毀壞實體頁
[0026]30主機
【具體實施方式】
[0027]有關本發明為達成上述目的,所采用之技術手段及其功效,現舉較佳實施例,并配合附圖加以說明如下。
[0028]請同時參閱圖2、圖3及圖4,圖2為本發明固態硬盤的系統結構,圖3為本發明固態硬盤對主機需求寫入數據的示意圖,圖4為本發明固態硬盤對內部需求寫入數據的示意圖。圖2中本發明使用熟知的固態硬盤系統,固態硬盤系統包含固態硬盤(SSD) 20連接主機30,主機30發送存取固態硬盤20的數據,固態硬盤20作為主機30的主要數據儲存裝置,設控制器21控制收發主機30的數據,暫存在動態隨機內存(DRAM) 22,另設有錯誤校正(ECC)編碼器23,對暫存的數據進行ECC編碼或譯碼,以確保正確讀寫儲存的數據。本發明的固態硬盤20內含復數個閃存(FLASH) 24,借由控制器21分配儲存的數據至各閃存24,并利用快閃轉換層(FTL) 25記錄寫入數據的邏輯地址與儲存在各閃存24的實體地址的對照表,以利存取數據。
[0029]如圖3所示,本發明固態硬盤20對主機30寫入數據的需求時,固態硬盤20利用控制器21接收主機30具有邏輯地址的寫入數據,例如LOOl至L006,暫存在動態隨機內存22,并控制錯誤校正編碼器23對暫存的寫入數據進行編碼,由固態硬盤20的控制器21,根據快閃轉換層25記錄各閃存24的空或健康的實體頁26,且依據磨耗平衡等原則規劃各編碼寫入數據的儲存實體頁26,并將寫入數據的邏輯地址及編碼后儲存實體頁26的實體地址登錄在快閃轉換層25,最后由控制器21,避開如圖3中灰色所示毀壞的實體頁27,將各編碼寫入數據平均寫入規劃的各閃存24的實體頁26。例如暫存在動態隨機內存22的寫入數據L005,如虛線指引線,避開閃存FLASHO的實體區塊R)B1中毀壞的實體頁F0B1002,另儲存在健康的實體頁F0B1003。
[0030]相反地,當主機30指令讀取固態硬盤20儲存的需要邏輯地址LOOl至L006的數據時,由固態硬盤20的控制器21,根據快閃轉換層25記錄需要數據的邏輯地址對照實體地址,讀取對照實體地址的實體頁26的數據,經由錯誤校正編碼器23將儲存的編碼寫入數據,譯碼為原寫入數據,例如LOOl至L006,暫存在動態隨機內存22備用。在讀取儲存數據過程中,錯誤校正編碼器23依據各實體頁26譯碼的錯誤率等,評估實體頁26的健康性,并將不健康的實體頁26登錄在快閃轉換層25,記錄為毀壞的實體頁27,因此快閃轉換層25除了包含固態硬盤20儲存數據的邏輯地址對照實體地址的管理及磨耗平衡等管理信息夕卜,也包含實體區塊的實體頁26健康性的管理信息。
[0031]圖4中,本發明固態硬盤20對內部寫入數據的需求時,例如固態硬盤20需搬移閃存FLASHl中實體區塊B2的實體頁P003儲存數據,由固態硬盤20的控制器21,根據快閃轉換層25規劃搬移數據目的地實體頁F0B2P004,再根據登錄的實體區塊健康性的管理信息,先判斷搬移數據來源地的實體頁F1B2P003的健康性,如果來源地的實體頁F1B2P003對儲存數據能維持讀寫良好狀態,則評估來源地的實體頁F1B2P003為健康,否則為不健康。同樣根據快閃轉換層25登錄的實體區塊健康性的管理信息,判斷搬移數據目的地的實體頁F0B2P004的健康性。如果判斷搬移數據的來源地與目的地的實體頁均屬健康,則將來源地實體頁F1B2P003儲存的編碼數據,不經過暫存動態隨機內存22及編譯碼的處理,由固態硬盤20的控制器31控制,在快閃轉換層25登錄搬移位置,直接寫入至目的地的實體頁F0B2P004,保持數據編碼的完整下,完成內部的數據搬移。該直接寫入可將來源地實體頁F1B2P003映像至目的地的實體頁R)B2P004。
[0032]如圖5所示,為本發明固態硬盤無法進行內部寫入的示意圖。本發明固態硬盤對內部寫入數據的需求時,根據快閃轉換層25登錄的實體區塊健康性的管理信息,如果判斷搬移數據的來源地或目的地的實體頁其中有一個不健康,因讀或寫搬移數據時容易造成失誤,將導致損毀儲存的數據。例如判斷搬移數據的目的地的實體頁F0B2P004不健康,如圖5中虛線所示,不能將來源地實體頁F1B2P003直接至目的地的實體頁F0B2P004,需讀取來源地儲存的寫入數據,經過暫存動態隨機內存及編譯碼的處理,再重新寫入固態硬盤的閃存24。
[0033]因此無法直接寫入時,將讀取搬移數據來源地實體頁F1B2P003儲存的編碼數據,如圖5中實線所示,由快閃轉換層25取得邏輯地址,經過錯誤校正編碼器譯碼成例如L007的原寫入數據,并暫存在動態隨機內存22。再由錯誤校正編碼器重新編碼,由控制器重新規劃儲存目的地的實體頁F0B12P004,并在快閃轉換層25登錄邏輯地址對搬移的實體地址,重新寫入閃存24。
[0034]如圖6所示,為本發明固態硬盤寫入方法的流程圖。本發明固態硬盤的寫入方法詳細步驟說明如下:首先在步驟SI,開始處理固態硬盤內部需求寫入數據時,在步驟S2,根據快閃轉換層登錄的實體區塊健康性的管理信息,檢查需求寫入數據的來源地及目的地的實體地址是否都健康?如果需求寫入數據的來源地及目的地的實體地址有一不健康,步驟S3讀取來源地儲存的編碼寫入數據,步驟S4譯碼編碼寫入數據形成具有邏輯地址的原寫入數據,步驟S5將原寫入數據暫存在動態隨機內存,步驟S6再重新編碼暫存的原寫入數據,由固態硬盤重新規劃儲存目的地的實體地址,在步驟S7,在快閃轉換層登錄原寫入數據邏輯地址對照搬移目的地的實體地址,然后在步驟S8寫入閃存的實體地址。
[0035]在步驟S2檢查需求寫入數據的來源地及目的地的實體地址的健康性時,如果需求寫入數據的來源地及目的地的實體地址都健康,則直接進入步驟S7,在快閃轉換層登錄寫入數據的邏輯地址對照搬移目的地的實體地址,接著在步驟S8將來源地儲存的編碼寫入數據,不經過暫存動態隨機內存及編譯碼等處理,直接寫入至目的地的實體地址。
[0036]由以上的說明,本發明固態硬盤的寫入方法,對固態硬盤內部搬移數據的需求,就可借由檢查搬移數據的來源地及目的地的閃存都在健康的狀態,直接進行固態硬盤內部搬移,不僅可達到加速數據的寫入速度的目的,且不經過暫存動態隨機內存及編譯碼等處理,可減少固態硬盤作業及使用動態隨機內存的容量,達到提高整體存取效能的目的。
[0037]以上所述者,僅為用以方便說明本發明的較佳實施例,本發明的范圍不限于這些較佳實施例,凡依本發明所做的任何變更,在不脫離本發明的精神的情況下,都屬本發明申請的范圍。
【主權項】
1.一種固態硬盤的寫入方法,其步驟包含: 處理固態硬盤內部寫入數據的需求; 檢查該寫入數據的來源地及目的地的實體地址都健康; 在快閃轉換層登錄該寫入數據的邏輯位對照該目的地的實體地址; 將儲存在該來源地的寫入數據,直接寫入至該目的地的實體地址。2.如權利要求1所述的固態硬盤的寫入方法,其中處理內部寫入數據的需求時,由固態硬盤根據快閃轉換層規劃寫入數據的目的地。3.如權利要求1所述的固態硬盤的寫入方法,其中該直接寫入在固態硬盤內部進行,不經過暫存動態隨機內存及編譯碼的處理。4.如權利要求2所述的固態硬盤的寫入方法,其中該直接寫入為將來源地實體地址映像至目的地的實體地址。5.如權利要求1所述的固態硬盤的寫入方法,其中該來源地及目的地的實體地址根據快閃轉換層登錄的健康性的管理信息進行檢查的健康性。6.如權利要求1所述的固態硬盤的寫入方法,其中該檢查該寫入數據的來源地及目的地的實體地址有一不健康,讀取來源地儲存的寫入數據,經過暫存動態隨機內存,重新寫入固態硬盤的閃存。7.如權利要求6所述的固態硬盤的寫入方法,其中讀取來源地儲存的寫入數據,經譯碼寫入數據形成具有邏輯地址的原寫入數據,暫存在動態隨機內存。8.如權利要求7所述的固態硬盤的寫入方法,其中該暫存在動態隨機內存的原寫入數據,由固態硬盤重新規劃儲存目的地的實體地址。9.如權利要求8所述的固態硬盤的寫入方法,其中該固態硬盤在快閃轉換層登錄原寫入數據的邏輯位對照搬移目的地的實體地址,然后寫入閃存的實體地址。
【文檔編號】G06F12/02GK105843746SQ201510013853
【公開日】2016年8月10日
【申請日】2015年1月12日
【發明人】林政儀, 游英凱, 陳仕偉, 蕭亦隆
【申請人】廣明光電股份有限公司