專利名稱:信息處理設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理設(shè)備和方法及其程序。具體而言,本發(fā)明涉及適合在傳送信息時使用的信息處理設(shè)備和方法及其程序。
背景技術(shù):
已知將要連接包含存儲器等的存儲卡的數(shù)據(jù)處理設(shè)備(例如參考日本早期公開No. 2004-46891)。 已知一種直接存儲器訪問(DMA)控制器,其用于主機和儲存裝置之間的數(shù)據(jù)傳送。直接存儲器訪問是指在不同的存儲器之間或者在存儲器與I/o設(shè)備之間直接傳送數(shù)據(jù),而不依賴于一組機器語言指令。DMA控制器是用于控制DMA功能的控制器。當(dāng)利用DMA功能來傳送數(shù)據(jù)時,使用描述符(descriptor)。在描述符中描述了數(shù)據(jù)傳送控制信息,例如數(shù)據(jù)傳送地址和數(shù)據(jù)傳送大小。涉及對描述符的使用的傳送方法例如適合用于像個人計算機等中使用的存儲器系統(tǒng)中那樣的按頁管理的離散物理地址空間的情況下的數(shù)據(jù)傳送,即被定義為儲存在連續(xù)邏輯地址空間中的信息片段被離散地儲存在實際物理地址空間中的情況下的數(shù)據(jù)傳送(參見圖I)。
發(fā)明內(nèi)容
作為用于將主機和儲存裝置與彼此相連的接口,廣泛采用了一種被稱為外圍組件互連(PCI)Express的高速總線。PCI Express是基于分組的總線接口。在基于分組的總線接口中,在發(fā)出分組時必須確定傳送大小。例如,在諸如高級微控制器總線體系結(jié)構(gòu)(AMBA)、高級高性能總線(AHB)和高級外圍總線(APB)之類的非基于分組的總線接口的情況下,可以半途暫停DMA數(shù)據(jù)傳送,然后再重新開始。另一方面,在諸如PCI Express之類的基于分組的總線接口的情況下,不能半途暫停DMA數(shù)據(jù)傳送然后再重新開始。因此,在使用基于分組的總線接口時,在發(fā)出分組時必須確定傳送大小。另外,在傳送大量數(shù)據(jù)的情況下,在傳送數(shù)據(jù)前必須劃分?jǐn)?shù)據(jù)。在現(xiàn)有技術(shù)中,在數(shù)據(jù)傳送時,主機需要在考慮總線規(guī)范的情況下執(zhí)行與數(shù)據(jù)傳送相關(guān)的調(diào)度,并且基于調(diào)度生成描述符。本發(fā)明是考慮到這種情形而設(shè)計出來的,它使得可以減少在數(shù)據(jù)傳送時主機中要執(zhí)行的處理。根據(jù)本發(fā)明的一個實施例,提供了一種信息處理設(shè)備,包括設(shè)置裝置,用于將聯(lián)系另一設(shè)備設(shè)置的讀取時的最大傳送大小或者寫入時的最大傳送大小設(shè)置為最大傳送大小;計算裝置,用于從第一數(shù)據(jù)量中減去第二數(shù)據(jù)量,以計算第三數(shù)據(jù)量,該第一數(shù)據(jù)量是要傳送的數(shù)據(jù)的量,該第二數(shù)據(jù)量是已經(jīng)傳送的數(shù)據(jù)的量;邊界判定裝置,用于在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及延伸跨過頁邊界;傳送大小判定裝置,用于判斷所述第三數(shù)據(jù)量是否等于或小于所述設(shè)置裝置所設(shè)置的所述最大傳送大?。痪彌_器邊界判定裝置,用于在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及超過緩沖器大?。灰约皵?shù)據(jù)量裝置,用于基于由上述判定裝置中的兩個以上作出的判斷,來確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量。根據(jù)本發(fā)明的另一實施例,提供了一種信息處理方法,包括以下步驟將聯(lián)系另一
設(shè)備設(shè)置的讀取時的最大傳送大小或者寫入時的最大傳送大小設(shè)置為最大傳送大?。粡牡谝粩?shù)據(jù)量中減去第二數(shù)據(jù)量,以計算第三數(shù)據(jù)量,該第一數(shù)據(jù)量是要傳送的數(shù)據(jù)的量,該第二數(shù)據(jù)量是已經(jīng)傳送的數(shù)據(jù)的量;在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及延伸跨過頁邊界;判斷所述第三數(shù)據(jù)量是否等于或小于所述設(shè)置步驟所設(shè)置的所述最大傳送大??;在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及超過緩沖器大??;以及基于由上述判斷中的兩個以上的判斷,來確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量。在分別根據(jù)本發(fā)明一個實施例的信息處理設(shè)備和方法以及程序中,與主機系統(tǒng)建立連接,從主機系統(tǒng)指定數(shù)據(jù)傳送時的大小,并且在至少考慮頁邊界和緩沖器邊界的同時執(zhí)行具有該大小的數(shù)據(jù)的傳送。必要時,將此數(shù)據(jù)劃分成部分并且單獨傳送這些部分。根據(jù)本發(fā)明的上述實施例,例如可以減少在數(shù)據(jù)傳送時主機系統(tǒng)中需要執(zhí)行的處
理的量。
圖I是用于說明邏輯地址空間和物理地址空間的示圖;圖2是示出根據(jù)本發(fā)明一個實施例的主機系統(tǒng)和儲存系統(tǒng)的配置的框圖;圖3是示出系統(tǒng)的操作的流程圖;圖4是用于描述命令的示圖;圖5是用于描述傳送能力的示圖;圖6是用于描述4K地址邊界的示圖;圖7是示出根據(jù)本發(fā)明實施例的DMA控制器的結(jié)構(gòu)的框圖;圖8至12是用于描述DMA控制器的操作的示圖;以及圖13是用于描述儲存介質(zhì)的示圖。
具體實施例方式下面將描述本發(fā)明的實施例。本發(fā)明的組成特征與下面在結(jié)合附圖理解的此說明書中描述的實施例之間的對應(yīng)關(guān)系將被例示如下。注意這種預(yù)備描述是為了確認此說明書和附圖中描述了支持本發(fā)明的實施例。因此,某個實施例在此說明書和附圖中有描述但在此預(yù)備描述中沒有被描述為與本發(fā)明的組成特征相對應(yīng),也不意味著該實施例不對應(yīng)于該組成特征。相反,即使某個實施例在此預(yù)備描述中被描述為與本發(fā)明的某個組成特征相對應(yīng),也不意味著該特定實施例不對應(yīng)于任何其他組成特征。根據(jù)本發(fā)明的一個實施例的一種信息處理設(shè)備包括設(shè)置裝置;計算裝置、邊界判定裝置;緩沖器邊界判定裝置;傳送大小判定裝置;以及判定裝置。設(shè)置裝置(例如圖7所示的最大傳送大小判定電路101)將聯(lián)系另一設(shè)備設(shè)置的讀取時的最大傳送大小或者寫入時的最大傳送大小設(shè)置為最大傳送大小。計算裝置(例如圖7所示的減法器107)從第一數(shù)據(jù)量中減去第二數(shù)據(jù)量,以計算第三數(shù)據(jù)量,該第一數(shù)據(jù)量是要傳送的數(shù)據(jù)的量,該第二數(shù)據(jù)量是已經(jīng)傳送的數(shù)據(jù)的量。邊界判定裝置(例如圖7所示的4K邊界判定電路102)在其量為第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及延伸跨過頁邊界。緩沖器邊界判定裝置(例如圖7所示的緩沖器邊界判定電路103)在其量為第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及超過緩沖器大小。傳送大小判定裝置(例如圖7所示的傳送大小判定電路104)判斷第三數(shù)據(jù)量是否等于或小于設(shè)置裝置所設(shè)置的最大傳送大小。判定裝置(例如圖7所示的優(yōu)先級判定電路105)基于由邊界判定裝置作出的第一判斷、由緩沖器邊界判定裝置所作出的第二判斷以及由傳送大小判定裝置作出的第三判斷,來確定在第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量。下面將參考附圖描述本發(fā)明的實施例。
[關(guān)于系統(tǒng)配置]圖2是示出根據(jù)本發(fā)明一個實施例的主機系統(tǒng)和儲存系統(tǒng)的配置的框圖。儲存系統(tǒng)21和主機系統(tǒng)22經(jīng)由儲存I/F 23與彼此相連。優(yōu)選地,諸如外圍組件互連(PCI)Express之類的高速總線被用于儲存I/F 23。儲存系統(tǒng)21包括控制器41、內(nèi)部總線42、寄存器43、DMA控制器44、緩沖存儲器45、儲存I/F總線46、儲存存儲器(storage memory)控制器47以及儲存存儲器48_1至48_n0控制器41控制儲存系統(tǒng)21的操作。例如,控制器41對儲存存儲器控制器47進行控制,以執(zhí)行諸如以下過程將數(shù)據(jù)寫到儲存存儲器48-1至48-n或從儲存存儲器48_1至48-n讀取數(shù)據(jù),或者基于從主機系統(tǒng)22提供來、并被寫到寄存器43的命令來配置DMA控制器44??刂破?1、寄存器43、DMA控制器44和緩沖存儲器45連接到內(nèi)部總線42。寄存器43可由多個寄存器構(gòu)成。寄存器43保存從主機系統(tǒng)22經(jīng)由儲存I/F 23和儲存I/F總線46提供來的命令或描述符,或者傳送過程或其他過程所必需的信息、變元等等。DMA控制器44控制儲存系統(tǒng)21中的緩沖存儲器45與主機系統(tǒng)22中的主機存儲器62之間的數(shù)據(jù)交換。鏈接列表傳送模式被設(shè)置在DMA控制器44中。鏈接列表傳送模式指的是由多個描述符(也稱之為“條目”)構(gòu)成的鏈接列表的地址的被從主機系統(tǒng)22提供到儲存系統(tǒng)21中的寄存器43,并且儲存系統(tǒng)21讀取此鏈接列表以執(zhí)行傳送過程。鏈接列表傳送模式可被適當(dāng)?shù)貞?yīng)用于主機系統(tǒng)22的主機存儲器62中的物理地址空間如以上參考圖I所述被按頁管理時,即當(dāng)物理地址空間不是像邏輯地址空間那樣連續(xù),而是被離散地設(shè)置時。緩沖存儲器45臨時緩沖從主機系統(tǒng)22經(jīng)由儲存I/F 23和儲存I/F總線46提供來的數(shù)據(jù),或者在儲存存儲器控制器47的控制下從儲存存儲器48-1至48-n之一中讀取并經(jīng)由儲存I/F 23和儲存I/F總線46被提供到主機系統(tǒng)22的數(shù)據(jù)。儲存I/F總線46是用于將寄存器43、DMA控制器44和緩沖存儲器45連接到儲存I/F的總線。在控制器41的控制下,儲存存儲器控制器47控制向儲存存儲器48-1至48_n的數(shù)據(jù)寫入和從儲存存儲器48-1至48-n的數(shù)據(jù)讀取。儲存存儲器控制器47向儲存存儲器48-1至48-n寫入數(shù)據(jù),并從儲存存儲器48_1至48_n讀取數(shù)據(jù)。在以下描述中,儲存存儲器48-1至48-n將被簡稱為“儲存存儲器48”,除非它們需要與彼此相區(qū)分。主機系統(tǒng)22包括主機CPU 61和主機存儲器62。當(dāng)然,主機系統(tǒng)22還可包括其他組件,例如通信部件、顯示部件、操作輸入部件、成像部件、音頻采集部件和數(shù)據(jù)壓縮部件。例如,諸如普通的個人計算機、數(shù)字照相機和數(shù)字?jǐn)z像機之類的各種類型的信息處理設(shè)備可被用作主機系統(tǒng)22。主機CPU 61控制主機系統(tǒng)22的操作?;诮?jīng)由操作輸入部件(未示出)輸入的用戶操作,例如,主機CPU 61能夠生成命令并經(jīng)由儲存I/F 23將命令寫入到儲存系統(tǒng)21中的寄存器43。這種命令的示例包括用于將儲存在主機存儲器62中的數(shù)據(jù)寫入到儲存系統(tǒng)21中的儲存存儲器48的命令;與儲存系統(tǒng)21與主機系統(tǒng)22之間的數(shù)據(jù)交換相關(guān)的命令,例如用于從儲存系統(tǒng)21中的儲存存儲器48讀取數(shù)據(jù)并將讀取的數(shù)據(jù)儲存在主機存儲器62中的命令;以及用于控制儲存存儲器48的命令,例如用于刪除儲存在儲存存儲器48中的數(shù)據(jù)的命令。在主機CPU 61控制下,主機存儲器62儲存預(yù)定的數(shù)據(jù)。如上所述,在如圖2所示的由儲存系統(tǒng)21和主機系統(tǒng)22構(gòu)成的系統(tǒng)中,用于控制DMA傳送的DMA控制器設(shè)置在儲存一側(cè)。以下描述是參考主機存儲器62中采用的數(shù)據(jù)儲存形式是以上參考圖I描述的數(shù)據(jù)儲存形式的示例性情況來進行的,在所述數(shù)據(jù)儲存形式中,主機系統(tǒng)22中的主機存儲器62中的物理地址空間不是像邏輯地址空間那樣連續(xù)的,而是離散設(shè)置的。換言之,以下描述是參考主機系統(tǒng)22中的主機存儲器62中的物理地址空間不像邏輯地址空間、而是由多個不連續(xù)(離散)區(qū)域構(gòu)成的示例性情況來進行的。接下來,下面將參考圖3的流程圖來描述儲存系統(tǒng)21和主機系統(tǒng)22的操作。在步驟Sll,主機系統(tǒng)22中的主機CPU 61經(jīng)由儲存I/F 23向儲存系統(tǒng)21發(fā)送用于開始數(shù)據(jù) 傳送的命令。在步驟S12,儲存系統(tǒng)21經(jīng)由儲存I/F 23接收來自主機系統(tǒng)22的命令。所提供的命令經(jīng)由儲存I/F總線46被寫入到寄存器43。在步驟S13,控制器41經(jīng)由內(nèi)部總線42從寄存器43讀取命令,并且解釋命令。這里假定寫在寄存器中的命令被解釋為針對鏈接列表傳送模式的命令,并且假定執(zhí)行了相應(yīng)的設(shè)置。在步驟S14,控制器41在DMA控制器44中設(shè)置鏈接列表傳送模式。在步驟S15,已被設(shè)置到鏈接列表傳送模式的DMA控制器44經(jīng)由儲存I/F 23向主機系統(tǒng)22請求鏈接列表中的一個條目。在步驟S16,主機系統(tǒng)22中的主機CPU 61接受對鏈接列表中的一個條目的請求,并且經(jīng)由儲存I/F 23將鏈接列表中的一個條目發(fā)送到儲存系統(tǒng)21。在步驟S17,儲存系統(tǒng)21經(jīng)由儲存I/F 23從主機系統(tǒng)22獲取條目,并且將條目保存在寄存器43中。在步驟S18和S19,儲存系統(tǒng)21和主機系統(tǒng)22執(zhí)行數(shù)據(jù)傳送過程。在步驟S20,儲存系統(tǒng)21中的控制器41判斷在步驟S17獲取的條目中是否描述了EOT。如果在步驟S20中判定在條目中未描述Ε0Τ,則控制返回到步驟S15,并且后續(xù)的過程重復(fù)。
同時,如果在步驟S20中判定在條目中描述了 Ε0Τ,則控制器41在步驟S21結(jié)束該過程。在以上過程中,數(shù)據(jù)傳送是在鏈接列表傳送模式中執(zhí)行的。下面將更詳細地描述以上過程。例如,在儲存于主機系統(tǒng)22中的主機存儲器62中的數(shù)據(jù)將被寫入到儲存系統(tǒng)21中的儲存存儲器48的情況下,主機系統(tǒng)22中的主機CPU61經(jīng)由儲存I/F 23和儲存I/F總線46向寄存器43發(fā)送寫入命令。該寫入命令是用于發(fā)起將儲存在主機系統(tǒng)22中的主機存儲器62中的數(shù)據(jù)寫入到儲存系統(tǒng)21中的儲存存儲器48的過程的命令。寄存器43接受此命令的提供并臨時保存該命令。儲存系統(tǒng)21中的控制器41獲取保存在寄存器43中的命令并且解釋命令的內(nèi)容。 因為儲存系統(tǒng)21和主機系統(tǒng)22如上所述利用鏈接列表傳送模式來執(zhí)行數(shù)據(jù)傳送,所以控制器41根據(jù)鏈接列表傳送模式來對DMA控制器44進行配置。具體而言,當(dāng)鏈接列表傳送模式被采用時,主機系統(tǒng)22中的主機CPU 61將主機存儲器62中的鏈接列表的地址寫入到寄存器43。因此,DMA控制器44參考寄存器43以從主機存儲器62逐一讀取條目,并且基于讀取的條目來執(zhí)行數(shù)據(jù)傳送過程。這樣,DMA控制器44對鏈接列表中的所有條目執(zhí)行數(shù)據(jù)傳送過程。具體而言,當(dāng)儲存在主機系統(tǒng)22中的數(shù)據(jù)被寫入到儲存系統(tǒng)21時,DMA控制器44從儲存在主機存儲器62中的數(shù)據(jù)中讀取將被寫入到儲存存儲器48的數(shù)據(jù),并且經(jīng)由儲存I/F 23和儲存I/F總線46將讀取的數(shù)據(jù)提供到緩沖存儲器45。緩沖存儲器45對提供的數(shù)據(jù)進行緩沖。主機系統(tǒng)22在生成鏈接列表時需要考慮儲存I/F等的規(guī)范。但是,根據(jù)本實施例的主機系統(tǒng)22不需要考慮儲存I/F 23等的規(guī)范。為了允許主機系統(tǒng)22不考慮儲存I/F23的規(guī)范,DMA控制器44具有如圖7所示的結(jié)構(gòu)。稍后將描述圖7。當(dāng)儲存在緩沖存儲器45中的數(shù)據(jù)的內(nèi)容變得有效時,儲存存儲器控制器47開始將儲存在緩沖存儲器45中的數(shù)據(jù)寫入到儲存存儲器48。另一方面,例如,在儲存于儲存系統(tǒng)21中的儲存存儲器48中的數(shù)據(jù)被讀取并被儲存在主機系統(tǒng)22中的主機存儲器62中的情況下,主機系統(tǒng)22中的主機CPU 61經(jīng)由儲存I/F 23和儲存I/F總線46向寄存器43發(fā)送讀取命令。讀取命令是用于發(fā)起從儲存系統(tǒng)21中的儲存存儲器48讀取數(shù)據(jù)的過程的命令。寄存器43接受此命令的提供并且臨時保存該命令。儲存系統(tǒng)21中的控制器41獲取保存在寄存器43中的命令。儲存系統(tǒng)21中的控制器41獲取保存在寄存器43中的命令并且解釋命令的內(nèi)容。因為儲存系統(tǒng)21和主機系統(tǒng)22如上所述利用鏈接列表傳送模式來執(zhí)行數(shù)據(jù)傳送,所以控制器41根據(jù)鏈接列表傳送模式來對DMA控制器44進行配置。在主機系統(tǒng)22從儲存系統(tǒng)21讀取數(shù)據(jù)的情況下,控制器41控制儲存存儲器控制器47以允許將被讀取的數(shù)據(jù)被從儲存存儲器48傳送到緩沖存儲器45。當(dāng)儲存在緩沖存儲器45中的數(shù)據(jù)的內(nèi)容變得有效時,DMA控制器44經(jīng)由儲存I/F總線46和儲存I/F 23將儲存在緩沖存儲器45中的數(shù)據(jù)傳送到主機存儲器62。這里,下面將描述主機系統(tǒng)22所擁有的與數(shù)據(jù)傳送相關(guān)的命令集,其中如以上參考圖I所述,主機存儲器62中的物理地址空間不同于邏輯地址空間,是由多個不連續(xù)(離散)的區(qū)域構(gòu)成的。主機系統(tǒng)22所擁有的與數(shù)據(jù)傳送相關(guān)的命令集包括READ_DATA_LINKLIST 命令和 WRITE_DATA_LINKLIST 命令。READ_DATA_LINKLIST命令是用于在鏈接列表傳送模式中發(fā)起對具有指定大小并且開始于指定地址的數(shù)據(jù)的連續(xù)讀取的命令。WRITE_DATA_LINKLIST命令是用于在鏈接列表傳送模式中發(fā)起對具有指定大小并且開始于指定地址的數(shù)據(jù)的連續(xù)寫入的命令。在鏈接列表傳送模式中,由具有如圖4所不的格式的多個描述符構(gòu)成的鏈接列表被用于向離散的物理地址空間寫入數(shù)據(jù)或從離散的物理地址空間讀取數(shù)據(jù)。構(gòu)成鏈接列表的各個描述符也被稱為“條目”。每個條目包括傳送地址、傳送大小和指示相應(yīng)條目是否是鏈接列表中的最后條目的傳送控制信息(EOT)。在作為涉及使用鏈接列表的傳送模式的鏈接列表傳送模式中,主機系統(tǒng)22將主機存儲器62中的鏈接列表的頂部地址設(shè)置在儲存系統(tǒng)21中的寄存器43中。根據(jù)該設(shè)置,DMA控制器44從主機存儲器62讀取第一條目。
基于此條目中描述的這種傳送信息,DMA控制器44能夠執(zhí)行必要的傳送。在使用第一條目的傳送完成之后,DMA控制器44從鏈接列表獲取下一條目,并且以類似的方式執(zhí)行傳送。DMA控制器44參考條目中的傳送控制信息的EOT標(biāo)志,以判斷此條目是否是最后的條目。DMA控制器44重復(fù)上述操作,直到最后的條目為止。[關(guān)于限制]這里假定基于分組的總線接口被用于儲存I/F 23,并且PCT Express被用作該基于分組的總線接口。在PCT Express被用作儲存I/F 23的情況下,在執(zhí)行數(shù)據(jù)交換時需要考慮以下限制。在現(xiàn)有技術(shù)中,主機系統(tǒng)22生成鏈接列表以便遵守以下限制,并且儲存系統(tǒng)21基于鏈接列表來執(zhí)行處理。但是,在本發(fā)明中,儲存系統(tǒng)21能夠在遵守以下限制的同時執(zhí)行處理,而無需主機系統(tǒng)22生成鏈接列表以便遵守限制。首先,下面將描述限制。限制I是必須考慮儲存系統(tǒng)21所連接到的主機系統(tǒng)22的傳送能力,例如代表寫入時有效載荷的最大大小的最大有效載荷大小(Max Payload Size)以及代表讀取時的最大大小的最大讀取請求大小(Max Read Request Size),以便在不超過這種大小的情況下執(zhí)行數(shù)據(jù)交換。例如,在希望傳送超過這種大小的數(shù)據(jù)的情況下,在考慮限制的同時生成鏈接列表的現(xiàn)有技術(shù)主機系統(tǒng)22需要生成鏈接列表,以使得數(shù)據(jù)被劃分成部分以用于數(shù)據(jù)交換。另外,對儲存系統(tǒng)21中的緩沖存儲器45的寫入或讀取根據(jù)緩沖存儲器45是否可訪問(滿/空)而受到限制。這樣,限制2是數(shù)據(jù)交換必須以不超過緩沖存儲器45的大小(以下在適當(dāng)時稱為“緩沖器大小”)的方式執(zhí)行。與限制I的情況類似,例如,在希望傳送超過緩沖器大小的大量數(shù)據(jù)的情況下,在考慮限制的同時生成鏈接列表的現(xiàn)有技術(shù)主機系統(tǒng)22需要生成鏈接列表,以使得數(shù)據(jù)根據(jù)緩沖器大小被劃分成部分以用于數(shù)據(jù)交換。下面將參考圖5來更詳細描述限制I和2。圖5中上方的表示出了最大讀取請求大小與最大傳送大小之間的關(guān)系。圖5中下方的表示出了最大有效載荷大小與最大傳送大小之間的關(guān)系。最大有效載荷大小指的是能夠添加到分組的數(shù)據(jù)的最大大小。最大讀取請求大小指的是能夠請求的數(shù)據(jù)的最大大小。例如,假定作為儲存系統(tǒng)21與主機系統(tǒng)22之間的通信能力的交換的結(jié)果,最大有效載荷大小被判定為128字節(jié),最大讀取請求大小被主機系統(tǒng)22為儲存系統(tǒng)21設(shè)置在2048字節(jié)。在這種情況下,在將數(shù)據(jù)從主機系統(tǒng)22傳送到儲存系統(tǒng)21時,儲存系統(tǒng)21中的DMA控制器44向主機系統(tǒng)22發(fā)出讀取請求,此時最多能夠請求2048字節(jié)。如果主機系統(tǒng)22接收到對2048字節(jié)的數(shù)據(jù)的讀取請求,主機系統(tǒng)22則將數(shù)據(jù)劃分成16個部分,每個部分的大小為128字節(jié),并且將它們單獨發(fā)送到儲存系統(tǒng)21,因為最大有效載荷大小是128字節(jié)。例如,在PCI Express被應(yīng)用到儲存I/F 23的情況下,數(shù)據(jù)傳送是以這種方式執(zhí)行的,因為在PCI Express的規(guī)范中,劃分?jǐn)?shù)據(jù)和單獨發(fā)送劃分后的部分對于讀取請求來說是允許的。最大有效載荷大小不僅在寫入時被應(yīng)用,而且在讀取時也被應(yīng)用。由于DMA控制器44設(shè)置在儲存系統(tǒng)21中,因此當(dāng)數(shù)據(jù)被寫入到儲存系統(tǒng)21時,讀取請求是從儲存系統(tǒng)21中的DMA控制器44發(fā)出到主機系統(tǒng)22的。注意,對于發(fā)出請求的一方和接收請求的一方,“讀取”和“寫入”的定義是相反的。當(dāng)在儲存系統(tǒng)21與主機系統(tǒng)22之間執(zhí)行數(shù)據(jù)傳送時,根據(jù)諸如最大讀取請求大 小和最大有效載荷大小之類的傳送能力或者儲存系統(tǒng)21中的緩沖器大小來施加如上所述的限制I和限制2。接下來,下面將描述限制3。根據(jù)限制3,由于總線的規(guī)則,禁止導(dǎo)致跨預(yù)定地址邊界的訪問的分組的生成。例如,在PCI Express的規(guī)范中,禁止導(dǎo)致跨4K地址邊界(個人計算機中的頁邊界)的訪問的分組的生成。因此,必須避免涉及跨4K地址邊界的訪問的傳送。例如,在根據(jù)上述緩沖器大小從預(yù)定地址生成的分組延伸跨過4K地址邊界的情況下,現(xiàn)有技術(shù)的主機系統(tǒng)22在傳送分組之前需要將分組劃分成要單獨傳送的部分。在現(xiàn)有技術(shù)中,例如采取劃分鏈接列表的方法來進行這種劃分。或者,在現(xiàn)有技術(shù)中,必須根據(jù)由緩沖器大小判定的傳送大小來加以限制,使得分組的地址不會延伸跨過4K邊界。下面將參考圖6更詳細描述限制3。假定以下情況要從主機存儲器62讀取8K字節(jié)數(shù)據(jù),并且地址邊界是基于4K字節(jié)設(shè)置的。在以下參考圖6進行的描述中,不考慮限制I和2。如圖6所示,假定要讀取其頂部地址被表示為起始地址的8K字節(jié)數(shù)據(jù)。該8K字節(jié)數(shù)據(jù)延伸跨過兩個4K邊界。因此,生成鏈接列表,使得8K字節(jié)數(shù)據(jù)中在第一 4K邊界之前的部分將被首先傳送,8K字節(jié)數(shù)據(jù)中在第一 4K邊界和下一 4K邊界之間延伸的部分將在接下來被傳送,并且8K字節(jié)數(shù)據(jù)中在第二 4K邊界之后的剩余部分將最后被傳送。如上所述,在這種情況下,在考慮限制3的同時生成了三個鏈接列表,從而使得數(shù)據(jù)傳送不會涉及跨地址邊界的訪問。接下來,下面將描述限制4。根據(jù)限制4,當(dāng)希望傳送大小小于緩沖器大小的數(shù)據(jù)時,需要進行填充,即根據(jù)緩沖器大小來向要傳送的數(shù)據(jù)添加冗余數(shù)據(jù)。例如,在緩沖器大小為2K字節(jié)而只有四個字節(jié)的數(shù)據(jù)要被發(fā)送的情況下,(2K-4)字節(jié)的冗余數(shù)據(jù)需要被添加到要發(fā)送的四字節(jié)數(shù)據(jù),以使得要發(fā)送的數(shù)據(jù)具有4K字節(jié)的大小。與有意義的四字節(jié)數(shù)據(jù)相比,(2K-4)字節(jié)的冗余數(shù)據(jù)沒有實質(zhì)意義。發(fā)送這種實質(zhì)上沒有意義的數(shù)據(jù)導(dǎo)致了無益地占用通信信道。從而,為了進行高效的傳送,需要考慮使填充最少化,并且根據(jù)現(xiàn)有技術(shù)的緩沖器大小來執(zhí)行傳送。在現(xiàn)有技術(shù)中,儲存系統(tǒng)21所連接到的主機系統(tǒng)22在構(gòu)造鏈接列表時需要考慮限制I至4中的每一個。在考慮上述所有限制的同時構(gòu)造鏈接列表意味著主機系統(tǒng)22的處理的增加。在這種情況下,即使在執(zhí)行DMA數(shù)據(jù)傳送以便減少主機系統(tǒng)22的處理的情況下,也無法獲得其最大效果。在本實施例中,可以在無需主機系統(tǒng)22考慮上述限制的情況下適當(dāng)?shù)貓?zhí)行數(shù)據(jù)傳送,從而使得主機系統(tǒng)22中的處理得以減少。換言之,主機系統(tǒng)22在不考慮上述限制I至4的情況下發(fā)出指令,而儲存系統(tǒng)21在遵守限制I至4的同時執(zhí)行處理。由于主機系統(tǒng)22被允許在不考慮上述限制的情況下發(fā)出與數(shù)據(jù)傳送相關(guān)的指令。因此主機系統(tǒng)22中的處理自然地減少了,并且另外,主機系統(tǒng)22能夠靈活地發(fā)出指令,即主機系統(tǒng)22這部分的靈活性增大了?,F(xiàn)在下面將描述其中在儲存系統(tǒng)21這部分考慮上述限制I至4的數(shù)據(jù)傳送。圖7示出了用于實現(xiàn)其中在儲存系統(tǒng)21這部分考慮限制I至4的數(shù)據(jù)傳送的電路的示例性結(jié)構(gòu)。圖7所示的電路例如包含在儲存系統(tǒng)21中的DMA控制器44中?!D7所示的電路包括最大傳送大小判定電路101、4K邊界判定電路102、緩沖器邊界判定電路103、傳送大小判定電路104、優(yōu)先級判定電路105、DMA 106、減法器107、加法器108、加法器109、剩余大小寄存器110、累積大小寄存器111和下一地址寄存器112。最大有效載荷大小最大讀取請求大小被從寄存器43 (圖2)提供到最大傳送大小判定電路101。另外,用于讀取的指令或用于寫入的指令被從主機系統(tǒng)22提供到最大傳送大小判定電路101。基于用于讀取的指令或用于寫入的指令,最大傳送大小判定電路101根據(jù)最大有效載荷大小和最大讀取請求大小來設(shè)置最大傳送大小。最大傳送大小判定電路101是用于執(zhí)行設(shè)置以便符合限制I的電路。最大傳送大小判定電路101的輸出,即關(guān)于最大可傳送大小的信息,被提供到4K邊界判定電路102和傳送大小判定電路104。4K邊界判定電路102是用于執(zhí)行設(shè)置以便符合限制3的電路。關(guān)于請求大小(Request Size)的信息被從剩余大小寄存器110提供到4K邊界判定電路102。另外,關(guān)于請求地址(Request Address)的信息被從下一地址寄存器112提供到4K邊界判定電路
102。請求大小指的是要傳送的數(shù)據(jù)的大小,而請求地址指的是要傳送的數(shù)據(jù)的讀取起始地址。4Κ邊界判定電路102判斷要傳送的數(shù)據(jù),即(請求地址)+ (請求大小),是否延伸跨過4Κ地址邊界。請求大小如上所述是從剩余大小寄存器110提供的。從剩余大小寄存器110提供來的請求大小代表通過從其通知已從主機系統(tǒng)22提供來的請求大小(應(yīng)當(dāng)讀取或?qū)懭氲臄?shù)據(jù)的總量)中減去已經(jīng)傳送的數(shù)據(jù)的量而獲得的大小。也就是說,剩余大小寄存器110儲存當(dāng)時剩余要傳送的數(shù)據(jù)的總量。儲存在剩余大小寄存器110中的大小是減法器107的輸出。請求大小被從主機系統(tǒng)22輸入到剩余大小寄存器110。剩余大小寄存器110保存從主機系統(tǒng)22輸入的請求大小,作為初始值。隨著之后數(shù)據(jù)傳送被重復(fù)地執(zhí)行,當(dāng)時剩余要傳送的數(shù)據(jù)的總量逐漸減少。優(yōu)先級判定電路105的輸出和關(guān)于剩余大小寄存器110中保存的數(shù)據(jù)量的信息被提供到減法器107。優(yōu)先級判定電路105的輸出是當(dāng)時將要傳送的數(shù)據(jù)的量,如下所述。換言之,當(dāng)時將要傳送的數(shù)據(jù)的量和當(dāng)時剩余要傳送的數(shù)據(jù)的總量被提供到減法器107。減法器107從當(dāng)時剩余要傳送的數(shù)據(jù)的總量中減去將要傳送的數(shù)據(jù)的量,從而計算下一時刻剩余要傳送的數(shù)據(jù)的總量,即在下一時刻仍沒有傳送的剩余數(shù)據(jù)的量。然后,這樣計算出的數(shù)據(jù)量被保存在剩余大小寄存器110中。如果上述判斷的結(jié)果為“真”,則4K邊界判定電路102向優(yōu)先級判定電路105輸出信息“真”以及剩余要傳送的數(shù)據(jù)的頂部地址與下一 4K地址邊界之間的差,來分別作為判定A和請求傳送大小A。同時,如果上述判斷的結(jié)果是“假”,則4K邊界判定電路102向優(yōu)先級判定電路105輸出信息“假”和從剩余大小寄存器110提供來的請求大小,來分別作為判定A和請求傳送大小A。也就是說,4K邊界判定電路102向優(yōu)先級判定電路105輸出不會導(dǎo)致要傳送的數(shù)據(jù)延伸跨過4K邊界的最大數(shù)據(jù)傳送量。注意,在本實施例中假定了值4K,因為邊界是基于4K字節(jié)設(shè)置的。在基于另一值設(shè)置來邊界的情況下,4K邊界判定電路102輸出用于防止要傳送的數(shù)據(jù)延伸跨過任何基于另一值的邊界的判定A和請求傳送大小A。緩沖器邊界判定電路103是用于判斷由請求大小和請求地址指定的數(shù)據(jù)傳送請求是否導(dǎo)致超過緩沖存儲器45的緩沖器大小的電路。緩沖器邊界判定電路103是用于執(zhí)行設(shè)置以便符合限制2的電路,并且是用于根據(jù)緩沖器大小來劃分分組的判定電路。緩沖器邊界判定電路103向優(yōu)先級判定電路105輸出關(guān)于是否超過緩沖器大小的判定,來作為判定B。另外,緩沖器邊界判定電路103向優(yōu)先級判定電路105輸出當(dāng)時的傳送大小,來作為請求傳送大小B。這里假定,當(dāng)判定超過緩沖器大小時信息“真”被輸出作為判定B,而在判定未超過緩沖器大小時信息“假”被輸出作為判定B?,F(xiàn)在,下面將參考緩沖器大小為2048字節(jié)(2K字節(jié))的示例性情況來描述緩沖器邊界判定電路103進行的判斷。例如,假定作為前一數(shù)據(jù)傳送實例的結(jié)果,數(shù)據(jù)“8字節(jié)”被保存在累積大小寄存器111中。由于累積大小寄存器111保存緩沖存儲器45中剩余的要傳送的數(shù)據(jù)的量,因此在此情況中信息“8字節(jié)”被保存在其中。當(dāng)信息“8字節(jié)”被保存在累積大小寄存器111中時,8字節(jié)的數(shù)據(jù)被儲存在緩沖存儲器45中。如果在這種情形下作出對2048字節(jié)的數(shù)據(jù)傳送請求,則2048字節(jié)被劃分成2040字節(jié)和8字節(jié)。將2040字節(jié)與累積大小8字節(jié)相加得出與緩沖器大小相對應(yīng)的2048字節(jié)。緩沖器邊界判定電路103向優(yōu)先級判定電路105輸出2048字節(jié),作為請求傳送大小B0由于原始傳送請求是針對2048字節(jié)的,因此剩余的8字節(jié)被保存在累積大小寄存器111中,并且將在下一傳送請求時作為請求傳送大小B的一部分被輸出。也就是說,已被請求傳送的2048字節(jié)被劃分成兩條數(shù)據(jù)“2040字節(jié)”和“8字節(jié)”。此時,為了寫入與后一條數(shù)據(jù)“8字節(jié)”相對應(yīng)的8字節(jié)數(shù)據(jù),下一傳送地址應(yīng)當(dāng)為(請求地址)+2040。因此,需要添加的上述值需要被保存在下一地址寄存器112中。當(dāng)達到2048字節(jié)的緩沖器大小時,累積大小寄存器111被清除,當(dāng)2040字節(jié)已被傳送時,O (零)字節(jié)被保存在其中,而當(dāng)剩余的8字節(jié)已被傳送時,8字節(jié)被保存在其中。剩余傳送大小可通過以下式子來計算緩沖器大小(2048)字節(jié)_(累積大小)。但是,在本實施例中,設(shè)置了剩余大小寄存器110,并且在剩余大小寄存器110中保存計算出的值。注意,剩余大小寄存器110的設(shè)置對于本發(fā)明來說不是必要的,在本發(fā)明的另一個實施例中可以不設(shè)置剩余大小寄存器110。傳送大小判定電路104是用于執(zhí)行設(shè)置以便符合限制4的電路。關(guān)于最大可傳送大小的信息被從最大傳送大小判定電路101提供到傳送大小判定電路104。另外,關(guān)于請求大小的信息被從剩余大小寄存器110提供到傳送大小判定電路104。傳送大小判定電路104判斷所請求的傳送大小(請求大小)是否等于或小于最大可傳送大小,并且向優(yōu)先級判定電路105輸出此判斷的結(jié)果來作為判定C。這里假定當(dāng)判定請求傳送大小等于或小于最大可傳送大小時信息“真”被輸出作為判定C,而當(dāng)判定請求傳送大小不等于或小于最大可傳送大小時信息“假”被輸出作為判定C。當(dāng)傳送大小判定電路104所作的判定為肯定時,即當(dāng)傳送大小判定電路104判定傳送大小等于或小于最大傳送大小時,傳送大小判定電路104向優(yōu)先級判定電路105輸出等于或小于最大傳送大小的傳送大小,來作為請求傳送大小C。判定A、B和C分別被從4K邊界判定電路102、緩沖器邊界判定電路103和傳送大 小判定電路104提供到優(yōu)先級判定電路105。從而,三個判定被提供到優(yōu)先級判定電路105。如果三個判定中有兩個或更多個為“真”,也就是說,如果判定兩個或更多個條件得到滿足,則優(yōu)先級判定電路105向DMA 106輸出最小的值,來作為最終請求傳送大小。具體而言,請求傳送大小A、B和C分別被從4K邊界判定電路102、緩沖器邊界判定電路103和傳送大小判定電路104提供到優(yōu)先級判定電路105。三個請求傳送大小A、B和C中具有三者之中最小值的那個被輸出到DMA 106作為最終請求傳送大小?,F(xiàn)在,下面將參考圖8至12,利用具體數(shù)值來描述圖7所示的電路的操作。在圖8至12中,示出了圖7所示的電路中對于說明來說必要的部分。圖8示出了時刻tl的情形,此時用于數(shù)據(jù)傳送的指令已被發(fā)出。假定,在用于數(shù)據(jù)傳送的指令被發(fā)出時,5K字節(jié)和IK已分別被指定為請求大小和請求地址。另外,假定最大傳送大小為4K。由于請求大小被提供到剩余大小寄存器110,因此在時刻tl,保存在剩余大小寄存器110中的關(guān)于剩余大小的信息為5K。由于請求地址被提供到下一地址寄存器112,因此在時刻tl,保存在下一地址寄存器112中的關(guān)于讀取起始地址的信息為1K。圖8中圍在正方形或矩形內(nèi)的數(shù)字代表儲存在寄存器中的值、提供到判定電路的值、要輸出的值,等等。在時刻tl尚未執(zhí)行數(shù)據(jù)傳送。因此,累積大小寄存器111儲存“0”,來作為緩沖存儲器45(圖2)中剩余的數(shù)據(jù)的量。這里假定緩沖存儲器45中能夠儲存的數(shù)據(jù)的最大量為2K0在時刻tl,最大傳送大小判定電路101 (圖7)將信息“4Κ”提供到4Κ邊界判定電路102,剩余大小寄存器110將信息“5Κ”提供到4Κ邊界判定電路102,并且下一地址寄存器112將信息“1Κ”提供到4Κ邊界判定電路102。在這種情況下,要從IK的讀取起始地址開始讀取5Κ字節(jié)的數(shù)據(jù)。也就是說,存在于地址IK和地址6K( = 1Κ+5Κ)之間的數(shù)據(jù)是要傳送的數(shù)據(jù)。由于在此情況下4Κ是邊界,因此存在于IK和6Κ之間的數(shù)據(jù)延伸跨過了 4Κ邊界。因此,信息“真”被輸出作為判定Α。另外,不導(dǎo)致要傳送的數(shù)據(jù)延伸跨過4Κ邊界的最大大小被輸出作為請求傳送大小Α。具體而言,在此情況下,如果存在于地址IK和地址4Κ之間的數(shù)據(jù)被讀取,數(shù)據(jù)傳送則可以以最大大小執(zhí)行,而不會延伸跨過4Κ邊界。因此,存在于IK和4K之間的大小3Κ被提供到優(yōu)先級判定電路105,作為請求傳送大小Α。保存在累積大小寄存器111中的信息在時刻tl被提供到緩沖器邊界判定電路
103。因此,在時刻tl,信息“0K”被提供到緩沖器邊界判定電路103。緩沖器邊界判定電路103判斷由請求大小和請求地址所指定的數(shù)據(jù)傳送請求是否導(dǎo)致超過緩沖存儲器45的緩沖器大小。由于在此情況下請求大小為5K并且請求地址為1K,因此緩沖器邊界判定電路103判定超過了緩沖器大小,并且輸出信息“真”來作為判定B。另外,由于在此情況下在緩沖存儲器45中能夠儲存2K字節(jié)的數(shù)據(jù),因此信息“2K”被輸出作為請求傳送大小B。在時刻tl,信息“4K”被從最大傳送大小判定電路101 (圖7)提供到傳送大小判定電路104,并且信息“5K”被從剩余大小寄存器110提供到傳送大小判定電路104。傳送大小判定電路104判斷傳送大小是否等于或小于最大傳送大小。由于在此情況下傳送大小為5K并且最大傳送大小為4K,因此傳送大小判定電路104輸出信息“假”來作為判定C。在信息“假”被輸出的情況下,作為請求傳送大小C的信息不被輸出(即代表具體數(shù)字的數(shù)據(jù)不 被輸出)。如上所述,在時刻tl,信息“真”、信息“真”和信息“假”分別作為判定A、B和C被提供到優(yōu)先級判定電路105。由于兩條或多條信息“真”被提供到了優(yōu)先級判定電路105,因此優(yōu)先級判定電路105輸出提供的請求傳送大小中的最小值來作為最終的請求傳送大小。在此情況下,“3K”和“2K”分別作為請求傳送大小A和B被提供到優(yōu)先級判定電路105,因此2K被設(shè)置為請求傳送大小。在時刻t2,2K被設(shè)置為請求傳送大小,并且此信息被提供到DMA106。DMA 106進行用于利用2K的傳送大小來執(zhí)行數(shù)據(jù)傳送的控制。在時刻t2,信息“2K”被從優(yōu)先級判定電路105提供到減法器107、加法器108和加法器109中的每一個。參考圖8和9,在時刻t2之前的時刻tl保存在剩余大小寄存器110中的信息以及來自優(yōu)先級判定電路105的信息被提供到減法器107。在此情況下,信息“5K”和信息“2K”分別被從剩余大小寄存器110和優(yōu)先級判定電路105提供到減法器107。減法器107計算5K與2K之間的差,并且將此計算的結(jié)果提供到剩余大小寄存器110。注意,從減法器107輸出的值是絕對值。在時刻t2,從減法器107提供來的結(jié)果被保存在剩余大小寄存器110中。因此,在此情況下保存在剩余大小寄存器110中的信息為信息“3K”。在時刻t2之前的時刻tl保存在累積大小寄存器111中的信息以及來自優(yōu)先級判定電路105的信息被提供到加法器108。在此情況下,信息“0K”和信息“2K”分別被從剩余大小寄存器110和優(yōu)先級判定電路105提供到加法器108。加法器108計算OK與2K的和,并且將此計算的結(jié)果提供到累積大小寄存器111。在時刻t2,從加法器108提供來的結(jié)果被保存在累積大小寄存器111中。因此,在此情況下保存在累積大小寄存器111中的信息為信息“2K”,但是,由于每當(dāng)信息達到2K時累積大小寄存器111就清除信息從而將其重置到0K,因此在此情況下信息“0K”被保存在累積大小寄存器111中。在時刻t2之前的時刻tl保存在下一地址寄存器112中的信息以及來自優(yōu)先級判定電路105的信息被提供到加法器109。在此情況下,信息“1K”和信息“2K”分別被從下一地址寄存器112和優(yōu)先級判定電路105提供到加法器109。加法器109計算IK與2K的和,并且將此計算的結(jié)果提供到下一地址寄存器112。在時刻t2,從加法器109提供來的結(jié)果被保存在下一地址寄存器112中。因此,在此情況下保存在下一地址寄存器112中的信息為信息“3K”。信息以上述方 式被保存在每個寄存器中。信息“4K”、信息“3K”和信息“3K”被提供到4K邊界判定電路102,分別作為最大傳送大小、剩余傳送大小和讀取起始地址。因此,在此情況下,要讀取從3K的讀取起始地址開始的3K字節(jié)(對應(yīng)于剩余傳送大小)的數(shù)據(jù)。換言之,存在于地址3K與地址6K(=3Κ+3Κ)之間的數(shù)據(jù)是要傳送的數(shù)據(jù)。由于在此情況下4Κ為邊界,因此存在于3Κ與6Κ之間的數(shù)據(jù)延伸跨過了 4Κ邊界。因此,信息“真”被輸出作為判定Α。另外,不會導(dǎo)致要傳送的數(shù)據(jù)延伸跨過4Κ邊界的最大大小被輸出作為請求傳送大小Α。具體而言,在此情況下,如果讀取存在于地址3Κ與4Κ之間的數(shù)據(jù),則可以在不延伸跨過4Κ邊界的情況下以最大大小執(zhí)行數(shù)據(jù)傳送。因此,存在于3Κ與4Κ之間的數(shù)據(jù)的大小IK被提供到優(yōu)先級判定電路105,作為請求傳送大小Α。在時刻t2,信息“0Κ”被從累積大小寄存器111提供到緩沖器邊界判定電路103。在此情況下,緩沖器邊界判定電路103判定超過了緩沖器大小,并且輸出信息“真”來作為判定B。另外,由于在此情況下在緩沖存儲器45中能夠儲存2K字節(jié)的數(shù)據(jù),因此信息“2K”被輸出作為請求傳送大小B。在時刻t2,信息“4K”和信息“3K”分別被從最大傳送大小判定電路101 (圖7)和剩余大小寄存器Iio提供到傳送大小判定電路104。傳送大小判定電路104判斷傳送大小是否等于或小于最大傳送大小。由于在此情況下傳送大小為3K并且最大傳送大小為4K,因此傳送大小判定電路104輸出信息“真”來作為判定C。在信息“真”被輸出的情況下,所提供的傳送大小的值被設(shè)置為請求傳送大小C并被輸出。因此,在此情況下,信息“3K”被輸出作為請求傳送大小C。如上所述,在時刻t2,信息“真”、信息“真”和信息“真”分別作為判定A、B和C被提供到優(yōu)先級判定電路105。因此,由于兩條或多條信息“真”被提供到了優(yōu)先級判定電路105,所以優(yōu)先級判定電路105輸出提供的請求傳送大小中的最小值來作為最終的請求傳送大小。在此情況下,“ 1K”、“2K”和“3K”分別作為請求傳送大小Α、Β和C被提供到優(yōu)先級判定電路105,因此IK被設(shè)置為請求傳送大小。在時刻t3,IK被設(shè)置為請求傳送大小,并且此信息被提供到DMA106。DMA 106進行用于利用IK的傳送大小來執(zhí)行數(shù)據(jù)傳送的控制。在時刻t3,信息“1K”被從優(yōu)先級判定電路105提供到減法器107、加法器108和加法器109中的每一個。參考圖9和10,在時刻t3,在時刻t2保存在剩余大小寄存器110中的信息“3K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到減法器107。減法器107計算3K與IK之間的差,并且將此計算的結(jié)果,即信息“2K”,提供到剩余大小寄存器110。因此,在此情況下,信息“2K”被保存在剩余大小寄存器110中。在時刻t3,在時刻t2保存在累積大小寄存器111中的信息“0K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到加法器108。加法器108計算OK與IK的和,并且將此計算的結(jié)果,即信息“1K”,提供到累積大小寄存器111。因此,在此情況下,信息“1K”被保存在累積大小寄存器111中。在時刻t3,在時刻t2保存在下一地址寄存器112中的信息“3K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到加法器109。加法器109計算3K與IK的和,并且將此計算的結(jié)果,即信息“4K”,提供到下一地址寄存器112。因此,在此情況下,信息“4K”被保存在下一地址寄存器112中。信息以上述方式被保存在每個寄存器中。信息“4K”、信息“2K”和信息“4K”被提供到4K邊界判定電路102,分別作為最大傳送大小、剩余傳送大小和讀取起始地址。因此,在此情況下,要讀取從4K的讀取起始地址開始的2K字節(jié)(對應(yīng)于剩余傳送大小)的數(shù)據(jù)。換言之,存在于地址4K與地址6K(=4Κ+2Κ)之間的數(shù)據(jù)是要傳送的數(shù)據(jù)。
由于在此情況下4Κ為邊界,因此存在于4Κ與6Κ之間的數(shù)據(jù)不延伸跨過4Κ邊界。因此,信息“假”被輸出作為判定Α。另外,由于數(shù)據(jù)不延伸跨過4Κ邊界,因此剩余的請求傳送大小被輸出作為請求傳送大小Α。因此,在此情況下,存在于4Κ與6Κ之間的數(shù)據(jù)的大小2Κ被提供到優(yōu)先級判定電路105,作為請求傳送大小Α。在時刻t3,信息“1Κ”被從累積大小寄存器111提供到緩沖器邊界判定電路103。在此情況下,緩沖器邊界判定電路103判定超過了緩沖器大小,并且輸出信息“真”來作為判定B。另外,由于在此情況下在緩沖存儲器45中能夠儲存IK字節(jié)的數(shù)據(jù),因此信息“1K”被輸出作為請求傳送大小B。在時刻t3,信息“4K”和信息“2K”分別被從最大傳送大小判定電路101 (圖7)和剩余大小寄存器Iio提供到傳送大小判定電路104。傳送大小判定電路104判斷傳送大小是否等于或小于最大傳送大小。由于在此情況下傳送大小為3K并且最大傳送大小為4K,因此傳送大小判定電路104輸出信息“真”來作為判定C。在信息“真”被輸出的情況下,所提供的傳送大小的值,即在此情況下為信息“2K”,被輸出作為請求傳送大小C。如上所述,在時刻t3,信息“假”、信息“真”和信息“真”分別作為判定A、B和C被提供到優(yōu)先級判定電路105。因此,由于兩條或多條信息“真”被提供到了優(yōu)先級判定電路105,所以優(yōu)先級判定電路105輸出提供的請求傳送大小中的最小值來作為最終的請求傳送大小。在此情況下,“2K”、“ 1K”和“2K”分別作為請求傳送大小A、B和C被提供到優(yōu)先級判定電路105,因此IK被設(shè)置為請求傳送大小。在時刻t4,IK被設(shè)置為請求傳送大小,并且此信息被提供到DMA106。DMA 106進行用于利用IK的傳送大小來執(zhí)行數(shù)據(jù)傳送的控制。在時刻t4,信息“1K”被從優(yōu)先級判定電路105提供到減法器107、加法器108和加法器109中的每一個。參考圖10和11,在時刻t4,在時刻t3保存在剩余大小寄存器110中的信息“2K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到減法器107。減法器107計算2K與IK之間的差,并且將此計算的結(jié)果,即信息“1K”,提供到剩余大小寄存器110。因此,在此情況下,信息“1K”被保存在剩余大小寄存器110中。在時刻t4,在時刻t3保存在累積大小寄存器111中的信息“1K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到加法器108。加法器108計算IK與IK的和,并且將此計算的結(jié)果,即信息“2K”,提供到累積大小寄存器111。因此,在此情況下保存在累積大小寄存器111中的信息為“2Κ”,但是由于在累積大小寄存器111中保存信息“2Κ”時其中的信息被重置到“0Κ”,因此信息“0Κ”被保存在累積大小寄存器111中。在時刻t4,在時刻t3保存在下一地址寄存器112中的信息“4K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到加法器109。加法器109計算4K與IK的和,并且將此計算的結(jié)果,即信息“5K”,提供到下一地址寄存器112。因此,在此情況下,信息“5K”被保存在下一地址寄存器112中。信息以上述方式被保存在每個寄存器中。信息“4K”、信息“1K”和信息“5K”被提供到4K邊界判定電路102,分別作為最大傳送大小、剩余傳送大小和讀取起始地址。因此,在此情況下,要讀取從5K的讀取起始地 址開始的IK字節(jié)(對應(yīng)于剩余傳送大小)的數(shù)據(jù)。換言之,存在于地址5K與地址6K(=5Κ+1Κ)之間的數(shù)據(jù)是要傳送的數(shù)據(jù)。由于在此情況下4Κ為邊界,因此存在于5Κ與6Κ之間的數(shù)據(jù)不延伸跨過4Κ邊界。因此,信息“假”被輸出作為判定Α。另外,由于數(shù)據(jù)不延伸跨過4Κ邊界,因此剩余的請求傳送大小被輸出作為請求傳送大小Α。因此,在此情況下,存在于5Κ與6Κ之間的數(shù)據(jù)的大小IK被提供到優(yōu)先級判定電路105,作為請求傳送大小Α。在時刻t4,信息“0Κ”被從累積大小寄存器111提供到緩沖器邊界判定電路103。在此情況下,緩沖器邊界判定電路103判定未超過緩沖器大小,并且輸出信息“假”來作為判定B。另外,由于在此情況下在緩沖存儲器45中能夠儲存2K字節(jié)的數(shù)據(jù),因此信息“2K”被輸出作為請求傳送大小B。在時刻t4,信息“4K”被從最大傳送大小判定電路101 (圖7)提供到傳送大小判定電路104,并且信息“1K”被從剩余大小寄存器110提供到傳送大小判定電路104。傳送大小判定電路104判斷傳送大小是否等于或小于最大傳送大小。由于在此情況下傳送大小為IK并且最大傳送大小為4K,因此傳送大小判定電路104輸出信息“真”來作為判定C。在信息“真”被輸出的情況下,所提供的傳送大小的值,即在此情況下為信息“ 1K”,被輸出作為請求傳送大小C。如上所述,在時刻t4,信息“假”、信息“假”和信息“真”分別作為判定A、B和C被提供到優(yōu)先級判定電路105。因此,由于沒有兩條或多條信息“真”被提供到優(yōu)先級判定電路105,所以優(yōu)先級判定電路105在所提供的請求傳送大小中輸出從傳送大小判定電路104提供來的請求傳送大小C來作為最終的請求傳送大小。因此在此情況下IK被設(shè)置為請求傳送大小。在時刻t5,IK被設(shè)置為請求傳送大小,并且此信息被提供到DMA106。DMA 106進行用于利用IK的傳送大小來執(zhí)行數(shù)據(jù)傳送的控制。在時刻t5,信息“1K”被從優(yōu)先級判定電路105提供到減法器107、加法器108和加法器109中的每一個。參考圖11和12,在時刻t5,在時刻t4保存在剩余大小寄存器110中的信息“1K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到減法器107。減法器107計算IK與IK之間的差,并且將此計算的結(jié)果,即信息“0K”,提供到剩余大小寄存器110。因此,在此情況下,信息“0K”被保存在剩余大小寄存器110中。
剩余大小寄存器110中保存的信息為“0K”這一事實意味著沒有剩余要傳送的數(shù)據(jù)。因此,當(dāng)剩余大小寄存器110中保存的信息變?yōu)椤?K”時,此過程可被終止。但是,這里為了說明,假定過程繼續(xù)進行,而不終止于此處。在時刻t5,在時刻t4保存在累積大小寄存器111中的信息“0K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到加法器108。加法器108計算OK與IK的和,并且將此計算的結(jié)果,即信息“1K”,提供到累積大小寄存器111。因此,在此情況下,信息“1K”被保存在累積大小寄存器111中。在時刻t5,在時刻t4保存在下一地址寄存器112中的信息“5K”以及來自優(yōu)先級判定電路105的信息“1K”被提供到加法器109。加法器109計算5K與IK的和,并且將此計算的結(jié)果,即信息“6K”,提供到下一地址寄存器112。因此,在此情況下,信息“6K”被保存在下一地址寄存器112中。 信息以上述方式被保存在每個寄存器中。信息“4K”、信息“0K”和信息“6K”被提供到4K邊界判定電路102,分別作為最大傳送大小、剩余傳送大小和讀取起始地址。因此,在此情況下,要讀取從6K的讀取起始地址開始的OK字節(jié)(對應(yīng)于剩余傳送大小)的數(shù)據(jù)。換言之,存在于地址6K與地址6K之間的數(shù)據(jù),即OK字節(jié)的數(shù)據(jù),是要傳送的數(shù)據(jù)。由于在此情況下4K為邊界,因此存在于6K與6K之間的數(shù)據(jù)不延伸跨過4K邊界。因此,信息“假”被輸出作為判定A。另外,由于數(shù)據(jù)不延伸跨過4K邊界,因此剩余的請求傳送大小被輸出作為請求傳送大小A。因此,OK被提供到優(yōu)先級判定電路105。在時刻t5,信息“1K”被從累積大小寄存器111提供到緩沖器邊界判定電路103。在此情況下,緩沖器邊界判定電路103判定未超過緩沖器大小,并且輸出信息“假”來作為判定B。另外,由于在此情況下在緩沖存儲器45中能夠儲存IK字節(jié)的數(shù)據(jù),因此信息“1K”被輸出作為請求傳送大小B。在時刻t5,信息“4K”被從最大傳送大小判定電路101 (圖7)提供到傳送大小判定電路104,并且信息“0K”被從剩余大小寄存器110提供到傳送大小判定電路104。傳送大小判定電路104判斷傳送大小是否等于或小于最大傳送大小。由于在此情況下傳送大小為OK并且最大傳送大小為4K,因此傳送大小判定電路104輸出信息“真”來作為判定C。在信息“真”被輸出的情況下,所提供的傳送大小的值,即在此情況下為信息“0K”,被輸出作為請求傳送大小C。如上所述,在時刻t5,信息“假”、信息“假”和信息“真”分別作為判定A、B和C被提供到優(yōu)先級判定電路105。因此,由于沒有兩條或多條信息“真”被提供到優(yōu)先級判定電路105,所以優(yōu)先級判定電路105在所提供的請求傳送大小中輸出請求傳送大小C來作為最終的請求傳送大小。因此在此情況下OK被設(shè)置為請求傳送大小。OK被設(shè)置為請求傳送大小這一事實意味著所有應(yīng)當(dāng)傳送的數(shù)據(jù)都已被傳送。因此,與數(shù)據(jù)傳送相關(guān)的過程結(jié)束。如上所述,在本實施例中,在執(zhí)行數(shù)據(jù)傳送時,數(shù)據(jù)傳送時的限制是在DMA控制器44(圖2)這部分考慮的。以這種方式執(zhí)行數(shù)據(jù)傳送的本實施例產(chǎn)生了以下效果。在諸如PCI Express這樣的串行總線中,為了提高總線的傳送效率,希望使用較大的有效載荷大小。在本實施例中,每次執(zhí)行數(shù)據(jù)傳送過程時可以選擇最優(yōu)有效載荷大小,從而可以使用盡可能大的有效載荷大小。因此,可以提高傳送效率。另外,消除了主機系統(tǒng)22考慮4K字節(jié)邊界或者傳送緩沖器的邊界的需要。另外,可以在固定于主機系統(tǒng)22中的存儲器的限度內(nèi)執(zhí)行數(shù)據(jù)傳送,免除了硬件約束??稍跅l目或鏈接列表中描述請求地址和請求大小。因此,主機系統(tǒng)22能夠在設(shè)置所需傳送大小的同時生成鏈接列表,而無需考慮限制I至4。例如,假定要進行視頻流的寫入,并且根據(jù)本發(fā)明一個實施例的儲存系統(tǒng)21連接到主機系統(tǒng)22。如果在主機系統(tǒng)22中準(zhǔn)備了大小小于緩沖器大小的數(shù)據(jù),并且設(shè)置在主機系統(tǒng)22中并且處理數(shù)據(jù)直到后續(xù)數(shù)據(jù)被準(zhǔn)備為止的主機CPU 61具有空閑容量,那么數(shù)據(jù)可被連續(xù)地寫入到儲存裝置,而無需等待數(shù)據(jù)累積達到緩沖器大小。這種靈活的過程成為了可能。另外,可以很容易允許要寫入的數(shù)據(jù)的量被均勻地分布,并且可以避免每次需要 傳送大量數(shù)據(jù)的情形。結(jié)果,例如,對最大吞吐量相對較低的CPU的使用成為可能。這對于記錄視頻的主機系統(tǒng)(例如便攜式攝像機)將會非常有效。對于讀取也是如此。即使存在大小小于緩沖器大小的數(shù)據(jù),請求地址和請求大小也可在這種數(shù)據(jù)被考慮的同時被通知給儲存系統(tǒng)21。在此情況下,儲存系統(tǒng)21處理最優(yōu)大小,從而使得主機系統(tǒng)22中需要的處理得以減少。換言之,在現(xiàn)有技術(shù)的儲存系統(tǒng)21的情況下,在數(shù)據(jù)傳送時需要考慮儲存系統(tǒng)21的硬件結(jié)構(gòu)。因此,在現(xiàn)有技術(shù)中,主機系統(tǒng)22需要進行控制以使得要傳送的數(shù)據(jù)根據(jù)儲存系統(tǒng)被分割。分割控制是在鏈接列表中描述的。本實施例的應(yīng)用使得可以減少鏈接列表中的條目的數(shù)目。也就是說,本實施例的應(yīng)用使得可以節(jié)省主機系統(tǒng)22中用于儲存鏈接列表的存儲器區(qū)域。在基于分組的通信中,分組信息、奇偶性等等需要與凈數(shù)據(jù)添加到一起。由于此分組信息的數(shù)據(jù)大小不依賴于凈數(shù)據(jù)的大小,因此希望凈數(shù)據(jù)的大小盡可能地大,以便提高數(shù)據(jù)傳送的效率。如果凈數(shù)據(jù)被劃分成較小的部分以便進行數(shù)據(jù)發(fā)送和接收,則分組信息的大小將會與凈數(shù)據(jù)劃分程度成正比地增大,從而導(dǎo)致效率的降低(分組開銷)。但是,根據(jù)本實施例,處理是以上述方式執(zhí)行的。因此,即使在數(shù)據(jù)劃分對于數(shù)據(jù)傳送來說不可避免時,也可以以最大的數(shù)據(jù)量來執(zhí)行通信。因此,可以解決如何實現(xiàn)高效的數(shù)據(jù)劃分和傳送的問題。如上所述,本實施例的應(yīng)用產(chǎn)生了各種效果。[關(guān)于儲存介質(zhì)]上述過程系列可通過硬件或軟件來執(zhí)行。在過程系列通過軟件來執(zhí)行的情況下,構(gòu)成軟件并且儲存在程序儲存介質(zhì)中的程序被安裝到具有專用硬件配置的計算機或者例如通用個人計算機中,所述計算機在其中安裝各種程序后就能夠執(zhí)行各種功能。圖13是示出根據(jù)程序執(zhí)行上述過程系列的個人計算機的示例性硬件結(jié)構(gòu)的框圖。在此計算機中,中央處理單元(CPU) 201、只讀存儲器(ROM) 202和隨機訪問存儲器(RAM) 203經(jīng)由總線204與彼此相連。輸入/輸出接口 205也連接到總線204。與輸入/輸出接口 205相連的有由鍵盤、鼠標(biāo)、麥克風(fēng)等等形成的輸入部件206 ;由顯示器、揚聲器等等形成的輸出部件207 ;由硬盤、非易失性存儲器等等形成的儲存部件208 ;由網(wǎng)絡(luò)接口等等形成的通信部件209 ;以及驅(qū)動諸如磁盤、光盤、磁光盤或半導(dǎo)體存儲器之類的可移動介質(zhì)211的驅(qū)動器210。在具有上述結(jié)構(gòu)的計算機中,CPU 201經(jīng)由輸入/輸出接口 205和總線204將例如儲存在儲存部件208中的程序加載到RAM 203中,并且執(zhí)行該程序以執(zhí)行上述過程系列。被計算機(即CPU 201)執(zhí)行的程序可被儲存在可移動介質(zhì)211中,該可移動介質(zhì)211是由磁盤(包括柔性盤)、光盤(包括CD-ROM (致密盤-只讀存儲器)、DVD (數(shù)字多功能盤)等等)、磁光盤或半導(dǎo)體存儲器形成的封裝介質(zhì),從而使得程序可以經(jīng)由可移動介質(zhì)211被提供到計算機?;蛘撸绦蚩梢越?jīng)由諸如局域網(wǎng)、因特網(wǎng)或數(shù)字衛(wèi)星廣播之類的有線或無線通信介質(zhì)被提供到計算機。當(dāng)可移動介質(zhì)211被安放在驅(qū)動器210上時,程序可以經(jīng)由輸入/輸出接口 205
被安裝到儲存部件208中。另外,程序可由通信部件209經(jīng)由有線或無線通信介質(zhì)接收并被安裝到儲存部件208中。或者,程序可被預(yù)先安裝在ROM 202或儲存部件208中。注意,計算機執(zhí)行的程序可以是使得過程被以在本說明書中描述的順序按時間順序執(zhí)行的程序,或者是使得一些過程被并行執(zhí)行或者在適當(dāng)時(例如在調(diào)用被發(fā)出時)被執(zhí)行的程序。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,取決于設(shè)計要求和其他因素,可以進行各種修改、組合、子組合和變更,只要它們處于所附權(quán)利要求或其等同物的范圍之內(nèi)。本發(fā)明包含與2007年4月20日向日本專利局提交的日本專利申請JP2007-111123相關(guān)的主題,這里通過引用將該申請的全部內(nèi)容并入。
權(quán)利要求
1.一種信息處理設(shè)備,包括 設(shè)置裝置,用于將聯(lián)系另一設(shè)備設(shè)置的讀取時的最大傳送大小或者寫入時的最大傳送大小設(shè)置為最大傳送大??; 計算裝置,用于從第一數(shù)據(jù)量中減去第二數(shù)據(jù)量,以計算第三數(shù)據(jù)量,該第一數(shù)據(jù)量是要傳送的數(shù)據(jù)的量,該第二數(shù)據(jù)量是已經(jīng)傳送的數(shù)據(jù)的量; 邊界判定裝置,用于在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及延伸跨過頁邊界; 傳送大小判定裝置,用于判斷所述第三數(shù)據(jù)量是否等于或小于所述設(shè)置裝置所設(shè)置的所述最大傳送大??; 緩沖器邊界判定裝置,用于在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及超過緩沖器大??;以及 數(shù)據(jù)量裝置,用于基于由上述判定裝置中的兩個以上作出的判斷,來確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量。
2.根據(jù)權(quán)利要求I所述的信息處理設(shè)備,其中 所述邊界判定裝置計算讀取起始位置與所述頁邊界之間的差值,并且所述數(shù)據(jù)量裝置將所述差值和所述第三數(shù)據(jù)量之中的最小值確定為所述要傳送的數(shù)據(jù)的數(shù)據(jù)量。
3.根據(jù)權(quán)利要求2所述的信息處理設(shè)備,其中,當(dāng)所述邊界判定裝置的判斷和所述傳送大小判定裝置的判斷為肯定時,所述數(shù)據(jù)量裝置將所述差值和所述第三數(shù)據(jù)量之中的最小值確定為所述要傳送的數(shù)據(jù)的數(shù)據(jù)量。
4.根據(jù)權(quán)利要求I所述的信息處理設(shè)備,還包括直接存儲器訪問控制器,用于控制數(shù)據(jù)傳送,以使得其數(shù)據(jù)量為由所述數(shù)據(jù)量裝置確定的數(shù)據(jù)量的數(shù)據(jù)被傳送。
5.根據(jù)權(quán)利要求I所述的信息處理設(shè)備,其中,所述計算裝置在將由所述數(shù)據(jù)量裝置確定的所述數(shù)據(jù)量和所述第三數(shù)據(jù)量分別當(dāng)作所述第二數(shù)據(jù)量和所述第一數(shù)據(jù)量的同時計算新的第三數(shù)據(jù)量,以將所述第三數(shù)據(jù)量更新到所述新的第三數(shù)據(jù)量,并且繼續(xù)此更新,直到所述第三數(shù)據(jù)量達到零為止。
6.如權(quán)利要求5所述的信息處理設(shè)備,其中,所述第一數(shù)據(jù)量的初始值是從所述另一設(shè)備提供的。
7.一種信息處理方法,包括以下步驟 將聯(lián)系另一設(shè)備設(shè)置的讀取時的最大傳送大小或者寫入時的最大傳送大小設(shè)置為最大傳送大小; 從第一數(shù)據(jù)量中減去第二數(shù)據(jù)量,以計算第三數(shù)據(jù)量,該第一數(shù)據(jù)量是要傳送的數(shù)據(jù)的量,該第二數(shù)據(jù)量是已經(jīng)傳送的數(shù)據(jù)的量; 在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及延伸跨過頁邊界; 判斷所述第三數(shù)據(jù)量是否等于或小于所述設(shè)置步驟所設(shè)置的所述最大傳送大小;在其量為所述第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷此傳送是否將會涉及超過緩沖器大??;以及 基于由上述判斷中的兩個以上的判斷,來確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量。
8.根據(jù)權(quán)利要求7所述的信息處理方法,其中 判斷傳送是否將會涉及延伸跨過頁邊界的步驟包括計算讀取起始位置與所述頁邊界之間的差值,并且 確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量的步驟包括將所述差值和所述第三數(shù)據(jù)量之中的最小值確定為所述要傳送的數(shù)據(jù)的數(shù)據(jù)量。
9.根據(jù)權(quán)利要求8所述的信息處理方法,其中,當(dāng)傳送將會涉及延伸跨過頁邊界并且所述第三數(shù)據(jù)量等于或小于所述設(shè)置步驟所設(shè)置的所述最大傳送大小時,所述確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量的步驟將所述差值和所述第三數(shù)據(jù)量之中的最小值確定為所述要傳送的數(shù)據(jù)的數(shù)據(jù)量。
10.根據(jù)權(quán)利要求7所述的信息處理方法,還包括控制數(shù)據(jù)傳送,以使得其數(shù)據(jù)量為由所述確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量步驟所確定的數(shù)據(jù)量的數(shù)據(jù)被傳送。
11.根據(jù)權(quán)利要求7所述的信息處理方法,其中,所述計算第三數(shù)據(jù)量的步驟在將由所述確定在所述第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量的步驟所確定的所述數(shù)據(jù)量和所述第三數(shù)據(jù)量分別當(dāng)作所述第二數(shù)據(jù)量和所述第一數(shù)據(jù)量的同時計算新的第三數(shù)據(jù)量,以將所述第三數(shù)據(jù)量更新到所述新的第三數(shù)據(jù)量,并且繼續(xù)此更新,直到所述第三數(shù)據(jù)量達到零為止。
12.如權(quán)利要求11所述的信息處理方法,其中,所述第一數(shù)據(jù)量的初始值是從所述另一設(shè)備提供的。
全文摘要
一種信息處理設(shè)備和方法。信息處理設(shè)備包括設(shè)置裝置,將聯(lián)系另一設(shè)備設(shè)置的讀取時或?qū)懭霑r的最大傳送大小設(shè)置為最大傳送大??;計算裝置,從第一數(shù)據(jù)量中減去第二數(shù)據(jù)量以計算第三數(shù)據(jù)量,第一數(shù)據(jù)量是要傳送的數(shù)據(jù)的量,第二數(shù)據(jù)量是已傳送的數(shù)據(jù)的量;邊界判定裝置,用于在第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷傳送是否將會涉及延伸跨過頁邊界;傳送大小判定裝置,用于判斷第三數(shù)據(jù)量是否等于或小于所設(shè)置的最大傳送大小;緩沖器邊界判定裝置,用于在第三數(shù)據(jù)量的數(shù)據(jù)被傳送的情況下,判斷傳送是否將會涉及超過緩沖器大??;數(shù)據(jù)量裝置,用于基于由上述判定裝置中的兩個以上作出的判斷,確定在第三數(shù)據(jù)量的限度內(nèi)要傳送的數(shù)據(jù)的數(shù)據(jù)量。
文檔編號G06F13/28GK102945215SQ20121012936
公開日2013年2月27日 申請日期2008年4月21日 優(yōu)先權(quán)日2007年4月20日
發(fā)明者足立直大 申請人:索尼株式會社