(57)【要約】【課題】２つの転送モードに対応して転送処理を行う。【解決手段】物理アドレス空間が連続していない複数の領域から構成される第１のホストシステムが認識可能な第１のコマンドセットはCで示されるコマンドである。物理アドレス空間が連続している第２のホストシステムが認識可能な第２のコマンドセットは、Bで示されるコマンドである。そして、これらに対して、ストレージシステムが認識可能なコマンドセットは、Cで示される第１のコマンドセットと、Bで示される第２のコマンドセットとを含む、Aで示されるコマンドセットとなる。換言すれば、ストレージシステムが認識可能なコマンドセットは、第１のホストシステムが認識可能な第１のコマンドセットと、第２のホストシステムが認識可能な第２のコマンドセットの２種類のコマンドセットであるといえる。本発明は、ストレージシステムに適用できる。【選択図】図１１
2011008824.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶手段と、
第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、
前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段と
を備える情報記憶装置。
【請求項２】
前記第２のデータ転送モードは、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納される前記第２の記憶手段の物理アドレスを指定するデータ転送モードである
請求項１に記載の情報記憶装置。
【請求項３】
第１のレジスタと、
第２のレジスタと
をさらに備え、
前記第１のデータ転送モードは、前記情報処理装置が情報の授受に関わる前記第２の記憶手段の物理アドレスを前記第１のレジスタに設定するデータ転送モードであり、前記第２のデータ転送モードは、前記情報処理装置が前記リストが格納された前記第２の記憶手段の物理アドレスを前記第２のレジスタに設定するデータ転送モードである
請求項２に記載の情報記憶装置。
【請求項４】
前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられる
請求項１に記載の情報記憶装置。
【請求項５】
前記コマンド解析手段により解析可能なコマンドセットは、前記第１のデータ転送モードに適応するコマンドを含む第１のコマンドセットと、前記第２のデータ転送モードに適応するコマンドを含む第２のコマンドセットとを含む
請求項１に記載の情報記憶装置。
【請求項６】
前記第１のデータ転送モードに適応するコマンドと、前記第２のデータ転送モードに適応するコマンドとは、同様の処理を指令する異なるコマンドを含む
請求項５に記載の情報記憶装置。
【請求項７】
前記第１のコマンドセットのうちの一部と、前記第２のコマンドセットのうちの一部とは、同一のコマンドを含む
請求項５に記載の情報記憶装置。
【請求項８】
第１の記憶手段を備える情報記憶装置が、
第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドを解析し、
情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、
判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する
ステップを含む情報転送方法。
【請求項９】
第１の記憶手段を備える情報記憶装置のコンピュータに、
第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドを解析し、
情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、
判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する
ステップを含む処理を実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
情報記憶装置と、
前記情報記憶装置と情報を授受する情報処理装置と
で構成され、
前記情報記憶装置は、
第１の記憶手段と、
前記情報処理装置から他からの要求によらずに供給されるコマンドを解析し、情報の授受に関わる前記情報処理装置の第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、
前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段と
を備え、
前記情報処理装置は、
前記第２の記憶手段と、
前記第１のデータ転送モードおよび前記第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを前記情報記憶装置に送出するコマンド送出手段と
を備える情報転送システム。
【請求項１２】
第１の記憶手段と、
情報の授受に関わる前記第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出するコマンド送出手段と
を備える情報処理装置。
【請求項１３】
前記第２のデータ転送モードは、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納される前記第１の記憶手段の物理アドレスを指定するデータ転送モードである
請求項１２に記載の情報処理装置。
【請求項１４】
前記第１のデータ転送モードは、前記情報処理装置が情報の授受に関わる前記第１の記憶手段の物理アドレスを前記情報記憶装置のレジスタに設定するデータ転送モードであり、前記第２のデータ転送モードは、前記情報処理装置が前記リストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置のレジスタに設定するデータ転送モードである
請求項１３に記載の情報処理装置。
【請求項１５】
前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられる
請求項１２に記載の情報処理装置。
【請求項１６】
第１の記憶手段を備える情報処理装置が、
情報の授受に関わる前記第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出する
ステップを含む情報転送方法。
【請求項１７】
第１の記憶手段を備える情報処理装置のコンピュータに、
情報の授受に関わる前記第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出する
ステップを含む処理を実行させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記憶装置、情報転送方法、情報転送システム、情報処理装置、プログラム、並びに、記録媒体に関し、特に、情報を転送する場合に用いて好適な、情報記憶装置、情報転送方法、情報転送システム、情報処理装置、プログラム、並びに、記録媒体に関する。
【背景技術】
【０００２】
従来、メモリを内蔵するメモリカードなどが接続されるデータ処理装置が用いられている（例えば、特許文献１参照）。
【０００３】
また、従来、ホストとストレージとの間でデータを転送するために、DMA（Direct Memory Access）コントローラが用いられていた。Direct Memory Accessとは、機械語の命令群によらず、メモリとメモリまたはメモリとI/Oデバイスの間で直接データを転送することである。DMAコントローラとは、DMA機能を制御するためのコントローラである。
【０００４】
DMAを機能を用いたデータ転送には、データ転送アドレスおよびデータ転送サイズなどのデータ転送制御情報が記載された記述子を用いてデータ転送を行う場合と、転送子を用いず、転送情報をレジスタ等に直接書き込むことによりデータ転送を行う場合とがある。
【０００５】
記述子を用いた転送方法は、例えば、図１に示されるように、パーソナルコンピュータなどに用いられているメモリシステムのようにページ毎に管理された乖離した物理アドレス空間、すなわち、連続した論理アドレス空間に記憶されているものと定義されている情報が、実際の物理アドレス空間においては、複数に乖離されて記憶されている場合におけるデータ転送に用いると好適である。これに対して、図１に示される場合において、転送情報をレジスタ等に直接書き込むことによりデータ転送を行うと、転送の区切り毎にレジスタに転送情報を書き込む必要が発生して、転送のオーバーヘッドを増加させてしまい、転送レートを低下させる要因となりうる。
【０００６】
これに対して、図２に示されるように、論理アドレス空間における場合と同様に連続する物理アドレス空間を確保できるような組み込みシステムにおいて、記述子を用いたデータ転送を行った場合、記述子の自動取得にかかる転送時間が転送のオーバーヘッドとなり転送レートを低下させる要因となりうる。
【０００７】
図３を参照して、従来におけるデータ転送の例について説明する。
【０００８】
ホストシステム１とストレージシステム２とは、共通バス３によって接続されている、  
【０００９】
ＤＭＡコントローラ１２には、記述子を用いたデータ転送を行うか、または、記述子を用いずに転送情報をレジスタ等に直接書き込むことによりデータ転送を行うかのいずれのデータ転送モードでデータが転送されるかが設定されている。
【００１０】
図示しない操作入力部により、データ転送の指令を受けた場合、ホストシステム１のＣＰＵ１１は、ＤＭＡコントローラ１２に、ＤＭＡ転送を開始するコマンドを供給する。ＤＭＡコントローラ１２は、CPU１１からDMA転送を開始するコマンドを受け取ると、設定に基づいてデータ転送に関する情報を取得し、Ｉ/Ｆ１４、共通バス３、Ｉ/Ｆ２３を介して、ストレージシステム２のストレージメモリ２２からデータを読み出して、メモリ１３に書き込んだり、その逆の操作を行う。そして、ＤＭＡコントローラ１２は、指定されたサイズのデータの転送が終了すると、割り込みなどを使ってCPU１１に完了を通知する。
【００１１】
このように、DMAコントローラ１２は、通常は、ホストシステム１に実装されており、共通バス３で接続されているストレージシステム２からデータを読み出して、メモリ１３に書き込んだり、その逆の操作を行ったりする。
【００１２】
また、従来においては、ホストシステム１とストレージシステム２とのインターフェースに、専用のインターフェースが用いられている場合もあった。
【００１３】
また、PCI（Peripheral Components Interconnect） Expressと称される高速バスが広く実用化されている（非特許文献１参照）。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００４−４６８９１号公報
【非特許文献】
【００１５】
【非特許文献１】“PCI SIG−PCI Express”、［平成１８年６月２３日検索］、インターネット、<URL: http://www.pcisig.com/specifications/pciexpress/＞
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上述したように、DMA転送には、記述子を用いる場合と、記述子を用いずにレジスタに転送情報を直接書き込む場合とがあるが、システムによりそれぞれ適した条件のものが採用されるようになされている。
【００１７】
例えば、リムーバブルなシリコン・ストレージなどのストレージシステムにおいては、接続対象となるホスト機器のシステム構成は様々な形態を取るので、データ転送を行うメモリが、ある固定領域に割り振られている場合もあれば、オペレーティング・システムにより動的に割り振られる場合もある。上述したように、データ転送を行うメモリが動的に割り振られている場合、記述子を用いたほうが好適であるが、一方、データ転送を行うメモリが固定領域に割り振られている場合は、記述子を用いる転送より、転送情報を直接レジスタに書き込む方が、記述子を機器側にて用意する必要がないので制御が容易である。
【００１８】
このように、ストレージシステムでは、接続対照となるホスト機器のシステム構成によって、取るべき転送方法が異なってしまう。しかしながら、従来のストレージシステムは、基本的にいずれかの方式のコマンドセットしか持っていない。そのため接続先のホスト機器によってはデータ転送の性能に差が生じる場合があった。
【００１９】
上述したように、PCI Expressなどの高速バスの実用化が進むに伴い、データ転送も高速化が求められている。したがって、接続先のホスト機器によってデータ転送の性能に格差が生じることを防ぎたいという要求があった。
【００２０】
また、例えば、Flashメモリカードなどのシリコン・ストレージでは、上述したようなDMAの詳細な制御はその利用者には隠蔽し、より簡便なコマンドセットを使用してアクセス手法を提供することが求められている。
【００２１】
例えば、接続先のホスト機器やその他の条件により、ユーザが操作入力を行い、ＣＰＵ１１がDMAコントローラ１２の詳細設定を全て行うことも考えられるが、この場合、操作が複雑になるという不都合が生じる。
【００２２】
本発明はこのような状況に鑑みてなされたものであり、ユーザによる複雑な操作を行うことなしに、適切なデータ転送モードで、データ転送を行うことができるようにするものである。
【課題を解決するための手段】
【００２３】
本発明の第１の側面の情報記憶装置は、第１の記憶手段と、第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段とを備える。
【００２４】
前記第２のデータ転送モードは、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納される前記第２の記憶手段の物理アドレスを指定するデータ転送モードであるようにすることができる。
【００２５】
第１のレジスタと、第２のレジスタとをさらに備え、前記第１のデータ転送モードは、前記情報処理装置が情報の授受に関わる前記第２の記憶手段の物理アドレスを前記第１のレジスタに設定するデータ転送モードであり、前記第２のデータ転送モードは、前記情報処理装置が前記リストが格納された前記第２の記憶手段の物理アドレスを前記第２のレジスタに設定するデータ転送モードであるようにすることができる。
【００２６】
前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられるようにすることができる。
【００２７】
前記コマンド解析手段により解析可能なコマンドセットは、前記第１のデータ転送モードに適応するコマンドを含む第１のコマンドセットと、前記第２のデータ転送モードに適応するコマンドを含む第２のコマンドセットとを含ませるようにすることができる。
【００２８】
前記第１のコマンドセットのうちの一部と、前記第２のコマンドセットのうちの一部とは、同様の処理を指令する異なるコマンドを含ませるようにすることができる。
【００２９】
前記第１のコマンドセットのうちの一部と、前記第２のコマンドセットのうちの一部とは、同一のコマンドを含ませるようにすることができる。
【００３０】
本発明の第１の側面の情報転送方法は、第１の記憶手段を備える情報記憶装置が、第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御するステップを含む。
【００３１】
本発明の第１の側面のプログラムは、第１の記憶手段を備える情報記憶装置のコンピュータに、第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御するステップを含む処理を実行させる。
【００３２】
本発明の第１の側面においては、第２の記憶手段を備える情報処理装置から他からの要求によらずに供給されるコマンドが解析され、情報の授受に関わる前記第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかが判定され、判定された前記データ転送モードに基づいて、第１の記憶手段と前記第２の記憶手段との情報の授受が制御される。
【００３３】
本発明の第２の側面の情報転送システムは、情報記憶装置と、前記情報記憶装置と情報を授受する情報処理装置とで構成され、前記情報記憶装置は、第１の記憶手段と、前記情報処理装置から他からの要求によらずに供給されるコマンドを解析し、情報の授受に関わる前記情報処理装置の第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段とを備え、前記情報処理装置は、前記第２の記憶手段と、前記第１のデータ転送モードおよび前記第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを前記情報記憶装置に送出するコマンド送出手段とを備える。
【００３４】
本発明の第２の側面においては、第１の記憶装置を備える情報記憶装置で、情報処理装置から他からの要求によらずに供給されるコマンドが解析され、情報の授受に関わる前記情報処理装置の第２の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのいずれのデータ転送モードであるかが判定され、判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受が制御され、前記第２の記憶装置を備える情報処理装置で、前記第１のデータ転送モードおよび前記第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドのうちのいずれかの転送モードに適応する前記コマンドが前記情報記憶装置に送出される。
【００３５】
本発明の第３の側面の情報処理装置は、第１の記憶手段と、情報の授受に関わる前記第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出するコマンド送出手段とを備える。
【００３６】
前記第２のデータ転送モードは、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納される前記第１の記憶手段の物理アドレスを指定するデータ転送モードであるようにすることができる。
【００３７】
前記第１のデータ転送モードは、前記情報処理装置が情報の授受に関わる前記第１の記憶手段の物理アドレスを前記情報記憶装置のレジスタに設定するデータ転送モードであり、前記第２のデータ転送モードは、前記情報処理装置が前記リストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置のレジスタに設定するデータ転送モードであるようにすることができる。
【００３８】
前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられるようにすることができる。
【００３９】
本発明の第３の側面の情報転送方法は、第１の記憶手段を備える情報処理装置が、情報の授受に関わる前記第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出するステップを含む。
【００４０】
本発明の第３の側面のプログラムは、第１の記憶手段を備える情報処理装置のコンピュータに、情報の授受に関わる前記第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出するステップを含む処理を実行させる。
【００４１】
本発明の第３の側面においては、情報の授受に関わる第１の記憶手段の物理アドレスを直接指定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを間接的に指定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドが、第２の記憶手段を備える情報記憶装置であって、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報記憶装置に他からの要求によらずに送出される。
【発明の効果】
【００４２】
以上のように、本発明の第１の側面乃至第３の側面によれば、ホスト装置と情報を授受することができ、特に、同一のストレージ装置で、適用可能な転送モードの種類が異なるホスト装置と情報を授受することができる。
【図面の簡単な説明】
【００４３】
【図１】物理アドレス空間が連続していない場合について説明するための図である。
【図２】物理アドレス空間が連続している場合について説明するための図である。
【図３】従来のホストシステムとストレージシステムを示すブロック図である。
【図４】本発明を適用したホストシステムとストレージシステムを示すブロック図である。
【図５】コントローラが有する機能を示す機能ブロック図である。
【図６】第１のコマンドセットの例を説明するための図である。
【図７】記述子について説明するための図である。
【図８】第２のコマンドセットの例を説明するための図である。
【図９】データ転送情報の例を説明するための図である。
【図１０】リンクリスト転送モードを用いるホストシステムにおいても、ダイレクト転送モードを用いるホストシステムにおいても同様に用いられるコマンドの例を説明するための図である。
【図１１】ストレージシステムが認識可能なコマンドセットと、物理アドレス空間が連続していない第１のホストシステムが認識可能なコマンドセットと、物理アドレス空間が連続している第２のホストシステム６２が認識可能なコマンドセットについて説明するための図である。
【図１２】ストレージシステムの処理について説明するためのフローチャートである。
【図１３】ホストシステムおよびストレージシステムの処理について説明するためのフローチャートである。
【図１４】ホストシステムおよびストレージシステムの処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００４４】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【００４５】
図４は、本発明を適用した、ストレージシステムとホストシステムとの構成を示すブロック図である。
【００４６】
ストレージシステム６１とホストシステム６２とは、ストレージI/F６３で接続されている。ストレージI/F６３には、例えば、PCI（Peripheral Components Interconnect）Expressなどの高速バスが用いられると好適である。
【００４７】
ストレージシステム６１は、コントローラ８１、内部バス８２、レジスタ８３、DMAコントローラ８４、バッファメモリ８５、ストレージI/Fバス８６、ストレージメモリコントローラ８７、ストレージメモリ８８−１乃至８８−ｎ、および、ドライブ８９を含んで構成される。
【００４８】
コントローラ８１は、ストレージシステム６１の動作を制御するものであり、例えば、ストレージメモリコントローラ８７を制御して、ストレージメモリ８８−１乃至８８−ｎへのデータの書き込みまたは読み出しを実行させたり、ホストシステム６２から供給され、レジスタ８３のうちのいずれかに書き込まれたコマンドに基づいて、ＤＭＡコントローラ８４の設定を行うなどの処理を実行する。
【００４９】
内部バス８２には、コントローラ８１、レジスタ８３、DMAコントローラ８４、バッファメモリ８５が接続され、必要に応じて、ドライブ８９も接続される。
【００５０】
レジスタ８３は、複数のレジスタを含むことができ、ホストシステム６２から、ストレージI/F６３およびストレージI/Fバス８６を介してホストシステム６２から供給されたコマンドや記述子または転送処理やその他の処理に必要な情報や引数などを保持する。
【００５１】
DMAコントローラ８４は、ストレージシステム６１のバッファメモリ８５とホストシステム６２のホストメモリ９２とのデータの授受を制御するものである。また、ＤＭＡコントローラ８４には、２つの動作モードがあり、コントローラ８１によって設定される。
【００５２】
１つ目の転送モードは、複数の記述子（エントリとも称される）により構成されるリンクリストのアドレスが、ホストシステム６２からストレージシステム６１のレジスタ８３に供給され、ストレージシステム６１がこのリンクリストを読み出すことにより転送処理が実行されるリンクリスト転送モードであり、２つ目の転送モードは、リンクリストを用いることなく、ホストシステム６２からストレージシステム６１のレジスタ８３に直接データの転送に関する情報が記載されるダイレクト転送モードである。
【００５３】
リンクリスト転送モードは、図１を用いて説明したように、ホストシステム６２のホストメモリ９２における物理アドレス空間が、ページごとに管理される場合、すなわち、論理アドレス空間のように連続しておらず、乖離して設定されるような場合に用いると好適である。これに対して、図２を用いて説明したように、ホストシステム６２のホストメモリ９２における物理アドレス空間が、論理アドレス空間と同様に連続して設定されるような場合には、制御が単純なダイレクト転送モードを用いることができる。
【００５４】
バッファメモリ８５は、ストレージI/F６３およびストレージI/Fバス８６を介して、ホストシステム６２から供給されたデータを一時バッファリングしたり、ストレージメモリコントローラ８７の制御によりストレージメモリ８８−１乃至８８−ｎのうちのいずれかから読み出されて、ストレージI/F６３およびストレージI/Fバス８６を介して、ホストシステム６２に供給されるデータを一時バッファリングする。
【００５５】
ストレージI/Fバス８６は、レジスタ８３、DMAコントローラ８４、バッファメモリ８５と、ストレージＩ/Ｆとを接続するバスである。
【００５６】
ストレージメモリコントローラ８７は、コントローラ８１の制御に基づいて、ストレージメモリ８８−１乃至８８−ｎへのデータの書き込みおよび読み出しを制御する。
【００５７】
ストレージメモリ８８−１乃至８８−ｎは、ストレージメモリコントローラ８７により、データが書き込まれ、また、読み出される。
【００５８】
以下の説明においては、ストレージメモリ８８−１乃至８８−ｎを個々に区別する必要がない場合、単に、ストレージメモリ８８と称する。
【００５９】
また、必要に応じて、ドライブ８９が内部バス８２に接続される。ドライブ８９は、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア１０１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、ストリームメモリ８８に転送され、記録されたり、コントローラ８１にインストールされる。
【００６０】
また、ホストシステム６２は、ホストＣＰＵ９１、および、ホストメモリ９２を含んで構成される。なお、ホストシステム６２は、例えば、通信部、表示部、操作入力部、撮像部、音声取得部、または、データ圧縮処理部など、これ以外の構成要素を含んで構成されていてもよいことは言うまでもない。ホストシステム６２としては、例えば、一般的なパーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラなどの、さまざまな情報処理装置を用いることが出来る。
【００６１】
ホストＣＰＵ９１は、ホストシステム６２の動作を制御するものであり、例えば、図示しない操作入力部により入力されたユーザの操作入力に基づいて、ホストメモリ９２に記憶されているデータをストレージシステム６１のストレージメモリ８８に書き込むためのコマンドや、ストレージシステム６１のストレージメモリ８８に記憶されているデータを読み込んで、ホストメモリ９２に記憶させるためのコマンドなどのストレージシステム６１とのデータの授受に関するコマンド、または、これ以外に、例えば、ストレージメモリ８８に記憶されているデータの消去などを指令するなど、ストレージメモリ８８を制御するためのコマンドを発生し、ストレージＩ/Ｆ６３を介して、ストレージシステム６１のレジスタ８３に書き込む処理を実行することができる。
【００６２】
ホストメモリ９２は、ホストＣＰＵ９１の制御に基づいて、所定のデータを記憶するものである。
【００６３】
このように、図４に示されるストレージシステム６１とホストシステム６２との構成では、従来における場合と異なり、ホスト側ではなく、ストレージ側に、ＤＭＡ転送を制御するＤＭＡコントローラが設けられている。
【００６４】
ここでは、ホストメモリ９２におけるデータの記憶形式に、図１を用いて説明したように、ホストシステム６２のホストメモリ９２における物理アドレス空間が、論理アドレス空間のように連続しておらず、乖離して設定される第１のデータ記憶形式と、図２を用いて説明したように、ホストシステム６２のホストメモリ９２における物理アドレス空間が、論理アドレス空間と同様に連続して設定される第２のデータ記憶形式との２種類のデータ記憶形式が存在するものとして説明する。換言すれば、ホストシステム６２は、ホストメモリ９２において、物理アドレス空間が論理アドレス空間と異なり、連続していない（乖離している）複数の領域から構成される第１のホストシステム６２と、ホストメモリ９２において、物理アドレス空間と論理アドレス空間とがいずれも連続している第２のホストシステム６２とが存在する。
【００６５】
すなわち、第１のホストシステム６２においては、上述したリンクリスト転送モードが実行され、第２のホストシステム６２においては、上述したダイレクト転送モードが実行されて、ストレージシステム６１とデータの転送を行うことができるようになされている。なお、リンクリスト転送モードを実行する第１のホストシステム６２が有するコマンドセットと、ダイレクト転送モードを実行する第２のホストシステム６２が有するコマンドセットとは、少なくともデータ転送に関するコマンドにおいて異なるものとなる。コマンドセットの詳細については後述する。
【００６６】
次に、ストレージシステム６１とホストシステムと６２の動作について説明する。
【００６７】
例えば、ホストシステム６２のホストメモリ９２に記録されているデータを、ストレージシステム６１のストレージメモリ８８に書き込む処理が実行される場合、ホストシステム６２のホストＣＰＵ９１は、ストレージI/F６３およびストレージI/Fバス８６を介して、レジスタ８３に、ホストシステム６２のホストメモリ９２に記録されているデータを、ストレージシステム６１のストレージメモリ８８に書き込む処理を指令するコマンドであるライトコマンドを送信する。レジスタ８３は、このコマンドの供給を受け、一時保持する。
【００６８】
ストレージシステム６１のコントローラ８１は、レジスタ８３に保持されているコマンドを取得して、その内容を解釈する。上述したように、ストレージシステム６１とホストシステム６２においては、リンクリスト転送モードとダイレクト転送モードとのいずれかの転送モードを用いて、データ転送が実行されるので、コントローラ８１は、ＤＭＡコントローラ８４に、転送モードに基づいた設定を行う。
【００６９】
すなわち、データ転送モードがリンクリスト転送モードであるとき、ホストシステム６２のホストＣＰＵ９１は、レジスタ８３に、ホストメモリ９２においてリンクリストが記載されているアドレスを書き込むので、ＤＭＡコントローラ８３は、レジスタ８３を参照し、ホストメモリ９２から１エントリずつエントリを読み出して、読み出されたエントリに基づいてデータ転送処理を実行し、リンクリストの全てのエントリに対して、同様にデータ転送処理を実行する。そして、データ転送モードがダイレクト転送モードであるとき、ホストシステム６２のホストＣＰＵ９１は、レジスタ８３に、データサイズおよびアドレスなどのデータ転送情報を直接書き込むので、ＤＭＡコントローラ８３は、レジスタ８３を参照し、データ転送処理を実行する。
【００７０】
すなわち、ホストシステム６２からストレージシステム６１へデータが書き込まれる場合、ＤＭＡコントローラ８４は、ホストメモリ９２に記録されているデータのうち、ストレージメモリ８８に書き込まれるデータを読み出し、ストレージI/F６３およびストレージI/Fバス８６を介して、バッファメモリ８５に供給して、バッファリングさせる。
【００７１】
そして、バッファメモリ８５に蓄積されたデータは、バッファメモリ８５に蓄積されたデータの内容が有効になった時点を起点として、ストレージメモリコントローラ８７により、ストレージメモリ８８に書き込まれる。
【００７２】
また、例えば、ストレージシステム６１のストレージメモリ８８に記録されているデータを読み出して、ホストシステム６２のホストメモリ９２に記憶する処理が実行される場合、ホストシステム６２のホストＣＰＵ９１は、ストレージI/F６３およびストレージI/Fバス８６を介して、レジスタ８３に、ストレージシステム６１のストレージメモリ８８に記録されているデータを読み出すことを指令するライトコマンドを送信する。レジスタ８３は、このコマンドの供給を受け、一時保持する。
【００７３】
ストレージシステム６１のコントローラ８１は、レジスタ８３に保持されているコマンドを取得して、その内容を解釈する。上述したように、ストレージシステム６１とホストシステム６２においては、リンクリスト転送モードとダイレクト転送モードとのいずれかの転送モードを用いて、データ転送が実行されるので、コントローラ８１は、ＤＭＡコントローラ８４に、転送モードに基づいた設定を行う。
【００７４】
そして、ホストシステム６２がストレージシステム６１からデータを読み出す場合、コントローラ８１は、ストレージメモリコントローラ８７を制御し、読み出されるデータを、ストレージメモリ８８からバッファメモリ８５に転送させる。バッファメモリ８５に蓄積されたデータは、バッファメモリ８５に蓄積されたデータの内容が有効になった時点を起点として、ＤＭＡコントローラ８４により、ストレージI/Fバス８６およびストレージI/Fを介して、ホストメモリ９２に転送される。
【００７５】
図５は、ストレージシステム６１のコントローラ８１の機能を示す機能ブロック図である。
【００７６】
コマンド取得部１４１は、レジスタ８３に格納された、ホストシステム６２から供給されたコマンドを取得し、コマンド解析部１４２に供給する。
【００７７】
コマンド解析部１４２は、コマンド取得部１４１により取得されたコマンドを解析する。
【００７８】
ＤＭＡコントローラ設定処理部１４３は、コマンド解析部１４２によるコマンドの解析結果に基づいて、ＤＭＡコントローラ８４を、リンクリスト転送モードまたはダイレクト転送モードのいずれかに設定する。
【００７９】
ストレージシステム６１のＤＭＡコントローラ８４は、上述したように、リンクリスト転送モードとダイレクト転送モードとの２つの転送モードを有する。
【００８０】
すなわち、コントローラ８１のコマンド解析部１４２は、ホストシステム６２がストレージシステム６１に対して送信するコマンドセットを２種類認識し、ＤＭＡコントローラ１４３は、そのコマンドセットに対応して、ＤＭＡコントローラ８４がリンクリスト転送モードとダイレクト転送モードとのいずれで動作するかを設定することが出来る。
【００８１】
そして、コマンド実行部１４４は、コマンド解析部１４２によるコマンドの解析結果に基づいて、コマンドに即した処理の実行を制御する
【００８２】
図１を用いて説明したように、ホストメモリ９２の物理アドレス空間が論理アドレス空間と異なり、連続していない（乖離している）複数の領域から構成される第１のホストシステム６２が有するデータ転送に関する第１のコマンドセットの例を図６に示す。
【００８３】
READ_DATA_LINKLISTコマンドは、リンクリスト転送モードで、指定アドレスから指定サイズ分のデータを連続して読み出すことを指令するコマンドである。
【００８４】
WRITE_DATA_LINKLISTコマンドは、リンクリスト転送モードで、指定アドレスから指定サイズ分のデータを連続して書き込むことを指令するコマンドである。
【００８５】
そして、リンクリスト転送モードでは、離散した物理アドレス空間にデータを書き込んだり、離散した物理アドレス空間からデータを読み出すために、図７で示されるフォーマットの記述子を複数用いたリンクリストを用いる。このリンクリストを構成する個々の記述子は、エントリとも称される。
【００８６】
１エントリは、転送アドレス、転送サイズ、および、リスト構造の最終エントリであるかを示す転送制御情報（EOT）を少なくとも含んで構成される。リンクリストを使用した転送モードであるリンクリスト転送モードにおいては、ホストシステム６２側よりストレージシステム６１のレジスタ８３に対し、ホストメモリ９２のうちのリンクリストが格納されている先頭アドレスが設定される。DMAコントローラ８４は、この設定に従ってホストメモリ９２から最初のエントリを読み出す。このエントリに記述された転送情報を基に、DMAコントローラ８４は必要な転送を行うことができる。最初のエントリを使用した転送が終了すると、DMAコントローラ８４は、次のエントリをリンクリストから自動的に取得し、同様に転送を行う。DMAコントローラ８４は、エントリ内の転送制御情報のEOTフラグを参照して、このエントリが最終エントリであるか否かを判別し、この動作を最終エントリまで繰り返す。
【００８７】
リンクリスト転送モードは、図１を用いて説明したような連続しない物理アドレス空間に対して転送を行う際に使用される。すなわち、ホストシステム６２のホストメモリ９２における物理アドレス空間が、上述した図１における場合のように、論理アドレス空間のように連続しておらず、乖離して設定されるような場合に用いて好適である。換言すれば、上述した図１における場合のように、ホストシステム６２のホストメモリ９２における物理アドレス空間が、論理アドレス空間のように連続しておらず、乖離して設定されるような場合、ホストシステム６２が有するデータ転送に関するコマンドセットは、図６に示されるもののみであれば良く、後述する図８のコマンドセットを有する必要はない。
【００８８】
次に、図２を用いて説明したように、ホストメモリ９２の物理アドレス空間が論理アドレス空間と同様に連続している第２のホストシステム６２が有するデータ転送に関する第１のコマンドセットの例を図８に示す。
【００８９】
READ_DATA_DIRECTコマンドは、ダイレクト転送モードで、指定アドレスから指定サイズ分のデータを連続して読み出すことを指令するコマンドである。
【００９０】
WRITE_DATA_DIRECTコマンドは、ダイレクト転送モードで、指定アドレスから指定サイズ分のデータを連続して書き込むことを指令するコマンドである。
【００９１】
そして、ダイレクト転送モードでは、ホストＣＰＵ９１から、ストレージI/F６３を介して、レジスタ８３に直接データ転送情報が設定される。
【００９２】
レジスタ８３に直接設定されるデータ転送情報は、図９に示されるように、データ転送情報として記述子と基本的に同等の情報、すなわち、転送アドレスおよび転送サイズを含んで構成される。データ転送情報は、ホストＣＰＵ９１から、ストレージI/F６３を介して、レジスタ８３に供給されるので、DMAコントローラ８４は、この設定された情報に基づいて、データの転送を行う。ホストシステム６２が、更に、ストレージシステム６１と授受するべきデータを有する場合、ホストシステム６２は、更に、READ_DATA_DIRECTコマンドまたはWRITE_DATA_DIRECTコマンドを発生し、次の転送情報をストレージシステム６１に通知して、同様の転送処理を実行する。
【００９３】
ダイレクト転送モードは、図２を用いて説明したような、連続する物理アドレス空間に対して転送を行う際に使用される。すなわち、ホストシステム６２のホストメモリ９２における物理アドレス空間が、上述した図２における場合のように、論理アドレス空間と同様に連続して設定されるような場合に用いて好適である。換言すれば、上述した図２における場合のように、ホストシステム６２のホストメモリ９２における物理アドレス空間が連続して設定されるような場合、ホストシステム６２が有するデータ転送に関するコマンドセットは、図８に示されるもののみであれば良く、上述した図６のコマンドセットを有する必要はない。
【００９４】
また、ホストシステム６２のホストメモリ９２における物理アドレス空間が、図１を用いて説明したように、論理アドレス空間のように連続しておらず、乖離して設定されるような場合や、図２を用いて説明したように、論理アドレス空間と同様に連続して設定されるような場合のいずれにおいても同様の処理がなされるような処理を命令するコマンドは、データ転送モードにリンクリスト転送モードを用いるようになされているホストシステム６２においても、データ転送モードにダイレクト転送モードを用いるようになされているホストシステム６２においても、同様のコマンドを発行するものとすることができる。
【００９５】
例えば、図１０に示されるようにして、指定アドレスから指定サイズ分のデータを消去するERASEコマンド、指定アドレスから指定サイズ分のデータの消去状態を確認するCHECK_ERASEDコマンド、および、初期状態にするBLANKコマンドなどは、ホストシステム６２のホストメモリ９２の状態にかかわらず、同一のコマンドであっても良い。
【００９６】
図１１を参照して、ストレージシステム６１が認識可能なコマンドセットと、物理アドレス空間が論理アドレス空間と異なり、連続していない（乖離している）複数の領域から構成される第１のホストシステム６２が認識可能なコマンドセットと、物理アドレス空間と論理アドレス空間とがいずれも連続している第２のホストシステム６２が認識可能なコマンドセットについて説明する。
【００９７】
物理アドレス空間が論理アドレス空間と異なり、連続していない（乖離している）複数の領域から構成される第１のホストシステム６２が認識可能な第１のコマンドセットは、図１１において、Cで示される、READ_DATA_LINKLIST、WRITE_DATA_LINKLIST、ERASE、CHECK_ERASED、および、BLANKのコマンドである。そして、物理アドレス空間と論理アドレス空間とがいずれも連続している第２のホストシステム６２が認識可能な第２のコマンドセットは、図１１において、Bで示される、READ_DATA_DIRECT、WRITE_DATA_DIRECT、ERASE、CHECK_ERASED、および、BLANKのコマンドである。そして、これらに対して、ストレージシステム６１が認識可能なコマンドセットは、図１１においてCで示される第１のコマンドセットと、Bで示される第２のコマンドセットとを含む、図中Aで示されるコマンドセットとなる。すなわち、ストレージシステム６１が認識可能なコマンドは、READ_DATA_LINKLIST、WRITE_DATA_LINKLIST、ERASE、READ_DATA_DIRECT、WRITE_DATA_DIRECT、CHECK_ERASED、および、BLANKのコマンドである。
【００９８】
換言すれば、ストレージシステム６１が認識可能なコマンドセットは、物理アドレス空間が論理アドレス空間と異なり、連続していない（乖離している）複数の領域から構成される第１のホストシステム６２が認識可能な第１のコマンドセットと、物理アドレス空間と論理アドレス空間とがいずれも連続している第２のホストシステム６２が認識可能な第２のコマンドセットの２種類のコマンドセットであるといえる。
【００９９】
なお、ここでは、リードおよびライトの2種類のコマンドが定義されているが、各コマンドセット内、すなわち、第１のホストシステム６２が認識可能な第１のコマンドセットと、第２のホストシステム６２が認識可能な第２のコマンドセットとで定義される命令数に制限はない。すなわち、それぞれのコマンドセットにおいて定義される命令数は、ひとつであっても良いし、複数であっても良い。
【０１００】
次に、図１２のフローチャートを参照して、ストレージシステム６１の処理について説明する。
【０１０１】
ステップＳ１において、ストレージシステム６１は、ストレージＩ/Ｆ６３を介して、ホストシステム６２からコマンドの供給を受ける。供給されたコマンドは、ストレージＩ/Ｆバス８６を介してレジスタ８３に書き込まれる。
【０１０２】
ステップＳ２において、コントローラ８１のコマンド取得部１４１は、内部バス８２を介して、レジスタ８３に書き込まれたコマンドを読み込み、コントローラ８１のコマンド解析部１４２は、コマンドを解釈する。
【０１０３】
ステップＳ３において、コントローラ８１のコマンド解析部１４２は、レジスタ８３に書き込まれたコマンドは、データの転送（書き込み、または、読み出し）に関する指令であるか否かを判断する。
【０１０４】
ステップＳ３において、コマンドは、データの転送に関する指令ではなかったと判断された場合、すなわち、図１０を用いて説明したようなコマンドがレジスタに書き込まれていた場合、ステップＳ４において、コントローラ８１のコマンド実行部１４４は、コマンドに対応する処理を実行し、処理が終了される。
【０１０５】
ステップＳ３において、コマンドは、データの転送に関する指令であったと判断された場合、ステップＳ５において、コントローラ８１のコマンド解析部１４２は、コマンドの種類に基づいて、すなわち、レジスタに書き込まれていたコマンドは、図６を用いて説明したコマンドであるか、または、図８を用いて説明したコマンドであるかに基づいて、転送モードを判断する。具体的には、コマンド解析部１４２は、レジスタに書き込まれていたコマンドが図６を用いて説明したコマンドである場合、データ転送モードをリンクリスト転送モードであると判断し、図８を用いて説明したコマンドである場合、データ転送モードはダイレクト転送モードであると判断する。
【０１０６】
ステップＳ６において、コントローラ８１のＤＭＡコントローラ設定処理部１４３は、転送モードに応じて、DMAコントローラ８４を設定する。
【０１０７】
ステップＳ７において、コントローラ８１のコマンド実行部１４４およびＤＭＡコントローラ８４は、データの転送処理を実行する。リンクリスト転送モードまたはダイレクト転送モードにおけるそれぞれの詳細な処理については、図１３および図１４を用いて後述する。
【０１０８】
ステップＳ８において、コントローラ８１のコマンド実行部１４４は、転送処理が終了したか否かを判断する。ステップＳ８において、転送処理が終了していないと判断された場合、処理は、ステップＳ７に戻り、それ以降の処理が繰り返される。ステップＳ８において、転送処理が終了したと判断された場合、処理は終了される。
【０１０９】
このような処理により、ストレージシステム６１のコントローラ８１は、ホストシステム６２から供給されたコマンドに基づいて、データ転送モードを判断し、ＤＭＡコントローラ８４をデータ転送モードに応じて設定することができるので、ストレージシステム６１は、ホストシステム６２のホストメモリ９２の形式が、図１を用いて説明したように、物理アドレス空間と論理アドレス空間とが異なり、物理アドレス空間が乖離しているような場合であっても（上述した第１のホストシステム６２であっても）、図２を用いて説明したように、物理アドレス空間と論理アドレス空間とがいずれも連続しているような場合であっても（上述した第２のホストシステム６２であっても）、それぞれに対応してデータ転送処理を実行することが可能である。
【０１１０】
次に、図１３のフローチャートを参照して、リンクリスト転送モードにおけるホストシステム６２とストレージシステム６１の処理について説明する。
【０１１１】
ステップＳ４１において、ホストシステム６２のホストＣＰＵ９１は、データ転送開始のコマンド（ここでは、図６を用いて説明したいずれかのコマンド）を、ストレージＩ/Ｆ６３を介して、ストレージシステム６１に送信する。
【０１１２】
ステップＳ４２において、ストレージシステム６１は、ストレージＩ/Ｆ６３を介して、ホストシステム６２からコマンドの供給を受ける。供給されたコマンドは、ストレージＩ/Ｆバス８６を介して、レジスタ８３に書き込まれる。
【０１１３】
ステップＳ４３において、コントローラ８１のコマンド取得部１４１は、内部バス８２を介して、レジスタ８３に書き込まれたコマンドを読み込み、コントローラ８１のコマンド解析部１４２は、コマンドを解釈する。
【０１１４】
ステップＳ４４において、コントローラ８１のコマンド解析部１４２は、コマンドの種類に基づいて、すなわち、レジスタに書き込まれていたコマンドは、図６を用いて説明したコマンドであるか、または、図８を用いて説明したコマンドであるかに基づいて、転送モードを判断する。ここでは、レジスタに書き込まれていたコマンドが図６を用いて説明したコマンドであるので、コマンド解析部１４２は、データ転送モードをリンクリスト転送モードであると判断するものとして説明する。
【０１１５】
ステップＳ４５において、コントローラ８１のＤＭＡコントローラ設定処理部１４３は、リンクリスト転送モードとして、DMAコントローラ８４を設定する。
【０１１６】
ステップＳ４６において、リンクリスト転送モードに設定されたDMAコントローラ８４は、ホストシステム６２に対して、ストレージＩ/Ｆ６３を介して、リンクリストのうちの１エントリを要求する。
【０１１７】
ステップＳ４７において、ホストシステム６２のホストＣＰＵ９１は、リンクリストのうちの１エントリの要求をうけ、ストレージＩ/Ｆ６３を介して、ストレージシステム６１にリンクリストのうちの１エントリを送信する。
【０１１８】
ステップＳ４８において、ストレージシステム６１は、ストレージＩ/Ｆ６３を介して、ホストシステム６２からエントリを取得し、レジスタ８３に保持する。
【０１１９】
ステップＳ４９およびステップＳ５０において、ストレージシステム６１およびホストシステム６２は、データの転送処理を実行する。
【０１２０】
具体的には、ホストシステム６２のホストＣＰＵ９１は、レジスタ８３に、ホストメモリ９２においてリンクリストが記載されているアドレスを書き込むので、ＤＭＡコントローラ８３は、レジスタ８３を参照し、ホストメモリ９２から１エントリずつエントリを読み出して、読み出されたエントリに基づいてデータ転送処理を実行し、リンクリストの全てのエントリに対して、同様にデータ転送処理を実行する。
【０１２１】
例えば、ホストシステム６２からストレージシステム６１へデータが書き込まれる場合、ＤＭＡコントローラ８４は、ホストメモリ９２に記録されているデータのうち、ストレージメモリ８８に書き込まれるデータを読み出し、ストレージI/F６３およびストレージI/Fバス８６を介して、バッファメモリ８５に供給して、バッファリングさせる。
【０１２２】
そして、バッファメモリ８５に蓄積されたデータは、バッファメモリ８５に蓄積されたデータの内容が有効になった時点を起点として、ストレージメモリコントローラ８７により、ストレージメモリ８８に書き込まれる。
【０１２３】
ステップＳ５１において、ストレージシステム６１のコントローラ８１のコマンド実行部１４４は、ステップＳ４８において取得したエントリにEOTが記載されていたか否かを判断する。ステップＳ５１において、ＥＯＴが記載されていなかったと判断された場合、処理は、ステップＳ４６に戻り、それ以降の処理が繰り返される。
【０１２４】
ステップＳ５１において、ＥＯＴが記載されていなかったと判断された場合、ステップＳ５２において、コントローラ８１のコマンド実行部１４４は、処理を終了する。
【０１２５】
このような処理により、リンクリスト転送モードにおいて、データ転送が実行される。
【０１２６】
次に、図１４のフローチャートを参照して、ダイレクト転送モードにおけるホストシステム６２とストレージシステム６１の処理について説明する。
【０１２７】
ステップＳ７１において、ホストシステム６２のホストＣＰＵ９１は、データ転送開始のコマンド（ここでは、図８を用いて説明したいずれかのコマンド）を、ストレージＩ/Ｆ６３を介して、ストレージシステム６１に送信する。
【０１２８】
ステップＳ７２において、ストレージシステム６１は、ストレージＩ/Ｆ６３を介して、ホストシステム６２からコマンドの供給を受ける。供給されたコマンドは、ストレージＩ/Ｆバス８６を介して、レジスタ８３に書き込まれる。
【０１２９】
ステップＳ７３において、コントローラ８１のコマンド取得部１４１は、内部バス８２を介して、レジスタ８３に書き込まれたコマンドを読み込み、コントローラ８１のコマンド解析部１４２は、コマンドを解釈する。
【０１３０】
ステップＳ７４において、コントローラ８１のコマンド解析部１４２は、コマンドの種類に基づいて、すなわち、レジスタに書き込まれていたコマンドは、図６を用いて説明したコマンドであるか、または、図８を用いて説明したコマンドであるかに基づいて、転送モードを判断する。ここでは、レジスタに書き込まれていたコマンドが図８を用いて説明したコマンドであるので、コマンド解析部１４２は、データ転送モードをダイレクト転送モードであると判断するものとして説明する。
【０１３１】
ステップＳ７５において、コントローラ８１のＤＭＡコントローラ設定処理部１４３は、ダイレクト転送モードとして、DMAコントローラ８４を設定する。
【０１３２】
ステップＳ７６において、ホストシステム６２のホストＣＰＵ９１は、ストレージＩ/Ｆ６３を介して、ストレージシステム６１に、例えば、転送されるデータのサイズやアドレスなど、転送処理に関連する情報を送信する。
【０１３３】
ステップＳ７７において、ストレージシステム６１は、ストレージＩ/Ｆ６３を介して、ホストシステム６２から転送処理に関連する情報を取得し、レジスタ８３に保持する。
【０１３４】
ステップＳ７８およびステップＳ７９において、ストレージシステム６１およびホストシステム６２は、データの転送処理を実行する。
【０１３５】
具体的には、データ転送モードがダイレクト転送モードであるとき、ホストシステム６２のホストＣＰＵ９１は、レジスタ８３に、データサイズおよびアドレスなどのデータ転送情報を直接書き込むので、ＤＭＡコントローラ８３は、レジスタ８３を参照し、データ転送処理を実行する。
【０１３６】
例えば、ホストシステム６２がストレージシステム６１からデータを読み出す場合、コントローラ８１は、ストレージメモリコントローラ８７に対して、読み出されるデータを、ストレージメモリ８８からバッファメモリ８５に転送させる。バッファメモリ８５に蓄積されたデータは、バッファメモリ８５に蓄積されたデータの内容が有効になった時点を起点として、ＤＭＡコントローラ８４により、ストレージI/Fバス８６およびストレージI/Fを介して、ホストメモリ９２に転送される。
【０１３７】
ステップＳ８０において、ストレージシステム６１のコントローラ８１のコマンド実行部１４４は、処理を終了する。
【０１３８】
このような処理により、ダイレクト転送モードにおいて、データ転送が実行される。
【０１３９】
以上説明したように、ストレージシステムが、リンクリスト転送モードおよびダイレクト転送モードの両方の転送方式を有し、これを使い分けるための簡便なコマンドセットを2組用意するこことで、必要に応じてどちらかのコマンドセットを有するホストシステムとデータの授受を行うことができるようにしたので、接続先のホスト機器のシステム構成によらず、適したデータ転送を行うことができ、データ転送性能を改善する（スループットを向上させる）ことができる。
【０１４０】
また、このような構成をとることにより、専用のインターフェースを用いることなく、PCI Expressなどの広く用いられる高速バスを用いて、データ転送を実現することができる。
【０１４１】
なお、ここでは、２つの転送モードのうちのいずれかでデータ転送が実行される場合について説明したが、例えば、マスタシステムの構成や条件によって３つ以上の転送モードが予め用意され、そのうちのいずれかの転送モードによってデータ転送が実行される場合においても、本発明は適用可能である。
【０１４２】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１４３】
この記録媒体は、図４に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア１０１などにより構成される。
【０１４４】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４５】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１４６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１４７】
１  情報処理システム，  １１  TV，  １２  リモートコントローラ，  １３  非接触カード，  １４  決済サーバ，  ２１  インターネット，  ４１  アンテナ，  ４２  アンテナ，  ４３  太陽光発電パネル，  ５１  CPU，  ５２  非接触カードリーダライタ部，  ５３  キー入力部，  ５５  無線通信制御部，  ５６  出力電力測定部，  ５７  蓄電池
【図１】
2011008824.tif 000003
【図２】
2011008824.tif 000004
【図３】
2011008824.tif 000005
【図４】
2011008824.tif 000006
【図５】
2011008824.tif 000007
【図６】
2011008824.tif 000008
【図７】
2011008824.tif 000009
【図８】
2011008824.tif 000010
【図９】
2011008824.tif 000011
【図１０】
2011008824.tif 000012
【図１１】
2011008824.tif 000013
【図１２】
2011008824.tif 000014
【図１３】
2011008824.tif 000015
【図１４】
2011008824.tif 000016
【手続補正書】
【提出日】平成22年10月29日(2010.10.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の記憶手段と、
第１のレジスタと、
第２のレジスタと、
第２の記憶手段を備える情報処理装置から供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、
前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段と
を備える情報記憶装置であって、
前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられ、
前記コマンド解析手段により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
情報記憶装置。
【請求項２】
第１の記憶手段、第１のレジスタ、および、第２のレジスタを備える情報記憶装置が、
第２の記憶手段を備える情報処理装置から供給されるコマンドを解析し、
情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、
判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する
ステップを含む情報転送方法であって、
前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられ、
前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
情報転送方法。
【請求項３】
第１の記憶手段、第１のレジスタ、および、第２のレジスタを備える情報記憶装置のコンピュータに、
第２の記憶手段を備える情報処理装置から供給されるコマンドを解析し、
情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、
判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する
ステップを含む処理を実行させるためのプログラムであって、
前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられ、
前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
プログラム。
【請求項４】
情報記憶装置と、
前記情報記憶装置と情報を授受する情報処理装置と
で構成され、
前記情報記憶装置は、
第１の記憶手段と、
第１のレジスタと、
第２のレジスタと、
前記情報処理装置から供給されるコマンドを解析し、情報の授受に関わる前記情報処理装置の第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、
前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段と
を備え、
前記情報処理装置は、
前記第２の記憶手段と、
前記第１のデータ転送モードおよび前記第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを前記情報記憶装置に送出するコマンド送出手段と
を備え、
前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、
前記コマンド解析手段により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
情報転送システム。
【請求項５】
第１の記憶手段と、
情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出するコマンド送出手段と
を備える情報処理装置であって、
前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、
前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
情報処理装置。
【請求項６】
第１の記憶手段を備える情報処理装置が、
情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出する
ステップを含む情報転送方法であって、
前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、
前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
情報転送方法。
【請求項７】
第１の記憶手段を備える情報処理装置のコンピュータに、
情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出する
ステップを含む処理を実行させるためのプログラムであって、
前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、
前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む
プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、情報記憶装置、情報転送方法、情報転送システム、情報処理装置、並びに、プログラムに関し、特に、情報を転送する場合に用いて好適な、情報記憶装置、情報転送方法、情報転送システム、情報処理装置、並びに、プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
本発明の第１の側面の情報記憶装置は、第１の記憶手段と、第１のレジスタと、第２のレジスタと、第２の記憶手段を備える情報処理装置から供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段とを備える情報記憶装置であって、前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられ、前記コマンド解析手段により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
本発明の第１の側面の情報転送方法は、第１の記憶手段、第１のレジスタ、および、第２のレジスタを備える情報記憶装置が、第２の記憶手段を備える情報処理装置から供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御するステップを含む情報転送方法であって、前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられ、前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
本発明の第１の側面のプログラムは、第１の記憶手段、第１のレジスタ、および、第２のレジスタを備える情報記憶装置のコンピュータに、第２の記憶手段を備える情報処理装置から供給されるコマンドを解析し、情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定し、判定した前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御するステップを含む処理を実行させるためのプログラムであって、前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される前記情報処理装置との情報の授受に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される前記情報処理装置との情報の授受に用いられ、前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
本発明の第１の側面においては、第２の記憶手段を備える情報処理装置から供給されるコマンドが解析され、情報の授受に関わる前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかが判定され、判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受が制御される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
本発明の第２の側面の情報転送システムは、情報記憶装置と、前記情報記憶装置と情報を授受する情報処理装置とで構成され、前記情報記憶装置は、第１の記憶手段と、第１のレジスタと、第２のレジスタと、前記情報処理装置から供給されるコマンドを解析し、情報の授受に関わる前記情報処理装置の第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかを判定するコマンド解析手段と、前記コマンド解析手段により判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する情報授受制御手段とを備え、前記情報処理装置は、前記第２の記憶手段と、前記第１のデータ転送モードおよび前記第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを前記情報記憶装置に送出するコマンド送出手段とを備え、前記第１のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第２の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、前記コマンド解析手段により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
本発明の第２の側面においては、第１の記憶手段、第１のレジスタ、および、第２のレジスタを備える情報記憶装置で、情報処理装置から供給されるコマンドが解析され、情報の授受に関わる前記情報処理装置の第２の記憶手段の物理アドレスを前記情報処理装置が前記第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第２の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第２の記憶手段の物理アドレスを前記情報処理装置が前記第２のレジスタに設定する第２のデータ転送モードのいずれのデータ転送モードであるかが判定され、判定された前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受が制御され、前記第２の記憶装置を備える情報処理装置で、前記第１のデータ転送モードおよび前記第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドのうちのいずれかの転送モードに適応する前記コマンドが前記情報記憶装置に送出される。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
本発明の第３の側面の情報処理装置は、第１の記憶手段と、情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出するコマンド送出手段とを備える情報処理装置であって、前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
本発明の第３の側面の情報転送方法は、第１の記憶手段を備える情報処理装置が、情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出するステップを含む情報転送方法であって、前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
本発明の第３の側面のプログラムは、第１の記憶手段を備える情報処理装置のコンピュータに、情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドを、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出するステップを含む処理を実行させるためのプログラムであって、前記第１のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が連続して設定される場合に用いられ、前記第２のデータ転送モードは、前記第１の記憶手段において物理アドレス空間が不連続に設定される場合に用いられ、前記情報記憶装置により解析可能なコマンドセットは、前記第１のデータ転送モードおよび前記第２の転送モードの両方に適応するコマンドを含む。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
本発明の第３の側面においては、情報の授受に関わる前記第１の記憶手段の物理アドレスを情報記憶装置の第１のレジスタに設定する第１のデータ転送モード、および、情報の授受に関わる前記第１の記憶手段の物理アドレスを含む複数の記述子により構成されるリストが格納された前記第１の記憶手段の物理アドレスを前記情報記憶装置の第２のレジスタに設定する第２のデータ転送モードのうちのいずれかのデータ転送モードに適応するコマンドが、第２の記憶手段、前記第１のレジスタ、および、前記第２のレジスタを備え、前記コマンドにより示される前記データ転送モードに基づいて、前記第１の記憶手段と前記第２の記憶手段との情報の授受を制御する前記情報記憶装置に送出される。