国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)存儲(chǔ)裝置和用于管理緩沖存儲(chǔ)器的方法

      文檔序號(hào):6420950閱讀:182來源:國知局
      專利名稱:數(shù)據(jù)存儲(chǔ)裝置和用于管理緩沖存儲(chǔ)器的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種數(shù)據(jù)存儲(chǔ)裝置,尤其涉及緩沖存儲(chǔ)器的控制,當(dāng)在記錄介質(zhì)例如磁盤中寫入或者從所述記錄介質(zhì)中讀出數(shù)據(jù)時(shí),所述緩沖存儲(chǔ)器用于在其中暫時(shí)保存所述數(shù)據(jù)。
      背景技術(shù)
      在包括磁盤裝置(硬盤驅(qū)動(dòng)器)的計(jì)算機(jī)的外部存儲(chǔ)裝置中,制備一種被稱為扇區(qū)緩沖器的緩沖存儲(chǔ)器(DRAM動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器),作為用于改善數(shù)據(jù)讀寫處理的性能的裝置。一直方便地進(jìn)行從主機(jī)系統(tǒng)發(fā)出的數(shù)據(jù)寫請(qǐng)求(包括寫數(shù)據(jù))或只讀一次的數(shù)據(jù)的高速緩存(保存)。
      通常使用一種被稱為環(huán)形緩沖器的數(shù)據(jù)結(jié)構(gòu)作為扇區(qū)緩沖器。環(huán)形緩沖器是一種用于連接緩沖器的開始和結(jié)尾,借以把有限長度的緩沖器作為無限長度的緩沖器來處理的技術(shù)(例如見專利文件1,2)。
      圖5是表示環(huán)形緩沖器的結(jié)構(gòu)的示意圖。
      如圖5所示,環(huán)形緩沖器管理作為一個(gè)片斷的連續(xù)數(shù)據(jù)的有效的集合,同時(shí)從每個(gè)扇區(qū)緩沖器的緩沖器的底部到頂部按照順序使用每個(gè)扇區(qū)緩沖器的存儲(chǔ)區(qū)域。在扇區(qū)緩沖器被用到緩沖器頂部之后,環(huán)形緩沖器返回緩沖器底部,在那里繼續(xù)使用扇區(qū)緩沖器。因而,在語義上(邏輯上)形成一個(gè)環(huán)。
      因?yàn)樯葏^(qū)緩沖器被按順序使用,上述的環(huán)形緩沖器系統(tǒng)適用于用來依次處理指令的指令處理格式。在另一方面,近來,進(jìn)行指令的重新排序操作或其類似操作,以便進(jìn)一步改善數(shù)據(jù)讀寫處理的性能。重新排序操作是為了用這種方式重新排列用于讀寫數(shù)據(jù)的指令的執(zhí)行順序,使得到執(zhí)行數(shù)據(jù)的讀寫操作所需的等待時(shí)間最短。借助于重新排序或其類似操作,合適地重新排列指令的處理順序和執(zhí)行所述指令將導(dǎo)致以寫請(qǐng)求和讀出的數(shù)據(jù)相混合的形式的段緩沖器的段管理的復(fù)雜性。
      日本專利公開號(hào)2002-259115[專利文件2]日本專利公開號(hào)2002-170319雖然環(huán)形緩沖器系統(tǒng)適用于用來依次處理指令的指令處理格式,如上所述,但是其使得以寫請(qǐng)求和讀出的數(shù)據(jù)的混合形式的扇區(qū)緩沖器的段管理復(fù)雜化,其中在執(zhí)行指令之后,指令的處理順序被合適地重新排序。
      為了解決這個(gè)問題,可以想出一種系統(tǒng),其中數(shù)據(jù)寫請(qǐng)求和讀出的數(shù)據(jù)在扇區(qū)緩沖器內(nèi)被單獨(dú)地處理。即,這種系統(tǒng)是這樣的在扇區(qū)緩沖器中提供一個(gè)用于高速緩存寫請(qǐng)求的環(huán)形緩沖器和用于高速緩存讀出的數(shù)據(jù)的另一個(gè)環(huán)形緩沖器,并且在兩個(gè)環(huán)形緩沖器中的段被單獨(dú)地管理。這種系統(tǒng)下面被稱為雙環(huán)形緩沖器系統(tǒng)。即使在與數(shù)據(jù)讀寫相關(guān)的指令被合適地重新排序和執(zhí)行的情況下,單獨(dú)地管理寫請(qǐng)求和讀出的數(shù)據(jù)使得能夠避免扇區(qū)緩沖器中的段管理的復(fù)雜性。
      不過,因?yàn)樵谶@種情況下在扇區(qū)緩沖器中提供有兩個(gè)環(huán)形緩沖器,使得用于高速緩存寫請(qǐng)求和讀出的數(shù)據(jù)的各個(gè)緩沖器的尺寸被減少。更具體地說,因?yàn)樵谡5沫h(huán)形緩沖器(下面被稱為單環(huán)形緩沖器系統(tǒng))中要被高速緩存的內(nèi)容不受限制,如果用于在外部存儲(chǔ)裝置中寫數(shù)據(jù)的訪問增加,則許多寫請(qǐng)求被高速緩存,而如果用于讀出數(shù)據(jù)的訪問增加,則許多讀出數(shù)據(jù)被高速緩存。換句話說,當(dāng)使訪問偏向數(shù)據(jù)寫或讀時(shí),相應(yīng)于扇區(qū)緩沖器的最大存儲(chǔ)容量的寫請(qǐng)求或讀出的數(shù)據(jù)可以被高速緩存。在另一方面,因?yàn)樵陔p環(huán)形緩沖器系統(tǒng)中寫請(qǐng)求環(huán)形緩沖器和讀出的數(shù)據(jù)環(huán)形緩沖器彼此分開,雙環(huán)形緩沖器系統(tǒng)可以只高速緩存分配給各個(gè)環(huán)形緩沖器的緩沖器尺寸。
      一般地說,在高速緩存系統(tǒng)中,高速緩存存儲(chǔ)器(緩沖存儲(chǔ)器)的大的存儲(chǔ)容量能夠貢獻(xiàn)于性能的改進(jìn)。因而,當(dāng)存在偏向于數(shù)據(jù)寫或讀的訪問時(shí),和采用單個(gè)的環(huán)形緩沖器系統(tǒng)的外部存儲(chǔ)裝置相比,在扇區(qū)緩沖器中使用雙環(huán)形緩沖器系統(tǒng)這種外部存儲(chǔ)裝置的性能變劣。
      同時(shí),今天要由計(jì)算機(jī)處理的數(shù)據(jù)呈多媒體形式,并且用于在磁盤上記錄活動(dòng)圖像和話音的硬盤記錄器被普遍采用,還具有使這種偏向訪問增加的可能,使得大容量的數(shù)據(jù)例如圖像數(shù)據(jù)、話音數(shù)據(jù)或其類似數(shù)據(jù)被同時(shí)寫入或讀出。

      發(fā)明內(nèi)容
      因此,本發(fā)明的目的在于,通過采用雙環(huán)形緩沖器系統(tǒng)作為緩沖存儲(chǔ)器的數(shù)據(jù)結(jié)構(gòu),使得即使在執(zhí)行偏向數(shù)據(jù)的寫或讀的訪問的情況下,也能避免存儲(chǔ)裝置的性能劣化。
      為實(shí)現(xiàn)上述目的,作為用以下方式配置的數(shù)據(jù)存儲(chǔ)裝置實(shí)施本發(fā)明。即,所述數(shù)據(jù)存儲(chǔ)裝置包括用于記錄數(shù)據(jù)的記錄介質(zhì);緩沖器裝置,其具有第一環(huán)形緩沖器,用于在所述記錄介質(zhì)上進(jìn)行處理之前暫時(shí)保存對(duì)所述記錄介質(zhì)的外部寫請(qǐng)求,以及第二環(huán)形緩沖器,用于保存按照對(duì)所述記錄介質(zhì)的外部讀請(qǐng)求從所述記錄介質(zhì)讀出的數(shù)據(jù);以及緩沖器控制裝置,其按照對(duì)所述記錄介質(zhì)的外部訪問的模式改變包括在所述緩沖器裝置中的第一環(huán)形緩沖器和第二環(huán)形緩沖器的尺寸。
      更優(yōu)選地,所述緩沖器裝置包括RAM(隨機(jī)存取存儲(chǔ)器),其中緩沖區(qū)被分成第一環(huán)形緩沖器和第二環(huán)形緩沖器。改變所述第一環(huán)形緩沖器的底頁的位置或者所述第二環(huán)形緩沖器的底頁的位置,以便改變第一和第二環(huán)形緩沖器的各個(gè)緩沖器的尺寸。
      緩沖器的尺寸可以根據(jù)從外部接收的每個(gè)訪問請(qǐng)求的類型和每個(gè)類型的訪問請(qǐng)求的頻率被改變,或者根據(jù)與從外部接收的訪問請(qǐng)求相關(guān)的寫數(shù)據(jù)或讀出數(shù)據(jù)的尺寸被改變。
      此外,本發(fā)明還作為一種用于管理緩沖存儲(chǔ)器的方法來實(shí)施,所述緩沖存儲(chǔ)器用于在從記錄介質(zhì)上讀出數(shù)據(jù)和寫數(shù)據(jù)之前暫時(shí)保存所述數(shù)據(jù)。所述緩沖存儲(chǔ)器管理方法包括以下步驟分析對(duì)所述記錄介質(zhì)的外部訪問請(qǐng)求,根據(jù)分析的結(jié)果確定提供在所述緩沖存儲(chǔ)器的緩沖區(qū)內(nèi)的寫請(qǐng)求環(huán)形緩沖器和讀出數(shù)據(jù)環(huán)形緩沖器的各個(gè)緩沖器的尺寸是否應(yīng)當(dāng)被改變,以及按照所述確定的結(jié)果改變一個(gè)分割的位置,所述分割用于把緩沖存儲(chǔ)器的緩沖區(qū)劃分成兩個(gè)環(huán)形緩沖器,借以改變兩個(gè)環(huán)形緩沖器的各個(gè)緩沖器尺寸。
      更具體地說,所述緩沖器的尺寸用這種方式被改變,使得當(dāng)在外部訪問請(qǐng)求中的寫請(qǐng)求的數(shù)量增加時(shí),所述寫請(qǐng)求環(huán)形緩沖器被擴(kuò)展,并且所述緩沖器的尺寸用這種方式被改變,使得當(dāng)在外部訪問請(qǐng)求中的讀請(qǐng)求的數(shù)量增加時(shí),所述讀出數(shù)據(jù)環(huán)形緩沖器被擴(kuò)展。或者,緩沖器的尺寸用這種方式被改變,使得當(dāng)外部訪問請(qǐng)求中的請(qǐng)求寫入大尺寸的數(shù)據(jù)的訪問請(qǐng)求的數(shù)量增加時(shí),所述寫請(qǐng)求環(huán)形緩沖器被擴(kuò)展,并且緩沖器的尺寸用這種方式被改變,使得當(dāng)外部訪問請(qǐng)求中的請(qǐng)求讀出大尺寸的數(shù)據(jù)的訪問請(qǐng)求的數(shù)量增加時(shí),所述讀出數(shù)據(jù)環(huán)形緩沖器被擴(kuò)展。
      此外,用于實(shí)現(xiàn)上述目的的本發(fā)明可以作為一種按照下述被構(gòu)成的磁盤裝置來實(shí)施,所述磁盤裝置包括用于以磁的方式記錄數(shù)據(jù)的磁盤,以及用于在所述磁盤上進(jìn)行處理之前暫時(shí)保存從所述磁盤讀出的和在所述磁盤上寫入的數(shù)據(jù)的緩沖存儲(chǔ)器,其中所述緩沖存儲(chǔ)器包括一個(gè)存儲(chǔ)區(qū),所述存儲(chǔ)區(qū)被分成用于存儲(chǔ)從外部接收的對(duì)所述磁盤的寫請(qǐng)求的第一環(huán)形緩沖器和用于存儲(chǔ)從所述磁盤上讀出的數(shù)據(jù)的第二環(huán)形緩沖器,并且用于分離所述第一環(huán)形緩沖器和所述第二環(huán)形緩沖器的分割的位置被改變,以便改變寫區(qū)域和讀區(qū)域的各個(gè)緩沖器的尺寸。
      此外,本發(fā)明也可以作為一種利用磁盤作為記錄介質(zhì)用于記錄和再現(xiàn)多媒體的內(nèi)容的硬盤記錄器來實(shí)施。所述硬盤記錄器被這樣構(gòu)成,使得其包括緩沖器裝置,所述緩沖器裝置具有第一環(huán)形緩沖器,用于在所述磁盤上進(jìn)行處理之前暫時(shí)保存對(duì)所述磁盤的寫請(qǐng)求,和第二環(huán)形緩沖器,用于保存按照對(duì)磁盤的讀請(qǐng)求從所述磁盤上讀出的數(shù)據(jù),以及緩沖器控制裝置,用于用這種方式動(dòng)態(tài)地分配所述緩沖器裝置的存儲(chǔ)區(qū)域,使得當(dāng)所述硬盤記錄器以用于記錄多媒體內(nèi)容的操作方式操作時(shí),給予所述第一環(huán)形緩沖器大的緩沖器尺寸,當(dāng)所述硬盤記錄器以用于再現(xiàn)多媒體內(nèi)容的操作方式操作時(shí),給予所述第二環(huán)形緩沖器大的緩沖器尺寸。
      按照本發(fā)明,如上所述,通過采用雙環(huán)形緩沖器系統(tǒng)作為緩沖存儲(chǔ)器的數(shù)據(jù)結(jié)構(gòu),使得即使在執(zhí)行偏向?qū)憯?shù)據(jù)或讀出數(shù)據(jù)的操作的情況下,也能避免存儲(chǔ)裝置的性能的劣化。


      圖1是表示按照當(dāng)前實(shí)施例的硬盤驅(qū)動(dòng)裝置的主要結(jié)構(gòu)的方框圖;圖2是表示在按照當(dāng)前實(shí)施例的DRAM中提供的扇區(qū)緩沖器的配置的例子的示意圖;圖3是表示用作按照當(dāng)前實(shí)施例的扇區(qū)緩沖器的控制裝置的MPU的功能的方框圖;圖4是說明由按照當(dāng)前實(shí)施例的MPU執(zhí)行的處理的流程的流程圖;以及圖5是表示環(huán)形緩沖器的配置的示意圖。
      具體實(shí)施例方式
      下面按照附圖所示的實(shí)施例詳細(xì)說明本發(fā)明。在當(dāng)前的實(shí)施例中,將以舉例方式說明作為外部存儲(chǔ)裝置的使用磁盤作為記錄介質(zhì)的硬盤驅(qū)動(dòng)器。
      圖1是表示硬盤驅(qū)動(dòng)器100的主要部分的結(jié)構(gòu)的方塊圖。
      硬盤驅(qū)動(dòng)器100是一種外部存儲(chǔ)裝置,其中每個(gè)磁頭103在由主軸電動(dòng)機(jī)102轉(zhuǎn)動(dòng)地驅(qū)動(dòng)的磁盤101上尋道,并當(dāng)停留在預(yù)定的磁道(在預(yù)定的位置)上時(shí),在磁盤101上寫入數(shù)據(jù),或者讀出在磁盤101上寫入的數(shù)據(jù)。磁盤101是一種用于記錄作為磁信息數(shù)據(jù)的記錄介質(zhì),并根據(jù)需要以單個(gè)或多個(gè)的形式被安裝。不過,圖1所示的是單個(gè)的例子。
      當(dāng)硬盤驅(qū)動(dòng)器100處于操作狀態(tài)時(shí),磁盤101被連續(xù)地驅(qū)動(dòng),從而圍繞主軸電動(dòng)機(jī)102的主軸旋轉(zhuǎn)。當(dāng)硬盤驅(qū)動(dòng)器100不處于操作狀態(tài)時(shí),磁盤101則停止轉(zhuǎn)動(dòng)(處于靜止?fàn)顟B(tài))。兩個(gè)磁頭102被保持在致動(dòng)器104的前端,并分別作用在磁盤101的頂面和底面上。它們?cè)诖疟P101上執(zhí)行寫操作,或者從磁盤101執(zhí)行讀操作。致動(dòng)器104由音圈電動(dòng)機(jī)(VCM)105驅(qū)動(dòng),所述電動(dòng)機(jī)由MPU(微處理單元)109通過數(shù)模轉(zhuǎn)換器(DAC)106和音圈電動(dòng)機(jī)(VCM)驅(qū)動(dòng)器107控制。
      讀寫通道108執(zhí)行數(shù)據(jù)的讀寫處理。即,當(dāng)寫數(shù)據(jù)時(shí),讀寫通道108把通過HDC(硬盤控制器)110來自主系統(tǒng)(計(jì)算機(jī))的寫數(shù)據(jù)轉(zhuǎn)換成寫信號(hào)(電流),并將所述信號(hào)提供給磁頭103。磁頭103根據(jù)所述寫電流在磁盤101上執(zhí)行數(shù)據(jù)寫操作。在另一方面,當(dāng)讀出數(shù)據(jù)時(shí),讀寫通道108把從磁盤101讀出的讀信號(hào)(電流)轉(zhuǎn)換成數(shù)字?jǐn)?shù)據(jù),并通過HDC110把所述數(shù)字信號(hào)提供給主系統(tǒng)。
      HDC110具有被用作硬盤驅(qū)動(dòng)器100的接口的功能。一個(gè)功能是接收從主系統(tǒng)傳送的寫數(shù)據(jù),并將其傳送給讀寫通道108。另一個(gè)功能是向主系統(tǒng)傳送從讀寫通道108傳送的讀出數(shù)據(jù)。再一個(gè)功能是,響應(yīng)從主系統(tǒng)發(fā)出的指令形式的命令,把所述命令傳遞給MPU109。
      MPU109控制硬盤驅(qū)動(dòng)器100。DRAM111用于存儲(chǔ)控制程序,使得MPU109能夠控制硬盤驅(qū)動(dòng)器100,并被用作用于存儲(chǔ)讀寫數(shù)據(jù)的扇區(qū)緩沖器(緩沖存儲(chǔ)器)。因而,HDC110把從主系統(tǒng)傳送的寫請(qǐng)求(包括寫數(shù)據(jù))暫時(shí)高速緩存在DRAM111內(nèi),并與此同時(shí),向主系統(tǒng)發(fā)出所述寫請(qǐng)求完成的完成通知(指令完成),作為通知信息。此后,HDC110在合適的定時(shí)向讀寫通道108傳送高速緩存的寫數(shù)據(jù),并執(zhí)行所述寫請(qǐng)求。HDC110還在DRAM111內(nèi)高速緩存從主系統(tǒng)傳送的讀出數(shù)據(jù)。當(dāng)HDC110收到來自主系統(tǒng)的相應(yīng)于相同數(shù)據(jù)的讀請(qǐng)求時(shí),其便向主系統(tǒng)發(fā)送在DRAM111中高速緩存的數(shù)據(jù)。
      圖2表示在DRAM111中提供的扇區(qū)緩沖器的一種結(jié)構(gòu)的例子。
      如圖2所示,按照當(dāng)前實(shí)施例的扇區(qū)緩沖器10采用雙環(huán)緩沖器系統(tǒng)作為數(shù)據(jù)結(jié)構(gòu)。扇區(qū)緩沖器的內(nèi)部被分成相應(yīng)于用于讀出數(shù)據(jù)的區(qū)域的環(huán)形緩沖器(下文稱為BUF_R)11,以及相應(yīng)于用于寫請(qǐng)求的區(qū)域的環(huán)形緩沖器(下文稱為BUF_W)12。在所示的例子中,BUF_W12的底頁(下文稱為BPAGE)13被用作BUF_R11和BUF_W12之間的分割。即,從緩沖器的底部到扇區(qū)緩沖器的BPAGE13的區(qū)域被用作BUF_R11,而從緩沖器的頂部到扇區(qū)緩沖器的BPAGE13的區(qū)域被用作BUF_W12。附帶說明,顯然,雖然在所示的例子中,BUF_W12的底頁被設(shè)置為分割(BPAGE13),在BUF_R11位于緩沖器的頂側(cè),BUF_W12位于緩沖器底側(cè)時(shí),則BUF_R11的底頁被用作分割(BPAGE13)。
      在當(dāng)前實(shí)施例中,BPAGE13的位置可以在MPU109的控制下改變。更具體地說,在當(dāng)前實(shí)施例中,MPU109是一個(gè)控制裝置,用于按照來自主系統(tǒng)的對(duì)硬盤驅(qū)動(dòng)器100(磁盤101)的存取模式把整個(gè)扇區(qū)緩沖器10的存儲(chǔ)區(qū)域動(dòng)態(tài)地、合適地分配給BUF_R11和BUF_W12。存取模式例如是寫請(qǐng)求或讀請(qǐng)求的頻率以及要被處理的數(shù)據(jù)的尺寸等模式。
      圖3是表示作為扇區(qū)緩沖器10的控制裝置被使用的MPU109的功能的方框圖。
      參見圖3,按照當(dāng)前實(shí)施例的MPU109包括用于接收從主系統(tǒng)發(fā)出的訪問請(qǐng)求(下文稱為訪問指令)的中斷處理器20,用于管理和控制扇區(qū)緩沖器10的段的段控制程序30,用于發(fā)送指令,以便改變扇區(qū)緩沖器10的結(jié)構(gòu)的指令調(diào)度器40,以及事件處理器50。此外,MPU109包括指令分析器60和錯(cuò)誤恢復(fù)處理器70。指令分析器60分析訪問指令,并確定扇區(qū)緩沖器10的BPAGE13是否應(yīng)當(dāng)被改變。在使用扇區(qū)緩沖器10處理失敗的情況下,錯(cuò)誤恢復(fù)處理器70檢測(cè)到所述失敗,并進(jìn)行重試。
      這些功能通過按照存儲(chǔ)在DRAM111中的程序(微代碼)控制MPU109被執(zhí)行。所述程序例如已被寫在磁盤101上,并在硬盤驅(qū)動(dòng)器100被啟動(dòng)時(shí),被傳遞到DRAM111。
      在上述的結(jié)構(gòu)中,中斷處理器20接收從主系統(tǒng)給予的已通過HDC110傳送的訪問指令,并進(jìn)行相應(yīng)于請(qǐng)求類型(讀出數(shù)據(jù)或?qū)憯?shù)據(jù))的處理。當(dāng)中斷處理器20收到寫請(qǐng)求時(shí),其把與寫請(qǐng)求相關(guān)的寫數(shù)據(jù)存儲(chǔ)在扇區(qū)緩沖器10中,并調(diào)用段控制程序30,以便開始處理。此時(shí),扇區(qū)緩沖器10能夠接收下一個(gè)寫請(qǐng)求,即使下一個(gè)寫請(qǐng)求尚未來到,扇區(qū)緩沖器10向中斷處理器20發(fā)送寫傳送完成信息。其中收到寫傳送完成信息的中斷處理器20向主系統(tǒng)返回指令完成信息。當(dāng)中斷處理器20收到數(shù)據(jù)讀請(qǐng)求時(shí),其調(diào)用段控制程序30,以便開始處理。
      段控制程序30檢查在扇區(qū)緩沖器10中存儲(chǔ)的數(shù)據(jù)和由中斷處理器20接收的訪問指令之間的關(guān)系,并執(zhí)行相應(yīng)于相應(yīng)的請(qǐng)求的處理。例如,如果在由中斷處理器20收到的訪問指令是寫請(qǐng)求時(shí),在與所述寫請(qǐng)求相關(guān)的寫數(shù)據(jù)的寫目的地相同的地址的數(shù)據(jù)正在被保持在BUF_R11中,則段控制程序30便執(zhí)行丟棄所述數(shù)據(jù)的處理。如果在由中斷處理器20收到的訪問指令是讀請(qǐng)求時(shí),與讀請(qǐng)求相關(guān)的數(shù)據(jù)正在被保持在BUF_R11或BUF_W12中,則段控制程序30讀出所述數(shù)據(jù),并將其發(fā)送給主系統(tǒng)。因?yàn)楫?dāng)與讀請(qǐng)求相關(guān)的數(shù)據(jù)未被保存在BUF_R11或BUF_W12中時(shí),需要從磁盤101讀出數(shù)據(jù),段控制程序30調(diào)用指令調(diào)度器40。
      此外,在預(yù)定情況下,當(dāng)前實(shí)施例的段控制程序30移動(dòng)扇區(qū)緩沖器10中的BPAGE13。這種處理的細(xì)節(jié)將在后面說明。
      指令調(diào)度器40以合適的定時(shí)發(fā)送指令,例如使磁頭103尋道,產(chǎn)生管理表,讀出數(shù)據(jù)和寫數(shù)據(jù)等。當(dāng)指令調(diào)度器40被從段控制程序30調(diào)用以便從磁盤101讀出數(shù)據(jù)時(shí),指令調(diào)度器40則立即發(fā)出讀出數(shù)據(jù)的指令。
      此外,當(dāng)前實(shí)施例的指令調(diào)度器40在預(yù)定情況下執(zhí)行用于移動(dòng)扇區(qū)緩沖器10中的BPAGE13所需的處理。這種處理的細(xì)節(jié)將在后面說明。
      事件處理器50檢測(cè)由指令調(diào)度器40發(fā)出的各種指令的事件,并執(zhí)行這些指令,以便啟動(dòng)合適的程序,在磁盤101上寫數(shù)據(jù)或從磁盤101中讀出數(shù)據(jù)。因而,數(shù)據(jù)在磁盤101上被實(shí)際地寫入或讀出。
      從磁盤101讀出的數(shù)據(jù)被存儲(chǔ)在扇區(qū)緩沖器10的BUF_R11內(nèi),并被傳送給主系統(tǒng)。
      指令分析器60分析由中斷處理器20收到的每個(gè)訪問指令,并確定BPAGE13是否應(yīng)當(dāng)移動(dòng)。作為分析所述指令和確定BPAGE13移動(dòng)的方法,可以采用下面基于接收的訪問指令的類型或頻率的方法。
      (1)指令分析器60分析訪問指令的類型(讀請(qǐng)求或?qū)懻?qǐng)求)和指令的長度(讀出數(shù)據(jù)或?qū)懭霐?shù)據(jù)的尺寸)。當(dāng)預(yù)定數(shù)量的或者超過所述預(yù)定數(shù)量的每個(gè)具有固定的或者較長的指令長度的讀請(qǐng)求被發(fā)出時(shí)(具體地說,例如,當(dāng)3個(gè)或3個(gè)以上的每個(gè)具有超過64個(gè)扇區(qū)的尺寸的用于讀出數(shù)據(jù)的請(qǐng)求被發(fā)出時(shí)),指令分析器60便確定BPAGE13被移動(dòng),使得擴(kuò)展BUF_R11(在圖2的例子中,BPAGE13朝向緩沖器的頂側(cè)移動(dòng))。當(dāng)寫請(qǐng)求出現(xiàn)時(shí),指令分析器60確定移動(dòng)BPAGE13,使得擴(kuò)展BUF_W12(使其恢復(fù))。
      (2)指令分析器60分析訪問指令的類型(讀請(qǐng)求或?qū)懻?qǐng)求)。寫請(qǐng)求被連續(xù)地高速緩存,并且,當(dāng)用于BUF_W12的自由空間被減少到一個(gè)小的尺寸時(shí),指令分析器60便判斷BUF_W12應(yīng)當(dāng)被擴(kuò)展(關(guān)于BUF_W12的自由空間的信息可以從段控制程序30獲得)。附帶說明,在這種情況下,BUF_W12的尺寸起初被設(shè)置為一個(gè)小的值。
      (3)指令分析器60分析訪問指令的類型(讀請(qǐng)求或?qū)懻?qǐng)求),并計(jì)算相互獨(dú)立地接收的讀請(qǐng)求和寫請(qǐng)求各自的數(shù)量。如果計(jì)數(shù)值中發(fā)生預(yù)定數(shù)量的或大于所述預(yù)定數(shù)量的差值,則指令分析器60斷定BPAGE13應(yīng)當(dāng)按照所述差值以這種方式被移動(dòng),使得如果讀請(qǐng)求增加,則BUF_R11被擴(kuò)展,并且如果寫請(qǐng)求增加,則BUF_W12被擴(kuò)展。在這種情況下,預(yù)先設(shè)置一個(gè)門限值,用于按照發(fā)生多大的差值確定BPAGE13應(yīng)當(dāng)朝向哪一側(cè)移動(dòng),并將所述門限值例如保存在DRAM111內(nèi)。
      在這種方法的一種改型中,指令分析器60甚至還可以分析每個(gè)指令的長度(讀出數(shù)據(jù)或?qū)懭霐?shù)據(jù)的尺寸),并在一個(gè)組合的基礎(chǔ)上,確定收到的讀請(qǐng)求和寫請(qǐng)求的數(shù)量及其指令長度,借以判斷BPAGE13是否應(yīng)當(dāng)被移動(dòng)。
      (4)指令分析器60分析訪問指令的類型(讀請(qǐng)求或?qū)懻?qǐng)求)。指令分析器60計(jì)算在BUF_R11和BUF_W12中高速緩存的數(shù)據(jù)的各自的命中率,并用這種方式判斷BPAGE13是否被移動(dòng),使得它們達(dá)到更有效的緩沖器尺寸(對(duì)于命中率高的分配給大的尺寸)。
      除去這些之外,當(dāng)硬盤驅(qū)動(dòng)器100是不同于用作計(jì)算機(jī)的外部存儲(chǔ)裝置的硬盤驅(qū)動(dòng)器的硬盤記錄器時(shí),其用于記錄和再現(xiàn)多媒體內(nèi)容例如活動(dòng)數(shù)據(jù)、話音數(shù)據(jù)等,當(dāng)所述多媒體內(nèi)容被記錄和再現(xiàn)時(shí),對(duì)磁盤的訪問模式相互之間具有許多不同。即當(dāng)記錄多媒體內(nèi)容時(shí),用于寫大的數(shù)據(jù)的請(qǐng)求的數(shù)量增加,而當(dāng)多媒體內(nèi)容被再現(xiàn)時(shí),用于讀大的數(shù)據(jù)的請(qǐng)求的數(shù)量增加。因而,也可以監(jiān)視硬盤驅(qū)動(dòng)器100的操作方式,并用這種方式控制硬盤驅(qū)動(dòng)器100,使得BPAGE13被移動(dòng),以便在記錄操作中增加BUF_W12,在再現(xiàn)操作中增加BUF_R11。
      在指令分析器60通過使用上述方法作出關(guān)于BPAGE13是否應(yīng)當(dāng)被移動(dòng)的決定之后,根據(jù)指令調(diào)度器40發(fā)出的指令進(jìn)行檢查,檢查扇區(qū)緩沖器10的狀態(tài)是否處于BPAGE13可被移動(dòng)的狀態(tài)。如果發(fā)現(xiàn)BPAGE13可被移動(dòng),則段控制程序30改變BPAGE13的位置。關(guān)于BPAGE13的移動(dòng),可以通過預(yù)先用這種方式設(shè)置BPAGE13的位置,使得BUF_R11和BUF_W12在幾級(jí)中用預(yù)定的速率,使BPAGE13用步進(jìn)方式移動(dòng)。
      除去由中斷處理器20通過事件處理器50執(zhí)行的一系列的讀寫處理之外,當(dāng)在讀寫處理中發(fā)生錯(cuò)誤時(shí),錯(cuò)誤恢復(fù)處理器70啟動(dòng),并按照事先準(zhǔn)備的錯(cuò)誤恢復(fù)程序重新執(zhí)行數(shù)據(jù)寫處理或數(shù)據(jù)讀處理。
      下面說明當(dāng)硬盤驅(qū)動(dòng)器10收到來自主系統(tǒng)的每個(gè)訪問指令時(shí)進(jìn)行的用于控制扇區(qū)緩沖器10的操作。
      圖4是用于說明由MPU109執(zhí)行的處理的流程圖。
      當(dāng)硬盤驅(qū)動(dòng)器100收到來自主系統(tǒng)的訪問指令,并把來自HDC110的訪問指令傳送給MPU109時(shí),如圖4所示(步驟401),指令分析器60首先分析所述訪問指令。MPU109根據(jù)分析結(jié)果判斷扇區(qū)緩沖器10的BPAGE13是否應(yīng)當(dāng)被移動(dòng)(步驟402)。當(dāng)確定BPAGE13被移動(dòng)時(shí),使表示被一種微代碼參考的標(biāo)記的BPAGE改變請(qǐng)求接通。
      接著,段控制程序30檢查訪問指令的BPAGE改變請(qǐng)求的狀態(tài)。如果BPAGE改變請(qǐng)求未被接通,則像通常那樣執(zhí)行訪問指令,并且結(jié)束處理(步驟403和404)。
      在另一方面,如果BPAGE改變請(qǐng)求是接通的,則BPAGE13被在實(shí)際上重寫。此時(shí),需要考慮在進(jìn)行中的訪問指令和扇區(qū)緩沖器10的狀態(tài)。即,如果BPAGE13未被包含在BUF_W12的段中,則可以進(jìn)行BPAGE13的重寫。不過,當(dāng)BPAGE13被包括在BUF_W12的段中時(shí),則BUF_W12的段受到BPAGE3的重寫的影響,使得BPAG13的重寫不能被進(jìn)行。
      在特殊的操作中,指令調(diào)度器40首先發(fā)出一個(gè)用于對(duì)相應(yīng)于num_pend wrt的變量進(jìn)行檢查的指令。該指令按照預(yù)定的程序被執(zhí)行。按照num_pend wrt的值,段控制程序30接著檢查BPAGE13是否被包括在預(yù)定的寫請(qǐng)求段中(步驟405)。其中項(xiàng)num_pend wrt表示對(duì)磁盤101尚未完成寫操作的寫請(qǐng)求的數(shù)量,同時(shí)其被保存在扇區(qū)緩沖器10中。
      如果num_pend wrt的值是0,則不存在對(duì)磁盤101尚未完成寫操作的寫請(qǐng)求的段。因此,不需要檢索包括BPAGE13的BUF_W12中的段。在另一方面,當(dāng)num_pend wrt不是0時(shí),則檢索包括BPAGE13的相應(yīng)的段。
      作為對(duì)包括BPAGE13的段的檢索結(jié)果,如果這種段存在,則BPAGE13不能被重寫。因此,像通常那樣執(zhí)行訪問指令,并結(jié)束處理(步驟404)。
      因?yàn)楫?dāng)包括BPAGE13的段不存在時(shí)啟動(dòng)BPAGE13的重寫,首先從指令調(diào)度器40中發(fā)出用于執(zhí)行PAGE Discard的指令,并按照預(yù)定程序執(zhí)行PAGE Discard指令(步驟406)。PAGE Discard是一種用于從相應(yīng)的頁中丟棄不需要進(jìn)行高速緩存的段的處理。不需要進(jìn)行高速緩存的段例如是由保存在BUF_W12中的寫請(qǐng)求已經(jīng)完成對(duì)磁盤101的寫操作的寫請(qǐng)求的段。
      然后BPAGE13被段控制程序30重寫,使得其位置被改變。利用BPAGE13的改變,BUF_R11和BUF_W12的管理參數(shù)被改變(步407)。此后,像通常那樣執(zhí)行訪問指令,并且結(jié)束處理(步驟404)。
      每當(dāng)硬盤驅(qū)動(dòng)器100收到來自主系統(tǒng)的訪問指令時(shí),執(zhí)行上述的操作。在當(dāng)前實(shí)施例中,如在步驟405的判斷所示,即使由指令分析的結(jié)果發(fā)現(xiàn)BPAGE13最好被移動(dòng)以便改變BUF_R11和BUF_W12的緩沖器尺寸時(shí),則根據(jù)扇區(qū)緩沖器10的狀態(tài),即當(dāng)存在包括BPAGE13的寫請(qǐng)求段時(shí),不進(jìn)行BPAGE13的重寫,而等待其重寫直到下一次機(jī)會(huì)(直到硬盤驅(qū)動(dòng)器收到另一個(gè)訪問指令,并啟動(dòng)步驟401的操作周期以后)。這是因?yàn)槿绻谟脖P驅(qū)動(dòng)器100的背景下按照正常處理執(zhí)行被保存在BUF_W12中的相應(yīng)的寫請(qǐng)求,則包括PAGE13的寫請(qǐng)求的段成為不存在的,直到硬盤驅(qū)動(dòng)器100接收下一個(gè)訪問指令,然后啟動(dòng)BPAGE13的重寫。
      在上述的當(dāng)前實(shí)施例中,提供扇區(qū)緩沖器10作為雙環(huán)緩沖器系統(tǒng),其中扇區(qū)緩沖器10的配置被分成相應(yīng)于用于高速緩存讀出數(shù)據(jù)的BUF_R11和相應(yīng)于用于高速緩存從主系統(tǒng)發(fā)出的寫請(qǐng)求的環(huán)形緩沖器BUF_W12。按照主系統(tǒng)對(duì)硬盤驅(qū)動(dòng)器100(磁盤)的訪問模式,BUF_R11和BUF_W12的緩沖器尺寸用這種方式被改變,使得當(dāng)寫請(qǐng)求的數(shù)量增加并且其數(shù)據(jù)尺寸大時(shí),BUF_W12被擴(kuò)展,并且當(dāng)讀請(qǐng)求的數(shù)量增加并且其數(shù)據(jù)尺寸大時(shí),BUF_R11被擴(kuò)展。因?yàn)檎麄€(gè)扇區(qū)緩沖器10的尺寸已被確定,相應(yīng)于用于使BUF_R11和BUF_W12隔開的BUF_R11或BUF_W12的底頁(BPAGE13)的位置被改變,借以改變BUF_R11和BUF_W12的緩沖器尺寸。
      因而,BUF_R11的緩沖器尺寸可以根據(jù)用于讀出數(shù)據(jù)的高速緩存的容量而增加,BUF_W12的緩沖器尺寸可以根據(jù)用于高速緩存寫請(qǐng)求的容量而增加。因此,即使使用雙環(huán)緩沖器系統(tǒng)作為扇區(qū)緩沖器10的數(shù)據(jù)結(jié)構(gòu),和單環(huán)形緩沖器系統(tǒng)相比,用于高速緩存寫請(qǐng)求和讀出數(shù)據(jù)的各個(gè)緩沖器的尺寸被減少的影響可被減少。
      權(quán)利要求
      1.一種數(shù)據(jù)存儲(chǔ)裝置,包括用于以磁的方式記錄數(shù)據(jù)的磁盤;以及用于在所述磁盤上進(jìn)行處理之前暫時(shí)保存從所述磁盤讀出的或在所述磁盤上寫入的數(shù)據(jù)的緩沖存儲(chǔ)器;其中所述緩沖存儲(chǔ)器包括一個(gè)存儲(chǔ)區(qū),所述存儲(chǔ)區(qū)被分成用于存儲(chǔ)從外部接收的對(duì)所述磁盤的寫請(qǐng)求的第一環(huán)形緩沖器,以及用于存儲(chǔ)從所述磁盤上讀出的數(shù)據(jù)的第二環(huán)形緩沖器,所述第一環(huán)形緩沖器和所述第二環(huán)形緩沖器具有各自的緩沖器尺寸,所述緩沖器尺寸可以通過改變用于分離所述第一環(huán)形緩沖器和所述第二環(huán)形緩沖器的分割的位置被改變。
      2.按照權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述分割是所述第一環(huán)形緩沖器的底頁或所述第二環(huán)形緩沖器的底頁。
      3.按照權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述緩沖存儲(chǔ)器的分割按照對(duì)所述磁盤的外部訪問的模式被移動(dòng)。
      4.一種數(shù)據(jù)存儲(chǔ)裝置,包括用于記錄數(shù)據(jù)的記錄介質(zhì);緩沖器裝置,其具有第一環(huán)形緩沖器,用于在所述記錄介質(zhì)上進(jìn)行處理之前暫時(shí)保存對(duì)所述記錄介質(zhì)的外部寫請(qǐng)求,以及第二環(huán)形緩沖器,用于保存按照對(duì)所述記錄介質(zhì)的外部讀請(qǐng)求從所述記錄介質(zhì)讀出的數(shù)據(jù);以及緩沖器控制裝置,其按照對(duì)所述記錄介質(zhì)的外部訪問的模式改變包括在所述緩沖器裝置中的第一環(huán)形緩沖器和第二環(huán)形緩沖器的各自的緩沖器尺寸。
      5.按照權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述緩沖器裝置是RAM(隨機(jī)存取存儲(chǔ)器),其中緩沖區(qū)被分成第一環(huán)形緩沖器和第二環(huán)形緩沖器。
      6.按照權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述緩沖器控制裝置改變所述第一環(huán)形緩沖器的底頁的位置或者所述第二環(huán)形緩沖器的底頁的位置,所述底頁分割所述RAM的緩沖區(qū),以便改變第一和第二環(huán)形緩沖器的各個(gè)緩沖器的尺寸。
      7.按照權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述緩沖器控制裝置根據(jù)從外部接收的每個(gè)訪問請(qǐng)求的類型和每個(gè)類型的訪問請(qǐng)求的頻率改變第一和第二環(huán)形緩沖器的各個(gè)緩沖器尺寸。
      8.按照權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述緩沖器控制裝置根據(jù)與從外部接收的訪問請(qǐng)求相關(guān)的寫數(shù)據(jù)或讀出數(shù)據(jù)的尺寸改變所述第一和第二環(huán)形緩沖器的各個(gè)緩沖器尺寸。
      9.一種用于管理緩沖存儲(chǔ)器的方法,所述緩沖存儲(chǔ)器用于在從預(yù)定的記錄介質(zhì)讀出數(shù)據(jù)或?qū)憯?shù)據(jù)時(shí),在對(duì)所述預(yù)定的記錄介質(zhì)進(jìn)行處理之前,暫時(shí)保存所述數(shù)據(jù),所述方法包括以下步驟分析對(duì)所述記錄介質(zhì)的外部訪問請(qǐng)求;根據(jù)所述分析的結(jié)果確定提供在所述緩沖存儲(chǔ)器的緩沖區(qū)內(nèi)的寫請(qǐng)求環(huán)形緩沖器和讀出數(shù)據(jù)環(huán)形緩沖器的各個(gè)緩沖器的尺寸是否應(yīng)當(dāng)被改變;以及按照所述確定的結(jié)果改變一個(gè)分割的位置,所述分割把所述緩沖存儲(chǔ)器的緩沖區(qū)劃分成兩個(gè)環(huán)形緩沖器,借以改變兩個(gè)環(huán)形緩沖器的各個(gè)緩沖器尺寸。
      10.按照權(quán)利要求9所述的方法,其中用于分析訪問請(qǐng)求的所述步驟分析訪問請(qǐng)求的類型和每種類型的訪問請(qǐng)求的頻率,以及所述用于確定緩沖器尺寸是否應(yīng)當(dāng)被改變的步驟,判斷所述緩沖器的尺寸用這種方式被改變,使得當(dāng)在外部訪問請(qǐng)求中的寫請(qǐng)求的數(shù)量增加時(shí),所述寫請(qǐng)求環(huán)形緩沖器被擴(kuò)展,并且判斷所述緩沖器的尺寸用這種方式被改變,使得當(dāng)在外部訪問請(qǐng)求中的讀請(qǐng)求的數(shù)量增加時(shí),所述讀出數(shù)據(jù)環(huán)形緩沖器被擴(kuò)展。
      11.按照權(quán)利要求9所述的方法,其中所述用于分析所述訪問請(qǐng)求的步驟分析與所述訪問請(qǐng)求相關(guān)的寫數(shù)據(jù)或讀出數(shù)據(jù)的尺寸,以及所述用于確定緩沖器的尺寸是否應(yīng)當(dāng)被改變的步驟,判斷所述緩沖器的尺寸用這種方式被改變,使得當(dāng)外部訪問請(qǐng)求中的請(qǐng)求寫入大尺寸的數(shù)據(jù)的寫訪問請(qǐng)求的數(shù)量增加時(shí),所述寫請(qǐng)求環(huán)形緩沖器被擴(kuò)展,并且判斷所述緩沖器的尺寸用這種方式被改變,使得當(dāng)外部訪問請(qǐng)求中的請(qǐng)求讀出大尺寸的數(shù)據(jù)的訪問請(qǐng)求的數(shù)量增加時(shí),所述讀出數(shù)據(jù)環(huán)形緩沖器被擴(kuò)展。
      12.按照權(quán)利要求9所述的方法,其中用于改變緩沖器尺寸的所述步驟改變寫請(qǐng)求環(huán)形緩沖器或讀出數(shù)據(jù)環(huán)形緩沖器的底頁的位置,借以改變兩個(gè)環(huán)形緩沖器的緩沖器尺寸。
      13.一種硬盤記錄器,其利用磁盤作為記錄介質(zhì),用于記錄和再現(xiàn)多媒體的內(nèi)容,所述硬盤記錄器包括緩沖器裝置,所述緩沖器裝置具有第一環(huán)形緩沖器,用于在述磁盤上進(jìn)行處理之前暫時(shí)保存對(duì)所述磁盤的寫請(qǐng)求,和第二環(huán)形緩沖器,用于保存按照對(duì)所述磁盤的讀請(qǐng)求從所述磁盤讀出的數(shù)據(jù),以及緩沖器控制裝置,用于用這種方式動(dòng)態(tài)地分配所述緩沖器裝置的存儲(chǔ)區(qū)域,使得當(dāng)所述硬盤記錄器以用于記錄多媒體內(nèi)容的操作方式操作時(shí),給予所述第一環(huán)形緩沖器大的緩沖器尺寸,當(dāng)所述硬盤記錄器以用于再現(xiàn)多媒體內(nèi)容的操作方式操作時(shí),給予所述第二環(huán)形緩沖器大的緩沖器尺寸。
      全文摘要
      為了避免在采用雙環(huán)緩沖器系統(tǒng)作為數(shù)據(jù)結(jié)構(gòu)的緩沖存儲(chǔ)器中即使進(jìn)行偏向數(shù)據(jù)的讀操作或?qū)懖僮鞯脑L問時(shí)存儲(chǔ)裝置的性能的劣化,在存儲(chǔ)裝置的DRAM 111中提供一種用于高速緩存訪問請(qǐng)求的扇區(qū)緩沖器10。扇區(qū)緩沖器10具有第一環(huán)形緩沖器(BUF_W)12,用于在對(duì)記錄介質(zhì)進(jìn)行處理之前暫時(shí)保存對(duì)所述記錄介質(zhì)的外部寫請(qǐng)求,以及第二環(huán)形緩沖器(BUF_R)11,用于保存按照對(duì)所述記錄介質(zhì)的外部讀請(qǐng)求從所述記錄介質(zhì)讀出的數(shù)據(jù)。存儲(chǔ)裝置的MPU 109按照對(duì)記錄介質(zhì)的外部訪問的模式移動(dòng)BUF_R 11或BUF_W 12的BPAGE 13,借以改變BUF_R 11和BUF_W 12的緩沖器尺寸。
      文檔編號(hào)G06F12/00GK1503141SQ20031011832
      公開日2004年6月9日 申請(qǐng)日期2003年11月21日 優(yōu)先權(quán)日2002年11月21日
      發(fā)明者山田秀二, 齊藤博史, 齋藤高裕, 福久良司, 史, 司, 裕 申請(qǐng)人:日立環(huán)球儲(chǔ)存科技荷蘭有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1