數(shù)據(jù)儲存裝置以及其數(shù)據(jù)抹除方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是關(guān)于一種數(shù)據(jù)儲存裝置,特別是關(guān)于可加速數(shù)據(jù)抹除的工作時間的數(shù)據(jù)儲存裝置。
【背景技術(shù)】
[0002]快閃存儲器為一種可以被電抹除并且重新寫入的非易失性存儲器,并且主要是應用在存儲卡、USB隨身碟、eMMC以及固態(tài)硬盤(Solid-State Disk)中,借以作為一般的儲存與電腦裝置和數(shù)碼產(chǎn)品間的數(shù)據(jù)的轉(zhuǎn)運。
[0003]快閃存儲器包括眾多的存儲區(qū)塊(block),并且每一存儲區(qū)塊具有多個用以儲存數(shù)據(jù)的儲存頁面(page)??扉W存儲器是以存儲區(qū)塊為單元進行抹除,而以儲存頁面為單位進行寫入。當快閃存儲器接收到將區(qū)塊全部抹除的命令時,快閃存儲器會逐一對每一區(qū)塊中的每一頁面進行抹除的動作。然而,對每一頁面進行處理的時間較長,因此造成使用者在進行數(shù)據(jù)抹除上的不便。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所提供的數(shù)據(jù)儲存裝置以及數(shù)據(jù)抹除方法,可借由修改映射表減少數(shù)據(jù)抹除的時間。本發(fā)明提供一種數(shù)據(jù)儲存裝置。數(shù)據(jù)儲存裝置包括一快閃存儲器以及一控制器??扉W存儲器包括多個區(qū)塊,并且每一區(qū)塊包括多個頁面??刂破饔靡越邮找荒ǔ盘枺灾率箍扉W存儲器對上述區(qū)塊中的至少一第一區(qū)塊進行一數(shù)據(jù)抹除動作,其中當快閃存儲器對上述第一區(qū)塊進行數(shù)據(jù)抹除動作后,第一區(qū)塊中的一特定頁面被存入一既定值,并且第一區(qū)塊中特定頁面外的其它頁面皆被抹除。另外,當快閃存儲器進行數(shù)據(jù)抹除動作后,映射表所記錄的第一區(qū)塊中每一頁面的邏輯地址是分別映射至所屬的第一區(qū)塊中的特定頁面的實體地址。在本發(fā)明的一實施例中,抹除信號是由一硬件開關(guān)所產(chǎn)生的。另外,抹除信號亦可為一清除命令或者一強化抹除命令。
[0005]本發(fā)明另提供一種數(shù)據(jù)抹除方法,適用于一數(shù)據(jù)儲存裝置,其中數(shù)據(jù)儲存裝置包括一快閃存儲器,快閃存儲器包括多個區(qū)塊。數(shù)據(jù)抹除方法包括:根據(jù)一抹除信號,將區(qū)塊中的一第一區(qū)塊的多個頁面的數(shù)據(jù)抹除;當?shù)谝粎^(qū)塊的所有頁面的數(shù)據(jù)都被抹除后,將一既定值寫入第一區(qū)塊中的多個頁面中的一特定頁面;以及當既定值寫入特定頁面后,修改映射表,以將第一區(qū)塊中每一頁面的邏輯地址映射至特定頁面的實體地址,其中數(shù)據(jù)抹除方法更包括依序?qū)Φ谝粎^(qū)塊的其它區(qū)塊相應地重復執(zhí)行抹除數(shù)據(jù)、寫入既定值以及修改映射表的步驟,直到快閃存儲器中的所有區(qū)塊皆被執(zhí)行過為止。
【附圖說明】
[0006]圖1為本發(fā)明所提供的一電子系統(tǒng)的方塊圖。
[0007]圖2為本發(fā)明所提供的實體頁面的示意圖。
[0008]圖3為本發(fā)明所提供的一映射表的示意圖。
[0009]圖4為本發(fā)明所提供的一數(shù)據(jù)抹除方法的流程圖。
[0010]【附圖標記說明】
[0011]100電子系統(tǒng);
[0012]120 主機;
[0013]140數(shù)據(jù)儲存裝置;
[0014]160 控制器;
[0015]162運算單元;
[0016]164永久存儲器;
[0017]180快閃存儲器;
[0018]FPageO-FPage255 實體頁面;
[0019]HPageO-HPage255 邏輯頁面;
[0020]S400-S408 步驟。
【具體實施方式】
[0021]以下將詳細討論本發(fā)明各種實施例的裝置及使用方法。然而值得注意的是,本發(fā)明所提供的許多可行的發(fā)明概念可實施在各種特定范圍中。這些特定實施例僅用于舉例說明本發(fā)明的裝置及使用方法,但非用于限定本發(fā)明的范圍。
[0022]圖1是本發(fā)明的一種實施例的電子系統(tǒng)的方塊圖。電子系統(tǒng)100包括一主機120以及一數(shù)據(jù)儲存裝置140。數(shù)據(jù)儲存裝置140包括一快閃存儲器180以及一控制器160,且可根據(jù)主機110所下達的命令操作。控制器160包括一運算單元162以及一永久存儲器(如,只讀存儲器ROM) 164。永久存儲器164與所載的程序碼、數(shù)據(jù)組成固件(firmware),由運算單元162執(zhí)行,使控制器160基于該固件控制該快閃存儲器180??扉W存儲器180包括多個區(qū)塊,并且每一區(qū)塊包括多個頁面。
[0023]另外,每一區(qū)塊中的每一頁面分別具有一邏輯地址以及一實體地址,并且數(shù)據(jù)儲存裝置140更包括至少一映射表,用以儲存每一區(qū)塊中每一頁面的邏輯地址以及實體地址的對應關(guān)系。舉例而言,映射表可儲存于永久存儲器164中。另外,映射表可包括至少一區(qū)塊映射表以及多個頁面映射表。舉例而言,控制器160可借由邏輯地址計算出邏輯地址所相應的邏輯區(qū)塊以及邏輯頁面,并且根據(jù)區(qū)塊映射表,獲得相應于邏輯區(qū)塊的實體區(qū)塊。接著,根據(jù)相應于邏輯區(qū)塊的頁面映射表,獲得相應于邏輯頁面的實體頁面,但本發(fā)明不限于此??山栌刹楸碚页鱿鄳谶壿嫷刂返捻撁娴膶嶓w地址皆為本發(fā)明的范疇。
[0024]在本發(fā)明的一實施例中,控制器160用以接收一抹除信號,以致使快閃存儲器180對至少一區(qū)塊依序進行一數(shù)據(jù)抹除動作。值得注意的是,抹除信號可為一清除命令(purge command)或者規(guī)定于 ATA 規(guī)范書(Working Draft Project American Nat1nalT13/2015-D Standard)中的強化抹除命令(enhanced erase command),但本發(fā)明不限于此。在本發(fā)明的另一實施例中,抹除信號亦可是由一硬件開關(guān)所產(chǎn)生的信號。在本發(fā)明的一實施例中,抹除信號更可包括一既定值,用以寫入快閃存儲器180中。舉例而言,既定值可為0x21,但本發(fā)明不限于此。
[0025]在數(shù)據(jù)抹除動作中,控制器160根據(jù)抹除信號抹除(erase)區(qū)塊中每一頁面的數(shù)據(jù),并且將一既定值寫入?yún)^(qū)塊中的一特定頁面,如圖2所示。值得注意的是,特定頁面可為區(qū)塊中的第一個頁面,或者其他任一頁面,本發(fā)明不限于此。圖2為本發(fā)明所提供的實體頁面的示意圖,其中圖2為一第一區(qū)塊中的實體頁面FPageO-FPage255。在圖2中,第一區(qū)塊中除了特定頁面FPageO被寫入既定值0x21外,其它頁面FPagel_FPage255皆被抹除,呈現(xiàn)抹除狀態(tài),數(shù)值為OxFF,但本發(fā)明不限于此。
[0026]在本發(fā)明的其它實施例中,控制器160根據(jù)抹除信號抹除(erase)區(qū)塊中每一頁面的數(shù)據(jù)后,可將既定值寫入?yún)^(qū)塊中的多個特定頁面。舉例而言,控制器160可將既定值寫入每一區(qū)塊中的偶數(shù)頁面、奇數(shù)頁面、第一個以及最后一個頁面等,本發(fā)明不限于此。
[0027]當快閃存儲器180進行數(shù)據(jù)抹除動作后,控制器160修改映射表,將映射表所記錄的特定頁面外的其它頁面的邏輯地址分別映射至所屬的區(qū)塊中的特定頁面的實體地址。換言之,區(qū)塊中的所有頁面的邏輯地址,皆是映射至特定頁面的實體地址,如圖3所示。圖3為本發(fā)明所提供的一映射表的示意圖,其中圖3是所有區(qū)塊中的一第一區(qū)塊的頁面映射表。在圖3中,第一區(qū)塊中的所有頁面的邏輯地址HPageO-HPage255皆映射至特定頁面的實體地址FPageO,但本發(fā)明不限于此。舉例而言,區(qū)塊中的頁面數(shù)量可大于或者小于256。
[0028]另外,控制器160接收到抹除信號后,先將快閃存儲器180中的第一區(qū)塊的數(shù)據(jù)抹除,并將既定值寫入第一區(qū)塊中的一特定頁面。接著,控制器160修改映射表,將映射表所記錄的第一區(qū)塊中所有頁面的邏輯地址皆映射至第一區(qū)塊中特定頁面的實體地址。接著,控制器160再將快閃存儲器180中的第二區(qū)塊的數(shù)據(jù)抹除,并將既定值寫入第二區(qū)塊中的一特定頁面。在既定值寫入第二區(qū)塊中的特定頁面后,控制器160修改映射表,將映射表所記錄的第二區(qū)塊中所有頁面的邏輯地址皆映射至第二區(qū)塊中特定頁面的實體地址。依此類推,直到快閃存儲器180中的所有區(qū)塊中的數(shù)據(jù)皆被抹除,每一區(qū)塊中的特定頁面皆被寫入既定值,并且所有區(qū)塊中的頁面的邏輯地址皆映射至所屬區(qū)塊的特定頁面的實體地址為止。
[0029]換言之,在當快閃存儲器180進行數(shù)據(jù)抹除動作后,每一區(qū)塊中的特定頁面皆被存入一既定值,并且每一區(qū)塊中特定頁面外的其它頁面皆被抹除。另外,映射表所記錄的每一區(qū)塊中每一頁面的邏輯地址皆是分別映射至所屬的區(qū)塊中的特定頁面的實體地址。因此,主機120可對快閃存儲器180進行讀取,并根據(jù)所讀取的既定值,判斷數(shù)據(jù)抹除動作已成功執(zhí)行完畢。換言之,當主機1