国产精品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ù)讀出方法、數(shù)據(jù)寫入方法以及存儲盤控制裝置的制作方法

      文檔序號:6783847閱讀:258來源:國知局
      專利名稱:對存儲盤的數(shù)據(jù)讀出方法、數(shù)據(jù)寫入方法以及存儲盤控制裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明,涉及一種使用USB(通用串行總線)等串行數(shù)據(jù)傳輸機構(gòu)的FDD(軟盤驅(qū)動器)等的存儲盤驅(qū)動裝置中的數(shù)據(jù)讀出方法、數(shù)據(jù)寫入方法、以及該存儲盤驅(qū)動裝置。
      背景技術(shù)
      以往,F(xiàn)D(軟盤)的數(shù)據(jù)讀取(以下稱作讀)以及寫入(以下稱作寫),通常使用USB連接的FDD(軟盤驅(qū)動器)裝置(以下稱作USB-FDD裝置)。
      該USB-FDD裝置中,在進行數(shù)據(jù)的讀/寫的情況下,首先將磁頭移動到FD的作為目標的磁道上。
      然后,在進行數(shù)據(jù)·讀的情況下,按照扇區(qū)順序讀取從該磁道的開頭扇區(qū)(扇區(qū)編號1)到末尾扇區(qū)(扇區(qū)編號N)的N個扇區(qū)的數(shù)據(jù),并通過USB按照扇區(qū)順序發(fā)送數(shù)據(jù)。這種情況下,F(xiàn)D的旋轉(zhuǎn)位置,一般不會位于能夠從開頭扇區(qū)的數(shù)據(jù)起進行讀取的磁頭的位置。因此,通常到FD旋轉(zhuǎn)到讀取開頭扇區(qū)的數(shù)據(jù)的位置上為止,會產(chǎn)生旋轉(zhuǎn)等待時間。
      從FD旋轉(zhuǎn)到讀取開頭扇區(qū)的數(shù)據(jù)的位置時起,順次讀取該磁道的從扇區(qū)編號1到扇區(qū)編號N的數(shù)據(jù)。所讀出的數(shù)據(jù),暫存在USB-FDD裝置內(nèi)的緩存RAM中,之后經(jīng)USB發(fā)送給外部的主機計算機等。
      另外,在進行數(shù)據(jù)·寫的情況下,需要等待FD旋轉(zhuǎn)到在開頭扇區(qū)中寫入數(shù)據(jù)的位置上。然后,F(xiàn)D旋轉(zhuǎn)到該位置后,將從外部的主機計算機等發(fā)送后暫存在USB-FDD裝置內(nèi)的緩存RAM中的數(shù)據(jù),按照扇區(qū)順序?qū)懭氲皆摯诺赖膹拈_頭扇區(qū)(扇區(qū)編號1)到末尾扇區(qū)(扇區(qū)編號N)的這N個扇區(qū)中。
      該數(shù)據(jù)的讀/寫方法中,由于從磁道的開頭扇區(qū)起讀或?qū)懀虼藭a(chǎn)生到變?yōu)槟軌蜻M行開頭扇區(qū)的數(shù)據(jù)處理為止的旋轉(zhuǎn)等待。因此,讀/寫處理中會產(chǎn)生對應該旋轉(zhuǎn)等待的時間延遲。
      為了消除伴隨著該旋轉(zhuǎn)等待的時間延遲,專利文獻1(特開2004-103103號公報)中提出了一種方法,在讀/寫處理之前,先讀取位于磁頭上的FD的扇區(qū)編號,并從該扇區(qū)編號的下個扇區(qū)起進行讀/寫。
      專利文獻1的讀/寫方法中,雖然讀/寫處理所需要的時間變短了,但實際上讀/寫處理的扇區(qū)順序,與FD的旋轉(zhuǎn)位置相關(guān),因此沒有按照編號順序排列,導致前后顛倒。另外。與USB-FDD裝置之間進行數(shù)據(jù)交換的主機計算機,通常請求按照扇區(qū)編號順序排列的數(shù)據(jù)。因此,需要具有保存基本上1磁道份(FD的1轉(zhuǎn)份)的數(shù)據(jù)的存儲容量的RAM作為緩存。由于USB-FDD裝置在高速化的同時還要求小型化、低價化,因此不希望RAM緩存的容量增加。

      發(fā)明內(nèi)容
      因此,本發(fā)明的目的在于,在使用USB等串行數(shù)據(jù)傳輸機構(gòu)的FDD等存儲盤驅(qū)動裝置中的數(shù)據(jù)讀出方法、數(shù)據(jù)寫入方法、以及該存儲盤驅(qū)動裝置中,結(jié)合使用狀況來高速進行其讀/寫,同時減小RAM緩存的容量。另外,其目的還在于,令該數(shù)據(jù)的讀/寫中所使用的RAM緩存的區(qū)域,能夠結(jié)合使用狀況或其他用途的需要程度進行調(diào)節(jié)。
      本發(fā)明的存儲盤的數(shù)據(jù)讀出方法,使用包括串行數(shù)據(jù)傳輸機構(gòu)與緩存機構(gòu)的存儲盤驅(qū)動裝置,讀出存儲盤的N個扇區(qū)的數(shù)據(jù),其中將開頭的扇區(qū)起到給定的第K(K<N)扇區(qū),設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,將第K+1扇區(qū)到第N扇區(qū),分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,對應讀出請求,反復執(zhí)行以下的處理i至iv處理i,根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要讀取的扇區(qū);處理ii,讀出所決定的扇區(qū)的數(shù)據(jù);處理iii,將所讀出的扇區(qū)的數(shù)據(jù),保存到對應的緩存區(qū)域中;處理iv,給存儲有數(shù)據(jù)的扇區(qū),設置表示數(shù)據(jù)未處理的標志,
      同時,對應同一個讀出請求,反復執(zhí)行以下的步驟v至步驟vi處理v,從開頭扇區(qū)起按照扇區(qū)編號順序,以上述標志被設置為條件,將來自該扇區(qū)的數(shù)據(jù),從相應的緩存區(qū)域經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)傳輸?shù)酵獠?;處理vi,將數(shù)據(jù)被傳輸了的扇區(qū)的標志清空。
      另外,該存儲盤的數(shù)據(jù)讀出方法中,其特征在于上述處理i中的接下來要讀取的扇區(qū),在數(shù)據(jù)讀出的起初,在存儲盤的旋轉(zhuǎn)位置位于第1扇區(qū)到第K扇區(qū)時為第K+1扇區(qū),在該旋轉(zhuǎn)位置位于第K扇區(qū)之后時為該扇區(qū)的下一個順序扇區(qū)。
      另外,該存儲盤的數(shù)據(jù)讀出方法中,其特征在于上述處理iii中將扇區(qū)的數(shù)據(jù)保存到緩存區(qū)域中時,在數(shù)據(jù)讀出的起初,在所讀取的扇區(qū)的數(shù)據(jù)為第1扇區(qū)到第K扇區(qū)的數(shù)據(jù)時,不在緩存區(qū)域中保存,從第K+1扇區(qū)之后的扇區(qū)數(shù)據(jù)起,順次存儲到對應的緩存區(qū)域中。
      另外,該存儲盤的數(shù)據(jù)讀出方法中,其特征在于上述處理i中的接下來要讀取的扇區(qū),在數(shù)據(jù)讀出的起初,無論存儲盤的旋轉(zhuǎn)位置的扇區(qū)編號如何,都為該扇區(qū)的下一個順序扇區(qū),并且上述處理iii中將扇區(qū)的數(shù)據(jù)保存到緩存區(qū)域中時,在數(shù)據(jù)讀出的起初,無論所讀取的扇區(qū)的扇區(qū)編號如何,都順次存儲到對應的緩存區(qū)域中。
      另外,該存儲盤的數(shù)據(jù)讀出方法中,其特征在于上述處理i中的接下來要讀取的扇區(qū),是存儲盤的旋轉(zhuǎn)位置的扇區(qū)的下一個順序扇區(qū),上述處理iv中設置標志時,在該扇區(qū)為開頭扇區(qū)起的給定的第K扇區(qū)的情況下,將對應于同一個緩存區(qū)域的其他扇區(qū)的標志清空。
      另外,該存儲盤的數(shù)據(jù)讀出方法中,其特征在于上述公共緩存區(qū)域,是用作環(huán)形緩存的兩個以上的緩存區(qū)域。
      本發(fā)明的存儲盤的數(shù)據(jù)寫入方法,使用包括串行數(shù)據(jù)傳輸機構(gòu)與緩存機構(gòu)的存儲盤驅(qū)動裝置,往存儲盤的N個扇區(qū)寫入數(shù)據(jù),其中將開頭的扇區(qū)起到給定的第J(J<N)扇區(qū),分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,將第J+1扇區(qū)到第N扇區(qū),設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,
      對應寫入請求,反復執(zhí)行以下的處理Vii至Viii處理Vii,從開頭扇區(qū)起按照扇區(qū)編號順序,以表示數(shù)據(jù)未處理的標志被清空為條件,將經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)從外部傳輸來的數(shù)據(jù),保存到相應的緩存區(qū)域中;處理Viii,給存儲有數(shù)據(jù)的扇區(qū),設置表示數(shù)據(jù)未處理的標志;同時,對應同一個寫入請求,反復執(zhí)行以下的處理ix至處理xi處理ix,根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要寫入的扇區(qū);處理x,以所決定的扇區(qū)的上述標志被設置為條件,往存儲盤的該扇區(qū)中寫入數(shù)據(jù);處理xi,將數(shù)據(jù)被寫入了的扇區(qū)所對應的上述標志清空。
      另外,該存儲盤的數(shù)據(jù)寫入方法中,其特征在于上述處理ix中的接下來要寫入的扇區(qū),是存儲盤的位于旋轉(zhuǎn)位置的扇區(qū)的下一個順序扇區(qū)。
      另外,該存儲盤的數(shù)據(jù)寫入方法中,其特征在于上述公共緩存區(qū)域,是用作環(huán)形緩存的兩個以上的緩存區(qū)域。
      本發(fā)明的存儲盤控制裝置,其特征在于具有串行數(shù)據(jù)傳輸機構(gòu)USBC11、緩存機構(gòu)15、存儲盤控制機構(gòu)FDC16、FDD17、將N個扇區(qū)所構(gòu)成的扇區(qū)群與公共及分別對應的緩存區(qū)域所構(gòu)成的緩存區(qū)域群對應起來的緩存管理表、以及將上述的串行數(shù)據(jù)傳輸機構(gòu)USBC11至緩存管理表的每一個結(jié)合并且負責它們的控制的CPU14,在數(shù)據(jù)讀出時,將上述緩存管理表如下設置,將開頭的扇區(qū)起到給定的第K(K<N)扇區(qū),設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,將第K+1扇區(qū)到第N扇區(qū),分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,對應讀出請求,反復執(zhí)行根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要讀取的扇區(qū)(處理i)、讀出所決定的扇區(qū)的數(shù)據(jù)(處理ii)、將所讀出的扇區(qū)的數(shù)據(jù)保存到對應的緩存區(qū)域中(處理iii)、給存儲有數(shù)據(jù)的扇區(qū)設置表示數(shù)據(jù)未處理的標志(處理iv),同時,對應同一個讀出請求,反復執(zhí)行從開頭扇區(qū)起按照扇區(qū)編號順序,以上述標志被設置為條件,將來自該扇區(qū)的數(shù)據(jù),從相應的緩存區(qū)域經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)傳輸?shù)酵獠?處理v),將數(shù)據(jù)被傳輸了的扇區(qū)的標志清空(處理vi);在數(shù)據(jù)寫入時,將上述緩存管理表如下設置將開頭的扇區(qū)起到給定的第J(J<N)扇區(qū),分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,將第J+1扇區(qū)到第N扇區(qū),設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,對應寫入請求,反復執(zhí)行從開頭扇區(qū)起按照扇區(qū)編號順序,以表示數(shù)據(jù)未處理的標志被清空為條件,將經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)從外部傳輸來的數(shù)據(jù),保存到相應的緩存區(qū)域中(處理Vii),給存儲有數(shù)據(jù)的扇區(qū)設置表示數(shù)據(jù)未處理的標志(處理Viii),同時,對應同一個寫入請求,反復執(zhí)行根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要寫入的扇區(qū)(處理ix)、以所決定的扇區(qū)的上述標志被設置為條件往存儲盤的該扇區(qū)中寫入數(shù)據(jù)(處理x)、將數(shù)據(jù)被寫入了的扇區(qū)所對應的上述標志清空(處理xi)。
      另外,該存儲盤控制裝置中,其特征在于將上述第K個、上述第J個以及上述N個,設為J=N-K。
      根據(jù)本發(fā)明中,能夠伸縮在數(shù)據(jù)讀出時以及數(shù)據(jù)寫入時的數(shù)據(jù)傳輸中所使用的緩存機構(gòu)的緩存區(qū)域(數(shù)),因此,不需要變更硬件構(gòu)成,就能夠構(gòu)建出考慮了緩存機構(gòu)(RAM緩存)的存儲容量與速度性能的權(quán)衡的系統(tǒng)。
      另外,雖然還與串行數(shù)據(jù)傳輸機構(gòu)的傳輸速度、其他裝置的使用狀況相關(guān),但與具有全扇區(qū)份的緩存區(qū)域的專利文獻1相比,也能夠期待獲得實質(zhì)上相同程度的速度性能。
      另外,一般來說,以USB-FDD裝置為代表的本發(fā)明的存儲盤控制裝置,能夠?qū)鞣N格式的存儲盤,各個格式所要求的速度性能以及所使用的緩存容量也不同。本發(fā)明中,能夠適當變更緩存機構(gòu)的管理,使得對各個格式發(fā)揮出最大性能。
      在能夠使用的緩存區(qū)域(數(shù))受到限制的情況下,通過盡可能使用被限制的容量來用受到限制的緩存資源發(fā)揮出最大性能。另外,在并不太要求速度性能的情況下,能夠減少用作緩存機構(gòu)的緩存區(qū)域(數(shù)),將剩余的緩存區(qū)域用在其他用途上。另外,還能夠節(jié)約緩存資源(硬件RAM)。


      圖1為表示本發(fā)明中的USB-FDD裝置10的構(gòu)成的圖。
      圖2為表示讀取時所使用的緩存管理表的構(gòu)造的圖。
      圖3為表示圖2的緩存區(qū)域編號與扇區(qū)編號之間的對應關(guān)系的圖。
      圖4為說明讀取時的處理的流程圖。
      圖5為表示寫入時所使用的緩存管理表的構(gòu)造的圖。
      圖6為表示圖5的緩存區(qū)域編號與扇區(qū)編號之間的對應關(guān)系的圖。
      圖7為說明寫入時的處理的流程圖。
      具體實施例方式
      以下參照附圖,對本發(fā)明的使用USB(通用串行總線)等串行數(shù)據(jù)傳輸機構(gòu)的FDD(軟盤驅(qū)動器)等存儲盤驅(qū)動裝置中的數(shù)據(jù)讀出方法、數(shù)據(jù)寫入方法、以及該存儲盤驅(qū)動裝置的實施例進行說明。該實施例中,對使用USB作為串行數(shù)據(jù)傳輸機構(gòu),使用FD作為存儲盤,且使用具有所需要的緩存區(qū)域的RAM作為緩存機構(gòu)的情況進行說明。但并不僅限于該示例,還可以使用與其等同的方式。
      圖1為說明本發(fā)明中的USB-FDD裝置10的構(gòu)成的圖。本發(fā)明的USB-FDD裝置10,具有經(jīng)USB總線12進行USB通信的USB控制器(以下稱作USBC)11、作為實施FD的讀·寫的FD控制機構(gòu)的FD控制器(以下稱作FDC)16及FDD17、存儲程序的固件ROM13、作為緩存機構(gòu)的具有多個緩存區(qū)域的RAM15、以及負責這各個構(gòu)成要素的控制并執(zhí)行程序的CPU14。
      本發(fā)明中,結(jié)合使用狀況高速進行FD的數(shù)據(jù)讀/寫,同時,減小了作為該數(shù)據(jù)的讀寫中所使用的緩存機構(gòu)所必要的RAM15的容量。另外,該RAM15的緩存區(qū)域,能夠根據(jù)使用狀況以及其他用途的必要度來進行調(diào)節(jié)。為了實施這樣的處理,設置有緩存管理用表。
      該緩存管理用表,具有以下功能的一部分或全部對扇區(qū)表示出對應的緩存區(qū)域在哪里、有時多個扇區(qū)使用同一個緩存區(qū)域(成為公共緩存區(qū)域)、對各個扇區(qū)設置表示存在未處理的數(shù)據(jù)的標志、使用公共緩存區(qū)域的扇區(qū)數(shù)可根據(jù)能用作緩存機構(gòu)的RAM容量改變、RAM容量中的用作緩存機構(gòu)的容量可變更等。
      該緩存管理用表,例如保存在固件ROM13中,在CPU14的控制下讀出到RAM15中。另外,該緩存管理用表,例如也可以為采用其他設備,通過硬件來實現(xiàn)的結(jié)構(gòu)。
      首先,對照圖2~圖4,對讀取FD的數(shù)據(jù)并發(fā)送給USB總線12側(cè)的情況(以下稱作讀取時)進行說明。
      圖2為說明讀取時所使用的緩存管理表的構(gòu)造的圖。圖2中,給N個扇區(qū)標注1~N的扇區(qū)編號。并標注對應于各個扇區(qū)1~N的緩存區(qū)域的編號A~R。N例如為256,緩存區(qū)域數(shù)例如設定為N個的50%~90%,最好設為75%左右的比率。該N個的數(shù)量以及與其相對應的緩存區(qū)域數(shù)的比率,分別可以根據(jù)需要來變更。
      將從開頭的扇區(qū)1到給定的第K(K<N)個扇區(qū)(本例中為扇區(qū)6),設定為與作為緩存機構(gòu)的RAM15中的公共緩存區(qū)域A、B相對應。另外,將第K+1(本例中為扇區(qū)7)個扇區(qū)到第N個扇區(qū),設定為分別與RAM15中的個別的緩存區(qū)域相對應。
      公共緩存區(qū)域A、B,使用兩扇區(qū)份的緩存區(qū)域作為環(huán)形緩存(ringbuffer)來工作。即,將FDC16所讀出的數(shù)據(jù)保存在緩存區(qū)域A中,同時通過USBC11發(fā)送保存在緩存區(qū)域B中的數(shù)據(jù)。一邊在公共的緩存區(qū)域A、B中交換該動作,一邊發(fā)送扇區(qū)1~6的數(shù)據(jù)。另外,雖然以使用兩個區(qū)域作為公共的緩存區(qū)域為例進行了說明,但也可以使用3個以上的緩存區(qū)域作為公共緩存區(qū)域。
      未處理標志,被在FDC16已讀取了數(shù)據(jù),但USBC11尚未發(fā)送該數(shù)據(jù)的情況下設置。即,設置標志“1”。另外,圖2中所示的未處理標志例示的是,給對應于個別緩存區(qū)域C~R的扇區(qū)7~N設置標志,對應于公共緩存區(qū)域A、B的扇區(qū)1~6的標志被清空的狀況。
      圖3為從緩存區(qū)域編號A~R的角度看圖2的扇區(qū)編號1~N與緩存區(qū)域編號A~R之間的關(guān)系的圖。緩存區(qū)域A、B,由扇區(qū)1~6共用,緩存區(qū)域C~R分別對應扇區(qū)7~N。
      圖4為說明讀取時的處理的流程圖。圖4中,產(chǎn)生讀出請求(步驟S100)后,首先,將磁頭移動到FD的作為目標的磁道上。之后,開始FDC處理(步驟S110),同時開始USBC處理(步驟S120)。
      FDC處理中,在步驟S111中,例如通過發(fā)出ID命令來獲得FDD17的磁頭位置所對應的FD旋轉(zhuǎn)位置。根據(jù)該FD旋轉(zhuǎn)位置,來決定接下來要讀取的扇區(qū)。為了沒有遺漏地讀取從扇區(qū)的頭部起的數(shù)據(jù),“接下來要讀取的扇區(qū)”,是FD的旋轉(zhuǎn)位置的扇區(qū)的下一個順序扇區(qū)。
      步驟S112中,讀取所決定的扇區(qū)的數(shù)據(jù)。步驟S113中,將所讀取的扇區(qū)的數(shù)據(jù)保存到對應的緩存區(qū)域中。保存目的地的緩存區(qū)域,遵循圖2的緩存管理表。
      步驟S114中,對保存了數(shù)據(jù)的扇區(qū)設置表示數(shù)據(jù)未處理的標志。在設置該標志時,在該扇區(qū)是從開頭扇區(qū)起給定的第K個扇區(qū)的情況下,將對應于同一個緩存區(qū)域的其他扇區(qū)的標志清空。即,在保存了該扇區(qū)的數(shù)據(jù)的緩存區(qū)域是公共緩存區(qū)域A(或B)的情況下,在該公共緩存區(qū)域A(或B)中,在以前的數(shù)據(jù)上覆蓋該扇區(qū)的數(shù)據(jù)后保存起來。因此,由于沒有發(fā)送被覆蓋的以前的數(shù)據(jù)(其他扇區(qū)的數(shù)據(jù)),因此將對應其他扇區(qū)的數(shù)據(jù)的標志清空。
      從個別緩存區(qū)域K+1(圖2的例子中為扇區(qū)7)到N中,由于不進行數(shù)據(jù)的覆蓋,因此只進行步驟S114中的標志的設置。
      重復該步驟S111~步驟S114的FDC處理,直到在步驟S115中確認到USBC處理已經(jīng)結(jié)束。
      另外,步驟S111中的“接下來要讀取的扇區(qū)”,在數(shù)據(jù)讀出的起初,在FD的旋轉(zhuǎn)位置位于第1扇區(qū)到第K扇區(qū)時,可為第K+1扇區(qū),在該旋轉(zhuǎn)位置位于第K扇區(qū)之后時,可為該扇區(qū)的下一個順序扇區(qū)。
      另外,步驟S113中,可以在將所讀取的扇區(qū)的數(shù)據(jù)保存到對應的緩存區(qū)域中時,在數(shù)據(jù)讀出的起初,在所讀取的扇區(qū)的數(shù)據(jù)為第1扇區(qū)到第K扇區(qū)的扇區(qū)數(shù)據(jù)時,不在緩存區(qū)域中保存,從第K+1之后的扇區(qū)數(shù)據(jù)起,順次存儲到對應的緩存區(qū)域中。
      即,在開始FDC處理的起初(數(shù)據(jù)讀出的起初)的FD的旋轉(zhuǎn)位置位于第1扇區(qū)至第K扇區(qū)時,由于即使將該扇區(qū)的數(shù)據(jù)讀出并保存到緩存區(qū)域A、B中,也會隨著處理的進行而被覆蓋,因此省略將第1扇區(qū)至第K扇區(qū)的數(shù)據(jù)讀出以及往緩存區(qū)域中的保存。通過這樣,能夠省略數(shù)據(jù)讀出的起初的無效處理。
      USBC處理中,在步驟S121中,將表示扇區(qū)編號的扇區(qū)變量I設為“1”。這是由于,從USBC11向USB12傳輸?shù)纳葏^(qū)數(shù)據(jù),需要按照扇區(qū)編號的由小至大的順序,即從扇區(qū)1起按照扇區(qū)的編號順序進行傳輸。以下,將扇區(qū)變量I的扇區(qū),稱作扇區(qū)I。
      步驟S122中,判斷扇區(qū)I的標志是否為“1”,在標志不為“1”的情況下實施待機直到被設為“1”為止。判斷出標志為“1”后,意味著該扇區(qū)的數(shù)據(jù)已經(jīng)被FDC16所讀取,但尚未由USBC11發(fā)送。
      因此,在步驟S123中發(fā)送扇區(qū)I的數(shù)據(jù),同時清空扇區(qū)I的標志(即設為“0”)(步驟S124)。接下來,在步驟S125中,將扇區(qū)變量I設為“I+1”。
      步驟S126中,判斷扇區(qū)變量I是否變?yōu)椤癗+1”。重復步驟S122~步驟S125的處理,直到扇區(qū)變量I變?yōu)椤癗+1”。扇區(qū)變量I變?yōu)椤癗+1”后,則該磁道的所有的扇區(qū)1~N的數(shù)據(jù),都被傳輸給USB12,結(jié)束USBC處理(步驟S127)。另外,步驟S115中也根據(jù)USBC處理的結(jié)束,來結(jié)束FDC處理(步驟S116)。
      如上所述,在讀取時,F(xiàn)DC處理中根據(jù)FD的旋轉(zhuǎn)位置決定接下來要讀取的扇區(qū),并在對應于該扇區(qū)的緩存區(qū)域中保存數(shù)據(jù)。但是,在數(shù)據(jù)讀出的起初,在FD的旋轉(zhuǎn)位置位于第1扇區(qū)到第K扇區(qū)(即對應于公共緩存區(qū)域)時,將此間的扇區(qū)的數(shù)據(jù)讀出兩次,或在第1次不讀取。另外,USBC處理中,與專利文獻1等相同,從開頭扇區(qū)的數(shù)據(jù)起向USB12傳輸。因此,與專利文獻1相比,原理上產(chǎn)生了若干的時間延遲。但是,通過適當設定包含與其他裝置的共用等條件的USB的數(shù)據(jù)傳輸速度、處理速度(與其他裝置的共用等條件)、以及對應于公共緩存區(qū)域的扇區(qū)數(shù),使得本發(fā)明在讀取時,與具有全扇區(qū)份的緩存區(qū)域的專利文獻1相比,仍能夠期待實質(zhì)上相同程度的速度性能。
      接下來參照圖5~圖7,對接收來自USB總線12側(cè)的數(shù)據(jù)并在FD的相應磁道的各個扇區(qū)中寫入數(shù)據(jù)的情況(以下稱作寫入時)進行說明。
      圖5為說明寫入時所使用的緩存管理表的構(gòu)造的圖,基本上與圖2的讀取時所使用的緩存管理表相同。
      該圖5中所表示的結(jié)構(gòu),從開頭扇區(qū)的數(shù)據(jù)起發(fā)送來自USBC的相應磁道的扇區(qū)數(shù)據(jù),從而實現(xiàn)高效接收。
      將從開頭的扇區(qū)1到給定的第J(J<N)個扇區(qū)(本例中為扇區(qū)N-6),分別設定為與作為緩存機構(gòu)的RAM15中的個別緩存區(qū)域相對應,另外,將第N-5扇區(qū)到第N扇區(qū),設定為與RAM15中的公共緩存區(qū)域Q、R相對應。
      公共緩存區(qū)域Q、R,使用兩扇區(qū)份的緩存區(qū)域用作環(huán)形緩存來工作。即,將USBC11所接收到的數(shù)據(jù)保存在緩存區(qū)域Q中,同時通過FDC16、FDD17將保存在緩存區(qū)域R中的數(shù)據(jù)寫入FD中。一邊在公共的緩存區(qū)域Q、R中交換該動作,一邊寫扇區(qū)N-5~N的數(shù)據(jù)。
      在USBC11已經(jīng)接收到,而FDC16、FDD17尚未寫入的情況下,設置未處理標志。即,設置標志“1”。另外,圖5中所示的未處理標志例示的是,給對應于個別緩存區(qū)域A~P的扇區(qū)1~N-6、以及對應于公共緩存區(qū)域Q、R的扇區(qū)N-5~N-4設置了標志,并清空對應于公共緩存區(qū)域A、B的扇區(qū)N-3~N的標志的狀況。
      另外,圖5中,扇區(qū)編號與緩存區(qū)域編號之間的對應,與圖2的該對應相比,將所有編號都顛倒過來。因此,如圖5的緩存區(qū)域編號欄中附括號所示,可為顛倒圖2的對應關(guān)系的形式。這樣,通過讓對應關(guān)系為顛倒的形式,在數(shù)據(jù)讀出與數(shù)據(jù)寫入時,使得緩存管理表的管理變得容易。
      圖6為從緩存區(qū)域編號A~R的角度看圖5的扇區(qū)編號1~N與緩存區(qū)域編號A~R之間的關(guān)系的圖。緩存區(qū)域Q、R由扇區(qū)N~N-5共用,緩存區(qū)域A~P分別對應扇區(qū)1~N-6。
      圖7為說明寫入時的處理的流程圖。圖7中,產(chǎn)生了寫入請求(步驟S200)后,首先,將磁頭移動到FD的作為目標的磁道上。之后,開始USBC處理(步驟S210),同時開始FDC處理(步驟S220)。
      USBC處理中,在步驟S211中,將表示扇區(qū)編號的扇區(qū)變量I設為“1”。這是由于,從USB12向USBC11傳輸并接收的扇區(qū)數(shù)據(jù),需要按照扇區(qū)編號的由小至大的順序,即從扇區(qū)1起按照扇區(qū)編號順序接收。從而,高速高效地實施該傳輸、接收。以下,將扇區(qū)變量I的扇區(qū),稱作扇區(qū)I。
      步驟S212中,判斷扇區(qū)I的公共緩存的標志是否為“0”,在標志為“0”時進入步驟S213。在標志不為“0”的情況下實施待機,直到被清空為“0”。但是,由于緩存管理表具有圖5的結(jié)構(gòu),因此直到扇區(qū)編號1~N-4為止不實施待機。由于在扇區(qū)編號N-3之后,有時會判斷出標志為“1”,因此這種情況下實施“待機”。
      步驟S213中接收扇區(qū)I的數(shù)據(jù),并存儲到對應的緩存區(qū)域中。之后,步驟S214中設置扇區(qū)I的標志(即設為“1”)。接下來,在步驟S215中,將扇區(qū)變量I設為“I+1”。
      步驟S216中,判斷扇區(qū)變量I是否變?yōu)椤癗+1”。重復步驟S212~步驟S215的處理,直到扇區(qū)變量I變?yōu)椤癗+1”。扇區(qū)變量I變?yōu)椤癗+1”后,則該磁道的所有的扇區(qū)1~N的數(shù)據(jù)都被存儲在對應的緩存區(qū)域中,結(jié)束USBC處理(步驟S217)。
      FDC處理中,在步驟S221中,例如通過發(fā)出ID命令來獲取FDD17的磁頭位置所對應的FD旋轉(zhuǎn)位置。根據(jù)該FD旋轉(zhuǎn)位置,來決定接下來要寫入的扇區(qū)。為了將所接收到的數(shù)據(jù)全部寫入,“接下來要寫入的扇區(qū)”是位于FD的旋轉(zhuǎn)位置的扇區(qū)的下一個順序扇區(qū)。
      步驟S222中,判斷所決定的扇區(qū)的標志是否為“1”。如果該扇區(qū)的標志不為“1”,則返回步驟S221,判斷隨著FD的旋轉(zhuǎn)行進(更新)的接下來要寫入的扇區(qū)的標志是否為“1”。
      步驟S222中,在判斷出標志為“1”時,在步驟S223中向該扇區(qū)寫入數(shù)據(jù)。之后,在步驟S224中,將所寫入的扇區(qū)對應的緩存區(qū)域的標志清空為“0”。
      重復該步驟S221~步驟S224的FDC處理,直到在步驟S225中確認到對所有扇區(qū)的數(shù)據(jù)寫入處理已經(jīng)結(jié)束。對所有扇區(qū)的數(shù)據(jù)寫入處理結(jié)束后,結(jié)束FDC處理(步驟S226)。
      另外,根據(jù)USBC處理的處理速度與FDC處理的處理速度之間的關(guān)系等,不難預想FDC處理會被USBC處理趕上。這種情況下,可以將通過USBC所接收到的數(shù)據(jù),不保存在作為緩存機構(gòu)的RAM15中,直接傳輸給FDC。通過這樣,能夠縮短寫處理所需要的時間。
      如上所述,在寫入時或USBC處理中,與專利文獻1等一樣,從USB12按照扇區(qū)的順序從開頭扇區(qū)的數(shù)據(jù)起接收。雖然FDC處理與USBC處理同時開始,但“接下來要寫入的扇區(qū)”中,因FD的旋轉(zhuǎn)位置的不同,而有可能尚且無法接收給該扇區(qū)的數(shù)據(jù)、即沒有保存在對應的緩存區(qū)域中。因此,與專利文獻1相比,原理上產(chǎn)生了若干的時間延遲。但是,通過適當設定包含與其他裝置的共用等條件的USB的數(shù)據(jù)傳輸速度與處理速度(與其他裝置的共用等條件)、以及對應于公共緩存區(qū)域的扇區(qū)數(shù),使得本發(fā)明在寫入時,與具有全扇區(qū)份的緩存區(qū)域的專利文獻1相比,也能夠期待實質(zhì)上相同程度的速度性能。
      而且,本發(fā)明中,數(shù)據(jù)讀出時以及數(shù)據(jù)寫入時的數(shù)據(jù)傳輸中所使用的緩存機構(gòu)15的緩存區(qū)域(數(shù))能伸能縮。通過這樣,不需要變更硬件結(jié)構(gòu),就能夠構(gòu)建出考慮了緩存機構(gòu)(RAM緩存)的存儲容量與速度性能的權(quán)衡的系統(tǒng)。
      另外,一般來說,由于USB-FDD裝置10對應各種格式的FD,因此因格式的不同所要求的速度性能以及所使用的緩存容量均不同。本發(fā)明中,適當變更緩存機構(gòu)15的管理,使得對各個格式發(fā)揮出最大的性能。通過這樣,例如在能夠使用的緩存區(qū)域(數(shù)量N)受到限制的情況下,通過盡可能使用被限制的容量,使得受到限制的緩存資源發(fā)揮出最大的性能。另外,在并不太要求速度性能的情況下,能夠減少用作緩存機構(gòu)的緩存區(qū)域(數(shù)量N),將剩余的緩存區(qū)域(RAM容量中沒有用作緩存機構(gòu)的區(qū)域)用在其他用途上。另外,還能夠節(jié)約緩存資源(硬件RAM)。
      本發(fā)明中的對存儲盤的數(shù)據(jù)讀出方法、數(shù)據(jù)寫入方法、以及存儲盤控制裝置,能夠結(jié)合使用狀況高速實施使用USB等串行數(shù)據(jù)傳輸機構(gòu)的FDD等存儲盤驅(qū)動裝置的讀/寫,同時還能夠減少RAM緩存的容量。
      權(quán)利要求
      1.一種存儲盤的數(shù)據(jù)讀出方法,使用包括串行數(shù)據(jù)傳輸機構(gòu)與緩存機構(gòu)的存儲盤驅(qū)動裝置,讀出存儲盤的N個扇區(qū)的數(shù)據(jù),其中將開頭的扇區(qū)起到給定的第K扇區(qū),其中K<N,設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,將第K+1扇區(qū)到第N扇區(qū),分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,對應讀出請求,反復執(zhí)行以下的處理i至iv處理i,根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要讀取的扇區(qū);處理ii,讀出所決定的扇區(qū)的數(shù)據(jù);處理iii,將所讀出的扇區(qū)的數(shù)據(jù),保存到對應的緩存區(qū)域中;處理iv,給存儲有數(shù)據(jù)的扇區(qū),設置表示數(shù)據(jù)未處理的標志,同時,對應同一個讀出請求,反復執(zhí)行以下的步驟v至步驟vi處理v,從開頭扇區(qū)起按照扇區(qū)編號順序,以上述標志被設置為條件,將來自該扇區(qū)的數(shù)據(jù),從相應的緩存區(qū)域經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)傳輸?shù)酵獠?;處理vi,將數(shù)據(jù)被傳輸了的扇區(qū)的標志清空。
      2.根據(jù)權(quán)利要求1所述的存儲盤的數(shù)據(jù)讀出方法,其特征在于上述處理i中的接下來要讀取的扇區(qū),在數(shù)據(jù)讀出的起初,在存儲盤的旋轉(zhuǎn)位置位于第1扇區(qū)到第K扇區(qū)時為第K+1扇區(qū),在該旋轉(zhuǎn)位置位于第K扇區(qū)之后時為該扇區(qū)的下一個順序扇區(qū)。
      3.根據(jù)權(quán)利要求1所述的存儲盤的數(shù)據(jù)讀出方法,其特征在于上述處理iii中將扇區(qū)的數(shù)據(jù)保存到緩存區(qū)域中時,在數(shù)據(jù)讀出的起初,在所讀取的扇區(qū)的數(shù)據(jù)為第1扇區(qū)到第K扇區(qū)的數(shù)據(jù)時,不在緩存區(qū)域中保存,從第K+1扇區(qū)之后的扇區(qū)數(shù)據(jù)起,順次存儲到對應的緩存區(qū)域中。
      4.根據(jù)權(quán)利要求1所述的存儲盤的數(shù)據(jù)讀出方法,其特征在于上述處理i中的接下來要讀取的扇區(qū),在數(shù)據(jù)讀出的起初,無論存儲盤的旋轉(zhuǎn)位置的扇區(qū)編號如何,都為該扇區(qū)的下一個順序扇區(qū),并且上述處理iii中將扇區(qū)的數(shù)據(jù)保存到緩存區(qū)域中時,在數(shù)據(jù)讀出的起初,無論所讀取的扇區(qū)的扇區(qū)編號如何,都順次存儲到對應的緩存區(qū)域中。
      5.根據(jù)權(quán)利要求1所述的存儲盤的數(shù)據(jù)讀出方法,其特征在于上述處理i中的接下來要讀取的扇區(qū),是存儲盤的旋轉(zhuǎn)位置的扇區(qū)的下一個順序扇區(qū),上述處理iv中設置標志時,在該扇區(qū)為開頭扇區(qū)起的給定的第K扇區(qū)的情況下,將對應于同一個緩存區(qū)域的其他扇區(qū)的標志清空。
      6.根據(jù)權(quán)利要求1所述的存儲盤的數(shù)據(jù)讀出方法,其特征在于上述公共緩存區(qū)域,是用作環(huán)形緩存的兩個以上的緩存區(qū)域。
      7.一種存儲盤的數(shù)據(jù)寫入方法,使用包括串行數(shù)據(jù)傳輸機構(gòu)與緩存機構(gòu)的存儲盤驅(qū)動裝置,往存儲盤的N個扇區(qū)寫入數(shù)據(jù),其中將開頭的扇區(qū)起到給定的第J扇區(qū),其中J<N,分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,將第J+1扇區(qū)到第N扇區(qū),設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,對應寫入請求,反復執(zhí)行以下的處理Vii至Viii處理Vii,從開頭扇區(qū)起按照扇區(qū)編號順序,以表示數(shù)據(jù)未處理的標志被清空為條件,將經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)從外部傳輸來的數(shù)據(jù),保存到相應的緩存區(qū)域中;處理Viii,給存儲有數(shù)據(jù)的扇區(qū),設置表示數(shù)據(jù)未處理的標志;同時,對應同一個寫入請求,反復執(zhí)行以下的處理ix至處理xi處理ix,根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要寫入的扇區(qū);處理x,以所決定的扇區(qū)的上述標志被設置為條件,往存儲盤的該扇區(qū)中寫入數(shù)據(jù);處理xi,將數(shù)據(jù)被寫入了的扇區(qū)所對應的上述標志清空。
      8.根據(jù)權(quán)利要求7所述的存儲盤的數(shù)據(jù)寫入方法,其特征在于上述處理ix中的接下來要寫入的扇區(qū),是存儲盤的位于旋轉(zhuǎn)位置的扇區(qū)的下一個順序扇區(qū)。
      9.根據(jù)權(quán)利要求7所述的存儲盤的數(shù)據(jù)寫入方法,其特征在于上述公共緩存區(qū)域,是用作環(huán)形緩存的兩個以上的緩存區(qū)域。
      10.一種存儲盤控制裝置,其特征在于具有串行數(shù)據(jù)傳輸機構(gòu)、緩存機構(gòu)、存儲盤控制機構(gòu)、將N個扇區(qū)所構(gòu)成的扇區(qū)群與公共及分別對應的緩存區(qū)域所構(gòu)成的緩存區(qū)域群對應起來的緩存管理表、以及將上述的串行數(shù)據(jù)傳輸機構(gòu)至緩存管理表的每一個結(jié)合并且負責它們的控制的CPU,在數(shù)據(jù)讀出時,將上述緩存管理表如下設置,將開頭的扇區(qū)起到給定的第K扇區(qū),其中K<N,設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,將第K+1扇區(qū)到第N扇區(qū),分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,對應讀出請求,反復執(zhí)行根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要讀取的扇區(qū)即處理i、讀出所決定的扇區(qū)的數(shù)據(jù)即處理ii、將所讀出的扇區(qū)的數(shù)據(jù)保存到對應的緩存區(qū)域中即處理iii、給存儲有數(shù)據(jù)的扇區(qū)設置表示數(shù)據(jù)未處理的標志即處理iv,同時,對應同一個讀出請求,反復執(zhí)行從開頭扇區(qū)起按照扇區(qū)編號順序,以上述標志被設置為條件,將來自該扇區(qū)的數(shù)據(jù),從相應的緩存區(qū)域經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)傳輸?shù)酵獠考刺幚韛,將數(shù)據(jù)被傳輸了的扇區(qū)的標志清空即處理vi;在數(shù)據(jù)寫入時,將上述緩存管理表如下設置將開頭的扇區(qū)起到給定的第J扇區(qū),其中J<N,分別設定為與上述緩存機構(gòu)中的個別緩存區(qū)域相對應,將第J+1扇區(qū)到第N扇區(qū),設定為與上述緩存機構(gòu)中的公共緩存區(qū)域相對應,對應寫入請求,反復執(zhí)行從開頭扇區(qū)起按照扇區(qū)編號順序,以表示數(shù)據(jù)未處理的標志被清空為條件,將經(jīng)上述串行數(shù)據(jù)傳輸機構(gòu)從外部傳輸來的數(shù)據(jù),保存到相應的緩存區(qū)域中即處理Vii,給存儲有數(shù)據(jù)的扇區(qū)設置表示數(shù)據(jù)未處理的標志即處理Viii,同時,對應同一個寫入請求,反復執(zhí)行根據(jù)存儲盤的旋轉(zhuǎn)位置決定接下來要寫入的扇區(qū)即處理ix、以所決定的扇區(qū)的上述標志被設置為條件往存儲盤的該扇區(qū)中寫入數(shù)據(jù)即處理x、將數(shù)據(jù)被寫入了的扇區(qū)所對應的上述標志清空即處理xi。
      11.根據(jù)權(quán)利要求10所述的存儲盤控制裝置,其特征在于將上述第K個、上述第J個以及上述N個,設為J=N-K。
      全文摘要
      本發(fā)明提供一種對存儲盤的數(shù)據(jù)讀出方法、數(shù)據(jù)寫入方法以及存儲盤控制裝置。其中,對扇區(qū)設有表示對應的緩存區(qū)域是哪個的緩存管理用表。通過該表,在緩存機構(gòu)(RAM)中,設置多個扇區(qū)使用同一個緩存區(qū)域的公共緩存區(qū)域,以及與扇區(qū)分別對應的個別緩存區(qū)域。而且,對各個扇區(qū)設置表示數(shù)據(jù)的處理狀況的標志。通過這樣,結(jié)合使用狀況高速實施USB-FDD的讀/寫,同時,減小RAM緩存的容量。另外,該數(shù)據(jù)的讀/寫中所使用的RAM緩存的區(qū)域,能夠根據(jù)使用狀況以及其他用途的必要度來進行調(diào)節(jié)。
      文檔編號G11B20/10GK1910544SQ200580002130
      公開日2007年2月7日 申請日期2005年6月15日 優(yōu)先權(quán)日2004年6月21日
      發(fā)明者水野秀導, 江下志郎 申請人:羅姆股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1