專利名稱:總線協(xié)議轉(zhuǎn)換裝置和總線協(xié)議轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及針對虛擬存儲器總線主設(shè)備DMA系統(tǒng)的總線協(xié)議轉(zhuǎn)換裝置和總線協(xié) 議轉(zhuǎn)換方法。
背景技術(shù):
SCSI (小型計(jì)算機(jī)系統(tǒng)接口)、ATAPI (AT附加設(shè)備分組接口)、USB (通用串行總 線)、大容量存儲類、IEEE(電氣和電子工程師協(xié)會)1394串行總線協(xié)議2等都可用作存儲 總線標(biāo)準(zhǔn)。當(dāng)用于主機(jī)裝置的擴(kuò)展總線和用于存儲器裝置的連接總線彼此不同時,它們與 插入其間的總線協(xié)議轉(zhuǎn)換裝置相連接。使用具有FIFO(先進(jìn)先出)存儲器和DMA(直接存儲器訪問)控制器的總線協(xié)議 轉(zhuǎn)換裝置,以在連接到具有不同標(biāo)準(zhǔn)的總線的裝置之間執(zhí)行高速數(shù)據(jù)輸入/輸出。例如,在SCSI總線和ATA-2總線之間轉(zhuǎn)換期間,通過FIFO存儲器高速執(zhí)行數(shù)據(jù) 輸入/輸出(例如,參照日本未經(jīng)審查的專利申請公布No. 10-161972),并且在IEEE 1394 總線和SCSI總線之間執(zhí)行DMA(直接存儲器訪問),以改善數(shù)據(jù)傳送操作的性能(例如,參 照日本未經(jīng)審查的專利申請公布No. 2003-223411)。另外,已經(jīng)提出了在主總線(primary bus)和次總線(secondary bus)之間具有FIFO和DMA并且應(yīng)用高速突發(fā)傳送的DMA傳送 裝置,以獲得有效的數(shù)據(jù)傳送(例如,參照日本未經(jīng)審查的專利申請公布No. 2003-223411 和 No. 2007-172510)。通過在鄰近的地址空間中映射的地址上執(zhí)行DMA,使用FIFO和DMA的數(shù)據(jù)傳送實(shí) 現(xiàn)高速突發(fā)傳送。通過以下方式執(zhí)行數(shù)據(jù)訪問通過使用指令參數(shù)給數(shù)據(jù)的所有最小的訪問單元 (即,具有塊長度的單元)賦予具有序號的邏輯地址(即,LBA:邏輯塊地址),并指定方向 (讀或?qū)?、起始LBA和從LBA開始的塊數(shù)。包含總線主設(shè)備DMA系統(tǒng)的總線協(xié)議轉(zhuǎn)換裝置可用于在其中執(zhí)行數(shù)據(jù)傳送。在總 線主設(shè)備DMA系統(tǒng)中,主接口單元和次接口單元通過在用于傳送和中繼的共用存儲器上執(zhí) 行DMA訪問來傳送數(shù)據(jù)。
發(fā)明內(nèi)容
當(dāng)使用將FIFO映射到連續(xù)地址空間以及執(zhí)行DMA突發(fā)傳送的技術(shù)時,通過內(nèi)部緩 沖器在突發(fā)傳送期間執(zhí)行用于傳送源地址或傳送目的地址的另外的處理。因此,為了從傳 送源地址向傳送目的地址傳送數(shù)據(jù),執(zhí)行兩次DMA突發(fā),即,執(zhí)行從傳送源地址向內(nèi)部緩沖 器的DMA突發(fā)以及從內(nèi)部緩沖器向傳送目的地址的DMA突發(fā)。因此,為了減少DMA總線帶 寬的占用率,這種布置是不夠的。在根據(jù)FIFO中數(shù)據(jù)隊(duì)列的數(shù)量和可用突發(fā)長度設(shè)置值的表報告最大突發(fā)長度的 突發(fā)長度選擇電路中,一個指令的突發(fā)傳送指令循環(huán)出現(xiàn)次數(shù)超過主總線的指令數(shù)。因此, 它不足以減少DMA總線帶寬的占用率。
換句話說,當(dāng)來自主機(jī)裝置的數(shù)據(jù)傳送請求的數(shù)量超過共用存儲器的大小時,總 線協(xié)議轉(zhuǎn)換裝置執(zhí)行DMA的分割傳送,以傳送全部數(shù)據(jù)量。然而,使用此方法,因?yàn)榭?線協(xié) 議轉(zhuǎn)換裝置的DMA操作根據(jù)來自主機(jī)裝置的數(shù)據(jù)請求的數(shù)量而變化,所以很難獲得穩(wěn)定的 高速操作。因此,為了解決上述問題,已構(gòu)想出本發(fā)明,并且希望它可以消除執(zhí)行突發(fā)傳送的 總線協(xié)議轉(zhuǎn)換裝置中由于由外部存儲器控制裝置執(zhí)行管理LBA指令而導(dǎo)致的數(shù)據(jù)傳送性 能下降。從下面對本發(fā)明的實(shí)施例的描述中,本發(fā)明的目的和具體的優(yōu)點(diǎn)將會變得更明顯。根據(jù)本發(fā)明,執(zhí)行與共用存儲器的大小無關(guān)的總線主設(shè)備DMA控制,將接口中的 FIFO作為虛擬存儲器進(jìn)行分配,并且執(zhí)行總線主設(shè)備DMA傳送,其中直接使用來自主機(jī)裝 置的數(shù)據(jù)請求的數(shù)量。換句話說,以環(huán)形緩沖器方式使用被包括在主機(jī)裝置中的接口控制 器中的FIFO (具有例如數(shù)千字節(jié)數(shù)據(jù)容量),并且,將此環(huán)形緩沖器作為虛擬存儲器(例如, 數(shù)吉字節(jié))進(jìn)行分配。將來自主計(jì)算機(jī)的數(shù)據(jù)傳送大小的值直接發(fā)送到用于貯存的接口控 制器,在用于貯存的接口控制器和虛擬存儲器之間執(zhí)行一次總線主設(shè)備DMA操作,并且在 執(zhí)行總線主設(shè)備DMA操作的同時執(zhí)行總線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送。本發(fā)明的一個實(shí)施例提供總線協(xié)議轉(zhuǎn)換裝置。所述總線協(xié)議轉(zhuǎn)換裝置包括主總 線接口控制器,外部存儲器控制裝置通過主總線連接至所述主總線接口控制器,所述主總 線接口控制器包括作為通信緩沖器的FIFO存儲器;次總線接口控制器,外部存儲器裝置通 過次總線連接至所述次總線接口控制器;指令檢測部件,所述指令檢測部件用于檢測從連 接至主總線的外部存儲器控制裝置向主總線接口控制器發(fā)送的指令;指令轉(zhuǎn)換部件,所述 指令轉(zhuǎn)換部件用于將由所述指令檢測部件檢測到的指令轉(zhuǎn)換成將要通過所述次總線從次 總線接口控制器向外部存儲器裝置發(fā)送的指令;狀態(tài)檢測部件,所述狀態(tài)檢測部件用于檢 測從連接到次總線的外部存儲器裝置發(fā)送的狀態(tài);狀態(tài)轉(zhuǎn)換部件,所述狀態(tài)轉(zhuǎn)換部件用于 將所述狀態(tài)檢測部件檢測到的狀態(tài)轉(zhuǎn)換成將要通過主總線從主總線接口控制器向外部存 儲器控制裝置發(fā)送的狀態(tài);以及數(shù)據(jù)傳送控制器,所述數(shù)據(jù)傳送控制器被設(shè)置在所述主總 線接口控制器和所述次總線接口控制器之間,以通過DMA總線執(zhí)行連接到主總線的外部存 儲器控制裝置和連接到次總線的外部存儲器裝置之間的數(shù)據(jù)傳送。數(shù)據(jù)傳送控制器以環(huán)形 緩沖器方式使用FIFO存儲器,把該環(huán)形緩沖器作為虛擬存儲器進(jìn)行分配,直接將來自外部 存儲器控制裝置的數(shù)據(jù)傳送大小的值發(fā)送到次總線接口控制器,在次總線接口控制器和虛 擬存儲器之間執(zhí)行一次總線主設(shè)備DMA操作,并且在執(zhí)行總線主設(shè)備DMA操作的同時執(zhí)行 總線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送。主總線接口控制器可以包括主總線接收FIFO存儲器和主總線發(fā)送FIFO存儲器作 為通信緩沖器。次總線接口控制器可以包括外部存儲器大小獲取部件,所述外部存儲器大 小獲取部件用于獲取通過次總線連接的外部存儲器裝置的容量,并將獲取的容量作為外部 存儲器大小保存。數(shù)據(jù)傳送控制器可以包括總線從屬設(shè)備(bus slave)接口單元以及總線 主設(shè)備(bus master)接口單元,所述總線從屬設(shè)備接口單元將主總線接收FIFO存儲器和 主總線發(fā)送FIFO存儲器與CPU(中央處理單元)地址空間相獨(dú)立地映射到相同的連續(xù)地址 空間,所述總線從屬設(shè)備接口單元具有將存儲在所述外部存儲器大小獲取部件中的外部存儲器大小作為上限地址的DMA地址空間,并且所述總線從屬設(shè)備接口單元通過主總線接口 控制器將外部存儲器大小發(fā)送到外部存儲器控制裝置;所述總線主設(shè)備接口單元從被包括 在次總線接口控制器中的次總線指令產(chǎn)生部件獲取傳送地址和傳送大小,并且所述總線主 設(shè)備接口單元執(zhí)行次總線和DMA總線之間的突發(fā)傳送。主總線接口控制器可以包括主總線接收FIFO存儲器和主總線發(fā)送FIFO存儲器。 次總線接口控制器可以包括作為通信緩沖器的次總線接收FIFO存儲器和次總線發(fā)送FIFO 存儲器。數(shù)據(jù)傳送控制器可以包括總線從屬設(shè)備接口單元和總線主設(shè)備接口單元,所述總 線從屬設(shè)備接口單元執(zhí)行主總線和DMA總線之間的數(shù)據(jù)傳送,所述總線主設(shè)備接口單元執(zhí) 行次總線和DMA總線之間的突發(fā)傳送。優(yōu)選地,總線從屬設(shè)備接口單元從主總線接收FIFO 存儲器檢測“數(shù)據(jù)存在”狀態(tài)并向總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送允許請求,從主總 線接收FIFO存儲器檢測“數(shù)據(jù)不存在”狀態(tài)并向總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送停止 請求,從主總線發(fā)送FIFO存儲器檢測“數(shù)據(jù)滿”狀態(tài)并向總線主設(shè)備接口單元發(fā)布寫突發(fā) 傳送停止請求,并且從主總線發(fā)送FIFO存儲器檢測除“數(shù)據(jù)滿”狀態(tài)之外的狀態(tài)并向總線 主設(shè)備接口單元發(fā)布寫突發(fā)傳送允許請求。優(yōu)選地,總線主設(shè)備接口單元檢測次總線接收 FIFO存儲器的“數(shù)據(jù)存在”狀態(tài)和總線從屬設(shè)備接口單元的寫突發(fā)允許請求,并執(zhí)行寫突發(fā) 傳送;檢測次總線接收FIFO存儲器的“數(shù)據(jù)不存在”狀態(tài)或總線從屬設(shè)備接口單元的寫突 發(fā)停止請求,并停止寫突發(fā)傳送;檢測次總線發(fā)送FIFO存儲器的“數(shù)據(jù)滿”狀態(tài)或總線從屬 設(shè)備接口單元的讀突發(fā)停止請求,并停止讀突發(fā)傳送;并且檢測次總線發(fā)送FIFO存儲器的 除“數(shù)據(jù)滿”狀態(tài)外的狀態(tài)和總線從屬設(shè)備接口單元的讀突發(fā)傳送允許請求,并執(zhí)行讀突發(fā) 傳送。本發(fā)明的另一實(shí)施例提供總線協(xié)議轉(zhuǎn)換方法。所述方法包括以下步驟使指令檢 測部件檢測從連接到主總線的外部存儲器控制裝置發(fā)送到主總線接口控制器的指令,并使 指令轉(zhuǎn)換部件將已檢測到的指令轉(zhuǎn)換成將要通過次總線從次總線接口控制器向外部存儲 器裝置發(fā)送的指令;使?fàn)顟B(tài)檢測部件檢測從連接到次總線的外部存儲器裝置發(fā)送的狀態(tài), 并使?fàn)顟B(tài)轉(zhuǎn)換部件將已檢測到的狀態(tài)轉(zhuǎn)換成將要通過主總線從主總線接口控制器向外部 存儲器控制裝置發(fā)送的狀態(tài);當(dāng)設(shè)置在主總線接口控制器和次總線接口控制器之間的數(shù)據(jù) 傳送控制器通過DMA總線在連接到主總線的外部存儲器控制裝置和連接到次總線的外部 存儲器裝置之間執(zhí)行數(shù)據(jù)傳送時,以環(huán)形緩沖器方式使用被包括在主總線接口控制器中作 為通信緩沖器的FIFO存儲器;將所述環(huán)形緩沖器作為虛擬存儲器進(jìn)行分配;將來自所述外 部存儲器控制裝置的數(shù)據(jù)傳送的大小的值直接發(fā)送到次總線接口控制器;在次總線接口控 制器和虛擬存儲器之間執(zhí)行一次總線主設(shè)備DMA操作,并且在執(zhí)行總線主設(shè)備DMA操作的 同時執(zhí)行總線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送。 總線協(xié)議轉(zhuǎn)換方法還可以包括以下步驟使數(shù)據(jù)傳送控制器中包括的總線從屬設(shè) 備接口單元將被包括在主總線接口控制器中作為通信緩沖器的主總線接收FIFO存儲器和 主總線發(fā)送FIFO存儲器與中央處理單元地址空間相獨(dú)立地映射到相同的連續(xù)地址空間, 所述總線從屬設(shè)備接口單元具有將被存儲在外部存儲器大小獲取部件中的外部存儲器大 小作為地址上限的DMA地址空間,并使總線從屬設(shè)備接口單元通過主總線接口控制器向外 部存儲器控制裝置傳送外部存儲器大??;并且使被包括在數(shù)據(jù)傳送控制器中的總線主設(shè)備 接口單元從被包括在次總線接口控制器中的次總線指令產(chǎn)生部件獲取傳送地址和傳送大小,并執(zhí)行次總線和DMA總線之間的突發(fā)傳送。總線協(xié)議轉(zhuǎn)換裝置還可以包括以下步驟使被包括在數(shù)據(jù)傳送控制器中的總線從屬設(shè)備接口單元執(zhí)行主總線和DMA總線之間的數(shù)據(jù)傳送,并使被包括在數(shù)據(jù)傳送控制器中 的總線主設(shè)備接口單元執(zhí)行次總線和DMA總線之間的突發(fā)傳送;使總線從屬設(shè)備接口單元 從被包括在主總線接口控制器中作為通信緩沖器的主總線接收FIFO存儲器中檢測“數(shù)據(jù) 存在”狀態(tài)并向總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送允許請求,從主總線接收FIFO存儲器 檢測“數(shù)據(jù)不存在”狀態(tài)并向總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送停止請求,從被包括在主 總線接口控制器中的通信緩沖器中的主總線發(fā)送FIFO存儲器檢測“數(shù)據(jù)滿”狀態(tài)并向總 線主設(shè)備接口單元發(fā)布寫突發(fā)傳送停止請求,并且從主總線發(fā)送FIFO存儲器檢測除“數(shù)據(jù) 滿”狀態(tài)之外的狀態(tài)并向總線主設(shè)備接口單元發(fā)布寫突發(fā)傳送允許請求;并且使總線主設(shè) 備接口單元檢測被包括在次總線接口控制器中作為通信緩沖器的次總線接收FIFO存儲器 的“數(shù)據(jù)存在”狀態(tài)和總線從屬設(shè)備接口單元的寫突發(fā)允許請求并執(zhí)行寫突發(fā)傳送,檢測次 總線接收FIFO存儲器的“數(shù)據(jù)不存在”狀態(tài)或總線從屬設(shè)備接口單元的寫突發(fā)停止請求 并停止寫突發(fā)傳送,檢測被包括在次總線接口控制器中作為通信緩沖器的次總線發(fā)送FIFO 存儲器的“數(shù)據(jù)滿”狀態(tài)或總線從屬設(shè)備接口單元的讀突發(fā)停止請求并停止讀突發(fā)傳送,以 及檢測次總線發(fā)送FIFO存儲器的除“數(shù)據(jù)滿”狀態(tài)之外的狀態(tài)和總線從屬設(shè)備接口單元的 讀突發(fā)傳送允許請求并執(zhí)行讀突發(fā)傳送。根據(jù)本發(fā)明,執(zhí)行獨(dú)立于共用存儲器大小的總線主設(shè)備DMA控制,將接口中的 FIFO作為虛擬存儲器進(jìn)行分配,并且執(zhí)行其中直接使用來自主機(jī)裝置的數(shù)據(jù)請求的數(shù)量的 總線主設(shè)備DMA傳送,因而消除DMA傳送大小的限制。這使得通過一次DMA訪問能獲得穩(wěn)定 的高速傳送。因此,能去除共用存儲器以簡化總線主設(shè)備控制,由此能夠?qū)崿F(xiàn)節(jié)能。此外, 在不用大緩沖存儲器的情況下,能獲得高速總線協(xié)議轉(zhuǎn)換裝置。因此,根據(jù)本發(fā)明,對于執(zhí)行從主總線接收的指令的DMA總線和次總線之間的DMA 傳送期間的突發(fā)傳送,能夠不分割而改善總線協(xié)議轉(zhuǎn)換裝置的性能。
圖1是示出根據(jù)本發(fā)明實(shí)施例的總線協(xié)議轉(zhuǎn)換裝置構(gòu)造的框圖;圖2示出總線協(xié)議轉(zhuǎn)換裝置的存儲器映射;圖3是示意性示出總線協(xié)議轉(zhuǎn)換裝置中用于轉(zhuǎn)換為虛擬存儲器的方案的示意圖;圖4是總線協(xié)議轉(zhuǎn)換裝置中虛擬存儲器的概念性示意圖;圖5是示出由總線協(xié)議轉(zhuǎn)換裝置執(zhí)行的初始化序列的流程圖;圖6是示出由總線協(xié)議轉(zhuǎn)換裝置執(zhí)行的數(shù)據(jù)序列的流程圖;圖7A至圖7C示出SCSI/ATAPI指令;圖8是示意性示出主總線的數(shù)據(jù)讀處理的一個實(shí)例的示意圖,通過總線協(xié)議轉(zhuǎn)換 裝置執(zhí)行所述處理;圖9是示意性示出主總線的數(shù)據(jù)寫處理的一個實(shí)例的示意圖,通過總線協(xié)議轉(zhuǎn)換 裝置執(zhí)行所述處理;以及圖10是示意性示出總線協(xié)議轉(zhuǎn)換裝置的功能構(gòu)造的示意圖。
具體實(shí)施例方式下面,將按照以下順序參照附圖詳細(xì)地描述實(shí)施本發(fā)明的方式1.整體構(gòu)造(圖1至圖4);2.總線協(xié)議轉(zhuǎn)換裝置的具體操作(圖5至圖9);以及3.總線協(xié)議轉(zhuǎn)換裝置的功能(圖10)。 <整體構(gòu)造>將本發(fā)明應(yīng)用于例如具有如圖1所示的構(gòu)造的總線協(xié)議轉(zhuǎn)換裝置100??偩€協(xié)議轉(zhuǎn)換裝置100包括主總線接口控制器110、數(shù)據(jù)傳送控制器120、次總線 接口控制器130、用作總線主設(shè)備控制器的CPU(中央處理單元)140、存儲器150等。主總 線接口控制器110、次總線接口控制器130、CPU 140和存儲器150通過CPU總線160彼此連接。外部存儲器控制裝置10通過主總線20連接到主總線接口控制器110。外部存儲器控制裝置10用作主機(jī)裝置(例如個人計(jì)算機(jī)(PC)),其能使用作為主 總線20的主機(jī)總線(例如USB(通用串行總線))從外部進(jìn)行連接。 主總線接口控制器110包括主總線接收接口單元111、主總線發(fā)送接口單元112和 主總線控制寄存器單元113。主總線接收接口單元111包括作為通信緩沖器的主總線接收 FIFO(先進(jìn)先出)存儲器111A。主總線發(fā)送接口單元112包括作為通信緩沖器的主總線發(fā) 送FIFO存儲器112A。主總線控制寄存器單元113包括主總線指令分析器113A和主總線狀 態(tài)產(chǎn)生器113B。外部存儲器裝置40通過次總線30 (例如,SATA[串行高級技術(shù)附接]總線)連接 到次總線接口控制器130。次總線接口控制器130包括次總線接收接口單元131、次總線發(fā)送接口單元132和 次總線控制寄存器單元133。次總線接收接口單元131包括作為通信緩沖器的次總線接收 FIFO存儲器131A。次總線發(fā)送接口單元132包括作為通信緩沖器的次總線發(fā)送FIFO存 儲器132A。次總線控制寄存器單元133包括次總線狀態(tài)分析器133A和次總線指令產(chǎn)生器 133B。外部存儲器裝置40是配有總線主設(shè)備DMA(直接存儲訪問)功能的存儲器裝置 (例如硬盤或存儲卡),并且包括指令執(zhí)行單元41、DMA單元42、存儲器單元43等。數(shù)據(jù)傳送控制器120被設(shè)置在主總線接口控制器110和次總線接口控制器130之 間。數(shù)據(jù)傳送控制器120包括總線從屬設(shè)備接口單元121、DMA總線122、總線主設(shè)備接口 單元123和外部存儲器大小獲取單元124。數(shù)據(jù)傳送控制器120通過DMA總線122執(zhí)行連接到主總線20的外部存儲器控制 裝置10和連接到次總線30的外部存儲器裝置40之間的數(shù)據(jù)傳送。更具體地講,數(shù)據(jù)傳送控制器120中的總線從屬設(shè)備接口單元121執(zhí)行主總線20 和DMA總線122之間的數(shù)據(jù)傳送。總線主設(shè)備接口單元123執(zhí)行次總線30和DMA總線122 之間的突發(fā)傳送。外部存儲器大小獲取單元124包括外部存儲器大小存儲寄存器單元124A。外部存 儲器大小獲取單元124獲取連接到次總線30的外部存儲器裝置40的容量,并將已獲取的 容量作為外部存儲器的大小存儲到外部存儲器大小存儲寄存器單元124A中。
如圖2中示出的存儲器映射所示,根據(jù)總線協(xié)議轉(zhuǎn)換裝置100,總線從屬設(shè)備接口 單元121執(zhí)行以下操作將主總線接收FIFO存儲器IllA和主總線發(fā)送FIFO存儲器112A 與CPU 140的地址空間相獨(dú)立地映射到相同的連續(xù)地址空間;具有將外部存儲器大小獲取 單元124中的外部存儲器大小存儲寄存器單元124A中存儲的外部存儲器大小作為上限地 址的DMA地址空間;并且通過主總線接口控制器110將外部存儲器大小發(fā)送到外部存儲器 控制裝置10??偩€主設(shè)備接口單元123具有DMAC (直接存儲器訪問控制器)123A的功能??偩€ 主設(shè)備接口單元123從被包括在次總線接口控制器130中的次總線指令產(chǎn)生器133B獲取 傳送地址和傳送大小,并且執(zhí)行次總線30和DMA總線122之間的突發(fā)傳送。在總線協(xié)議轉(zhuǎn)換裝置100中,總線從屬設(shè)備接口單元121從主總線接收FIFO存儲 器11IA檢測“數(shù)據(jù)存在”狀態(tài)并向總線主設(shè)備接口單元123發(fā)布讀突發(fā)傳送允許請求。總 線從屬設(shè)備接口單元121從主總線接收FIFO存儲器IllA檢測“數(shù)據(jù)不存在”狀態(tài)并向總 線主設(shè)備接口單元123發(fā)布讀突發(fā)傳送停止請求。總線從屬設(shè)備接口單元121從主總線發(fā) 送FIFO存儲器112A中檢測“數(shù)據(jù)滿”狀態(tài)并向總線主設(shè)備接口單元123發(fā)布寫突發(fā)傳送停 止請求??偩€從屬設(shè)備接口單元121從主總線發(fā)送FIFO存儲器112A檢測除“數(shù)據(jù)滿”狀 態(tài)之外的狀態(tài)并向總線主設(shè)備接口單元123發(fā)布寫突發(fā)傳送允許請求。總線主設(shè)備接口單元123 檢測次總線接收FIFO存儲器131A的“數(shù)據(jù)不存在”狀 態(tài)和總線從屬設(shè)備接口單元121的寫突發(fā)允許請求并執(zhí)行寫突發(fā)傳送;檢測次總線接收 FIFO存儲器131A的“數(shù)據(jù)不存在”狀態(tài)或總線從屬設(shè)備接口單元121的寫突發(fā)停止請求并 停止寫突發(fā)傳送;檢測次總線發(fā)送FIFO存儲器132A的“數(shù)據(jù)滿”狀態(tài)或總線從屬設(shè)備接口 單元121的讀突發(fā)停止請求并停止讀突發(fā)傳送;并且還檢測次總線發(fā)送FIFO存儲器132A 的除“數(shù)據(jù)滿”狀態(tài)之外的狀態(tài)和總線從屬設(shè)備接口單元121的讀突發(fā)傳送允許請求并執(zhí) 行讀突發(fā)傳送。如圖3和圖4所示,數(shù)據(jù)傳送控制器120以環(huán)形緩沖器方式使用被包括在主總線 接口控制器Iio中作為通信緩沖器的主總線接收FIFO存儲器IllA ;將該環(huán)形緩沖器作為 虛擬存儲器進(jìn)行分配;將來自外部存儲器控制裝置10的數(shù)據(jù)傳送大小的值直接發(fā)送到次 總線接口控制器130 ;在次總線接口控制器130和虛擬存儲器之間執(zhí)行一次總線主設(shè)備DMA 操作,并且在執(zhí)行總線主設(shè)備DMA操作的同時執(zhí)行總線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送??偩€從屬設(shè)備 接口單元121用作以環(huán)形緩沖器方式使用被包括在主總線接口控制器110中作為通信緩沖 器的主總線接收FIFO存儲器IllA的虛擬地址轉(zhuǎn)換部件121A,并且將該環(huán)形緩沖器作為虛 擬存儲器進(jìn)行分配。<總線協(xié)議轉(zhuǎn)換裝置的具體操作>下一步描述總線協(xié)議轉(zhuǎn)換裝置100的操作。執(zhí)行圖5示出的初始化序列的處理 (步驟Sl和S2)后,總線協(xié)議轉(zhuǎn)換裝置100執(zhí)行圖6所示的數(shù)據(jù)序列的處理(步驟Sll至 S17)。 在初始化序列中,在步驟Sl中,總線協(xié)議轉(zhuǎn)換裝置100中的次總線接口控制器130 發(fā)布INQUIRY指令,以獲取外部存儲器裝置40的裝置信息,檢查外部存儲器裝置40的裝置 信息。在步驟S2中,當(dāng)將要被操作的外部存儲器裝置40連接至總線協(xié)議轉(zhuǎn)換裝置100時, 總線協(xié)議轉(zhuǎn)換裝置100向外部存儲器裝置40發(fā)布用于存儲的READCAPACITY指令,以獲取外部存儲器信息(最大LBA和塊長度)并在被包括在數(shù)據(jù)傳送控制器120中的外部存儲器 大小獲取單元124中的外部存儲器大小存儲寄存器單元124A中保持外部存儲器信息的內(nèi)
容。 如圖7A所示,SCSI/ATAPI指令的READ CAPACITY指令的響應(yīng)數(shù)據(jù)包含作為外部 存儲器信息的最大邏輯塊地址(最后的邏輯塊地址)和塊長度(塊長度字節(jié))??梢酝ㄟ^ 以下公式確定外部存儲器裝置40的存儲器容量存儲器容量=塊長度X (最大邏輯塊地址+1)當(dāng)外部存儲器控制裝置10執(zhí)行用于檢查外部存儲器裝置40的容量的指令時,數(shù) 據(jù)傳送控制器120向外部存儲器控制裝置10發(fā)送保持在外部存儲器大小存儲寄存器單元 124A中的外部存儲器信息的內(nèi)容。在數(shù)據(jù)序列處理過程中,在步驟Sll中,在總線協(xié)議轉(zhuǎn)換裝置100中的次總線接口 控制器130通過發(fā)布TEST UNIT READY指令和REQUEST SENSE指令獲取表示外部存儲器裝 置40的連接狀態(tài)的信息。接著,在步驟S12中,根據(jù)已獲取的表示連接狀態(tài)的信息,次總線接口控制器130 確定是否通過次總線30連接外部存儲器裝置40。當(dāng)步驟S12中確定的結(jié)果為“是”時,即,當(dāng)連接外部存儲器裝置40時,處理過程 繼續(xù)執(zhí)行步驟S13,其中,次總線接口控制器130確定是否接收到用于數(shù)據(jù)傳送的指令。當(dāng) 步驟S12中確定的結(jié)果為“否”時,即,當(dāng)未連接外部存儲器裝置40時,數(shù)據(jù)序列的處理結(jié)
束ο當(dāng)步驟S13中確定的結(jié)果為“是”時,即,當(dāng)接收到用于數(shù)據(jù)傳送的指令時,處理過 程繼續(xù)執(zhí)行步驟S14,其中,次總線接口控制器130確定是否接收到讀相關(guān)指令。當(dāng)步驟S13 中的確定結(jié)果為“否”時,即,當(dāng)不執(zhí)行數(shù)據(jù)發(fā)送時,處理過程繼續(xù)執(zhí)行步驟S15,其中,次總 線接口控制器130執(zhí)行處理除向外部存儲器裝置40寫數(shù)據(jù)或從外部存儲器裝置40讀數(shù)據(jù) 之外的指令。當(dāng)步驟S14的確定結(jié)果為“是”時,即,當(dāng)接收到讀相關(guān)指令時,處理過程繼續(xù)執(zhí)行 步驟S16,其中,次總線接口控制器130從外部存儲器裝置40中讀數(shù)據(jù)。當(dāng)步驟S14中確定 的結(jié)果為“否”時,即,當(dāng)未接收到讀相關(guān)指令時,處理過程繼續(xù)執(zhí)行步驟S17,其中,次總線 接口控制器130向外部存儲器裝置40寫數(shù)據(jù)。如圖8所示,總線協(xié)議轉(zhuǎn)換裝置100通過使用SCSI/ATAPI指令的讀指令READ (10) 執(zhí)行從外部存儲器裝置40讀數(shù)據(jù)的操作。換句話說,通常在已識別的外部存儲器裝置的容量內(nèi)執(zhí)行由外部存儲器控制裝置 10發(fā)布的讀指令READ (10)的LBA和傳送的塊數(shù)。SCSI/ATAPI指令的讀指令READ(10)是用于從指定的邏輯塊地址傳送對應(yīng)于指定 塊數(shù)的數(shù)據(jù)的指令。如圖7B所示,讀指令READ(IO)包含操作碼(28H)、邏輯塊地址和傳送長度。即使當(dāng)從外部存儲器控制裝置10發(fā)布的指令超過外部存儲器裝置40的容量時, 總線協(xié)議轉(zhuǎn)換裝置100也可以向外部存儲器控制裝置10產(chǎn)生錯誤響應(yīng),因?yàn)榭偩€協(xié)議轉(zhuǎn)換 裝置100識別外部存儲器裝置40的最大容量。當(dāng)從外部存儲器控制裝置10接收的指令在外部存儲器裝置40的容量范圍內(nèi)時,被包括在次總線接口控制器130中的次總線控制寄存器單元133中的次總線指令產(chǎn)生器 133B轉(zhuǎn)換用于外部存儲器裝置40的指令,并向其發(fā)布已轉(zhuǎn)換的指令。 同時,次總線指令產(chǎn)生器133B向總線主設(shè)備接口單元123報告指令的LBA和塊長
度{曰息??偩€主設(shè)備接口單元123在檢查開始/繼續(xù)和臨時停止讀突發(fā)傳送條件的同時, 與總線從屬設(shè)備接口單元121 —起執(zhí)行對應(yīng)于該指令的DMA讀突發(fā)傳送。當(dāng)從被包括在主總線接口控制器110中的主總線接收接口單元111中的主總線接 收FIFO存儲器IllA中檢測到“非空”狀態(tài),并且被包括在次總線接口控制器130中的次總 線發(fā)送接口單元132中的次總線發(fā)送FIFO存儲器132A為“非滿”狀態(tài)時,總線主設(shè)備接口 單元123開始或繼續(xù)讀突發(fā)傳送。當(dāng)從被包括在主總線接口控制器110中的主總線接收接口單元111中的主總線接 收FIFO存儲器IllA中檢測到“幾乎為空”的狀態(tài),或者被包括在次總線接口控制器130中 的次總線發(fā)送接口單元132中的次總線發(fā)送FIFO存儲器132A為“幾乎為滿”狀態(tài)時,總線 主設(shè)備接口單元123臨時停止讀突發(fā)傳送。當(dāng)完成DMA讀突發(fā)傳送時,被包括在次總線接口控制器130中的次總線控制寄存 器單元133中的次總線狀態(tài)分析器133A識別外部存儲器裝置40的指令完成狀態(tài)。另外,根據(jù)由次總線接口控制器130中的次總線狀態(tài)分析器133A執(zhí)行的分析結(jié) 果,被包括在主總線接口控制器110中的主總線控制寄存器單元113中的主總線狀態(tài)產(chǎn)生 器113B向外部存儲器控制裝置10通告關(guān)于表示指令完成狀態(tài)的狀態(tài)信息。如圖9所示,總線協(xié)議轉(zhuǎn)換裝置100通過使用SCSI/ATAPI指令的寫指令 WRITE(IO)執(zhí)行用于向外部存儲器裝置40寫數(shù)據(jù)的操作。換句話說,通常在已識別的外部存儲器裝置40的容量范圍內(nèi)執(zhí)行由外部存儲器 控制裝置10發(fā)布的寫指令WRITE (10)的LBA和傳送的塊數(shù)。SCSI/ATAPI指令的寫指令WRITE (10)是用于向指定的邏輯塊地址傳送對應(yīng)于指 定塊數(shù)的數(shù)據(jù)的指令。如圖7C所示,寫指令WRITE(IO)包含操作碼(2AH)、邏輯塊地址和傳 送長度。即使當(dāng)從外部存儲器控制裝置10發(fā)布的指令超過外部存儲器裝置40的容量時, 總線協(xié)議轉(zhuǎn)換裝置100可以向外部存儲器控制裝置10產(chǎn)生錯誤響應(yīng),因?yàn)榭偩€協(xié)議轉(zhuǎn)換裝 置100識別外部存儲器裝置40的最大容量。當(dāng)從外部存儲器控制裝置10接收的指令在外部存儲器裝置容量范圍內(nèi)時,次總 線接口控制器130中的次總線指令產(chǎn)生器133B轉(zhuǎn)換用于外部存儲器裝置40的指令,并向 其發(fā)布已轉(zhuǎn)換的指令。同時,次總線指令產(chǎn)生器133B向總線主設(shè)備接口單元123報告指令的LBA和塊長
度{曰息。總線主設(shè)備接口單元123在檢查開始/繼續(xù)和臨時停止寫突發(fā)傳送條件的同時, 與總線從屬設(shè)備接口單元121 —起執(zhí)行對應(yīng)于該指令的DMA寫突發(fā)傳送。當(dāng)從被包括在主總線接口控制器110中的主總線發(fā)送接口單元112中的主總線發(fā) 送FIFO存儲器112A檢測到“非滿”狀態(tài),并且被包括在次總線接口控制器130中的次總線 接收接口單元131中的次總線接收FIFO存儲器131A為“非空”狀態(tài)時,總線主設(shè)備接口單元123開始或繼續(xù)寫突發(fā)傳送。當(dāng)從主總線接口控制器110中的主總線發(fā)送FIFO存儲器112A中檢測到“幾乎為 滿”狀態(tài)時,或者當(dāng)在次總線接口控制器130中的次總線接收FIFO存儲器131A為“幾乎為 空”狀態(tài)時,總線主設(shè)備接口單元123臨時停止寫突發(fā)傳送。當(dāng)完成DMA寫突發(fā)傳送時,被包括在次總線接口控制器130中的次總線控制寄存 器單元133中的次總線狀態(tài)分析器133A識別外部存儲器裝置40的指令完成狀態(tài)。另外,根據(jù)由次總線接口控制器133中的次總線狀態(tài)分析器133A執(zhí)行的分析結(jié) 果,被包括在主總線接口控制器110中的主總線控制寄存器單元113中的主總線狀態(tài)產(chǎn)生 器113B向外部存儲器控制裝置10通告關(guān)于表示指令完成狀態(tài)的狀態(tài)信息。<總線協(xié)議轉(zhuǎn)換裝置的功能>根據(jù)總線協(xié)議轉(zhuǎn)換裝置100,如示出其功能性構(gòu)造的圖10中所示,被包括在主總 線接口控制器Iio中的主總線控制寄存器單元113中的主總線指令分析器113A用作用于 檢測從連接到主總線20的外部存儲器控制裝置10向主總線接口控制器110發(fā)送的指令的 指令檢測部件。被包括在次總線接口控制器130中的次總線控制寄存器單元133中的次總 線指令產(chǎn)生器133B用作用于將由主總線指令分析器113A檢測的指令轉(zhuǎn)換為將要通過次總 線30從次總線接口控制器130向外部存儲器裝置40發(fā)送的指令的指令轉(zhuǎn)換部件。被包括在次總線接口控制器130中的次總線控制寄存器單元133中的次總線狀態(tài) 分析器133A用作用于檢測從連接到次總線30的外部存儲器裝置40發(fā)送的狀態(tài)的狀態(tài)檢 測部件。被包括在主總線接口控制器110的主總線控制寄存器單元113中的主總線狀態(tài)產(chǎn) 生器113B用作用于將由次總線狀態(tài)分析器133A檢測到的狀態(tài)轉(zhuǎn)換成將要通過主總線20 從主總線接口控制器110向外部存儲器控制裝置10發(fā)送的狀態(tài)的狀態(tài)轉(zhuǎn)換部件。當(dāng)設(shè)置在主總線接口控制器110和次總線接口控制器130之間的數(shù)據(jù)傳送控制器 120通過DMA總線122執(zhí)行連接到主總線20的外部存儲器控制裝置10和連接到次總線30 的外部存儲器裝置40之間的數(shù)據(jù)傳送時,數(shù)據(jù)傳送控制器120以環(huán)形緩沖器方式使用被包 括在主總線接口控制器110中作為通信緩沖器的FIFO存儲器;將該環(huán)形緩沖器作為虛擬存 儲器進(jìn)行分配;將來自外部存儲器控制裝置10的數(shù)據(jù)傳送大小的值直接發(fā)送到次總線接 口控制器130 ;在次總線接口控制器130和虛擬存儲器之間執(zhí)行一次總線主設(shè)備DMA操作; 并且在執(zhí)行總線主設(shè)備DMA操作的同時執(zhí)行總線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送。數(shù)據(jù)傳送控制器120 將主總線接收FIFO存儲器IllA和主總線發(fā)送FIFO存儲器 112A與CPU 140的地址空間相獨(dú)立地映射到相同的連續(xù)地址空間;具有將外部存儲器大小 作為上限地址的DMA地址空間,所述外部存儲器大小被存放在用作外部存儲器大小獲取部 件的外部存儲器大小獲取單元124中的外部存儲器大小存儲寄存器單元124A中;并且通過 主總線接口控制器110向外部存儲器控制裝置10發(fā)送外部存儲器大小??偩€主設(shè)備接口 單元123從被包括在次總線接口控制器130中的次總線指令產(chǎn)生器133B獲取傳送地址和 傳送大小,并且在次總線30和DMA總線122之間執(zhí)行突發(fā)傳送。 數(shù)據(jù)傳送控制器120使用總線從屬設(shè)備接口單元121執(zhí)行主總線20和DMA總線 122之間的數(shù)據(jù)傳送,并使用總線主設(shè)備接口單元123執(zhí)行次總線30和DMA總線122之間 的突發(fā)傳送??偩€從屬設(shè)備接口單元121從被包括在主總線接口控制器110中的作為通信緩沖器的主總線接收FIFO存儲器IllA檢測“數(shù)據(jù)存在”狀態(tài),并向總線主設(shè)備接口單元 123發(fā)布讀突發(fā)傳送允許請求??偩€從屬設(shè)備接口單元121從主總線接收FIFO存儲器IllA 檢測“數(shù)據(jù)不存在”狀態(tài),并向總線主設(shè)備接口單元123發(fā)布讀突發(fā)傳送停止請求??偩€從 屬設(shè)備接口單元121從被包括在主總線接口控制器110中作為通信緩沖器的主總線發(fā)送 FIFO存儲器112A檢測“數(shù)據(jù)滿”狀態(tài),并向總線主設(shè)備接口單元123發(fā)布寫突發(fā)傳送停止 請求。另外,總線從屬設(shè)備接口單元121從主總線發(fā)送FIFO存儲器112A檢測除“數(shù)據(jù)滿” 狀態(tài)之外的狀態(tài)并向總線主設(shè)備接口單元123發(fā)布寫突發(fā)傳送允許請求??偩€主設(shè)備接口 單元123檢測被包括在次總線接口控制器130中作為通信緩沖器的次總線接收FIFO存儲 器131A的“數(shù)據(jù)存在”狀態(tài)和總線從屬設(shè)備接口單元121的寫突發(fā)允許請求,并執(zhí)行寫突 發(fā)傳送??偩€主設(shè)備接口單元123檢測次總線接收FIFO存儲器131A的“數(shù)據(jù)不存在”狀 態(tài)或總線從屬設(shè)備接口單元121的寫突發(fā)停止請求,并停止寫突發(fā)傳送??偩€主設(shè)備接口 單元123檢測被包括在次總線接口控制器130中作為通信緩沖器的次總線發(fā)送FIFO存儲 器132A的“數(shù)據(jù)滿”狀態(tài)或總線從屬設(shè)備接口單元121的讀突發(fā)停止請求,并停止讀突發(fā) 傳送??偩€主設(shè)備接口單元123檢測次總線發(fā)送FIFO存儲器132A的除“數(shù)據(jù)滿”狀態(tài)之 外的狀態(tài)和總線從屬設(shè)備接口單元121的讀突發(fā)傳送允許請求,并執(zhí)行讀突發(fā)傳送。本申請包含的主題涉及2009年9月28日在日 本專利局提交的日本優(yōu)先專利申請 JP 2009-222843中公開的內(nèi)容,其全部內(nèi)容通過引用包含于此。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可以根據(jù)設(shè)計(jì)需求和其它因素出現(xiàn)各種修改、組合、 子組合及替換,它們都在所附權(quán)利要求書及其等同物范圍內(nèi)。
權(quán)利要求
1.一種總線協(xié)議轉(zhuǎn)換裝置,包括主總線接口控制器,所述主總線接口控制器通過主總線與外部存儲器控制裝置連接, 所述主總線接口控制器包括作為通信緩沖器的先進(jìn)先出存儲器;次總線接口控制器,所述次總線接口控制器通過次總線與外部存儲器裝置連接; 指令檢測部件,所述指令檢測部件用于檢測從連接到所述主總線的所述外部存儲器控 制裝置發(fā)送到所述主總線接口控制器的指令;指令轉(zhuǎn)換部件,所述指令轉(zhuǎn)換部件用于將由所述指令檢測部件檢測到的指令轉(zhuǎn)換成將 要通過所述次總線從所述次總線接口控制器向所述外部存儲器裝置發(fā)送的指令;狀態(tài)檢測部件,所述狀態(tài)檢測部件用于檢測從連接到所述次總線的所述外部存儲器裝 置發(fā)送的狀態(tài);狀態(tài)轉(zhuǎn)換部件,所述狀態(tài)轉(zhuǎn)換部件用于將由所述狀態(tài)檢測部件檢測到的狀態(tài)轉(zhuǎn)換成將 要通過所述主總線從所述主總線接口控制器向所述外部存儲器控制裝置發(fā)送的狀態(tài);以及 數(shù)據(jù)傳送控制器,所述數(shù)據(jù)傳送控制器被設(shè)置在所述主總線接口控制器和所述次總線 接口控制器之間,以通過直接存儲器訪問總線執(zhí)行連接到所述主總線的外部存儲器控制裝 置和連接到所述次總線的外部存儲器裝置之間的數(shù)據(jù)傳送;其中,所述數(shù)據(jù)傳送控制器以環(huán)形緩沖器方式使用先進(jìn)先出存儲器,將所述環(huán)形緩沖 器作為虛擬存儲器分配,將來自所述外部存儲器控制裝置的數(shù)據(jù)傳送大小的值直接發(fā)送到 所述次總線接口控制器,在所述次總線接口控制器和所述虛擬存儲器之間執(zhí)行一次總線主 設(shè)備直接存儲器訪問操作,并且在執(zhí)行該總線主設(shè)備直接存儲器訪問操作的同時執(zhí)行總線 協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送。
2.根據(jù)權(quán)利要求1所述的總線協(xié)議轉(zhuǎn)換裝置,其中所述主總線接口控制器包括主總線 接收先進(jìn)先出存儲器和主總線發(fā)送先進(jìn)先出存儲器作為通信緩沖器;所述次總線接口控制器包括外部存儲器大小獲取部件,所述外部存儲器大小獲取部件 用于獲取通過所述次總線連接的外部存儲器裝置的容量,并將所獲取的容量作為外部存儲 器大小進(jìn)行存儲;以及所述數(shù)據(jù)傳送控制器包括總線從屬設(shè)備接口單元,所述總線從屬設(shè)備接口單元將所述主總線接收先進(jìn)先出存儲 器和所述主總線發(fā)送先進(jìn)先出存儲器與中央處理單元地址空間相獨(dú)立地映射到相同的連 續(xù)地址空間,所述總線從屬設(shè)備接口單元具有將存儲在所述外部存儲器大小獲取部件中的 外部存儲器大小作為上限地址的直接存儲器訪問地址空間,并且所述總線從屬設(shè)備接口單 元通過所述主總線接口控制器將外部存儲器大小發(fā)送到所述外部存儲器控制裝置,和總線主設(shè)備接口單元,所述總線主設(shè)備接口單元從被包括在所述次總線接口控制器中 的次總線指令產(chǎn)生部件獲取傳送地址和傳送大小,并且執(zhí)行所述次總線和所述直接存儲器 訪問總線之間的突發(fā)傳送。
3.根據(jù)權(quán)利要求1所述的總線協(xié)議轉(zhuǎn)換裝置,其中,所述主總線接口控制器包括主總線接收先進(jìn)先出存儲器和主總線發(fā)送先進(jìn)先出存儲 器作為通信緩沖器;所述次總線接口控制器包括次總線接收先進(jìn)先出存儲器和次總線發(fā)送先進(jìn)先出存儲 器作為通信緩沖器;所述數(shù)據(jù)傳送控制器包括總線從屬設(shè)備接口單元和總線主設(shè)備接口單元,所述總線從 屬設(shè)備接口單元執(zhí)行所述主總線和所述直接存儲器訪問總線之間的數(shù)據(jù)傳送,所述總線主 設(shè)備接口單元執(zhí)行所述次總線和所述直接存儲器訪問總線之間的突發(fā)傳送;所述總線從屬設(shè)備接口單元執(zhí)行以下操作從所述主總線接收先進(jìn)先出存儲器檢測 “數(shù)據(jù)存在”狀態(tài)并向所述總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送允許請求;從所述主總線接 收先進(jìn)先出存儲器檢測“數(shù)據(jù)不存在”狀態(tài)并向所述總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送 停止請求;從所述主總線發(fā)送先進(jìn)先出存儲器檢測“數(shù)據(jù)滿”狀態(tài)并向所述總線主設(shè)備接口 單元發(fā)布寫突發(fā)傳送停止請求;以及從所述主總線發(fā)送先進(jìn)先出存儲器檢測除“數(shù)據(jù)滿”狀 態(tài)之外的狀態(tài)并向所述總線主設(shè)備接口單元發(fā)布寫突發(fā)傳送允許請求;以及所述總線主設(shè)備接口單元執(zhí)行以下操作檢測所述次總線接收先進(jìn)先出存儲器的“數(shù) 據(jù)存在”狀態(tài)和所述總線從屬設(shè)備接口單元的寫突發(fā)允許請求,并執(zhí)行寫突發(fā)傳送;檢測所 述次總線接收先進(jìn)先出存儲器的“數(shù)據(jù)不存在”狀態(tài)或所述總線從屬設(shè)備接口單元的寫突 發(fā)停止請求,并停止寫突發(fā)傳送;檢測所述次總線發(fā)送先進(jìn)先出存儲器的“數(shù)據(jù)滿”狀態(tài)或 所述總線從屬設(shè)備接口單元的讀突發(fā)停止請求,并停止讀突發(fā)傳送;以及檢測所述次總線 發(fā)送先進(jìn)先出存儲器的除“數(shù)據(jù)滿”狀態(tài)之外的狀態(tài)和所述總線從屬設(shè)備接口單元的讀突 發(fā)傳送允許請求,并執(zhí)行讀突發(fā)傳送。
4.一種總線協(xié)議轉(zhuǎn)換方法,包括以下步驟使指令檢測部件檢測從連接到主總線的外部存儲器控制裝置向主總線接口控制器發(fā) 送的指令,并且使指令轉(zhuǎn)換部件將所檢測到的指令轉(zhuǎn)換成將要通過次總線從次總線接口控 制器向外部存儲器裝置發(fā)送的指令;使?fàn)顟B(tài)檢測部件檢測從連接到所述次總線的所述外部存儲器裝置發(fā)送的狀態(tài),并且使 狀態(tài)轉(zhuǎn)換部件將所檢測到的狀態(tài)轉(zhuǎn)換成將要通過主總線從所述主總線接口控制器向所述 外部存儲器控制裝置發(fā)送的狀態(tài);當(dāng)設(shè)置在所述主總線接口控制器和所述次總線接口控制器之間的數(shù)據(jù)傳送控制器通 過直接存儲器訪問總線執(zhí)行連接到所述主總線的所述外部存儲器控制裝置和連接到所述 次總線的外部存儲器裝置之間的數(shù)據(jù)傳送時,以環(huán)形緩沖器方式使用被包括在所述主總線 接口控制器中作為通信緩沖器的先進(jìn)先出存儲器;將所述環(huán)形緩沖器作為虛擬存儲器進(jìn)行 分配;將來自所述外部存儲器控制裝置的數(shù)據(jù)傳送大小的值直接發(fā)送到所述次總線接口控 制器;在所述次總線接口控制器和所述虛擬存儲器之間執(zhí)行一次總線主設(shè)備直接存儲器 訪問操作,并且在執(zhí)行該總線主設(shè)備直接存儲器訪問操作的同時執(zhí)行總線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳 送。
5.根據(jù)權(quán)利要求4所述的總線協(xié)議轉(zhuǎn)換方法,還包括以下步驟使被包括在所述數(shù)據(jù)傳送控制器中的總線從屬設(shè)備接口單元將被包括在所述主總線 接口控制器中作為通信緩沖器的主總線接收先進(jìn)先出存儲器和主總線發(fā)送先進(jìn)先出存儲 器與中央處理單元地址空間相獨(dú)立地映射到相同的連續(xù)地址空間,其中所述總線從屬設(shè)備 接口單元具有將存儲在外部存儲器大小獲取部件中的外部存儲器大小作為上限地址的直 接存儲器訪問地址空間,并且使所述總線從屬設(shè)備接口單元通過所述主總線接口控制器向 所述外部存儲器控制裝置發(fā)送所述外部存儲器大??;以及使被包括在所述數(shù)據(jù)傳送控制器中的總線主設(shè)備接口單元從被包括在所述次總線接口控制器中的次總線指令產(chǎn)生部件獲取傳送地址和傳送大小,并執(zhí)行所述次總線和所述直 接存儲器訪問總線之間的突發(fā)傳送。
6.根據(jù)權(quán)利要求4所述的總線協(xié)議轉(zhuǎn)換方法,還包括以下步驟使被包括在所述數(shù)據(jù)傳送控制器中的總線從屬設(shè)備接口單元執(zhí)行所述主總線和所述 直接存儲器訪問總線之間的數(shù)據(jù)傳送,并且使被包括在所述數(shù)據(jù)傳送控制器中的總線主設(shè) 備接口單元執(zhí)行所述次總線和所述直接存儲器訪問總線之間的突發(fā)傳送;使所述總線從屬設(shè)備接口單元執(zhí)行以下操作從被包括在所述主總線接口控制器中作 為通信緩沖器的主總線接收先進(jìn)先出存儲器檢測“數(shù)據(jù)存在”狀態(tài),并向所述總線主設(shè)備接 口單元發(fā)布讀突發(fā)傳送允許請求;從所述主總線接收先進(jìn)先出存儲器檢測“數(shù)據(jù)不存在”狀 態(tài),并向所述總線主設(shè)備接口單元發(fā)布讀突發(fā)傳送停止請求;從被包括在所述主總線接口 控制器中作為通信緩沖器的主總線發(fā)送先進(jìn)先出存儲器檢測“數(shù)據(jù)滿”狀態(tài),并向所述總線 主設(shè)備接口單元發(fā)布寫突發(fā)傳送停止請求;以及從所述主總線發(fā)送先進(jìn)先出存儲器檢測除 “數(shù)據(jù)滿”狀態(tài)之外的狀態(tài),并向所述總線主設(shè)備接口單元發(fā)布寫突發(fā)傳送允許請求;以及 使所述總線主設(shè)備接口單元執(zhí)行以下操作檢測被包括在所述次總線接口控制器中作 為通信緩沖器的次總線接收先進(jìn)先出存儲器的“數(shù)據(jù)存在”狀態(tài)和所述總線從屬設(shè)備接口 單元的寫突發(fā)允許請求,并執(zhí)行寫突發(fā)傳送;檢測所述次總線接收先進(jìn)先出存儲器的“數(shù)據(jù) 不存在”狀態(tài)或所述總線從屬設(shè)備接口單元的寫突發(fā)停止請求,并停止寫突發(fā)傳送;檢測 被包括在所述次總線接口控制器中作為通信緩沖器的次總線發(fā)送先進(jìn)先出存儲器的“數(shù)據(jù) 滿”狀態(tài)或所述總線從屬設(shè)備接口單元的讀突發(fā)停止請求,并停止讀突發(fā)傳送;以及檢測所 述次總線發(fā)送先進(jìn)先出存儲器的除“數(shù)據(jù)滿”狀態(tài)之外的狀態(tài)和所述總線從屬設(shè)備接口單 元的讀突發(fā)傳送允許請求,并執(zhí)行讀突發(fā)傳送。
7.一種總線協(xié)議轉(zhuǎn)換裝置,包括主總線接口控制器,所述主總線接口控制器通過主總線與外部存儲器控制裝置連接, 所述主總線接口控制器包括作為通信緩沖器的先進(jìn)先出存儲器;次總線接口控制器,所述次總線接口控制器通過次總線與外部存儲器裝置連接; 指令檢測單元,所述指令檢測單元被構(gòu)造成檢測從連接到所述主總線的所述外部存儲 器控制裝置向所述主總線接口控制器發(fā)送的指令;指令轉(zhuǎn)換單元,所述指令轉(zhuǎn)換單元被構(gòu)造成把由所述指令檢測單元檢測到的指令轉(zhuǎn)換 成將要通過所述次總線從所述次總線接口控制器向所述外部存儲器裝置發(fā)送的指令;狀態(tài)檢測單元,所述狀態(tài)檢測單元被構(gòu)造成檢測從連接到所述次總線的所述外部存儲 器裝置發(fā)送的狀態(tài);狀態(tài)轉(zhuǎn)換單元,所述狀態(tài)轉(zhuǎn)換單元被構(gòu)造成將由所述狀態(tài)檢測單元檢測到的狀態(tài)轉(zhuǎn)換 成將要通過所述主總線從所述主總線接口控制器向所述外部存儲器控制裝置發(fā)送的狀態(tài); 以及數(shù)據(jù)傳送控制器,所述數(shù)據(jù)傳送控制器被設(shè)置在所述主總線接口控制器和所述次總線 接口控制器之間,以執(zhí)行通過直接存儲器訪問總線在連接到所述主總線的所述外部存儲器 控制裝置和連接到所述次總線的所述外部存儲器裝置之間的數(shù)據(jù)傳送;其中,所述數(shù)據(jù)傳送控制器以環(huán)形緩沖器方式使用所述先進(jìn)先出存儲器,將所述環(huán)形 緩沖器作為虛擬存儲器進(jìn)行分配,將來自所述外部存儲器控制裝置的數(shù)據(jù)傳送大小的值直接發(fā)送到所述次總線接口控制器,在所述次總線接口控制器和所述虛擬存儲器之間執(zhí)行一 次總線主設(shè)備直接存儲器訪問操作,并且在執(zhí)行所述總線主設(shè)備直接存儲器訪問操作的同 時執(zhí)行總 線協(xié)議轉(zhuǎn)換數(shù)據(jù)傳送。
全文摘要
本發(fā)明涉及總線協(xié)議轉(zhuǎn)換裝置和總線協(xié)議轉(zhuǎn)換方法。本發(fā)明提供一種總線協(xié)議轉(zhuǎn)換裝置,包括指令檢測單元,檢測從連接到主總線的外部存儲器控制裝置向主總線接口控制器發(fā)送的指令;指令轉(zhuǎn)換單元,通過次總線將所檢測到的指令轉(zhuǎn)換成將要從次總線接口控制器向外部存儲器裝置發(fā)送的指令;狀態(tài)檢測單元,檢測從所述外部存儲器裝置發(fā)送的狀態(tài);狀態(tài)轉(zhuǎn)換單元,將所檢測到的狀態(tài)轉(zhuǎn)換成將要通過所述主總線從所述主總線接口控制器向所述外部存儲器控制裝置發(fā)送的狀態(tài);以及數(shù)據(jù)傳送控制器,被設(shè)置在所述主總線接口控制器和所述次總線接口控制器之間,以通過DMA總線執(zhí)行所述外部存儲器控制裝置和所述外部存儲器之間的數(shù)據(jù)傳送。
文檔編號G06F13/40GK102033840SQ201010290380
公開日2011年4月27日 申請日期2010年9月20日 優(yōu)先權(quán)日2009年9月28日
發(fā)明者牛上伸治 申請人:索尼公司