專利名稱:使用混合解碼器執(zhí)行有效解碼的系統(tǒng)和方法
使用混合解碼器執(zhí)行有效解碼的系統(tǒng)和方法
相關(guān)申請(qǐng)的交叉引用
本公開要求2010年11月12日遞交的美國(guó)臨時(shí)專利申請(qǐng)No. 61/413,M6的權(quán)益, 通過(guò)參考的方式將該申請(qǐng)整體并入本文。
背景技術(shù):
此處所提供的背景技術(shù)說(shuō)明是為了對(duì)本公開的背景進(jìn)行一般性說(shuō)明。發(fā)明人的某些工作(在此背景技術(shù)部分中作出描述的工作)以及說(shuō)明書中未以其他方式描述為申請(qǐng)時(shí)的現(xiàn)有技術(shù)的內(nèi)容,無(wú)論是以明確還是隱含的方式均不被視為相對(duì)于本公開的現(xiàn)有技術(shù)。
傳統(tǒng)的閃存設(shè)備中的數(shù)據(jù)差錯(cuò)率取決于數(shù)據(jù)在該存儲(chǔ)器中所保留的持續(xù)時(shí)間和該數(shù)據(jù)所位于的頁(yè)的編程/擦寫(PE)循環(huán)的數(shù)量以及許多其他因素。傳統(tǒng)的系統(tǒng)使用糾錯(cuò)碼電路(ECC)和解碼引擎來(lái)檢測(cè)/糾正在從閃存設(shè)備讀取數(shù)據(jù)時(shí)所遇到的數(shù)據(jù)差錯(cuò)。另外,因?yàn)樵趶拇鎯?chǔ)器讀取的不同的數(shù)據(jù)集合之間數(shù)據(jù)差錯(cuò)的量(即誤比特率或信噪比)可能變化很大,所以當(dāng)讀取給定的數(shù)據(jù)集合時(shí),解碼該數(shù)據(jù)所需要的解碼引擎的類型是未知的。
為了解決這些不確定性,傳統(tǒng)系統(tǒng)首先嘗試用最不復(fù)雜解碼技術(shù)(即基于硬判決的技術(shù))來(lái)對(duì)數(shù)據(jù)進(jìn)行解碼。如果該最不復(fù)雜解碼技術(shù)無(wú)法成功解碼該數(shù)據(jù),那么這些系統(tǒng)然后嘗試用更復(fù)雜的解碼技術(shù)(即,使用比最不復(fù)雜解碼技術(shù)更多的迭代)來(lái)解碼同一數(shù)據(jù)。雖然在這些系統(tǒng)中數(shù)據(jù)最終被成功解碼,但是該解碼過(guò)程通常需要多次解碼嘗試來(lái)解碼一個(gè)數(shù)據(jù)集合并且因此缺乏效率(即由于花費(fèi)更多時(shí)間進(jìn)行解碼而浪費(fèi)資源、消耗大量功率并且增加解碼延時(shí))。發(fā)明內(nèi)容
提供了一種使用混合解碼器來(lái)執(zhí)行有效解碼的系統(tǒng)和方法。具體而言,在嘗試對(duì)接收的碼字進(jìn)行解碼之前分析該碼字,并且基于該碼字分析選擇最佳解碼器。
在一些實(shí)施方式中,接收包括碼字的數(shù)據(jù)信號(hào)。計(jì)算該數(shù)據(jù)信號(hào)的特征群。基于所計(jì)算的特征群,選擇多個(gè)解碼器中的一個(gè)解碼器。該多個(gè)解碼器中的每一個(gè)被配置為基于不同的解碼技術(shù)來(lái)解碼信息。使用該多個(gè)解碼器中的所選擇的一個(gè)解碼器來(lái)解碼該數(shù)據(jù)信號(hào)中所包括的碼字。在一些實(shí)現(xiàn)中,從電子存儲(chǔ)設(shè)備取回該數(shù)據(jù)信號(hào)。在一些實(shí)現(xiàn)中,該多個(gè)解碼器中的第一解碼器被配置為使用比該多個(gè)解碼器中的第二解碼器更多數(shù)量的迭代來(lái)解碼信息。在一些實(shí)現(xiàn)中,該多個(gè)解碼器中的第一解碼器與該多個(gè)解碼器中的第二解碼器共享解碼電路。
在一些實(shí)施方式中,該計(jì)算的特征群以該數(shù)據(jù)信號(hào)的信噪比(SNR)或誤比特率的形式來(lái)表示該數(shù)據(jù)信號(hào)的信號(hào)質(zhì)量。在一些實(shí)現(xiàn)中,基于與該碼字相對(duì)應(yīng)的導(dǎo)頻信號(hào)中的差錯(cuò)的數(shù)量來(lái)測(cè)量該信號(hào)質(zhì)量。在一些實(shí)現(xiàn)中,基于在用于存儲(chǔ)該碼字的電子存儲(chǔ)設(shè)備中所執(zhí)行的擦寫的次數(shù)或者基于從編寫該數(shù)據(jù)開始所經(jīng)過(guò)的時(shí)間來(lái)測(cè)量該信號(hào)質(zhì)量。
在一些實(shí)現(xiàn)中,確定該特征群的值是否超過(guò)預(yù)定閾值。當(dāng)確定該值超過(guò)該預(yù)定閾值時(shí),該多個(gè)解碼器中的所選擇的一個(gè)解碼器是該多個(gè)解碼器中的第一解碼器。當(dāng)確定該值等于或小于該預(yù)定閾值時(shí),該多個(gè)解碼器中的所選擇的一個(gè)解碼器是該多個(gè)解碼器中的第二解碼器。
在一些實(shí)施方式中,確定用該多個(gè)解碼器中的所選擇的一個(gè)解碼器是否成功解碼了該碼字。當(dāng)確定用該多個(gè)解碼器中的所選擇的一個(gè)解碼器沒(méi)有成功解碼該碼字時(shí),選擇該多個(gè)解碼器中的、與該多個(gè)解碼器中的所選擇的一個(gè)解碼器不同的第二解碼器。用該多個(gè)解碼器中的所選擇的第二解碼器來(lái)解碼該數(shù)據(jù)信號(hào)中所包括的該碼字。
在一些實(shí)施方式中,用復(fù)用器接收包括該碼字的該數(shù)據(jù)信號(hào)以及控制信號(hào)。該復(fù)用器包括多個(gè)輸出,每個(gè)輸出耦合到該多個(gè)解碼器中的各自的一個(gè)解碼器?;谠摽刂菩盘?hào)將該數(shù)據(jù)信號(hào)耦合到該復(fù)用器的多個(gè)輸出中的、被耦合到該多個(gè)解碼器中的所選擇的一個(gè)解碼器的一個(gè)輸出。
在結(jié)合附圖來(lái)考慮下文的詳細(xì)描述之后,本公開的以上以及其他目標(biāo)和優(yōu)點(diǎn)將變得顯而易見,其中在附圖中,類似的附圖標(biāo)記始終指代類似的部件,其中
圖1顯示了根據(jù)本公開的一些實(shí)施方式的示例性的混合解碼器系統(tǒng);
圖2顯示了根據(jù)本公開的一些實(shí)施方式的示例性的選擇性解碼器電路;
圖3顯示了用根據(jù)本公開的一些實(shí)施方式的示例性的混合解碼器來(lái)對(duì)數(shù)據(jù)進(jìn)行解碼的過(guò)程的示例性流程圖。
具體實(shí)施方式
本公開一般而言涉及使用混合解碼器來(lái)執(zhí)行有效解碼。為了說(shuō)明的目的,在所使用的存儲(chǔ)裝置是閃存設(shè)備的電子存儲(chǔ)系統(tǒng)的環(huán)境中描述本公開。但是應(yīng)該理解,本公開的教導(dǎo)可以等效地應(yīng)用于其中寫入到該存儲(chǔ)系統(tǒng)的數(shù)據(jù)易于出現(xiàn)讀取差錯(cuò)的任意其他電子存儲(chǔ)系統(tǒng)(例如,隨機(jī)訪問(wèn)存儲(chǔ)器設(shè)備、可編程邏輯器件、非易失性存儲(chǔ)器、易失性存儲(chǔ)器、 FeRAM, CBRAM、PRAM、SONOS, RRAM、Racetrack 存儲(chǔ)器、NRAM 以及 Millipede 存儲(chǔ)設(shè)備)。
圖1顯示了根據(jù)本公開的一些實(shí)施方式的示例性的混合解碼器系統(tǒng)100?;旌辖獯a器系統(tǒng)100包括存儲(chǔ)設(shè)備110、輸入緩沖器120、信號(hào)質(zhì)量計(jì)算電路130、選擇性解碼電路 140以及輸出緩沖器150。存儲(chǔ)設(shè)備110可以包括電子存儲(chǔ)設(shè)備(例如閃存設(shè)備、隨機(jī)訪問(wèn)存儲(chǔ)器設(shè)備、可編程邏輯器件、非易失性存儲(chǔ)器、易失性存儲(chǔ)器、FeRAM、CBRAM、PRAM、S0N0S、 RRAM、Racetrack存儲(chǔ)器和/或NRAM以及Millipede存儲(chǔ)設(shè)備)。
在存儲(chǔ)設(shè)備110中存儲(chǔ)的數(shù)據(jù)可以被編碼并且因此可能包括碼字??梢詫⒕幋a的信息組成被稱為“碼字”的單元。碼字可以包括“符號(hào)”,符號(hào)是一個(gè)或多個(gè)比特的歸組。用編碼形式來(lái)存儲(chǔ)數(shù)據(jù)提高了存儲(chǔ)在電子存儲(chǔ)器中的數(shù)據(jù)的可靠性。在從該存儲(chǔ)器取回碼字之后,需要解碼該碼字以輸出該碼字所代表的信息集合。
在一些實(shí)施方式中,控制電路(未顯示)可以指示存儲(chǔ)設(shè)備110輸出存儲(chǔ)在給定地址位置處的數(shù)據(jù)。例如,控制電路可以指示存儲(chǔ)設(shè)備110取回一頁(yè)數(shù)據(jù)。在該給定地址 (或多個(gè)地址)處所存儲(chǔ)的碼字(例如該頁(yè)編碼數(shù)據(jù))被存儲(chǔ)設(shè)備110輸出并且存儲(chǔ)在輸入緩沖器120中。輸入緩沖器120可以是從存儲(chǔ)器取回的給定編碼信息(例如碼字)集合在被解碼之前被存儲(chǔ)于的臨時(shí)存儲(chǔ)位置。
信號(hào)質(zhì)量計(jì)算電路130可以讀取輸入緩沖器120中所存儲(chǔ)的碼字。信號(hào)質(zhì)量計(jì)算電路130可以處理該碼字,以確定從存儲(chǔ)設(shè)備110讀取的數(shù)據(jù)的信號(hào)質(zhì)量水平。例如,信號(hào)質(zhì)量計(jì)算電路130可以計(jì)算輸入緩沖器120中所存儲(chǔ)的碼字的信噪比(SNR)以作為信號(hào)質(zhì)量水平。在一些實(shí)現(xiàn)中,信號(hào)質(zhì)量計(jì)算電路130可以計(jì)算輸入緩沖器120中所存儲(chǔ)的碼字的原始(raw)誤比特率(BER)以作為信號(hào)質(zhì)量水平。在一些實(shí)現(xiàn)中,信號(hào)質(zhì)量計(jì)算電路 130可以計(jì)算在輸入緩沖器120中所存儲(chǔ)的碼字的導(dǎo)頻數(shù)據(jù)中存在多少個(gè)差錯(cuò)以作為信號(hào)質(zhì)量水平。在2008年3月20日遞交的共同擁有的美國(guó)專利申請(qǐng)No. 12/052,350(如今的美國(guó)專利No. 7,827,450)中更詳細(xì)地描述了用于計(jì)算導(dǎo)頻數(shù)據(jù)中存在的差錯(cuò)的數(shù)量的系統(tǒng)和方法,因此通過(guò)參考的方式將該申請(qǐng)整體并入本文。信號(hào)質(zhì)量計(jì)算電路130可以執(zhí)行這些技術(shù)中的任意一種或者可以對(duì)這些技術(shù)進(jìn)行組合以確定輸入緩沖器120中所存儲(chǔ)的碼字的信號(hào)質(zhì)量水平。
在一些實(shí)現(xiàn)中,信號(hào)質(zhì)量計(jì)算電路130可以計(jì)算在存儲(chǔ)設(shè)備110的、用來(lái)讀取輸入緩沖器120中所存儲(chǔ)的碼字的存儲(chǔ)位置中已經(jīng)執(zhí)行了多少次擦寫(或PE循環(huán))以作為信號(hào)質(zhì)量水平。例如,輸入緩沖器120可以包括用于存儲(chǔ)與讀取的數(shù)據(jù)相關(guān)聯(lián)的附加信息的獨(dú)立字段。該附加信息可以包括該碼字的頁(yè)或存儲(chǔ)位置被擦寫的次數(shù)或者用于指示或者可用于確定信號(hào)質(zhì)量水平的任意其他信息,如上文所討論的。在一些實(shí)現(xiàn)中,基于包含在輸入緩沖器120的該字段中的數(shù)據(jù),信號(hào)質(zhì)量計(jì)算電路130可以確定存儲(chǔ)該碼字的存儲(chǔ)位置或頁(yè)被擦寫了多少次,并且使用該信息作為輸入緩沖器120中的碼字的信號(hào)質(zhì)量水平。信號(hào)質(zhì)量計(jì)算電路130可以向選擇性解碼電路140輸出用于表示所計(jì)算的信號(hào)質(zhì)量水平的信號(hào) 132。
選擇性解碼電路140可以接收輸入緩沖器120中所存儲(chǔ)的碼字122和信號(hào)132中的所計(jì)算的信號(hào)質(zhì)量水平。選擇性解碼電路140基于所計(jì)算的該碼字的信號(hào)質(zhì)量水平,選擇多個(gè)解碼器中的一個(gè)解碼器。具體而言,選擇性解碼電路140可以包括多個(gè)解碼器,每個(gè)解碼器被配置為使用不同的解碼技術(shù)來(lái)解碼數(shù)據(jù)。選擇性解碼電路140確定哪個(gè)解碼器最適合于以最有效的方式(例如用最少的迭代次數(shù)、使用最少量的功率,等等)成功解碼該碼字。例如,所計(jì)算的信號(hào)質(zhì)量水平比第二碼字差的第一碼字可能需要比解碼第二碼字所需的解碼器(例如基于硬輸入進(jìn)行解碼的解碼器)更強(qiáng)的、更復(fù)雜的、更費(fèi)時(shí)的并且功耗更高的解碼器(例如基于軟輸入來(lái)進(jìn)行解碼并且使用多次迭代的解碼器)來(lái)成功解碼。在一些實(shí)現(xiàn)中,選擇性解碼電路140可以耦合到存儲(chǔ)設(shè)備110并且可以被配置為當(dāng)選擇特定解碼器(例如使用軟輸入而非硬輸入來(lái)進(jìn)行操作的解碼器)來(lái)解碼輸入緩沖器120中所存儲(chǔ)的碼字時(shí)取回與該碼字相關(guān)聯(lián)的附加軟輸入。
選擇性解碼電路140可以確定輸入緩沖器120中所存儲(chǔ)的碼字是否被所選擇的解碼器成功解碼。當(dāng)選擇性解碼電路140使用所選擇的解碼器成功解碼該碼字時(shí),選擇性解碼電路140可以向輸出緩沖器150輸出已解碼數(shù)據(jù)142。輸出緩沖器150可以是這樣一種臨時(shí)存儲(chǔ)位置,在該臨時(shí)存儲(chǔ)位置中存儲(chǔ)已解碼數(shù)據(jù)集合以供利用電路(例如處理器或控制電路)使用。在一些實(shí)現(xiàn)中,當(dāng)選擇性解碼電路140使用所選擇的解碼器未成功解碼該碼字時(shí),選擇性解碼電路140可以選擇更強(qiáng)大和/或更復(fù)雜的解碼器來(lái)解碼同一碼字。當(dāng)新選擇的解碼器成功解碼該碼字時(shí),可以輸出已解碼數(shù)據(jù)142并且將其存儲(chǔ)在輸出緩沖器150 中。
圖2顯示了根據(jù)本公開的一些實(shí)施方式的示例性的選擇性解碼器電路140。選擇性解碼器電路140可以包括第一選擇電路210、第二選擇電路M0、解碼器電路230、232和 234以及解碼器選擇電路220。雖然結(jié)合圖2只顯示并且描述了 3個(gè)解碼器電路230、232 和234,但是選擇性解碼器電路140可以包括任意個(gè)附加解碼器電路或更少個(gè)解碼器電路。
解碼器電路230、232和234中的每一個(gè)可以被配置為使用不同的解碼技術(shù)來(lái)解碼數(shù)據(jù)。在一些實(shí)現(xiàn)中,解碼器電路230被配置為使用不如其他解碼器電路232和234那么強(qiáng)大的解碼技術(shù)來(lái)解碼數(shù)據(jù)。具體而言,解碼器電路230可以是基于硬輸入來(lái)解碼數(shù)據(jù)的解碼器。解碼器電路232可以比解碼器電路230更復(fù)雜但是不如解碼器電路234那么復(fù)雜。 解碼器電路232和234中的每一個(gè)可以基于軟輸入來(lái)解碼數(shù)據(jù)。更具體而言,解碼器電路 230可以包括硬檢測(cè)器,而解碼器電路232和234可以包括軟檢測(cè)器。硬檢測(cè)器可以從輸入緩沖器120接收比特序列并且輸出硬判決數(shù)據(jù)。這些硬判決由與存儲(chǔ)設(shè)備110中所存儲(chǔ)的原始編碼數(shù)據(jù)符號(hào)相對(duì)應(yīng)的數(shù)據(jù)組成。解碼器電路230的硬判決解碼器電路然后可以接收該硬判決數(shù)據(jù)作為輸入,并且輸出已解碼的數(shù)據(jù)符號(hào)。另一方面,軟檢測(cè)器可以從輸入緩沖器120接收比特序列并且輸出軟數(shù)據(jù)。這些軟數(shù)據(jù)由用于指示接收的編碼數(shù)據(jù)是特定的數(shù)據(jù)符號(hào)(例如二進(jìn)制系統(tǒng)中的“0”或“1”)的概率的數(shù)據(jù)組成。解碼器電路232和234的軟判決解碼器然后可以接收該軟數(shù)據(jù)作為輸入,并且輸出已解碼的數(shù)據(jù)符號(hào)。解碼器電路 232和234之間的差可以是為解碼該數(shù)據(jù)所執(zhí)行的迭代的次數(shù)??梢哉J(rèn)為用更多次的迭代來(lái)解碼碼字的解碼器電路比其他解碼器電路更復(fù)雜更強(qiáng)大。
在一些實(shí)施方式中,解碼器電路230可以實(shí)現(xiàn)線性解碼過(guò)程以解碼碼字,解碼器電路232可以實(shí)現(xiàn)迭代解碼過(guò)程以解碼碼字并且解碼器電路234可以實(shí)現(xiàn)turbo解碼過(guò)程以解碼碼字。應(yīng)該理解,選擇性解碼器電路140的解碼器230、232和234可以實(shí)現(xiàn)互不相同的任意合適的解碼過(guò)程或技術(shù)。例如當(dāng)使用低密度奇偶校驗(yàn)(LDPC)碼時(shí),解碼器230可以是硬判決解碼器(例如(^llager解碼器),解碼器231可以是具有兩次迭代的最小和解碼器,解碼器234可以是具有20次迭代的和積解碼器。
在一些實(shí)施方式中,解碼器電路230、232和234中的每一個(gè)可以包括或者被耦合到對(duì)應(yīng)的糾錯(cuò)電路,該糾錯(cuò)電路向?qū)?yīng)的解碼器輸出糾錯(cuò)數(shù)據(jù)。
在一些實(shí)施方式中,解碼器選擇電路220可以基于從信號(hào)132接收的、針對(duì)輸入緩沖器120中所存儲(chǔ)的碼字計(jì)算或確定的信號(hào)質(zhì)量水平(例如PE循環(huán)的數(shù)量、BER、SNR等等),計(jì)算特征群或特征群權(quán)重。特征群或特征群權(quán)重可以是用于選擇解碼輸入緩沖器120 中所存儲(chǔ)的碼字的解碼器類型的值、符號(hào)或數(shù)量。在一些實(shí)現(xiàn)中,特征群可以是與碼字長(zhǎng)度和/或誤比特率成正比(或反比)的整數(shù)。可以按照類型來(lái)指定特征群范圍(例如類型A 表示0和100之間的特征群權(quán)重、類型B表示100和400之間的特征群權(quán)重、類型C表示400 及以上的特征群權(quán)重)。因此,特征群的類型(或大小)可以對(duì)應(yīng)于混合解碼系統(tǒng)100中可用于解碼輸入緩沖器120中所存儲(chǔ)的碼字的解碼器的數(shù)量。例如,當(dāng)混合解碼系統(tǒng)100包括三個(gè)解碼器電路230、232和234時(shí),由解碼器選擇電路220所產(chǎn)生的特征群的類型(或大小)可以是3(例如該特征群的類型可以是2比特寬)在一些實(shí)現(xiàn)中,可以根據(jù)向上取整 (Iog2N)來(lái)確定特征群的類型(或大小),其中N是混合解碼系統(tǒng)100中可用的解碼器電路 230、232和234的數(shù)量。
在一些實(shí)施方式中,由特征群所表示的更高的值或數(shù)量可以使得使用更強(qiáng)的或更復(fù)雜的解碼器電路來(lái)解碼接收的碼字122。在一些實(shí)施方式中,由特征群所表示的更小的值或數(shù)量可以使得使用更弱的或較不復(fù)雜的解碼器電路來(lái)解碼接收的碼字122。在一些實(shí)現(xiàn)中,解碼器選擇電路220可以向第一選擇電路210和第二選擇電路240輸出用于表示特征群的值以作為控制信號(hào)222。
在一些實(shí)施方式中,解碼器選擇電路220可以通過(guò)將計(jì)算的信號(hào)質(zhì)量水平與預(yù)定閾值進(jìn)行比較,來(lái)向所計(jì)算的信號(hào)質(zhì)量水平指定特征群值、符號(hào)或數(shù)量。閾值的數(shù)量可以對(duì)應(yīng)于選擇性解碼電路140中可用于解碼碼字122的解碼器的數(shù)量。例如,當(dāng)選擇性解碼電路140包括3個(gè)解碼器電路230、232和234時(shí),預(yù)定閾值的數(shù)量可以是2個(gè)。具體而言,閾值的數(shù)量可以等于N-1,其中N是選擇性解碼電路140中可用的解碼器電路的數(shù)量。
在一些實(shí)施方式中,當(dāng)使用兩個(gè)預(yù)定閾值時(shí)并且當(dāng)選擇性解碼電路140包括三個(gè)解碼器230、232和234時(shí),解碼器選擇電路220可以將接收的信號(hào)質(zhì)量水平132與該兩個(gè)預(yù)定閾值中對(duì)應(yīng)于較低預(yù)定閾值的第一預(yù)定閾值進(jìn)行比較。當(dāng)信號(hào)質(zhì)量水平132低于第一預(yù)定閾值時(shí),解碼器選擇電路220可以指定與較不復(fù)雜解碼器電路(例如解碼器電路230) 相對(duì)應(yīng)的特征群類型值。更具體而言,解碼器選擇電路220可以生成使得選擇解碼器230 來(lái)解碼碼字122的特征群類型值。當(dāng)信號(hào)質(zhì)量水平132高于第一預(yù)定閾值時(shí),解碼器選擇電路220可以將信號(hào)質(zhì)量水平132與第二預(yù)定閾值進(jìn)行比較。當(dāng)信號(hào)質(zhì)量水平132高于第一預(yù)定閾值但低于第二預(yù)定閾值時(shí),解碼器選擇電路220可以指定與解碼器電路232相對(duì)應(yīng)的特征群類型值。更具體而言,解碼器選擇電路220可以生成使得選擇解碼器232來(lái)解碼碼字122的特征群類型值。當(dāng)信號(hào)質(zhì)量水平132高于第一預(yù)定閾值并且高于第二預(yù)定閾值時(shí),解碼器選擇電路220可以指定與解碼器電路234 (例如最復(fù)雜解碼器電路)相對(duì)應(yīng)的特征群類型值。更具體而言,解碼器選擇電路220可以生成使得選擇解碼器234來(lái)解碼碼字122的特征群類型值。
在一些實(shí)現(xiàn)中,當(dāng)解碼器選擇電路220生成使得選擇需要軟輸入信息的解碼器的特征群時(shí),解碼器選擇電路220可以從存儲(chǔ)設(shè)備110取回與碼字122相關(guān)聯(lián)的必要的軟輸入信息。更具體而言,更復(fù)雜的解碼器電路232和234可能需要從存儲(chǔ)設(shè)備110取回附加數(shù)據(jù),以成功解碼碼字122。
在一些實(shí)施方式中,可以基于給定應(yīng)用的希望的功耗和延時(shí)來(lái)設(shè)置預(yù)定閾值。例如,在具有兩個(gè)預(yù)定閾值的系統(tǒng)中,將較低的第一閾值設(shè)置為較低的值并且將較高的第二閾值設(shè)置為較高的值可以使得更多地使用較復(fù)雜的解碼器電路232和234并且不成功的解碼操作更少。具體而言,為較低的第一閾值設(shè)置的值越低則由解碼器選擇電路220生成的特征群將越有可能對(duì)應(yīng)于第二或第三解碼器電路232和234。另外,為較高的第二閾值設(shè)置的值越低則由解碼器選擇電路220生成的特征群將越有可能對(duì)應(yīng)于第三解碼器電路234而不是第二解碼器電路232。為閾值設(shè)置恰當(dāng)?shù)闹悼赡苄枰趯?duì)較復(fù)雜的解碼器電路232和 234的更頻繁的使用需求與解碼過(guò)程中引起的更大延時(shí)和更大的功耗帶來(lái)的成本之間進(jìn)行平衡。
解碼器選擇電路220可以被配置為基于以前對(duì)于一個(gè)碼字集合的成功或不成功解碼嘗試的次數(shù)或任意其他合適的標(biāo)準(zhǔn)來(lái)自動(dòng)調(diào)整(動(dòng)態(tài)調(diào)整)閾值的值(例如增加或減少一個(gè)或兩個(gè)閾值的值)。例如,解碼器選擇電路220可以存儲(chǔ)用于表示在預(yù)定時(shí)段期間利用第一解碼器電路230有多少次沒(méi)有成功解碼碼字(例如針對(duì)接收到的前100個(gè)碼字122) 的計(jì)數(shù)。當(dāng)用第一解碼器電路230沒(méi)有成功解碼碼字的次數(shù)超過(guò)預(yù)定值(例如20)時(shí),解碼器選擇電路220可以減小較低的第一閾值的值,以使得更頻繁地選擇第二解碼器232來(lái)解碼接收碼字122。類似地,解碼器選擇電路220可以存儲(chǔ)用于表示在預(yù)定時(shí)段期間利用第二解碼器電路232有多少次沒(méi)有成功解碼碼字(例如針對(duì)接收到的前100個(gè)碼字122)的計(jì)數(shù)。當(dāng)用第二解碼器電路232沒(méi)有成功解碼碼字的次數(shù)超過(guò)預(yù)定值(例如10)時(shí),解碼器選擇電路220可以減小較高的第二閾值的值,以使得與第一解碼器電路230和第二解碼器電路232相比更頻繁地選擇第三解碼器234來(lái)解碼接收碼字122。
在一些實(shí)現(xiàn)中,解碼器選擇電路220可以存儲(chǔ)用于表示在預(yù)定時(shí)段期間使用第一解碼器電路230有多少次成功解碼碼字(例如針對(duì)接收到的前100個(gè)碼字122)的計(jì)數(shù)。當(dāng)用第一解碼器電路230成功解碼碼字的次數(shù)超過(guò)預(yù)定值(例如50)時(shí),解碼器選擇電路220 可以增加較低的第一閾值的值,以使得與第二解碼器電路232和第三解碼器電路234相比更頻繁地選擇第一解碼器230來(lái)解碼接收碼字122。類似地,解碼器選擇電路220可以存儲(chǔ)用于表示在預(yù)定時(shí)段期間利用第二解碼器電路232有多少次成功解碼碼字(例如針對(duì)接收到的前100個(gè)碼字12 的計(jì)數(shù)。當(dāng)用第二解碼器電路232成功解碼碼字的次數(shù)超過(guò)預(yù)定值(例如10)時(shí),解碼器選擇電路220可以增加較高的第二閾值的值,以使得與第三解碼器電路234相比更頻繁地選擇第二解碼器232來(lái)解碼接收碼字122。
在一些實(shí)施方式中,第一選擇電路210可以是解復(fù)用器并且第二選擇電路240可以是復(fù)用器。第一選擇電路210可以接收數(shù)據(jù)輸入碼字122并且接收由解碼器選擇電路220 輸出的控制信號(hào)222作為控制輸入。碼字122可以包括來(lái)自存儲(chǔ)設(shè)備110的原始讀取編碼數(shù)據(jù)和/或在該原始讀取編碼數(shù)據(jù)之后或同時(shí)的、與從存儲(chǔ)設(shè)備110讀取的原始讀取編碼數(shù)據(jù)相關(guān)聯(lián)的任意附加信息(例如軟輸入信息)。例如,當(dāng)生成與用軟輸入來(lái)進(jìn)行操作的解碼器電路相對(duì)應(yīng)的特征群時(shí),解碼器選擇電路220可以確定需要取回附加解碼數(shù)據(jù)。作為響應(yīng),解碼器選擇電路220可以取回與輸入緩沖器120中所存儲(chǔ)的碼字相關(guān)聯(lián)的附加信息, 并且使得輸入緩沖器120與該碼字一起提供該附加信息,作為信號(hào)122。
第一選擇電路210可以包括與選擇性解碼電路140中可用的解碼器電路的數(shù)量 (例如三個(gè)解碼器電路230、232和234)相對(duì)應(yīng)或相等的輸出數(shù)量。第一選擇電路210的每個(gè)輸出可以耦合到各自的一個(gè)可用解碼器電路。例如,第一選擇電路210可以包括分別耦合到解碼器電路230、232和234的三個(gè)輸出。
第一選擇電路210可以基于從控制信號(hào)222接收到的值,將數(shù)據(jù)輸入(例如碼字 122)耦合到解碼器電路230、232和234中的一個(gè)解碼器電路,獨(dú)立于其他解碼器電路230、 232和234。例如,第一選擇電路210可以接收與解碼器電路232相對(duì)應(yīng)的特征群值作為控制信號(hào)222。響應(yīng)于接收到該控制信號(hào)222,第一選擇電路210可以向解碼器電路232耦合或發(fā)送數(shù)據(jù)輸入碼字122??梢詫⒌谝贿x擇電路210的其余輸出(例如第一選擇電路210 的、耦合到解碼器電路230和234的輸出)置于三態(tài)模式中。在一些實(shí)施方式中,第一選擇電路210可以接下來(lái)接收與解碼器電路234相對(duì)應(yīng)的特征群值作為控制信號(hào)222 (例如當(dāng)解碼器選擇電路220確定解碼器電路232無(wú)法成功解碼碼字122時(shí))。響應(yīng)于接收到該控制信號(hào)222,第一選擇電路210可以向解碼器電路234耦合或發(fā)送數(shù)據(jù)輸入碼字122。可以將第一選擇電路210的其余輸出(例如第一選擇電路210的、耦合到解碼器電路230和232的輸出)置于三態(tài)模式中??蛇x擇地或另外,解碼器電路230、232和234中未被控制信號(hào) 222選擇來(lái)解碼碼字122的任意一個(gè)解碼器電路可以被處理器或其他電路用于解碼其他數(shù)據(jù)。
在一些實(shí)施方式中,第二選擇電路240可以從選擇性解碼電路140的各個(gè)可用解碼器電路接收輸出作為數(shù)據(jù)輸入,并且接收由解碼器選擇電路220輸出的控制信號(hào)222作為控制輸入。具體而言,第二選擇電路240可以包括與可用解碼器電路的數(shù)量相對(duì)應(yīng)或相等的數(shù)據(jù)輸入數(shù)量。第二選擇電路MO中所包括的數(shù)據(jù)輸入的數(shù)量可以與第一選擇電路 210中所包括的輸出的數(shù)量相同。例如,第二選擇電路240可以被耦合為分別從解碼器電路 230、232和234接收輸出。
可以由控制信號(hào)222控制第二選擇電路M0,以將來(lái)自解碼器選擇電路220所選擇的其中一個(gè)解碼器電路的輸出耦合到輸出142。例如,解碼器選擇電路132可以提供使得第一選擇電路210向解碼器電路232輸出碼字122的值來(lái)作為控制信號(hào)222。可以向第二選擇電路240提供相同的或不同的控制信號(hào)222,其使得第二選擇電路240將解碼器電路232 的、被作為到選擇電路MO的其中一個(gè)輸入來(lái)接收的輸出耦合到輸出142。更具體而言,第二選擇電路240可以將第二選擇電路240的輸入中與所選擇的其中一個(gè)解碼器電路相對(duì)應(yīng)的一個(gè)輸入耦合到輸出142。
在一些實(shí)施方式中,輸出142可以包括由所選擇的解碼器電路提供的已解碼信息。輸出142可以包括用于指示碼字122是否被成功解碼或者所選擇的解碼器電路是否無(wú)法解碼碼字122的控制信號(hào)。可以將輸出142耦合到解碼器選擇電路220。解碼器選擇電路220可以處理輸出142,以確定所選擇的解碼器是否成功解碼碼字122。
響應(yīng)于確定所選擇的解碼器成功解碼碼字122,解碼器選擇電路220可以將輸出 142存儲(chǔ)到輸出緩沖器150并且/或者可以存儲(chǔ)解碼操作成功的指示。在一些實(shí)現(xiàn)中,解碼器選擇電路220可以增加與所選擇的解碼器電路(例如解碼器電路相對(duì)應(yīng)的、用于指示所選擇的解碼器成功解碼碼字122的次數(shù)的計(jì)數(shù)器。
響應(yīng)于確定所選擇的解碼器無(wú)法成功解碼碼字122,解碼器選擇電路220可以清除輸出142并且/或者可以存儲(chǔ)解碼操作失敗的指示。在一些實(shí)現(xiàn)中,解碼器選擇電路220 可以增加與所選擇的解碼器電路(例如解碼器電路23 相對(duì)應(yīng)的、用于指示所選擇的解碼器沒(méi)有成功解碼碼字122的次數(shù)的計(jì)數(shù)器。解碼器選擇電路220可以生成與比以前選擇的解碼器電路更復(fù)雜的解碼電路相對(duì)應(yīng)的新特征群。例如,以前生成的特征群可能對(duì)應(yīng)于解碼器電路232。響應(yīng)于確定解碼器電路232無(wú)法成功解碼碼字122,解碼器選擇電路220可以生成與解碼器電路234相對(duì)應(yīng)的解碼器選擇信號(hào),解碼器電路234可能比解碼器電路232 更復(fù)雜并且/或者更強(qiáng)大。解碼器選擇電路220可以向第一選擇電路210和第二選擇電路 240輸出新控制信號(hào)222,以使新選擇的解碼器電路(例如解碼器電路234)解碼碼字122。
在一些實(shí)施方式中,當(dāng)給定解碼器電路無(wú)法解碼碼字122時(shí),不是生成與解碼器電路序列中就復(fù)雜度而言的下一個(gè)解碼器電路相對(duì)應(yīng)的新選擇,而是解碼器選擇電路220 可以響應(yīng)于確定所選擇的解碼器電路無(wú)法成功解碼碼字122,總是生成與選擇性解碼電路 140中可用的最復(fù)雜的解碼器電路相對(duì)應(yīng)的選擇信號(hào)。例如,最初,解碼器選擇電路220可以生成使得第一選擇電路210選擇解碼器電路230來(lái)解碼碼字122的特征群。解碼器選擇電路220可以確定所選擇的解碼器電路230無(wú)法成功解碼碼字122。作為響應(yīng),解碼器選擇電路220可以生成使得第一選擇電路210選擇解碼器電路234(例如基于比其他可用的解碼器電路230和232更復(fù)雜的解碼技術(shù)來(lái)解碼碼字的解碼器電路)來(lái)解碼碼字122的新選擇信號(hào)。在確定新選擇的解碼器電路234成功解碼碼字122之后,解碼器選擇電路220可以將已解碼信息存儲(chǔ)在輸出緩沖器150中。
圖3顯示了用根據(jù)本公開的一些實(shí)施方式的混合解碼器來(lái)解碼數(shù)據(jù)的過(guò)程的示例性流程圖300。在310,接收包括碼字的數(shù)據(jù)信號(hào)。例如,可以從存儲(chǔ)設(shè)備110中的存儲(chǔ)位置取回碼字并且將其存儲(chǔ)在輸入緩沖器120中。
在320,計(jì)算數(shù)據(jù)信號(hào)的特征群。例如,信號(hào)質(zhì)量計(jì)算電路130可以分析輸入緩沖器120中所存儲(chǔ)的碼字的信號(hào)質(zhì)量,并且向解碼器選擇電路220提供表示該信號(hào)質(zhì)量的信號(hào)。解碼器選擇電路220可以通過(guò)例如將該碼字的信號(hào)質(zhì)量與一個(gè)或多個(gè)預(yù)定閾值進(jìn)行比較來(lái)生成特征群。
在330,基于計(jì)算的特征群選擇多個(gè)解碼器中的一個(gè)解碼器。該多個(gè)解碼器中的每個(gè)解碼器被配置為基于不同的解碼技術(shù)來(lái)解碼信息。例如,解碼器選擇電路220可以輸出控制信號(hào)222,控制信號(hào)222表示所計(jì)算的使得第一選擇電路210向解碼器電路230、232 和234中由控制信號(hào)222識(shí)別的一個(gè)解碼器電路輸出碼字122的特征群。
在340,使用多個(gè)解碼器中所選擇的一個(gè)解碼器來(lái)解碼數(shù)據(jù)信號(hào)中所包括的碼字。
前文描述了用混合解碼器來(lái)解碼數(shù)據(jù)的系統(tǒng)和方法。本領(lǐng)域的熟練技術(shù)人員將明白可以通過(guò)與所述的實(shí)施方式不同的其他實(shí)施方式來(lái)實(shí)施本公開所述的實(shí)施方式,其中所述的實(shí)施方式是為了舉例說(shuō)明而不是為了限制的目的而給出的。
此外,本公開不限于具體的實(shí)現(xiàn)。例如,上述方法的一個(gè)或多個(gè)步驟可以按照不同的次序(或同時(shí)地)執(zhí)行并且仍然實(shí)現(xiàn)希望的結(jié)果。另外,可以用硬件來(lái)實(shí)現(xiàn)本公開,例如在專用集成電路(ASIC)上或者在現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)上,ASIC和FPGA兩者可以包括附加的通信電路(例如射頻電路)??蛇x擇地,可以用運(yùn)行在任意合適的硬件處理器上的軟件來(lái)實(shí)現(xiàn)本公開。因此,在不脫離如所附權(quán)利要求中所述的本公開的范圍的前提下,本領(lǐng)域的熟練技術(shù)人員可以在任何恰當(dāng)?shù)牡胤綉?yīng)用等效方式以及進(jìn)行替換。
權(quán)利要求
1.一種方法,包括接收包括碼字的數(shù)據(jù)信號(hào); 計(jì)算所述數(shù)據(jù)信號(hào)的信號(hào)質(zhì)量指示;基于所計(jì)算的信號(hào)質(zhì)量指示,選擇多個(gè)解碼器中的一個(gè)解碼器,其中,所述多個(gè)解碼器中的每個(gè)解碼器被配置為基于不同的解碼技術(shù)來(lái)解碼信息;并且使用所述多個(gè)解碼器中所選擇的一個(gè)解碼器來(lái)解碼包括在所述數(shù)據(jù)信號(hào)中的所述碼字。
2.如權(quán)利要求1所述的方法,其中,所述信號(hào)質(zhì)量指示是所接收的碼字的特征群權(quán)重。
3.如權(quán)利要求1所述的方法,其中,所計(jì)算的信號(hào)質(zhì)量指示表示所述數(shù)據(jù)信號(hào)的信噪比(SNR)或原始誤比特率。
4.如權(quán)利要求1所述的方法,還包括確定所述信號(hào)質(zhì)量指示的值是否超過(guò)預(yù)定閾值;其中當(dāng)確定所述值超過(guò)所述預(yù)定閾值時(shí),所述多個(gè)解碼器中所選擇的一個(gè)解碼器是所述多個(gè)解碼器中的第一解碼器;并且當(dāng)確定所述值等于或小于所述預(yù)定閾值時(shí),所述多個(gè)解碼器中所選擇的一個(gè)解碼器是所述多個(gè)解碼器中的第二解碼器。
5.如權(quán)利要求1所述的方法,還包括確定用所述多個(gè)解碼器中所選擇的一個(gè)解碼器是否成功解碼所述碼字; 當(dāng)確定用所述多個(gè)解碼器中所選擇的一個(gè)解碼器沒(méi)有解碼所述碼字時(shí),選擇所述多個(gè)解碼器中的、與所述多個(gè)解碼器中的所選擇的一個(gè)解碼器不同的第二解碼器;并且使用所述多個(gè)解碼器中所選擇的第二解碼器來(lái)解碼所述數(shù)據(jù)信號(hào)中所包括的所述碼字。
6.如權(quán)利要求1所述的方法,其中,所述多個(gè)解碼器中的第一解碼器被配置為使用比所述多個(gè)解碼器中的第二解碼器更少數(shù)量的迭代來(lái)解碼信息。
7.如權(quán)利要求1所述的方法,其中,基于與所述碼字相對(duì)應(yīng)的導(dǎo)頻信號(hào)中的差錯(cuò)的數(shù)量來(lái)計(jì)算所述信號(hào)質(zhì)量。
8.如權(quán)利要求1所述的方法,其中,基于在存儲(chǔ)所述碼字的電子存儲(chǔ)設(shè)備中執(zhí)行的編程擦寫循環(huán)的數(shù)量或者基于從所述數(shù)據(jù)信號(hào)被編寫到所述電子存儲(chǔ)設(shè)備中開始所經(jīng)過(guò)的時(shí)間來(lái)計(jì)算所述信號(hào)質(zhì)量指示。
9.如權(quán)利要求1所述的方法,其中,所述選擇包括用解復(fù)用器接收包括所述碼字的所述數(shù)據(jù)信號(hào)以及控制信號(hào),其中,所述解復(fù)用器包括多個(gè)輸出,每個(gè)輸出耦合到所述多個(gè)解碼器中的各自的一個(gè)解碼器;并且基于所述控制信號(hào),將所述數(shù)據(jù)信號(hào)耦合到所述復(fù)用器的所述多個(gè)輸出中的、被耦合到所述多個(gè)解碼器中所選擇的一個(gè)解碼器的一個(gè)輸出。
10.如權(quán)利要求1所述的方法,其中,所述多個(gè)解碼器中的第一解碼器與所述多個(gè)解碼器中的第二解碼器共享解碼電路。
11.一種系統(tǒng),包括多個(gè)解碼器,其中,所述多個(gè)解碼器中的每個(gè)解碼器被配置為基于不同的解碼技術(shù)來(lái)解碼信息;以及控制電路,所述控制電路被配置為 接收包括碼字的數(shù)據(jù)信號(hào); 計(jì)算所述數(shù)據(jù)信號(hào)的信號(hào)質(zhì)量指示;基于所計(jì)算的信號(hào)質(zhì)量指示,選擇所述多個(gè)解碼器中的一個(gè)解碼器,并且使用所述多個(gè)解碼器中所選擇的一個(gè)解碼器來(lái)解碼包括在所述數(shù)據(jù)信號(hào)中的所述碼字。
12.如權(quán)利要求11所述的系統(tǒng),其中,所述信號(hào)質(zhì)量指示是所接收的碼字的特征群權(quán)重。
13.如權(quán)利要求11所述的系統(tǒng),其中,所計(jì)算的信號(hào)質(zhì)量指示表示所述數(shù)據(jù)信號(hào)的信噪比(SNR)或原始誤比特率。
14.如權(quán)利要求11所述的系統(tǒng),其中,所述控制電路還被配置為 確定所述信號(hào)質(zhì)量指示的值是否超過(guò)預(yù)定閾值;其中當(dāng)確定所述值超過(guò)所述預(yù)定閾值時(shí),所述多個(gè)解碼器中所選擇的一個(gè)解碼器是所述多個(gè)解碼器中的第一解碼器;并且當(dāng)確定所述值等于或小于所述預(yù)定閾值時(shí),所述多個(gè)解碼器中所選擇的一個(gè)解碼器是所述多個(gè)解碼器中的第二解碼器。
15.如權(quán)利要求11所述的系統(tǒng),其中,所述控制電路還被配置為確定用所述多個(gè)解碼器中所選擇的一個(gè)解碼器是否成功解碼所述碼字; 當(dāng)確定用所述多個(gè)解碼器中所選擇的一個(gè)解碼器沒(méi)有成功解碼所述碼字時(shí),選擇所述多個(gè)解碼器中的、與所述多個(gè)解碼器中的所選擇的一個(gè)解碼器不同的第二解碼器;并且使用所述多個(gè)解碼器中所選擇的第二解碼器來(lái)解碼所述數(shù)據(jù)信號(hào)中所包括的所述碼字。
16.如權(quán)利要求11所述的系統(tǒng),其中,所述多個(gè)解碼器中的第一解碼器被配置為使用比所述多個(gè)解碼器中的第二解碼器更少數(shù)量的迭代來(lái)解碼信息。
17.如權(quán)利要求11所述的系統(tǒng),其中,基于與所述碼字相對(duì)應(yīng)的導(dǎo)頻信號(hào)中的差錯(cuò)的數(shù)量來(lái)計(jì)算所述信號(hào)質(zhì)量指示。
18.如權(quán)利要求11所述的系統(tǒng),其中,基于在存儲(chǔ)所述碼字的電子存儲(chǔ)設(shè)備中執(zhí)行的編程擦寫循環(huán)的數(shù)量或者基于從所述數(shù)據(jù)信號(hào)被編寫到所述電子存儲(chǔ)設(shè)備中開始所經(jīng)過(guò)的時(shí)間來(lái)計(jì)算所述信號(hào)質(zhì)量指示。
19.如權(quán)利要求11所述的系統(tǒng),還包括包括多個(gè)輸出的解復(fù)用器,每個(gè)輸出耦合到所述多個(gè)解碼器中的各自的一個(gè)解碼器, 其中所述解復(fù)用器被配置為接收包括所述碼字的所述數(shù)據(jù)信號(hào)以及控制信號(hào);并且基于所述控制信號(hào),將所述數(shù)據(jù)信號(hào)耦合到所述復(fù)用器的所述多個(gè)輸出中的、被耦合到所述多個(gè)解碼器中所選擇的一個(gè)解碼器的一個(gè)輸出。
20.如權(quán)利要求11所述的系統(tǒng),其中,所述多個(gè)解碼器中的第一解碼器與所述多個(gè)解碼器中的第二解碼器共享解碼電路。
全文摘要
提供了使用混合解碼器來(lái)解碼數(shù)據(jù)的系統(tǒng)和方法。接收包括碼字的數(shù)據(jù)信號(hào)。計(jì)算該數(shù)據(jù)信號(hào)的信號(hào)質(zhì)量指示。基于所計(jì)算的信號(hào)質(zhì)量指示,選擇多個(gè)解碼器中的一個(gè)解碼器。該多個(gè)解碼器中的每一個(gè)被配置為基于不同的解碼技術(shù)來(lái)解碼信息。使用該多個(gè)解碼器中的所選擇的一個(gè)解碼器來(lái)解碼該數(shù)據(jù)信號(hào)中所包括的碼字。
文檔編號(hào)G11C7/10GK102543149SQ201110368928
公開日2012年7月4日 申請(qǐng)日期2011年11月14日 優(yōu)先權(quán)日2010年11月12日
發(fā)明者陽(yáng)學(xué)仕 申請(qǐng)人:馬維爾國(guó)際貿(mào)易有限公司