JP2008547138A - 動的データプリフェッチのためのシステム及び方法 - Google Patents
動的データプリフェッチのためのシステム及び方法 Download PDFInfo
- Publication number
- JP2008547138A JP2008547138A JP2008519645A JP2008519645A JP2008547138A JP 2008547138 A JP2008547138 A JP 2008547138A JP 2008519645 A JP2008519645 A JP 2008519645A JP 2008519645 A JP2008519645 A JP 2008519645A JP 2008547138 A JP2008547138 A JP 2008547138A
- Authority
- JP
- Japan
- Prior art keywords
- data
- prefetch
- memory
- memory access
- access latency
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
Description
プリフェッチフレーム#=端数切り上げ(round−up)[メモリアクセス待ち時間/データ伝送時間]、
なお、Max=端数切り捨て(round−down)[TB_Size/F_Size]である。
プリフェッチフレーム#=端数切り上げ[5/4]=2、
なお、“2”は、それが送信バッファ190の最大記憶(4)よりも小さいので、受け入れ可能なプリフェッチ値である。
プリフェッチレート=端数切り上げ[M_Time/データ伝送時間]
に示されているように、プリフェッチレートを再計算するために使用される(ブロック440)。
プリフェッチ=端数切り上げ[5/4]=2
によって計算される2データフレームまで減少する。このようにして、記憶プロトコルエンジンは、時間T8〜T13において示されるように適切にプリフェッチレートを調整する。
Claims (20)
- メモリ装置から目的の装置へのデータの送信に関連するプリフェッチサイクルのメモリアクセス待ち時間を測定するステップと、
前記測定されたメモリアクセス待ち時間に基づいてプリフェッチレートを調整するステップとを有する方法。 - 前記メモリアクセス待ち時間の測定ステップは、前記メモリ装置からのデータのフレームにアクセスするために必要とされる時間量を測定するようタイマを起動するステップを含む、請求項1記載の方法。
- 前記プリフェッチレートの調整ステップは、データ伝送時間に対する前記メモリアクセス待ち時間の比率を計算するステップを含み、
前記データ伝送時間は、前記目的の装置へ結合されたリンクを介して前記目的の装置へ前記データのフレームを送信するための時間量である、請求項2記載の方法。 - 前記プリフェッチレートの調整ステップは、前記メモリ装置と前記目的の装置との間で実施される記憶プロトコルエンジンの送信トランスポート層において行われる、請求項3記載の方法。
- 前記メモリアクセス待ち時間の測定ステップは、各プリフェッチサイクルに関して前記メモリアクセス待ち時間を測定するステップを含む、請求項3記載の方法。
- 前記プリフェッチレートの調整ステップは、実時間において動的に行われる、請求項5記載の方法。
- 前記プリフェッチレートの調整ステップは、各プリフェッチサイクルの後に行われる、請求項5記載の方法。
- 前記目的の装置は、リンクにおいて適切なリンクレートを保つようプリフェッチ動作を行うために必要とされる装置であり、
最適なリンクレートの1つの形式は、前記リンクによってサポートされる最大伝送レートである、請求項1記載の方法。 - メモリ装置と、
記憶装置と、
前記メモリ装置及び前記記憶装置と通信する記憶プロトコルエンジンとを有し、
前記記憶プロトコルエンジンは、前記メモリ装置から前記記憶装置へのデータの送信に関連するプリフェッチサイクルに関してメモリアクセス待ち時間を測定し、且つ、該測定されたメモリアクセス待ち時間に基づいてプリフェッチレートを動的に調整する、計算装置。 - 前記メモリ装置は、ホストメモリとして動作するランダムアクセスメモリである、請求項9記載の計算装置。
- 前記記憶プロトコルエンジンは、
直接メモリアクセス(DMA)エンジンと、
前記DMAエンジンへ結合される送信バッファと、
前記DMAエンジンへ結合され且つ複数のタイマを有する動的フレームフェッチロジックとを有し、
前記動的フレームフェッチロジックは、タイマを用いて前記メモリ装置から前記記憶装置へのデータの送信に関連するプリフェッチサイクルに関してメモリアクセス待ち時間を測定し、且つ、該測定されたメモリアクセス待ち時間と、前記記憶プロトコルエンジンから前記記憶装置へデータを送信するための時間量であるデータ伝送時間との間の比率に基づいて前記プリフェッチレートを動的に調整するよう構成される、請求項9記載の計算装置。 - 半導体メモリである前記メモリ装置を備えたコンピュータである、請求項9記載の計算装置。
- 前記記憶プロトコルエンジンは、前記記憶装置内で実施される、請求項9記載の計算装置。
- 前記記憶プロトコルエンジンは、前記メモリ装置及び前記記憶装置へ通信上結合されたチップセット内で実施される、請求項9記載の計算装置。
- 計算装置によって実施される場合に、該計算装置に、
半導体メモリから目的の装置へのデータの送信に関連するプリフェッチサイクルのメモリアクセス待ち時間を測定するステップと、
前記測定されたメモリアクセス待ち時間に基づいて、プリフェッチすべきデータのフレームの数であるプリフェッチレートを動的に調整するステップと
を実行させるソフトウェアを提供する記憶媒体。 - 前記メモリ装置からのデータの単一のフレームにアクセスするために必要とされる時間量を測定するようタイマを起動するソフトウェアモジュールを更に有する、請求項15記載の記憶媒体。
- データ伝送時間に対する前記メモリアクセス待ち時間の比率を計算するソフトウェアモジュールを更に有し、
前記データ伝送時間は、前記目的の装置へ結合されたリンクを介して前記目的の装置へ前記データのフレームを送信する時間量である、請求項15記載の記憶媒体。 - 前記メモリ装置と前記目的の装置との間で実施される記憶プロトコルエンジンの送信トランスポート層において前記プリフェッチレートを動的に調整するソフトウェアモジュールを更に有する、請求項15記載の記憶媒体。
- 前記ソフトウェアは、各プリフェッチサイクルに関して前記メモリアクセス待ち時間を測定する、請求項15記載の記憶媒体。
- 前記ソフトウェアは、前記半導体メモリと、前記目的の装置である記憶装置との間で、各プリフェッチサイクルに関して前記メモリアクセス待ち時間を測定する、請求項15記載の記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/172,226 US8370581B2 (en) | 2005-06-30 | 2005-06-30 | System and method for dynamic data prefetching |
PCT/US2006/025747 WO2007005694A2 (en) | 2005-06-30 | 2006-06-29 | System and method for dynamic data prefetching |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008547138A true JP2008547138A (ja) | 2008-12-25 |
JP4616391B2 JP4616391B2 (ja) | 2011-01-19 |
Family
ID=37114594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519645A Expired - Fee Related JP4616391B2 (ja) | 2005-06-30 | 2006-06-29 | 動的データプリフェッチのためのシステム及び方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8370581B2 (ja) |
EP (1) | EP1896953B1 (ja) |
JP (1) | JP4616391B2 (ja) |
AT (1) | ATE410734T1 (ja) |
DE (1) | DE602006003099D1 (ja) |
TW (1) | TWI358019B (ja) |
WO (1) | WO2007005694A2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809068B2 (en) * | 2005-12-28 | 2010-10-05 | Intel Corporation | Integrated circuit capable of independently operating a plurality of communication channels |
US8325602B2 (en) * | 2008-12-18 | 2012-12-04 | Cisco Technology, Inc. | Method and system to manage network traffic congestion in networks with link layer flow control |
US8443151B2 (en) * | 2009-11-09 | 2013-05-14 | Intel Corporation | Prefetch optimization in shared resource multi-core systems |
US8291171B2 (en) | 2009-11-30 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Altering prefetch depth based on ready data |
US9769285B2 (en) * | 2011-06-14 | 2017-09-19 | Google Inc. | Access to network content |
US8856447B2 (en) | 2012-07-17 | 2014-10-07 | Apple Inc. | Converting memory accesses near barriers into prefetches |
US8949487B1 (en) | 2013-07-29 | 2015-02-03 | Western Digital Technologies, Inc. | Data transmission from data storage device |
GB2517195A (en) * | 2013-08-15 | 2015-02-18 | Ibm | Computer system productivity monitoring |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02122345A (ja) * | 1988-11-01 | 1990-05-10 | Mitsubishi Electric Corp | 記憶制御装置 |
JPH0695810A (ja) * | 1992-09-14 | 1994-04-08 | Toshiba Corp | 磁気ディスク装置 |
JPH06324990A (ja) * | 1993-05-14 | 1994-11-25 | Sony Corp | バス制御装置 |
JP2000048586A (ja) * | 1998-07-30 | 2000-02-18 | Fujitsu Ltd | 不揮発性半導体記憶装置 |
JP2002342154A (ja) * | 2001-04-24 | 2002-11-29 | Rambus Inc | メモリ・システムのデバイス間のシグナリングの方法および装置 |
JP2003296266A (ja) * | 2002-04-04 | 2003-10-17 | Sharp Corp | バス接続装置およびデータ転送制御方法 |
JP2003337764A (ja) * | 2002-05-22 | 2003-11-28 | Canon Inc | 情報処理装置および情報処理装置のデータ転送方法およびプログラムおよび記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3898624A (en) | 1973-06-14 | 1975-08-05 | Amdahl Corp | Data processing system with variable prefetch and replacement algorithms |
US6792496B2 (en) * | 2001-08-02 | 2004-09-14 | Intel Corporation | Prefetching data for peripheral component interconnect devices |
US6983356B2 (en) | 2002-12-19 | 2006-01-03 | Intel Corporation | High performance memory device-state aware chipset prefetcher |
US6959374B2 (en) * | 2003-01-29 | 2005-10-25 | Sun Microsystems, Inc. | System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control |
US7146467B2 (en) * | 2003-04-14 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Method of adaptive read cache pre-fetching to increase host read throughput |
US7228387B2 (en) * | 2003-06-30 | 2007-06-05 | Intel Corporation | Apparatus and method for an adaptive multiple line prefetcher |
-
2005
- 2005-06-30 US US11/172,226 patent/US8370581B2/en active Active
-
2006
- 2006-06-29 EP EP06786072A patent/EP1896953B1/en not_active Not-in-force
- 2006-06-29 AT AT06786072T patent/ATE410734T1/de not_active IP Right Cessation
- 2006-06-29 TW TW095123622A patent/TWI358019B/zh not_active IP Right Cessation
- 2006-06-29 WO PCT/US2006/025747 patent/WO2007005694A2/en active Application Filing
- 2006-06-29 JP JP2008519645A patent/JP4616391B2/ja not_active Expired - Fee Related
- 2006-06-29 DE DE602006003099T patent/DE602006003099D1/de active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02122345A (ja) * | 1988-11-01 | 1990-05-10 | Mitsubishi Electric Corp | 記憶制御装置 |
JPH0695810A (ja) * | 1992-09-14 | 1994-04-08 | Toshiba Corp | 磁気ディスク装置 |
JPH06324990A (ja) * | 1993-05-14 | 1994-11-25 | Sony Corp | バス制御装置 |
JP2000048586A (ja) * | 1998-07-30 | 2000-02-18 | Fujitsu Ltd | 不揮発性半導体記憶装置 |
JP2002342154A (ja) * | 2001-04-24 | 2002-11-29 | Rambus Inc | メモリ・システムのデバイス間のシグナリングの方法および装置 |
JP2003296266A (ja) * | 2002-04-04 | 2003-10-17 | Sharp Corp | バス接続装置およびデータ転送制御方法 |
JP2003337764A (ja) * | 2002-05-22 | 2003-11-28 | Canon Inc | 情報処理装置および情報処理装置のデータ転送方法およびプログラムおよび記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
DE602006003099D1 (de) | 2008-11-20 |
EP1896953A2 (en) | 2008-03-12 |
US20070005903A1 (en) | 2007-01-04 |
WO2007005694A3 (en) | 2007-06-28 |
WO2007005694A2 (en) | 2007-01-11 |
EP1896953B1 (en) | 2008-10-08 |
TWI358019B (en) | 2012-02-11 |
ATE410734T1 (de) | 2008-10-15 |
US8370581B2 (en) | 2013-02-05 |
TW200710650A (en) | 2007-03-16 |
JP4616391B2 (ja) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4616391B2 (ja) | 動的データプリフェッチのためのシステム及び方法 | |
TWI298838B (en) | Method, system, and computer readable recording medium for handling input/output commands | |
TWI428917B (zh) | 快閃記憶裝置、資料儲存系統、以及資料儲存系統之運作方法 | |
US20110317716A1 (en) | Method, system, and program for managing a speed at which data is transmitted between network adaptors | |
TWI543175B (zh) | 記憶體存取方法和裝置 | |
US20050021879A1 (en) | Method, system, and program for managing requests to an Input/Output device | |
US9910800B1 (en) | Utilizing remote direct memory access (‘RDMA’) for communication between controllers in a storage array | |
KR101095204B1 (ko) | 낮은-복잡도 명령 프리패치 시스템을 위한 방법 및 장치 | |
US20150085880A1 (en) | Memory Transfer Optimization of Network Adapter Data Placement when Performing Header-Data Split Operations | |
KR20190088734A (ko) | 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
US9367460B2 (en) | Implicit I/O send on cache operations | |
US6801963B2 (en) | Method, system, and program for configuring components on a bus for input/output operations | |
US20140129754A1 (en) | Customization Of A Bus Adapter Card | |
US20110173391A1 (en) | System and Method to Access a Portion of a Level Two Memory and a Level One Memory | |
US20050228955A1 (en) | Method, system, and program for prefetching data into cache | |
US6820140B2 (en) | Method, system, and program for returning data to read requests received over a bus | |
US8037214B2 (en) | Method and apparatus for controlling direct memory access | |
CN114691024A (zh) | 数据预取的方法、装置和设备 | |
US10848263B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US9515679B1 (en) | Adaptive data compression | |
US7234041B2 (en) | Embedded system with instruction prefetching device, and method for fetching instructions in embedded systems | |
US20070300010A1 (en) | Apparatus for fast accesses to flash memory | |
CN114168495A (zh) | 存储设备的增强的预读能力 | |
CN108874685B (zh) | 固态硬盘的数据处理方法以及固态硬盘 | |
US8769175B2 (en) | Adjustment of post and non-post packet transmissions in a communication interconnect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100819 |
|
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: 20101005 |
|
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: 20101021 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |