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

快閃存儲(chǔ)器控制器、其糾錯(cuò)碼控制器及其方法和系統(tǒng)的制作方法

文檔序號(hào):6757697閱讀:124來源:國(guó)知局
專利名稱:快閃存儲(chǔ)器控制器、其糾錯(cuò)碼控制器及其方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及快閃存儲(chǔ)器。
背景技術(shù)
由于功能持續(xù)的進(jìn)步,快閃存儲(chǔ)器已在各種應(yīng)用中(例如便攜式裝置)成為傳統(tǒng) 馬達(dá)驅(qū)動(dòng)磁盤外的另一種選擇。由于快閃存儲(chǔ)器沒有機(jī)械構(gòu)件,相比于馬達(dá)驅(qū)動(dòng)磁盤,快閃 存儲(chǔ)器具有抗震動(dòng)、低功率消耗及高速等優(yōu)點(diǎn)。然而,快閃存儲(chǔ)器仍存在某些限制,其中之 一便是快閃存儲(chǔ)器內(nèi)的每一讀寫單需在寫入前消除數(shù)據(jù)。另一限制是快閃存儲(chǔ)器內(nèi)的每一 讀寫單元都具有消除寫入的次數(shù)限制,超過該次數(shù)限制可能會(huì)造成損壞的位擴(kuò)散至整個(gè)快
閃存儲(chǔ)器。 傳統(tǒng)上,快閃存儲(chǔ)器可應(yīng)用糾錯(cuò)碼、平均讀寫算法(wear leveling algorithm)或 是損壞區(qū)塊管理(bad blockmanagement)等技術(shù)以減少因上述限制所造成的效能降低,并 延長(zhǎng)快閃存儲(chǔ)器的生命周期。為應(yīng)用糾錯(cuò)碼、平均讀寫算法或是損壞區(qū)塊管理等技術(shù),每一 快閃頁(快閃存儲(chǔ)器中最小的讀寫單元)都包含數(shù)據(jù)區(qū)間和備用區(qū)間,其中該數(shù)據(jù)區(qū)間儲(chǔ) 存使用者的數(shù)據(jù),而備用區(qū)間儲(chǔ)存管理數(shù)據(jù),包含糾錯(cuò)碼、平均讀寫算法或是損壞區(qū)塊管理 等技術(shù)所需的數(shù)據(jù)。 然而,快閃存儲(chǔ)器必須一次消除快閃區(qū)塊的數(shù)據(jù),而每一快閃區(qū)塊包含32個(gè)或更 多的快閃頁。因此,若快閃頁的損壞位超過其所能糾正的能力,損壞區(qū)塊管理技術(shù)會(huì)將整個(gè) 快閃區(qū)塊標(biāo)示為損壞快閃區(qū)塊。 一旦被標(biāo)示為損壞快閃區(qū)塊,所有位于該損壞快閃區(qū)塊內(nèi) 的快閃頁將無法被存取。若該損壞快閃區(qū)塊內(nèi)的其他快閃頁仍具有糾錯(cuò)能力的話,如此的 標(biāo)示將造成一種資源浪費(fèi)。 美國(guó)專利公開號(hào)US 2008/0168319揭示一種系統(tǒng)和方法。如圖l所示,糾錯(cuò)碼控 制器100,其編碼及解碼快閃存儲(chǔ)器1000的數(shù)據(jù),包含糾錯(cuò)碼編碼器102和糾錯(cuò)碼解碼器 104。該糾錯(cuò)碼編碼器102包含第一編碼器106和第二編碼器108。該糾錯(cuò)碼解碼器104 包含第一解碼器110、第二解碼器114和解碼控制器112。該第一編碼器106和該第一解碼 器110所組成的編解碼器具有高編解碼速度以及低糾錯(cuò)能力,而該第二編碼器108和該第 二解碼器114所組成的編解碼器具有低編解碼速度以及高糾錯(cuò)能力。針對(duì)每一寫入數(shù)據(jù), 該第一編碼器106都產(chǎn)生第一糾錯(cuò)碼數(shù)據(jù),而第二編碼器108也產(chǎn)生第二糾錯(cuò)碼數(shù)據(jù),其 中該第二糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度大于該第一糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度。針對(duì)每一讀取數(shù)據(jù),該第一解 碼器110都解碼第一糾錯(cuò)碼碼字,其中該第一糾錯(cuò)碼碼字由第一糾錯(cuò)碼數(shù)據(jù)和該讀取數(shù)據(jù) 合并而成。若該第一糾錯(cuò)碼碼字的錯(cuò)誤超過該第一解碼器110的糾正能力,該第二解碼器 114便解碼第二糾錯(cuò)碼碼字,其中該第二糾錯(cuò)碼碼字由第二糾錯(cuò)碼數(shù)據(jù)和該讀取數(shù)據(jù)合并 而成。該糾錯(cuò)碼控制器100即據(jù)此達(dá)成處理速度和糾錯(cuò)能力間的折中。
在美國(guó)專利公開號(hào)US 2008/0168319所揭示的系統(tǒng)和方法中,每一儲(chǔ)存于該快閃 存儲(chǔ)器1000的數(shù)據(jù)都需兩個(gè)用以儲(chǔ)存糾錯(cuò)碼數(shù)據(jù)的空間而限制了可供利用的存儲(chǔ)器空 間。該糾錯(cuò)碼控制器100僅包含兩個(gè)編解碼器而固定了其糾錯(cuò)能力。該糾錯(cuò)碼控制器IOO也可包含三個(gè)以上的編解碼器以加強(qiáng)其糾錯(cuò)能力。然而,由于每一數(shù)據(jù)所需的糾錯(cuò)碼數(shù)據(jù) 的儲(chǔ)存空間增加,此舉更進(jìn)一步的限制了可供利用的存儲(chǔ)器空間。 有鑒于以上的敘述,有必要設(shè)計(jì)一種裝置和方法以增加快閃存儲(chǔ)器的生命周期, 而其所需的存儲(chǔ)器空間遠(yuǎn)小于已有技術(shù)所需的存儲(chǔ)器空間。

發(fā)明內(nèi)容
本發(fā)明的部分實(shí)施例提供了動(dòng)態(tài)分配每一個(gè)快閃頁的備用區(qū)間的方法。換言之, 每一儲(chǔ)存于快閃存儲(chǔ)器內(nèi)的快閃區(qū)塊的信息數(shù)據(jù)都可擁有不同長(zhǎng)度的糾錯(cuò)碼數(shù)據(jù),故使得 根據(jù)每一快閃頁的特性,其都擁有不同的糾錯(cuò)能力。所述不同的糾錯(cuò)能力延長(zhǎng)了快閃存儲(chǔ) 器的生命周期。本發(fā)明的部分實(shí)施例提供了編碼/解碼方法使得每一信息數(shù)據(jù)僅擁有一個(gè) 糾錯(cuò)碼數(shù)據(jù)。 本發(fā)明的快閃存儲(chǔ)器控制器的實(shí)施例包含快閃存儲(chǔ)器接口控制器、主機(jī)接口控制 器、糾錯(cuò)碼編碼器、糾錯(cuò)碼分割器、糾錯(cuò)碼構(gòu)造器和糾錯(cuò)碼解碼器。該糾錯(cuò)碼編碼器接收來 自該主機(jī)接口控制器的欲存至快閃存儲(chǔ)器的信息數(shù)據(jù),并根據(jù)該信息數(shù)據(jù)產(chǎn)生不同長(zhǎng)度的 第一糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼分割器根據(jù)每一第一糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度將每一第一糾錯(cuò)碼數(shù)據(jù) 分割成一個(gè)或多個(gè)糾錯(cuò)碼片段,并發(fā)送至該快閃存儲(chǔ)器接口控制器。該糾錯(cuò)碼構(gòu)造器針對(duì) 每一從該快閃存儲(chǔ)器讀取的信息數(shù)據(jù)從該快閃存儲(chǔ)器接口控制器接收一個(gè)或多個(gè)糾錯(cuò)碼 片段,并合并所述糾錯(cuò)碼片段以產(chǎn)生第二糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼解碼器根據(jù)該從該快閃存 儲(chǔ)器讀取的信息數(shù)據(jù)及該第二糾錯(cuò)碼數(shù)據(jù)糾正該信息數(shù)據(jù)的錯(cuò)誤,并發(fā)送糾正后的信息數(shù) 據(jù)至該主機(jī)接口控制器。 本發(fā)明的應(yīng)用于快閃存儲(chǔ)器的糾錯(cuò)碼控制器的實(shí)施例包含糾錯(cuò)碼編碼器、糾錯(cuò)碼
分割器、糾錯(cuò)碼構(gòu)造器和糾錯(cuò)碼解碼器。該糾錯(cuò)碼編碼器根據(jù)欲儲(chǔ)存于快閃存儲(chǔ)器的信息
數(shù)據(jù)產(chǎn)生不同長(zhǎng)度的第一糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼分割器根據(jù)每一第一糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度將
每一第一糾錯(cuò)碼數(shù)據(jù)分割成一個(gè)或多個(gè)糾錯(cuò)碼片段。該糾錯(cuò)碼構(gòu)造器針對(duì)每一從該快閃存
儲(chǔ)器讀取的信息數(shù)據(jù)合并一個(gè)或多個(gè)所述糾錯(cuò)碼片段以產(chǎn)生第二糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼解
碼器利用該糾錯(cuò)碼構(gòu)造器產(chǎn)生的該第二糾錯(cuò)碼數(shù)據(jù)糾正該信息數(shù)據(jù)的錯(cuò)誤。 本發(fā)明的快閃存儲(chǔ)器系統(tǒng)的實(shí)施例包含快閃存儲(chǔ)器和根據(jù)上述實(shí)施例的快閃存
儲(chǔ)器控制器。 本發(fā)明的將儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)編碼成糾錯(cuò)碼數(shù)據(jù)的方法的實(shí)施例包 含產(chǎn)生相應(yīng)于欲儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的糾錯(cuò)碼數(shù)據(jù);將該糾錯(cuò)碼數(shù)據(jù)分割成多 個(gè)糾錯(cuò)碼片段;儲(chǔ)存該信息數(shù)據(jù)至該快閃存儲(chǔ)器的快閃區(qū)塊的一個(gè)快閃頁;以及儲(chǔ)存所述 糾錯(cuò)碼片段至該快閃存儲(chǔ)器的該快閃區(qū)塊的多個(gè)快閃頁。 本發(fā)明的糾正儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的錯(cuò)誤的方法的實(shí)施例包含讀取儲(chǔ) 存于快閃存儲(chǔ)器的信息數(shù)據(jù);將儲(chǔ)存于該快閃存儲(chǔ)器且相應(yīng)于該信息數(shù)據(jù)的一個(gè)或多個(gè)糾 錯(cuò)碼片段合并成為糾錯(cuò)碼數(shù)據(jù);以及通過解碼該信息數(shù)據(jù)和該糾錯(cuò)碼數(shù)據(jù)所形成的糾錯(cuò)碼 碼字糾正該信息數(shù)據(jù)的錯(cuò)誤。


圖1顯示美國(guó)專利公開號(hào)US 2008/0168319所公開的糾錯(cuò)碼控制器;
圖2顯示根據(jù)本發(fā)明的實(shí)施例的快閃存儲(chǔ)器系統(tǒng)的示意圖;
圖3顯示根據(jù)本發(fā)明的實(shí)施例的快閃頁的示意圖;
圖4顯示根據(jù)本發(fā)明的實(shí)施例的快閃區(qū)塊的示意圖; 圖5顯示根據(jù)本發(fā)明的實(shí)施例的將儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)編碼成糾錯(cuò)碼 數(shù)據(jù)的方法的流程圖; 圖6顯示根據(jù)本發(fā)明的實(shí)施例的將儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)編碼成糾錯(cuò)碼 數(shù)據(jù)的方法的部分流程圖; 圖7顯示根據(jù)本發(fā)明的實(shí)施例的糾正儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的錯(cuò)誤的方 法的流程圖;以及 圖8顯示根據(jù)本發(fā)明的實(shí)施例的糾正儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的錯(cuò)誤的方
法的部分流程圖。主要元件符號(hào)說明
100糾錯(cuò)碼控制器102糾錯(cuò)碼編碼器104糾錯(cuò)碼解碼器106第一編碼器108第二編碼器110第一解碼器112解碼控制器114第二解碼器1000快閃存儲(chǔ)器200快閃存儲(chǔ)器系統(tǒng)202快閃存儲(chǔ)器控制器204糾錯(cuò)碼控制器206主機(jī)接口控制器208快閃存儲(chǔ)器接口控制器210糾錯(cuò)碼編碼器212糾錯(cuò)碼分割器214糾錯(cuò)碼構(gòu)造器216糾錯(cuò)碼解碼器2000主機(jī)端300快閃頁310數(shù)據(jù)區(qū)間320備用區(qū)間330糾錯(cuò)碼部分340指針字段400快閃區(qū)塊Al A3他、、f501 505步驟
601 -- 605步驟701 -- 703步驟801 -一 807步驟
具體實(shí)施例方式
為了能徹底地了解本發(fā)明,將在下列的描述中提出詳盡的說明,并請(qǐng)參見附圖。顯 然地,本發(fā)明的施行并未限定于本領(lǐng)域技術(shù)人員所熟習(xí)的特殊細(xì)節(jié)。另一方面,眾所周知步 驟并未描述于細(xì)節(jié)中,以避免造成本發(fā)明不必要的限制。本發(fā)明的多個(gè)實(shí)施例會(huì)詳細(xì)描述 如下,然而除了這些詳細(xì)描述的外,本發(fā)明還可以廣泛地施行在其他的實(shí)施例中,且本發(fā)明 的范圍不受限定,其以之后的權(quán)利要求范圍為準(zhǔn)。 圖2顯示根據(jù)本發(fā)明的實(shí)施例的快閃存儲(chǔ)器系統(tǒng)的示意圖。該快閃存儲(chǔ)器系統(tǒng) 200包含快閃存儲(chǔ)器控制器202和快閃存儲(chǔ)器1000。該快閃存儲(chǔ)器控制器202包含糾錯(cuò)碼 控制器204、主機(jī)接口控制器206和快閃存儲(chǔ)器接口控制器208。該主機(jī)接口控制器206經(jīng) 由主機(jī)接口和主機(jī)端2000傳遞數(shù)據(jù)。該快閃存儲(chǔ)器接口控制器208經(jīng)由快閃存儲(chǔ)器接口 和該快閃存儲(chǔ)器1000傳遞數(shù)據(jù)。該糾錯(cuò)碼控制器204包含糾錯(cuò)碼編碼器210、糾錯(cuò)碼分割 器212、糾錯(cuò)碼構(gòu)造器214和糾錯(cuò)碼解碼器216。該糾錯(cuò)碼編碼器210用以根據(jù)欲儲(chǔ)存于該 快閃存儲(chǔ)器1000的信息數(shù)據(jù)產(chǎn)生不同長(zhǎng)度的第一糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼分割器212用以 根據(jù)每一該糾錯(cuò)碼編碼器210所產(chǎn)生的糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度,將所述糾錯(cuò)碼數(shù)據(jù)分割成一個(gè) 或多個(gè)糾錯(cuò)碼片段。該糾錯(cuò)碼構(gòu)造器214針對(duì)每一從該快閃存儲(chǔ)器1000讀取的信息數(shù)據(jù) 合并一個(gè)或多個(gè)所述糾錯(cuò)碼片段以產(chǎn)生第二糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼解碼器利用該糾錯(cuò)碼構(gòu) 造器214產(chǎn)生的該糾錯(cuò)碼數(shù)據(jù)糾正從該快閃存儲(chǔ)器1000讀取的該信息數(shù)據(jù)的錯(cuò)誤。
圖3顯示根據(jù)本發(fā)明的實(shí)施例的快閃頁的示意圖。該快閃頁300包含數(shù)據(jù)區(qū)間 310和備用區(qū)間320,其中該數(shù)據(jù)區(qū)間310用以儲(chǔ)存使用者數(shù)據(jù),而該備用區(qū)間320用以儲(chǔ) 存管理數(shù)據(jù)。在本發(fā)明的部分實(shí)施例中,每一備用區(qū)間320都包含兩個(gè)糾錯(cuò)碼部分330。在 本發(fā)明的部分實(shí)施例中,在快閃頁300的糾錯(cuò)碼部分330儲(chǔ)存的每一糾錯(cuò)碼片段屬于不同 的糾錯(cuò)碼數(shù)據(jù)。 參圖2和圖3,在本發(fā)明的部分實(shí)施例中,在進(jìn)行寫入操作時(shí),該快閃存儲(chǔ)器接口 控制器208存取該快閃存儲(chǔ)器1000,并根據(jù)信息數(shù)據(jù)所在的數(shù)據(jù)區(qū)間310決定相應(yīng)于該數(shù) 據(jù)區(qū)間310的糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度。該糾錯(cuò)碼編碼器210即根據(jù)該長(zhǎng)度及欲存于該數(shù)據(jù)區(qū)間 310的信息數(shù)據(jù)產(chǎn)生第一糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼分割器212將該糾錯(cuò)碼數(shù)據(jù)分割成一個(gè)或 多個(gè)糾錯(cuò)碼片段。該快閃存儲(chǔ)器接口控制器208接著存取該快閃存儲(chǔ)器1000以儲(chǔ)存該信 息數(shù)據(jù)和所述糾錯(cuò)碼片段至該數(shù)據(jù)區(qū)間310和多個(gè)備用區(qū)間320。在本發(fā)明的部分實(shí)施例 中,第一個(gè)糾錯(cuò)碼片段和該信息數(shù)據(jù)存于同一快閃頁300。 圖4顯示根據(jù)本發(fā)明的實(shí)施例的快閃區(qū)塊的示意圖。該快閃區(qū)塊400包含多個(gè)如 圖3所示的快閃頁300。在本發(fā)明的部分實(shí)施例中,每一糾錯(cuò)碼部分330都包含指針字段 340,其中該指針字段340內(nèi)的指針指向儲(chǔ)存下一個(gè)糾錯(cuò)碼片段的糾錯(cuò)碼部分330。例如,在 本發(fā)明的部分實(shí)施例中,若糾錯(cuò)碼數(shù)據(jù)分成三個(gè)糾錯(cuò)碼片段,則第一個(gè)糾錯(cuò)碼片段儲(chǔ)存于 快閃頁300的第一糾錯(cuò)碼部分330,其中該快閃頁300即儲(chǔ)存對(duì)應(yīng)該糾錯(cuò)碼數(shù)據(jù)的信息數(shù) 據(jù)。如箭頭Al所示,該指針字段340內(nèi)的指針指向另一快閃頁300,而該快閃頁300即儲(chǔ)存第二個(gè)糾錯(cuò)碼片段。如箭頭A2所示,該第二個(gè)糾錯(cuò)碼部分330的指針字段340內(nèi)的指針指 向另一個(gè)快閃頁300,而該快閃頁300即儲(chǔ)存第三個(gè)糾錯(cuò)碼片段。如箭頭A3所示,該第三 個(gè)糾錯(cuò)碼部分330的指針字段340內(nèi)的指針指向自己或儲(chǔ)存空字符,以表示該糾錯(cuò)碼部分 330儲(chǔ)存該糾錯(cuò)碼數(shù)據(jù)的最后一個(gè)糾錯(cuò)碼片段。 參圖2和圖4,在本發(fā)明的部分實(shí)施例中,在進(jìn)行寫入操作時(shí),糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度 由所述糾錯(cuò)碼部分330的連線關(guān)系所決定,其中所述糾錯(cuò)碼部分330即儲(chǔ)存相應(yīng)于該糾錯(cuò) 碼數(shù)據(jù)的糾錯(cuò)碼片段,而該連線關(guān)系則由所述指針字段340決定。 參圖2和圖3,在本發(fā)明的部分實(shí)施例中,在進(jìn)行讀取操作時(shí),該快閃存儲(chǔ)器接口 控制器208存取該快閃存儲(chǔ)器1000,并從快閃頁300的數(shù)據(jù)區(qū)間310讀取信息數(shù)據(jù),其中儲(chǔ) 存于所述糾錯(cuò)碼部分330的一個(gè)或多個(gè)糾錯(cuò)碼片段也一起被讀取,而所述糾錯(cuò)碼部分330 的位置則由所述指針字段340表示。該糾錯(cuò)碼構(gòu)造器214即通過合并所述糾錯(cuò)碼片段構(gòu)造 第二糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼解碼器216接著通過解碼由合并該糾錯(cuò)碼數(shù)據(jù)和該信息數(shù)據(jù)所 形成的糾錯(cuò)碼碼字以糾正該糾錯(cuò)碼碼字的錯(cuò)誤。在本發(fā)明的部分實(shí)施例中,若所述錯(cuò)誤數(shù) 量超過臨界值,則提高該儲(chǔ)存該信息數(shù)據(jù)的快閃頁300的糾錯(cuò)能力。換言之,通過鏈接該快 閃頁300的最后一個(gè)糾錯(cuò)碼部分330至另一可用的糾錯(cuò)碼部分330,以增長(zhǎng)下一個(gè)欲存至該 快閃頁300的信息數(shù)據(jù)的糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度。 在本發(fā)明的部分實(shí)施例中,該快閃存儲(chǔ)器控制器202另于該快閃存儲(chǔ)器1000的每 一快閃區(qū)塊400中儲(chǔ)存位圖,以表示該快閃區(qū)塊400中每一糾錯(cuò)碼部分330的可用性。當(dāng) 欲提高該儲(chǔ)存該信息數(shù)據(jù)的快閃頁300的糾錯(cuò)能力時(shí),即根據(jù)該位圖尋找可用的糾錯(cuò)碼部 分。 圖5顯示根據(jù)本發(fā)明的實(shí)施例的將儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)編碼成糾錯(cuò)碼 數(shù)據(jù)的方法的流程圖,其可參考圖2的快閃存儲(chǔ)器系統(tǒng)200。在步驟501,確定相應(yīng)于欲儲(chǔ)存 于該快閃存儲(chǔ)器1000的信息數(shù)據(jù)的第一糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度,并執(zhí)行步驟502。在步驟502, 產(chǎn)生該第一糾錯(cuò)碼數(shù)據(jù),并執(zhí)行步驟503。在步驟503,分割該第一糾錯(cuò)碼數(shù)據(jù)成多個(gè)糾錯(cuò) 碼片段,并執(zhí)行步驟504。在步驟504,儲(chǔ)存該信息數(shù)據(jù)至該快閃存儲(chǔ)器1000的快閃區(qū)塊 400的一個(gè)快閃頁300,并執(zhí)行步驟505。在步驟505,儲(chǔ)存所述糾錯(cuò)碼片段至該快閃存儲(chǔ)器 1000的該快閃區(qū)塊400的多個(gè)快閃頁300。 在本發(fā)明的部分實(shí)施例中,步驟501包含如圖6所示的子步驟。在步驟601,存取 欲儲(chǔ)存該信息數(shù)據(jù)的該快閃頁300的備用區(qū)間320,并執(zhí)行步驟602。在步驟602,檢查該備 用區(qū)間320的第一個(gè)糾錯(cuò)碼部分330的指針字段340。若該指針字段340儲(chǔ)存空字符,則執(zhí) 行步驟502,反之則執(zhí)行步驟603。在步驟603,存取該被檢查的指針字段340所指向鏈接的 糾錯(cuò)碼部分330,并執(zhí)行步驟604。檢查該所鏈接的糾錯(cuò)碼部分330的指針字段340。若該 指針字段340儲(chǔ)存空字符,則執(zhí)行步驟605,反之則執(zhí)行步驟603。在步驟605,根據(jù)存取的 糾錯(cuò)碼部分330的數(shù)量確定該信息數(shù)據(jù)相應(yīng)的糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度,并執(zhí)行步驟502。
圖7顯示根據(jù)本發(fā)明的實(shí)施例的糾正儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的錯(cuò)誤的方 法的流程圖,其可參考圖2的快閃存儲(chǔ)器系統(tǒng)200。在步驟701,讀取儲(chǔ)存于快閃存儲(chǔ)器系 統(tǒng)1000的信息數(shù)據(jù),并執(zhí)行步驟702。在步驟702,合并儲(chǔ)存于該快閃存儲(chǔ)器系統(tǒng)1000的 一個(gè)或多個(gè)糾錯(cuò)碼片段以形成相應(yīng)于該信息數(shù)據(jù)的第二糾錯(cuò)碼數(shù)據(jù),并執(zhí)行步驟703。在步 驟703,通過解碼由該第二糾錯(cuò)碼數(shù)據(jù)和該信息數(shù)據(jù)形成的糾錯(cuò)碼碼字糾正該信息數(shù)據(jù)的
8錯(cuò)誤。 在本發(fā)明的部分實(shí)施例中,步驟702包含如圖8所示的子步驟。在步驟801,存取 欲讀取該信息數(shù)據(jù)的該快閃頁300的備用區(qū)間320,并執(zhí)行步驟802。讀取儲(chǔ)存于該快閃 頁300的該備用區(qū)間320的第一個(gè)糾錯(cuò)碼部分330的糾錯(cuò)碼片段,并執(zhí)行步驟803。在步 驟803,檢查該備用區(qū)間320的第一個(gè)糾錯(cuò)碼部分330的指針字段340。若該指針字段340 儲(chǔ)存空字符,則執(zhí)行步驟703,反之則執(zhí)行步驟804。在步驟804,存取該被檢查的指針字段 340所指向鏈接的糾錯(cuò)碼部分330,并執(zhí)行步驟805。在步驟805,讀取儲(chǔ)存于該所鏈接的糾 錯(cuò)碼部分330的糾錯(cuò)碼片段,并執(zhí)行步驟806。在步驟806,檢查該所鏈接的糾錯(cuò)碼部分330 的指針字段340。若該指針字段340儲(chǔ)存空字符,則執(zhí)行步驟807,反之則執(zhí)行步驟804。在 步驟807,合并所有讀取的糾錯(cuò)碼片段以產(chǎn)生糾錯(cuò)碼數(shù)據(jù),并執(zhí)行步驟703。
在本發(fā)明的部分實(shí)施例中,除了第一個(gè)糾錯(cuò)碼部分330之外,每一個(gè)快閃頁300內(nèi) 的糾錯(cuò)碼部分330都由其他快閃頁300所指向鏈接,而該第一個(gè)糾錯(cuò)碼部分330則儲(chǔ)存其 所在快閃頁300的信息數(shù)據(jù)的第一個(gè)糾錯(cuò)碼片段。在本發(fā)明的部分實(shí)施例中,所有在同一 個(gè)快閃區(qū)塊400的糾錯(cuò)碼部分330所指向鏈接的快閃頁300都位于該同一個(gè)快閃區(qū)塊400。
在本發(fā)明的部分實(shí)施例中,每一個(gè)快閃頁300都包含兩個(gè)糾錯(cuò)碼部分330,其中第 一個(gè)糾錯(cuò)碼部分330用以儲(chǔ)存其所在快閃頁300的信息數(shù)據(jù)的第一個(gè)糾錯(cuò)碼片段,另一個(gè) 糾錯(cuò)碼部分330則由另一個(gè)快閃頁300的糾錯(cuò)碼部分330所指向鏈接。
在本發(fā)明的部分實(shí)施例中,在糾正完信息數(shù)據(jù)的所有錯(cuò)誤后,如步驟703所示,便 計(jì)算所述錯(cuò)誤的數(shù)量。如果該數(shù)量超過臨界值,則提高儲(chǔ)存該信息數(shù)據(jù)的快閃頁300的糾 錯(cuò)能力,其可通過將另一個(gè)糾錯(cuò)碼部分330鏈接至相應(yīng)于該信息數(shù)據(jù)的最后一個(gè)糾錯(cuò)碼部 分330,其中該最后一個(gè)糾錯(cuò)碼部分330原本用以儲(chǔ)存最后一個(gè)糾錯(cuò)碼片段。
綜上所述,對(duì)于容易發(fā)生損壞的快閃頁而言,本發(fā)明即通過增加其糾錯(cuò)碼數(shù)據(jù)的 長(zhǎng)度加強(qiáng)其糾錯(cuò)能力。由于每一個(gè)快閃頁的備用區(qū)間的空間有限,每一個(gè)編碼出的糾錯(cuò)碼 數(shù)據(jù)被加以分割以形成多個(gè)糾錯(cuò)碼片段,使其得以儲(chǔ)存至多個(gè)快閃頁的備用區(qū)間。如此,不 易發(fā)生損壞的快閃頁可將其部分備用區(qū)間分享給容易發(fā)生損壞的快閃頁。因此,即使在同 一個(gè)快閃區(qū)塊的快閃頁的損壞率都不變,其損壞率仍可通過本發(fā)明加以平衡而延后該快閃 區(qū)塊被標(biāo)示為損壞快閃區(qū)塊的時(shí)間。 對(duì)比于已有技術(shù),本發(fā)明的實(shí)施例提供了動(dòng)態(tài)分配每一個(gè)快閃頁的備用區(qū)間的方 法。換言之,當(dāng)有需要時(shí),每一個(gè)數(shù)據(jù)區(qū)間可由同一個(gè)快閃區(qū)塊內(nèi)的多個(gè)備用區(qū)間所保護(hù)。 對(duì)于容易發(fā)生損壞的快閃頁而言,其糾錯(cuò)能力也得以加強(qiáng)。因此,該快閃區(qū)塊被標(biāo)示為損壞 快閃區(qū)塊的時(shí)間得以延后,而該快閃存儲(chǔ)器的生命周期也得以延長(zhǎng)。此外,由于每一個(gè)信息 數(shù)據(jù)只對(duì)應(yīng)一個(gè)糾錯(cuò)碼數(shù)據(jù),故相比于已有技術(shù),本發(fā)明不需要浪費(fèi)額外的存儲(chǔ)器空間。
本發(fā)明的技術(shù)內(nèi)容及技術(shù)特點(diǎn)已揭示如上,然而本領(lǐng)域技術(shù)人員仍可能基于本發(fā) 明的指示及揭示而作各種不背離本發(fā)明實(shí)質(zhì)的替換及修飾。因此,本發(fā)明的保護(hù)范圍應(yīng)不
限于實(shí)施例所揭示的范圍,而應(yīng)包括各種不背離本發(fā)明的替換及修飾,并為權(quán)利要求所涵

權(quán)利要求
一種快閃存儲(chǔ)器控制器,包含快閃存儲(chǔ)器接口控制器;主機(jī)接口控制器;糾錯(cuò)碼編碼器,其接收來自該主機(jī)接口控制器的欲存至快閃存儲(chǔ)器的信息數(shù)據(jù),并根據(jù)該信息數(shù)據(jù)產(chǎn)生不同長(zhǎng)度的第一糾錯(cuò)碼數(shù)據(jù);糾錯(cuò)碼分割器,其根據(jù)每一第一糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度,將每一第一糾錯(cuò)碼數(shù)據(jù)分割成一個(gè)或多個(gè)糾錯(cuò)碼片段,并發(fā)送至該快閃存儲(chǔ)器接口控制器;糾錯(cuò)碼構(gòu)造器,其針對(duì)每一從該快閃存儲(chǔ)器讀取的信息數(shù)據(jù)從該快閃存儲(chǔ)器接口控制器接收一個(gè)或多個(gè)糾錯(cuò)碼片段,并合并所述糾錯(cuò)碼片段以產(chǎn)生第二糾錯(cuò)碼數(shù)據(jù);以及糾錯(cuò)碼解碼器,其根據(jù)該從該快閃存儲(chǔ)器讀取的信息數(shù)據(jù)及該第二糾錯(cuò)碼數(shù)據(jù)糾正該信息數(shù)據(jù)的錯(cuò)誤,并發(fā)送更正后的信息數(shù)據(jù)至該主機(jī)接口控制器。
2. 根據(jù)權(quán)利要求1所述的快閃存儲(chǔ)器控制器,其中每一信息數(shù)據(jù)儲(chǔ)存于該快閃存儲(chǔ)器 的快閃區(qū)塊的快閃頁的一數(shù)據(jù)區(qū)間,而所述糾錯(cuò)碼片段儲(chǔ)存于該快閃存儲(chǔ)器的快閃區(qū)塊的 快閃頁的多個(gè)備用區(qū)間。
3. 根據(jù)權(quán)利要求1或2所述的快閃存儲(chǔ)器控制器,其中該第一糾錯(cuò)碼數(shù)據(jù)和該第二糾 錯(cuò)碼數(shù)據(jù)的糾錯(cuò)碼片段儲(chǔ)存于儲(chǔ)存該信息數(shù)據(jù)的快閃頁。
4. 根據(jù)權(quán)利要求3所述的快閃存儲(chǔ)器控制器,其中該第一糾錯(cuò)碼數(shù)據(jù)的其他糾錯(cuò)碼片 段儲(chǔ)存于該快閃區(qū)塊的不同快閃頁。
5. 根據(jù)權(quán)利要求1或2所述的快閃存儲(chǔ)器控制器,其中該快閃存儲(chǔ)器的每一快閃頁儲(chǔ) 存超過一個(gè)的糾錯(cuò)碼片段。
6. 根據(jù)權(quán)利要求1或2所述的快閃存儲(chǔ)器控制器,其中該快閃存儲(chǔ)器接口控制器連同 所述糾錯(cuò)碼片段儲(chǔ)存指針至該快閃存儲(chǔ)器以表示下一個(gè)糾錯(cuò)碼片段的位置。
7. 根據(jù)權(quán)利要求1或2所述的快閃存儲(chǔ)器控制器,其中該快閃存儲(chǔ)器接口控制器儲(chǔ)存 位圖至該快閃存儲(chǔ)器以紀(jì)錄快閃區(qū)塊內(nèi)的快閃頁的備用區(qū)間的使用狀態(tài)。
8. 根據(jù)權(quán)力要求1或2的快閃存儲(chǔ)器控制器,其中當(dāng)該糾錯(cuò)碼解碼器所解碼的信息數(shù) 據(jù)的錯(cuò)誤數(shù)量超過臨界值,則延長(zhǎng)其相應(yīng)的第二糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度。
9. 一種將儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)編碼成糾錯(cuò)碼數(shù)據(jù)的方法,包含 產(chǎn)生相應(yīng)于欲儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的糾錯(cuò)碼數(shù)據(jù); 分割該糾錯(cuò)碼數(shù)據(jù)成多個(gè)糾錯(cuò)碼片段;儲(chǔ)存該信息數(shù)據(jù)至該快閃存儲(chǔ)器的快閃區(qū)塊的一個(gè)快閃頁;以及 儲(chǔ)存所述糾錯(cuò)碼片段至該快閃存儲(chǔ)器的該快閃區(qū)塊的多個(gè)快閃頁。
10. 根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包含存 取該信息數(shù)據(jù)所在快閃頁的糾錯(cuò)碼部分;若該存取的糾錯(cuò)碼部分并非該快閃頁的最后一個(gè)糾錯(cuò)碼部分,則存取該存取的糾錯(cuò)碼 部分所指向鏈接的糾錯(cuò)碼部分;以及若該存取的糾錯(cuò)碼部分為該快閃頁的最后一個(gè)糾錯(cuò)碼部分,則根據(jù)所存取的糾錯(cuò)碼部 分的數(shù)量決定該糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度。
11. 一種糾正儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)的錯(cuò)誤的方法,包含 讀取儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù);將儲(chǔ)存于該快閃存儲(chǔ)器且相應(yīng)于該信息數(shù)據(jù)的一個(gè)或多個(gè)糾錯(cuò)碼片段合并成為糾錯(cuò) 碼數(shù)據(jù);以及通過解碼該信息數(shù)據(jù)和該糾錯(cuò)碼數(shù)據(jù)所形成的糾錯(cuò)碼碼字糾正該信息數(shù)據(jù)的錯(cuò)誤。
12. 根據(jù)權(quán)利要求ll所述的方法,其進(jìn)一步包含 存取欲讀取該信息數(shù)據(jù)的快閃頁的第一個(gè)糾錯(cuò)碼部分;若該存取的糾錯(cuò)碼部分并非最后一個(gè)糾錯(cuò)碼部分,則存取該存取的糾錯(cuò)碼部分所指向 鏈接的糾錯(cuò)碼部分;以及若該存取的糾錯(cuò)碼部分為最后一個(gè)糾錯(cuò)碼部分,則合并儲(chǔ)存于所存取的糾錯(cuò)碼部分內(nèi) 的糾錯(cuò)碼片段;其中每一糾錯(cuò)碼部分儲(chǔ)存糾錯(cuò)碼片段。
13. 根據(jù)權(quán)利要求11或12所述的方法,其進(jìn)一步包 含若所糾正的錯(cuò)誤數(shù)量超過臨界值,則鏈接另一個(gè)糾錯(cuò)碼部分至最后一個(gè)糾錯(cuò)碼部分。
14. 根據(jù)權(quán)利要求11或12所述的方法,其進(jìn)一步包含更新位圖,其中該位圖記錄儲(chǔ)存該信息數(shù)據(jù)的快閃區(qū)塊內(nèi)的糾錯(cuò)碼部分的使用狀態(tài)。
全文摘要
本發(fā)明涉及一種快閃存儲(chǔ)器控制器、其糾錯(cuò)碼控制器及其方法和系統(tǒng),其中本發(fā)明的糾錯(cuò)碼控制器包含糾錯(cuò)碼編碼器、糾錯(cuò)碼分割器、糾錯(cuò)碼構(gòu)造器和糾錯(cuò)碼解碼器。該糾錯(cuò)碼編碼器根據(jù)欲儲(chǔ)存于快閃存儲(chǔ)器的信息數(shù)據(jù)產(chǎn)生不同長(zhǎng)度的第一糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼分割器根據(jù)每一第一糾錯(cuò)碼數(shù)據(jù)的長(zhǎng)度將每一第一糾錯(cuò)碼數(shù)據(jù)分割成一個(gè)或多個(gè)糾錯(cuò)碼片段。該糾錯(cuò)碼構(gòu)造器針對(duì)每一從該快閃存儲(chǔ)器讀取的信息數(shù)據(jù),合并一個(gè)或多個(gè)所述糾錯(cuò)碼片段以產(chǎn)生第二糾錯(cuò)碼數(shù)據(jù)。該糾錯(cuò)碼解碼器利用該糾錯(cuò)碼構(gòu)造器產(chǎn)生的該糾錯(cuò)碼數(shù)據(jù)糾正該信息數(shù)據(jù)的錯(cuò)誤。
文檔編號(hào)G11C29/42GK101763903SQ200910136250
公開日2010年6月30日 申請(qǐng)日期2009年5月4日 優(yōu)先權(quán)日2008年12月22日
發(fā)明者鐘勝民, 鐘逸呈 申請(qǐng)人:財(cái)團(tuán)法人工業(yè)技術(shù)研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1