欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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

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

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