欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用在數(shù)據(jù)存儲設(shè)備中的最小幀緩沖器管理器的制作方法

文檔序號:6749314閱讀:171來源:國知局
專利名稱:用在數(shù)據(jù)存儲設(shè)備中的最小幀緩沖器管理器的制作方法
背景技術(shù)
本發(fā)明一般地涉及數(shù)據(jù)存儲設(shè)備,特別涉及用來顯著減少和/或使數(shù)據(jù)存儲設(shè)備中所需要的幀緩沖量最小、以充分地支持從存儲設(shè)備到主機(jī)設(shè)備的數(shù)據(jù)傳輸?shù)姆椒ê脱b置。
現(xiàn)有技術(shù)諸如壓縮盤(CD)或數(shù)字通用盤(DVD)之類的光盤是一種無磁性數(shù)據(jù)存儲介質(zhì),其中,通過采用激光束將細(xì)微刻痕燒灼(burn)進(jìn)介質(zhì)的表面來存儲相對大量的數(shù)字信息。通過采用一個較低功率的激光感測刻痕的有或無來讀取所存儲的數(shù)據(jù)。
現(xiàn)在有許多不同類型的光盤系統(tǒng)(即,光盤格式和設(shè)備)。在當(dāng)代個人計算機(jī)(PC)中所使用的最常用的光盤系統(tǒng)之一是壓縮盤只讀存儲器(CD-ROM)。CD-ROM提供了一個只讀光學(xué)存儲介質(zhì),在其上只存儲一次數(shù)據(jù),然后采用CD-ROM驅(qū)動器讀許多次。一個CD-ROM盤可以包含數(shù)字圖象、音頻、視頻和/或文本數(shù)據(jù)的混合流。數(shù)字通用盤只讀存儲器(DVD-ROM)可以提供更大的容量。在將來,DVD-ROM還會更快。其他先進(jìn)的光盤系統(tǒng)也允許用戶向光盤寫數(shù)據(jù)。舉例來說,一個壓縮盤可記錄(CD-R)系統(tǒng)只允許用戶寫到光盤的每個扇區(qū)一次,而一個壓縮盤可重寫(CD-RW)系統(tǒng)允許用戶多次寫光盤的每個扇區(qū)。其他顯著的光盤系統(tǒng)包括壓縮盤磁光(CD-MO)盤,該盤也是可重寫的。
從這些例示光盤系統(tǒng)中讀取數(shù)據(jù)一般用PC的處理器或主機(jī)處理器請求從光盤掃描一個數(shù)據(jù)塊并通過外圍總線傳送到主機(jī)處理器或主存儲器開始。一個數(shù)據(jù)塊一般包括多個更小的數(shù)據(jù)塊或數(shù)據(jù)幀。這些數(shù)據(jù)幀一般在光盤驅(qū)動器內(nèi)被預(yù)處理并聚集成多個組,然后通過外圍總線傳送到主機(jī)處理器。舉例來說,一個例示性的用在PC中的16XCD-ROM驅(qū)動器一般包括預(yù)處理重現(xiàn)數(shù)據(jù)的數(shù)字信號處理裝置和一個在將一組幀(例如,每組大約4到8幀)以單個脈沖串傳送到主機(jī)處理器之前存儲數(shù)據(jù)幀的緩沖器管理裝置,在一個128千字節(jié)動態(tài)隨機(jī)存取存儲器(DRAM)中,該緩沖器管理裝置一般長大約2到3千字節(jié)。
這種類型結(jié)構(gòu)的問題之一是,由于與一個典型的主機(jī)處理器相聯(lián)系的固有等待時間,在光盤驅(qū)動器內(nèi)需要大存儲容量來充分地緩沖數(shù)據(jù)幀,而這會經(jīng)常被其他電路/設(shè)備所中斷。如此,一旦由光盤驅(qū)動器聚集和準(zhǔn)備了脈沖串傳送,則主機(jī)處理器不必準(zhǔn)備好接收下一組幀。
由光盤驅(qū)動器內(nèi)的緩沖器管理過程引入了另外的等待時間。緩沖器管理過程通常由依賴于一個嵌入式基于固件的處理器的塊譯碼器電路實(shí)施。這個基于固件的處理器被構(gòu)造為運(yùn)行一個實(shí)時固件程序(例如,核心程序、輪詢環(huán)、事件驅(qū)動器、混合電路等等)。雖然緩沖器管理過程具有一個有限處理開銷,但它也可以時常被塊譯碼器和/或光盤驅(qū)動器內(nèi)的其他電路所中斷。另外,還有與一組幀的脈沖串傳送相聯(lián)系的額外的開銷等待時間,一組幀的脈沖串傳送可能需要中斷基于固件的處理器,例如在每次中斷處理特定數(shù)目的幀(例如,直至10幀)。又例如,緩沖器管理過程需要能夠使脈沖串傳送與主機(jī)處理器相協(xié)調(diào)。這一般包括附加信令,并且如果主機(jī)處理器正忙或被中斷則要經(jīng)受進(jìn)一步的延遲。因此,由緩沖器管理器引入的等待時間會變化,并且時常相當(dāng)大。
在提供一個可接受的從光盤驅(qū)動器到主機(jī)處理器的數(shù)據(jù)傳送速率的努力中,在光盤驅(qū)動器內(nèi)提供有一個相當(dāng)大并且常常是昂貴的外部存儲器(例如,DRAM)。這個外部存儲器由緩沖器管理器用來存儲數(shù)據(jù)幀和調(diào)節(jié)整個系統(tǒng)的不確定等待時間。
對于更復(fù)雜的情況,隨著光盤驅(qū)動器速度的提高,在光盤驅(qū)動器內(nèi)需要的存儲器量很可能需要隨之增大。例如,某些以具有一個外部128千字節(jié)DRAM的16X CD-ROM的兩倍速度運(yùn)行的常規(guī)的32X CD-ROM驅(qū)動器常常需要另外128千字節(jié)的存儲器,采取一個外部256千字節(jié)DRAM的形式。
于是,需要減少由光盤驅(qū)動器引入的等待時間、并因此減少在光盤驅(qū)動器中所需的存儲器量、以便支持增大的數(shù)據(jù)傳送速率的方法和裝置。
發(fā)明概述依據(jù)本發(fā)明的方法和裝置通過用一個具有純基于硬件的數(shù)字邏輯設(shè)計的改進(jìn)塊譯碼器來代替具有基于固件的處理器的常規(guī)塊譯碼器,顯著減少了由光盤驅(qū)動器引入的等待時間。與常規(guī)塊譯碼器不同,改進(jìn)的塊譯碼器最好一次傳送一幀或更少的數(shù)據(jù),而不是傳送一組幀。因此,在光盤驅(qū)動器中所需的存儲器量被顯著減少到一個可以用在單個塊譯碼器集成電路中的數(shù)字邏輯有利地包括的量上。于是,改進(jìn)的塊譯碼器降低了光盤驅(qū)動器的復(fù)雜性,降低了制造成本,同時還支持增大的數(shù)據(jù)傳送速率。
依據(jù)本發(fā)明的某些方面,可以將本發(fā)明的各個實(shí)施例用于各種數(shù)據(jù)存儲設(shè)備中,這些數(shù)據(jù)存儲設(shè)備包括光盤驅(qū)動器、磁驅(qū)動器/磁帶以及類似的以大致固定的速率流過數(shù)據(jù)的數(shù)據(jù)存儲設(shè)備。
上述需要和其他需要由一個可以用在計算機(jī)系統(tǒng)中的數(shù)據(jù)存儲設(shè)備所滿足。所述數(shù)據(jù)存儲設(shè)備包括一個存儲介質(zhì)和一個讀部件,所述讀部件被安排為從存儲介質(zhì)讀取數(shù)據(jù)并輸出一個讀信號。還提供一個數(shù)據(jù)機(jī)來接收該讀信號并根據(jù)該讀信號輸出數(shù)字?jǐn)?shù)據(jù)。然后采用一個譯碼器電路順序地輸出數(shù)字?jǐn)?shù)據(jù)的第一部分和數(shù)字?jǐn)?shù)據(jù)的第二部分。在一單個集成電路管芯上有利地形成的譯碼器電路既包括存儲器,也包括邏輯。邏輯識別存儲器內(nèi)的第一存儲單元和第二存儲單元。邏輯在第一存儲單元存儲數(shù)字?jǐn)?shù)據(jù)的第一部分,在第二存儲單元存儲數(shù)字?jǐn)?shù)據(jù)的第二部分。邏輯還被構(gòu)造為從第一存儲單元檢索數(shù)字?jǐn)?shù)據(jù)的第一部分,并將數(shù)字?jǐn)?shù)據(jù)的第一部分例如輸出到一個外部設(shè)備,同時將第二部分存儲在第二存儲單元。因為這個集成和數(shù)據(jù)傳送過程,所以該數(shù)據(jù)存儲設(shè)備與基于固件的處理器相比具有相當(dāng)?shù)偷拈_銷等待時間。這個時間節(jié)省使得該數(shù)據(jù)存儲設(shè)備能支持更快的數(shù)據(jù)傳送速率。
依據(jù)本發(fā)明的其他特定實(shí)施例,存儲器可以是隨機(jī)存取存儲器(RAM),例如是動態(tài)RAM(DRAM)或靜態(tài)RAM(SRAM)。存儲器包括第一緩沖器和第二緩沖器,分別由它們各自的存儲單元來識別。在其他特定實(shí)施例中,第一和第二緩沖器每個都具有與數(shù)字?jǐn)?shù)據(jù)的第一和第二部分大致相同的尺寸。因此,例如,在某些實(shí)施例中,各個部分和緩沖器是每一個的長度都在大約2千字節(jié)和大約3千字節(jié)之間。在另一些實(shí)施例中的其他特征包括在邏輯內(nèi)的可清除計數(shù)器,用來識別已經(jīng)存儲了多少字節(jié)的數(shù)字?jǐn)?shù)據(jù)和/或兩個緩沖器或多個緩沖器的狀態(tài)。
依據(jù)本發(fā)明的其他實(shí)施例,提供了一種用于將一數(shù)據(jù)塊從存儲介質(zhì)傳送到外部設(shè)備的方法。該方法包括通過讀出記錄在一個存儲介質(zhì)上的數(shù)據(jù)來產(chǎn)生一個流動數(shù)字信號、并將該流動數(shù)字信號分成多個分組的步驟。該方法還包括采用一單個集成電路來1)在第一時間窗期間將第一分組存儲在第一緩沖器中,2)在第二時間窗期間將隨后產(chǎn)生的第二分組存儲在第二緩沖器中,3)在第二時間窗期間從第一緩沖器檢索第一分組,以及4)在第二時間窗期間向外部設(shè)備提供第一分組。這提供了大致連續(xù)的過程,因為在第一時間窗結(jié)束之后第二時間窗立即開始。
依據(jù)本發(fā)明的又一些實(shí)施例,單個集成電路還用來5)在第三時間窗期間將隨后產(chǎn)生的第三分組存儲在第一緩沖器中,以及6)在第三時間窗期間從第二緩沖器檢索第二個第一分組。在這樣一個實(shí)施例中,該方法還包括在第三時間窗期間向外部設(shè)備提供第二分組的步驟。這又提供了大致連續(xù)的過程,因為在第二時間窗結(jié)束之后第三時間窗立即開始。
依據(jù)本發(fā)明的另一個實(shí)施例,提供了一種用在被構(gòu)造為支持存儲設(shè)備內(nèi)的讀操作的單個集成電路中的方法。該存儲設(shè)備被構(gòu)造為產(chǎn)生一個預(yù)定用于一外部設(shè)備的數(shù)據(jù)流。所述方法包括下列步驟1)將一個數(shù)據(jù)流的一部分存儲到第一緩沖器,2)將數(shù)據(jù)流的隨后部分存儲到第二緩沖器,同時還將第一緩沖器的內(nèi)容傳送到一個外部設(shè)備,3)將數(shù)據(jù)流的再隨后部分存儲到第一緩沖器,同時還將第二緩沖器的內(nèi)容傳送到外部設(shè)備,以及4)重復(fù)步驟1到4,直到數(shù)據(jù)流停止。
在下面的說明中將部分地陳述本發(fā)明的其他方面、優(yōu)點(diǎn)和新穎特征,并且對于考查了下列說明或者學(xué)習(xí)了本發(fā)明的實(shí)踐的本領(lǐng)域普通技術(shù)人員將部分地變得顯而易見。本發(fā)明的目的和優(yōu)點(diǎn)將通過在附帶的權(quán)利要求中特別指出的手段和組合來實(shí)現(xiàn)和獲得。
附圖簡要說明下面參考附圖,其中具有相同標(biāo)號的元件代表相似的元件,其中

圖1是顯示一個具有存儲設(shè)備的常規(guī)計算機(jī)系統(tǒng)的方框圖。
圖2是顯示圖1中的具有單獨(dú)的塊譯碼器和驅(qū)動器存儲器的常規(guī)存儲設(shè)備的方框圖。
圖3是顯示圖2中的具有基于固件的緩沖器管理器的常規(guī)塊譯碼器的方框圖,基于固件的緩沖器管理器響應(yīng)一個固件程序,并被構(gòu)造為將多組幀存儲在驅(qū)動器存儲器,并在脈沖串傳送中同時傳送多組幀。
圖4是顯示依據(jù)本發(fā)明的特定實(shí)施例的在一單個集成電路(IC)管芯上形成的改進(jìn)塊譯碼器的方框圖;改進(jìn)塊譯碼器具有一個不需要使用單獨(dú)的驅(qū)動器存儲器并且一次傳送不多于一幀的最小幀緩沖器管理器。
圖5是顯示依據(jù)本發(fā)明的特定實(shí)施例的圖4中的具有共置(co-locate)緩沖器、計數(shù)器和邏輯的基于硬件的最小幀緩沖器管理器的方框圖。
圖6A-D在圖形上示范了依據(jù)本發(fā)明的特定實(shí)施例的圖5中在一個讀操作的各種例示時間窗期間幀數(shù)據(jù)存儲和傳送進(jìn)出緩沖器。
圖7是顯示依據(jù)本發(fā)明的特定實(shí)施例的一個用于將數(shù)據(jù)存儲在緩沖器中的過程的流程圖,該過程在最小幀緩沖器管理器的邏輯中體現(xiàn)。
圖8是顯示依據(jù)本發(fā)明的特定實(shí)施例的一個用于將存儲的數(shù)據(jù)從緩沖器傳送到主機(jī)處理器的過程的流程圖,該過程在最小幀緩沖器管理器的邏輯中體現(xiàn)。
圖9是顯示依據(jù)本發(fā)明的又一些特定實(shí)施例的具有最小幀緩沖器管理器和功能減少的數(shù)據(jù)機(jī)接口邏輯的改進(jìn)塊譯碼器的方框圖,其中功能減少的數(shù)據(jù)機(jī)接口邏輯與一個具有增大功能設(shè)備驅(qū)動器性能的主機(jī)處理器一起使用。
發(fā)明的詳細(xì)說明圖1是顯示諸如PC的常規(guī)計算機(jī)系統(tǒng)10的一部分的方框圖,包括主機(jī)處理器12、主存儲器14、總線16和存儲設(shè)備18。主機(jī)處理器12一般被構(gòu)造為從主存儲器14和存儲設(shè)備18讀數(shù)據(jù)和/或向其寫數(shù)據(jù)。從存儲設(shè)備18讀出的數(shù)據(jù)在由處理器12處理之前一般被記錄進(jìn)主存儲器14。同樣,在特定結(jié)構(gòu)中,數(shù)據(jù)由主機(jī)處理器12從主存儲器14讀出,并通過總線16提供給存儲設(shè)備18,在存儲設(shè)備18數(shù)據(jù)被寫進(jìn)一個存儲介質(zhì)??偩€16一般是一個外圍總線,例如小計算機(jī)系統(tǒng)接口(SCSI)、先進(jìn)技術(shù)附件分組接口(ATAPI)或類似的格式化總線(例如,IEEE 1394串行總線)。
出于簡化的目的,這個文本的下面部分著重于讀操作,其中,主機(jī)處理器12已經(jīng)請求從存儲設(shè)備18讀取一數(shù)據(jù)塊并通過總線16提供給主機(jī)處理器12和/或主存儲器14。本領(lǐng)域普通技術(shù)人員將會認(rèn)識到,本發(fā)明也能適用于支持寫操作的傳送數(shù)據(jù),其中,主機(jī)處理器12通過總線16將一個數(shù)據(jù)塊從主存儲器14傳送到存儲設(shè)備18。
圖2是顯示如圖1所示的例示性存儲設(shè)備18中的主要子系統(tǒng)的方框圖。存儲設(shè)備18包括存儲介質(zhì)22,例如CD或DVD。存儲介質(zhì)22一般可從存儲設(shè)備18取出。當(dāng)被正確地插進(jìn)存儲設(shè)備18時,存儲介質(zhì)22在存儲設(shè)備18內(nèi)被支持,并由一個伺服組件24所旋轉(zhuǎn)。伺服組件24一般包括主軸馬達(dá)和安裝結(jié)構(gòu)(圖中都未顯示)。伺服組件24連接到驅(qū)動器控制器26。驅(qū)動器控制器26一般是微處理器,被構(gòu)造為控制存儲設(shè)備18中的各個子系統(tǒng)并通過總線16與主機(jī)處理器12進(jìn)行通信。
由讀/寫組件28從存儲設(shè)備22讀(或向其寫入)數(shù)據(jù)。對于一個讀操作,讀/寫組件28包括激光二極管和激光拾取電路(二者都未顯示)。在讀(或?qū)?操作期間,讀/寫組件28由伺服組件24在控制器26的控制下在存儲介質(zhì)22上有選擇地定位。數(shù)據(jù)通常是沿一個具有恒定凹點(diǎn)(例如,數(shù)據(jù)位)尺寸的連續(xù)螺旋軌跡存儲在存儲介質(zhì)22上。因此,在存儲介質(zhì)外側(cè)上的每轉(zhuǎn)的信息內(nèi)容大于內(nèi)側(cè)上每轉(zhuǎn)的信息內(nèi)容。
讀/寫組件28可相對于存儲介質(zhì)22移動,以便它能夠在一特定軌跡上定位,并在存儲介質(zhì)旋轉(zhuǎn)時沿軌跡讀取所希望的數(shù)據(jù)。
由讀/寫組件28輸出一個模擬信號,并提供給數(shù)據(jù)機(jī)30、例如數(shù)字信號處理器(DSP)。數(shù)據(jù)機(jī)30例如采用常規(guī)的模數(shù)變換技術(shù)將模擬信號變換成一個數(shù)字?jǐn)?shù)據(jù)流。根據(jù)存儲設(shè)備的類型,數(shù)據(jù)機(jī)30還可以被構(gòu)造為解擾、校正、提取、排除和/或否則修改數(shù)據(jù)流中的某些數(shù)據(jù)。例如,在某些CD-ROM驅(qū)動器中,數(shù)據(jù)機(jī)30采用常規(guī)的解調(diào)技術(shù)(例如,數(shù)據(jù)限幅)和交叉交插里德所羅蒙碼(CIRC)校正技術(shù)來從模擬信號提取主數(shù)據(jù)(MD)和子碼數(shù)據(jù)。在常規(guī)CD-ROM上的數(shù)據(jù)被分成多個數(shù)據(jù)幀,每個數(shù)據(jù)幀具有大約2352字節(jié)的MD和96字節(jié)的子碼數(shù)據(jù)。子碼數(shù)據(jù)格式實(shí)際上包括98個字節(jié),但兩個字節(jié)或空位被留成空白,以檢測子碼幀的開始。余下的96個空位每個空位包含一個字節(jié)的子碼數(shù)據(jù)。如圖所示,數(shù)據(jù)機(jī)30還被連接到設(shè)備控制器26,并對其響應(yīng)。
將從數(shù)據(jù)機(jī)30得到的數(shù)字?jǐn)?shù)據(jù)提供給一個塊譯碼器32。塊譯碼器32被構(gòu)造為有助于數(shù)字?jǐn)?shù)據(jù)通過總線接口35和總線16到主機(jī)處理器12的傳送。在讀操作期間,塊譯碼器32將數(shù)據(jù)幀聚集并存儲在驅(qū)動器存儲器34中。塊譯碼器32然后通過總線接口35和總線16以一單個脈沖串傳送將一組幀(例如,大約4到8幀)從驅(qū)動器存儲器34傳送到主機(jī)處理器12。下面將更詳細(xì)地說明塊譯碼器32。塊譯碼器32與設(shè)備控制器26相連并對其響應(yīng)。
驅(qū)動器存儲器34一般是一個常規(guī)DRAM芯片,可以與塊譯碼器32相連,或者也可以與其分開。驅(qū)動器存儲器34的尺寸和工作參數(shù)隨著存儲設(shè)備18的工作速度、塊譯碼器32的操作和等待時間以及主機(jī)處理器12的操作和等待時間而變化。當(dāng)塊譯碼器以脈沖串傳送多組幀時,CD-ROM具有存儲驅(qū)動器存儲器34中的至少大約50幀數(shù)據(jù)的存儲容量是很常見的。例如,對于一個16X CD-ROM,驅(qū)動器存儲器34通常需要為大約128千字節(jié),對于一個32X CD-ROM,通常需要多至256千字節(jié)。
存儲設(shè)備18還包括提供與總線16的連通性的總線接口35??偩€接口35是一個特別為特定格式的總線16設(shè)計的常規(guī)接口電路。因此,例如,在特定結(jié)構(gòu)中,總線接口35可以是SCSI、ATAPI、IEEE-1394或其他類似的總線接口??偩€接口35還連接到驅(qū)動器控制器26并對其響應(yīng)。
圖3是顯示如圖2所示的例示性塊譯碼器32的方框圖,塊譯碼器32以脈沖串傳送多組幀。塊譯碼器32包括數(shù)據(jù)機(jī)接口邏輯36、緩沖器管理器38、主機(jī)接口邏輯40和控制器接口邏輯42。數(shù)據(jù)機(jī)接口邏輯36被構(gòu)造為與數(shù)據(jù)機(jī)30交換數(shù)據(jù),并通過控制器接口邏輯42響應(yīng)來自緩沖器管理器38和驅(qū)動器控制器26的命令。在某些結(jié)構(gòu)中,數(shù)據(jù)機(jī)接口邏輯36也被構(gòu)造為對每幀數(shù)據(jù)檢測和校正同步和數(shù)據(jù)誤差。因此,大量常規(guī)的檢錯/糾錯一般在數(shù)據(jù)機(jī)接口邏輯36內(nèi)的主數(shù)據(jù)和子碼數(shù)據(jù)上完成。
主機(jī)接口邏輯40被構(gòu)造為與總線接口35交換數(shù)據(jù),并通過控制器接口邏輯42響應(yīng)來自緩沖器管理器38和驅(qū)動器控制器26的命令。同樣,控制器接口邏輯42被構(gòu)造為幫助在驅(qū)動器控制器26與緩沖器管理器38、數(shù)據(jù)機(jī)接口邏輯36與主機(jī)接口邏輯40之間交換控制信息。
緩沖器管理器38一般是基于固件的處理器,可操作地響應(yīng)一個實(shí)時固件程序(該程序一般存儲在與控制器26相聯(lián)系的只讀存儲器(ROM)中(未顯示))。在支持讀操作時,緩沖器管理器38通過數(shù)據(jù)機(jī)接口邏輯36接收數(shù)字?jǐn)?shù)據(jù)流,并將數(shù)據(jù)作為數(shù)據(jù)幀存儲在驅(qū)動器存儲器34中。固件程序一般采用隊列指針(即,指向各種數(shù)據(jù)隊列的軟件指針),其中,數(shù)據(jù)在邏輯上被一隊列一隊列地傳送。緩沖器管理器38在一個讀操作期間可以經(jīng)受各種中斷。例如,驅(qū)動器控制器26、數(shù)據(jù)機(jī)接口邏輯36或主機(jī)接口邏輯40可以中斷緩沖器管理器38以請求一個服務(wù)。為了支持更高的數(shù)據(jù)傳送速率(例如,與一個16X CD-ROM相聯(lián)系的速率),以及在使由這種中斷產(chǎn)生的等待時間的影響最小化的努力中,緩沖器管理器38從數(shù)據(jù)機(jī)30將一組幀聚集在驅(qū)動器存儲器34中,并在一預(yù)定數(shù)目的幀準(zhǔn)備好由控制器26進(jìn)一步處理時中斷控制器26。例如,在特定結(jié)構(gòu)中,在塊譯碼器32中斷控制器26之前存儲十幀數(shù)據(jù)。這趨向于減少控制器26的中斷率。
在過去,這個解決方案(脈沖串傳送多組幀)已經(jīng)能夠支持提高的數(shù)據(jù)傳送速率,其中假設(shè)驅(qū)動器存儲器34足夠大。因此,以后產(chǎn)生的CD-ROM驅(qū)動器一般需要更大的驅(qū)動器存儲器34和相應(yīng)修改的固件程序。
隨著近來發(fā)展32X CD-ROM驅(qū)動器的趨勢,由于減少了的處理時間和可歸因于固件處理器的等待時間的不確定性,對這種類型的“升級”的可行性表示懷疑。例如,在特定結(jié)構(gòu)中,在接收、存儲和傳送一幀數(shù)據(jù)時,固件處理器的開銷升至大約600微秒不是不常見的。如果在幀處理期間還發(fā)生一次中斷,則這個開銷還將增大。在32XCD-ROM中,每幀數(shù)據(jù)在大約每417微秒到達(dá),因此對一組幀的脈沖串傳送的需要是極為重要的。
其結(jié)果為,下一代CD-ROM驅(qū)動器很可能需要更大組的幀和更大的驅(qū)動器存儲器34。這趨向于提高存儲設(shè)備的復(fù)雜性和制造成本,并可能影響存儲設(shè)備支持某些時間一關(guān)鍵的讀操作的性能。
考慮這個附加背景,圖4是顯示依據(jù)本發(fā)明的特定例示性實(shí)施例的改進(jìn)的塊譯碼器32’的方框圖,其中該改進(jìn)的塊譯碼器32’具有一個一次傳送不多于一幀數(shù)據(jù)的最小幀緩沖器管理器50。改進(jìn)的塊譯碼器32’與圖3中的塊譯碼器32具有相似的電路。例如,數(shù)據(jù)機(jī)接口邏輯36、主機(jī)接口邏輯40以及控制器接口邏輯42的功能保持基本不變。然而,改進(jìn)的塊譯碼器32’替代了塊譯碼器32和驅(qū)動器存儲器4。
由于改進(jìn)的塊譯碼器32’全部都以硬件實(shí)現(xiàn),所以不需要固件干預(yù)來保持?jǐn)?shù)據(jù)流向主機(jī)12。因此,在處理一幀數(shù)據(jù)中與改進(jìn)的塊譯碼器32’相聯(lián)系的開銷實(shí)質(zhì)上小于具有基于固件的緩沖器管理器38和固件程序的常規(guī)塊譯碼器32。因此,在存儲設(shè)備22內(nèi)的緩沖幀量可以被顯著減少,并且在某些結(jié)構(gòu)中被最小化。如同下面詳細(xì)說明的,依據(jù)本發(fā)明的特定實(shí)施例,可以以最小延遲將數(shù)據(jù)幀或甚至數(shù)據(jù)子幀傳送到主機(jī)處理器12。由于與改進(jìn)的塊譯碼器32’相聯(lián)系的等待時間很小(例如,傳播延遲一般低至大約200-500納秒),所以可以被支持的數(shù)據(jù)傳送速率的限制因子在本質(zhì)上是在讀操作期間主機(jī)處理器12的操作和等待時間。
依據(jù)本發(fā)明的特定最佳實(shí)施例,改進(jìn)的塊譯碼器32’被制造在一單個IC芯片或管芯上。本領(lǐng)域普通技術(shù)人員將會認(rèn)識到,改進(jìn)的塊譯碼器32’內(nèi)的緩沖器56(參見圖5)足夠小到可行地且/或經(jīng)濟(jì)地采用常規(guī)邏輯制造過程來制造,或者相反地,改進(jìn)的塊譯碼器32’和最小緩沖器56內(nèi)的各種邏輯電路可以用常規(guī)的隨機(jī)存取存儲器(RAM)制造過程來制造。
改進(jìn)的塊譯碼器32’包括硬件實(shí)現(xiàn)的邏輯,這將在下面以及在圖5、6A-6D、7和8的例示性實(shí)施例中進(jìn)行說明和顯示。本領(lǐng)域普通技術(shù)人員將容易地認(rèn)識到,可以采用常規(guī)邏輯電路設(shè)計工具和制造過程以各種方式來構(gòu)造例如包括緩沖器、寄存器、計數(shù)器和比較/判決邏輯電路的邏輯功能。如此,下面的說明著重改進(jìn)的塊譯碼器32’在一個讀操作期間的邏輯功能。
圖5是顯示依據(jù)本發(fā)明的特定實(shí)施例的例示性最小幀緩沖器管理器50的方框圖。緩沖器管理器50包括數(shù)據(jù)機(jī)指針邏輯52、主機(jī)指針邏輯54、緩沖器56和緩沖器計數(shù)器58。
在緩沖器管理器50的設(shè)計中的重要方面之一是希望使緩沖器56的尺寸最小,其中緩沖器56用于存儲一幀或一幀的一部分(即,一個子幀)。因此,依據(jù)本發(fā)明的特定實(shí)施例,緩沖器56被構(gòu)造為存儲兩幀數(shù)據(jù)。一幀用于存儲新輸入的幀,另一幀用于檢索先前存儲的幀。因此,例如假設(shè)一幀數(shù)據(jù)大約3千字節(jié)長,則緩沖器56具有大約6千字節(jié)(即,2×3千字節(jié))的RAM、例如靜態(tài)隨機(jī)存取存儲器(SRAM)。在幀更小或傳送子幀數(shù)據(jù)的結(jié)構(gòu)中,RAM數(shù)量將進(jìn)一步減小。
采用兩個指針來識別存儲在緩沖器56中的幀或子幀的存儲單元或地址。有一個與從數(shù)據(jù)機(jī)30檢索的需要被存儲的數(shù)據(jù)幀或子幀相聯(lián)系的數(shù)據(jù)機(jī)指針(PDE),還有一個與需要傳送到主機(jī)處理器12的數(shù)據(jù)幀或子幀相聯(lián)系的主機(jī)指針(PHOST)。數(shù)據(jù)機(jī)指針由數(shù)據(jù)機(jī)指針邏輯52建立和管理,數(shù)據(jù)機(jī)指針邏輯52通過數(shù)據(jù)機(jī)接口邏輯36從數(shù)據(jù)機(jī)30接收數(shù)據(jù),并將接收的數(shù)據(jù)存儲在緩沖器56中。主機(jī)指針由主機(jī)指針邏輯54建立和管理,主機(jī)指針邏輯54從緩沖器56檢索所存儲的數(shù)據(jù),并將檢索出的數(shù)據(jù)提供給主機(jī)接口邏輯40和最終提供給主機(jī)處理器12。
緩沖器計數(shù)器58響應(yīng)來自數(shù)據(jù)機(jī)指針邏輯52和主機(jī)指針邏輯54的命令,并可由其讀取。緩沖器計數(shù)器58內(nèi)的內(nèi)容或計數(shù)值代表包含準(zhǔn)備傳送到主機(jī)處理器12的數(shù)據(jù)的緩沖器56內(nèi)的(一預(yù)定尺寸的)幀或空位數(shù)。數(shù)據(jù)機(jī)指針邏輯52被構(gòu)造為在存儲一幀數(shù)據(jù)或以一子幀數(shù)據(jù)填充空位時遞增緩沖器計數(shù)器58。主機(jī)指針邏輯54被構(gòu)造為在從緩沖器56檢索并傳送一幀數(shù)據(jù)或一個空位的內(nèi)容時遞減緩沖器計數(shù)器58。在初始化或復(fù)位時,緩沖器計數(shù)器58被設(shè)置為“零”。
圖6A至6D在圖形上顯示了緩沖器56以及采用指針(即PDE和PHOST)在一個讀操作的不同時間窗期間控制對存儲在其中的數(shù)據(jù)的訪問。圖6A顯示了具有“N”個幀緩沖器62a-b的緩沖器56。雖然幀緩沖器的數(shù)目可以更多,但最好只有兩個(即,N=2),以便使改進(jìn)塊譯碼器32’的成本最小。在這個例示性安排中的幀緩沖器62a-b每一個都被構(gòu)造為存儲長度不大于大約3千字節(jié)的一幀數(shù)據(jù)。在一個讀操作期間,每個指針分別指向幀緩沖器“第一”或幀緩沖器“第二”,即62a或62b。如圖所示,每個指針從幀緩沖器62a向幀緩沖器62b遞增,然后循環(huán)回幀緩沖器62a。
如圖6B所示,在讀操作開始之前的時間t0,兩個指針都指向或識別幀緩沖器62a。在時間t0時緩沖器56中沒有新數(shù)據(jù),因為讀操作還沒有被主機(jī)處理器12所請求。因此,緩沖器計數(shù)器58等于“0”。
接著參看圖6C,在讀操作開始之后的時間t1,一幀數(shù)據(jù)已經(jīng)被完全存儲在幀緩沖器62a中,同樣,PDE被遞增或設(shè)置為識別幀緩沖器62b,緩沖器計數(shù)器58已經(jīng)由數(shù)據(jù)機(jī)指針邏輯52增量到“1”。
在時間t1之后,數(shù)據(jù)機(jī)指針邏輯52能夠開始向幀緩沖器62b寫所接收的下一幀數(shù)據(jù),假如PDE不等于PHOST。
當(dāng)PDE變?yōu)樽R別幀緩沖器62b時,則PHOST不等于PDE,并且允許主機(jī)指針邏輯54檢索出存儲在幀緩沖器62a中的幀,并將該幀傳送給主機(jī)處理器12,其中也假設(shè)緩沖器計數(shù)器58不等于“0”。當(dāng)主機(jī)指針邏輯54已經(jīng)完成該傳送時,遞減緩沖器計數(shù)器58。例如,緩沖器計數(shù)器可以從“1”遞減回“0”,或者,在主機(jī)12出于某些原因已經(jīng)等待并且緩沖器計數(shù)器更高的其他情況下,緩沖器計數(shù)器從“2”遞減到“1”。主機(jī)指針邏輯54也遞增或設(shè)置PHOST以識別幀緩沖器62b。緩沖器56最好被構(gòu)造為支持對幀緩沖器62a和62b的同時訪問。
繼續(xù)進(jìn)行讀操作,如圖6D所示,在時間t2,數(shù)據(jù)機(jī)指針邏輯52已經(jīng)完成將一幀數(shù)據(jù)存儲到幀緩沖器62b,PDE已經(jīng)變?yōu)橹赶驇彌_器62a,并且緩沖器計數(shù)器58再次被數(shù)據(jù)機(jī)指針邏輯52增量到“1”。當(dāng)PDE改變時,則PHOST不等于PDE,因此主機(jī)指針邏輯54可以檢索存儲在幀緩沖器62b中的幀,并將該幀傳送給主機(jī)處理器12,其中也假設(shè)緩沖器計數(shù)器58不等于“0”。
如此,在一個讀操作期間,PHOST實(shí)質(zhì)上試圖趕上PDE,或者反之亦然。如果PDE在PHOST前面足夠遠(yuǎn)以便完全地循環(huán)緩沖器56并且實(shí)際上等于PHOST(例如,試圖超過PHOST),則存在一個溢出條件。當(dāng)存在一個溢出條件時,數(shù)據(jù)機(jī)指針邏輯52防止更多的數(shù)據(jù)進(jìn)入緩沖器56,并通知數(shù)據(jù)機(jī)接口邏輯36和/或驅(qū)動器控制器26停止來自數(shù)據(jù)機(jī)30的數(shù)據(jù)流。當(dāng)主機(jī)指針邏輯54最后能夠?qū)⑾乱粠瑐魉偷街鳈C(jī)處理器12時,則PHOST遞增,PDE不再等于PHOST。此時,溢出條件結(jié)束,數(shù)據(jù)機(jī)指針邏輯52再次通知數(shù)據(jù)機(jī)接口邏輯36和/或驅(qū)動器控制器26通過重新查找操作重新啟動數(shù)據(jù)流。重新查找操作使得存儲設(shè)備22最終返回讀操作中發(fā)生溢出條件的點(diǎn)。
圖7顯示了依據(jù)本發(fā)明的特定實(shí)施例的一個實(shí)質(zhì)上在數(shù)據(jù)機(jī)指針邏輯52中實(shí)現(xiàn)的讀操作過程200的流程圖。過程200包括一個初始化步驟202,其中緩沖器計數(shù)器58、PDE和PHOST被設(shè)置或重設(shè)成初始值。
在初始化之后,在步驟204,存儲設(shè)備18等待接收來自主機(jī)處理器12的讀請求命令。讀請求命令實(shí)質(zhì)上請求從存儲介質(zhì)22向主機(jī)處理器12傳送一個特定的數(shù)據(jù)塊。該數(shù)據(jù)塊一般包括多個數(shù)據(jù)幀。作為響應(yīng),存儲設(shè)備18例如通過總線16將數(shù)據(jù)塊作為數(shù)據(jù)幀或數(shù)據(jù)子幀定位、讀取和傳送到主機(jī)處理器12。作為步驟204的一部分,存儲設(shè)備12、最好是改進(jìn)塊譯碼器32或設(shè)備控制器26向主機(jī)處理器12發(fā)送一個應(yīng)答或類似的響應(yīng)。
接著,在步驟206和208,如果需要的話,數(shù)據(jù)機(jī)指針邏輯52重設(shè)緩沖器計數(shù)器58,并開始接收從存儲介質(zhì)22讀取的數(shù)據(jù)塊。作為步驟206的一部分,數(shù)據(jù)機(jī)指針邏輯52遞增一個索引指針或類似的索引機(jī)構(gòu)來追蹤接收到的數(shù)據(jù)的字節(jié)數(shù)(或其他增量)。作為步驟208的一部分,將接收的字節(jié)存儲在緩沖器56中由PDE識別的存儲單元中。當(dāng)整個數(shù)據(jù)幀或一預(yù)定數(shù)據(jù)子幀已經(jīng)被接收并存儲在緩沖器56中時,則在步驟210遞增PDE以識別緩沖器56中的下一個存儲單元。同樣,在步驟212,當(dāng)整個數(shù)據(jù)幀或預(yù)定數(shù)據(jù)子幀已經(jīng)被接收并存儲在緩沖器56中時,則緩沖器計數(shù)器58遞增。
在步驟214根據(jù)PDE和PHOST的比較進(jìn)行判決。如果PDE和PHOST識別緩沖器56中的同一存儲單元,則如上所述出現(xiàn)一個溢出條件,退出過程200。如果PDE和PHOST未識別緩沖器56中的同一存儲單元,則過程200繼續(xù)到步驟214。如果未出現(xiàn)溢出條件,則過程200返回步驟208以接收下一個數(shù)據(jù)幀或數(shù)據(jù)子幀。
圖8顯示了依據(jù)本發(fā)明的特定實(shí)施例的實(shí)質(zhì)上在主機(jī)指針邏輯54內(nèi)實(shí)現(xiàn)的相應(yīng)的讀操作過程300的流程圖。過程300包括步驟302,其中存儲設(shè)備18等待接收來自主機(jī)處理器12的讀請求命令。
當(dāng)接收到一個讀請求命令時,過程300繼續(xù)進(jìn)行到步驟304,其中根據(jù)PHOST和PDE的比較以及/或緩沖器計數(shù)器58中的計數(shù)值作出判決。如果PHOST和PDE不識別緩沖器56中的同一存儲單元,或者緩沖器計數(shù)器58不等于“0”,則過程300繼續(xù)進(jìn)行到步驟308。如果PHOST和PDE識別緩沖器56中的同一存儲單元,或者緩沖器計數(shù)器58等于“0”,則過程300在步驟304等待。
當(dāng)緩沖器計數(shù)器58大于“0”時,則在緩沖器56中在由PHOST識別的存儲單元中有數(shù)據(jù),該數(shù)據(jù)現(xiàn)在正準(zhǔn)備被傳送到主機(jī)處理器12。然后在步驟308將由PHOST識別出的存儲在緩沖器56的幀緩沖器或空位中的數(shù)據(jù)例如通過主機(jī)接口邏輯40、總線接口35和總線16傳送給主機(jī)處理器12。接著,在步驟310,遞增PHOST以識別緩沖器56中的下一個存儲單元。在步驟312,遞減緩沖器計數(shù)器58。
然后在步驟314判斷是否已經(jīng)完成了讀請求命令。如果整個數(shù)據(jù)塊已經(jīng)被傳送到主機(jī)處理器12,則讀操作已經(jīng)完成,由存儲設(shè)備18將一個相關(guān)的狀態(tài)信號提供給主機(jī)處理器12。如果已經(jīng)完成了讀操作,則過程300返回步驟302,等待下一個讀請求命令。如果讀操作還未完成,則過程300返回步驟304,試圖將下一數(shù)據(jù)幀或子幀傳送給主機(jī)處理器12。
依據(jù)本發(fā)明的又一個實(shí)施例,過程200和過程300可以被合并在一起,在改進(jìn)的塊譯碼器32’內(nèi)提供有一個聯(lián)合邏輯。還可以了解到,在過程200或300內(nèi)可以包括另外的握手或其他狀態(tài)信令,以便在一個或多個電路/設(shè)備之間提供必要的通信。
雖然在所顯示的改進(jìn)的塊譯碼器32’和/或緩沖器管理器50的例示性實(shí)施例中的各種邏輯功能/電路是分開的,但應(yīng)該認(rèn)識和預(yù)料到,實(shí)際上的邏輯電路可以被組合或聚集在一起以提高效率和/或性能。
依據(jù)本發(fā)明的又一個實(shí)施例,改進(jìn)的塊譯碼器32’包括一個功能減少的數(shù)據(jù)機(jī)接口邏輯36’。圖9顯示了與圖4中的改進(jìn)的塊譯碼器32’類似的改進(jìn)的塊譯碼器32”,除此之外改進(jìn)的塊譯碼器32”用功能減少的數(shù)據(jù)機(jī)接口邏輯36’來代替數(shù)據(jù)機(jī)接口邏輯36。如同下面將要更加詳細(xì)地說明的,改進(jìn)的塊譯碼器可以用在一個低成本存儲設(shè)備18中,其中假設(shè)主機(jī)處理器12具有一個具有增強(qiáng)的功能性能的設(shè)備驅(qū)動器。
提供改進(jìn)的塊譯碼器32’和/或32”的原因之一是使數(shù)據(jù)塊傳送過程流線化。依據(jù)本發(fā)明的一個方面,改進(jìn)塊譯碼器32’和/或32”實(shí)質(zhì)上通過減少對復(fù)雜的基于固件的緩沖器管理性能的需求而使數(shù)據(jù)塊傳送過程流線化。
將這個流線化方法運(yùn)用在數(shù)據(jù)機(jī)接口邏輯36’內(nèi)的檢錯/糾錯性能上。例如,依據(jù)本發(fā)明的特定實(shí)施例,將通常在數(shù)據(jù)機(jī)接口邏輯36的特定結(jié)構(gòu)中提供的特定功能(例如,對一幀數(shù)據(jù)中的主數(shù)據(jù)的糾錯)移到主機(jī)處理器12中,從而使得所產(chǎn)生的數(shù)據(jù)機(jī)接口邏輯36’的復(fù)雜性顯著降低。這個降低的復(fù)雜性將減少工作等待時間/運(yùn)行以及與塊譯碼器32’相聯(lián)系的制造成本。
因此,依據(jù)本發(fā)明的特定例示性實(shí)施例,數(shù)據(jù)機(jī)接口邏輯36’的功能不包括一個完整的糾錯組。數(shù)據(jù)機(jī)接口邏輯36”實(shí)質(zhì)上在將數(shù)據(jù)傳遞到最小幀緩沖器管理器50之前只在數(shù)據(jù)上進(jìn)行有限集合的校驗/功能。
根據(jù)由數(shù)據(jù)機(jī)接口邏輯36’對于每幀數(shù)據(jù)執(zhí)行的有限集合的校驗/功能的結(jié)果,將狀態(tài)數(shù)據(jù)插入每幀數(shù)據(jù)中的主數(shù)據(jù)的未使用部分。例如,在將數(shù)據(jù)幀傳遞到最小幀緩沖器管理器50之前,可以將一個狀態(tài)字或多個字加到每幀數(shù)據(jù)的空閑(未使用)區(qū)域中。
狀態(tài)字識別在數(shù)據(jù)上執(zhí)行的有限集合的校驗/功能的特定結(jié)果。舉例來說,在一個狀態(tài)字中包括幾個標(biāo)記標(biāo)識符,其中每個標(biāo)記標(biāo)識符代表一個特定校驗/功能的結(jié)果。一旦該數(shù)據(jù)幀已經(jīng)被傳送到主機(jī)處理器12,則由主機(jī)處理器12使用狀態(tài)字或多個字(例如,運(yùn)行一個存儲設(shè)備驅(qū)動程序)來確定是否需要對每幀數(shù)據(jù)進(jìn)行另外的處理。
如此,則由主機(jī)處理器12而不是塊譯碼器32”來有利地執(zhí)行特定的復(fù)雜和/或耗時的功能。例如,已經(jīng)發(fā)現(xiàn),與主數(shù)據(jù)相聯(lián)系的糾錯功能可以由主機(jī)處理器12高效地進(jìn)行,從而顯著降低塊譯碼器32”內(nèi)的數(shù)據(jù)機(jī)接口邏輯36’的復(fù)雜性。例如,在常規(guī)的塊譯碼器32內(nèi)需要大約4千字節(jié)的局部緩沖存儲器(未顯示)來進(jìn)行主數(shù)據(jù)的糾錯。將糾錯處理移到主機(jī)處理器12消除了對塊譯碼器32”內(nèi)的這個大緩沖存儲器的需求。當(dāng)與在主數(shù)據(jù)上執(zhí)行數(shù)據(jù)校正的常規(guī)數(shù)據(jù)機(jī)接口邏輯36相比時,在數(shù)據(jù)機(jī)接口邏輯36’內(nèi)的相關(guān)硬件邏輯的數(shù)量/復(fù)雜性也有相當(dāng)大的減少。例如,在特定實(shí)施例中,可以將邏輯門的數(shù)量從大約40,000減少到大約15,000。
因此,依據(jù)本發(fā)明的特定實(shí)施例,數(shù)據(jù)機(jī)接口邏輯36’執(zhí)行下列已知的校驗/功能中的至少一個(但不必按照下面的順序)。數(shù)據(jù)機(jī)30確定在主數(shù)據(jù)中是否出現(xiàn)一個同步滑移,并因此設(shè)置一個兩字節(jié)狀態(tài)字內(nèi)的MD同步滑移標(biāo)記。同樣,數(shù)據(jù)機(jī)接口邏輯36’確定在子碼數(shù)據(jù)中是否出現(xiàn)一個同步滑移,并因此設(shè)置該兩字節(jié)狀態(tài)字中的子碼同步滑移標(biāo)記。
依據(jù)已知/標(biāo)準(zhǔn)算法,數(shù)據(jù)機(jī)接口邏輯36’還在子碼數(shù)據(jù)的Q-通道部分上進(jìn)行CRC,并因此設(shè)置該兩字節(jié)狀態(tài)字內(nèi)的Q-通道CRC故障標(biāo)記。數(shù)據(jù)機(jī)30還采用已知/標(biāo)準(zhǔn)算法在主數(shù)據(jù)上進(jìn)行檢錯校驗(EDC),并因此設(shè)置該兩字節(jié)狀態(tài)字內(nèi)的EDC故障標(biāo)記。數(shù)據(jù)機(jī)接口邏輯36’還設(shè)置兩字節(jié)狀態(tài)字內(nèi)的關(guān)于其他常規(guī)數(shù)據(jù)校驗的其他標(biāo)記,例如基于C2數(shù)據(jù)校驗的C2指針標(biāo)記。
數(shù)據(jù)機(jī)接口邏輯36’還確定該幀的分-秒-幀(MSF)是否正確(即,與前一幀的MSF相比,看起來為正確的順序),并因此設(shè)置兩字節(jié)狀態(tài)字內(nèi)的MSF標(biāo)記。將數(shù)據(jù)機(jī)接口邏輯36’構(gòu)造為例如從前一幀數(shù)據(jù)確認(rèn)幀標(biāo)題中的模式字段是否已經(jīng)意外地改變。數(shù)據(jù)機(jī)接口邏輯36’在兩字節(jié)狀態(tài)字中設(shè)置模式標(biāo)記,以識別是否發(fā)生了這樣的模式改變。
還可以將數(shù)據(jù)機(jī)接口邏輯36’構(gòu)造為當(dāng)同步數(shù)據(jù)出于某些原因不存在或者不完整時在一幀數(shù)據(jù)的主數(shù)據(jù)內(nèi)進(jìn)行內(nèi)插或提供適當(dāng)?shù)耐侥J交蛲綌?shù)據(jù)。如果數(shù)據(jù)機(jī)接口邏輯36’在一幀數(shù)據(jù)內(nèi)提供了同步數(shù)據(jù),則將內(nèi)插標(biāo)記設(shè)置為識別該同步數(shù)據(jù)由數(shù)據(jù)機(jī)接口邏輯36’插入或完成。
主機(jī)處理器12響應(yīng)每幀數(shù)據(jù)中的2-字節(jié)(或其他長度的狀態(tài)字)。例如,MD同步滑移標(biāo)記可以識別出在主數(shù)據(jù)中已經(jīng)有了一個同步滑移,這可能需要校正。同樣,子碼同步滑移標(biāo)記識別出在子碼數(shù)據(jù)中已經(jīng)有了一個同步滑移,這可能需要校正。在某些例子中,Q-通道CRC故障標(biāo)記還可以使主機(jī)處理器12試圖進(jìn)一步調(diào)查Q-通道數(shù)據(jù)的有效性。
如果EDC故障標(biāo)記識別出在主數(shù)據(jù)中檢測到一個差錯,則主機(jī)處理器將使得由主機(jī)處理器12進(jìn)行一個常規(guī)糾錯過程,以校正主數(shù)據(jù)。基于一般在數(shù)據(jù)機(jī)30中進(jìn)行的C2數(shù)據(jù)校驗的C2指針標(biāo)記還向主機(jī)處理器12提供關(guān)于已經(jīng)由數(shù)據(jù)機(jī)接口邏輯36’進(jìn)行了的處理的信息。同樣,將主機(jī)處理器12進(jìn)一步構(gòu)造為根據(jù)需要響應(yīng)以校正或解決由MSF標(biāo)記、模式標(biāo)記和內(nèi)插標(biāo)記識別出的問題。
根據(jù)所標(biāo)記的問題/特征,在狀態(tài)字中提供的信息可能需要主機(jī)處理器12忽略數(shù)據(jù)、替換數(shù)據(jù)、校正數(shù)據(jù)和/或從存儲設(shè)備18請求新數(shù)據(jù)。
作為本發(fā)明的結(jié)果,改進(jìn)的塊譯碼器32’(或32”)允許將從存儲介質(zhì)22檢索出的數(shù)據(jù)實(shí)質(zhì)上以連續(xù)數(shù)據(jù)流的形式通過總線16傳送給主機(jī)處理器12,只對控制器26進(jìn)行最小數(shù)目的中斷,即,在接收到來自主機(jī)處理器12的對數(shù)據(jù)塊的請求時進(jìn)行第一次中斷,在完成整個數(shù)據(jù)塊到主機(jī)處理器12的傳送時進(jìn)行第二次中斷,其中假設(shè)在改進(jìn)的塊譯碼器32’(或32”)內(nèi)沒有出現(xiàn)溢出條件。
雖然已經(jīng)結(jié)合當(dāng)前考慮的最實(shí)用的和最佳實(shí)施例描述了本發(fā)明,應(yīng)該理解,本發(fā)明并不限于所公開的實(shí)施例,相反,本發(fā)明覆蓋了在附帶的權(quán)利要求書的精神和范圍內(nèi)包括的各種修改和等效設(shè)備。
權(quán)利要求
1.一種與計算機(jī)系統(tǒng)一起使用的數(shù)據(jù)存儲器(18),所述數(shù)據(jù)存儲設(shè)備(18)包括讀組件(28),被安排為從一個存儲介質(zhì)(22)讀取數(shù)據(jù),并輸出一個讀信號;數(shù)據(jù)機(jī)(30),被安排為接收所述讀信號,并根據(jù)所述讀信號輸出數(shù)字?jǐn)?shù)據(jù);以及譯碼器電路(32’),被安排為接收所述數(shù)字?jǐn)?shù)據(jù),接著輸出所述數(shù)字?jǐn)?shù)據(jù)的第一部分和所述數(shù)字?jǐn)?shù)據(jù)的第二部分,譯碼器電路(32’)在一單個集成電路管芯上形成,包括存儲器(56)和邏輯(52,54),其中,邏輯(52,54)被安排為識別存儲器(56)內(nèi)的第一存儲單元(62a)和第二存儲單元(62b),并將第一部分存儲在第一存儲單元(62a)中,將第二部分存儲在第二存儲單元(62b)中,同時將第二部分儲存在第二存儲單元(62b)中,從第一存儲單元(62a)檢索第一部分,并輸出第一部分。
2.如權(quán)利要求1所述的數(shù)據(jù)存儲設(shè)備(18),其中,存儲器(56)包括第一緩沖器(62a)和第二緩沖器(62b),第一緩沖器(62a)由第一存儲單元(62a)識別,第二緩沖器(62b)由第二存儲單元(62b)識別,其中,第一緩沖器(62a)與第一部分的尺寸大約相同,第二緩沖器(62b)與第二部分的尺寸大約相同。
3.如權(quán)利要求2所述的數(shù)據(jù)存儲設(shè)備(18),其中,第一部分和第二部分中的每一個包括多個字節(jié)的數(shù)字?jǐn)?shù)據(jù),邏輯(52,54)還包括第一可復(fù)位計數(shù)器(58),所述第一可復(fù)位計數(shù)器(58)被安排為識別由邏輯(52,54)存儲在存儲器(56)中的數(shù)字?jǐn)?shù)據(jù)的多個數(shù)據(jù)幀。
4.如權(quán)利要求3所述的數(shù)據(jù)存儲設(shè)備(18),其中,邏輯(52,54)還包括第二可復(fù)位計數(shù)器,所述第二可復(fù)位計數(shù)器被安排為識別由邏輯(52,54)存儲在存儲器(56)中的數(shù)字?jǐn)?shù)據(jù)信號的多個選定部分。
5.如權(quán)利要求4所述的數(shù)據(jù)存儲設(shè)備(18),其中,數(shù)字?jǐn)?shù)據(jù)的第一和第二部分包括在大約2和大約3千字節(jié)之間的數(shù)字?jǐn)?shù)據(jù),存儲器(56)包括大約6千字節(jié)的隨機(jī)存取存儲器(RAM)。
6.如權(quán)利要求1所述的數(shù)據(jù)存儲設(shè)備(18),其中,存儲介質(zhì)(22)是一個光學(xué)存儲盤。
7.如權(quán)利要求1所述的數(shù)據(jù)存儲設(shè)備(18),還包括一個總線接口(40),被安排為接收由譯碼器電路(32’)輸出的第一部分,并輸出一個適合于通過總線(16)向至少一個外部設(shè)備傳輸?shù)母袷交糠帧?br> 8.如權(quán)利要求1所述的數(shù)據(jù)存儲設(shè)備(18),還包括一個控制器(26),所述控制器(26)與讀組件(28)、數(shù)據(jù)機(jī)(30)和譯碼器電路(32’)可操作地相連,并被安排為有選擇地控制由讀組件產(chǎn)生讀信號、控制由數(shù)據(jù)機(jī)(30)產(chǎn)生數(shù)字?jǐn)?shù)據(jù)、以及控制由譯碼器電路(32’)輸出第一部分。
9.如權(quán)利要求1所述的數(shù)據(jù)存儲設(shè)備(18),其中,譯碼器電路(32’)還被構(gòu)造為檢測數(shù)字?jǐn)?shù)據(jù)內(nèi)的至少一個差錯,并識別出在數(shù)字?jǐn)?shù)據(jù)內(nèi)已檢測到差錯。
10.如權(quán)利要求9所述的數(shù)據(jù)存儲設(shè)備(18),其中,譯碼器電路(32’)將狀態(tài)數(shù)據(jù)插入數(shù)字?jǐn)?shù)據(jù),所述狀態(tài)數(shù)據(jù)識別出已檢測到差錯。
11.如權(quán)利要求10所述的數(shù)據(jù)存儲設(shè)備(18),其中,狀態(tài)數(shù)據(jù)包括從一個標(biāo)識符集合中選擇出的至少一個標(biāo)識符,所述標(biāo)識符集合包括主數(shù)據(jù)同步滑移標(biāo)記、子碼數(shù)據(jù)同步滑移標(biāo)記、Q-通道循環(huán)冗余校驗(CRC)故障標(biāo)記、檢錯校驗(EDC)標(biāo)記、C2指針標(biāo)記、分-秒-幀(MSF)標(biāo)記、模式標(biāo)記和內(nèi)插標(biāo)記。
12.一種用于從存儲介質(zhì)(22)向外部設(shè)備傳送數(shù)據(jù)塊的方法,所述方法包括下列步驟1)通過讀出記錄在存儲介質(zhì)(22)上的數(shù)據(jù)產(chǎn)生一個流線化數(shù)字信號;2)將流線化數(shù)字信號分成多個分組;3)采用一單個集成電路(32’)來a)在第一時間窗期間將第一分組存儲在集成電路(32’)中的第一緩沖器(62a)中;b)在第二時間窗期間將隨后產(chǎn)生的第二分組存儲在集成電路(32’)中的第二緩沖器(62b)中;c)在第二時間窗期間從第一緩沖器(62a)檢索出第一分組;以及4)在第二時間窗期間將第一分組提供給外部設(shè)備,其中,第二時間窗在第一時間窗結(jié)束之后立即開始。
13.如權(quán)利要求12所述的方法,其中,作為步驟3)的一部分,單個集成電路(32’)還用于d)在第三時間窗期間將隨后產(chǎn)生的第三分組存儲在第一緩沖器(62a)中;e)在第三時間窗期間從第二緩沖器(62b)檢索出第二個第一分組;以及其中,所述方法還包括5)在第三時間窗期間將第二分組提供給外部設(shè)備,其中,第三時間窗在第二時間窗結(jié)束之后立即開始。
14.如權(quán)利要求13所述的方法,其中,步驟3)還包括在每次從第一緩沖器(62a)或第二緩沖器(62b)檢索出多個分組中的一個時將緩沖器計數(shù)器遞減。
15.如權(quán)利要求12所述的方法,其中,將流線化數(shù)字信號分成多個分組的步驟還包括檢測所述流線化數(shù)字信號內(nèi)的至少一個差錯,并在多個分組的每一個中識別出檢測到差錯。
16.如權(quán)利要求15所述的方法,其中,在多個分組的每一個中識別出檢測到差錯的步驟還包括將狀態(tài)數(shù)據(jù)插入多個分組的每一個中,其中狀態(tài)數(shù)據(jù)識別已檢測到差錯。
17.如權(quán)利要求16所述的方法,其中,狀態(tài)數(shù)據(jù)包括從一組標(biāo)識符中選擇出的至少一個標(biāo)識符,所述標(biāo)識符組包括主數(shù)據(jù)同步滑移標(biāo)記、子碼數(shù)據(jù)同步滑移標(biāo)記、Q-通道循環(huán)冗余校驗(CRC)故障標(biāo)記、檢錯校驗(EDC)標(biāo)記、C2指針標(biāo)記、分-秒-幀(MSF)標(biāo)記、模式標(biāo)記和內(nèi)插標(biāo)記。
18.一種用在單個集成電路(32’)中的方法,其中所述集成電路(32’)被配置為支持在產(chǎn)生送到外部設(shè)備的數(shù)據(jù)流的存儲設(shè)備(18)內(nèi)的讀操作,所述方法包括下列步驟1)將數(shù)據(jù)流的一部分存儲到第一緩沖器(62a);2)將數(shù)據(jù)流的隨后部分存儲到第二緩沖器(62b),同時還將第一緩沖器(62a)的內(nèi)容傳送到外部設(shè)備;3)將數(shù)據(jù)流的再隨后部分存儲到第一緩沖器(62a),同時還將第二緩沖器(62b)的內(nèi)容傳送到外部設(shè)備;以及4)重復(fù)步驟1至4,直到數(shù)據(jù)流停止。
19.一種用在存儲設(shè)備中的單個集成譯碼器電路(32’),所述譯碼器電路(32’)包括輸入接口電路(36),被可操作地構(gòu)造為與第一外部信源相連,并從其接收輸入數(shù)字?jǐn)?shù)據(jù);輸出接口電路(40),被可操作地構(gòu)造為與第二外部信源相連,并向其傳送輸出數(shù)字?jǐn)?shù)據(jù);具有可識別第一緩沖器(62a)和可識別第二緩沖器(62b)的存儲器(56),其中,存儲器(56)被安排為允許對第一緩沖器(62a)和第二緩沖器(62b)同時進(jìn)行讀/寫訪問;以及與輸入接口電路(36)、輸出接口電路(40)和存儲器(56)相連的邏輯(52,54),邏輯(52,54)被安排為對第一緩沖器(62a)和第二緩沖器(62b)同時進(jìn)行讀/寫訪問,用于將輸入數(shù)字?jǐn)?shù)據(jù)的一部分存儲到第一緩沖器(62a),將輸入數(shù)字?jǐn)?shù)據(jù)的隨后部分存儲到第二緩沖器(62b),同時通過將第一緩沖器(62a)的內(nèi)容傳送到輸出接口電路(40)來產(chǎn)生輸出數(shù)字?jǐn)?shù)據(jù),并隨后將輸入數(shù)字?jǐn)?shù)據(jù)的再隨后部分存儲到第一緩沖器(62a),同時通過將第二緩沖器(62b)的內(nèi)容傳送到輸出接口電路(40)來產(chǎn)生輸出數(shù)字?jǐn)?shù)據(jù)。
全文摘要
以一單個集成電路(IC)的形式為塊譯碼器提供了在各種數(shù)據(jù)存儲設(shè)備中使用的方法和裝置。塊譯碼器被構(gòu)造為從存儲介質(zhì)向諸如主計算機(jī)的處理器之類的外部設(shè)備傳送流線化數(shù)據(jù),而不將任何顯著的由開銷引入的等待時間引入數(shù)據(jù)傳輸。這通過采用純基于硬件的邏輯并實(shí)質(zhì)上將存儲設(shè)備內(nèi)需要的緩沖數(shù)據(jù)量最小化來實(shí)現(xiàn)。可以將所得的塊譯碼器集成進(jìn)一單個IC,因為所需的緩沖存儲器量可以采用常規(guī)邏輯制造工藝、例如互補(bǔ)型金屬氧化物半導(dǎo)體(CMOS)工藝經(jīng)濟(jì)地制造。
文檔編號G11B20/10GK1291307SQ99801390
公開日2001年4月11日 申請日期1999年6月3日 優(yōu)先權(quán)日1998年6月19日
發(fā)明者K·羅斯 申請人:皇家菲利浦電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
兰坪| 陆良县| 灵宝市| 黄大仙区| 高邮市| 江永县| 奉节县| 蕉岭县| 孝感市| 新沂市| 宜城市| 海伦市| 洛南县| 海口市| 邵东县| 灵台县| 罗城| 秭归县| 商南县| 正安县| 泾源县| 英吉沙县| 平凉市| 垦利县| 乌兰县| 晋江市| 洛隆县| 河西区| 分宜县| 娄底市| 通许县| 寿阳县| 海晏县| 四川省| 连云港市| 万山特区| 海丰县| 略阳县| 潜山县| 墨脱县| 临泽县|