專利名稱::數據讀取裝置與方法
技術領域:
:本發明有關于一種用于儲存裝置的數據讀取裝置與方法,尤指在光電系統中,經由標志記錄所讀取數據扇區的正確性的數據讀取裝置與方法。
背景技術:
:光盤儲存裝置(opticaldiscstoragedevice)近年來一直是廣為使用的計算機外設設備,其技術與相關規格也不斷有所進展。這其中,數字視頻光盤(digitalvideodisc,簡稱DVD)作為新一代光盤儲存規格的主流已是相當明顯的趨勢,其應用也日趨廣泛。在對DVD讀取速度要求日益提升的情況下,如何同時加強數據讀取的正確性,并兼顧一理想的價格/性能比,就成為非常重要的課題。以下先對DVD的數據儲存方式做個簡要說明。首先,DVD以2064個字節組成一數據扇區(datasector),其格式如圖1所示。圖1中,該數據扇區包含12列,每一列為172字節長,內容依序包含4字節的ID、2字節的ID錯誤檢測碼IED(IDErrorDetection)、6字節的版權處理信息CPRMAI(CopyrightManagementInformation)、2048個字節的主要數據D0到D2047,以及4字節的錯誤檢測碼EDC(ErrorDetectionCode)。其中,EDC是以循環冗余碼校驗(CyclicRedundancyCheck,CRC)的方式進行編碼,用于檢測此數據扇區的正確性。其次,為提供數據更好的保護,DVD將16個數據扇區,以RSPC(ReedSolomonProductCode,即里德-所羅門乘積碼)的編碼方式,組成一數據塊(datablock),如圖2所示。圖2中,該數據塊包含了16個扇區,共192(=12×16)列、172行的數據,再加上由RSPC編碼方式所產生的PO與PI。其中,PO為外碼奇偶校驗(outer-codeparity)數據,是以每一行為單位逐行產生,長度為16字節;PI為內碼奇偶校驗(inner-codeparity)數據,則以包含PO數據在內共208(=192+16)列的每一列為單位逐列產生,長度為10字節。此處整個數據塊(B0,0到B207,181)作為一錯誤更正碼(errorcorrectioncode,ECC)塊來處理,PO與PI即是錯誤更正碼,用于數據錯誤的修正。在現有的DVD技術中,是采用如圖3的架構來進行數據讀取。圖3中,DVD盤片310上的數據,由讀取頭311讀取后,依序經過模擬信號處理器312、8-16解調器(又稱EFMPLUS解調器,其中EFM是指EighttoFourteenModulation,而EFMPLUS在EFM基礎上改進的編碼方式)314的處理,成為列數據315,再由存儲器控制器320通過列數據接口316將其存入存儲器321中。當存儲器321中的數據可構成一ECC數據塊時,RSPC解碼器317即經由存儲器控制器320存取存儲器321中的數據塊,執行PO與PI數據的解碼,進而更正錯誤的數據。接著,錯誤檢測碼處理器318讀取該數據塊內的數據扇區,并計算每一扇區的錯誤檢測碼。若錯誤檢測碼皆正確,即經由主機接口319將主要數據傳送至主機322。因此,在讀取一DVD數據塊的過程中,會先進行該數據塊的對應PO與PI數據的解碼及錯誤的更正,再驗證每一數據扇區的錯誤檢測碼,以確保所讀取數據的正確性。若發現16個錯誤檢測碼中有任何一個不正確,則有兩種常用的處理方法。第一種是利用原已讀取的數據塊,重新執行整個解碼與驗證的過程,直至所有錯誤檢測碼皆為正確為止。第二種方法則是從DVD上重新讀取該數據塊,再加以解碼與驗證,若仍有錯誤則再次重新讀取,如此反復進行,直到所有錯誤檢測碼皆為正確為止。前述的現有DVD技術有兩項主要缺點,一為存儲器321的存取次數過多;二為其修正數據錯誤時,是采用重新讀取及解碼整個數據塊的方式。這兩種方法都會嚴重影響DVD的數據讀取速率及性能。臺灣第88121259號專利,名稱為“DVD數據讀取裝置及方法”,即針對前述現有技術問題提出改進。請參閱圖4,其為該專利所提出的改良裝置的方塊圖。如圖4所示,其主要通過特殊的硬件設計,在通過讀取頭411從盤片410讀取數據,并經由模擬信號處理器412、8-16解調器414處理產生列數據415后,先由列數據接口及第一次內碼奇偶校驗解碼器416、錯誤檢測碼產生器417與列數據緩沖區418進行PI數據的解碼,及產生每一數據扇區的錯誤檢測碼,接著才存至存儲器421中,如此即避免了前述現有技術于解碼PI數據與計算錯誤檢測碼時都必須存取存儲器所造成的負擔。其次,再經由錯誤檢測碼檔案422、錯誤檢測碼處理器424與RSPC解碼器426的設計,于進行PO數據解碼及錯誤更正的同時,利用錯誤更正結果來修改先前所產生的錯誤檢測碼。最后,若所有錯誤檢測碼都正確,則將所讀取數據經由主機接口428傳送給主機430。另外,若錯誤檢測碼并非完全正確,而導致需重復讀取數據塊時,該專利還提供一種數據讀取方法,可將要重讀的數據塊中,已驗證為正確的數據扇區跳過不讀,藉以提高數據讀取的效率。雖然該專利可對前述現有技術的問題加以改進,但就如圖4的架構所示,其需要額外的硬件與較復雜的電路結構,于是不僅提高芯片設計的困難度,更增加芯片的面積與成本。有鑒于此,本發明的著眼點即在于提出一種改良的數據讀取裝置與方法,不但能簡化圖4所示的架構,而且可具備同等的數據讀取性能。
發明內容本發明的主要目的在于提供一種數據讀取裝置與方法,用于對一儲存裝置的讀取作業。此儲存裝置包含復數個數據塊,每一數據塊包含復數個數據扇區以及一錯誤更正碼,用以對數據塊進行錯誤更正,每一數據扇區則包含一錯誤檢測碼,用于檢測數據扇區的正確性。本發明的數據讀取裝置包含一讀取單元以及一相耦接的錯誤更正碼解碼器。讀取單元可從儲存裝置讀取一數據塊,而錯誤更正碼解碼器則利用此數據塊的錯誤更正碼對此數據塊進行解碼及錯誤更正。此數據讀取裝置還包含一錯誤檢測碼處理器,耦接至錯誤更正碼解碼器,用以計算此數據塊的每一數據扇區的錯誤檢測碼。此數據讀取裝置還包含一標志緩存器,以儲存此數據塊的每一數據扇區的一相關標志,此相關標志可用以顯示相關數據扇區的錯誤檢測碼的正確性。在本發明較佳實施例的方法中,當相關標志指出所對應的錯誤檢測碼錯誤時,包含該錯誤檢測碼的數據扇區將被重新讀取;另一方面,當數據扇區的錯誤檢測碼正確時,即使錯誤更正碼指出該數據扇區包含錯誤數據時,仍跳過該數據扇區而不對該數據扇區執行重新讀取的操作。在本發明較佳實施例中的相關標志,可由一大小為一位的儲存單位來實施。本發明的技術方案是這樣實現的一種應用于光電系統中的數據讀取裝置,其特征在于包含一錯誤更正碼解碼器,利用一數據塊(Block)的錯誤更正碼(errorcorrectioncode,ECC)以對該數據塊進行解碼及錯誤更正;一錯誤檢測碼處理器,耦接至該錯誤更正碼解碼器,用以計算該數據塊的每一數據扇區(Sector)的錯誤檢測碼(errordetectioncode,EDC);以及一標志緩存器,用以儲存每一該數據扇區的一相關標志,其中該相關標志顯示相關的該數據扇區的該錯誤檢測碼的正確性。其中當該相關標志指示該數據扇區的該錯誤檢測碼錯誤時,重新讀取該錯誤數據扇區。其中當該數據扇區正確時,可于重新讀取該數據塊時跳過該正確的數據扇區。其中當該數據扇區的該錯誤檢測碼指出該數據扇區是正確數據扇區、且該錯誤更正碼指出該數據扇區發生錯誤時,仍跳過該數據扇區而不對該正確數據扇區進行錯誤更正。其中每個該相關標志的大小為一位。本發明還提供了一種應用于光電系統中的數據讀取方法,其特征在于,包含利用一數據塊(Block)的錯誤更正碼(errorcorrectioncode,ECC),以對該數據塊進行解碼及錯誤更正,其中該數據塊包含復數個數據扇區;計算每個該數據塊所包含的數據扇區(Sector)的錯誤檢測碼(errordetectioncode,EDC);儲存對應每個該錯誤檢測碼的相關標志,其中每個該相關標志對應至一個該數據扇區;以及當該相關標志指出對應的該數據扇區所包含的該錯誤檢測碼有錯誤時,重新讀取該數據塊。其中上述重新讀取該數據塊的步驟,包含重新讀取該錯誤的數據扇區的步驟。其中上述重新讀取該數據塊的步驟,包含當該數據扇區的該相關標志指示該數據扇區的該錯誤檢測碼正確時,跳過該正確數據扇區的步驟。其中當該數據扇區的該錯誤檢測碼指出該數據扇區正確時,跳過該數據扇區錯誤而不更正該數據扇區的錯誤。其中該相關標志的大小為一位。圖1為DVD數據扇區格式的示意2為DVD數據塊格式的示意3為現有的DVD數據讀取架構的方塊4為一改良的DVD數據讀取架構的方塊5為本發明的數據讀取裝置的較佳實施例方塊6為本發明較佳實施例用于DVD數據讀取的硬件架構方塊圖其中,附圖標記說明如下310盤片311讀取頭312模擬信號處理器3148-16解調器315列數據316列數據接口317RSPC解碼器318錯誤檢測碼處理器319主機接口320存儲器控制器321存儲器322主機410盤片411讀取頭412模擬信號處理器4148-16解調器415列數據416列數據接口及第一次內碼奇偶校驗解碼器417錯誤檢測碼產生器418列數據緩沖區420存儲器控制器421存儲器422錯誤檢測碼檔案424錯誤檢測碼處理器426RSPC解碼器428主機接口430主機50數據讀取裝置51讀取單元52錯誤更正碼解碼器53錯誤檢測碼處理器54標志緩存器55儲存裝置610DVD盤片611讀取頭612模擬信號處理器6148-16解調器615列數據616列數據接口617列數據緩沖器618第一次內碼奇偶校驗解碼器619RSPC解碼器620存儲器控制器621存儲器628主機接口630主機具體實施方式現配合附圖對本發明做進一步說明。本節將以DVD為例,詳述本發明的數據讀取裝置的實施方式。必須強調,本發明的實施并不限于DVD。任何儲存裝置,若其包含復數個數據塊,每一數據塊包含復數個數據扇區及一錯誤更正碼,可用以對整個數據塊進行錯誤更正,且每一數據扇區另包含一錯誤檢測碼,用于檢測數據扇區的正確性,只要具有如上的數據儲存與錯誤修正方式,皆可運用本發明來執行數據讀取的操作。圖5為本發明的數據讀取裝置的較佳實施例方塊圖。如圖5所示,數據讀取裝置50包含一讀取單元51以及一相耦接的錯誤更正碼解碼器52。讀取單元51可從儲存裝置55讀取一數據塊,而錯誤更正碼解碼器52則利用此數據塊的錯誤更正碼對此數據塊進行解碼及錯誤更正。數據讀取裝置50還包含一錯誤檢測碼處理器53,耦接至錯誤更正碼解碼器52,用以計算此數據塊的每一數據扇區的錯誤檢測碼。數據讀取裝置50還包含一標志緩存器54,以儲存此數據塊的每一數據扇區的一相關標志,此相關標志可用以顯示相關數據扇區的錯誤檢測碼的正確性。本發明經由標志緩存器54的設計,相對于現有技術而言,可有效降低所需的硬件組件與空間。具體而言,當數據讀取裝置50因為所讀取的數據塊包含有錯誤的數據扇區,而必須重新讀取此數據塊時,即可利用標志緩存器54所存相關標志值的指示,進而跳過正確的數據扇區不讀,一方面減少重復讀取的時間,另一方面還可保護原本正確的數據扇區。如前文所述,DVD是以2064個字節組成格式如圖1的數據扇區,其中包含4字節的錯誤檢測碼,用以檢測數據扇區的正確性。此外,DVD更進一步以RSPC編碼方式,將16個數據扇區組成如圖2所示的ECC數據塊,其包含由RSPC編碼方式所產生的PO與PI數據,用于數據錯誤的更正。因而,可運用圖5的數據讀取裝置50,來提升DVD數據讀取的效率。圖6為本發明較佳實施例用于DVD數據讀取的硬件架構方塊圖。圖6中,儲存裝置是一DVD盤片610。讀取單元51包含讀取頭611、模擬信號處理器612及8-16解調器614,可從盤片610讀取數據,并轉換為以字節為單位的列數據615。讀取單元51還包含列數據接口616及列數據緩沖器617,可將EFMPLUS解調器614所產生的列數據615先行緩沖,作為后續解碼與錯誤更正使用。如圖6所示,錯誤更正碼解碼器52包含第一次內碼奇偶校驗解碼器618與RSPC解碼器619。當列數據緩沖器617所儲存的數據可組成一組PI數據時,即送入第一次內碼奇偶校驗解碼器618進行內碼奇偶校驗解碼,所得的一組內碼解碼數據,則經由圖6架構中的存儲器控制器620,儲存到存儲器621中。另一方面,若所得的內碼解碼數據是產生錯誤檢測碼所需的數據時,則同時將此內碼解碼數據送至圖6的錯誤檢測碼處理器53,用以計算此內碼解碼數據所在的數據扇區的錯誤檢測碼。當一完整數據扇區存到存儲器621時,錯誤檢測碼處理器53也計算出此數據扇區的錯誤檢測碼,以判斷此數據扇區是否正確,并將判斷結果以標志形式(例如以一位的標志,并以邏輯1/邏輯0代表一數據扇區的正確/錯誤狀態)存到標志緩存器54中,供后續使用。在讀取單元51讀完一個完整數據塊,并經上述初步處理過程而存至存儲器621后,RSPC解碼器619就通過存儲器控制器620從存儲器621讀取任一組PO數據,進行外碼奇偶校驗解碼,并于發現錯誤時就進行更正,隨后將更正結果回存至存儲器621。并且,若此PO數據所屬數據扇區的錯誤檢測碼是錯誤的(可由標志緩存器54所存的相關標志來判斷),則也將此更正結果送入錯誤檢測碼處理器53,以再次進行錯誤檢測碼的計算。當完成一完整數據扇區的外碼奇偶校驗解碼時,錯誤檢測碼處理器53也計算出此數據扇區的錯誤檢測碼,來判斷此數據扇區是否正確,并以判斷結果來決定標志緩存器54的對應標志的標志值。此處必須注意,若RSPC解碼器619在進行外碼奇偶校驗解碼時,于某數據扇區內發現錯誤,且此數據扇區的錯誤檢測碼是正確的,應放棄此次解碼結果,以避免修改到原本已經正確的數據。在RSPC解碼器619解碼了所有的PO數據后,即檢查標志緩存器54中,所儲存的標志是否顯示所有的數據扇區皆為正確。若是,則圖6的主機接口628即通過存儲器控制器620,將存儲器621中的數據塊傳給主機630。最后要強調的是,本發明可應用于具有讀取數據能力的光電系統,諸如只讀光驅(CD-ROMdrive)、只讀式數字視頻光驅(DVD-ROMdrive)、DVD播放機(DVDplayer)、DVD±RW(DVD+ReWritable)碟機等系統中,用以確保所讀取數據的正確性。以上所述僅為詳細說明本發明的較佳實施例,而非用以限制本發明的范圍。本領域技術人員可依照該實施例做一些等效變化及調整,但仍然不失本發明的要義,即不脫離本發明的精神和范圍,因此,本發明的保護范圍以本申請的權利要求書要求保護的范圍為準。權利要求1.一種應用于光電系統中的數據讀取裝置,其特征在于包含一錯誤更正碼解碼器,利用一數據塊的錯誤更正碼以對該數據塊進行解碼及錯誤更正;一錯誤檢測碼處理器,耦接至該錯誤更正碼解碼器,用以計算該數據塊的每一數據扇區的錯誤檢測碼;以及一標志緩存器,用以儲存每一該數據扇區的一相關標志,其中該相關標志顯示相關的該數據扇區的該錯誤檢測碼的正確性。2.如權利要求1所述的數據讀取裝置,其特征在于,其中當該相關標志指示該數據扇區的該錯誤檢測碼錯誤時,重新讀取該錯誤數據扇區。3.如權利要求2所述的數據讀取裝置,其特征在于,其中當該數據扇區正確時,可于重新讀取該數據塊時跳過該正確的數據扇區。4.如權利要求1所述的數據讀取裝置,其特征在于,其中當該數據扇區的該錯誤檢測碼指出該數據扇區是正確數據扇區、且該錯誤更正碼指出該數據扇區發生錯誤時,仍跳過該數據扇區而不對該正確數據扇區進行錯誤更正。5.如權利要求1所述的數據讀取裝置,其特征在于,其中每個該相關標志的大小為一位。6.一種應用于光電系統中的數據讀取方法,其特征在于包含利用一數據塊的錯誤更正碼,以對該數據塊進行解碼及錯誤更正,其中該數據塊包含復數個數據扇區;計算每個該數據塊所包含的數據扇區的錯誤檢測碼;儲存對應每個該錯誤檢測碼的相關標志,其中每個該相關標志對應至一個該數據扇區;以及當該相關標志指出對應的該數據扇區所包含的該錯誤檢測碼有錯誤時,重新讀取該數據塊。7.如權利要求6所述的數據讀取方法,其特征在于,其中上述重新讀取該數據塊的步驟,包含重新讀取該錯誤的數據扇區的步驟。8.如權利要求7所述的數據讀取方法,其特征在于,其中上述重新讀取該數據塊的步驟,包含當該數據扇區的該相關標志指示該數據扇區的該錯誤檢測碼正確時,跳過該正確數據扇區的步驟。9.如權利要求6所述的數據讀取方法,其特征在于,其中當該數據扇區的該錯誤檢測碼指出該數據扇區正確時,跳過該數據扇區錯誤而不更正該數據扇區的錯誤。10.如權利要求6所述的數據讀取方法,其特征在于,其中該相關標志的大小為一位。全文摘要本發明提供了一種數據讀取裝置與方法,該數據讀取裝置包含一錯誤更正碼解碼器,利用一數據塊的錯誤更正碼以對該數據塊進行解碼及錯誤更正;一錯誤檢測碼處理器,耦接至該錯誤更正碼解碼器,用以計算該數據塊的每一數據扇區的錯誤檢測碼;以及一標志緩存器,用以儲存每一該數據扇區的一相關標志,其中該相關標志顯示相關的該數據扇區的該錯誤檢測碼的正確性。文檔編號G11B20/18GK1525478SQ03158160公開日2004年9月1日申請日期2003年9月15日優先權日2003年9月15日發明者郭道寧,陳慶宇,朱孟煌,胡培杰申請人:威盛電子股份有限公司