JP4356765B2 - 情報処理装置および方法、並びにプログラム - Google Patents
情報処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP4356765B2 JP4356765B2 JP2007111123A JP2007111123A JP4356765B2 JP 4356765 B2 JP4356765 B2 JP 4356765B2 JP 2007111123 A JP2007111123 A JP 2007111123A JP 2007111123 A JP2007111123 A JP 2007111123A JP 4356765 B2 JP4356765 B2 JP 4356765B2
- Authority
- JP
- Japan
- Prior art keywords
- size
- transfer
- data
- data amount
- determination result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Computer And Data Communications (AREA)
Description
図2は、本発明を適用した、ストレージシステムとホストシステムとの構成を示すブロック図である。
次に、ストレージI/F23を、例えば、パケットベースのバスインタフェースを用いた場合、また、そのパケットベースのバスインタフェースとして、PCI Expressを用いた場合を例にあげて説明を加える。PCI ExpressをストレージI/F23として適用したとき、以下のような制限を考慮してデータの授受を行う必要がある。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
Claims (6)
- 他の装置との間で設定される読み出しのときの最大の転送サイズまたは書き込みのときの最大の転送サイズを最大転送サイズとして設定する設定手段と、
転送すべき第1のデータ量から、転送した第2のデータ量を減算し第3のデータ量を算出する算出手段と、
読み出し開始位置から、ページ境界までの差分値を算出し、前記第3のデータ量を転送した場合、ページ境界をまたぐ転送になる否かを判定する境界判定手段と、
バッファーの残量を算出し、前記第3のデータ量を転送した場合、バッファーサイズを超えた転送になるか否かを判定するバッファー境界判定手段と、
前記最大転送サイズよりも前記第3のデータ量が小さいか否かを判定する転送サイズ判定手段と、
前記境界判定手段による第1の判定結果、前記バッファー境界判定手段による第2の判定結果、および前記転送サイズ判定手段による第3の判定結果のうち、判定が成立したことを示している判定結果が2以上の場合、前記差分値、前記残量、または、前記第3のデータ量のうち、最も小さい値を、データの転送のサイズとして決定する決定手段と
を備える情報処理装置。 - 前記決定手段により決定されたサイズで、データの転送を制御するDMA(Direct Memory Access)コントローラをさらに備える
請求項1に記載の情報処理装置。 - 前記算出手段は、前記決定手段により決定された前記サイズのデータ量を、第2のデータ量とし、前記第3のデータ量を、第1のデータ量とした演算を行うことで、前記第3のデータ量を更新し、その更新は、前記第3のデータ量が0になるまで繰り返される
請求項1に記載の情報処理装置。 - 前記第1のデータ量の初期値は、前記他の装置から与えられる
請求項1に記載の情報処理装置。 - 他の装置との間で設定される読み出しのときの最大の転送サイズまたは書き込みのときの最大の転送サイズを最大転送サイズとして設定し、
転送すべき第1のデータ量から、転送した第2のデータ量を減算し第3のデータ量を算出し、
読み出し開始位置から、ページ境界までの差分値を算出し、
前記第3のデータ量を転送した場合、ページ境界をまたぐ転送になる否かの第1の判定結果を出し、
バッファーの残量を算出し、
前記第3のデータ量を転送した場合、バッファーサイズを超えた転送になるか否かの第2の判定結果を出し、
前記最大転送サイズよりも前記第3のデータ量が小さいか否かの第3の判定結果を出し、
前記第1の判定結果、前記第2の判定結果、および前記第3の判定結果のうち、判定が成立したことを示している判定結果が2以上の場合、前記差分値、前記残量、または、前記第3のデータ量のうち、最も小さい値を、データの転送のサイズとして決定する
ステップを含む情報処理方法。 - コンピュータに、
他の装置との間で設定される読み出しのときの最大の転送サイズまたは書き込みのときの最大の転送サイズを最大転送サイズとして設定し、
転送すべき第1のデータ量から、転送した第2のデータ量を減算し第3のデータ量を算出し、
読み出し開始位置から、ページ境界までの差分値を算出し、
前記第3のデータ量を転送した場合、ページ境界をまたぐ転送になる否かの第1の判定結果を出し、
バッファーの残量を算出し、
前記第3のデータ量を転送した場合、バッファーサイズを超えた転送になるか否かの第2の判定結果を出し、
前記最大転送サイズよりも前記第3のデータ量が小さいか否かの第3の判定結果を出し、
前記第1の判定結果、前記第2の判定結果、および前記第3の判定結果のうち、判定が成立したことを示している判定結果が2以上の場合、前記差分値、前記残量、または、前記第3のデータ量のうち、最も小さい値を、データの転送のサイズとして決定する
ステップを実行させるためのプログラム。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007111123A JP4356765B2 (ja) | 2007-04-20 | 2007-04-20 | 情報処理装置および方法、並びにプログラム |
| US12/104,735 US8171213B2 (en) | 2007-04-20 | 2008-04-17 | Information processing apparatus and method, and program |
| CN2012101293617A CN102945215A (zh) | 2007-04-20 | 2008-04-21 | 信息处理设备和方法 |
| CNA2008100950070A CN101290604A (zh) | 2007-04-20 | 2008-04-21 | 信息处理设备和方法以及程序 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007111123A JP4356765B2 (ja) | 2007-04-20 | 2007-04-20 | 情報処理装置および方法、並びにプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008269282A JP2008269282A (ja) | 2008-11-06 |
| JP4356765B2 true JP4356765B2 (ja) | 2009-11-04 |
Family
ID=39873402
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007111123A Expired - Fee Related JP4356765B2 (ja) | 2007-04-20 | 2007-04-20 | 情報処理装置および方法、並びにプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8171213B2 (ja) |
| JP (1) | JP4356765B2 (ja) |
| CN (2) | CN101290604A (ja) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8122221B2 (en) * | 2008-02-25 | 2012-02-21 | International Business Machines Corporation | Method and apparatus to combine scattered buffer addresses into a contiguous virtual address space |
| US20100064080A1 (en) * | 2008-09-11 | 2010-03-11 | International Business Machines Corporation | Managing pci-express max payload size for legacy operating systems |
| US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
| US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
| US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
| US8583839B2 (en) * | 2009-11-30 | 2013-11-12 | Lsi Corporation | Context processing for multiple active write commands in a media controller architecture |
| US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
| US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
| US8286004B2 (en) * | 2009-10-09 | 2012-10-09 | Lsi Corporation | Saving encryption keys in one-time programmable memory |
| US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
| US8281054B2 (en) * | 2010-08-25 | 2012-10-02 | Lsi Corporation | Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication |
| JP2012133643A (ja) * | 2010-12-22 | 2012-07-12 | Sony Corp | 情報処理装置、情報処理システム、情報処理方法、およびプログラム |
| US20120221767A1 (en) * | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
| US8793462B2 (en) | 2011-05-24 | 2014-07-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with enhanced resource pool allocation |
| US8868828B2 (en) | 2011-05-24 | 2014-10-21 | International Business Machines Corporation | Implementing storage adapter performance optimization with cache data/directory mirroring |
| US8516164B2 (en) * | 2011-05-24 | 2013-08-20 | International Business Machines Corporation | Implementing storage adapter performance optimization with enhanced hardware and software interface |
| US8495259B2 (en) * | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware chains to select performance path |
| US8886881B2 (en) | 2011-05-24 | 2014-11-11 | International Business Machines Corporation | Implementing storage adapter performance optimization with parity update footprint mirroring |
| US8656213B2 (en) | 2011-05-24 | 2014-02-18 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations and error recovery firmware path |
| US8495258B2 (en) * | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA |
| US8544029B2 (en) | 2011-05-24 | 2013-09-24 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions |
| JP5939305B2 (ja) | 2012-09-07 | 2016-06-22 | 富士通株式会社 | 情報処理装置,並列計算機システム及び情報処理装置の制御方法 |
| US9092364B2 (en) | 2012-10-04 | 2015-07-28 | International Business Machines Corporation | Implementing storage adapter performance control |
| US9288163B2 (en) * | 2013-03-15 | 2016-03-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low-latency packet receive method for networking devices |
| CN106063208B (zh) * | 2014-12-31 | 2019-06-18 | 华为技术有限公司 | 一种数据处理方法和装置 |
| CN106294225A (zh) * | 2015-06-29 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种数据读取方法、对端设备及控制器 |
| CN105320625B (zh) * | 2015-10-16 | 2018-06-26 | 陕西海泰电子有限责任公司 | 一种硬件封包的基于PCIe的DMA传输方法 |
| US20170147517A1 (en) * | 2015-11-23 | 2017-05-25 | Mediatek Inc. | Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method |
| CN106919522A (zh) * | 2015-12-28 | 2017-07-04 | 北京航天测控技术有限公司 | 一种基于PXIe接口的DMA控制器 |
| WO2017212524A1 (ja) * | 2016-06-06 | 2017-12-14 | オリンパス株式会社 | データ転送装置、画像処理装置、および撮像装置 |
| TWI767997B (zh) * | 2017-03-23 | 2022-06-21 | 日商索尼半導體解決方案公司 | 通信裝置、通信方法、程式及通信系統 |
| KR102429904B1 (ko) | 2017-09-08 | 2022-08-05 | 삼성전자주식회사 | PCIe P2P 접속의 밴드위스를 최대화할 수 있는 방법 및 시스템 |
| JP6833644B2 (ja) * | 2017-09-13 | 2021-02-24 | 株式会社東芝 | 転送装置、転送方法及びプログラム |
| CN108363673A (zh) * | 2018-02-28 | 2018-08-03 | 郑州云海信息技术有限公司 | 设置pcie热插拔设备传输负载的方法、装置及设备 |
| CN110688333A (zh) * | 2019-09-29 | 2020-01-14 | 郑州信大捷安信息技术股份有限公司 | 一种基于pcie的dma数据传输系统及方法 |
| CN110781120B (zh) * | 2019-10-23 | 2023-02-28 | 山东华芯半导体有限公司 | 一种axi总线主机设备跨4kb传输的实现方法 |
| JP7679257B2 (ja) * | 2021-08-18 | 2025-05-19 | キオクシア株式会社 | メモリシステム |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004046891A (ja) | 1997-06-04 | 2004-02-12 | Sony Corp | データ処理システム、データ処理装置、外部装置及びデータ伝送方法 |
| JP5040050B2 (ja) * | 2001-06-12 | 2012-10-03 | 富士通株式会社 | 複数チャネルdmaコントローラおよびプロセッサシステム |
| JP2006018642A (ja) * | 2004-07-02 | 2006-01-19 | Victor Co Of Japan Ltd | Dma転送制御装置 |
| US8843727B2 (en) * | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
| US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
-
2007
- 2007-04-20 JP JP2007111123A patent/JP4356765B2/ja not_active Expired - Fee Related
-
2008
- 2008-04-17 US US12/104,735 patent/US8171213B2/en not_active Expired - Fee Related
- 2008-04-21 CN CNA2008100950070A patent/CN101290604A/zh active Pending
- 2008-04-21 CN CN2012101293617A patent/CN102945215A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US8171213B2 (en) | 2012-05-01 |
| JP2008269282A (ja) | 2008-11-06 |
| CN101290604A (zh) | 2008-10-22 |
| CN102945215A (zh) | 2013-02-27 |
| US20080263307A1 (en) | 2008-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4356765B2 (ja) | 情報処理装置および方法、並びにプログラム | |
| CN102193882B (zh) | 数据处理装置以及数据处理方法 | |
| US8549526B2 (en) | Access control apparatus and access control method | |
| CN112527494A (zh) | 信息处理设备和方法以及非暂态计算机可读记录介质 | |
| JP4416694B2 (ja) | データ転送調停装置およびデータ転送調停方法 | |
| US9172839B2 (en) | Image forming apparatus, control method and storage medium | |
| JP2007501473A (ja) | メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置 | |
| US8928926B2 (en) | Image forming apparatus that buffers data in a storage device and reduces delays in process | |
| JP2018106222A (ja) | 情報処理装置及び通信制御方法 | |
| KR102334473B1 (ko) | 적응형 딥러닝 가속 장치 및 방법 | |
| CN104427181A (zh) | 图像形成装置及图像形成方法 | |
| JP5340058B2 (ja) | 画像処理装置、その制御方法及びプログラム | |
| JP2016085684A (ja) | メモリーアクセス装置 | |
| US7861012B2 (en) | Data transmitting device and data transmitting method | |
| JP2008009803A (ja) | 情報記憶装置、および、情報転送方法、情報転送システム、プログラム、並びに、記録媒体 | |
| JP2000227897A (ja) | Dma転送装置及びdma転送システム | |
| US8588591B2 (en) | Reproducing apparatus and reproducing method | |
| JP4318664B2 (ja) | 情報処理装置およびタスク実行方法 | |
| JP5097788B2 (ja) | データ処理装置およびデータ処理プログラム | |
| JP7062142B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
| JP2014154000A (ja) | メモリ制御装置、その制御方法、および制御プログラム | |
| JP2011053895A (ja) | データ通信装置 | |
| JP2016154001A (ja) | 画像処理装置、画像処理用データ転送制御方法、及び画像処理用データ転送制御プログラム | |
| KR20150034493A (ko) | 캐시를 이용한 데이터 복사 방법 및 그 장치 | |
| KR101949123B1 (ko) | 데이터 복호화 장치 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090421 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090430 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090626 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090714 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090727 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |