JP5349515B2 - バッファ管理装置、バッファ管理方法及び記憶装置 - Google Patents

バッファ管理装置、バッファ管理方法及び記憶装置 Download PDF

Info

Publication number
JP5349515B2
JP5349515B2 JP2011055669A JP2011055669A JP5349515B2 JP 5349515 B2 JP5349515 B2 JP 5349515B2 JP 2011055669 A JP2011055669 A JP 2011055669A JP 2011055669 A JP2011055669 A JP 2011055669A JP 5349515 B2 JP5349515 B2 JP 5349515B2
Authority
JP
Japan
Prior art keywords
credit
data
reservation
credit value
unit
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
Application number
JP2011055669A
Other languages
English (en)
Other versions
JP2012190415A (ja
Inventor
憲嗣 善村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011055669A priority Critical patent/JP5349515B2/ja
Priority to US13/285,347 priority patent/US8904065B2/en
Publication of JP2012190415A publication Critical patent/JP2012190415A/ja
Application granted granted Critical
Publication of JP5349515B2 publication Critical patent/JP5349515B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Description

本発明の実施形態は、バッファ管理装置、バッファ管理方法及び記憶装置に関するものである。
記憶媒体を内蔵する記憶装置は、ホストコンピュータとの間で送受するデータを一時的に蓄積するバッファメモリを有している。このような記憶装置では、ホストコンピュータからのライトコマンドに応じた書き込みデータをバッファメモリ(ライトバッファ)に蓄積し、このライトバッファから該書き込みデータを順次読み出して記憶媒体に書き込む制御が行われている。
バッファメモリには、低コストで大容量の領域を確保可能なDRAMが採用されることが一般的であるが、近年では、より高速な処理が要求されることから、より高速に処理することが可能なSRAMを用いる場合がある。しかしSRAMはDRAMに比べ高コストであるため大容量の領域を確保することは困難であり、バッファオーバーが発生する可能性がある。従来、バッファオーバーの発生を防止する技術については種々提案されており、例えば、バッファメモリの空き容量が所定値以下の場合には、このバッファメモリとは異なるメモリ領域に一旦格納した後、バッファメモリに転送することで、バッファオーバーの発生を防止する技術が知られている。
特開2005−267502号公報
ところで、SAS(Serial Attached SCSI)では、受領可能なデータサイズをXFER_RDY(トランスファーレディ)信号にて事前にInitiator側に通知する必要があり、この通知したデータサイズのデータがInitiator側から転送されることになる。この場合、Initiator側に通知した時点でのライトバッファの空き容量と、Initiator側からデータが転送された時点でのライトバッファの空き容量とが異なる可能性があり、バッファオーバーの発生を防止するため、ライトバッファの空き容量管理をより正確に行うことが可能な技術が望まれている。なお、従来技術では、現時点での空き容量しか考慮されていないため、データが転送される時点での空き容量を特定することができず、上記の問題を解決することは困難である。
本発明は、上記に鑑みてなされたものであって、ライトバッファの空き容量管理をより正確に行うことが可能なバッファ管理装置、バッファ管理方法及び記憶装置を提供することを目的とする。
実施の形態のメモリ管理装置は、バッファメモリと、現クレジット保持手段と、転送制御手段と、予約クレジット保持手段と、減算手段とを備える。バッファメモリは、所定のデータサイズを表すクレジット単位で記憶領域を管理し、外部装置から転送されるデータを一時記憶する。現クレジット保持手段は、バッファメモリで現在使用することが可能なクレジット数を、現クレジット値として保持する。転送制御手段は、外部装置から前記バッファメモリへのデータの転送に先駆けて、当該データの一時記憶に必要なクレジット数を、予約クレジット値として予約クレジット保持手段に登録する。減算手段は、現クレジット保持手段が保持する現クレジット値から、予約クレジット保持手段に登録された予約クレジット値を減算し、当該減算結果を使用可能クレジット値として出力する。
図1は、本実施形態に係る記憶装置の構成を模式的に示す図。 図2は、本実施形態に係るライトバッファ管理部の構成を模式的に示す図。 図3は、本実施形態に係るデータ転送制御部の構成を模式的に示す図。 図4は、本実施形態に係るライトバッファ管理部の制御シーケンスの一例を示す図。 図5は、本実施形態に係るライトバッファ管理部の制御シーケンスの他の例を示す図。 図6は、本実施形態に係るデータ転送制御部の制御シーケンスの一例を示す図。 図7は、本実施形態に係るライトバッファ管理部の変形例の構成を模式的に示す図。
図1は、本実施形態に係る記憶装置の構成を模式的に示す図である。同図に示すように、記憶装置100は、SASモジュール10と、バッファ管理モジュール20と、記憶媒体30とを備えている。
SASモジュール10は、Initiatorとなるコンピュータ等のホスト200に対し、記憶装置100をSAS(Serial Attached SCSI)方式で接続するためのインターフェースである。SASモジュール10は、PHY部11、LINK部12、PORT部13、RxFIFO部14、TxFIFO部15、TRANSPORT部16及びAPP部17を有している。なお、図1では、データ転送用の転送ポート#0についての構成を示しているが、複数の転送ポートを備える場合には、PHY部11、LINK部12、PORT部13、RxFIFO部14、TxFIFO部15及びTRANSPORT部16が、転送ポート分設けられることになる。
PHY部11は、物理層(Physical Layer)の機能を司る機能部である。PHY部11は、ホスト200から入力された電気的な信号をフレーム/プリミティブ単位の信号(フレーム/プリミティブ信号)に変換し、LINK部12に出力する。また、PHY部11は、LINK部12から入力されたフレーム/プリミティブ信号を電気的な信号に変換し、ホスト200に出力する。
LINK部12は、リンク層(Link Layer)の機能を司る機能部である。LINK部12は、PHY部11から入力されたフレーム/プリミティブ信号をフレーム/コマンド単位の信号(フレーム/コマンド信号)に変換し、RxFIFO部14に出力するとともに、当該フレーム/コマンド信号の読み出しを制御するコネクション制御信号を、PORT部13に出力する。また、LINK部12は、PORT部13からコネクション制御信号が入力されると、このコネクション制御信号に従い、TxFIFO部15からフレーム単位の信号(フレーム信号)を読み出し、フレーム/プリミティブ信号に変換してPHY部11に出力する。
PORT部13は、ポート層(Port Layer)の機能を司る機能部である。PORT部13は、LINK部12から入力されたコネクション制御信号をTRANSPORT部16に転送する。また、PORT部13は、TRANSPORT部16から入力されたコネクション制御信号をLINK部12に転送する。
RxFIFO部14は、LINK部12が出力したフレーム/コマンド単位のデータを保持する。また。TxFIFO部15は、TRANSPORT部16が出力したフレーム単位のデータを保持する。
TRANSPORT部16は、トランスポート層(Transport Layer)の機能を司る機能部である。TRANSPORT部16は、PORT部13からコネクション制御信号が入力されると、このコネクション制御信号に従い、RxFIFO部14からフレーム/コマンド信号を読み出す。
このとき、フレーム/コマンド信号で指示されたコマンドが、記憶媒体30からデータの読み取りを指示するリードコマンドである場合、TRANSPORT部16は、リード用変換テーブル161を介してバッファ管理モジュール20(後述するリード用AFIFO部21)にリード転送制御信号を送信することで、記憶媒体30から読み取られたフレーム単位のデータ(フレームデータ)をバッファ管理モジュール20から受け取る。そして、TRANSPORT部16は、フレームデータをRxFIFO部14に出力するとともに、当該フレームデータの読み出しを制御するコネクション制御信号を、PORT部13に出力する。ここで、リード用変換テーブル161は、リードコマンドにより読み出しの対象となったデータの格納アドレス等をバッファ管理モジュール20に指示する機能部である。
また、フレーム/コマンド信号で指示されたコマンドが、記憶媒体30へのデータの書き込みを指示するライトコマンドである場合、TRANSPORT部16は、ライト用変換テーブル162を介してバッファ管理モジュール20(後述する、ライト用AFIFO部23)にライト転送制御信号を送信するとともに、書き込み対象となったデータをバッファ管理モジュール20(後述するライト用AFIFO部23)に出力し、記憶媒体30に記憶させる。ここで、ライト用変換テーブル162は、ライトコマンドにより書き込みの対象となるデータのセクタカウントやバッファアドレス、LBA等をバッファ管理モジュール20に指示する機能部である。なお、データの書き込みに係る構成の詳細については後述する。
APP部17は、アプリケーション層(Application Layer)の機能を司る機能部である。APP部17は、TRANSPORT部16との間で種々のコマンドの遣り取りを行う。なお、PHY部11、LINK部12、PORT部13、TRANSPORT部16及びAPP部17は、それぞれのレイヤーに応じた専用チップを用いて実現する形態としてもよいし、何れか複数又は全てのレイヤーの機能を統合したチップを用いて実現する形態としてもよい。
次に、バッファ管理モジュール20について説明する。バッファ管理モジュール20は、データの読み取り及び書き込み時に用いるバッファを管理するためのモジュールである。バッファ管理モジュール20は、リード用AFIFO部21、リードバッファ22、ライト用AFIFO部23、ライトバッファ24及びクレジット管理部25を有している。なお、データ転送用の転送ポートを複数備える場合、リード用AFIFO部21及びライト用AFIFO部23は、対応する転送ポートのTRANSPORT部16とともに転送ポート毎に設けられることになる。
リード用AFIFO部21は、リード処理用の中間バッファである。リード用AFIFO部21は、TRANSPORT部16から入力されるリード転送制御信号に従い、リードバッファ22に格納されたセクタ単位のデータを読み出すと、フレーム単位のデータに変換し、TRANSPORT部16に出力する。リードバッファ22は、SRAMやDDRSDRAM等の半導体メモリであって、記憶媒体30から読み出したデータ(セクタ単位)を一時記憶する。
ライト用AFIFO部23は、ライト処理用の中間バッファである。ライト用AFIFO部23は、TRANSPORT部16から入力されるライト転送制御信号に従い、TRANSPORT部16から転送された書き込み対象となるフレーム単位のデータを、セクタ単位のデータに変換し、ライトバッファ24に格納する。
ライトバッファ24は、SRAMやDDRSDRAM等の半導体メモリであって、書き込み対象のデータを一時記憶し、当該データを所定のタイミングで記憶媒体30に書き込みを行う。ライトバッファ24は、データの一時記憶を行う領域を、所定のデータサイズを表すクレジット単位で管理している。ここで、1のクレジットが表すデータサイズは特に問わないものとするが、記憶媒体30での記憶単位に基づいて定めることが好ましい。例えば、記憶媒体30の記憶単位がセクタ単位の場合には、1セクタ分のデータサイズを1クレジットとすることが好ましく、記憶媒体30の記憶単位が複数のセクタから構成されるページ単位の場合には、1ページ分のデータサイズを1クレジットとすることが好ましい。なお、本実施形態では、1クレジットを、2のべき乗個のセクタ数(例えば、8セクタ)で構成されるページ単位とした例について説明する。
クレジット管理部25は、ライト用AFIFO部23及びライトバッファ24でのデータの入出力状態に基づいて、ライトバッファ24で現在使用することが可能なクレジット数(後述する現クレジット値)を管理する。また、クレジット管理部25は、書き込み対象のデータの転送に先駆けて、当該データの一時記憶に必要なクレジット数(後述する予約クレジット値)を確保し、その値を現クレジット値から減算した結果を、使用可能クレジット値としてTRANSPORT部16に通知する。
TRANSPORT部16では、クレジット管理部25から通知された使用可能クレジット値に基づいて、ホスト200から転送されるデータのデータサイズを決定し、XFER_RDY(トランスファーレディ)信号を用いてホスト200に通知することで、データの転送フェーズに移行させる。このように、TRANSPORT部16、ライト用AFIFO部23及びクレジット管理部25の協働により、ライトバッファ24を管理するライトバッファ管理部40が実現される(図1中破線部参照)。
以下、図2を参照して、ライトバッファ管理部40の構成について説明する。ここで、図2は、図1に示したライトバッファ管理部40の構成を模式的に示す図である。
ライトバッファ管理部40は、上述したライト用変換テーブル162、ライト用AFIFO部23、ライトバッファ24及びクレジット管理部25に加え、データ転送制御部44を備えている。ここで、データ転送制御部44は、各転送ポートのTRANSPORT部16に設けられる機能部である。
ライト用変換テーブル162は、ホスト200が出力したライトコマンドに応じて、書き込み対象となったデータのセクタカウントや、バッファアドレス、バイトカウント、LBA(論理ブロックアドレス)、記憶媒体30内部でのCRC符号(BCRC)、記憶媒体30内部でのECC(BECC)等を設定・保持し、ライト転送制御信号としてライト用AFIFO部23に出力する。ここで、セクタカウントは、ライト用AFIFO部23に出力するデータの総数、つまり後述するクレジット値に対応する。なお、セクタカウントは、後述するようにデータ転送制御部44との協働により決定される。
ライト用AFIFO部23は、上述したようにTRANSPORT部16から入力されるフレームデータをセクタ単位のデータに変換し、当該変換後のデータをライト転送制御信号に基づいてライトバッファ24に出力する。また、ライト用AFIFO部23は、ライトバッファ24への出力を開始すると、その旨をクレジット管理部25の後述するセレクタ422及び423に通知する。また、ライト用AFIFO部23は、TRANSPORT部16から通知されたセクタカウント数(予約クレジット値)分のデータを出力し終えると、その旨をクレジット管理部25の後述する現クレジットレジスタ41、セレクタ422及び423に通知する。
ライトバッファ24は、ライト用AFIFO部23から入力されたデータを一時記憶し、記憶媒体30に1クレジット分のデータを出力する毎に、その旨を現クレジットレジスタ41に通知する。
クレジット管理部25は、図2に示すように、現クレジットレジスタ41と、予約クレジット値管理部42と、減算器43と、データ転送制御部44とを機能部として有している。
現クレジットレジスタ41は、ライトバッファ24で現在使用することが可能なクレジットの個数を、現クレジット値として保持する機能部である。具体的に、現クレジットレジスタ41は、ライト用AFIFO部23から予約クレジット値分の出力通知に応じて、現クレジット値から、その出力通知に対応する予約クレジット値管理部42からの入力予約クレジット値を減算する。また、現クレジットレジスタ41は、ライトバッファ24から1クレジット分の出力が通知される毎に、現クレジット値を1インクリメントする。
このように、現クレジットレジスタ41では、ライト用AFIFO部23からのデータ出力(ライトバッファ24へのデータ入力)及びライトバッファ24からのデータ出力に応じて、現クレジット値をリアルタイムで更新する。この構成を採用することで、現クレジット値の管理をハードウェアで行うことが可能となるため、処理の高速化を図ることができる。なお、現クレジットレジスタ41は、データの書き込みが行われない初期状態において、ライトバッファ24の総クレジット値を保持しているものとする。
予約クレジット値管理部42は、ホスト200から転送(送信)されるデータのデータサイズに対応するクレジット数を、そのデータの転送前にデータ転送制御部44から受け付け、予約クレジット値として管理する機能部である。具体的に、予約クレジット値管理部42は、一又は複数の予約クレジットレジスタ421と、セレクタ422と、セレクタ423と、加算器424とを機能部として有している。
予約クレジットレジスタ421は、複数設けられており、ライトコマンドを用いて転送されるデータの予約クレジット値をそれぞれ保持する。なお、図2では、n個分(nは任意の正の整数)の予約クレジットレジスタ421を設けた例を示している。
セレクタ422及びセレクタ423は、何れかの転送ポートのライト用AFIFO部23から入力されるデータ出力開始の通知に応じて、予約クレジットレジスタ421の中から、転送(出力)対象のライトコマンドに対応する予約クレジット値を保持した予約クレジットレジスタ421を選択し、その予約クレジット値を現クレジットレジスタ41に出力する。また、セレクタ422は、何れかの転送ポートのライト用AFIFO部23から入力されるデータ出力完了の通知に応じて、転送(出力)の完了したライトコマンドに対応する予約クレジットレジスタ421をクリアする。
加算器424は、予約クレジットレジスタ421の各々が保持する予約クレジット値を加算し、その加算結果を減算器43に出力する。
減算器43は、現クレジットレジスタ41が保持する現クレジット値から、予約クレジット値管理部42が管理する予約クレジット値の総数、つまり加算器424の加算結果を減算し、この減算結果を使用可能クレジット値として、各転送ポート用のデータ転送制御部44に出力する。ここで、使用可能クレジット値は、現在使用することが可能なライトバッファ24のクレジット数(現クレジット値)から、転送が予定されているデータのデータサイズ(予約クレジット値)を減算したものとなる。つまり、この使用可能クレジット値を超えない範囲でライトバッファ24を使用することで、ライトバッファ24のバッファオーバーを防止することが可能となる。
データ転送制御部44は、クレジット管理部25(減算器43)から通知される使用可能クレジット値に基づいて、ホスト200から転送されるデータのデータサイズを決定する機能部である。
ここで、図3は、図2に示したデータ転送制御部44の構成を模式的に示す図である。同図に示すように、データ転送制御部44は、調停器441と、ページサイズ演算部442と、比較器443と、セレクタ444と、通知値演算部445とを備えている。
調停器441は、減算器43が出力する使用可能クレジット値へのアクセス競合を防ぐため、他の転送ポートのTRANSPORT部16(調停器441)との間で、使用可能クレジット値の使用要求を調停し、一つの調停器441に対して、使用可能クレジット値の使用許可を与える。具体的に、調停器441は、ライトコマンドによりライト用変換テーブル162の転送機能が起動されると、他の調停器441にクレジット管理部25の使用権を要求(Request)し、当該他の調停器441から使用権を獲得(Grant)することで、一つの調停器441が、使用可能クレジット値を使用可能な状態を実現する。また、調停器441は、セレクタ444からの予約クレジット値の出力に応じて、使用権を解放(Release)する。
ページサイズ演算部442は、調停器441が使用権を獲得すると、ライト用変換テーブル162に保持された、ライトコマンド受領時のセクタカウントとLBAとに基づいて、当該データがページ単位に分解された場合のページサイズを算出する。具体的に、ページサイズ演算部442は、1ページが2のべき乗のセクタ数で構成される場合、下記式(1)に基づいて演算することで、書き込み対象のデータがページ単位に分解された場合のページサイズを算出する。なお、下記式(1)において、“n”は1以上の整数である。
Figure 0005349515
比較器443は、減算器43から通知された使用可能クレジット値と、予め定められたデータ書き込み時の最大ページサイズを示す最大XFER_RDY設定値と、ページサイズ演算部442が算出したページサイズとを比較し、各値が示すデータサイズが最小の値のものを選択する。なお、最大XFER_RDY設定値は、図示しない記録媒体に予め記憶されているものとする。
セレクタ444は、比較器443が選択した値を、予約クレジット値として自己の転送ポート用の予約クレジットレジスタ421に出力することで、予約クレジット値の登録を行う。
通知値演算部445は、ライト用変換テーブル162に保持された、書き込み対象データのセクタカウント及びLBAと、比較器443の選択結果とに基づいて、ホスト200及びライト用AFIFO部23に通知するセクタカウント(以下、通知用セクタカウントという)を導出する。具体的に、通知値演算部445は、比較器443が使用可能クレジット値を選択した場合、下記式(2)を用いて通知用セクタカウントを算出する。なお、下記式(2)では、1ページが2のべき乗のセクタ数で構成される場合を想定している。
Figure 0005349515
また、通知値演算部445は、最大XFER_RDY設定値が選択されると、この最大XFER_RDY設定値に1ページを構成するセクタ数を乗算した値を、通知用セクタカウントとする。また、通知値演算部445は、ページサイズ演算部442が算出したページサイズが選択されると、このページサイズに1ページを構成するセクタ数を乗算した値を、通知用セクタカウントとする。
そして、通知値演算部445は、導出した通知用セクタカウントを、XFER_RDY(トランスファーレディ)信号として、SASモジュール10を介してホスト200に通知する。また、通知値演算部445は、導出した通知用セクタカウントを、ライト用AFIFO部23に通知する。これにより、ホスト200では、XFER_RDY信号に応じて、このXFER_RDY信号で通知した通知用セクタカウント分のデータ転送を開始する。また、ライト用変換テーブル162では、転送されたデータに応じたライト転送制御信号をライト用AFIFO部23に出力し、ライト用AFIFO部23へのデータ出力を開始する。
このように、データ転送制御部44では、使用可能クレジット値、最大XFER_RDY設定値及びページサイズ演算部442が算出したページサイズのうち、データサイズが最小のものを選択し、当該データサイズを予約クレジット値として予約クレジットレジスタ421に登録するとともに、当該データサイズのデータをホスト200から送信させるため、ライトバッファ24でのバッファオーバーの発生を確実に防ぐことができる。
次に、図2、図4及び図5を参照して、ライトバッファ管理部40の動作について説明する。ここで、図4は、ライトバッファ管理部40の制御シーケンスの一例を示す図である。なお、図4では、単一の転送ポート(転送ポート#0)によりデータ転送が行われる例を示している。
まず、時刻t10の時点において、現クレジットレジスタ41に保持された現クレジット値が「‘d64」、各予約クレジットレジスタ421に格納された予約クレジット値が「0」であるとする。このとき、減算器43が出力する使用可能クレジット値は、現クレジット値と同じ「‘d64」となる。
続く時刻t11に、転送ポート#0のデータ転送制御部44から、予約クレジットレジスタ421に予約クレジット値「‘d8」が登録され、転送ポート#0のライト用AFIFO部23へのデータ転送が開始されると、減算器43が出力する使用可能クレジット値は「‘d64」から「‘d8」を減算した「‘d56」となる。
続いて、転送ポート#0のライト用AFIFO部23からライトバッファ24にデータ(セクタ単位)が順次転送され、時刻t12において、ライトバッファ24が1クレジット分のデータを記憶媒体30に出力すると、現クレジットレジスタ41は、この記憶媒体30への出力に応じて、現クレジット値を1インクリメントし「‘d65」とする。また、この時、減算器43が出力する使用可能クレジット値は、「‘d65」から「‘d8」を減算した「‘d57」となる。
また、時刻t13において、ライトバッファ24が1クレジット分のデータを記憶媒体30に出力すると、現クレジットレジスタ41は、この記憶媒体30への出力に応じて、現クレジット値を「‘d66」とするため、減算器43が出力する使用可能クレジット値は「‘d58」となる。また、時刻t14において、ライトバッファ24が1クレジット分のデータを記憶媒体30に出力すると、現クレジットレジスタ41は、この記憶媒体30への出力に応じて、現クレジット値を「‘d67」とするため、減算器43が出力する使用可能クレジット値は「‘d59」となる。
続く、時刻t15において、転送ポート#0のライト用AFIFO部23からライトバッファ24へのデータ転送が完了すると、現クレジットレジスタ41は、現クレジット値「‘d67」から、この転送ポート#0のデータ転送に用いた予約クレジットレジスタ421が保持する予約クレジット値「‘d8」を減算することで、現クレジット値を「‘d59」とする。また、セレクタ422は、ライトバッファ24への出力完了に応じて、転送ポート#0に対応する予約クレジットレジスタ421をクリアする。なお、この時に減算器43が出力する使用可能クレジット値は「‘d59」となるため、従前の値が維持されることになる。
時刻t16から時刻t19にかけて、ライトバッファ24から3クレジット分のデータが記憶媒体30に順次出力されると、上記と同様の制御により、現クレジット値及び使用可能クレジット値は「‘d60」から「‘d63」に順次上昇する。そして、時刻t20において、ライトバッファ24からのデータ出力が完了すると、現クレジットレジスタ41は、これに応じて、現クレジット値を「‘d64」とするため、減算器43が出力する使用可能クレジット値は「‘d64」となる。
図5は、ライトバッファ管理部40の制御シーケンスの他の例を示す図である。なお、図5では、複数の転送ポート(転送ポート#0及び#1)によりデータ転送が行われる例を示している。
まず、時刻t30の時点において、現クレジットレジスタ41に保持された現クレジット値が「‘d64」、各予約クレジットレジスタ421に格納された予約クレジット値が「0」であるとする。このとき、減算器43が出力する使用可能クレジット値は、現クレジット値と同じ「‘d64」となる。
続く時刻t31に、転送ポート#0のデータ転送制御部44から、予約クレジットレジスタ421に予約クレジット値「‘d8」が登録され、転送ポート#0のライト用AFIFO部23にデータの転送が開始されると、減算器43が出力する使用可能クレジット値は「‘d64」から「‘d8」を減算した「‘d56」となる。
続いて、転送ポート#0のライト用AFIFO部23からライトバッファ24にデータ(セクタ単位)が順次出力され、時刻t32において、ライトバッファ24が1クレジット分のデータを記憶媒体30に出力すると、現クレジットレジスタ41は、この記憶媒体30への出力に応じて、現クレジット値を1インクリメントし「‘d65」とする。また、この時、減算器43が出力する使用可能クレジット値は、「‘d65」から「‘d8」を減算した「‘d57」となる。
時刻t33において、転送ポート#1のデータ転送制御部44から、他の予約クレジットレジスタ421に予約クレジット値「‘d4」が登録され、転送ポート#1のライト用AFIFO部23にデータの転送が開始されると、減算器43が出力する使用可能クレジット値は「‘d57」から「‘d4」を減算した「‘d53」となる。
続く、時刻t34から時刻t36にかけて、ライトバッファ24から3クレジット分のデータが記憶媒体30に順次出力されると、上記と同様の制御により、現クレジット値は「‘d66」から「‘d68」に順次上昇し、これに応じて使用可能クレジット値は「‘d54」から「‘d56」に順次上昇する。
続く、時刻t37において、転送ポート#1のライト用AFIFO部23からライトバッファ24へのデータ転送が完了すると、現クレジットレジスタ41は、現クレジット値「‘d68」から、この転送ポート#1のデータ転送に用いた予約クレジットレジスタ421が保持する予約クレジット値「‘d4」を減算することで、現クレジット値を「‘d64」とする。また、セレクタ422は、ライトバッファ24へ転送完了に応じて、転送ポート#1に対応する予約クレジットレジスタ421をクリアする。なお、この時に減算器43が出力する使用可能クレジット値は、現クレジット値「‘d64」から転送ポート#0の予約クレジット値「‘d8」を減算した「‘d56」となるため、従前の値が維持されることになる。
時刻t38、t39において、ライトバッファ24から記憶媒体30に2クレジット分のデータが順次出力されると、上記と同様の制御により、現クレジット値は「‘d65」から「‘d66」に上昇し、これに応じて使用可能クレジット値は「‘d57」から「‘d58」に上昇する。
続く時刻t40において、転送ポート#0のライト用AFIFO部23からライトバッファ24へのデータの出力が完了すると、現クレジットレジスタ41は、現クレジット値「‘d66」から、この転送ポート#0のデータ転送に用いた予約クレジットレジスタ421が保持する予約クレジット値「‘d8」を減算することで、現クレジット値を「‘d58」とする。また、セレクタ422は、ライトバッファ24への出力完了に応じて、データ出力が行われた転送ポート#0に対応する予約クレジットレジスタ421をクリアする。さらに、同タイミングで、ライトバッファ24から1クレジット分のデータが記憶媒体30に出力されると、現クレジットレジスタ41は、現クレジット値を1インクリメントすることで「‘d59」とする。なお、この時に減算器43が出力する使用可能クレジット値は「‘d59」となる。
時刻t41から時刻t44にかけて、ライトバッファ24から記憶媒体30に4クレジット分のデータが記憶媒体30に順次出力されると、上記と同様の制御により、現クレジット値は「‘d60」から「‘d63」に順次上昇し、これに応じて使用可能クレジット値は「‘d60」から「‘d63」に順次上昇する。そして、時刻t45において、ライトバッファ24からのデータ出力が完了すると、現クレジットレジスタ41は、これに応じて、現クレジット値を「‘d64」とするため、減算器43が出力する使用可能クレジット値は「‘d64」となる。
このように、ライトバッファ管理部40では、ライトバッファ24の使用可能クレジット値を動的に更新するため、データ転送制御部44ではリアルタイムに使用可能クレジット値を把握しながら、データの書き込み量を制御することができる。
次に、図3及び図6を参照して、データ転送制御部44の動作について説明する。ここで、図6は、データ転送制御部44の制御シーケンスの一例を示す図である。
まず、時刻t50において、ライトコマンドにより何れかの転送ポートのライト用変換テーブル162の転送機能が起動されると、調停器441は、時刻t51において、使用権の要求(Request)を開始する。続く、時刻t52において、調停器441が使用権を獲得(Grant)すると、データ転送制御部44は、時刻t53から時刻t54にかけて、ページサイズ演算部442、比較器443及びセレクタ444の機能により予約クレジット値を決定(選択)し、他の予約クレジット値が未登録の一の予約クレジットレジスタ421に登録する。また、調停器441では、予約クレジット値の登録に伴い、時刻t54から時刻t55にかけて、使用権を開放(Release)し、他の調停器441に使用権を引き渡す。
一方、通知値演算部445では、時刻t53からt55にかけて、比較器443で選択された予約クレジット値に基づき通知用セクタカウントを導出すると、この値をXFER_RDY信号としてホスト200に通知するとともに、自己の転送ポートに対応するライト用AFIFO部23に通知する。そして、ホスト200へのXFER_RDY信号の通知に応じ、時刻t56からt57にかけて、当該ホスト200から書き込み対象のデータが、XFER_RDY信号で通知したデータサイズ(セクタカウント)分転送され、ライト用AFIFO部23に出力が行われる。
このように、データ転送制御部44では、書き込みデータの転送に先駆けて、予約クレジット値を予約クレジットレジスタ421に登録し、この予約クレジット値に応じたデータサイズの送信を、XFER_RDY信号を介してホスト200に通知することで、予約クレジット値分のデータがホスト200から転送される。
以上のように、本実施形態によれば、ライトバッファ24で現在使用することが可能な現クレジット値と、ホスト200から転送予定のデータの一時記憶に必要な予約クレジット値とを管理し、現クレジット値から予約クレジット値を減算した使用可能クレジット値を出力する。これにより、ホスト200からデータが転送される時点での空き容量、つまり使用可能クレジット値を特定することができるため、ライトバッファ24の空き容量管理をより正確に行うことが可能となる。
また、データ転送制御部44は、クレジット管理部25の減算器43が出力した使用可能クレジット値に基づいて、ホスト200が転送するデータのデータサイズを決定し、このデータサイズの受領可能を指示したXFER_RDY信号を、ホスト200に通知するとともに、当該データの一時記憶に必要な予約クレジット値を予約クレジットレジスタ421に登録する。これにより、使用可能クレジット値に基づいて、新たに転送されるデータのデータサイズと、その予約クレジット値とを決定することができるため、ホスト200に通知した時点でのライトバッファの空き容量と、ホスト200からデータが転送された時点でのライトバッファの空き容量とを同値とすることができ、バッファオーバーの発生を防止することが可能となる。また、本実施形態では、転送チャンネル毎にデータ転送制御部44を設け、当該データ転送制御部44の調停器441により、データ転送の際の競合を防ぐことができるため、複数のライトコマンドを同時に実行することができる。
以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、追加等を行うことができる。また、上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上記実施形態のライトバッファ管理部40では、ライト用AFIFO部23が通知されたセクタカウント分のデータをライトバッファ24に出力した時点で、予約クレジットレジスタ421に登録された予約クレジット値をクリアする形態としたが、これに限らず、ライト用AFIFO部23から1クレジット分のデータが出力される毎に、該当する予約クレジット値から1デクリメントする形態としてもよい。以下、この形態について、図7を参照して説明する。
図7は、上述したライトバッファ管理部40の変形例であるライトバッファ管理部40Aの構成を模式的に示す図である。なお、上述したライトバッファ管理部40と同様の構成要素については、同一の符号を付与し、説明を省略する。
図7に示すように、ライトバッファ管理部40Aは、クレジット管理部25Aとして、現クレジットレジスタ41Aと、予約クレジット値管理部42Aと、減算器43とを機能部として有している。また、ライトバッファ24は、ライト用AFIFO部23から1クレジット分のデータが入力される毎に、その旨を現クレジットレジスタ41A及び予約クレジット値管理部42Aに通知する点が、ライトバッファ管理部40の構成と異なっている。
ここで、現クレジットレジスタ41Aは、ライトバッファ24から1クレジット分のデータの入力が通知される毎に、現クレジット値を1デクリメントする点が、上述した現クレジットレジスタ41と異なっている。
また、予約クレジット値管理部42Aは、一又は複数の予約クレジットレジスタ421と、セレクタ422Aと、セレクタ423Aと、加算器424とを機能部として有している。ここで、セレクタ422A及びセレクタ423Aは、ライトバッファ24から1クレジット分のデータの入力が通知される毎に、このデータを出力したライト用AFIFO部23の転送ポートに対応する対応する予約クレジットレジスタ421から、予約クレジット値を1デクリメントし、このデクリメント後の予約クレジット値を現クレジットレジスタ41Aに出力する点が、上述したセレクタ422及びセレクタ423と異なっている。
このように、ライトバッファ管理部40Aを構成することで、予約クレジット値をリアルタイムで更新することができる。なお、減算器43から通知される使用可能クレジット値は、ライトバッファ管理部40の構成と同様となるため、上記実施形態と同様の効果を奏することができる。
また、上記実施形態では、1ページを構成するセクタ数を2のべき乗としたが、これに限らず、2のべき乗以外の任意の値としてもよい。なお、1ページを構成するセクタ数を2のべき乗以外の値とする場合には、ページサイズ演算部442で、下記式(3)を用いてページサイズを算出するものとする。なお、下記式(3)において、“m”は2のべき乗以外の1以上の整数である。
Figure 0005349515
また、最大XFER_RDY設定値が2のべき乗ベースで定められている場合には、上記式(3)の“セクタカウント”を最大XFER_RDY設定値とすることで、当該最大XFER_RDY設定値を2のべき乗以外のページサイズに変換する。
さらに、比較器443が使用可能クレジット値を選択した場合には、下記式(4)を用いて通知用セクタカウントを導出するものとする。
Figure 0005349515
以上の構成とすることで、1ページが2のべき乗以外のセクタ数で構成される記憶媒体30に対応することができるため、ライトバッファ管理部40の汎用性を向上させることができる。
100 記憶装置
10 SASモジュール
11 PHY部
12 LINK部
13 PORT部
14 RxFIFO部
15 TxFIFO部
16 TRANSPORT部
161 リード用変換テーブル
162 ライト用変換テーブル
17 APP部
20 バッファ管理モジュール
21 リード用AFIFO部
22 リードバッファ
23 ライト用AFIFO部
24 ライトバッファ
25、25A クレジット管理部
30 記憶媒体
40、40A ライトバッファ管理部
41、41A 現クレジットレジスタ
42、42A 予約クレジット値管理部
421 予約クレジットレジスタ
422、422A セレクタ
423、423A セレクタ
424 加算器
43 減算器
44 データ転送制御部
441 調停器
442 ページサイズ演算部
443 比較器
444 セレクタ
445 通知値演算部
200 ホスト

Claims (10)

  1. 所定のデータサイズを表すクレジット単位で記憶領域を管理し、外部装置から転送されるデータを一時記憶するバッファメモリと、
    前記バッファメモリで現在使用することが可能なクレジット数を、現クレジット値として保持する現クレジット保持手段と、
    予約クレジット保持手段と、
    前記外部装置から前記バッファメモリへのデータの転送に先駆けて、当該データの一時記憶に必要なクレジット数を、予約クレジット値として前記予約クレジット保持手段に登録する転送制御手段と、
    前記現クレジット保持手段が保持する前記現クレジット値から、前記予約クレジット保持手段に登録された前記予約クレジット値を減算し、当該減算結果を使用可能クレジット値として出力する減算手段と、
    を備えるバッファ管理装置。
  2. 前記現クレジット保持手段は、前記予約クレジット値分のデータが前記バッファメモリに転送される毎に、当該予約クレジット値を前記現クレジット値から減算するとともに、前記バッファメモリから前記クレジット単位分のデータが出力される毎に、前記現クレジット値を1インクリメントし、
    前記予約クレジット保持手段は、前記予約クレジット値分のデータの前記バッファメモリへの転送に応じて、自己が保持する前記予約クレジット値をクリアする請求項1に記載のバッファ管理装置。
  3. 外部装置から転送されたデータを前記クレジット単位又は当該クレジットを構成する構成単位に変換し、前記バッファメモリに転送する中間バッファを更に備え、
    前記現クレジット保持手段は、前記中間バッファによる前記予約クレジット値分のデータの転送完了に応じて、当該予約クレジット値を前記現クレジット値から減算し、
    前記予約クレジット保持手段は、前記中間バッファによる前記予約クレジット値分のデータの転送完了に応じて、自己が保持する前記予約クレジット値をクリアする請求項2に記載のバッファ管理装置。
  4. 前記現クレジット保持手段は、前記クレジット単位分のデータが前記バッファメモリに転送される毎に、前記現クレジット値を1デクリメントする請求項2に記載のバッファ管理装置。
  5. 前記転送制御手段は、前記減算手段が出力した前記使用可能クレジット値に基づいて、前記外部装置が転送するデータのデータサイズと、当該データサイズに応じた前記予約クレジット値とを決定する請求項1〜4の何れか一項に記載のバッファ管理装置。
  6. 前記転送制御手段は、外部装置からのライトコマンドにより書き込みが要求されたデータのデータサイズを、前記クレジットの単位系に変換する変換手段と、
    前記変換手段で変換されたデータサイズと、前記使用可能クレジット値と、予め定められた受領可能なクレジット数の最大値とを比較し、その最小値を前記予約クレジット値として選択する選択手段と、
    前記選択手段が選択した前記予約クレジット値分のデータサイズを指示した、トランスファーレディ信号を前記外部装置に通知する通知手段と、
    を更に有する請求項5に記載のバッファ管理装置。
  7. 前記転送制御手段と前記予約クレジット保持手段とを複数備え、
    前記転送制御手段は、他の前記転送制御手段との間で、前記使用可能クレジット値の使用要求を調停し、一つの前記転送制御手段に対して、前記使用可能クレジット値の使用許可を与える調停手段を更に備え、
    前記減算手段は、前記現クレジット保持手段が保持する前記現クレジット値から、前記予約クレジット保持手段の各々に保持された前記予約クレジット値の合計値を減算し、当該減算結果を前記使用可能クレジット値として出力する請求項1〜の何れか一項に記載のバッファ管理装置。
  8. 前記クレジットは、1セクタ又は複数のセクタで構成される1ページ分のデータサイズを単位とする請求項1〜の何れか一項に記載のバッファ管理装置。
  9. 所定のデータサイズを表すクレジット単位で記憶領域を管理し、外部装置から転送されるデータを一時記憶するバッファメモリのバッファ管理方法であって、
    前記バッファメモリで現在使用することが可能なクレジット数を、現クレジット値として現クレジット保持手段に保持する現クレジット保持工程と、
    前記バッファメモリへのデータの転送に先駆けて、当該データの一時記憶に必要なクレジット数を、予約クレジット値として予約クレジット保持手段に登録するデータ転送制御工程と、
    前記現クレジット保持手段に保持された前記現クレジット値から、前記予約クレジット保持手段に登録された前記予約クレジット値を減算し、当該減算結果を使用可能クレジット値として出力する減算工程と、
    を含むバッファ管理方法。
  10. ホスト装置と接続可能な接続手段と、
    所定のデータサイズを表すクレジット単位で記憶領域を管理し、前記ホスト装置から転送されるデータを一時記憶するバッファメモリと、
    前記バッファメモリに一時記憶されたデータの書き込み先となる記憶媒体と、
    前記バッファメモリで現在使用することが可能なクレジット数を、現クレジット値として保持する現クレジット保持手段と、
    予約クレジット保持手段と、
    前記ホスト装置から前記バッファメモリへのデータの転送に先駆けて、当該データの一時記憶に必要なクレジット数を、予約クレジット値として前記予約クレジット保持手段に登録する転送制御手段と、
    前記現クレジット保持手段が保持する前記現クレジット値から、前記予約クレジット保持手段に登録された前記予約クレジット値を減算し、当該減算結果を使用可能クレジット値として出力する減算手段と、
    を備える記憶装置。
JP2011055669A 2011-03-14 2011-03-14 バッファ管理装置、バッファ管理方法及び記憶装置 Expired - Fee Related JP5349515B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011055669A JP5349515B2 (ja) 2011-03-14 2011-03-14 バッファ管理装置、バッファ管理方法及び記憶装置
US13/285,347 US8904065B2 (en) 2011-03-14 2011-10-31 Buffer management device, buffer management method, and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011055669A JP5349515B2 (ja) 2011-03-14 2011-03-14 バッファ管理装置、バッファ管理方法及び記憶装置

Publications (2)

Publication Number Publication Date
JP2012190415A JP2012190415A (ja) 2012-10-04
JP5349515B2 true JP5349515B2 (ja) 2013-11-20

Family

ID=46829388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011055669A Expired - Fee Related JP5349515B2 (ja) 2011-03-14 2011-03-14 バッファ管理装置、バッファ管理方法及び記憶装置

Country Status (2)

Country Link
US (1) US8904065B2 (ja)
JP (1) JP5349515B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237170A1 (en) * 2011-09-13 2014-08-21 Kabushiki Kaisha Toshiba Storage device, and read command executing method
CN103023613B (zh) * 2012-12-14 2018-06-01 中兴通讯股份有限公司 一种对数据帧长度进行校验的方法及装置
US9075557B2 (en) * 2013-05-15 2015-07-07 SanDisk Technologies, Inc. Virtual channel for data transfers between devices
JP6331787B2 (ja) * 2014-07-08 2018-05-30 富士通株式会社 データ送受信システム、データ送信装置およびデータ送受信システムの制御方法
US10061734B2 (en) 2015-05-20 2018-08-28 International Business Machines Corporation Adjustment of buffer credits and other parameters in a startup phase of communications between a plurality of channels and a control unit
US9864716B2 (en) * 2015-05-20 2018-01-09 International Business Machines Corporation Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit
US9892065B2 (en) * 2015-05-20 2018-02-13 International Business Machines Corporation Adjustments of buffer credits for optimizing the number of retry operations and transfer ready operations
US9934174B2 (en) * 2015-09-18 2018-04-03 Seagate Technology Llc Selectively enable data transfer based on accrued data credits
US10257098B1 (en) * 2015-12-29 2019-04-09 Amazon Technologies, Inc. Credit mechanisms for packet policing
US10249017B2 (en) * 2016-08-11 2019-04-02 Intel Corporation Apparatus and method for shared resource partitioning through credit management
CN106843769B (zh) * 2017-01-23 2019-08-02 北京齐尔布莱特科技有限公司 一种接口数据缓存方法、装置和计算设备
US10235082B1 (en) * 2017-10-18 2019-03-19 EMC IP Holding Company LLC System and method for improving extent pool I/O performance by introducing disk level credits on mapped RAID
US10996888B2 (en) * 2017-10-31 2021-05-04 Qualcomm Incorporated Write credits management for non-volatile memory
US11409436B2 (en) 2018-08-08 2022-08-09 Micron Technology, Inc. Buffer management in memory systems for read and write requests
US11231963B2 (en) * 2019-08-15 2022-01-25 Intel Corporation Methods and apparatus to enable out-of-order pipelined execution of static mapping of a workload
US11297006B1 (en) * 2020-06-03 2022-04-05 Cisco Technology, Inc. Use of virtual lanes to solve credit stall on target ports in FC SAN

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110653A (ja) * 1992-09-25 1994-04-22 Tokyo Electron Ltd メモリシステム及びそれを用いたメモリ制御方法
JP2576775B2 (ja) * 1993-10-08 1997-01-29 日本電気株式会社 磁気テープ先読み制御装置
JPH0854993A (ja) * 1994-08-11 1996-02-27 Ricoh Co Ltd 受信データ制御装置
JP2943710B2 (ja) * 1996-08-02 1999-08-30 日本電気株式会社 バッファのビジー制御方式
JPH11175312A (ja) * 1997-12-08 1999-07-02 Ricoh Co Ltd データ転送制御装置
JP4403677B2 (ja) * 2001-08-27 2010-01-27 ブラザー工業株式会社 通信装置及び通信システム
JP4291664B2 (ja) * 2003-10-14 2009-07-08 株式会社日立製作所 通信バッファ予約機能を備えるストレージ装置およびシステム
JP2005267502A (ja) 2004-03-22 2005-09-29 Hitachi Ltd データ転送用スイッチ
EP1746510A4 (en) * 2004-04-28 2008-08-27 Matsushita Electric Ind Co Ltd NONVOLATILE STORAGE DEVICE AND DATA WRITING METHOD
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
WO2007097007A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited メモリ制御装置およびメモリ制御方法
US7536584B2 (en) 2006-06-08 2009-05-19 Dot Hill Systems Corporation Fault-isolating SAS expander
EP2052326B1 (en) 2006-06-08 2012-08-15 Dot Hill Systems Corporation Fault-isolating sas expander
JP4881887B2 (ja) * 2008-01-30 2012-02-22 アラクサラネットワークス株式会社 トラフィックシェーピング機能および装置
US8045472B2 (en) * 2008-12-29 2011-10-25 Apple Inc. Credit management when resource granularity is larger than credit granularity
US8180955B2 (en) * 2009-05-06 2012-05-15 Via Telecom, Inc. Computing systems and methods for managing flash memory device
JP4874368B2 (ja) 2009-06-22 2012-02-15 株式会社日立製作所 フラッシュメモリを用いたストレージシステムの管理方法及び計算機
US9426083B2 (en) * 2009-09-29 2016-08-23 Hewlett Packard Enterprise Development Lp Consistency checking for credit-based control of data communications
US8856399B2 (en) * 2010-08-17 2014-10-07 Pmc Sierra Israel Ltd. System and method for determining non-fragmentation for communication of packets

Also Published As

Publication number Publication date
US8904065B2 (en) 2014-12-02
JP2012190415A (ja) 2012-10-04
US20120239833A1 (en) 2012-09-20

Similar Documents

Publication Publication Date Title
JP5349515B2 (ja) バッファ管理装置、バッファ管理方法及び記憶装置
JP5551512B2 (ja) 通信制御装置、データ通信方法及びプログラム
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
KR100619806B1 (ko) 디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템
US11036659B2 (en) Memory system for receiving communication information from external device via virtual channels and control method of memory system
JP5330513B2 (ja) 調停装置、調停システム、調停方法、半導体集積回路、及び画像処理装置
JP6487142B2 (ja) 格納装置、フラッシュメモリ及び格納装置の動作方法
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
WO2013128494A1 (en) Storage system and data transfer control method
US7165124B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
US9798492B2 (en) Semiconductor device including a plurality of function blocks
CN114253461A (zh) 混合通道存储设备
CN114253462A (zh) 提供混合通道存储设备的方法
US9910812B2 (en) Initiating multiple data transactions on a system bus
CN113485643B (zh) 用于数据存取的方法及数据写入的控制器
CN105740713B (zh) 一种基于优先级的tpm读写控制方法
KR102334473B1 (ko) 적응형 딥러닝 가속 장치 및 방법
US20040230734A1 (en) Data transfer control system, electronic instrument, and data transfer control method
US8713205B2 (en) Data transfer device and data transfer method
JP6395203B2 (ja) データ制御システム、データ制御方法およびデータ制御用プログラム
US20080104286A1 (en) Data transfer apparatus and data transfer method
JP4862593B2 (ja) データ転送装置及び画像形成装置
KR102438319B1 (ko) 공통 메모리 인터페이스 장치 및 방법
JP2007011884A (ja) データ転送装置
CN115017093A (zh) 一种片上外部总线通信的方法以及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130304

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130304

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130701

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: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130820

LAPS Cancellation because of no payment of annual fees