本發(fā)明是關于一種數(shù)據(jù)儲存裝置,特別是關于可對根據(jù)壞列數(shù)據(jù)跳過損壞的壞列。
背景技術:
快閃存儲器為一種可以被電抹除并且重新寫入的非易失性存儲器,并且主要是應用在存儲卡、USB隨身盤、eMMC以及固態(tài)硬盤(Solid-State Disk)中,借以作為一般的儲存與電腦裝置和數(shù)字產品間的數(shù)據(jù)的轉運。
快閃存儲器是包括眾多的存儲區(qū)塊(block),并且每一存儲區(qū)塊具有多個用以儲存數(shù)據(jù)的儲存頁面(page)。快閃存儲器是以存儲區(qū)塊為單元進行抹除,而以儲存頁面為單位進行寫入??扉W存儲器于生產過程中,會因為粉塵或是光罩問題,使得快閃存儲單元中的一整列(column)的數(shù)據(jù)都無法正確存取。
技術實現(xiàn)要素:
本發(fā)明所提供的數(shù)據(jù)儲存裝置以及數(shù)據(jù)存取方法可根據(jù)壞列數(shù)據(jù)跳過快閃存儲器中的壞列。
本發(fā)明提供一種數(shù)據(jù)儲存裝置。數(shù)據(jù)儲存裝置包括一快閃存儲器以及一控制器??扉W存儲器包括多個芯片,并且每一芯片包括由扇區(qū)所構成的多條列??刂破鞅辉O置為用以根據(jù)一讀取命令或者一寫入命令,對快閃存儲器的列中的一第一列至一第N列進行讀取或者寫入,并且根據(jù)一第一壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于第一壞列數(shù)據(jù)的多條列,其中第一壞列數(shù)據(jù)包括一第一數(shù)據(jù)以及一第二數(shù)據(jù),第一數(shù)據(jù)為一起始地址,并且第二數(shù)據(jù)為一列數(shù)量。
在一實施例中,快閃存儲器更包括一壞列表,其中控制器更被設置為用以在讀取或者寫入的過程之前,讀取壞列表,以獲得第一壞列數(shù)據(jù)??刂破鞲? 設置為根據(jù)讀取命令或者寫入命令,判斷即將進行存取的芯片,并讀取壞列表中相應于即將進行存取的芯片的數(shù)據(jù)。
在另一實施例中,壞列表更包括一第二壞列數(shù)據(jù),控制器更用以根據(jù)第二壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于第二壞列數(shù)據(jù)的一條列,其中第二壞列數(shù)據(jù)包括一第三數(shù)據(jù),用以代表一條列的地址。
本發(fā)明提供另一種數(shù)據(jù)儲存裝置。數(shù)據(jù)儲存裝置包括一快閃存儲器以及一壞列表??扉W存儲器包括多個芯片,并且每一芯片包括由扇區(qū)所構成的多條列。壞列表包括多個壞列數(shù)據(jù)用以記錄快閃存儲器中壞損的列,其中壞列數(shù)據(jù)包括至少一第一壞列數(shù)據(jù),每一第一壞列數(shù)據(jù)包括一第一數(shù)據(jù)以及一第二數(shù)據(jù),第一數(shù)據(jù)為一起始地址,并且第二數(shù)據(jù)為一列數(shù)量。
在一實施例中,壞列數(shù)據(jù)更包括至少一第二壞列數(shù)據(jù),第二壞列數(shù)據(jù)包括一第三數(shù)據(jù),用以代表一條列的地址。另外,壞列表更包括多個芯片區(qū)域分別用以儲存芯片的壞列數(shù)據(jù)。
數(shù)據(jù)儲存裝置更包括一控制器被設置為根據(jù)一讀取命令或者一寫入命令,判斷即將進行存取的芯片,讀取壞列表中相應于即將進行存取的芯片的壞列數(shù)據(jù)。另外,控制器被設置為根據(jù)讀取命令或者寫入命令,對快閃存儲器的列中的一第一列至一第N列進行讀取或者寫入,并且根據(jù)所讀取的壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于壞列數(shù)據(jù)的至少一條列。
本發(fā)明更提供一種數(shù)據(jù)存取方法,適用于一數(shù)據(jù)儲存裝置,其中數(shù)據(jù)儲存裝置包括一快閃存儲器,快閃存儲器包括多個芯片,并且每一芯片包括由扇區(qū)所構成的多條列。數(shù)據(jù)存取方法包括:接收相應于對列中的一第一列至一第N列進行讀取或者寫入的一讀取命令或者一寫入命令;讀取一壞列表中相應于即將進行存取的芯片的至少一第一壞列數(shù)據(jù);以及根據(jù)讀取命令或者寫入命令,對快閃存儲器第一列至第N列進行讀取或者寫入,并且根據(jù)所讀取的第一壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于第一壞列數(shù)據(jù)的至少一條列,其中第一壞列數(shù)據(jù)包括一第一數(shù)據(jù)以及一第二數(shù)據(jù),第一數(shù)據(jù)為一起始地址,并且第二數(shù)據(jù)為一列數(shù)量。
附圖說明
圖1為本發(fā)明所提供的一電子系統(tǒng)的一種實施例的方塊圖。
圖2為本發(fā)明所提供的一數(shù)據(jù)存取方法的一種實施例的流程圖。
附圖標記說明:
100 電子系統(tǒng);
120 主機;
140 數(shù)據(jù)儲存裝置;
160 控制器;
162 運算單元;
164 永久存儲器;
166 隨機存取存儲器;
180 快閃存儲器;
182 壞列表;
S200-S204 步驟。
具體實施方式
以下將詳細討論本發(fā)明各種實施例的裝置及使用方法。然而值得注意的是,本發(fā)明所提供的許多可行的發(fā)明概念可實施在各種特定范圍中。這些特定實施例僅用于舉例說明本發(fā)明的裝置及使用方法,但非用于限定本發(fā)明的范圍。
圖1為本發(fā)明所提供的一電子系統(tǒng)的一種實施例的方塊圖。電子系統(tǒng)100包括一主機120以及一數(shù)據(jù)儲存裝置140。數(shù)據(jù)儲存裝置140包括一快閃存儲器180以及一控制器160,且可根據(jù)主機110所下達的命令操作??刂破?60包括一運算單元162、一永久存儲器(如,只讀存儲器ROM)164以及隨機存取存儲器(RAM)166。永久存儲器164與所載的程序碼、數(shù)據(jù)組成固件(firmware),由運算單元162執(zhí)行,使控制器160基于該固件控制該快閃存儲器180。隨機存取存儲器(RAM)166用以載入程序碼與參數(shù)以提供控制器160根據(jù)所載入的程序碼與參數(shù)動作??扉W存儲器180包括多個芯片(die),并且每一芯片包括由扇區(qū)(sector)所構成的多條列(column)以及多條行(row),其中快閃存儲器180中的扇區(qū)(sector)更被區(qū)分為多個區(qū)塊以及區(qū)塊中的多個頁面。值得注意的是,一 個用以儲存數(shù)據(jù)的扇區(qū)以及一個用以儲存錯誤檢查碼(ECC Parity)的扇區(qū)可構成一存儲器單元(chunk),其中存儲器單元是一個錯誤檢查(ECC)的計算單位,但本發(fā)明不限于此。在其他實施例中,存儲器單元亦可由兩個用以儲存數(shù)據(jù)的扇區(qū)以及兩個用以儲存錯誤檢查碼的扇區(qū)構成。
值得注意的是,快閃存儲器于生產過程中,會因為粉塵或是光罩問題,使得快閃存儲單元中的一整列(column)的數(shù)據(jù)都無法正確存取,損毀的列稱為壞列(bad column)。另外,在某些工藝中,快閃存儲單元容易產生連續(xù)的壞列。
在本發(fā)明的一實施例中,控制器160,被設置為用以根據(jù)一讀取命令或者一寫入命令,對快閃存儲器180的列中的一第一列至一第N列進行讀取或者寫入,并且根據(jù)一第一壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于第一壞列數(shù)據(jù)的多條列。值得注意的是,第一壞列數(shù)據(jù)包括一第一數(shù)據(jù)以及一第二數(shù)據(jù),第一數(shù)據(jù)為一起始地址,并且第二數(shù)據(jù)為一列數(shù)量。因此,控制器160可根據(jù)第一數(shù)據(jù)所相應的起始地址定位至一地址,并且根據(jù)第二數(shù)據(jù)所相應的列數(shù)量決定要從所定位的該地址開始跳過幾條列,但本發(fā)明不限于此。舉例而言,當需要跳過的列為50列時,控制器160可根據(jù)第一壞列數(shù)據(jù)中的兩個數(shù)據(jù)跳過該50列,其中第一壞列數(shù)據(jù)中的第一數(shù)據(jù)以及第二數(shù)據(jù)僅需要兩個存儲器單元(chunk)的存儲器空間。
在另一實施例中,控制器160更用以根據(jù)一第二壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于第二壞列數(shù)據(jù)的一條列。值得注意的是,第二壞列數(shù)據(jù)包括一第三數(shù)據(jù),用以代表一條列的地址。因此,控制器160可根據(jù)第二壞列數(shù)據(jù)中的第三數(shù)據(jù)所相應的地址定位至一地址,以跳該地址所相應的列,但本發(fā)明不限于此。舉例而言,當需要跳過的列為50列時,控制器160可根據(jù)第二壞列數(shù)據(jù)中的50個第二壞列數(shù)據(jù)中的50個第三數(shù)據(jù)跳過該50列,其中每一第三數(shù)據(jù)需要一個存儲器單元(chunk)的存儲器空間。因此,在本實施例中,控制器160需要讀取50個存儲器單元(chunk)的存儲器空間跳過50列。
在一實施例中,快閃存儲器180更用以儲存一壞列表182。壞列表182包括多個芯片區(qū)域分別用以儲存芯片的多個壞列數(shù)據(jù)。壞列數(shù)據(jù)用以記錄快閃存儲器180中壞損的列,其中壞列數(shù)據(jù)包括至少一第一壞列數(shù)據(jù)。如上所述,每 一第一壞列數(shù)據(jù)包括一第一數(shù)據(jù)以及一第二數(shù)據(jù),第一數(shù)據(jù)為一起始地址,并且第二數(shù)據(jù)為一列數(shù)量。在另一實施例中,壞列數(shù)據(jù)更包括至少一第二壞列數(shù)據(jù)。如上所述,第二壞列數(shù)據(jù)包括一第三數(shù)據(jù),用以代表一條列的地址。
控制器160更被設置為用以在讀取以及寫入的過程之前,讀取壞列表182,以獲得第一壞列數(shù)據(jù)及/或第二壞列數(shù)據(jù)。在一實施例中,數(shù)據(jù)儲存裝置140被上電后,控制器160將壞列表182自快閃存儲器180中載入隨機存取存儲器166,以在讀取以及寫入的過程之前直接從隨機存取存儲器166對壞列表182進行讀取。另外,控制器160更被設置為根據(jù)讀取命令或者寫入命令,判斷即將進行存取的芯片,并讀取壞列表182中相應于即將進行存取的芯片的數(shù)據(jù)。詳細而言,控制器160被設置為根據(jù)一讀取命令或者一寫入命令,判斷即將進行存取的芯片,接著再讀取壞列表182中相應于即將進行存取的芯片的壞列數(shù)據(jù)。接著,控制器160根據(jù)讀取命令或者寫入命令,對快閃存儲器180的列中的一第一列至一第N列進行讀取或者寫入,并且根據(jù)所讀取的壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于壞列數(shù)據(jù)的至少一條列。
圖2為本發(fā)明所提供的一數(shù)據(jù)存取方法的一種實施例的流程圖。數(shù)據(jù)存取方法適用于圖1所示的數(shù)據(jù)儲存裝置140。流程開始于步驟S200。
在步驟S200中,控制器160接收相應于對列中的一第一列至一第N列進行讀取或者寫入的一讀取命令或者一寫入命令。
接著,在步驟S202中,控制器160讀取一壞列表182中相應于即將進行存取的芯片的至少一第一壞列數(shù)據(jù)及/或至少一第二壞列。
接著,在步驟S204中,控制器160根據(jù)讀取命令或者寫入命令,對快閃存儲器180第一列至第N列進行讀取或者寫入,并且根據(jù)所讀取的第一壞列數(shù)據(jù)及/或第二壞列數(shù)據(jù),在讀取或者寫入的過程中跳過第一列至第N列中相應于第一壞列數(shù)據(jù)的至少一條列。詳細而言,控制器160被設置為根據(jù)一讀取命令或者一寫入命令,判斷即將進行存取的芯片,接著再讀取壞列表182中相應于即將進行存取的芯片的壞列數(shù)據(jù)。值得注意的是,控制器160是根據(jù)所讀取的第一壞列數(shù)據(jù)中的第一數(shù)據(jù)所相應的起始地址定位至一地址以及根據(jù)第一壞列數(shù)據(jù)中的第二數(shù)據(jù)所相應的列數(shù)量決定要從所定位的該地址開始跳過幾條列,并且根據(jù)第二壞列數(shù)據(jù)中的第三數(shù)據(jù)所相應的地址定位至一地址,以跳 該地址所相應的列,但本發(fā)明不限于此。流程結束于步驟S204。
如上所述,本發(fā)明所提供的數(shù)據(jù)儲存裝置140以及數(shù)據(jù)存取方法可根據(jù)壞列數(shù)據(jù)跳過快閃存儲器180中的壞列,其中第一壞列數(shù)據(jù)更可以僅借由兩個數(shù)據(jù)記錄連續(xù)的壞列,以節(jié)省存儲器空間與控制器160資源。
本發(fā)明的方法,或特定型態(tài)或其部分,可以以程序碼的型態(tài)存在。程序碼可儲存于實體媒體,如軟盤、光盤片、硬盤、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限于外在形式的電腦程序產品,其中,當程序碼被機器,如電腦載入且執(zhí)行時,此機器變成用以參與本發(fā)明的裝置。程序碼也可通過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態(tài)進行傳送,其中,當程序碼被機器,如電腦接收、載入且執(zhí)行時,此機器變成用以參與本發(fā)明的裝置。當在一般用途處理單元實作時,程序碼結合處理單元提供一操作類似于應用特定邏輯電路的獨特裝置。
惟以上所述者,僅為本發(fā)明的較佳實施例而已,當不能以此限定本發(fā)明實施的范圍,即大凡依本發(fā)明權利要求及發(fā)明說明內容所作的簡單的等效變化與修飾,皆仍屬本發(fā)明專利涵蓋的范圍內。另外本發(fā)明的任一實施例或權利要求不須達成本發(fā)明所揭露的全部目的或優(yōu)點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,并非用來限制本發(fā)明的權利范圍。