用于從存儲(chǔ)設(shè)備讀取和解碼編碼數(shù)據(jù)的系統(tǒng)和方法
【專利摘要】提供了從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的系統(tǒng)和方法。從存儲(chǔ)設(shè)備讀取第一碼字和第二碼字,其中第二碼字位于第一碼字之后。并行地解碼第一碼字和第二碼字,且在第一碼字的解碼完成之前完成第二碼字的解碼。在第一碼字的解碼完成之前,將解碼的第二碼字和指示第二碼字的解碼是否完成的信號(hào)傳送至控制電路。
【專利說明】用于從存儲(chǔ)設(shè)備讀取和解碼編碼數(shù)據(jù)的系統(tǒng)和方法
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本公開內(nèi)容要求共同未決、共同受讓的,2012年6月27日提交的美國(guó)臨時(shí)專利申請(qǐng)N0.61/665,127的權(quán)利,其全部?jī)?nèi)容通過引用并入本文。
【技術(shù)領(lǐng)域】
[0003]本公開內(nèi)容涉及一種用于從存儲(chǔ)設(shè)備讀取和解碼數(shù)據(jù)的方法和系統(tǒng)。更具體地,本公開內(nèi)容涉及一種用于將從存儲(chǔ)設(shè)備讀取的解碼碼字傳送至主機(jī)控制器的優(yōu)化過程。
【背景技術(shù)】
[0004]本文提供的背景描述是為了一般地呈現(xiàn)本公開內(nèi)容的上下文背景的目的。本文發(fā)明人在本背景章節(jié)中所描述的工作的程度的工作,以及在提交時(shí)可能還不能取得現(xiàn)有技術(shù)資格的本說明書的各方面,既非明確地也非隱含地承認(rèn)為相對(duì)本公開內(nèi)容的現(xiàn)有技術(shù)。
[0005]本公開內(nèi)容涉及一種用于從存儲(chǔ)設(shè)備讀取的方法和系統(tǒng)。數(shù)據(jù)存儲(chǔ)在存儲(chǔ)設(shè)備上的各種不同數(shù)據(jù)扇區(qū)中。讀取命令被傳送以讀取和解碼存儲(chǔ)在這些不同扇區(qū)中的碼字。確定解碼一個(gè)碼字所需要的解碼時(shí)間量的一個(gè)因素是與用于那個(gè)給定碼字的讀取操作相關(guān)聯(lián)的信噪比(SNR)。
[0006]作為記錄類型的一個(gè)示例,在磁記錄中,基于讀取命令中的碼字的位置,序列地讀取和解碼碼字,讀取命令列出將從存儲(chǔ)設(shè)備讀取特定碼字的順序。作為應(yīng)用讀取命令的結(jié)果,讀取通道讀取且嘗試解碼碼字。依賴于用于特定碼字的讀取操作的SNR,某些碼字可能比具有更高SNR的其它碼字需要更長(zhǎng)的時(shí)間段來完成解碼。
[0007]用于從存儲(chǔ)設(shè)備讀取和解碼碼字的傳統(tǒng)系統(tǒng)是低效的。從存儲(chǔ)設(shè)備讀取的碼字被輸入至兩個(gè)碼字解碼器引擎。解碼完成時(shí)碼字必須存儲(chǔ)在讀取通道中直到所有的碼字在它們完成解碼前被輸入至解碼器引擎。因此,比待解碼的其它碼字花費(fèi)更長(zhǎng)時(shí)間的特定碼字延遲其它碼字的輸出直到特定的碼字完成解碼。一旦較早的輸入碼字完成解碼,讀取通道只能被解碼碼字淹沒(flushed)。這些系統(tǒng)不但需要用于讀取通道的大存儲(chǔ)器,而且在讀取通道耗盡存儲(chǔ)器的事件中,較早的輸入碼字的解碼還沒有結(jié)束解碼,可能不得不中止以涌出(flush out)已經(jīng)完成解碼的碼字。
【發(fā)明內(nèi)容】
[0008]提供了用于從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的系統(tǒng)和方法。
[0009]在一些實(shí)施例中,從存儲(chǔ)設(shè)備讀取第一碼字和第二碼字。第二碼字可以位于存儲(chǔ)設(shè)備上、第一碼字之后。第一碼字和第二碼字可以并行地被解碼。第二碼字的解碼可以在第一碼字的解碼完成之前完成。在第一碼字解碼完成之前,解碼的第二碼字以及指示第二碼字的解碼是否完成的信號(hào)可以傳送至控制電路。信號(hào)可以指示第二碼字相對(duì)于第一碼字的位置。
[0010]在某個(gè)實(shí)施方式中,指示第二碼字的解碼是否完成的信號(hào)可以包括標(biāo)識(shí)在存儲(chǔ)設(shè)備中每個(gè)碼字相對(duì)于其它碼字的位置的標(biāo)簽。
[0011 ] 在某個(gè)實(shí)施方式中,控制電路可以向存儲(chǔ)設(shè)備傳送發(fā)起從存儲(chǔ)設(shè)備讀取第一碼字和第二碼字的輸入信號(hào)。輸入信號(hào)可以包括標(biāo)識(shí)第一碼字和第二碼字將被解碼的順序的標(biāo)簽。
[0012]在某個(gè)實(shí)施方式中,控制電路可以確定第二碼字已經(jīng)解碼以及第一碼字的解碼尚未完成。指示第一碼字尚未完成解碼的最小長(zhǎng)度信號(hào)可以傳送至控制電路。
[0013]在某個(gè)實(shí)施方式中,公開了一種用于從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的系統(tǒng)。系統(tǒng)包括配置為從存儲(chǔ)設(shè)備讀取第一碼字和第二碼字的讀取通道。第二碼字可以位于存儲(chǔ)設(shè)備上、第一碼字之后。讀取通道進(jìn)一步配置為并行地解碼第一碼字和第二碼字。第二碼字的解碼可以在第一碼字的解碼完成之前完成。讀取通道進(jìn)一步配置為在第一碼字的解碼完成之前,傳送解碼的第二碼字以及指示第二碼字的解碼是否完成的信號(hào)至控制電路。信號(hào)可以指示第二碼字相對(duì)于第一碼字的位置。
【專利附圖】
【附圖說明】
[0014]基于對(duì)下列結(jié)合附圖的詳細(xì)描述的考慮,本公開內(nèi)容的進(jìn)一步特征、它的性質(zhì)以及各種優(yōu)點(diǎn)將變得明顯,在附圖中,附圖相似的參考符號(hào)通篇指代相似的部分,且其中:
[0015]圖1示出根據(jù)本公開內(nèi)容的若干實(shí)施例,從存儲(chǔ)設(shè)備讀取和解碼碼字的示例解碼系統(tǒng)的不意圖;
[0016]圖2示出根據(jù)本公開內(nèi)容的若干實(shí)施例,在讀取和解碼操作的操作期間,在解碼系統(tǒng)的各種組件之間傳遞的若干信號(hào);
[0017]圖3示出根據(jù)本公開內(nèi)容的若干實(shí)施例,用于從存儲(chǔ)設(shè)備讀取和解碼碼字的示例過程;以及
[0018]圖4示出根據(jù)本公開內(nèi)容的若干實(shí)施例,由圖1的解碼系統(tǒng)所使用的用于有效地讀取和解碼碼字的過程。
【具體實(shí)施方式】
[0019]本公開內(nèi)容描述了主機(jī)控制器和讀取通道(RDC)之間的接口。位于主機(jī)控制器(例如,硬盤控制器)和讀取通道之間的這個(gè)接口通道容納用于從存儲(chǔ)設(shè)備讀取和解碼編碼數(shù)據(jù)的信令。為了示例的目的,本公開內(nèi)容在硬盤驅(qū)動(dòng)存儲(chǔ)設(shè)備的上下文中描述。然而,應(yīng)當(dāng)理解,本公開內(nèi)容的教導(dǎo)同樣地可應(yīng)用至任何其它電子存儲(chǔ)設(shè)備(例如,固態(tài)驅(qū)動(dòng)器、非易失性存儲(chǔ)設(shè)備、或光盤)。
[0020]提供了用于增強(qiáng)讀取和解碼存儲(chǔ)在硬盤驅(qū)動(dòng)器中的數(shù)據(jù)的硬盤驅(qū)動(dòng)器讀取通道的性能的系統(tǒng)和方法通道。數(shù)據(jù)存儲(chǔ)在硬盤驅(qū)動(dòng)器的各種扇區(qū)中。在讀取操作期間,主機(jī)控制器命令讀取通道從硬盤驅(qū)動(dòng)器的若干不同扇區(qū)讀取數(shù)據(jù)。這些存儲(chǔ)在硬盤驅(qū)動(dòng)器中的數(shù)據(jù)是編碼的。流行的編碼方案的一些示例是頻率調(diào)制、修改的頻率調(diào)制、以及運(yùn)行長(zhǎng)度有限編碼。主機(jī)控制器命令讀取通道從存儲(chǔ)設(shè)備讀取和解碼這些數(shù)據(jù)。一旦從存儲(chǔ)讀取的數(shù)據(jù)由讀取通道解碼,它被傳遞至主機(jī)控制器。主機(jī)控制器傳送這個(gè)解碼數(shù)據(jù)至合適的芯片外存儲(chǔ)器單元,以便供請(qǐng)求的處理器或應(yīng)用程序使用。
[0021]編碼一般指代以促進(jìn)隨后對(duì)數(shù)據(jù)中的錯(cuò)誤進(jìn)行檢測(cè)和/或糾正的方式產(chǎn)生數(shù)據(jù)的過程,而解碼一般指代檢測(cè)和/或糾正錯(cuò)誤的相對(duì)(counterpart)過程。執(zhí)行行編碼和解碼的碼系統(tǒng)的元件同樣地分別稱為編碼器和解碼器。
[0022]圖1示出根據(jù)本公開內(nèi)容的一些實(shí)施例的示例系統(tǒng)100。系統(tǒng)100包括存儲(chǔ)設(shè)備102、讀取通道104、硬盤驅(qū)動(dòng)控制器106、以及存儲(chǔ)器單元108。存儲(chǔ)器單元108可以包括電子存儲(chǔ)設(shè)備(例如,閃存設(shè)備、隨機(jī)訪問存儲(chǔ)設(shè)備、可編程邏輯設(shè)備、非易失存儲(chǔ)器、易失性存儲(chǔ)器、FeRAM、CBRAM、PRAM、SONOS、RRAM、賽道存儲(chǔ)器、NRAM以及千足蟲(Millipede)存儲(chǔ)設(shè)備)。存儲(chǔ)設(shè)備102可以是磁硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、非易失性存儲(chǔ)設(shè)備、或光盤。存儲(chǔ)設(shè)備102可以劃分為編碼的數(shù)據(jù)存儲(chǔ)其上的若干不同扇區(qū)。讀取通道104包括解碼器120和通道存儲(chǔ)器122。讀取通道104和硬盤控制器106是物理地位于片上系統(tǒng)130上的組件。
[0023]在若干實(shí)施例中,當(dāng)硬盤控制器106命令讀取通道104以安排好的次序讀取存儲(chǔ)設(shè)備102的特定扇區(qū)時(shí),發(fā)起讀取操作。一旦讀取通道104從硬盤控制器106接收到讀取命令118,讀取通道104訪問存儲(chǔ)102且以讀取命令118指定的順序讀取編碼數(shù)據(jù)。特別地,讀取通道104向存儲(chǔ)設(shè)備102發(fā)出數(shù)據(jù)檢索命令112。數(shù)據(jù)檢索命令112可以與讀取命令118相同。讀取通道104接收從存儲(chǔ)設(shè)備102讀取的編碼數(shù)據(jù)124。一旦讀取通道104從存儲(chǔ)設(shè)備102接收到編碼數(shù)據(jù)124,讀取通道104傳遞編碼碼字進(jìn)入解碼器120。解碼器120可以是并行從編碼數(shù)據(jù)124解碼多個(gè)碼字的多解碼器引擎??商鎿Q地,解碼器120可以是一次處理一個(gè)碼字的順序解碼器。
[0024]在若干實(shí)施例中,在解碼器120中解碼的碼字之一可能比其它在解碼的碼字花費(fèi)更長(zhǎng)的時(shí)間。解碼器120接收的具有低SNR的碼字經(jīng)常比具有高SNR的信號(hào)花費(fèi)更長(zhǎng)的時(shí)間段來解碼。一旦碼字在另一個(gè)碼字完成解碼之前結(jié)束解碼,解碼的碼字114從讀取通道104傳送至硬盤控制器106。例如,讀取命令118可以指定命令讀取通道104以順序的次序去讀取三個(gè)碼字:碼字A、碼字B、以及碼字C。然而,碼字A可以具有低SNR且可能比碼字B和C花費(fèi)更久完成解碼。根據(jù)若干實(shí)施例,讀取通道104可以并行地解碼碼字A和碼字B。盡管碼字A是讀取命令118中的第一個(gè)碼字,一旦碼字B結(jié)束解碼,讀取通道104將傳送解碼的碼字B至硬盤控制器106。當(dāng)碼字A被繼續(xù)解碼時(shí),碼字C將被輸入到先前解碼碼字B的解碼電路。
[0025]除了傳送解碼碼字至硬盤控制器106之外,讀取通道104還傳送有效讀取信號(hào)116至硬盤控制器106,指示特定的碼字成功地讀取和解碼。硬盤控制器106隨后存儲(chǔ)解碼碼字126于存儲(chǔ)器單元108中。存儲(chǔ)器單元108可以是芯片外建立的大型易失或非易失性存儲(chǔ)器,比如雙倍數(shù)據(jù)速率隨機(jī)訪問存儲(chǔ)器(DDR RAM)。解碼數(shù)據(jù)126可以用于各種從存儲(chǔ)設(shè)備102讀取請(qǐng)求數(shù)據(jù)的過程或應(yīng)用。
[0026]在一些實(shí)施例中,讀取通道104存儲(chǔ)從存儲(chǔ)設(shè)備124讀取的,尚未通道輸入到通道存儲(chǔ)器122中的解碼器120中的編碼碼字124。例如,如果讀取通道104確定從存儲(chǔ)102接收的編碼碼字124存在過多的情況且多解碼引擎120的所有解碼器當(dāng)前都忙于解碼碼字,讀取通道將存儲(chǔ)在通道存儲(chǔ)器122中正從存儲(chǔ)設(shè)備102讀取的進(jìn)入碼字124??商鎿Q的,讀取通道104可以存儲(chǔ)某些還需要在通道存儲(chǔ)器122中進(jìn)行多于一個(gè)循環(huán)解碼的碼字。例如,如果讀取通道104確定解碼器120在一個(gè)循環(huán)中不能成功地解碼碼字,在部分解碼的碼字再次被解碼之前,讀取通道104可以將部分解碼的碼字存儲(chǔ)在通道存儲(chǔ)器122中。
[0027]圖2示出根據(jù)若干實(shí)施例,由HDC-RDC系統(tǒng)100使用來從存儲(chǔ)設(shè)備102讀取和解碼碼字的示例信號(hào)組。RGATE202和RGATE TAG212是圖1的信號(hào)118的分量。RDV222和RDVTAG232是圖1的信號(hào)116的分量。
[0028]硬盤控制器106通過傳送信號(hào)(RGATE) 202至讀取通道104,命令讀取通道104在存儲(chǔ)設(shè)備102上讀取編碼數(shù)據(jù)。圖2圖示出傳送至讀取通道104的可能RGATE信號(hào)202。RGATE202包括脈沖204、206、208、和210。每個(gè)這些RGATE脈沖對(duì)應(yīng)于在存儲(chǔ)設(shè)備102的給定扇區(qū)讀取特定碼字的讀取命令。除了傳送RGATE202,硬盤控制器106還傳送RGATETAG212至讀取通道104。RGATE TAG212包含脈沖214、216、218、和220,它們分別包含用于RGATE202的脈沖204、206、208、和210的標(biāo)簽。每個(gè)RGATE TAG212脈沖包括與它伴隨的RGATE202脈沖相關(guān)聯(lián)的標(biāo)簽標(biāo)識(shí)符。通過將標(biāo)簽分配給讀取命令,硬盤控制器106能夠以獨(dú)立于RGATE202信號(hào)中它們的位置的方式跟蹤碼字。
[0029]一旦讀取通道104接收到RGATE和RGATE TAG信號(hào)且傳送數(shù)據(jù)檢索命令112至存儲(chǔ)102,存儲(chǔ)設(shè)備102傳送碼數(shù)據(jù)124至讀取通道104。一旦讀取通道104使用解碼器120解碼數(shù)據(jù),讀取通道104傳送解碼碼字至硬盤控制器106。包括解碼碼字,RDATAl 14的信號(hào)包括解碼碼字。
[0030]除了傳送RDATA114至硬盤控制器106,讀取通道104還傳送有效讀取信號(hào)(RDV) 116至硬盤控制器106。RDV222和RDV TAG232結(jié)合組成了這個(gè)有效讀取(RDV)信號(hào)。RDV222包含脈沖224、226、228、和230,每個(gè)脈沖指示對(duì)應(yīng)的碼字是否成功地解碼。RDVTAG232包含脈沖234、236、238、和240,它們包含分別用于RDV232的脈沖224、226、228、和230的標(biāo)簽。RDV標(biāo)簽標(biāo)識(shí)與對(duì)應(yīng)于RDV標(biāo)簽的RDV脈沖相關(guān)聯(lián)的碼字。這個(gè)給RDV脈沖加標(biāo)簽的系統(tǒng)允許數(shù)據(jù)涌出(flush out)讀取通道,脫離在RGATE202讀取命令中指定的初始順序。
[0031]對(duì)于每個(gè)碼字將產(chǎn)生RDV脈沖,不管它是否成功地解碼。硬盤控制器106使用RDV脈沖連同從讀取通道104接收的RDATA,產(chǎn)生以它最終形式的解碼碼字作為信號(hào)108傳送給存儲(chǔ)器單元120。RDV信號(hào)222指示與之相關(guān)聯(lián)的碼字是否通過RDV脈沖的長(zhǎng)度優(yōu)點(diǎn)來成功地解碼。如果讀取通道104確定碼字未成功地解碼,讀取通道104產(chǎn)生最小長(zhǎng)度RDV脈沖。在圖2中描繪的實(shí)施例中,讀取通道對(duì)于任何它確定未成功地完成解碼的碼字,產(chǎn)生具有16個(gè)時(shí)鐘周期的脈沖長(zhǎng)度的RDV脈沖。另一方面,讀取通道104對(duì)于讀取通道104確定成功地解碼的碼字,產(chǎn)生具有與找到碼字的存儲(chǔ)設(shè)備扇區(qū)的尺寸成比例的脈沖長(zhǎng)度的RDV脈沖。
[0032]在圖2中示出的示例中,RGATE202包括讀取和解碼碼字M、N、P和O的指令,它們分別由RGATE TAG212的脈沖214、216、218、和220指示。通過產(chǎn)生RGATE TAG212,硬盤控制器106設(shè)置給將被讀取的碼字貼上標(biāo)簽的慣例。當(dāng)在硬盤控制器106處接收時(shí),即使碼字脫離了由RGATE202指定的初始順序,從存儲(chǔ)單元讀取的解碼數(shù)據(jù)通過檢查解碼碼字的標(biāo)簽來決定哪個(gè)碼字正在被接收也能夠被解讀。在這個(gè)示例中,碼字M是具有最低SNR的信號(hào),且因此花費(fèi)最久來解碼。當(dāng)碼字M正在多解碼器引擎的一個(gè)解碼器中被解碼,碼字N、P、和O的至少一個(gè)也正在與碼字M并行被解碼。當(dāng)碼字N完成解碼,碼字M繼續(xù)解碼。在碼字N的解碼完成時(shí),第二解碼器開始解碼碼字P,同時(shí)第一解碼器忙于解碼碼字M。一旦碼字N完成解碼,讀取通道104在RDATA144流中傳送解碼的碼字N,且還在RDV信號(hào)222中傳送RDV脈沖224。為了標(biāo)識(shí)關(guān)聯(lián)于RDV脈沖224的碼字,讀取通道還傳送伴隨RDV脈沖224的RDV TAG脈沖234。硬盤控制器在RDATAl 14、RDV脈沖224、和RDV標(biāo)簽脈沖234中接收解碼的碼字N,且能夠通過檢查接收到的標(biāo)簽脈沖,標(biāo)識(shí)RDV脈沖224和解碼的碼字為碼字N。在這個(gè)示例中,當(dāng)碼字M在嘗試被解碼時(shí),碼字N、P、和O成功地解碼。在碼字M完成解碼前,讀取通道104在RDATA114、RDV脈沖224、226、228、RDV標(biāo)簽脈沖234、236、和238中傳送解碼的碼字N、P、和Q至硬盤控制器106。如果在嘗試解碼碼字M之后,解碼器120不成功地且不能適當(dāng)?shù)亟獯a碼字M,讀取通道104傳送由RDV標(biāo)簽240伴隨的RDV脈沖230,指示碼字M未成功解碼。硬盤控制器106審查接收到的RDV標(biāo)簽的長(zhǎng)度,以確定特定的碼字是否成功解碼。通過確定RDV脈沖230是16個(gè)時(shí)鐘周期的最小RDV長(zhǎng)度,硬盤控制器確定碼字M未適當(dāng)?shù)亟獯a。然而,硬盤控制器106審查RDV脈沖234、236、和238的長(zhǎng)度且確定碼字N、P、和O成功解碼。
[0033]一旦讀取通道104確定了哪個(gè)碼字被成功地解碼,讀取通道104能夠產(chǎn)生SECTORFOUND信號(hào)242以標(biāo)識(shí)哪些扇區(qū)已經(jīng)聚合(converged)。如果存儲(chǔ)設(shè)備102的扇區(qū)中的所有碼字被找到,則那個(gè)扇區(qū)考慮為聚合扇區(qū)。例如,因?yàn)榇a字M未成功解碼,讀取通道能夠確定含有碼字M的扇區(qū)未聚合。因此,讀取通道104不發(fā)送指示找到與碼字M相關(guān)聯(lián)的扇區(qū)的脈沖。然而,讀取通道104確實(shí)用SECTOR FOUND脈沖244、246、和248指示對(duì)于碼字N、P、和O的扇區(qū)被找到。SECTOR F0UND242由讀取通道104產(chǎn)生,且用來產(chǎn)生RDV脈沖。例如,如果讀取通道104確定對(duì)于特定的碼字未發(fā)送SECTOR FOUND脈沖,讀取通道104對(duì)于那個(gè)關(guān)聯(lián)的碼字將產(chǎn)生最小長(zhǎng)度RDV脈沖。另一方面,如果讀取通道104確定對(duì)于一個(gè)碼字存在SECTOR FOUND脈沖,讀取通道104對(duì)于那個(gè)碼字將產(chǎn)生非最小長(zhǎng)度RDV脈沖。
[0034]解碼器120 —完成解碼碼字,讀取通道104就能夠傳送解碼的碼字、RDV信號(hào)、和與那些解碼碼字關(guān)聯(lián)的RDV標(biāo)簽至硬盤控制器106。因?yàn)橹С置撾x順序傳送碼字,更多信息能夠迅速地被傳送至硬盤控制器106,且系統(tǒng)100需要更少通道存儲(chǔ)器122的使用。這是因?yàn)樵趥魉徒獯a碼字至硬盤控制器106之前需要解碼所有碼字的系統(tǒng),在解碼的碼字傳送至硬盤控制器106之前,使用更多存儲(chǔ)器來存儲(chǔ)解碼的碼字。這些因素導(dǎo)致了更有效的讀取和解碼過程。因?yàn)橛脖P控制器106使用RGATE TAG212初始地給碼字貼上標(biāo)簽,支持了這種脫離順序的碼字傳送。依靠RDV TAG232,讀取通道104針對(duì)它的解碼碼字和RDV222產(chǎn)生那些相同的標(biāo)簽。硬盤控制器106能夠通過比較RDVTAG脈沖與RGATE TAG脈沖,標(biāo)識(shí)解碼碼字114和RDV222。一旦硬盤控制器106具有所有必要的碼字,它能夠?qū)⒔獯a的碼字108傳送至存儲(chǔ)器單元120。
[0035]圖3描繪了用于從存儲(chǔ)設(shè)備讀取和解碼碼字的過程。在302,讀取通道104從存儲(chǔ)設(shè)備102讀取第一和第二碼字。基于讀取命令RGATE202的指令,讀取通道104讀取第一和
第二碼字。
[0036]在304,解碼器120并行地解碼第一碼字和第二碼字,其中第二碼字的解碼在第一碼字解碼完成之前完成。例如,第一碼字具有比第二碼字低的SNR,且因此解碼器120解碼第一碼字比解碼第二碼字花費(fèi)更久。因?yàn)榻獯a器120是多解碼器引擎,第二碼字一完成解碼,第三碼字就輸入到在解碼第二碼字的解碼器。
[0037]在306,讀取通道104傳送解碼的第二碼字和指示第二碼字的解碼在第一碼字的解碼完成之前完成的信號(hào)。例如,第二碼字的解碼一完成,讀取通道104就對(duì)于第二碼字產(chǎn)生RDV脈沖,RDV脈沖的長(zhǎng)度與讀取出第二碼字的硬盤驅(qū)動(dòng)器扇區(qū)的尺寸成比例。讀取通道104還產(chǎn)生指示RDV脈沖與第二碼字相關(guān)聯(lián)的RDV TAG脈沖。隨后,讀取通道104傳送解碼的第二碼字、它的關(guān)聯(lián)RDV脈沖、和關(guān)聯(lián)的RDV TAG脈沖至硬盤控制器106。當(dāng)?shù)谝淮a字仍然在解碼時(shí),所有的這個(gè)信息被讀取通道104傳送至硬盤控制器106。通過隨著它們解碼而將碼字傳送至硬盤控制器106,諸如系統(tǒng)100的先解碼完成先出的系統(tǒng)增加了讀取和解碼操作的速度。已經(jīng)完成解碼的碼字不再保存在讀取通道存儲(chǔ)器單元直到低SNR碼字結(jié)束解碼。為先解碼完成先出系統(tǒng)的系統(tǒng)100還減少了讀取通道存儲(chǔ)器的數(shù)量,這些讀取通道存儲(chǔ)器被需求來存儲(chǔ)已經(jīng)完成解碼但必須保存直到在前位置的碼字完成解碼的碼字。
[0038]圖4示出由圖1的解碼系統(tǒng)所使用的用于有效地讀取和解碼碼字的過程。在402,主機(jī)控制器106傳送輸入信號(hào)至讀取通道104,發(fā)起第一碼字和第二碼字的讀取。主機(jī)控制器106還傳送指示碼字的位置的標(biāo)簽至讀取通道104。例如,硬盤控制器106傳送指定讀取第一和第二碼字的順序的RGATE202至讀取通道,從而指示第一碼字將先于第二碼字被讀取。硬盤控制器106還產(chǎn)生且傳送含有標(biāo)簽標(biāo)識(shí)符的RGATE TAG212,所述標(biāo)簽標(biāo)識(shí)符標(biāo)識(shí)哪個(gè)碼字由RGATE信號(hào)上的每個(gè)脈沖指定。這個(gè)標(biāo)簽貫穿讀取和解碼過程中使用以追蹤碼字,即使碼字可以基于碼字何時(shí)完成解碼而脫離順序傳送。
[0039]在404,讀取通道104發(fā)起第一碼字和第二碼字的讀取。例如,接收RGATE202讀取命令和RGATE TAG212之后,讀取通道訪問在讀取命令中指定的存儲(chǔ)102的有關(guān)扇區(qū),且以指定的順序讀取在讀取命令中指定的第一和第二碼字。當(dāng)接收和處理RGATE202和RGATETAG212,讀取通道發(fā)送指令作為信號(hào)112至存儲(chǔ)102。存儲(chǔ)102傳送讀取的第一和第二碼字124至讀取通道104。
[0040]在406,讀取通道104發(fā)起第一和第二碼字的解碼。例如,作為讀取通道104的組件的多解碼器引擎120通道接收第一碼字和第二碼字且可以開始并行地解碼它們。
[0041]在408,讀取通道完成第二碼字的解碼。例如,第二碼字可以具有比第一碼字高的SNR且因此第二碼字較早地完成解碼。
[0042]在410,讀取通道104傳送解碼的第二碼字至硬盤控制器106。解碼器120 —完成碼字的解碼,讀取通道104就傳送解碼的碼字和RDATA信號(hào)至硬盤控制器106。
[0043]在412,讀取通道104傳送指示第二碼字是否有效讀取的信號(hào)至硬盤控制器106。例如,讀取通道104傳送對(duì)應(yīng)于第二碼字的、指示第二碼字是否適當(dāng)?shù)亟獯a的RDV脈沖。如果第二碼字成功地解碼,硬盤控制器106登記第二碼字的有效讀取。
[0044]在414,讀取通道104確定解碼器120是否已經(jīng)結(jié)束解碼第一碼字。如果解碼器120未結(jié)束解碼第一碼字,讀取通道104繼續(xù)等待直到解碼器120完成碼字的解碼。
[0045]在416,響應(yīng)于確定解碼器120已經(jīng)完成第一碼字的解碼,讀取通道104傳送解碼的第一碼字至硬盤控制器106。解碼器120 —完成第一碼字的解碼,讀取通道104就傳送解碼的第一碼字和RDATA信號(hào)至硬盤控制器106。
[0046]在418,讀取通道104傳送指示第一碼字是否有效讀取的信號(hào)至硬盤控制器106。例如,讀取通道104傳送對(duì)應(yīng)于第一碼字的、指示第一碼字是否適當(dāng)?shù)亟獯a的RDv脈沖。如果第一碼字成功地解碼,硬盤控制器106登記第二碼字的有效讀取。
[0047]在420,硬盤控制器106將解碼的第一和第二碼字存儲(chǔ)在存儲(chǔ)器單元108中。一旦硬盤控制器106針對(duì)第一和第二碼字中的每個(gè)碼字登記為有效讀取,硬盤控制器106傳送解碼的第一和第二碼字至存儲(chǔ)器單元108,存儲(chǔ)器單元108可以位于芯片外。[0048]將理解,前述的內(nèi)容僅為本發(fā)明原理的示例說明,且本發(fā)明能夠通過不同于所描述的實(shí)施例而實(shí)行,所描述的實(shí)施例為了示例而非限定的目的而呈現(xiàn),且本發(fā)明僅由隨附的權(quán)利要求書所限定。
【權(quán)利要求】
1.一種從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的方法,所述方法包括: 從所述存儲(chǔ)設(shè)備讀取第一碼字和第二碼字,其中所述第二碼字位于所述存儲(chǔ)設(shè)備上、所述第一碼字之后; 并行地解碼所述第一碼字和所述第二碼字,其中對(duì)所述第二碼字的所述解碼在對(duì)所述第一碼字的所述解碼完成之前完成;以及 在對(duì)所述第一碼字的所述解碼完成之前,向控制電路傳送所述解碼的第二碼字和指示對(duì)所述第二碼字的所述解碼是否完成的信號(hào),其中所述信號(hào)指示所述第二碼字相對(duì)于所述第一碼字的位置。
2.根據(jù)權(quán)利要求1所述的方法,其中指示對(duì)所述第二碼字的所述解碼是否完成的所述信號(hào)包括:標(biāo)識(shí)每個(gè)碼字相對(duì)于其它碼字在所述存儲(chǔ)設(shè)備中的位置的標(biāo)簽。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:所述控制電路向所述存儲(chǔ)設(shè)備傳送發(fā)起從所述存儲(chǔ)設(shè)備讀取所述第一碼字和所述第二碼字的輸入信號(hào),其中所述輸入信號(hào)包括標(biāo)識(shí)所述第一碼字和所述第二碼字將被解碼的順序的標(biāo)簽。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:一旦已經(jīng)解碼所述第二碼字,所述控制電路將所述第二碼字存儲(chǔ)在存儲(chǔ)器單元中。
5.根據(jù)權(quán)利要求1所述的方法,其中指示對(duì)所述第二碼字的解碼是否完成的所述信號(hào)的長(zhǎng)度基于所述第二碼字所位于的存儲(chǔ)設(shè)備扇區(qū)的尺寸,以及基于對(duì)所述第二碼字的解碼是否完成。
6.根據(jù)權(quán)利要求1所 述的方法,進(jìn)一步包括: 在所述控制電路確定所述第二碼字已經(jīng)被解碼、并且對(duì)所述第一碼字的所述解碼尚未完成;以及 向所述控制電路傳送指示所述第一碼字尚未完成解碼的最小長(zhǎng)度的信號(hào)。
7.根據(jù)權(quán)利要求2所述的方法,其中所述控制電路通過將所解碼的第二碼字與指示對(duì)所述第二碼字的解碼是否完成的所述信號(hào)中包括的所述標(biāo)簽相匹配,來確定所解碼的第二碼字的所述位置。
8.根據(jù)權(quán)利要求3所述的方法,其中基于所述輸入信號(hào)中指定的所述順序來嘗試解碼所述第一碼字和所述第二碼字。
9.根據(jù)權(quán)利要求5所述的方法,其中所述控制電路基于指示所述第二碼字的解碼是否完成的所述信號(hào)的長(zhǎng)度,確定對(duì)所述第二碼字的解碼是否已經(jīng)完成。
10.根據(jù)權(quán)利要求6所述的方法,其中指示所述第一碼字尚未完成解碼的所述最小長(zhǎng)度信號(hào)包括在指示對(duì)所述第二碼字的解碼是否完成的所述信號(hào)中。
11.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 將所解碼的第一碼字和指示對(duì)所述第一碼字的解碼是否完成的信號(hào)傳送至所述控制電路,其中所述信號(hào)指示所述第一碼字相對(duì)于所述第二碼字的位置。
12.一種用于從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括: 讀取通道,被配置為: 從所述存儲(chǔ)設(shè)備讀取第一碼字和第二碼字,其中所述第二碼字位于所述存儲(chǔ)設(shè)備上、所述第一碼字之后; 并行地解碼所述第一碼字和所述第二碼字,其中對(duì)所述第二碼字的所述解碼在對(duì)所述第一碼字的所述解碼完成之前完成;以及 在對(duì)所述第一碼字的解碼完成之前,向控制電路傳送所述解碼的第二碼字和指示對(duì)所述第二碼字的解碼是否完成的信號(hào),其中所述信號(hào)指示所述第二碼字相對(duì)于所述第一碼字的位置。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中指示對(duì)所述第二碼字的解碼是否完成的所述信號(hào)包括:標(biāo)識(shí)每個(gè)碼字相對(duì)于其它碼字在所述存儲(chǔ)設(shè)備中的位置的標(biāo)簽。
14.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述控制電路進(jìn)一步被配置為向所述存儲(chǔ)設(shè)備傳送發(fā)起從所述存儲(chǔ)設(shè)備讀取所述第一碼字和所述第二碼字的輸入信號(hào),其中所述輸入信號(hào)包括標(biāo)識(shí)所述第一碼字和所述第二碼字將被解碼的順序的標(biāo)簽。
15.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述控制電路進(jìn)一步被配置為一旦所述第二碼字已經(jīng)被解碼,將所述第二碼字存儲(chǔ)在存儲(chǔ)器單元中。
16.根據(jù)權(quán)利要求12所述的系統(tǒng),其中指示對(duì)所述第二碼字的解碼是否完成的信號(hào)的長(zhǎng)度基于所述第二碼字所位于的存儲(chǔ)設(shè)備扇區(qū)的尺寸,以及基于對(duì)所述第二碼字的解碼是否完成。
17.根據(jù)權(quán)利要求12所述的系統(tǒng),其中 所述控制電路進(jìn)一步被配置為確定所述第二碼字已經(jīng)被解碼、并且對(duì)所述第一碼字的所述解碼尚未完成;以及 所述讀取通道進(jìn)一步被 配置為將指示所述第一碼字尚未完成解碼的最小長(zhǎng)度信號(hào)傳送至控制電路。
18.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述控制電路通過將所解碼的第二碼字與指示對(duì)所述第二碼字的解碼是否完成的所述信號(hào)中包括的所述標(biāo)簽相匹配,來確定所解碼的第二碼字的位置。
19.根據(jù)權(quán)利要求14所述的系統(tǒng),其中基于所述輸入信號(hào)中指定的所述順序來嘗試解碼所述第一碼字和所述第二碼字。
20.根據(jù)權(quán)利要求16所述的系統(tǒng),其中所述控制電路基于指示所述第二碼字的解碼是否完成的所述信號(hào)的長(zhǎng)度,確定對(duì)所述第二碼字的解碼是否已經(jīng)完成。
21.根據(jù)權(quán)利要求17所述的系統(tǒng),其中指示所述第一碼字尚未完成解碼的所述最小長(zhǎng)度信號(hào)包括在指示對(duì)所述第二碼字的解碼是否完成的信號(hào)中。
22.根據(jù)權(quán)利要求12所述的系統(tǒng),其中: 所述讀取通道進(jìn)一步配置為將所解碼的第一碼字和指示對(duì)所述第一碼字的解碼是否完成的信號(hào)傳送至所述控制電路,其中所述信號(hào)指示所述第一碼字相對(duì)于所述第二碼字的位置。
【文檔編號(hào)】G11B20/10GK103606378SQ201310269718
【公開日】2014年2月26日 申請(qǐng)日期:2013年6月26日 優(yōu)先權(quán)日:2012年6月27日
【發(fā)明者】盛宏鷹, P·蔡錢納馮格, G·伯德 申請(qǐng)人:馬維爾國(guó)際貿(mào)易有限公司