[發明專利]訪問多個存儲器的數據處理設備和數據處理方法有效
| 申請號: | 201010269838.2 | 申請日: | 2010-08-30 |
| 公開(公告)號: | CN101907986A | 公開(公告)日: | 2010-12-08 |
| 發明(設計)人: | 鄒勝;李文佳 | 申請(專利權)人: | 威盛電子股份有限公司 |
| 主分類號: | G06F9/34 | 分類號: | G06F9/34 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 于小寧 |
| 地址: | 中國臺*** | 國省代碼: | 中國臺灣;71 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 訪問 存儲器 數據處理 設備 方法 | ||
技術領域
本發明涉及一種用于控制對多個存儲器的數據讀取操作的數據處理設備和數據處理方法,更具體地涉及一種響應于一個或多個讀引擎分別向多個存儲器發出的多個讀請求而從所述多個存儲器讀取數據,并以正確的順序將所述數據提供給相應的讀引擎的數據處理設備和數據處理方法。
背景技術
在數據存取領域,常常出現這樣的場景,即,一個或多個讀引擎向多個彼此獨立的存儲器發送讀請求以讀取存儲在其中的數據,其中,一個讀引擎只有一個讀端口且一次只能訪問一個存儲器,在每個讀引擎與各個存儲器之間各有一條訪問路徑,并且在各個讀引擎與同一個存儲器之間只有一條公共的訪問路徑。響應于該讀請求而執行的操作大致分為兩個階段,即尋址階段和數據階段。在尋址階段,將讀請求發送到目標存儲器,在數據階段,接收從目標存儲器輸出的所請求的數據并且將其分配給讀引擎。在這兩個階段之間存在一時間段,即目標存儲器響應于所述讀請求而輸出所請求的數據的時間段,該時間段被稱為存儲器的響應時間(latency)。
為了使讀引擎正常工作,在一個或多個讀引擎發送了多個讀請求的情況下,必須將從存儲器輸出的數據按照讀請求發出的順序分配給相應的讀引擎。然而,由于各個存儲器的響應時間無法預估,因此可能會出現數據分配順序錯亂或數據沖突的問題。以一個讀引擎的情況為例。假設該讀引擎在第一時刻向第一存儲器發出第一個讀請求,然后在第二時刻向第二存儲器發出第二個讀請求。如果第二存儲器的響應時間短于第一存儲器的響應時間,則從第二存儲器返回的數據比從第一存儲器返回的數據更早到達讀引擎,即,數據返回順序與請求所述數據的順序不一致,這使得讀引擎接收到的數據不是所請求的數據,從而發生錯誤。此外,如果這兩個存儲器同時將數據返回給讀引擎,則由于該讀引擎只有一個讀端口,因此在讀端口處產生數據沖突。在多個讀引擎的情況下,由于在各個讀引擎與同一個存儲器之間只有一條公共的訪問路徑,上述數據順序錯亂和數據沖突的問題將變得更加嚴重。
因此,需要一種響應于一個或多個讀引擎分別向多個存儲器發出的多個讀請求而從所述多個存儲器讀取數據,并以正確的順序將所述數據提供給相應的讀引擎的數據處理設備和數據處理方法。
發明內容
本發明提供一種數據處理設備和數據處理方法,其能夠以正確的順序將響應于一個或多個讀引擎分別向多個存儲器發出的多個讀請求而從所述多個存儲器讀取的數據提供給相應的讀引擎,從而防止讀引擎接收的數據順序發生錯亂,并且避免數據沖突。
根據本發明的一個實施例,提供了一種數據處理設備,用于依序接受由讀引擎向多個外部存儲設備發出的多個讀請求,并且將響應于所述多個讀請求而分別從所述多個外部存儲設備讀取的數據依序分配給讀引擎。該數據處理設備包括:跟蹤存儲器,用于按照接受所述多個讀請求的順序,存儲各個讀請求的信息,并且按照先入先出的方式輸出各個讀請求的所述信息;指針控制器,用于計算各個讀請求的寫指針,每個讀請求的寫指針用于指示響應于該讀請求而從相應的外部存儲設備讀取的數據在數據存儲器中的存儲地址,其中,所述寫指針是按照接受所述讀請求的順序依次累加的;所述數據存儲器用于接收響應于每個讀請求而從相應的外部存儲設備讀取的數據,并且根據該讀請求的寫指針指示的存儲地址存儲所接收的數據;數據分配器,用于讀取數據存儲器中的數據,并且根據跟蹤存儲器所輸出的每個讀請求的信息將其分配給相應的讀引擎,其中,僅在讀取和分配了對應于在先接受的讀請求的數據之后,數據分配器才讀取和分配對應于在后接受的讀請求的數據。
根據本發明的另一實施例,提供了一種數據處理方法,用于依序接受由讀引擎向多個外部存儲設備發出的多個讀請求,并且將響應于所述多個讀請求而分別從所述多個外部存儲設備讀取的數據依序分配給讀引擎,該數據處理方法包括以下步驟:按照接受所述多個讀請求的順序,存儲各個讀請求的信息于跟蹤存儲器中;計算各個讀請求的寫指針,每個讀請求的寫指針用于指示響應于該讀請求而從相應的外部存儲設備讀取的數據在數據存儲器中的存儲地址,其中,所述寫指針是按照接受所述讀請求的順序依次累加的;接收響應于每個讀請求而從相應的外部存儲設備讀取的數據,并且根據該讀請求的寫指針指示的存儲地址在所述數據存儲器內存儲所接收的數據;跟蹤存儲器按照先入先出的方式輸出各個讀請求的所述信息;讀取存儲在數據存儲器中的對應于所述多個請求的數據,并且根據每個讀請求的信息將其分配給相應的讀引擎,其中,僅在讀取和分配了對應于在先接受的讀請求的數據之后,才讀取和分配對應于在后接受的讀請求的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于威盛電子股份有限公司,未經威盛電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010269838.2/2.html,轉載請聲明來源鉆瓜專利網。





