讀取閃存中區(qū)塊的數(shù)據(jù)的方法及相關(guān)的記憶裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種記憶裝置、記憶裝置的控制器和讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法,其中該區(qū)塊包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼的多個(gè)區(qū)段,該校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,該方法包含有:讀取該多個(gè)數(shù)據(jù)頁(yè)中一特定數(shù)據(jù)頁(yè)的數(shù)據(jù);對(duì)該特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼;以及當(dāng)該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。本發(fā)明的方法可以讓數(shù)據(jù)有更高的機(jī)率完成更正及譯碼操作。
【專利說(shuō)明】讀取閃存中區(qū)塊的數(shù)據(jù)的方法及相關(guān)的記憶裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及閃存(Flash Memory),尤指一種讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法及相關(guān)的記憶裝置。
【背景技術(shù)】
[0002]閃存可通過(guò)電子式的抹除(erase)與寫(xiě)入/程序化(piOgram)以進(jìn)行數(shù)據(jù)儲(chǔ)存,并且廣泛地應(yīng)用于記憶卡(memory card)、固態(tài)硬盤(pán)(solid-state drive)與可攜式多媒體播放器等等。由于閃存為非揮發(fā)性(non-volatile)記憶體,因此,不需要額外電力來(lái)維持閃存所儲(chǔ)存的信息,此外,閃存可提供快速的數(shù)據(jù)讀取與較佳的抗震能力,而這些特性也說(shuō)明了閃存為何會(huì)如此普及的原因。
[0003]閃存可區(qū)分為NOR型閃存與NAND型閃存。對(duì)于NAND型閃存來(lái)說(shuō),其具有較短的抹除及寫(xiě)入時(shí)間且每一記憶體單元需要較少的芯片面積,因而相較于NOR型閃存,NAND型閃存會(huì)允許較高的儲(chǔ)存密度以及較低的每一儲(chǔ)存比特的成本。一般來(lái)說(shuō),閃存以記憶體單元數(shù)組的方式來(lái)儲(chǔ)存數(shù)據(jù),而記憶體單元是由一浮動(dòng)閘極晶體管(floating-gatetransistor)來(lái)加以實(shí)作,且每一記憶體單元可通過(guò)適當(dāng)?shù)乜刂聘?dòng)閘極晶體管的浮動(dòng)閘極上的電荷個(gè)數(shù)來(lái)設(shè)定導(dǎo)通該浮動(dòng)閘極晶體管所實(shí)作的該記憶體單元的所需臨界電壓,進(jìn)而儲(chǔ)存單一個(gè)比特的信息或者一個(gè)比特以上的信息,如此一來(lái),當(dāng)一或多個(gè)預(yù)定控制閘極電壓施加于浮動(dòng)閘極晶體管的控制閘極之上,則浮動(dòng)閘極晶體管的導(dǎo)通狀態(tài)便會(huì)指示出浮動(dòng)閘極晶體管中所儲(chǔ)存的一或多個(gè)二進(jìn)制數(shù)(binary digit)。
[0004]然而,由于某些因素,閃存單元中原本儲(chǔ)存的電荷的個(gè)數(shù)可能會(huì)受到影響/擾亂,舉例來(lái)說(shuō),閃存中所存在的干擾可能來(lái)自于寫(xiě)入干擾(write/program disturbance)、讀取干擾(read disturbance)及/或保持干擾(retention disturbance)。以具有各自儲(chǔ)存一個(gè)比特以上的信息的記憶體單元的NAND型閃存為例,一個(gè)物理記憶體分頁(yè)(physicalpage)會(huì)包含多個(gè)邏輯記憶體分頁(yè)(logical page),且每一邏輯記憶體分頁(yè)采用一或多個(gè)控制閘極電壓來(lái)進(jìn)行讀取。舉例來(lái)說(shuō),對(duì)于一個(gè)用以儲(chǔ)存3個(gè)比特的信息的閃存單元來(lái)說(shuō),該閃存單元會(huì)具有分別對(duì)應(yīng)不同電荷個(gè)數(shù)(亦即不同臨界電壓)的8種狀態(tài)(亦即電荷位準(zhǔn))的其中之一,然而,由于寫(xiě)入/抹除次數(shù)(program/erase count, P/E count)及/或數(shù)據(jù)保留時(shí)間(retention time)的緣故,閃存單元中的記憶體單元的臨界電壓分布(threshold voltage distribution)便會(huì)有所改變,因此,使用原本的控制閘極電壓設(shè)定(亦即臨界電壓設(shè)定)來(lái)讀取記憶體單元中所儲(chǔ)存的信息可能會(huì)因?yàn)楦淖兒蟮呐R界變壓分布而無(wú)法正確地獲得所儲(chǔ)存的信息。
[0005]上述有關(guān)于閃存單元中的記憶體單元的臨界電壓分布改變或偏移通常會(huì)造成數(shù)據(jù)讀取上的錯(cuò)誤,而此一問(wèn)題可以通過(guò)使用錯(cuò)誤更正碼(Error Correction Code, ECC)來(lái)獲得改善。然而,當(dāng)閃存單元重復(fù)寫(xiě)入讀取多次時(shí),閃存單元中噪聲發(fā)生的情況便不再是高斯噪聲分布,而是發(fā)生較強(qiáng)噪聲(亦即,記憶體單元的臨界電壓分布改變或偏移較大)的機(jī)率會(huì)高過(guò)于發(fā)生較低噪聲(亦即,記憶體單元的臨界電壓分布改變或偏移較小)的機(jī)率,因此,由于閃存單元在重復(fù)寫(xiě)入讀取多次時(shí)會(huì)很容易有較強(qiáng)噪聲的產(chǎn)生,故也會(huì)需要較多比特的錯(cuò)誤更正碼來(lái)更正錯(cuò)誤數(shù)據(jù),因而造成了閃存容量的浪費(fèi)。
【發(fā)明內(nèi)容】
[0006]因此,本發(fā)明的目的之一在于提出一種讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法與相關(guān)的記憶裝置,其中該閃存中的數(shù)據(jù)是經(jīng)由一種特殊編碼方法所產(chǎn)生,以解決現(xiàn)有技術(shù)的問(wèn)題。
[0007]依據(jù)本發(fā)明一實(shí)施例,公開(kāi)一種讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法,其中該區(qū)塊包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有多個(gè)區(qū)段,該多個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段是用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼,而該至少一校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,且該列校驗(yàn)碼是依據(jù)該多個(gè)數(shù)據(jù)頁(yè)中每一個(gè)數(shù)據(jù)頁(yè)的一區(qū)段的內(nèi)容所產(chǎn)生,該方法包含有:讀取該多個(gè)數(shù)據(jù)頁(yè)中一特定數(shù)據(jù)頁(yè)的數(shù)據(jù);對(duì)該特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼;以及當(dāng)該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
[0008]依據(jù)本發(fā)明另一實(shí)施例,一種記憶裝置包含有一閃存以及一控制器,其中該閃存包含多個(gè)區(qū)塊,該多個(gè)區(qū)塊中任一區(qū)塊所包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有多個(gè)區(qū)段,該多個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段是用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼,而該至少一校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,且該列校驗(yàn)碼是依據(jù)該多個(gè)數(shù)據(jù)頁(yè)中每一個(gè)數(shù)據(jù)頁(yè)的一區(qū)段的內(nèi)容所產(chǎn)生;該控制器,用來(lái)讀取該多個(gè)數(shù)據(jù)頁(yè)中一特定數(shù)據(jù)頁(yè)的數(shù)據(jù),對(duì)該特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼,以及當(dāng)該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),該控制器循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
[0009]依據(jù)本發(fā)明另一實(shí)施例,揭露一種記憶裝置的控制器,該控制器是用來(lái)存取一閃存,其中該閃存包含多個(gè)區(qū)塊,該多個(gè)區(qū)塊中任一區(qū)塊所包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有多個(gè)區(qū)段,該多個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段是用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼,而該至少一校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,且該列校驗(yàn)碼是依據(jù)該多個(gè)數(shù)據(jù)頁(yè)中每一個(gè)數(shù)據(jù)頁(yè)的一區(qū)段的內(nèi)容所產(chǎn)生;該控制器包含有一只讀存儲(chǔ)器、一微處理器以及一錯(cuò)誤更正碼單元。該只讀存儲(chǔ)器用來(lái)儲(chǔ)存一程序代碼;該微處理器用來(lái)執(zhí)行該程序代碼以控制對(duì)該閃存的存取以及管理該多個(gè)區(qū)塊;其中當(dāng)該錯(cuò)誤更正碼單元對(duì)一特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼,且該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),該錯(cuò)誤更正碼單元循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
【專利附圖】
【附圖說(shuō)明】
[0010]圖1為依據(jù)本發(fā)明一實(shí)施例的一種記憶裝置的示意圖。
[0011]圖2為圖1所示的閃存的一區(qū)塊的示意圖。[0012]圖3為產(chǎn)生圖2所示的列校驗(yàn)碼CP_D01與CP_D02的示意圖。
[0013]圖4A與4B為依據(jù)本發(fā)明一實(shí)施例的讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法的流程圖。
[0014]其中,附圖標(biāo)記說(shuō)明如下:
[0015]100 記憶裝置
[0016]110 記憶體控制器
[0017]112 微處理器
[0018]112C程序代碼
[0019]112M只讀存儲(chǔ)器
[0020]114 控制邏輯
[0021]116 緩沖存儲(chǔ)器
[0022]118 接 口邏輯
[0023]120 閃存
[0024]130 錯(cuò)誤更正碼單元
[0025]132 第一編碼器
[0026]134 第二編碼器
[0027]136 第一譯碼器
[0028]13 第二譯碼器
【具體實(shí)施方式】
[0029]請(qǐng)參考圖1,圖1為依據(jù)本發(fā)明一實(shí)施例的一種記憶裝置100的示意圖,其中本實(shí)施例的記憶裝置100尤其為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標(biāo)準(zhǔn)的記憶卡)。記憶裝置100包含有一閃存(Flash Memory) 120以及一控制器,該控制器可為一記憶體控制器110,且用來(lái)存取閃存120。依據(jù)本實(shí)施例,記憶體控制器110包含一微處理器112、一只讀存儲(chǔ)器(Read Only Memory, ROM) 112M、一控制邏輯114、一緩沖存儲(chǔ)器116、與一接口邏輯118。只讀存儲(chǔ)器是用來(lái)儲(chǔ)存一程序代碼112C,而微處理器112則用來(lái)執(zhí)行程序代碼112C以控制對(duì)閃存120的存取(Access)。此外,控制邏輯114包含有一錯(cuò)誤更正碼(ErrorCorrecting Code, ECC)單元130,且錯(cuò)誤更正碼單元130包含有一第一編碼器132、一第二編碼器134、一第一譯碼器136以及一第二譯碼器138,其中第一編碼器132、第二編碼器134、第一譯碼器136以及第二譯碼器138中有部分的電路可以是共有的,亦或是彼此之間為獨(dú)立的電路。
[0030]在典型狀況下,閃存120包含多個(gè)區(qū)塊(Block),而該控制器(例如:通過(guò)微處理器112執(zhí)行程序代碼112C的記憶體控制器110)對(duì)閃存120進(jìn)行復(fù)制、抹除、合并數(shù)據(jù)等運(yùn)作。其中以區(qū)塊為單位來(lái)進(jìn)行抹除。另外,一區(qū)塊可記錄特定數(shù)量的數(shù)據(jù)頁(yè)(Page),其中該控制器(例如:通過(guò)微處理器112執(zhí)行程序代碼112C的記憶體控制器110)對(duì)閃存120進(jìn)行寫(xiě)入數(shù)據(jù)的運(yùn)作是以數(shù)據(jù)頁(yè)為單位來(lái)進(jìn)行寫(xiě)入。
[0031]實(shí)作上,通過(guò)微處理器112執(zhí)行程序代碼112C的記憶體控制器110可利用其本身內(nèi)部的組件來(lái)進(jìn)行諸多控制運(yùn)作,例如:利用控制邏輯114來(lái)控制閃存120的存取運(yùn)作(尤其是對(duì)至少一區(qū)塊或至少一數(shù)據(jù)頁(yè)的存取運(yùn)作)、利用緩沖存儲(chǔ)器116進(jìn)行所需的緩沖處理、以及利用接口邏輯118來(lái)與一主裝置(Host Device)溝通。
[0032]請(qǐng)參考圖2,圖2為閃存120的一區(qū)塊200的示意圖,于圖2中,區(qū)塊200包含有192個(gè)數(shù)據(jù)頁(yè)P(yáng)O~P191,其中數(shù)據(jù)頁(yè)P(yáng)O~P189是用來(lái)作為儲(chǔ)存數(shù)據(jù)及其行校驗(yàn)碼(rowparity)之用,而數(shù)據(jù)頁(yè)P(yáng)190、P191則是作為校驗(yàn)頁(yè),用來(lái)儲(chǔ)存數(shù)據(jù)頁(yè)P(yáng)O~P189的列校驗(yàn)碼(column parity)。詳細(xì)來(lái)說(shuō),當(dāng)記憶體控制器110需要將數(shù)據(jù)寫(xiě)入至閃存120的一區(qū)塊200時(shí),記憶體控制器110中的第一編碼器132會(huì)使用一第一編碼方式來(lái)將數(shù)據(jù)逐頁(yè)寫(xiě)入至區(qū)塊200中的數(shù)據(jù)頁(yè)P(yáng)O~P189中,而該第一編碼方式可以為一低密度校驗(yàn)碼(Low DensityParity Check, LDPC)編碼方式,或是任何其它適合的編碼方式,亦即,記憶體控制器110使用該第一編碼方式來(lái)將欲寫(xiě)入的數(shù)據(jù)進(jìn)行編碼以產(chǎn)生數(shù)據(jù)及其行校驗(yàn)碼(DataOJ)與RPOJK…、Data0_n與RP0_n、…、Datal89_n與RP189_n),并將其逐頁(yè)寫(xiě)入至數(shù)據(jù)頁(yè)P(yáng)O~P189中,其中一組數(shù)據(jù)及其行校驗(yàn)碼(例如Data0_0與RP0_0)構(gòu)成一個(gè)碼字(codeword),亦即作為數(shù)據(jù)頁(yè)中的一個(gè)區(qū)段(sector)。
[0033]等到數(shù)據(jù)頁(yè)P(yáng)O~P189全部寫(xiě)入完成后,記憶體控制器110中的第二編碼器134會(huì)使用一第二編碼方式來(lái)產(chǎn)生數(shù)據(jù)頁(yè)P(yáng)O~P189的列校驗(yàn)碼,并將所產(chǎn)生的列校驗(yàn)碼寫(xiě)入至校驗(yàn)頁(yè)P(yáng)190、P191中,其中該第二編碼方式可以為一波西-曹杜立-霍權(quán)漢(Bose-Chaudhur1-Hocquenghem, BCH)編碼方式,或是任何其它適合的編碼方式。詳細(xì)來(lái)說(shuō),請(qǐng)參考圖3,圖3為產(chǎn)生圖2所示的列校驗(yàn)碼CP_D01與CP_D02的示意圖。如圖3所示,第二編碼器134是以比特為列編碼單位,先將數(shù)據(jù)頁(yè)P(yáng)O~P189的第一個(gè)比特b0_0~bl89_0進(jìn)行編碼以產(chǎn)生列校驗(yàn)碼CP_D01與CP_D02中的兩個(gè)比特bl90_0與bl91_0,接著,將數(shù)據(jù)頁(yè)P(yáng)O~P189的第二個(gè)比特b0_l~bl89_l進(jìn)行編碼以產(chǎn)生列校驗(yàn)碼CP_D01與CP_D02中的兩個(gè)比特bl90_l與bl91_l,接著再將數(shù)據(jù)頁(yè)P(yáng)O~P189的第三個(gè)比特b0_2~bl89_2進(jìn)行編碼以產(chǎn)生列校驗(yàn)碼CP_D01與CP_D02中的兩個(gè)比特bl90_2與bl91_2,…以此類推,記憶體控制器110便可產(chǎn)生列 校驗(yàn)碼CP_D01 (bl90_0、bl90_l、…)與CP_D02 (bl91_0、bl91_l、...),并將其寫(xiě)入至校驗(yàn)頁(yè)P(yáng)190、P191中。
[0034]需注意的是,雖然圖3所示的編碼方式是以“比特”為編碼單位,然而,此并非作為本發(fā)明的限制。于本發(fā)明的其它實(shí)施例中,編碼方式亦可以使用“字節(jié)(byte ) ”或是其它的比特?cái)?shù)量為編碼單位,以使用“字節(jié)”為編碼單位來(lái)舉例說(shuō)明,記憶體控制器110將數(shù)據(jù)頁(yè)P(yáng)O~P189的第一個(gè)字節(jié)進(jìn)行編碼以產(chǎn)生列校驗(yàn)碼CP_D01與CP_D02中的兩個(gè)字節(jié),接著將數(shù)據(jù)頁(yè)P(yáng)O~P189的第二個(gè)字節(jié)進(jìn)行編碼以產(chǎn)生列校驗(yàn)碼CP_D01與CP_D02中的另兩個(gè)字節(jié)、…以此類推。這些設(shè)計(jì)上的改變均應(yīng)隸屬于本發(fā)明的范疇。
[0035]此外,需注意的是上述第2、3圖僅為一范例說(shuō)明,而并非作為本發(fā)明的限制,在本發(fā)明的其它實(shí)施例中,區(qū)塊200所包含的數(shù)據(jù)頁(yè)與校驗(yàn)頁(yè)的數(shù)量可以改變,校驗(yàn)頁(yè)的位置也可有所改變,舉例來(lái)說(shuō),區(qū)塊200中的數(shù)據(jù)頁(yè)P(yáng)95與P191可以被用來(lái)作為校驗(yàn)頁(yè),且校驗(yàn)頁(yè)P(yáng)95用來(lái)儲(chǔ)存數(shù)據(jù)頁(yè)P(yáng)O~P94的列校驗(yàn)碼,而校驗(yàn)頁(yè)P(yáng)191用來(lái)儲(chǔ)存數(shù)據(jù)頁(yè)P(yáng)96~P190的列校驗(yàn)碼。這些設(shè)計(jì)上的變化均應(yīng)隸屬于本發(fā)明的范疇。
[0036]接著,請(qǐng)參考圖4A與4B,圖4A與4B為依據(jù)本發(fā)明一實(shí)施例讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法的流程圖。在以下的說(shuō)明中,是以圖2所示的區(qū)塊200為例,且以數(shù)據(jù)頁(yè)P(yáng)2作為記憶體控制器110所欲讀取的數(shù)據(jù)頁(yè)。參考第I~4圖,流程敘述如下:
[0037]在步驟400中,流程開(kāi)始。在步驟402,記憶體控制器110依據(jù)一指令來(lái)讀取區(qū)塊200中一特定數(shù)據(jù)頁(yè)的數(shù)據(jù),亦即讀取數(shù)據(jù)頁(yè)P(yáng)2中的數(shù)據(jù)。在本實(shí)施例中,記憶體控制器110所讀取的數(shù)據(jù)頁(yè)P(yáng)2的數(shù)據(jù)為軟信息(soft information),舉例來(lái)說(shuō),針對(duì)數(shù)據(jù)頁(yè)P(yáng)2的第一個(gè)比特b2_0,記憶體控制器110會(huì)讀取相對(duì)應(yīng)的記憶體單元多次(例如7次)以產(chǎn)生一比特序列,而此比特序列則用來(lái)作為數(shù)據(jù)頁(yè)P(yáng)2的第一個(gè)比特b2_0的軟信息,其包含了比特值的可靠度信息(亦即,該比特序列是用來(lái)表示為邏輯“I”的可能性以及為邏輯“O”的可能性)。舉例來(lái)說(shuō),假設(shè)第一個(gè)比特b2_0的軟信息為“1111111”,則表示第一個(gè)比特b2_0有最高的可能性是邏輯“I”;假設(shè)第一個(gè)比特b2_0的軟信息為“0000000”,則表示第一個(gè)比特b2_0有最高的可能性是邏輯“0”,請(qǐng)注意到,可靠度信息的意義不以此為限。由于“軟信息”的意義與其表示方式應(yīng)為本領(lǐng)域中具有通常知識(shí)者所熟知,故在此不再贅述 。
[0038]接著,在步驟404,第一譯碼器136對(duì)所讀出的數(shù)據(jù)頁(yè)P(yáng)2的數(shù)據(jù)進(jìn)行譯碼。于本實(shí)施例中,第一譯碼器136是對(duì)所讀出的數(shù)據(jù)頁(yè)P(yáng)2的數(shù)據(jù)進(jìn)行LDPC譯碼,亦即使用每一個(gè)區(qū)段中的數(shù)據(jù)與其行校驗(yàn)碼(例如Data2_0與RP2_0)來(lái)譯碼出正確的數(shù)據(jù)(亦即,數(shù)據(jù)Data2_0中的錯(cuò)誤可以依據(jù)行校驗(yàn)碼RP2_0來(lái)進(jìn)行更正)。若是第一譯碼器136譯碼成功,表示數(shù)據(jù)頁(yè)P(yáng)2中的所有區(qū)段中數(shù)據(jù)的錯(cuò)誤均可以被更正,因此第一譯碼器136便會(huì)產(chǎn)生譯碼后數(shù)據(jù)至緩沖存儲(chǔ)器116以進(jìn)行后續(xù)處理,而流程則進(jìn)入406以結(jié)束流程;若是第一譯碼器136譯碼失敗,則表示數(shù)據(jù)頁(yè)P(yáng)2中至少有一個(gè)區(qū)段中的數(shù)據(jù)可能錯(cuò)誤的比特?cái)?shù)過(guò)多,而無(wú)法依據(jù)其行校驗(yàn)碼來(lái)進(jìn)行更正,此時(shí)流程進(jìn)入步驟408。
[0039]在步驟408中,記憶體控制器110循序讀取區(qū)塊200中的所有數(shù)據(jù)頁(yè)P(yáng)O~P191,且第一譯碼器136循序?qū)?shù)據(jù)頁(yè)P(yáng)O~P189中的數(shù)據(jù)進(jìn)行LDPC譯碼。
[0040]在步驟410中,針對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189中的每一個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段,若是譯碼成功,則流程進(jìn)入步驟412以將譯碼后的數(shù)據(jù)儲(chǔ)存至緩沖存儲(chǔ)器116中;若是譯碼失敗,則流程進(jìn)入步驟414,記憶體控制器110重新讀取譯碼失敗的區(qū)段的原始數(shù)據(jù),并將此原始數(shù)據(jù)(軟信息)與區(qū)段位置儲(chǔ)存至緩沖存儲(chǔ)器116中的一錯(cuò)誤記錄表格中。舉例來(lái)說(shuō),假設(shè)數(shù)據(jù)頁(yè)P(yáng)O與數(shù)據(jù)頁(yè)P(yáng)2的第一個(gè)區(qū)段發(fā)生了譯碼失敗的情形,則此時(shí)記憶體控制器會(huì)重新讀取數(shù)據(jù)頁(yè)P(yáng)O與P2第一個(gè)區(qū)段的原始數(shù)據(jù)(亦即圖2所示的DataOJK RPOJK Data2_0與RP2_0),并將此原始數(shù)據(jù)儲(chǔ)存于緩沖存儲(chǔ)器116中,且在緩沖存儲(chǔ)器116的該錯(cuò)誤記錄表格中記錄數(shù)據(jù)頁(yè)P(yáng)O與P2第一個(gè)區(qū)段有譯碼錯(cuò)誤的情形。
[0041]接著,在步驟416中,第二譯碼器138對(duì)緩沖存儲(chǔ)器116中所儲(chǔ)存的數(shù)據(jù)頁(yè)P(yáng)O~P189中每一個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段的譯碼后數(shù)據(jù)(于步驟412產(chǎn)生)或是原始數(shù)據(jù)(于步驟414產(chǎn)生)以及校驗(yàn)頁(yè)P(yáng)190與P191中的列校驗(yàn)碼來(lái)進(jìn)行譯碼(于本實(shí)施例中,是使用BCH譯碼方式)。詳細(xì)來(lái)說(shuō),參考圖3,假設(shè)參考錯(cuò)誤記錄表格后,發(fā)現(xiàn)區(qū)塊200中只有數(shù)據(jù)頁(yè)P(yáng)O與P2的第一個(gè)區(qū)段無(wú)法使用第一譯碼器136來(lái)譯碼成功,則此時(shí)第二譯碼器138首先會(huì)對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189與校驗(yàn)頁(yè)P(yáng)190~P191中的第一個(gè)比特(亦即b0_0、bl_0、b2_0、…、bl91_0)進(jìn)行譯碼,并產(chǎn)生一譯碼結(jié)果,其中該譯碼結(jié)果是用來(lái)指出數(shù)據(jù)頁(yè)P(yáng)O~P189中的第一個(gè)比特是否有錯(cuò)誤發(fā)生。接著,判斷該譯碼結(jié)果是否指出有錯(cuò)誤比特發(fā)生(步驟418),若是該譯碼結(jié)果指出沒(méi)有錯(cuò)誤比特發(fā)生,則流程進(jìn)入步驟420以將數(shù)據(jù)頁(yè)P(yáng)O與P2中的第一個(gè)比特b0_0與b2_0的原始數(shù)據(jù)(儲(chǔ)存于緩沖存儲(chǔ)器116)的可靠度信息設(shè)為最高等級(jí)(亦即b0_0與b2_0有很強(qiáng)的可能性是邏輯“I”或“0”,例如將第一個(gè)比特b0_0與b2_0的原始數(shù)據(jù)均設(shè)為“ 1111111”或是“0000000 ”);若是該譯碼結(jié)果指出數(shù)據(jù)頁(yè)P(yáng)O或P2中有錯(cuò)誤比特發(fā)生,則流程進(jìn)入步驟422以判斷數(shù)據(jù)頁(yè)P(yáng)O或P2中的第一個(gè)比特b0_0或b2_0的原始數(shù)據(jù)是否可以修正,若是可以修正,則流程進(jìn)入步驟424以更正數(shù)據(jù)頁(yè)P(yáng)O或P2中的第一個(gè)比特b0_0與b2_0的原始數(shù)據(jù)的錯(cuò)誤,并將其可靠度信息設(shè)為最高等級(jí);若是不可以修正,則流程進(jìn)入步驟426以維持?jǐn)?shù)據(jù)頁(yè)P(yáng)O或P2中的第一個(gè)比特b0_0與b2_0的原始數(shù)據(jù)。
[0042]同理,針對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189與校驗(yàn)頁(yè)P(yáng)190~P191中的第二個(gè)比特(亦即b0_l、bl_l、b2_l、…、bl91_l),第二譯碼器138會(huì)對(duì)這些第二個(gè)比特進(jìn)行譯碼以產(chǎn)生一譯碼結(jié)果,之后在經(jīng)由步驟418~426來(lái)決定是否將數(shù)據(jù)頁(yè)P(yáng)O與P2中的第二個(gè)比特b0_l與b2_l的原始數(shù)據(jù)進(jìn)行修正或維持原有的值。以此類推,第二譯碼器138持續(xù)對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189與校驗(yàn)頁(yè)P(yáng)190~P191中的數(shù)據(jù)進(jìn)行譯碼,等到完成數(shù)據(jù)頁(yè)P(yáng)O~P189與校驗(yàn)頁(yè)P(yáng)190~P191中最后一個(gè)比特的譯碼之后,緩沖存儲(chǔ)器116中所儲(chǔ)存的數(shù)據(jù)頁(yè)P(yáng)O與P2中的第一個(gè)區(qū)段數(shù)據(jù)已得到需要的修正,此時(shí),第一譯碼器136可再次對(duì)緩沖存儲(chǔ)器116中所儲(chǔ)存的數(shù)據(jù)頁(yè)P(yáng)O與P2中的第一個(gè)區(qū)段數(shù)據(jù)來(lái)進(jìn)行LDPC譯碼,以得到譯碼后的數(shù)據(jù)。請(qǐng)注意到,類似于編碼時(shí)可用比特、字節(jié)或以其它比特?cái)?shù)目進(jìn)行編碼,譯碼時(shí)亦可用比特、字節(jié)或其它比特?cái)?shù)目進(jìn)行譯碼,上述的實(shí)施例以單一比特進(jìn)行譯碼,熟悉此項(xiàng)技藝者在本發(fā)明的教導(dǎo)之下當(dāng)?shù)美闷渌忍財(cái)?shù)目進(jìn)行譯碼,此亦為本發(fā)明的范疇。
[0043]此外,上述圖4A與4B的流程僅為一范例說(shuō)明,而并非作為本發(fā)明的限制。在本發(fā)明的一實(shí)施例中,記憶體控制器110可以將區(qū)塊200中所有數(shù)據(jù)頁(yè)P(yáng)O~P189的數(shù)據(jù)均進(jìn)行LDPC譯碼,并將所有譯碼失敗的區(qū)段均儲(chǔ)存在緩沖存儲(chǔ)器116中,此外,記憶體控制器110使用校驗(yàn)頁(yè)P(yáng)190~P191中的所有列較驗(yàn)碼來(lái)對(duì)區(qū)塊200中所有的數(shù)據(jù)進(jìn)行BCH譯碼,以將儲(chǔ)存緩沖存儲(chǔ)器116中的所有譯碼失敗區(qū)段的原始數(shù)據(jù)進(jìn)行更正;另外,在本發(fā)明的一實(shí)施例中,記憶體控制器110可以僅針對(duì)需要譯碼的特定區(qū)段的相對(duì)應(yīng)區(qū)段進(jìn)行LDPC譯碼即可,亦即假設(shè)使用者只需要 數(shù)據(jù)頁(yè)P(yáng)2第一個(gè)區(qū)段的數(shù)據(jù),且此區(qū)段無(wú)法被LDPC譯碼,則記憶體控制器110可以僅對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189中的第一個(gè)區(qū)段的數(shù)據(jù)進(jìn)行LDPC譯碼,并將譯碼失敗的區(qū)段儲(chǔ)存在緩沖存儲(chǔ)器116中,之后再用使用校驗(yàn)頁(yè)P(yáng)190~P191中第一個(gè)區(qū)段的列較驗(yàn)碼來(lái)對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189中的第一個(gè)區(qū)段的數(shù)據(jù)進(jìn)行BCH譯碼。上述設(shè)計(jì)上的變化均應(yīng)隸屬于本發(fā)明的范疇。
[0044]此外,在本發(fā)明的另一實(shí)施例中,上述使用第一譯碼器136與第二譯碼器138來(lái)進(jìn)行譯碼的過(guò)程可以多次重復(fù)操作(iteration),亦即第一譯碼器136對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189的第一個(gè)區(qū)段進(jìn)行LDPC譯碼,之后第二譯碼器138使用校驗(yàn)頁(yè)P(yáng)190~P191對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189進(jìn)行BCH譯碼以更正部分的錯(cuò)誤,之后第一譯碼器136再對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189的第一個(gè)區(qū)段進(jìn)行LDPC譯碼以產(chǎn)生更多的譯碼后數(shù)據(jù),接著第二譯碼器138再使用校驗(yàn)頁(yè)P(yáng)190~P191對(duì)數(shù)據(jù)頁(yè)P(yáng)O~P189進(jìn)行BCH譯碼以更正其余的錯(cuò)誤…以此類推。如此一來(lái),便可以使得比特錯(cuò)誤較多的區(qū)段可以有更高的機(jī)率被更正回來(lái)。
[0045]簡(jiǎn)要?dú)w納本發(fā)明,本發(fā)明的閃存區(qū)塊中有部分的數(shù)據(jù)頁(yè)是用來(lái)作為儲(chǔ)存列校驗(yàn)碼的校驗(yàn)頁(yè),且當(dāng)所欲讀取的一特定數(shù)據(jù)頁(yè)中的數(shù)據(jù)無(wú)法依據(jù)行校驗(yàn)碼來(lái)完成譯碼/更正時(shí),記憶體控制器會(huì)循序讀取其它數(shù)據(jù)頁(yè)以及校驗(yàn)頁(yè)的內(nèi)容,并使用列校驗(yàn)碼來(lái)更正該特定數(shù)據(jù)頁(yè)的部分內(nèi)容,以使得該特定數(shù)據(jù)頁(yè)后續(xù)可以有更高的機(jī)率來(lái)完成譯碼。
[0046]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種讀取一閃存中一區(qū)塊的數(shù)據(jù)的方法,其特征在于,該區(qū)塊包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有多個(gè)區(qū)段,該多個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段是用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼,而該至少一校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,且該列校驗(yàn)碼是依據(jù)該多個(gè)數(shù)據(jù)頁(yè)中每一個(gè)數(shù)據(jù)頁(yè)的一區(qū)段的內(nèi)容所產(chǎn)生,該方法包含有:讀取該多個(gè)數(shù)據(jù)頁(yè)中一特定數(shù)據(jù)頁(yè)的數(shù)據(jù); 對(duì)該特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼;以及 當(dāng)該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
2.如權(quán)利要求1所述的方法,其特征在于,還包括: 于該特定區(qū)段進(jìn) 行錯(cuò)誤更正之后,對(duì)該特定區(qū)段的更正后數(shù)據(jù)進(jìn)行譯碼。
3.如權(quán)利要求1所述的方法,其特征在于,循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正的步驟包含有: 對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼,其中若是區(qū)段譯碼成功,則產(chǎn)生相對(duì)應(yīng)的譯碼后數(shù)據(jù); 將譯碼失敗的該特定區(qū)段及其原始數(shù)據(jù)內(nèi)容紀(jì)錄于一儲(chǔ)存單元中; 對(duì)該多個(gè)區(qū)段的該譯碼后數(shù)據(jù)或是該原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的一列校驗(yàn)碼進(jìn)行譯碼,以產(chǎn)生一譯碼結(jié)果;以及 使用該譯碼結(jié)果以對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
4.如權(quán)利要求3所述的方法,其特征在于,該儲(chǔ)存單元中所儲(chǔ)存的該特定區(qū)段的該原始數(shù)據(jù)內(nèi)容為一軟信息,該軟信息包含有該原始數(shù)據(jù)內(nèi)容的比特值可靠度信息,且使用該譯碼結(jié)果以對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正的步驟包含有: 當(dāng)該譯碼結(jié)果指出該特定區(qū)段的一特定比特沒(méi)有錯(cuò)誤時(shí),將該特定比特所對(duì)應(yīng)的比特值可靠度信息設(shè)為最高等級(jí)。
5.如權(quán)利要求3所述的方法,其特征在于,該儲(chǔ)存單元中所儲(chǔ)存的該特定區(qū)段的該原始數(shù)據(jù)內(nèi)容為一軟信息,該軟信息包含有該原始數(shù)據(jù)內(nèi)容的比特值可靠度信息,且使用該譯碼結(jié)果以對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正的步驟包含有: 當(dāng)該譯碼結(jié)果指出該特定區(qū)段的一特定比特具有錯(cuò)誤,且該特定比特的錯(cuò)誤可以更正時(shí),更正該特定比特的數(shù)值,并將所對(duì)應(yīng)的比特值可靠度信息設(shè)為最高等級(jí)。
6.如權(quán)利要求3所述的方法,其特征在于,對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼的步驟包含有: 使用一第一譯碼方式來(lái)對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼;以及 對(duì)該多個(gè)區(qū)段的譯碼后數(shù)據(jù)或是原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該列校驗(yàn)碼進(jìn)行譯碼的步驟包含有: 使用異于該第一譯碼方式的一第二譯碼方式來(lái)對(duì)該多個(gè)區(qū)段的譯碼后數(shù)據(jù)或是原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該列校驗(yàn)碼進(jìn)行譯碼。
7.如權(quán)利要求6所述的方法,其特征在于,該第一譯碼方式為一軟譯碼方式,而該第二譯碼方式為一硬譯碼方式。
8.如權(quán)利要求6所述的方法,其特征在于,該第一譯碼方式為一低密度校驗(yàn)碼譯碼方式,而該第二譯碼方式為一波西-曹杜立-霍權(quán)漢譯碼方式。
9.一種記憶裝置,其特征在于包含有: 一閃存,其中該閃存包含多個(gè)區(qū)塊,該多個(gè)區(qū)塊中任一區(qū)塊所包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有多個(gè)區(qū)段,該多個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段是用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼,而該至少一校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,且該列校驗(yàn)碼是依據(jù)該多個(gè)數(shù)據(jù)頁(yè)中每一個(gè)數(shù)據(jù)頁(yè)的一區(qū)段的內(nèi)容所產(chǎn)生;以及 一控制器,用來(lái)讀取該多個(gè)數(shù)據(jù)頁(yè)中一特定數(shù)據(jù)頁(yè)的數(shù)據(jù),對(duì)該特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼,以及當(dāng)該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),該控制器循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
10.如權(quán)利要求9所述的記憶裝置,其特征在于,于該特定區(qū)段進(jìn)行錯(cuò)誤更正之后,該控制器對(duì)該特定區(qū)段的更正后數(shù)據(jù)進(jìn)行譯碼。
11.如權(quán)利要求9所述的記憶裝置,其特征在于,該控制器對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼,其中若是區(qū)段譯碼成功,則產(chǎn)生相對(duì)應(yīng)的譯碼后數(shù)據(jù);該控制器將譯碼失敗的該特 定區(qū)段及其原始數(shù) 據(jù)內(nèi)容紀(jì)錄于一儲(chǔ)存單元中;該控制器對(duì)該多個(gè)區(qū)段的該譯碼后數(shù)據(jù)或是該原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的一列校驗(yàn)碼進(jìn)行譯碼,以產(chǎn)生一譯碼結(jié)果;以及該控制器使用該譯碼結(jié)果以對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
12.如權(quán)利要求11所述的記憶裝置,其特征在于,該儲(chǔ)存單元中所儲(chǔ)存的該特定區(qū)段的該原始數(shù)據(jù)內(nèi)容為一軟信息,該軟信息包含有該原始數(shù)據(jù)內(nèi)容的比特值可靠度信息,且當(dāng)該譯碼結(jié)果指出該特定區(qū)段的一特定比特沒(méi)有錯(cuò)誤時(shí),該控制器將該特定比特所對(duì)應(yīng)的可罪度設(shè)為最聞等級(jí)。
13.如權(quán)利要求11所述的記憶裝置,其特征在于,該儲(chǔ)存單元中所儲(chǔ)存的該特定區(qū)段的該原始數(shù)據(jù)內(nèi)容為一軟信息,該軟信息包含有該原始數(shù)據(jù)內(nèi)容的比特值可靠度信息,且當(dāng)該譯碼結(jié)果指出該特定區(qū)段的一特定比特具有錯(cuò)誤,且該特定比特的錯(cuò)誤可以更正時(shí),該控制器更正該特定比特的數(shù)值,并將所對(duì)應(yīng)的可靠度設(shè)為最高等級(jí)。
14.如權(quán)利要求11所述的記憶裝置,其特征在于,該控制器使用一第一譯碼方式來(lái)對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼;以及該控制器使用異于該第一譯碼方式的一第二譯碼方式來(lái)對(duì)該多個(gè)區(qū)段的譯碼后數(shù)據(jù)或是原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該列校驗(yàn)碼進(jìn)行譯碼。
15.如權(quán)利要求14所述的記憶裝置,其特征在于,該第一譯碼方式為一軟譯碼方式,而該第二譯碼方式為一硬譯碼方式。
16.如權(quán)利要求14所述的記憶裝置,其特征在于,該第一譯碼方式為一低密度校驗(yàn)碼譯碼方式,而該第二譯碼方式為一波西-曹杜立-霍權(quán)漢譯碼方式。
17.—種記憶裝置的控制器,其特征在于,該控制器是用來(lái)存取一閃存,其中該閃存包含多個(gè)區(qū)塊,該多個(gè)區(qū)塊中任一區(qū)塊所包含有多個(gè)數(shù)據(jù)頁(yè)以及至少一校驗(yàn)頁(yè),每一個(gè)數(shù)據(jù)頁(yè)包含有多個(gè)區(qū)段,該多個(gè)數(shù)據(jù)頁(yè)的每一個(gè)區(qū)段是用來(lái)儲(chǔ)存數(shù)據(jù)及其相關(guān)的行校驗(yàn)碼,而該至少一校驗(yàn)頁(yè)的每一個(gè)區(qū)段則分別用來(lái)儲(chǔ)存一列校驗(yàn)碼,且該列校驗(yàn)碼是依據(jù)該多個(gè)數(shù)據(jù)頁(yè)中每一個(gè)數(shù)據(jù)頁(yè)的一區(qū)段的內(nèi)容所產(chǎn)生;該控制器包含有: 一只讀存儲(chǔ)器,用來(lái)儲(chǔ)存一程序代碼; 一微處理器,用來(lái)執(zhí)行該程序代碼以控制對(duì)該閃存的存取以及管理該多個(gè)區(qū)塊;以及 一錯(cuò)誤更正碼單元; 其中當(dāng)該錯(cuò)誤更正碼單元對(duì)一特定數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行譯碼,且該特定數(shù)據(jù)頁(yè)中有一特定區(qū)段譯碼失敗時(shí),該錯(cuò)誤更正碼單元循序讀取該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中所有數(shù)據(jù)頁(yè)的原始數(shù)據(jù)內(nèi)容,并依據(jù)該多個(gè)數(shù)據(jù)頁(yè)以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的多個(gè)區(qū)段中的部分?jǐn)?shù)據(jù)來(lái)對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
18.如權(quán)利要求17所述的控制器,其特征在于,于該特定區(qū)段進(jìn)行錯(cuò)誤更正之后,該錯(cuò)誤更正碼單元對(duì)該特定區(qū)段的更正后數(shù)據(jù)進(jìn)行譯碼。
19.如權(quán)利要求17所述的控制器,其特征在于,該錯(cuò)誤更正碼單元對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼,其中若是區(qū)段譯碼成功,則產(chǎn)生相對(duì)應(yīng)的譯碼后數(shù)據(jù);該錯(cuò)誤更正碼單元將譯碼失敗的該特定區(qū)段及其原始數(shù)據(jù)內(nèi)容紀(jì)錄于一儲(chǔ)存單元中;該錯(cuò)誤更正碼單元對(duì)該多個(gè)區(qū)段的該譯碼后數(shù)據(jù)或是該原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的一列校驗(yàn)碼進(jìn)行譯碼,以產(chǎn)生一譯碼結(jié)果;以及該錯(cuò)誤更正碼單元使用該譯碼結(jié)果以對(duì)該特定區(qū)段進(jìn)行錯(cuò)誤更正。
20.如權(quán)利要求19所述的控制器,其特征在于,該儲(chǔ)存單元中所儲(chǔ)存的該特定區(qū)段的該原始數(shù)據(jù)內(nèi)容為一軟信息,該軟信息包含有該原始數(shù)據(jù)內(nèi)容的比特值可靠度信息,且當(dāng)該譯碼結(jié)果指出該特定區(qū)段的 一特定比特沒(méi)有錯(cuò)誤時(shí),該錯(cuò)誤更正碼單元將該特定比特所對(duì)應(yīng)的可罪度設(shè)為最聞等級(jí)。
21.如權(quán)利要求19所述的控制器,其特征在于,該儲(chǔ)存單元中所儲(chǔ)存的該特定區(qū)段的該原始數(shù)據(jù)內(nèi)容為一軟信息,該軟信息包含有該原始數(shù)據(jù)內(nèi)容的比特值可靠度信息,且當(dāng)該譯碼結(jié)果指出該特定區(qū)段的一特定比特具有錯(cuò)誤,且該特定比特的錯(cuò)誤可以更正時(shí),該錯(cuò)誤更正碼單元更正該特定比特的數(shù)值,并將所對(duì)應(yīng)的可靠度設(shè)為最高等級(jí)。
22.如權(quán)利要求19所述的控制器,其特征在于,該錯(cuò)誤更正碼單元包含一第一譯碼器以及一第二譯碼器,該第一譯碼器使用一第一譯碼方式來(lái)對(duì)該多個(gè)數(shù)據(jù)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該多個(gè)區(qū)段進(jìn)行譯碼;以及該第二譯碼器使用異于該第一譯碼方式的一第二譯碼方式來(lái)對(duì)該多個(gè)區(qū)段的譯碼后數(shù)據(jù)或是原始數(shù)據(jù)內(nèi)容,以及該至少一校驗(yàn)頁(yè)中對(duì)應(yīng)于該特定區(qū)段的該列校驗(yàn)碼進(jìn)行譯碼。
23.如權(quán)利要求22所述的控制器,其特征在于,該第一譯碼方式為一軟譯碼方式,而該第二譯碼方式為一硬譯碼方式。
24.如權(quán)利要求22所述的控制器,其特征在于,該第一譯碼方式為一低密度校驗(yàn)碼譯碼方式,而該第二譯碼方式為一波西-曹杜立-霍權(quán)漢譯碼方式。
【文檔編號(hào)】G06F11/08GK103544073SQ201310298245
【公開(kāi)日】2014年1月29日 申請(qǐng)日期:2013年7月16日 優(yōu)先權(quán)日:2012年7月17日
【發(fā)明者】楊宗杰, 劉振宇 申請(qǐng)人:慧榮科技股份有限公司