本發(fā)明涉及一種固態(tài)存儲(chǔ)裝置及其控制方法,且特別涉及一種固態(tài)存儲(chǔ)裝置及其相關(guān)讀取控制方法。
背景技術(shù):
::眾所周知,固態(tài)存儲(chǔ)裝置(solidstatedevice)已經(jīng)非常廣泛的應(yīng)用于各種電子產(chǎn)品,例如SD卡、固態(tài)硬盤等等。一般來說,固態(tài)存儲(chǔ)裝置是由控制電路以及非易失性存儲(chǔ)器(non-volatilememory)組合而成。再者,非易失性存儲(chǔ)器是利用與非門快閃存儲(chǔ)器(NANDflashmemory)所組成。而根據(jù)每個(gè)晶胞(cell)所存儲(chǔ)的數(shù)據(jù)量,快閃存儲(chǔ)器可進(jìn)一步區(qū)分為每個(gè)晶胞存儲(chǔ)一位的單層晶胞(Single-LevelCell,簡稱SLC)快閃存儲(chǔ)器、每個(gè)晶胞存儲(chǔ)二位的多層晶胞(Multi-LevelCell,簡稱MLC)快閃存儲(chǔ)器與每個(gè)晶胞存儲(chǔ)三位的三層晶胞(Triple-LevelCell,簡稱TLC)快閃存儲(chǔ)器。請參照圖1,其所繪示為固態(tài)存儲(chǔ)裝置示意圖。固態(tài)存儲(chǔ)裝置10經(jīng)由一外部總線12連接至主機(jī)(host)14,其中外部總線12可為USB總線、SATA總線、PCIe總線等等。再者,固態(tài)存儲(chǔ)裝置10中包括一控制電路101與一非易失性存儲(chǔ)器105。其中,控制電路101經(jīng)由一內(nèi)部總線107連接至非易失性存儲(chǔ)器105,用以根據(jù)主機(jī)14所發(fā)出的命令將接收的寫入數(shù)據(jù)存入非易失性存儲(chǔ)器105,或者由非易失性存儲(chǔ)器105中取得讀取數(shù)據(jù)并傳遞至主機(jī)14。再者,控制電路101中還包括一錯(cuò)誤校正單元(簡稱ECC單元)104與一重試表(retrytable)106。錯(cuò)誤校正單元104可用來更正讀取數(shù)據(jù)中的錯(cuò)誤位(errorbits),并且在更正完成后將正確的讀取數(shù)據(jù)傳遞至主機(jī)14。另外,當(dāng)錯(cuò)誤校正單元104無法成功地校正所有的錯(cuò)誤位時(shí),則無法輸出讀取數(shù)據(jù)至主機(jī)14。此時(shí),重試表106將提供其他的讀取電壓(readvoltage),使控制電路101采用其他的讀取電壓來對非易失性存儲(chǔ)器105進(jìn)行讀取重試(readretry)。請參照圖2A,其所繪示為固態(tài)存儲(chǔ)裝置中非易失性存儲(chǔ)器的晶胞排列示意圖。非易失性存儲(chǔ)器105由多個(gè)晶胞排列成一存儲(chǔ)器陣列(memoryarray), 而每個(gè)晶胞內(nèi)包括一個(gè)浮動(dòng)?xùn)啪w管(floatinggatetransistor)。再者,利用字線(wordline)WL(n-1)、WL(n)、WL(n+1)即可控制一行(row)的晶胞,而根據(jù)一選定行(selectedrow)中個(gè)別晶胞內(nèi)浮動(dòng)?xùn)啪w管的開啟(turnon)與關(guān)閉(turnoff),即可決定晶胞的存儲(chǔ)狀態(tài)。另外,此晶胞可為SLC、MLC或者TLC快閃存儲(chǔ)器?;旧?,浮動(dòng)?xùn)啪w管中的浮動(dòng)?xùn)?floatinggate)可以存儲(chǔ)熱載子(hotcarrier),而根據(jù)熱載子存儲(chǔ)量的多寡可決定該浮動(dòng)?xùn)啪w管的臨限電壓(thresholdvoltage,簡稱VTH)。也就是說,具有較高的臨限電壓的浮動(dòng)?xùn)啪w管需要較高的柵極電壓(gatevoltage)來開啟(turnon)浮動(dòng)?xùn)啪w管;反之,具有較低的臨限電壓的浮動(dòng)?xùn)啪w管則可以用較低的柵極電壓來開啟浮動(dòng)?xùn)啪w管。因此,在固態(tài)存儲(chǔ)裝置的編程周期(programcycle)時(shí),利用控制電路101控制注入浮動(dòng)?xùn)诺臒彷d子量,即可改變其臨限電壓。而在讀取周期(readcycle)時(shí),固態(tài)存儲(chǔ)裝置10中的控制電路101提供讀取電壓至浮動(dòng)?xùn)啪w管的柵極,并根據(jù)浮動(dòng)?xùn)啪w管是否能被開啟(turnon)來判斷其存儲(chǔ)狀態(tài)。請參照圖2B,其所繪示為MLC快閃存儲(chǔ)器中的存儲(chǔ)狀態(tài)與臨限電壓關(guān)系示意圖?;旧?,MLC快閃存儲(chǔ)器的一個(gè)晶胞可以根據(jù)不同的熱載子注入量而呈現(xiàn)四個(gè)存儲(chǔ)狀態(tài)E、A、B、C。在未注入熱載子時(shí),晶胞可視為存儲(chǔ)狀態(tài)E,而隨著熱載子注入的量的多寡,可再區(qū)分為A、B、C三種存儲(chǔ)狀態(tài)。舉例來說,存儲(chǔ)狀態(tài)C的晶胞具有最高的臨限電壓電平,存儲(chǔ)狀態(tài)E的晶胞具有最低的臨限電壓電平。再者,當(dāng)晶胞經(jīng)過抹除周期之后,皆會(huì)回復(fù)至未注入熱載子的存儲(chǔ)狀態(tài)E。再者,SLC快閃存儲(chǔ)器的一個(gè)晶胞可以呈現(xiàn)二個(gè)存儲(chǔ)狀態(tài),而TLC快閃存儲(chǔ)器的一個(gè)晶胞可以呈現(xiàn)八個(gè)存儲(chǔ)狀態(tài)。而以下皆以MLC快閃存儲(chǔ)器所組成的非易失性存儲(chǔ)器105為例來說明讀取數(shù)據(jù)的流程,當(dāng)然類似的方式也可以運(yùn)用至SLC與TLC快閃存儲(chǔ)器。一般而言,在編程周期時(shí),若將多個(gè)晶胞編程為相同的存儲(chǔ)狀態(tài)時(shí),并非每個(gè)晶胞的臨限電壓都會(huì)相同,而是會(huì)呈現(xiàn)一分布曲線(distributioncurve),且其分布曲線可對應(yīng)至一中位臨限電壓。由圖2B可知,存儲(chǔ)狀態(tài)E的中位臨限電壓為VTHE(例如0V),存儲(chǔ)狀態(tài)A的中位臨限電壓為VTHA(例如10V)、存儲(chǔ)狀態(tài)B的中位臨限電壓為VTHB(例如20V)、存儲(chǔ)狀態(tài)C的中位臨限電壓 為VTHC(例如30V)。舉例來說明,在統(tǒng)計(jì)存儲(chǔ)狀態(tài)A的所有晶胞的臨限電壓后,具有中位臨限電壓VTHA(例如10V)的晶胞數(shù)目最多。如圖2B所示,根據(jù)MLC快閃存儲(chǔ)器中各個(gè)存儲(chǔ)狀態(tài)的分布曲線即可據(jù)以產(chǎn)生三個(gè)讀取電壓Vra、Vrb、Vrc作為一讀取電壓組(readvoltageset)。而在讀取周期時(shí),控制電路101即可依序提供讀取電壓組的三個(gè)讀取電壓至字線(wordline),用以檢測MLC快閃存儲(chǔ)器中的晶胞的存儲(chǔ)狀態(tài)。舉例來說,當(dāng)提供讀取電壓Vrb至非易失性存儲(chǔ)器105后,可以決定晶胞的最高有效位(mostsignificantbit,MSB)。假設(shè)晶胞的臨限電壓小于讀取電壓Vrb而可以被開啟,則控制電路101將該晶胞的MSB判定為“1”;假設(shè)晶胞的臨限電壓大于讀取電壓Vrb無法被開啟,則控制電路101將該晶胞的MSB判定為“0”。相同地,提供讀取電壓Vra與Vrc至非易失性存儲(chǔ)器105后,即可以決定晶胞的最低有效位(leastsignificantbit,LSB)。因此,如圖2B所示,控制電路101以“11”來代表存儲(chǔ)狀態(tài)E、以“10”來代表存儲(chǔ)狀態(tài)A、以“00”來代表存儲(chǔ)狀態(tài)B、以“01”來代表存儲(chǔ)狀態(tài)C。同理,控制電路101可以利用一個(gè)讀取電壓來決定SLC快閃存儲(chǔ)器中的二個(gè)存儲(chǔ)狀態(tài)?;蛘?,控制電路101可以利用七個(gè)讀取電壓作為一個(gè)讀取電壓組,用來決定TLC快閃存儲(chǔ)器中的八個(gè)存儲(chǔ)狀態(tài)。由以上的說明可知,讀取電壓Va、Vb、Vc是用來決定晶胞存儲(chǔ)狀態(tài)的重要依據(jù)。然而,當(dāng)非易失性存儲(chǔ)器105使用了一段時(shí)間之后,晶胞的特性會(huì)改變,使得每個(gè)存儲(chǔ)狀態(tài)的分布曲線(distributioncurve)改變且中位臨限電壓也會(huì)產(chǎn)生偏移。在此狀況下,若利用原先的讀取電壓Va、Vb、Vc來讀取非易失性存儲(chǔ)器105中的數(shù)據(jù)時(shí),可能會(huì)產(chǎn)生過多的錯(cuò)誤位(errorbit),使得ECC單元104無法校正所有的錯(cuò)誤位,并且無法輸出正確的讀取數(shù)據(jù)至主機(jī)14。因此,已知的控制電路101中會(huì)有一重試表,重試表可為一存儲(chǔ)器,用以存儲(chǔ)多個(gè)讀取電壓組。當(dāng)控制電路101確認(rèn)需進(jìn)行讀取重試(readretry)時(shí),控制電路101在重試表106中獲得另一讀取電壓組的三個(gè)讀取電壓Vra’、Vrb’、Vrc’,并提供至非易失性存儲(chǔ)器105以重新讀取數(shù)據(jù)。請參照圖2C,其所繪示為已知固態(tài)存儲(chǔ)裝置的解碼流程示意圖。首先,控制電路101提供預(yù)定的(default)讀取電壓組Vra、Vrb、Vrc至非易失性存儲(chǔ)器105,以讀取非易失性存儲(chǔ)器105中的數(shù)據(jù)(步驟S302)。接著,控制電路 101判斷是否能成功解碼出讀取數(shù)據(jù)(步驟S304)。當(dāng)ECC單元104能夠成功解碼時(shí)(步驟S304),代表讀取數(shù)據(jù)中所有的錯(cuò)誤位能夠被更正。因此,控制電路101輸出讀取數(shù)據(jù)(步驟S310)。反之,當(dāng)ECC單元104無法成功解碼時(shí)(步驟S304),代表ECC單元104無法更正讀取數(shù)據(jù)中所有的錯(cuò)誤位。因此,控制電路101進(jìn)入讀取重試(readretry)流程(步驟S305)。在讀取重試流程(步驟S305)中,首先,在重試表106中獲得更新的讀取電壓組Vra’、Vrb’、Vrc’,并提供至非易失性存儲(chǔ)器105以重新讀取非易失性存儲(chǔ)器105中的數(shù)據(jù)(步驟S306)。接著,控制電路101再次判斷是否能成功解碼出讀取數(shù)據(jù)(步驟S308)。舉例來說,假設(shè)重試表106中預(yù)先存儲(chǔ)M個(gè)讀取電壓組。則在讀取重試流程(步驟S305)中,M個(gè)讀取電壓組會(huì)依序作為更新的讀取電壓組,并供應(yīng)至非易失性存儲(chǔ)器105以重新讀取非易失性存儲(chǔ)器105中的數(shù)據(jù)。而在依序提供更新的讀取電壓組并重新讀取及解碼數(shù)據(jù)的過程中,如果能夠成功解碼出讀取數(shù)據(jù),則控制電路101即可輸出讀取數(shù)據(jù),并停止繼續(xù)進(jìn)行讀取重試流程(步驟S305)。反之,當(dāng)所有M個(gè)讀取電壓組皆依序使用之后仍無法成功解碼時(shí),則代表讀取重試失敗(readretryfail),而控制電路101會(huì)產(chǎn)生解碼失敗的信息(步驟S312)。換句話說,在上述的讀取重試流程(步驟S305)中,步驟S306與步驟S308最多會(huì)被執(zhí)行M次。由以上的說明可知,當(dāng)預(yù)定的(default)讀取電壓組能夠成功解碼時(shí),控制電路101不會(huì)進(jìn)入讀取重試流程(步驟S305),此時(shí),重試表106中的M個(gè)讀取電壓組完全不會(huì)被使用到。反之,當(dāng)控制電路101進(jìn)入讀取重試流程(步驟S305)之后,重試表106中的M個(gè)讀取電壓組才可能被使用到。再者,已知重試表106中的M個(gè)讀取電壓組是由非易失性存儲(chǔ)器105的制造商提供。而固態(tài)存儲(chǔ)裝置10進(jìn)入讀取重試流程(步驟S305)時(shí),控制電路101會(huì)按照M個(gè)讀取電壓組存儲(chǔ)在重試表106中的順序,依序提供M個(gè)讀取電壓組至非易失性存儲(chǔ)器105。由于在讀取重試流程(步驟S305)的過程中僅可依序提供M個(gè)讀取電壓組至非易失性存儲(chǔ)器105,其并無法直接得到適合的讀取電壓組,因此可能會(huì)耗費(fèi)相當(dāng)長的時(shí)間在重試其他不適合的讀取電壓組。技術(shù)實(shí)現(xiàn)要素:本發(fā)明有關(guān)于一種固態(tài)存儲(chǔ)裝置的讀取控制方法,其中,固態(tài)存儲(chǔ)裝置具有非易失性存儲(chǔ)器,包括多個(gè)區(qū)塊,其中這些區(qū)塊包括第一區(qū)塊及第二區(qū)塊,讀取控制方法包括下列步驟:在固態(tài)存儲(chǔ)裝置的待機(jī)模式時(shí),進(jìn)行背景監(jiān)測動(dòng)作,以取得第一區(qū)塊對應(yīng)的第一最佳讀取電壓組及第二區(qū)塊對應(yīng)的第二最佳讀取電壓組;提供預(yù)定讀取電壓組至非易失性存儲(chǔ)器,以讀取第一區(qū)塊的數(shù)據(jù),并判斷是否成功解該第一區(qū)塊的數(shù)據(jù);以及,在無法成功解碼第一區(qū)塊的數(shù)據(jù)時(shí),對第一區(qū)塊進(jìn)行讀取重試流程,并且將第一區(qū)塊所對應(yīng)的第一最佳讀取電壓組提供至非易失性存儲(chǔ)器,以讀取第一區(qū)塊的數(shù)據(jù)。本發(fā)明有關(guān)于一種固態(tài)存儲(chǔ)裝置,包括:一非易失性存儲(chǔ)器,包括多個(gè)區(qū)塊,其中這些區(qū)塊包括第一區(qū)塊及第二區(qū)塊;一控制電路,連接至該非易失性存儲(chǔ)器,該控制電路中包括一錯(cuò)誤校正單元與一重試表,且該重試表中存儲(chǔ)多個(gè)讀取電壓組;其中,在一待機(jī)模式時(shí),該控制電路進(jìn)行一背景監(jiān)測動(dòng)作,以取得第一區(qū)塊對應(yīng)的第一最佳讀取電壓組及第二區(qū)塊對應(yīng)的第二最佳讀取電壓組,并且在一讀取重試流程時(shí),將該第一最佳讀取電壓組提供至該非易失性存儲(chǔ)器,以讀取該第一區(qū)塊的數(shù)據(jù)。本發(fā)明有關(guān)于一種固態(tài)存儲(chǔ)裝置的讀取控制方法,其中,固態(tài)存儲(chǔ)裝置具有一非易失性存儲(chǔ)器,包括多個(gè)區(qū)塊,其中這些區(qū)塊包括第一區(qū)塊,該讀取控制方法包括下列步驟:在固態(tài)存儲(chǔ)裝置的一待機(jī)模式時(shí),進(jìn)行一背景監(jiān)測動(dòng)作,其中背景監(jiān)測動(dòng)作包括:將一重試表中存儲(chǔ)的X個(gè)讀取電壓組提供至該非易失性存儲(chǔ)器,用以讀取該第一區(qū)塊的數(shù)據(jù),并對應(yīng)地產(chǎn)生X個(gè)解碼結(jié)果;以及根據(jù)該X個(gè)解碼結(jié)果,由該X個(gè)讀取電壓組中決定該第一區(qū)塊所對應(yīng)的該第一最佳讀取電壓組;以及在一讀取重試流程時(shí),將該第一最佳讀取電壓組提供至該非易失性存儲(chǔ)器,以讀取該第一區(qū)塊的數(shù)據(jù)。為了對本發(fā)明上述及其他方面有更佳的了解,下文特舉優(yōu)選實(shí)施例,并配合附圖,作詳細(xì)說明如下:附圖說明圖1所繪示為已知固態(tài)存儲(chǔ)裝置示意圖。圖2A所繪示為已知固態(tài)存儲(chǔ)裝置中非易失性存儲(chǔ)器的晶胞排列示意圖。圖2B所繪示為已知MLC快閃存儲(chǔ)器中的存儲(chǔ)狀態(tài)與臨限電壓關(guān)系示意 圖。圖2C所繪示為已知固態(tài)存儲(chǔ)裝置的解碼流程示意圖。圖3所繪示為本發(fā)明固態(tài)存儲(chǔ)裝置示意圖。圖4A所繪示為本發(fā)明固態(tài)存儲(chǔ)裝置的運(yùn)作示意圖。圖4B所繪示為針對一個(gè)區(qū)塊進(jìn)行背景監(jiān)測動(dòng)作流程示意圖。圖4C所繪示為決定一個(gè)區(qū)塊的最佳讀取電壓示意圖。圖4D所繪示為本發(fā)明讀取重試流程的第一實(shí)施例。圖5A所繪示為非易失性存儲(chǔ)器的數(shù)據(jù)維持測試的示意圖。圖5B所繪示為針對圖5A的結(jié)果利用分群算法來進(jìn)行分群的示意圖。圖6A與圖6B所繪示為主點(diǎn)(方形)與擴(kuò)充點(diǎn)(圓形)示意圖。圖7所繪示為本發(fā)明讀取重試流程的第二實(shí)施例。【符號(hào)說明】10、30:固態(tài)存儲(chǔ)裝置12、32:外部總線14、34:主機(jī)101、301:控制電路104、304:ECC單元105、305:非易失性存儲(chǔ)器106、306:重試表107、307:內(nèi)部總線具體實(shí)施方式本發(fā)明提出一種固態(tài)存儲(chǔ)裝置及其相關(guān)讀取控制方法。此方法可直接提供適合的讀取電壓組來進(jìn)行讀取重試流程,以省去多余的讀取重試。當(dāng)固態(tài)存儲(chǔ)裝置與主機(jī)之間沒有進(jìn)行任何數(shù)據(jù)傳輸?shù)拇龣C(jī)(idle)期間,控制電路會(huì)針對非易失性存儲(chǔ)器中的所有區(qū)塊來進(jìn)行背景監(jiān)測動(dòng)作(backgroundmonitoringaction)。在進(jìn)行背景監(jiān)測動(dòng)作時(shí),控制電路將重試表中所有的讀取電壓組提供至非易失性存儲(chǔ)器中的每一個(gè)區(qū)塊。接著,在不同的讀取電壓組下,根據(jù)每一個(gè)區(qū)塊所產(chǎn)生的數(shù)據(jù)狀況,將每一個(gè)區(qū)塊對應(yīng)至一最佳讀取電壓組。其中,最佳讀取電壓組是由重試表所選出,且每一個(gè)區(qū)塊對應(yīng)的最佳讀取電壓組可能是相異的。再者,當(dāng)主機(jī)讀取固態(tài)存儲(chǔ)裝置中的讀取數(shù)據(jù)且進(jìn)入讀取 重試流程時(shí),控制電路會(huì)先根據(jù)每一區(qū)塊所對應(yīng)的最佳讀取電壓組來進(jìn)行讀取重試。請參照圖3,其所繪示為本發(fā)明固態(tài)存儲(chǔ)裝置示意圖。固態(tài)存儲(chǔ)裝置30經(jīng)由一外部總線32連接至主機(jī)(host)34,其中外部總線32可為USB總線、SATA總線、PCIe總線等等。再者,固態(tài)存儲(chǔ)裝置30中包括一控制電路301與一非易失性存儲(chǔ)器305。其中,控制電路301經(jīng)由一內(nèi)部總線307連接至非易失性存儲(chǔ)器305,用以根據(jù)主機(jī)34所發(fā)出的命令將接收的寫入數(shù)據(jù)存入非易失性存儲(chǔ)器305,或者由非易失性存儲(chǔ)器305中取得讀取數(shù)據(jù)并傳遞至主機(jī)34。再者,控制電路301中還包括一錯(cuò)誤校正單元(簡稱ECC單元)304與一重試表(retrytable)306。錯(cuò)誤校正單元304可用來更正讀取數(shù)據(jù)中的錯(cuò)誤位(errorbits),并且在更正完成后將正確的讀取數(shù)據(jù)傳遞至主機(jī)34。另外,重試表306中預(yù)先存儲(chǔ)X個(gè)讀取電壓組,供固態(tài)存儲(chǔ)裝置30在待機(jī)期間進(jìn)行背景監(jiān)測動(dòng)作,并且也可以運(yùn)用于讀取重試(readretry)流程。請參照圖4A,其所繪示為本發(fā)明固態(tài)存儲(chǔ)裝置的運(yùn)作示意圖。當(dāng)固態(tài)存儲(chǔ)裝置30接收到電源(步驟S402)后即開始運(yùn)作。再者,當(dāng)主機(jī)34與固態(tài)存儲(chǔ)裝置30之間有數(shù)據(jù)存取時(shí),固態(tài)存儲(chǔ)裝置30不進(jìn)入待機(jī)模式(步驟S404)而處于正常運(yùn)作模式。此時(shí),固態(tài)存儲(chǔ)裝置30接收主機(jī)34的指令進(jìn)行數(shù)據(jù)存取(步驟S406)。當(dāng)主機(jī)34的指令處理完成后,固態(tài)存儲(chǔ)裝置30會(huì)繼續(xù)判斷是否需要進(jìn)入待機(jī)模式(步驟S404)。反之,當(dāng)主機(jī)34與固態(tài)存儲(chǔ)裝置30之間沒有數(shù)據(jù)存取時(shí),固態(tài)存儲(chǔ)裝置30可決定進(jìn)入待機(jī)模式(步驟S404),并且進(jìn)行背景監(jiān)測動(dòng)作(步驟S408)。根據(jù)本發(fā)明實(shí)施例,當(dāng)固態(tài)存儲(chǔ)裝置30進(jìn)行背景監(jiān)測動(dòng)作時(shí)(步驟S408),只要主機(jī)30發(fā)出指令至固態(tài)存儲(chǔ)裝置30欲進(jìn)行數(shù)據(jù)存取時(shí),背景監(jiān)測動(dòng)作會(huì)停止,并且固態(tài)存儲(chǔ)裝置30會(huì)離開待機(jī)模式。眾所周知,固態(tài)存儲(chǔ)裝置30中的非易失性存儲(chǔ)器305中包括許多區(qū)塊(block),而每個(gè)區(qū)塊中又包括多個(gè)頁(page)。舉例來說,非易失性存儲(chǔ)器305中有1024個(gè)區(qū)塊,每一個(gè)區(qū)塊中有256頁,而每個(gè)頁的容量為8Kbytes。再者,ECC單元304的一個(gè)碼字(codeword)的長度為1Kbytes,因此一個(gè)頁的數(shù)據(jù)共有8個(gè)碼字。再者,以下背景監(jiān)測動(dòng)作是以區(qū)塊為單位來進(jìn)行說明,說明如下。請參 照圖4B,其所繪示為針對一個(gè)區(qū)塊進(jìn)行背景監(jiān)測動(dòng)作流程示意圖。首先,由一個(gè)區(qū)塊中的多個(gè)頁中選擇一特定頁(specificpage)(步驟S412)。基本上,此特定頁是由該區(qū)塊中的多個(gè)頁中選取其中之一。接著,設(shè)定p等于1(步驟S414),并將重試表306中的第p個(gè)讀取電壓組提供至非易失性存儲(chǔ)器305中,用以讀取此特定頁的數(shù)據(jù)(步驟S416)。接著,將讀取出的數(shù)據(jù)進(jìn)行解碼,并將ECC單元304的解碼結(jié)果記錄為第p個(gè)解碼結(jié)果(步驟S418)。再者,當(dāng)p不等于X時(shí)(步驟S420),將p加1(步驟S414)后執(zhí)行步驟S416。反之,當(dāng)p等于X時(shí)(步驟S420),代表重試表306中的X個(gè)讀取電壓組皆已用來讀取此特定頁的數(shù)據(jù),并且已經(jīng)產(chǎn)生X個(gè)解碼結(jié)果。因此,控制電路301即可根據(jù)X個(gè)解碼結(jié)果來決定一最佳讀取電壓組(步驟S422)。而此最佳讀取電壓組會(huì)被記錄下來,以便于讀取重試流程時(shí)運(yùn)用于重新讀取該區(qū)塊的數(shù)據(jù)。由以上說明可知,假設(shè)非易失性存儲(chǔ)器305中有1024個(gè)區(qū)塊時(shí),圖4B的流程圖需要進(jìn)行1024次來完成完整的背景監(jiān)測動(dòng)作。然而,根據(jù)圖4A的說明可知,固態(tài)存儲(chǔ)裝置30可以在背景監(jiān)測動(dòng)作的執(zhí)行過程中決定離開待機(jī)模式。換句話說,當(dāng)固態(tài)存儲(chǔ)裝置30離開待機(jī)模式時(shí),可能僅有一部分的區(qū)塊完成背景監(jiān)測動(dòng)作并已經(jīng)決定對應(yīng)的最佳讀取電壓組,而另一部分尚未決定對應(yīng)的最佳讀取電壓。而當(dāng)固態(tài)存儲(chǔ)裝置30再次進(jìn)入待機(jī)模式時(shí),即可再繼續(xù)針對另一部分區(qū)塊來進(jìn)行背景監(jiān)測動(dòng)作,以決定對應(yīng)的最佳讀取電壓組。請參照圖4C,其所繪示為決定一個(gè)區(qū)塊的最佳讀取電壓示意圖。假設(shè)重試表306中共有9個(gè)讀取電壓組,所以進(jìn)行完一個(gè)區(qū)塊的背景監(jiān)測動(dòng)作后會(huì)產(chǎn)生9個(gè)解碼結(jié)果。如圖4C所示,提供第一讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字(uncorrectablecodeword)有8個(gè);提供第二讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字有0個(gè),且產(chǎn)生706個(gè)錯(cuò)誤位(errorbit);提供第三讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字有0個(gè),且產(chǎn)生597個(gè)錯(cuò)誤位;提供第四讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字有0個(gè),且產(chǎn)生614個(gè)錯(cuò)誤位;提供第五讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字有0個(gè),且產(chǎn)生617個(gè)錯(cuò)誤位;提供第六讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字有6個(gè),且產(chǎn)生247個(gè)錯(cuò)誤位;提供第七、八、九讀取電壓組來讀取此特定頁的數(shù)據(jù)時(shí),無法被成功解碼的碼字皆有8個(gè)。在上述例子中,明顯地,提供第一、六、七、八、九讀取電壓組來讀取此特定頁時(shí),ECC單元304無法成功解碼,因此無法正確地產(chǎn)生此特定頁的數(shù)據(jù)。再者,提供第二、三、四、五讀取電壓組來讀取此特定頁時(shí),ECC單元304可成功解碼并產(chǎn)生此特定頁的數(shù)據(jù)。再者,由于第三讀取電壓組所產(chǎn)生的錯(cuò)誤位最少,且無法被成功解碼的碼字最少,因此可決定第三讀取電壓組為該區(qū)塊對應(yīng)的最佳讀取電壓組。在本發(fā)明實(shí)施例中,由于區(qū)塊對應(yīng)的最佳讀取電壓組是根據(jù)最佳解碼效果來決定,因此使用最佳讀取電壓組來讀取其對應(yīng)的區(qū)塊相較于使用其他讀取電壓組而言,其具有較高的數(shù)據(jù)讀取成功率。另外,上述的說明是以一個(gè)區(qū)塊中的一個(gè)特定頁來進(jìn)行測試,當(dāng)然本發(fā)明并不限定于此。在此領(lǐng)域的技術(shù)人員,可以利用區(qū)塊中的一部分來進(jìn)行測試,例如一個(gè)區(qū)塊中的二個(gè)頁來進(jìn)行測試或者一整個(gè)區(qū)塊皆用來進(jìn)行測試,一樣也可以達(dá)成本發(fā)明的效果?;旧?,在讀取本發(fā)明的固態(tài)存儲(chǔ)裝置30中的數(shù)據(jù)時(shí),控制電路301會(huì)提供預(yù)定的(default)讀取電壓組至非易失性存儲(chǔ)器305,用以讀取非易失性存儲(chǔ)器305中的數(shù)據(jù)。在無法成功解碼讀取出的數(shù)據(jù)時(shí),固態(tài)存儲(chǔ)裝置30即進(jìn)入讀取重試流程。請參照圖4D,其所繪示為本發(fā)明讀取重試流程的第一實(shí)施例。首先,控制電路301先確認(rèn)欲讀取的區(qū)塊是否曾經(jīng)進(jìn)行背景監(jiān)測動(dòng)作,并是否已經(jīng)有對應(yīng)的最佳讀取電壓組(步驟S430)。在確認(rèn)欲讀取的區(qū)塊已經(jīng)有對應(yīng)的最佳讀取電壓組(步驟S430)時(shí),則提供該最佳讀取電壓組至非易失性存儲(chǔ)器305,用以讀取該區(qū)塊的數(shù)據(jù)(步驟S432)。接著,判斷是否成功解碼出讀取數(shù)據(jù)(步驟S436)。反之,在確認(rèn)欲讀取的區(qū)塊尚無對應(yīng)的最佳讀取電壓組(步驟S430)時(shí),代表該區(qū)塊尚未進(jìn)行背景監(jiān)測動(dòng)作。此時(shí),控制電路301會(huì)根據(jù)重試表306,提供更新的讀取電壓組至非易失性存儲(chǔ)器305,用以讀取該區(qū)塊的數(shù)據(jù)(步驟S434),并判斷是否成功解碼出讀取數(shù)據(jù)(步驟S436)。再者,在成功解碼出讀取數(shù)據(jù)(步驟S436)時(shí),即可輸出該區(qū)塊的讀取數(shù)據(jù)(步驟S438)。反之,在無法成功解碼(步驟S436)時(shí),即執(zhí)行步驟S434。由以上的說明可知,假設(shè)重試表306中預(yù)先存儲(chǔ)X個(gè)讀取電壓組。在讀取重試流程中,如果該區(qū)塊具有對應(yīng)的最佳讀取電壓組時(shí),則該最佳讀取電壓組會(huì)先被提供至非易失性存儲(chǔ)器用以重新讀取數(shù)據(jù)并解碼。如果該區(qū)塊尚 未具有對應(yīng)的最佳讀取電壓組時(shí),則依照重試表306中的X組讀取電壓組的次序來提供至非易失性存儲(chǔ)器以重新讀取數(shù)據(jù)并解碼。由以上的說明可知,本發(fā)明提出一種背景監(jiān)測動(dòng)作用以在固態(tài)存儲(chǔ)裝置30的待機(jī)期間,預(yù)先決定每一區(qū)塊的最佳讀取電壓組。在讀取重試流程時(shí),可優(yōu)先提供最佳讀取電壓組來重新讀取對應(yīng)區(qū)塊的數(shù)據(jù),以快速地成功解碼,降低讀取重試的次數(shù)。再者,本發(fā)明亦提出重試表的多個(gè)讀取電壓組的建立方法。而利用本發(fā)明重試表建立方法中所存儲(chǔ)的多個(gè)讀取電壓組,也可以用來判斷非易失性存儲(chǔ)器305的狀態(tài),并進(jìn)而啟動(dòng)因應(yīng)流程。以下詳細(xì)說明如何建立重試表中的多個(gè)讀取電壓組。眾所周知,固態(tài)存儲(chǔ)裝置30出廠并經(jīng)過多次編程與抹除之后,非易失性存儲(chǔ)器305中每個(gè)晶胞存儲(chǔ)狀態(tài)的分布曲線會(huì)改變,且中位臨限電壓也會(huì)產(chǎn)生偏移,并導(dǎo)致讀取失敗?;旧?,讀取失敗模式(failuremode)有很多種,例如編程干擾(programdisturb)模式、數(shù)據(jù)維持(dataretention)模式及讀取干擾(readdisturb)模式等。一般來說,非易失性存儲(chǔ)器305經(jīng)過多次的編程與抹除之后,即會(huì)影響晶胞的性能而使得晶胞中的存儲(chǔ)狀態(tài)被誤判而導(dǎo)致讀取失敗,此種讀取失敗模式即為編程干擾模式。同理,當(dāng)晶胞被編程后,讀取的次數(shù)多寡也會(huì)影響晶胞的性能,并使得晶胞中的存儲(chǔ)狀態(tài)被誤判而導(dǎo)致讀取失敗,此種讀取失敗模式即為讀取干擾模式。再者,當(dāng)晶胞被編程之后,隨著數(shù)據(jù)存儲(chǔ)時(shí)間的增長,晶胞中的熱載子可能逐漸流失而使得晶胞中的存儲(chǔ)狀態(tài)被誤判而導(dǎo)致讀取失敗,此種讀取失敗模式即為數(shù)據(jù)維持模式。根據(jù)本發(fā)明的實(shí)施例,固態(tài)存儲(chǔ)裝置30的設(shè)計(jì)者在出廠前,針對非易失性存儲(chǔ)器405的各種讀取失敗模式進(jìn)行各種實(shí)驗(yàn),并且測量非易失性存儲(chǔ)器305的讀取電壓組變化,并進(jìn)行分析。最后,根據(jù)分析結(jié)果來建立非易失性存儲(chǔ)器305的多個(gè)讀取電壓組并存儲(chǔ)在重試表306中。以下以數(shù)據(jù)維持模式為例來進(jìn)行說明建立讀取電壓組的過程,而編程干擾模式與讀取干擾模式也可以利用相同的方式來建立,不再贅述。請參照圖5A,其所繪示為非易失性存儲(chǔ)器的數(shù)據(jù)維持測試的示意圖。圖5A僅以MLC快閃存儲(chǔ)器的讀取電壓Vra與Vrc的變化為例來做說明,其他的讀取電壓Vrb也可以利用相同的方式來進(jìn)行測試,此處不再贅述。在進(jìn)行數(shù)據(jù)維持測試時(shí),需要針對非易失性存儲(chǔ)器305中不同存儲(chǔ)時(shí)間條件的多個(gè)晶胞進(jìn)行讀取,并且測量其讀取電壓,進(jìn)而建立圖5A。如圖5A所示,坐標(biāo)(0,0)的位置為預(yù)定的(default)讀取電壓組Vra與Vrc的位置,而坐標(biāo)軸上的點(diǎn)代表讀取電壓組與預(yù)定的讀取電壓組之間的偏移(shift)。明顯地,隨著數(shù)據(jù)存儲(chǔ)時(shí)間的增長,讀取電壓Vra與Vrc會(huì)有逐漸減少的傾向,并偏離預(yù)定的讀取電壓Vra與Vrc。請參照圖5B,其所繪示為針對圖5A的結(jié)果利用分群算法來進(jìn)行分群的示意圖。在圖5B中,所有的測量點(diǎn)被區(qū)分為5個(gè)群(group),<I>~<V>。再者,每個(gè)群中的測量點(diǎn)的平均值被定義為主點(diǎn)(mainpoints)P1~P5(圖中以方形表示)。而此五個(gè)主點(diǎn)P1~P5即可作為對應(yīng)于讀取失敗模式為數(shù)據(jù)維持模式的五個(gè)讀取電壓組,并存儲(chǔ)在重試表306中。相同地,設(shè)計(jì)者可以根據(jù)上述的方式進(jìn)行編程干擾測試以及讀取干擾測試。舉例來說,在編程干擾測試中決定五個(gè)讀取電壓組,在讀取干擾測試中決定五個(gè)讀取電壓組。如此,共有十五個(gè)讀取電壓組存儲(chǔ)在重試表306中,且其對應(yīng)于不同的讀取失敗模式。通過上述方法建立的重試表306可運(yùn)用于如圖4B所示的背景監(jiān)測動(dòng)作。在背景監(jiān)測動(dòng)作的執(zhí)行過程中,控制電路301分別提供重試表306中的多個(gè)讀取電壓組至非易失性存儲(chǔ)器305以讀取特定頁的數(shù)據(jù),并取得對應(yīng)的解碼結(jié)果。接著,根據(jù)解碼結(jié)果得出對應(yīng)區(qū)塊的最佳讀取電壓組。由于本發(fā)明提出的重試表306建立方法是根據(jù)不同的讀取失敗模式來進(jìn)行測試及分析,因此當(dāng)通過背景監(jiān)測動(dòng)作得到對應(yīng)區(qū)塊的最佳讀取電壓組時(shí),其也可判斷對應(yīng)區(qū)塊是遭受到何種讀取失敗模式及其程度大小,并進(jìn)一步?jīng)Q定是否啟動(dòng)因應(yīng)流程。舉例來說,假設(shè)在背景監(jiān)測動(dòng)作后,確認(rèn)一個(gè)區(qū)塊的最佳讀取電壓組位于圖5B的主點(diǎn)P3。如此,可以判斷該區(qū)塊目前所遭受到的讀取失敗模式應(yīng)該是讀取維持模式,且由主點(diǎn)P3位于<III>群可以進(jìn)一步得知該區(qū)塊的存儲(chǔ)時(shí)間條件程度。接著,假設(shè)讀取維持模式中的<III>群表示數(shù)據(jù)存儲(chǔ)時(shí)間超過允許值,則當(dāng)在背景監(jiān)測動(dòng)作得到區(qū)塊對應(yīng)的最佳讀取電壓組位于讀取維持模式的<III>群時(shí),為了避免區(qū)塊的數(shù)據(jù)因存儲(chǔ)時(shí)間過長而持續(xù)流失,控制電路301可以啟動(dòng)因應(yīng)流程,例如進(jìn)行數(shù)據(jù)搬移流程,將區(qū)塊內(nèi)的數(shù)據(jù)搬移至其他區(qū)塊中。同樣的,針對其他讀取失敗模式及其程度大小,也可具有對應(yīng)的 因應(yīng)流程。例如,針對編程干擾模式,當(dāng)在背景監(jiān)測動(dòng)作得到區(qū)塊對應(yīng)的最佳讀取電壓組位于編程干擾模式,且其編程與抹除次數(shù)程度超過允許值時(shí),控制電路301可以判斷該區(qū)塊已不適于存儲(chǔ)數(shù)據(jù)并啟動(dòng)對應(yīng)的因應(yīng)流程,例如進(jìn)行數(shù)據(jù)搬移及區(qū)塊標(biāo)示流程,將區(qū)塊內(nèi)的數(shù)據(jù)搬移至其他區(qū)塊中,并將該區(qū)塊進(jìn)行標(biāo)示而不再使用。本發(fā)明提出的重試表建立方法,并搭配本發(fā)明提出的背景監(jiān)測動(dòng)作可得出區(qū)塊的最佳讀取電壓組,并通過得出的最佳讀取電壓組判斷區(qū)塊所遭受的讀取失敗模式及其程度大小,并進(jìn)一步?jīng)Q定是否啟動(dòng)因應(yīng)流程。此外,由于背景監(jiān)測動(dòng)作是選擇一個(gè)區(qū)塊中的一個(gè)頁來獲得最佳讀取電壓組,為了防止頁與頁之間的變異(variance)。除了搜集主點(diǎn)之外,本發(fā)明更可以根據(jù)主點(diǎn)進(jìn)一步計(jì)算出擴(kuò)充點(diǎn)(extensionpoint),作為擴(kuò)充讀取電壓組并運(yùn)用于讀取重試流程,以增加數(shù)據(jù)讀取成功率,并減少讀取重試的次數(shù)。請參照圖6A,其所繪示為主點(diǎn)(方形)與擴(kuò)充點(diǎn)(圓形)示意圖?;旧希\(yùn)用分群算法,可對圖5B中的五個(gè)主點(diǎn)再進(jìn)行擴(kuò)充,而每一個(gè)主點(diǎn)被額外擴(kuò)充得到三個(gè)擴(kuò)充點(diǎn)(extendedpoint)(圖中以圓形表示),并存儲(chǔ)在重試表306中。因此,在五個(gè)群<I>~<V>中,共有十五個(gè)擴(kuò)充點(diǎn)。因此,在讀取重試流程時(shí),如果被選為最佳讀取電壓組的主點(diǎn)無法成功解碼時(shí),控制電路301可再提供被選為最佳讀取電壓組的該主點(diǎn)附近的九個(gè)擴(kuò)充點(diǎn)來進(jìn)行擴(kuò)充讀取重試(extendedreadretry)流程。如圖6B所示,假設(shè)被選為最佳讀取電壓組的主點(diǎn)為P3。而在讀取重試流程時(shí),提供最佳讀取電壓P3仍無法成功解碼時(shí),可再提供該最佳讀取電壓組P3附近虛線方框中的九個(gè)擴(kuò)充點(diǎn)來進(jìn)行擴(kuò)充讀取重試流程。本發(fā)明并未限定每一個(gè)主點(diǎn)被額外擴(kuò)充的擴(kuò)充點(diǎn)數(shù)目,以及用來進(jìn)行擴(kuò)充讀取重試流程的擴(kuò)充點(diǎn)數(shù)目,在此領(lǐng)域的技術(shù)人員可根據(jù)實(shí)際分析結(jié)果調(diào)整對應(yīng)的擴(kuò)充點(diǎn)數(shù)目。請參照圖7,其所繪示為本發(fā)明讀取重試流程的第二實(shí)施例。相較于圖4D的第一實(shí)施例,第二實(shí)施例中增加了一擴(kuò)充讀取重試流程(步驟S720)。假設(shè)重試表306中有X個(gè)(例如15個(gè))組讀取電壓組,且每個(gè)讀取電壓組又可對應(yīng)至N個(gè)(例如9個(gè))擴(kuò)充讀取電壓組。首先,在讀取重試流程開始時(shí),控制電路301先確認(rèn)欲讀取的區(qū)塊是否曾經(jīng)進(jìn)行背景監(jiān)測動(dòng)作,并已經(jīng)有對應(yīng)的最佳讀取電壓組(步驟S710)。在確認(rèn)欲讀取的區(qū)塊已經(jīng)有對應(yīng)的最佳讀取電壓組(步驟S710)時(shí),則提供該最佳 讀取電壓組至非易失性存儲(chǔ)器305,用以讀取該區(qū)塊的數(shù)據(jù)(步驟S712)。接著,在成功解碼時(shí)(步驟S713),輸出讀取數(shù)據(jù)(步驟S718)。根據(jù)本發(fā)明的第二實(shí)施例,在無法成功解碼(步驟S713)時(shí),更進(jìn)入一擴(kuò)充讀取重試流程(步驟S720)。在擴(kuò)充讀取重試流程(步驟S720)中,控制電路301將最佳讀取電壓組所對應(yīng)的N個(gè)擴(kuò)充讀取電壓組依序提供至非易失性存儲(chǔ)器305以讀取區(qū)塊的數(shù)據(jù),并進(jìn)行解碼。在擴(kuò)充讀取重試流程(步驟S720)中,另外將N個(gè)擴(kuò)充的讀取電壓組提供至非易失性存儲(chǔ)器305用以讀取區(qū)塊的數(shù)據(jù)(步驟S722)。而在提供擴(kuò)充的讀取電壓組過程中,如果能夠成功解碼(步驟S724),則控制電路301即可輸出讀取數(shù)據(jù)(步驟S718),并停止繼續(xù)進(jìn)行擴(kuò)充讀取重試流程(步驟S720)。反之,當(dāng)所有N個(gè)擴(kuò)充的讀取電壓組皆使用之后仍無法成功解碼(步驟S724),則代表擴(kuò)充讀取重試失敗(extendedreadretryfail),則執(zhí)行步驟S714。換句話說,在上述的擴(kuò)充讀取重試流程(步驟S720)中,步驟S722與步驟S724最多會(huì)被執(zhí)行N次。另外,在確認(rèn)欲讀取的區(qū)塊尚無對應(yīng)的最佳讀取電壓組(步驟S710)時(shí),代表該區(qū)塊尚未進(jìn)行背景監(jiān)測動(dòng)作。此時(shí),控制電路301會(huì)根據(jù)重試表306提供更新的讀取電壓組至非易失性存儲(chǔ)器305,用以讀取該區(qū)塊的數(shù)據(jù)(步驟S714),并判斷是否成功解碼(步驟S716)。再者,在成功解碼(步驟S716)時(shí),即可輸出該區(qū)塊的讀取數(shù)據(jù)(步驟S718)。反之,在無法成功解碼(步驟S716)時(shí),即執(zhí)行步驟S714。在本申請?zhí)岢龅淖x取重試流程中,如果該區(qū)塊具有對應(yīng)的最佳讀取電壓組時(shí),則該最佳讀取電壓組會(huì)先被提供至非易失性存儲(chǔ)器。再者,當(dāng)該最佳讀取電壓組仍無法成功解碼時(shí),更提供擴(kuò)充的讀取電壓組非易失性存儲(chǔ)器,用以提高成功解碼的機(jī)率。由本發(fā)明的第一與第二實(shí)施例的說明可知,本發(fā)明提出一種固態(tài)存儲(chǔ)裝置及其相關(guān)讀取控制方法。在固態(tài)存儲(chǔ)裝置30的待機(jī)模式時(shí),控制電路301會(huì)利用重試表306中的多個(gè)讀取電壓組來對非易失性存儲(chǔ)器305中的每個(gè)區(qū)塊進(jìn)行背景監(jiān)測動(dòng)作,并使每個(gè)區(qū)塊對應(yīng)至一最佳讀取電壓組。當(dāng)固態(tài)存儲(chǔ)裝置30進(jìn)入讀取重試流程時(shí),即可將最佳讀取電壓組提供至非易失性存儲(chǔ)器用以讀取區(qū)塊的數(shù)據(jù),以提高成功解碼的機(jī)率,降低讀取重試的次數(shù)。綜上所述,雖然本發(fā)明已以優(yōu)選實(shí)施例公開如上,然其并非用以限定本 發(fā)明。本發(fā)明所屬領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種更動(dòng)與潤飾。因此,本發(fā)明的保護(hù)范圍當(dāng)視所附權(quán)利要求書界定范圍為準(zhǔn)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3