亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

固態(tài)硬盤快速啟動的方法及其固態(tài)硬盤的制作方法

文檔序號:6524541閱讀:334來源:國知局
固態(tài)硬盤快速啟動的方法及其固態(tài)硬盤的制作方法
【專利摘要】本發(fā)明適用于固態(tài)硬盤【技術(shù)領域】,提供一種固態(tài)硬盤快速啟動的方法及其固態(tài)硬盤,方法包括:寫入數(shù)據(jù)步驟,在向固態(tài)硬盤寫入數(shù)據(jù)時,根據(jù)為數(shù)據(jù)分配的物理頁地址,將物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到閃存塊的預設位置頁中或者記錄物理頁地址對應的邏輯地址信息;恢復步驟,在固態(tài)硬盤上電恢復時,遍歷固態(tài)硬盤所有的閃存塊,在閃存塊的預設位置頁存儲有數(shù)據(jù)時,從預設位置頁讀取頁映射表信息和塊元數(shù)據(jù)恢復固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者在閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)物理頁地址對應的邏輯地址信息恢復固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表。借此,在本發(fā)明中實現(xiàn)在固態(tài)硬盤上電恢復時實現(xiàn)快速啟動。
【專利說明】固態(tài)硬盤快速啟動的方法及其固態(tài)硬盤
【技術(shù)領域】
[0001]本發(fā)明涉及固態(tài)硬盤【技術(shù)領域】,尤其涉及一種固態(tài)硬盤快速啟動的方法及其固態(tài)硬盤。
【背景技術(shù)】
[0002]固態(tài)硬盤由于使用閃存轉(zhuǎn)換層(FTL, Flash Translation Layer)提供地址映射表即邏輯地址與物理地址映射關(guān)系,固態(tài)硬盤上電時需要讀取該地址映射表包括其他元數(shù)據(jù)。在大容量固態(tài)硬盤中,地址映射表通常較大,數(shù)百MB或者數(shù)GB,在異常掉電時,難以將該表迅速的寫入固態(tài)硬盤中。異常掉電時通過逐頁讀取元數(shù)據(jù)恢復FTL的各表項,導致了上電時間很慢。
[0003]目前常用的方法是為固態(tài)硬盤增加電容,通過電容供電,保證異常掉電時FTL地址映射表等能夠保存到固態(tài)硬盤中,但是這種方法有很大的局限性,電容電量有限,大容量固態(tài)硬盤FTL表項很大,同時在寫緩存等開啟情況下,也需要保存緩存數(shù)據(jù)。
[0004]綜上可知,現(xiàn)有固態(tài)硬盤的啟動技術(shù)在實際使用上,顯然存在不便與缺陷,所以有必要加以改進。

【發(fā)明內(nèi)容】

[0005]針對上述的缺陷,本發(fā)明的目的在于提供一種固態(tài)硬盤快速啟動的方法及其固態(tài)硬盤,以在固態(tài)硬盤上電恢復時實現(xiàn)快速啟動。
[0006]為了實現(xiàn)上述目的,本發(fā)明提供一種固態(tài)硬盤快速啟動的方法,包括:
[0007]寫入數(shù)據(jù)步驟,在向所述固態(tài)硬盤寫入數(shù)據(jù)時,根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中或者記錄所述物理頁地址對應的邏輯地址信息;
[0008]恢復步驟,在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁存儲有數(shù)據(jù)時,從所述預設位置頁讀取所述頁映射表信息和塊元數(shù)據(jù)恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者在所述閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)所述物理頁地址對應的邏輯地址信息恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表。
[0009]根據(jù)所述的方法,所述寫入數(shù)據(jù)步驟包括:
[0010]在向所述固態(tài)硬盤寫入數(shù)據(jù)時,提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,并更新所述閃存轉(zhuǎn)換層的地址映射表;
[0011]判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁;
[0012]若是則生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中;若不是則記錄所述物理頁地址對應的邏輯地址信息。[0013]根據(jù)所述的方法,所述恢復步驟包括:
[0014]在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁的前一頁存儲有數(shù)據(jù)時,從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者
[0015]在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,若所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表。
[0016]根據(jù)所述的方法,所述預設位置頁為所述閃存塊的最后一頁。
[0017]為了實現(xiàn)本發(fā)明的另一發(fā)明目的,本發(fā)明還提供了一種固態(tài)硬盤,包括:
[0018]寫入數(shù)據(jù)模塊,在向所述固態(tài)硬盤寫入數(shù)據(jù)時,根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中或者記錄所述物理頁地址對應的邏輯地址信息;
[0019]恢復模塊,在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁存儲有數(shù)據(jù)時,從所述預設位置頁讀取所述頁映射表信息和塊元數(shù)據(jù)恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者在所述閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)所述物理頁地址對應的邏輯地址信息恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表。
[0020]根據(jù)所述的固態(tài)硬盤,所述寫入數(shù)據(jù)模塊包括:
[0021]更新子模塊,用于在向所述固態(tài)硬盤寫入數(shù)據(jù)時,提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,并更新所述閃存轉(zhuǎn)換層的地址映射表;
[0022]判斷子模塊,用于判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁;
[0023]寫入子模塊,用于在所述判斷子模塊判斷為是時,則生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中;用于在所述判斷子模塊判斷為不是時,則記錄所述物理頁地址對應的邏輯地址信息。
[0024]根據(jù)所述的固態(tài)硬盤,所述恢復模塊包括:
[0025]第一恢復子模塊,用于在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁的前一頁存儲有數(shù)據(jù)時,從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者
[0026]第二恢復子模塊,用于在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,若所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表。
[0027]根據(jù)所述的固態(tài)硬盤,所述預設位置頁為所述閃存塊的最后一頁。
[0028]本發(fā)明通過在用戶寫入數(shù)據(jù)時根據(jù)數(shù)據(jù)待寫入的閃存頁物理地址判斷該物理頁是否為閃存塊中的預設位置頁的前一頁;在判斷為真時,通過地址映射表,將該塊中頁的映射表信息及塊元數(shù)據(jù)等寫入塊中的預設位置頁;當固態(tài)硬盤下電或異常掉電時,通過讀取每個塊中預設位置頁,恢復地址映射表等表項,當塊中沒有寫到預設位置頁時,通過讀取該塊中的每頁保存的元數(shù)據(jù)恢復地址映射表等表項。該方法及固態(tài)硬盤不需要電容供電,由于每塊只讀取一頁數(shù)據(jù),地址映射表恢復效率得到很大提升,固態(tài)硬盤上電啟動恢復工作的時間明顯縮短。因此,在固態(tài)硬盤下電或異常掉電時不需要保存FTL元數(shù)據(jù),上電時FTL元數(shù)據(jù)可快速恢復,實現(xiàn)固態(tài)硬盤快速啟動。
【專利附圖】

【附圖說明】
[0029]圖1是本發(fā)明第一實施例提供的固態(tài)硬盤結(jié)構(gòu)示意圖;
[0030]圖2是本發(fā)明第二、三實施例提供的固態(tài)硬盤結(jié)構(gòu)示意圖;
[0031]圖3是本發(fā)明的第五實施例提供了固態(tài)硬盤快速啟動的方法流程圖;
[0032]圖4是本發(fā)明一個實施例提供的用戶數(shù)據(jù)寫入請求處理方法流程圖;
[0033]圖5是本發(fā)明一個實施例提供的固態(tài)硬盤上電恢復處理方法流程圖。
【具體實施方式】
[0034]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0035]參見圖1,在本發(fā)明的第一實施例中,提供了 一種固態(tài)硬盤100,包括:
[0036]寫入數(shù)據(jù)模塊10,在向所述固態(tài)硬盤100寫入數(shù)據(jù)時,根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中或者記錄所述物理頁地址對應的邏輯地址信息;
[0037]恢復模塊20,在所述固態(tài)硬盤100上電恢復時,遍歷所述固態(tài)硬盤100所有的閃存塊,在所述閃存塊的預設位置頁存儲有數(shù)據(jù)時,從所述預設位置頁讀取所述頁映射表信息和塊元數(shù)據(jù)恢復所述固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表;或者在所述閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)所述物理頁地址對應的邏輯地址信息恢復所述固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表。
[0038]在該實施例中,通過寫入數(shù)據(jù)模塊10在向所述固態(tài)硬盤100寫入數(shù)據(jù)時,寫入數(shù)據(jù)模塊10根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中,將頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中在固態(tài)硬盤100上電恢復時,則恢復模塊20只需要通過讀取預設位置頁中存儲的相關(guān)數(shù)據(jù),將能夠輕易的通過存儲的頁映射表信息和塊元數(shù)據(jù)恢復閃存轉(zhuǎn)換層的地址映射表。另一方便,若是寫入數(shù)據(jù)模塊10并沒有在預設位置頁存儲上述數(shù)據(jù),僅記錄所述物理頁地址對應的邏輯地址信息;恢復模塊20根據(jù)所述物理頁地址對應的邏輯地址信息恢復所述固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表。由此,可以快速的恢復閃存轉(zhuǎn)換層的地址映射表,無需過多的等待。
[0039]參見圖2,在本發(fā)明的第二實施例中,寫入數(shù)據(jù)模塊10包括:
[0040]更新子模塊11,用于在向固態(tài)硬盤100寫入數(shù)據(jù)時,提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,并更新所述閃存轉(zhuǎn)換層的地址映射表;
[0041]判斷子模塊12,用于判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁;
[0042]寫入子模塊13,用于在判斷子模塊11判斷為是時,則生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中;用于在判斷子模塊11判斷為不是時,則記錄所述物理頁地址對應的邏輯地址信
肩、O
[0043]在該實施例中,當用戶向固態(tài)硬盤100寫入數(shù)據(jù)時,更新子模塊11將提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,同時更新所述閃存轉(zhuǎn)換層的地址映射表。判斷子模塊12根據(jù)更新子模塊11提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁。在判斷子模塊11判斷為是時,寫入子模塊13生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中,以便在固態(tài)硬盤100上電恢復時在該預設位置中讀取相關(guān)的數(shù)據(jù)信息以恢復固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表。另一方面,寫入子模塊13在判斷子模塊11判斷為不是時,則記錄所述物理頁地址對應的邏輯地址信息。
[0044]參見圖2,在本發(fā)明的第三實施例中,恢復模塊20包括:
[0045]第一恢復子模塊21,用于在固態(tài)硬盤100上電恢復時,遍歷固態(tài)硬盤100所有的閃存塊,在所述閃存塊的預設位置頁的前一頁存儲有數(shù)據(jù)時,從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),恢復固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表;或者
[0046]第二恢復子模塊22,用于在固態(tài)硬盤100上電恢復時,遍歷固態(tài)硬盤100所有的閃存塊,若所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表。
[0047]在該實施例中,固態(tài)硬盤100上電恢復時,第一恢復子模塊21遍歷固態(tài)硬盤100所有的閃存塊,并且當所述預設位置頁的前一頁存儲有數(shù)據(jù)時,第一恢復子模塊21將從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),并恢復固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表。另一方面,第二恢復子模塊22則在固態(tài)硬盤100上電恢復時遍歷固態(tài)硬盤100所有的閃存塊,并且在所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表。
[0048]
BlocklBlock2Block3Block4 Block5
P^i用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁未使用頁
P^2用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁未使用頁
P^3用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁未使用頁~未使用頁
~用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁未使用頁~未使用頁
~用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁用戶數(shù)據(jù)頁未使用頁~未使用頁
P^N 塊元數(shù)據(jù)頁塊元數(shù)據(jù)頁塊元數(shù)據(jù)頁未使用頁~未使用頁[0049]表I
[0050]如上表I所不,為本發(fā)明一個實施例中閃存塊中頁使用情況列表。其中Block表示閃存塊,Page表示頁。在上述多個實施例中,所述預設位置頁為所述閃存塊的最后一頁。預設位置頁的前一頁為所述閃存塊的倒數(shù)第二頁。固態(tài)硬盤100的多個模塊可以是軟件單元,硬件單元或軟硬件結(jié)合單元。
[0051]在本發(fā)明的第四實施例中提供的固態(tài)硬盤100包括:FTL地址映射管理模塊、閃存塊元數(shù)據(jù)讀寫模塊、上電恢復模塊。
[0052]1、FTL地址映射管理模塊主要用于:
[0053]I)當用戶寫入數(shù)據(jù)時,提供待寫入的閃存物理頁地址,并更新地址映射表;
[0054]2)判斷待寫入的閃存物理頁是否為所在塊的倒數(shù)第二個頁,如果是,則調(diào)用閃存塊元數(shù)據(jù)讀寫模塊,生成塊元數(shù)據(jù),并將其寫入該塊的最后一頁中,可參見表I。
[0055]2、閃存塊元數(shù)據(jù)讀寫模塊主要用于:
[0056]I)當用戶寫入數(shù)據(jù)時,記錄該塊物理頁與邏輯地址的映射關(guān)系;
[0057]2)當需要向最后一頁寫入元數(shù)據(jù)時,將已記錄的物理頁與邏輯頁映射關(guān)系,寫入最后一頁中,同時可以寫入其他用于FTL重建的塊元數(shù)據(jù);
[0058]3)上電回復時,每個塊僅讀取最后一頁數(shù)據(jù),獲得該塊中的物理頁及邏輯地址映射關(guān)系,從而恢復FTL的地址映射表。
[0059]3、上電恢復模塊主要用于:
[0060]I)遍歷每個閃存塊,通過閃存塊數(shù)據(jù)讀寫模塊讀取最后一頁數(shù)據(jù),如果最后一頁有數(shù)據(jù),則通過該數(shù)據(jù)恢復該塊對應的FTL映射表;
[0061]2)如果該塊最后一頁未使用,則從第一頁開始讀取頁數(shù)據(jù),并從頁數(shù)據(jù)中恢復該頁對應的FTL映射表;由于這類塊中固態(tài)硬盤100中只有少數(shù)幾個,所以不影響上電恢復效率。
[0062]參見圖3,在本發(fā)明的第五實施例中,提供了一種固態(tài)硬盤快速啟動的方法,包括:
[0063]步驟S301中,在向固態(tài)硬盤100寫入數(shù)據(jù)時,根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中或者記錄所述物理頁地址對應的邏輯地址信息;該步驟為寫入數(shù)據(jù)步驟,由寫入數(shù)據(jù)模塊10實現(xiàn);
[0064]步驟S302中,在固態(tài)硬盤100上電恢復時,遍歷固態(tài)硬盤100所有的閃存塊,在所述閃存塊的預設位置頁存儲有數(shù)據(jù)時,從所述預設位置頁讀取所述頁映射表信息和塊元數(shù)據(jù)恢復固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表;或者在所述閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)所述物理頁地址對應的邏輯地址信息恢復固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表。該步驟為恢復步驟,由恢復模塊20實現(xiàn)。
[0065]在該實施例中,優(yōu)選的,所述預設位置頁為所述閃存塊的最后一頁。當然所述預設位置頁也可以是其他的頁。例如所述閃存塊的第二頁等,可以根據(jù)用戶的需要進行設置。該實施例提供的方法包括:用戶寫入數(shù)據(jù)時由地址轉(zhuǎn)換層FTL地址映射管理模塊提供數(shù)據(jù)待寫入的閃存頁物理地址,并判斷該物理頁是否為塊中的倒數(shù)第二個頁;判斷為真時,通過地址映射表,將該塊中頁的映射表信息及塊元數(shù)據(jù)等寫入塊中的最后一頁;當固態(tài)硬盤100下電或異常掉電時,通過讀取每個塊中最后一頁數(shù)據(jù),恢復地址映射表等表項,當塊中沒有寫到最后一頁時,通過讀取該塊中的每頁保存的元數(shù)據(jù)恢復地址映射表等表項。該方法及固態(tài)硬盤100不需要電容供電,由于每塊只讀取一頁數(shù)據(jù),地址映射表恢復效率得到很大提升,固態(tài)硬盤100上電啟動恢復工作的時間明顯縮短。
[0066]在本發(fā)明的第六實施例中,所述寫入數(shù)據(jù)步驟包括:
[0067]在向所述固態(tài)硬盤100寫入數(shù)據(jù)時,提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,并更新所述閃存轉(zhuǎn)換層的地址映射表;該步驟由更新子模塊11實現(xiàn);
[0068]判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁;該步驟由判斷子模塊12實現(xiàn);
[0069]若是則生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中;若不是則記錄所述物理頁地址對應的邏輯地址信息;該步驟由寫入子模塊13實現(xiàn)。
[0070]在本發(fā)明的第七實施例中,恢復步驟包括:
[0071 ] 在固態(tài)硬盤100上電恢復時,遍歷固態(tài)硬盤100所有的閃存塊,在所述閃存塊的預設位置頁的前一頁存儲有數(shù)據(jù)時,從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),恢復固態(tài)硬盤100閃存轉(zhuǎn)換層的地址映射表;該步驟由第一恢復子模塊21實現(xiàn);或者
[0072]在固態(tài)硬盤100上電恢復時,遍歷固態(tài)硬盤100所有的閃存塊,若所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表;該步驟由第二恢復子模塊22。
[0073]參見圖4及表1,在本發(fā)明的一個實施例中,提供了用戶數(shù)據(jù)寫入請求處理方法,采用第四實施例提供的固態(tài)硬盤實現(xiàn),具體流程包括:
[0074]步驟S401中,用戶數(shù)據(jù)寫入請求
[0075]步驟S402中,F(xiàn)TL地址映射管理模塊分配物理頁地址
[0076]步驟S403中,F(xiàn)TL地址映射管理模塊判斷該物理頁是否為該塊中倒數(shù)第二個頁;
[0077]步驟S404中,F(xiàn)TL地址映射管理模塊將該塊物理頁對應的邏輯地址表項等數(shù)據(jù)寫入最后一頁;
[0078]步驟S405中,F(xiàn)TL地址映射管理模塊記錄該物理頁對應的邏輯地址。
[0079]參見圖5及表1,在本發(fā)明的一個實施例中,提供了固態(tài)硬盤上電恢復處理方法,采用第四實施例提供的固態(tài)硬盤實現(xiàn),具體流程包括:
[0080]步驟S501中,固態(tài)硬盤100上電恢復;
[0081]步驟S502中,上電恢復模塊遍歷所有閃存塊,并判斷遍歷是否結(jié)束;否則執(zhí)行步驟S503 ;否則結(jié)束流程;
[0082]步驟S503中,閃存塊元數(shù)據(jù)讀寫模塊獲取下一個閃存塊,并讀取最后一個閃存頁數(shù)據(jù);
[0083]步驟S504中,判斷該塊最后一頁是否被寫入數(shù)據(jù);是則執(zhí)行步驟S505;否則執(zhí)行步驟S506 ;
[0084]步驟S505中,上電恢復模塊根據(jù)該頁數(shù)據(jù),恢復閃存塊對應的FTL地址映射表;
[0085]步驟S506中,上電恢復模塊遍歷該塊中的閃存頁,逐頁讀取頁中的元數(shù)據(jù),恢復該頁對應的FTL映射表。
[0086]在上述兩個實施例中,提供了在閃存塊中使用單獨或個別閃存頁保存塊元數(shù)據(jù)信息的方法;在上電恢復時,通過讀取該特定位置閃存頁,恢復該塊對應的FTL地址映射表等表項;以快速的啟動固態(tài)硬盤100。
[0087]綜上所述,發(fā)明通過在用戶寫入數(shù)據(jù)時根據(jù)數(shù)據(jù)待寫入的閃存頁物理地址判斷該物理頁是否為閃存塊中的預設位置頁的前一頁;在判斷為真時,通過地址映射表,將該塊中頁的映射表信息及塊元數(shù)據(jù)等寫入塊中的預設位置頁;當固態(tài)硬盤下電或異常掉電時,通過讀取每個塊中預設位置頁,恢復地址映射表等表項,當塊中沒有寫到預設位置頁時,通過讀取該塊中的每頁保存的元數(shù)據(jù)恢復地址映射表等表項。該方法及固態(tài)硬盤不需要電容供電,由于每塊只讀取一頁數(shù)據(jù),地址映射表恢復效率得到很大提升,固態(tài)硬盤上電啟動恢復工作的時間明顯縮短。因此,在固態(tài)硬盤下電或異常掉電時不需要保存FTL元數(shù)據(jù),上電時FTL元數(shù)據(jù)可快速恢復,實現(xiàn)固態(tài)硬盤快速啟動。
[0088]當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種固態(tài)硬盤快速啟動的方法,其特征在于,包括: 寫入數(shù)據(jù)步驟,在向所述固態(tài)硬盤寫入數(shù)據(jù)時,根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中或者記錄所述物理頁地址對應的邏輯地址信息; 恢復步驟,在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置 頁存儲有數(shù)據(jù)時,從所述預設位置頁讀取所述頁映射表信息和塊元數(shù)據(jù)恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者在所述閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)所述物理頁地址對應的邏輯地址信息恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述寫入數(shù)據(jù)步驟包括: 在向所述固態(tài)硬盤寫入數(shù)據(jù)時,提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,并更新所述閃存轉(zhuǎn)換層的地址映射表; 判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁; 若是則生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中;若不是則記錄所述物理頁地址對應的邏輯地址信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述恢復步驟包括: 在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁的前一頁存儲有數(shù)據(jù)時,從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者 在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,若所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表。
4.根據(jù)權(quán)利要求1~3任一項所述的方法,其特征在于,所述預設位置頁為所述閃存塊的最后一頁。
5.一種固態(tài)硬盤,其特征在于,包括: 寫入數(shù)據(jù)模塊,在向所述固態(tài)硬盤寫入數(shù)據(jù)時,根據(jù)為所述數(shù)據(jù)分配的物理頁地址,將所述物理頁地址所在閃存塊中的頁映射表信息和塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中或者記錄所述物理頁地址對應的邏輯地址信息; 恢復模塊,在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁存儲有數(shù)據(jù)時,從所述預設位置頁讀取所述頁映射表信息和塊元數(shù)據(jù)恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者在所述閃存塊的預設位置頁沒有存儲數(shù)據(jù)時,根據(jù)所述物理頁地址對應的邏輯地址信息恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表。
6.根據(jù)權(quán)利要求5所述的固態(tài)硬盤,其特征在于,所述寫入數(shù)據(jù)模塊包括: 更新子模塊,用于在向所述固態(tài)硬盤寫入數(shù)據(jù)時,提供所述數(shù)據(jù)待寫入的閃存塊中的物理頁地址,并更新所述閃存轉(zhuǎn)換層的地址映射表; 判斷子模塊,用于判斷所述待寫入的閃存物理頁是否為所述閃存物理頁所在閃存塊的預設位置頁的前一頁; 寫入子模塊,用于在所述判斷子模塊判斷為是時,則生成所述塊元數(shù)據(jù),并將所述物理頁地址所在閃存塊中的頁映射表信息和所述塊元數(shù)據(jù)寫入到所述閃存塊的預設位置頁中;用于在所述判斷子模塊判斷為不是時,則記錄所述物理頁地址對應的邏輯地址信息。
7.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述恢復模塊包括: 第一恢復子模塊,用于在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,在所述閃存塊的預設位置頁的前一頁存儲有數(shù)據(jù)時,從所述預設位置頁中獲取所述閃存塊中的物理頁地址與邏輯地址映射關(guān)系和所述塊元數(shù)據(jù),恢復所述固態(tài)硬盤閃存轉(zhuǎn)換層的地址映射表;或者 第二恢復子模塊,用于在所述固態(tài)硬盤上電恢復時,遍歷所述固態(tài)硬盤所有的閃存塊,若所述閃存塊的預設位置頁未使用,則從所述閃存塊第一頁開始讀取頁數(shù)據(jù),并從每頁數(shù)據(jù)中恢復該頁對應的閃存轉(zhuǎn)換層的地址映射表。
8.根據(jù)權(quán)利要求5~7任一項所述的固態(tài)硬盤,其特征在于,所述預設位置頁為所述閃存塊的最后一頁。`
【文檔編號】G06F12/06GK103744795SQ201310704091
【公開日】2014年4月23日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
【發(fā)明者】李明星 申請人:記憶科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1