JPH0683708A - データ記憶方法及び装置 - Google Patents
データ記憶方法及び装置Info
- Publication number
- JPH0683708A JPH0683708A JP5077955A JP7795593A JPH0683708A JP H0683708 A JPH0683708 A JP H0683708A JP 5077955 A JP5077955 A JP 5077955A JP 7795593 A JP7795593 A JP 7795593A JP H0683708 A JPH0683708 A JP H0683708A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- cache
- state disk
- data transfer
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/068—Hybrid storage device
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 本発明は、ハードディスク装置を用いたデー
タ記憶方法及び装置に関し、このデータ記憶装置が上位
計算システムとの間で低コストにてかつ効率良くデータ
転送を行えるようにすることを目的とする。 【構成】 上位計算システムに比べて比較的低いデータ
転送速度をもつ不揮発性ハードディスク装置と、極めて
高いデータ転送速度をもつ固体ディスクメモリを含む固
体バッファメモリとの組合せからなるデュアルディスク
装置を構成する。固体バッファメモリは、従来のハード
ディスクキャッシュメモリとして残っている部分と、固
体ディスクメモリが、上位計算システムによりハードデ
ィスク装置と分離された記憶装置とみなされるような形
で用いられる部分とに区分化される。さらに、データ転
送速度が増すように固体ディスクメモリ及びキャッシュ
メモリのサイズを調整して固体バッファメモリを再区分
化するように構成する。
タ記憶方法及び装置に関し、このデータ記憶装置が上位
計算システムとの間で低コストにてかつ効率良くデータ
転送を行えるようにすることを目的とする。 【構成】 上位計算システムに比べて比較的低いデータ
転送速度をもつ不揮発性ハードディスク装置と、極めて
高いデータ転送速度をもつ固体ディスクメモリを含む固
体バッファメモリとの組合せからなるデュアルディスク
装置を構成する。固体バッファメモリは、従来のハード
ディスクキャッシュメモリとして残っている部分と、固
体ディスクメモリが、上位計算システムによりハードデ
ィスク装置と分離された記憶装置とみなされるような形
で用いられる部分とに区分化される。さらに、データ転
送速度が増すように固体ディスクメモリ及びキャッシュ
メモリのサイズを調整して固体バッファメモリを再区分
化するように構成する。
Description
【0001】
【産業上の利用分野】本発明は、ディスク装置を用いた
データ記憶方法及び装置に関し、特に、ディスク装置を
有する記憶システムの中で用いられる区分化された固体
メモリに関するものである。
データ記憶方法及び装置に関し、特に、ディスク装置を
有する記憶システムの中で用いられる区分化された固体
メモリに関するものである。
【0002】
【従来の技術、及び、発明が解決しようとする課題】上
位計算システムの速度が増大するにつれて、周辺記憶サ
ブシステムからのデータを検索する上での非能率性が、
主要システムのボトルネック(bottleneck)の1つとし
て挙げられることになる。このようなサブシステムは、
代表的には、磁気又はハードディスク技術に基づいてき
た。この技術の機械的構成要素(例えば、ディスク回
転、及び、読取り/書込みヘッド動作構成要素)は、こ
れらのサブシステムをそれらが支援するよう設計されて
いる上位計算システムの電子的速度に比べて本質的に低
速なものにしている。そこで、ハードディスク技術のデ
ータ転送速度を増大させるため種々の戦略が考案されて
きた。このような戦略の1つは、最も頻繁にアクセスさ
れるデータ項目がキャッシュ内に維持されるような形
で、比較的小さい揮発性固体データキャッシュをハード
ディスクと組み合わせている。このようなキャッシュは
ハードディスクに比べて実質的に高いデータ転送速度を
有するため、上位データ処理効率における著しい増大を
得ることができる。実際に、このキャッシュが大きくな
ればなるほど、データ転送の集中的アプリケーションを
処理するときに上位システムからより優れた性能を期待
することができる。しかしながらこの戦略には欠点があ
る。特に、上位アプリケーションの将来のデータの必要
条件を予想するための情報の大部分は上位装置内にある
ことから、最も効率良いキャッシュの用途について、上
位装置は、どのデータをキャッシュ内に保持すべきかに
ついての決断を下さなくてはならない。このことは、す
なわち、上位装置は、データ項目がキャッシュ内に置か
れなくてはならないとき及びそれらをさらにアクセスさ
れる可能性の高いその他の項目で置換しなくてはならな
いとき、キャッシュ内のデータ項目のサイズといったよ
うな特徴を管理することができなくてはならないという
ことを暗に意味している。しかしながら、キャッシュ/
上位インタフェイスの規格が存在しないことから、どの
ような上位装置/ハードディスクキャッシュインタフェ
イス戦略も狭い範囲の上位システムに制限されることに
なる。従って、ディスク制御装置には、キャッシュ、ハ
ードディスクそして上位装置の間のデータ転送を管理す
る責任が残される。このような場合、制御装置は、通
常、最後にアクセスされたデータがアクセスの頻度に関
係なくつねにキャッシュ内に記憶される戦略といったよ
うな比較的単純で最適には程遠いデータキャッシング戦
略を供給する。この欠点は当然のことながら、キャッシ
ュサイズを増大させることによって幾分かは克服できる
が、その場合には、使用中のキャッシュメモリが高くつ
くという欠点を伴う。
位計算システムの速度が増大するにつれて、周辺記憶サ
ブシステムからのデータを検索する上での非能率性が、
主要システムのボトルネック(bottleneck)の1つとし
て挙げられることになる。このようなサブシステムは、
代表的には、磁気又はハードディスク技術に基づいてき
た。この技術の機械的構成要素(例えば、ディスク回
転、及び、読取り/書込みヘッド動作構成要素)は、こ
れらのサブシステムをそれらが支援するよう設計されて
いる上位計算システムの電子的速度に比べて本質的に低
速なものにしている。そこで、ハードディスク技術のデ
ータ転送速度を増大させるため種々の戦略が考案されて
きた。このような戦略の1つは、最も頻繁にアクセスさ
れるデータ項目がキャッシュ内に維持されるような形
で、比較的小さい揮発性固体データキャッシュをハード
ディスクと組み合わせている。このようなキャッシュは
ハードディスクに比べて実質的に高いデータ転送速度を
有するため、上位データ処理効率における著しい増大を
得ることができる。実際に、このキャッシュが大きくな
ればなるほど、データ転送の集中的アプリケーションを
処理するときに上位システムからより優れた性能を期待
することができる。しかしながらこの戦略には欠点があ
る。特に、上位アプリケーションの将来のデータの必要
条件を予想するための情報の大部分は上位装置内にある
ことから、最も効率良いキャッシュの用途について、上
位装置は、どのデータをキャッシュ内に保持すべきかに
ついての決断を下さなくてはならない。このことは、す
なわち、上位装置は、データ項目がキャッシュ内に置か
れなくてはならないとき及びそれらをさらにアクセスさ
れる可能性の高いその他の項目で置換しなくてはならな
いとき、キャッシュ内のデータ項目のサイズといったよ
うな特徴を管理することができなくてはならないという
ことを暗に意味している。しかしながら、キャッシュ/
上位インタフェイスの規格が存在しないことから、どの
ような上位装置/ハードディスクキャッシュインタフェ
イス戦略も狭い範囲の上位システムに制限されることに
なる。従って、ディスク制御装置には、キャッシュ、ハ
ードディスクそして上位装置の間のデータ転送を管理す
る責任が残される。このような場合、制御装置は、通
常、最後にアクセスされたデータがアクセスの頻度に関
係なくつねにキャッシュ内に記憶される戦略といったよ
うな比較的単純で最適には程遠いデータキャッシング戦
略を供給する。この欠点は当然のことながら、キャッシ
ュサイズを増大させることによって幾分かは克服できる
が、その場合には、使用中のキャッシュメモリが高くつ
くという欠点を伴う。
【0003】さらに最近になって、ハードディスクデー
タ転送のネックを軽減するための代替的な1つの戦略が
考案された。例えば、小型コンピュータシステムインタ
フェイス(SCSI)規格といったハードディスクに適
用されたものと同じようなインタフェイス規格を用いて
上位システムとのインタフェイスを実現する「固体ディ
スク」(SSDs)として知られている固体メモリ装置
が紹介された。従って、上位装置は、あたかもSSDが
ハードディスクに適合する規格であるかのようにSSD
記憶装置を構成し、性能パラメータを設定してデータを
転送する。従って、各々のSSDは、上位システムの速
度と比較可能なデータ転送速度に加えて、上位装置又は
SSDの変更無しにほとんどすべての上位システムと適
切に通信できる能力を提供する。しかしながらSSD技
術にも欠点がある。ほぼすべてのSSD内の記憶装置は
比較的小さく揮発性である可能性がある。従って、必然
的に、SSDを用いる上位システムは、同様により大き
い不揮発性周辺記憶装置、代表的にはハードディスクも
用いる。しかしながら、ハードディスクとSSD装置の
両方で構成された周辺記憶装置をもつことは、ハードウ
ェア支出(例えば別々の電源ユニット及びケーブル布
線)の増大、記憶装置を収納するための所要スペースの
増大及びメンテナンスコストの増大に通ずる。このこと
は、ハードディスク及びSSDの両方のためのハードウ
ェア及び関連ソフトウェアの多くが内部的に類似してお
り又同一の上位インタフェイスを有するという点で、き
わめて不運なことである。
タ転送のネックを軽減するための代替的な1つの戦略が
考案された。例えば、小型コンピュータシステムインタ
フェイス(SCSI)規格といったハードディスクに適
用されたものと同じようなインタフェイス規格を用いて
上位システムとのインタフェイスを実現する「固体ディ
スク」(SSDs)として知られている固体メモリ装置
が紹介された。従って、上位装置は、あたかもSSDが
ハードディスクに適合する規格であるかのようにSSD
記憶装置を構成し、性能パラメータを設定してデータを
転送する。従って、各々のSSDは、上位システムの速
度と比較可能なデータ転送速度に加えて、上位装置又は
SSDの変更無しにほとんどすべての上位システムと適
切に通信できる能力を提供する。しかしながらSSD技
術にも欠点がある。ほぼすべてのSSD内の記憶装置は
比較的小さく揮発性である可能性がある。従って、必然
的に、SSDを用いる上位システムは、同様により大き
い不揮発性周辺記憶装置、代表的にはハードディスクも
用いる。しかしながら、ハードディスクとSSD装置の
両方で構成された周辺記憶装置をもつことは、ハードウ
ェア支出(例えば別々の電源ユニット及びケーブル布
線)の増大、記憶装置を収納するための所要スペースの
増大及びメンテナンスコストの増大に通ずる。このこと
は、ハードディスク及びSSDの両方のためのハードウ
ェア及び関連ソフトウェアの多くが内部的に類似してお
り又同一の上位インタフェイスを有するという点で、き
わめて不運なことである。
【0004】ハードディスクとSSDを単一のユニット
に組み合わせてハードウェアとソフトウェアの重複を減
少させ、かくして周辺記憶装置のコストを低減すること
ができれば、有利であろう。上位システムと複数のハー
ドディスクの間のデータ転送を管理するために単一のハ
ードディスク制御装置を構成し、かくしてハードウェア
及びソフトウェアの重複を減少させる方法は、当該技術
分野において周知のことである。しかしながら、SSD
とハードディスクを組み合せるためには、異なるアプロ
ーチが必要である。SSDはすでに電子的速度でデータ
を転送することができることから、SSD上に記憶され
たデータ項目については、いかなるディスク制御装置デ
ータキャッシングも不必要でかつ不経済なものである。
さらに、上記SSDは、ハードディスクが必要とするの
と同じ位精巧な内部データフォーマット化構造を提供す
るのに制御装置を必要としない。例えば、読取り又は書
込みのため正しいディスクセクタを確認する上でハード
ディスク論理計算が費やす時間の結果生じる回転移動を
償うのにいかなる「パッドバイト(pad byte
s)」も必要でない。実際、ハードディスクに比較して
SSDの場合1記憶バイトあたりのコストが著しく高い
ことから、この余計な構造を省くことは必須である。最
終的に、SSD内で揮発性メモリが用いられる場合、電
源異常の間のデータ喪失の防止は、多重ハードディスク
構成の場合とは幾分か異なる形で対処されなくてはなら
ない。
に組み合わせてハードウェアとソフトウェアの重複を減
少させ、かくして周辺記憶装置のコストを低減すること
ができれば、有利であろう。上位システムと複数のハー
ドディスクの間のデータ転送を管理するために単一のハ
ードディスク制御装置を構成し、かくしてハードウェア
及びソフトウェアの重複を減少させる方法は、当該技術
分野において周知のことである。しかしながら、SSD
とハードディスクを組み合せるためには、異なるアプロ
ーチが必要である。SSDはすでに電子的速度でデータ
を転送することができることから、SSD上に記憶され
たデータ項目については、いかなるディスク制御装置デ
ータキャッシングも不必要でかつ不経済なものである。
さらに、上記SSDは、ハードディスクが必要とするの
と同じ位精巧な内部データフォーマット化構造を提供す
るのに制御装置を必要としない。例えば、読取り又は書
込みのため正しいディスクセクタを確認する上でハード
ディスク論理計算が費やす時間の結果生じる回転移動を
償うのにいかなる「パッドバイト(pad byte
s)」も必要でない。実際、ハードディスクに比較して
SSDの場合1記憶バイトあたりのコストが著しく高い
ことから、この余計な構造を省くことは必須である。最
終的に、SSD内で揮発性メモリが用いられる場合、電
源異常の間のデータ喪失の防止は、多重ハードディスク
構成の場合とは幾分か異なる形で対処されなくてはなら
ない。
【0005】
【課題を解決するための手段、及び、作用】本発明は、
記憶システムが上位計算システムとの効率の良いデータ
転送を生み出すような形でデータを記憶するための方法
及び装置に関する。記憶システムは、上位システムと比
べて比較的低いデータ転送速度をもつ不揮発性ハードデ
ィスク記憶装置とはるかに高いデータ転送速度をもつ固
体ディスク(SSD)記憶装置を包含するデュアルディ
スク装置システムである。本発明によれば、従来のハー
ドディスク内のデータキャッシュとして通常用いられて
いる固体バッファメモリは、2つの部分に区分化されて
いる。すなわち、1つの部分は、従来のハードディスク
装置構成の場合と同様にハードディスクデータキャッシ
ュとして残っているのに対し、もう1つの部分は、SS
Dメモリが、上位装置によりハードディスクとは全く分
離された記憶装置であるとみなされるようにSSDのた
めのメモリとして用いられている。かくして、ハードデ
ィスク及びキャッシュは上位装置にとっての単一のデー
タ記憶装置とみなされるため、これらの記憶装置のいず
れかに常駐するデータは、上位システムから送られる明
示的なデータ転送指令無しにはSSDメモリー内に常駐
できない。逆に言うと、SSDメモリ内に常駐するデー
タは、通常のオペレーションにおいて、明示的な上位シ
ステムのデータ転送指令による場合を除き、デュアルデ
ィスク装置のハードディスク/キャッシュ部分に転送さ
れ得ない。
記憶システムが上位計算システムとの効率の良いデータ
転送を生み出すような形でデータを記憶するための方法
及び装置に関する。記憶システムは、上位システムと比
べて比較的低いデータ転送速度をもつ不揮発性ハードデ
ィスク記憶装置とはるかに高いデータ転送速度をもつ固
体ディスク(SSD)記憶装置を包含するデュアルディ
スク装置システムである。本発明によれば、従来のハー
ドディスク内のデータキャッシュとして通常用いられて
いる固体バッファメモリは、2つの部分に区分化されて
いる。すなわち、1つの部分は、従来のハードディスク
装置構成の場合と同様にハードディスクデータキャッシ
ュとして残っているのに対し、もう1つの部分は、SS
Dメモリが、上位装置によりハードディスクとは全く分
離された記憶装置であるとみなされるようにSSDのた
めのメモリとして用いられている。かくして、ハードデ
ィスク及びキャッシュは上位装置にとっての単一のデー
タ記憶装置とみなされるため、これらの記憶装置のいず
れかに常駐するデータは、上位システムから送られる明
示的なデータ転送指令無しにはSSDメモリー内に常駐
できない。逆に言うと、SSDメモリ内に常駐するデー
タは、通常のオペレーションにおいて、明示的な上位シ
ステムのデータ転送指令による場合を除き、デュアルデ
ィスク装置のハードディスク/キャッシュ部分に転送さ
れ得ない。
【0006】好ましい一実施態様においては、バッファ
メモリをキャッシュ及びSSDメモリの形に区分化する
ことができるようにするため、キャッシュ/SSDデー
タ転送ハードウェアユニットが具備される。このユニッ
トは、次の(1)、(2)に示すような形でバッファメ
モリから及びバッファメモリへのデータ転送を全て達成
するハードウェアを提供する。
メモリをキャッシュ及びSSDメモリの形に区分化する
ことができるようにするため、キャッシュ/SSDデー
タ転送ハードウェアユニットが具備される。このユニッ
トは、次の(1)、(2)に示すような形でバッファメ
モリから及びバッファメモリへのデータ転送を全て達成
するハードウェアを提供する。
【0007】(1)このユニットは、データ転送がSS
Dメモリ区分に向けられている場合、ディスク読取り/
書込みユニットとして動作する。すなわち、書込み時点
で、ユニットは、データを「ディスク状の」フォーマッ
トにフォーマット化し(すなわち、セクタヘッドと誤り
訂正コードビットを伴う)、読取り時点で、ユニット
は、データを上位装置が所望する形状へと変換し戻す。
Dメモリ区分に向けられている場合、ディスク読取り/
書込みユニットとして動作する。すなわち、書込み時点
で、ユニットは、データを「ディスク状の」フォーマッ
トにフォーマット化し(すなわち、セクタヘッドと誤り
訂正コードビットを伴う)、読取り時点で、ユニット
は、データを上位装置が所望する形状へと変換し戻す。
【0008】(2)ユニットは、付加的なデータフォー
マット化が無くてもキャッシュデータがキャッシュメモ
リ区分から及びこの区分へ移行できるようにする。当然
のことながら、この新しいキャッシュ/SSDデータ転
送ユニットのアクティビティ(activity)をデ
ュアルディスク装置の残りの部分と調和させるためソフ
トウェアも供給されなくてはならない。すなわち、上位
装置が特定したアドレスから上位データ転送がハードデ
ィスク/キャッシュに適用されるか又はSSDメモリに
適用されるかを決定することができ、かつ、次にいずれ
かのキャッシュ又はSSDデータ転送を適切に処理する
ためキャッシュ/SSDデータ転送ユニットに信号を送
るようなソフトウェアが提供される。
マット化が無くてもキャッシュデータがキャッシュメモ
リ区分から及びこの区分へ移行できるようにする。当然
のことながら、この新しいキャッシュ/SSDデータ転
送ユニットのアクティビティ(activity)をデ
ュアルディスク装置の残りの部分と調和させるためソフ
トウェアも供給されなくてはならない。すなわち、上位
装置が特定したアドレスから上位データ転送がハードデ
ィスク/キャッシュに適用されるか又はSSDメモリに
適用されるかを決定することができ、かつ、次にいずれ
かのキャッシュ又はSSDデータ転送を適切に処理する
ためキャッシュ/SSDデータ転送ユニットに信号を送
るようなソフトウェアが提供される。
【0009】デュアルディスク装置を初期化し電源異常
の時点でSSDデータの完全性を確保するための付加的
なソフトウェアも同様に提供される。システム管理要員
にとってデュアルディスク装置の初期化をできる限り単
純にするため、従来のハードディスク装置機構に匹敵す
るようにデュアルディスク装置を初期化できるよう初期
化手順が構成されている。この場合、デュアルディスク
装置構を構成するためのパラメータには、デュアルディ
スク装置の初期化中省略時解釈値(default v
alues)が供給される。これらのパラメータとして
は、(1)バッファメモリのキャッシュ及びSSDメモ
リ部分のサイズを表わすパラメータ(単数又は複数)、
及び、(2)シリンダ、トラック及びセクタの形へSS
Dメモリのデータ組織を表示するパラメータがある。さ
らに、デュアルディスク装置がひとたび初期化されたな
らば、上位システムのユーザにはこれらのパラメータの
値を変更しかくしてバッファメモリを再構成する能力が
与えられる。この再構成は、SCSI構成指令内のデュ
アルディスク装置の特定的パラメータを解釈することの
できるソフトウェアを提供することによって達成され
る。電源異常に関しては、SSDが揮発性メモリを含む
場合、本発明はSSDのデータ喪失を防止するため2つ
の周知の方法のうちの1つを使用する。すなわち、補助
電源が、主電源の故障を超えて長い時間SSDデータを
保持するためのバッファメモリに対し充分な出力を供給
するか、或いは又、電源異常発生を検知した時点で直ち
にハードディスクに対しSSDメモリ内に常駐するデー
タを転送するのに充分な出力を供給する。
の時点でSSDデータの完全性を確保するための付加的
なソフトウェアも同様に提供される。システム管理要員
にとってデュアルディスク装置の初期化をできる限り単
純にするため、従来のハードディスク装置機構に匹敵す
るようにデュアルディスク装置を初期化できるよう初期
化手順が構成されている。この場合、デュアルディスク
装置構を構成するためのパラメータには、デュアルディ
スク装置の初期化中省略時解釈値(default v
alues)が供給される。これらのパラメータとして
は、(1)バッファメモリのキャッシュ及びSSDメモ
リ部分のサイズを表わすパラメータ(単数又は複数)、
及び、(2)シリンダ、トラック及びセクタの形へSS
Dメモリのデータ組織を表示するパラメータがある。さ
らに、デュアルディスク装置がひとたび初期化されたな
らば、上位システムのユーザにはこれらのパラメータの
値を変更しかくしてバッファメモリを再構成する能力が
与えられる。この再構成は、SCSI構成指令内のデュ
アルディスク装置の特定的パラメータを解釈することの
できるソフトウェアを提供することによって達成され
る。電源異常に関しては、SSDが揮発性メモリを含む
場合、本発明はSSDのデータ喪失を防止するため2つ
の周知の方法のうちの1つを使用する。すなわち、補助
電源が、主電源の故障を超えて長い時間SSDデータを
保持するためのバッファメモリに対し充分な出力を供給
するか、或いは又、電源異常発生を検知した時点で直ち
にハードディスクに対しSSDメモリ内に常駐するデー
タを転送するのに充分な出力を供給する。
【0010】デュアルディスク装置の一変形態様におい
ては、バッファメモリへの第2のデータチャネルが包含
されている。このチャネルは、バッファ制御装置のSS
Dメモリ部分から及びこの部分への全てのデータ転送の
ために用いられる。従って、ハードディスク/キャッシ
ュ又はSSDメモリのうちのいずれに対して上位データ
転送が向けられているかをアドレス比較を介して決定す
るのに第1の実施態様がデュアルディスク装置自体を必
要としたのに対して、第2の実施態様は、上位装置がデ
ータ記憶装置を決定し各データ転送を適切なデータチャ
ネルへ送るという点でより従来形に近い。
ては、バッファメモリへの第2のデータチャネルが包含
されている。このチャネルは、バッファ制御装置のSS
Dメモリ部分から及びこの部分への全てのデータ転送の
ために用いられる。従って、ハードディスク/キャッシ
ュ又はSSDメモリのうちのいずれに対して上位データ
転送が向けられているかをアドレス比較を介して決定す
るのに第1の実施態様がデュアルディスク装置自体を必
要としたのに対して、第2の実施態様は、上位装置がデ
ータ記憶装置を決定し各データ転送を適切なデータチャ
ネルへ送るという点でより従来形に近い。
【0011】要約すると、ハードディスク装置と固体デ
ィスク装置を単一のユニットに合体させることにより、
本発明は、頻繁にアクセスされるものとして知られてい
るデータについて極めて速いデータ転送を伴う比較的小
型のデータ記憶装置と大型の不揮発性データ記憶装置を
提供する。このことは、本発明のハードディスク部分と
固体ディスク部分の間でハードウェアとソフトウェアの
構成要素を共有することによってコストに関し有効なや
り方で達成される。特に、キャッシュとSSDの間での
固体バッファメモリの共有のため、本発明はSSDメモ
リとキャッシュの間でのバッファメモリ割当てを調整す
る能力を提供することにより一定の上位装置について最
適な性能を提供するよう構成することが可能である。さ
らに、ハードディスクのための電源ユニット、ケーブル
布線及びディスク制御装置は、SSD部分により共有さ
れうる。さらにもう1つの利点は、市販されているハー
ドディスク装置を強化することによってデュアルディス
ク装置を構成することができるという事実から得られる
ものである。従って、ほとんどすべてのコストに関し有
効なハードディスク装置が、本発明のベースとして役立
ち得る。SSDメモリとして使用することを意図された
メモリが、代表的にはハードディスクキャッシュとして
使用することを意図されたメモリよりもかなり高い価格
のものであるという点で、なおさらコスト有効性が増し
ている。従って、SSDメモリとしてディスク制御装置
メモリを用いることのコスト有効性は多大なものである
可能性がある。
ィスク装置を単一のユニットに合体させることにより、
本発明は、頻繁にアクセスされるものとして知られてい
るデータについて極めて速いデータ転送を伴う比較的小
型のデータ記憶装置と大型の不揮発性データ記憶装置を
提供する。このことは、本発明のハードディスク部分と
固体ディスク部分の間でハードウェアとソフトウェアの
構成要素を共有することによってコストに関し有効なや
り方で達成される。特に、キャッシュとSSDの間での
固体バッファメモリの共有のため、本発明はSSDメモ
リとキャッシュの間でのバッファメモリ割当てを調整す
る能力を提供することにより一定の上位装置について最
適な性能を提供するよう構成することが可能である。さ
らに、ハードディスクのための電源ユニット、ケーブル
布線及びディスク制御装置は、SSD部分により共有さ
れうる。さらにもう1つの利点は、市販されているハー
ドディスク装置を強化することによってデュアルディス
ク装置を構成することができるという事実から得られる
ものである。従って、ほとんどすべてのコストに関し有
効なハードディスク装置が、本発明のベースとして役立
ち得る。SSDメモリとして使用することを意図された
メモリが、代表的にはハードディスクキャッシュとして
使用することを意図されたメモリよりもかなり高い価格
のものであるという点で、なおさらコスト有効性が増し
ている。従って、SSDメモリとしてディスク制御装置
メモリを用いることのコスト有効性は多大なものである
可能性がある。
【0012】本発明のその他の特徴及び利点は、本書に
含まれている添付図面と合わせて詳細な説明から明らか
になることだろう。本発明は、例示のみを目的として与
えられ従って本発明を制限するものではない以下の詳細
説明及び添付図面からより良く理解することができる。
含まれている添付図面と合わせて詳細な説明から明らか
になることだろう。本発明は、例示のみを目的として与
えられ従って本発明を制限するものではない以下の詳細
説明及び添付図面からより良く理解することができる。
【0013】
【実施例】図1を参照すると、上位装置18の計算シス
テム及びユーザ(又はシステム管理者)14からなる好
ましい計算上の関係と合わせてデュアルディスク装置1
0及び10′の2つの好ましい実施態様を説明するため
のデータの流れが示されたブロック図が例示されてい
る。第1の実施態様のデュアルディスク装置10は、実
線で示した構成要素と矢印で表わされている。第2の実
施態様のデュアルディスク装置10′は、基本的に第1
の実施態様の全てに破線で示した構成要素と矢印を加え
たものである。図1の矢印はデュアルディスク装置10
(又は10′)の構成要素、上位装置18及びユーザ1
4の間のデータの接続又は相互作用(対話)を表わして
いる。2重線の矢印は、デュアルディスク装置10(又
は10′)の記憶動作中に用いられる一次データ径路を
表わしている。単一の2重頭付き2重線矢印が、一度に
一方向のみであるもののいずれの方向にでもデータを転
送するのに用いることのできる単一のデータ接続を表わ
している。2つの単頭2重線矢印は、或る種の状況の下
で、概念的に同時に両方の方向に流れるように見えるよ
うにデータの流れが単一のデータ接続の上で多重化され
うることを暗に意味する。各々の単線の矢印は、上位装
置18から及び上位装置18への転送と直接結びつけら
れていないデータの流れを示している。このような矢印
は、デュアルディスク装置10(又は10′)の初期化
の間又はデータ処理の誤りの結果生じる例外データの転
送の間に起こるデータの流れを表わす。
テム及びユーザ(又はシステム管理者)14からなる好
ましい計算上の関係と合わせてデュアルディスク装置1
0及び10′の2つの好ましい実施態様を説明するため
のデータの流れが示されたブロック図が例示されてい
る。第1の実施態様のデュアルディスク装置10は、実
線で示した構成要素と矢印で表わされている。第2の実
施態様のデュアルディスク装置10′は、基本的に第1
の実施態様の全てに破線で示した構成要素と矢印を加え
たものである。図1の矢印はデュアルディスク装置10
(又は10′)の構成要素、上位装置18及びユーザ1
4の間のデータの接続又は相互作用(対話)を表わして
いる。2重線の矢印は、デュアルディスク装置10(又
は10′)の記憶動作中に用いられる一次データ径路を
表わしている。単一の2重頭付き2重線矢印が、一度に
一方向のみであるもののいずれの方向にでもデータを転
送するのに用いることのできる単一のデータ接続を表わ
している。2つの単頭2重線矢印は、或る種の状況の下
で、概念的に同時に両方の方向に流れるように見えるよ
うにデータの流れが単一のデータ接続の上で多重化され
うることを暗に意味する。各々の単線の矢印は、上位装
置18から及び上位装置18への転送と直接結びつけら
れていないデータの流れを示している。このような矢印
は、デュアルディスク装置10(又は10′)の初期化
の間又はデータ処理の誤りの結果生じる例外データの転
送の間に起こるデータの流れを表わす。
【0014】デュアルディスク装置10の動作中、ユー
ザ14は、上位装置18上でのタスクの実行を要求す
る。タスクを遂行するため、上位装置18の方は、それ
が電気的に接続されているデュアルディスク装置10に
必要なあらゆるデータ転送を開始する。デュアルディス
ク装置10は、制御装置22と、ハードディスク42
と、バッファメモリ50と、キャッシュ/SSDデータ
転送ユニット46とで構成されている。制御装置22
は、次の4つのデータ供給源に対する電気的接続を有す
る。すなわち、上位装置18、及び、デュアルディスク
装置10内に収納された3つのデータ供給源、つまりハ
ードディスク42及び間接的にはキャッシュ/SSDデ
ータ転送ユニット46を介してキャッシュメモリ54及
びSSDメモリ58に対する電気的データ接続を有して
いる。キャッシュメモリ54及びSSDメモリ58が両
者共バッファメモリ50の細区分又は区画であることに
留意されたい。データ供給源の接続により制御装置22
は上位装置18とその他3つのデータ供給源の間のデー
タ転送を制御することができる。ハードディスク42の
データ供給源は、データを読み取り書き込むための必要
なデータアクセス機構及び論理と共に持続性の不揮発性
データ記憶装置を提供する。バッファメモリ50は、好
ましくは、データ記憶と、それに加えて実際には好まし
くは上位装置18の転送速度よりも高い速度であるよう
なハードディスク42よりもはるかに高いデータ転送速
度とを提供する固体メモリである。従って、キャッシュ
メモリ54及びSSDメモリ58は両方共、上位装置1
8が頻繁にアクセスするようなデータ項目のための記憶
装置を供給することを意図されたものである。キャッシ
ュメモリ54は、好ましくはハードディスク42データ
フォーマット化に関連するいかなる制御ビットも無し
で、ハードディスク42のデータ項目の頻繁にアクセス
されるコピーを記憶する。SSDメモリ58は、ディス
ク形式のフォーマットで、頻繁にアクセスされるデータ
項目を記憶する。すなわち、SSDメモリ58に課せら
れたデータフォーマットは、ハードディスク42の記憶
装置に課せられるフォーマットに類似している。例え
ば、SSDメモリ58は、各トラックがセクタに分割さ
れかつ各セクタがヘッダと誤り訂正ビットの両方を有す
る状態で、トラックの形に区分化される。さらに、SS
Dメモリ58が充分に大きい場合、トラックは同様にシ
リンダの形に収集される。従って、SSDメモリ58は
あたかも異常に高速のハードディスクであるかのように
用いることができる。前述のように、バッファメモリ5
0は、キャッシュ/SSDデータ転送ユニット46への
電気的データ接続を有する。デュアルディスク装置10
の実施態様において、キャッシュ/SSDデータ転送ユ
ニット46の主要な機能は、以下の(1),(2)及び
(3)に示すものである。すなわち、(1)制御装置2
2とバッファメモリ50内の2つのデータ供給源の間の
唯一のデータ転送インタフェイスとして機能すること、
(2)SSDメモリ58のディスク形式のデータフォー
マットと上位装置18が必要とするデータフォーマット
の間で変換を行なうこと、(3)SSDメモリ58から
及びSSDメモリ58へのデータ転送の誤りを検査する
ことである。
ザ14は、上位装置18上でのタスクの実行を要求す
る。タスクを遂行するため、上位装置18の方は、それ
が電気的に接続されているデュアルディスク装置10に
必要なあらゆるデータ転送を開始する。デュアルディス
ク装置10は、制御装置22と、ハードディスク42
と、バッファメモリ50と、キャッシュ/SSDデータ
転送ユニット46とで構成されている。制御装置22
は、次の4つのデータ供給源に対する電気的接続を有す
る。すなわち、上位装置18、及び、デュアルディスク
装置10内に収納された3つのデータ供給源、つまりハ
ードディスク42及び間接的にはキャッシュ/SSDデ
ータ転送ユニット46を介してキャッシュメモリ54及
びSSDメモリ58に対する電気的データ接続を有して
いる。キャッシュメモリ54及びSSDメモリ58が両
者共バッファメモリ50の細区分又は区画であることに
留意されたい。データ供給源の接続により制御装置22
は上位装置18とその他3つのデータ供給源の間のデー
タ転送を制御することができる。ハードディスク42の
データ供給源は、データを読み取り書き込むための必要
なデータアクセス機構及び論理と共に持続性の不揮発性
データ記憶装置を提供する。バッファメモリ50は、好
ましくは、データ記憶と、それに加えて実際には好まし
くは上位装置18の転送速度よりも高い速度であるよう
なハードディスク42よりもはるかに高いデータ転送速
度とを提供する固体メモリである。従って、キャッシュ
メモリ54及びSSDメモリ58は両方共、上位装置1
8が頻繁にアクセスするようなデータ項目のための記憶
装置を供給することを意図されたものである。キャッシ
ュメモリ54は、好ましくはハードディスク42データ
フォーマット化に関連するいかなる制御ビットも無し
で、ハードディスク42のデータ項目の頻繁にアクセス
されるコピーを記憶する。SSDメモリ58は、ディス
ク形式のフォーマットで、頻繁にアクセスされるデータ
項目を記憶する。すなわち、SSDメモリ58に課せら
れたデータフォーマットは、ハードディスク42の記憶
装置に課せられるフォーマットに類似している。例え
ば、SSDメモリ58は、各トラックがセクタに分割さ
れかつ各セクタがヘッダと誤り訂正ビットの両方を有す
る状態で、トラックの形に区分化される。さらに、SS
Dメモリ58が充分に大きい場合、トラックは同様にシ
リンダの形に収集される。従って、SSDメモリ58は
あたかも異常に高速のハードディスクであるかのように
用いることができる。前述のように、バッファメモリ5
0は、キャッシュ/SSDデータ転送ユニット46への
電気的データ接続を有する。デュアルディスク装置10
の実施態様において、キャッシュ/SSDデータ転送ユ
ニット46の主要な機能は、以下の(1),(2)及び
(3)に示すものである。すなわち、(1)制御装置2
2とバッファメモリ50内の2つのデータ供給源の間の
唯一のデータ転送インタフェイスとして機能すること、
(2)SSDメモリ58のディスク形式のデータフォー
マットと上位装置18が必要とするデータフォーマット
の間で変換を行なうこと、(3)SSDメモリ58から
及びSSDメモリ58へのデータ転送の誤りを検査する
ことである。
【0015】ここで制御装置22に戻ると、これは、上
位インタフェイス26、バッファ制御装置34、ディス
クデータ転送ユニット38及びプロセッサ30を包含し
ている。上位インタフェイス26は、すべての上位通信
のため上位装置18に対して電気的データ接続を供給す
る。上位インタフェイス26は同様にプロセッサ30と
バッファ制御装置34の両方に接続されている。上位デ
ータ転送指令を上位インタフェイス26が受け取った時
点で、プロセッサ30との接続により上位インタフェイ
ス26は、プロセッサがその指令を解釈し実行できるよ
うにプロセッサ30に警告を発することができる。一般
に、プロセッサ30は、デュアルディスク装置10のそ
の他の構成要素にタスクを委任するための機能性と、委
任したタスクの状態を決定するため、つまり、例えば委
任したタスクを再試行しなければならないか否か又は誤
りが生成されたか否かを決定するための機能性とを収納
しているという意味で、すべてのデータ記憶装置のアク
ティビティを制御するか又は監視している。上位インタ
フェイス26とバッファ制御装置34の間の接続は、上
位インタフェイス26とデュアルディスク装置10の3
つのデータ供給源との間のデータ転送を可能にする。バ
ッファ制御装置34は、データ供給源同士の効果的なデ
ータ転送を可能にする共通のデータ転送機能性を提供す
る。このような背景の下で、バッファ制御装置34は、
速い方のデータ供給源が不必要に遅い方のデータ供給源
を待たないようにデータ供給源同士のデータ転送速度の
差を調和させる。上位インタフェイス26との接続に加
えて、バッファ制御装置34は、キャッシュ/SSDデ
ータ転送ユニット46及びディスクデータ転送ユニット
38の各々との単一のデータ接続を有する。ディスクデ
ータ転送ユニット38は、キャッシュ/SSDデータ転
送ユニット46がSSDメモリ58との関係において提
供する機能性と類似の機能性をハードディスク42との
関係において提供する。
位インタフェイス26、バッファ制御装置34、ディス
クデータ転送ユニット38及びプロセッサ30を包含し
ている。上位インタフェイス26は、すべての上位通信
のため上位装置18に対して電気的データ接続を供給す
る。上位インタフェイス26は同様にプロセッサ30と
バッファ制御装置34の両方に接続されている。上位デ
ータ転送指令を上位インタフェイス26が受け取った時
点で、プロセッサ30との接続により上位インタフェイ
ス26は、プロセッサがその指令を解釈し実行できるよ
うにプロセッサ30に警告を発することができる。一般
に、プロセッサ30は、デュアルディスク装置10のそ
の他の構成要素にタスクを委任するための機能性と、委
任したタスクの状態を決定するため、つまり、例えば委
任したタスクを再試行しなければならないか否か又は誤
りが生成されたか否かを決定するための機能性とを収納
しているという意味で、すべてのデータ記憶装置のアク
ティビティを制御するか又は監視している。上位インタ
フェイス26とバッファ制御装置34の間の接続は、上
位インタフェイス26とデュアルディスク装置10の3
つのデータ供給源との間のデータ転送を可能にする。バ
ッファ制御装置34は、データ供給源同士の効果的なデ
ータ転送を可能にする共通のデータ転送機能性を提供す
る。このような背景の下で、バッファ制御装置34は、
速い方のデータ供給源が不必要に遅い方のデータ供給源
を待たないようにデータ供給源同士のデータ転送速度の
差を調和させる。上位インタフェイス26との接続に加
えて、バッファ制御装置34は、キャッシュ/SSDデ
ータ転送ユニット46及びディスクデータ転送ユニット
38の各々との単一のデータ接続を有する。ディスクデ
ータ転送ユニット38は、キャッシュ/SSDデータ転
送ユニット46がSSDメモリ58との関係において提
供する機能性と類似の機能性をハードディスク42との
関係において提供する。
【0016】すなわち、ディスクデータ転送ユニット3
8は、(i)ハードディスク42が要求するデータフォ
ーマットに及びこのデータフォーマットからデータを変
換し、(ii)ハードディスク42から及びハードディス
ク42へのデータ転送についてチェックする。正常動作
中のデュアルディスク装置10の動作を簡潔に説明する
と、上位装置18は、標準的に、単数又は複数の「デー
タブロック」(すなわち、均等に定められたサイズのデ
ータのブロック)が「論理ブロックアドレス」(すなわ
ち、周辺記憶装置データ記憶場所をアドレス指定するた
め、上位装置18によって用いられるアドレス指定スキ
ーマから導き出されたアドレス)から読み取られるか又
はこの論理ブロックアドレスへ書き込まれるよう要求す
る。論理ブロックアドレスがデュアルディスク装置10
内の1つの記憶場所に相応すると仮定すると、その要求
は上位インタフェイス26に転送される。上位インタフ
ェイス26はプロセッサ30を中断し、1つのデータ転
送要求が保留されていることを示す。プロセッサ30
は、それが読取りであるか書込みであるかを決定する要
求を解釈する。さらに、プロセッサ30は、その要求と
結びつけられた論理ブロックアドレスがハードディスク
42の場所に一致するか或いは又SSDメモリ58の場
所に一致するかを決定する。データ転送がハードディス
ク42の場所に向けられた場合、好ましくは、転送は、
上位装置要求が読取りであるか書込みであるかに関係な
くキャッシュメモリ54を通して行なわれなくてはなら
ない。すなわち、データ読取りが要求された場合、要求
されたデータの有効なコピーがキャッシュメモリ54内
に常駐するか或いは又ハードディスク42からディスク
データ転送ユニッチ38、バッファ制御装置34及びキ
ャッシュ/SSDデータ転送ユニット46を介してキャ
ッシュメモリ54内に転送されなくてはならない。いず
れの場合でも、要求されたデータは、その後、キャッシ
ュメモリ54から上位装置18までキャッシュ/SSD
転送ユニット46、バッファ制御装置34及び上位イン
タフェイス26を介して転送される。逆に、ハードディ
スク42へのデータ書込みが要求された場合には、デー
タは常に上位インタフェイス26からバッファ制御装置
34及びキャッシュ/SSDデータ転送ユニット46を
介してキャッシュメモリ54に書き込まれる。これに続
いて、データはキャッシュ/SSD、データ転送ユニッ
ト46、バッファ制御装置34及びディスクデータ転送
ユニット38を介してハードディスク42に書き込まれ
る。当然のことながら、これらのデータ転送を容易なも
のにするため使用できる周知のキャッシング戦略が存在
する。例えば、上位装置18からキャッシュメモリ54
に書き込まれたデータは、さらに何らかの上位装置18
のデータ転送要求を実行する前にハードディスク42に
書き込まれるが(「ライト・スルー(write th
rough)」キャッシングとして知られている)。或
いは又、時間と状況が許す限りにおいてハードディスク
42に書き込まれる(「ライト・バック(write
back)」キャッシングとして知られている)。一
方、上位装置18のデータ転送がSSDメモリ58の1
つの場所に向けられる場合には、書込みのためには、各
々のデータブロックを上位インタフェイス26からバッ
ファ制御装置34を介してキャッシュ/SSDデータ転
送ユニット46まで転送させ、ここで上記の各データブ
ロックをSSDメモリ58の対応する場所に書き込む。
データブロックを受け取る前に、キャッシュ/SSDデ
ータ転送ユニット46はその書込みが向けられているセ
クタヘッダーを既に検査しているということに留意され
たい。従って、データは、単にキャッシュ/SSDデー
タ転送ユニット46を通ってセクタのデータ部域内へと
流れるだけで、書込みの後付加すべきセクタ誤り訂正コ
ードビットのみを残す。SSDメモリ58内の1つの場
所からの読取りのためには、基本的に書込みのステップ
とは逆転したステップが実行される。すなわち、キャッ
シュ/SSDデータ転送ユニット46は、要求されたデ
ータブロックと結びつけられたセクタヘッダ及び誤り訂
正コードビットのあらゆる検査を行ない、その後、その
場所に常駐しているデータブロックはキャッシュ/SS
Dデータ転送ユニット46によりバッファ制御装置34
まで転送され、そこで今度は上位インターフェイス26
へさらにはそこから上位装置18へ転送される。
8は、(i)ハードディスク42が要求するデータフォ
ーマットに及びこのデータフォーマットからデータを変
換し、(ii)ハードディスク42から及びハードディス
ク42へのデータ転送についてチェックする。正常動作
中のデュアルディスク装置10の動作を簡潔に説明する
と、上位装置18は、標準的に、単数又は複数の「デー
タブロック」(すなわち、均等に定められたサイズのデ
ータのブロック)が「論理ブロックアドレス」(すなわ
ち、周辺記憶装置データ記憶場所をアドレス指定するた
め、上位装置18によって用いられるアドレス指定スキ
ーマから導き出されたアドレス)から読み取られるか又
はこの論理ブロックアドレスへ書き込まれるよう要求す
る。論理ブロックアドレスがデュアルディスク装置10
内の1つの記憶場所に相応すると仮定すると、その要求
は上位インタフェイス26に転送される。上位インタフ
ェイス26はプロセッサ30を中断し、1つのデータ転
送要求が保留されていることを示す。プロセッサ30
は、それが読取りであるか書込みであるかを決定する要
求を解釈する。さらに、プロセッサ30は、その要求と
結びつけられた論理ブロックアドレスがハードディスク
42の場所に一致するか或いは又SSDメモリ58の場
所に一致するかを決定する。データ転送がハードディス
ク42の場所に向けられた場合、好ましくは、転送は、
上位装置要求が読取りであるか書込みであるかに関係な
くキャッシュメモリ54を通して行なわれなくてはなら
ない。すなわち、データ読取りが要求された場合、要求
されたデータの有効なコピーがキャッシュメモリ54内
に常駐するか或いは又ハードディスク42からディスク
データ転送ユニッチ38、バッファ制御装置34及びキ
ャッシュ/SSDデータ転送ユニット46を介してキャ
ッシュメモリ54内に転送されなくてはならない。いず
れの場合でも、要求されたデータは、その後、キャッシ
ュメモリ54から上位装置18までキャッシュ/SSD
転送ユニット46、バッファ制御装置34及び上位イン
タフェイス26を介して転送される。逆に、ハードディ
スク42へのデータ書込みが要求された場合には、デー
タは常に上位インタフェイス26からバッファ制御装置
34及びキャッシュ/SSDデータ転送ユニット46を
介してキャッシュメモリ54に書き込まれる。これに続
いて、データはキャッシュ/SSD、データ転送ユニッ
ト46、バッファ制御装置34及びディスクデータ転送
ユニット38を介してハードディスク42に書き込まれ
る。当然のことながら、これらのデータ転送を容易なも
のにするため使用できる周知のキャッシング戦略が存在
する。例えば、上位装置18からキャッシュメモリ54
に書き込まれたデータは、さらに何らかの上位装置18
のデータ転送要求を実行する前にハードディスク42に
書き込まれるが(「ライト・スルー(write th
rough)」キャッシングとして知られている)。或
いは又、時間と状況が許す限りにおいてハードディスク
42に書き込まれる(「ライト・バック(write
back)」キャッシングとして知られている)。一
方、上位装置18のデータ転送がSSDメモリ58の1
つの場所に向けられる場合には、書込みのためには、各
々のデータブロックを上位インタフェイス26からバッ
ファ制御装置34を介してキャッシュ/SSDデータ転
送ユニット46まで転送させ、ここで上記の各データブ
ロックをSSDメモリ58の対応する場所に書き込む。
データブロックを受け取る前に、キャッシュ/SSDデ
ータ転送ユニット46はその書込みが向けられているセ
クタヘッダーを既に検査しているということに留意され
たい。従って、データは、単にキャッシュ/SSDデー
タ転送ユニット46を通ってセクタのデータ部域内へと
流れるだけで、書込みの後付加すべきセクタ誤り訂正コ
ードビットのみを残す。SSDメモリ58内の1つの場
所からの読取りのためには、基本的に書込みのステップ
とは逆転したステップが実行される。すなわち、キャッ
シュ/SSDデータ転送ユニット46は、要求されたデ
ータブロックと結びつけられたセクタヘッダ及び誤り訂
正コードビットのあらゆる検査を行ない、その後、その
場所に常駐しているデータブロックはキャッシュ/SS
Dデータ転送ユニット46によりバッファ制御装置34
まで転送され、そこで今度は上位インターフェイス26
へさらにはそこから上位装置18へ転送される。
【0017】変形実施態様のデュアルディスク装置1
0′においては、上位装置18とSSDメモリ58の間
のデータ転送は、上位インタフェイス26′、プロセッ
サ30、バッファ制御装置34及びキャッシュ/SSD
データ転送ユニット46を含む代替データチャネルを通
してのみ行なわれる。従って、デュアルディスク装置1
0の実施態様が、ハードディスク/キャッシュ又はSS
Dメモリ58のいずれに上位装置データ転送が向けられ
るかを決定するのにデュアルディスク装置自体を必要と
するのに対して、この変形実施態様は、上位装置がデー
タ記憶装置を決定し適切なデータチャネルに各データ転
送を送るという点でより従来形に近い。この第2のデー
タチャネルにおいて、上位インタフェイス26′は、上
位インタフェイス26がデュアルディスク装置10のた
めに提供するものと同じ機能性を提供する。新しいデー
タチャネル内で使用されるデュアルディスク装置10の
その他の構成要素はすべて、動作状態のデータチャネル
の如何にかかわらず同じデータ転送タスクを達成する。
しかしながら、プロセッサ30は、さらに、2つのデー
タチャネルの間で共通に使用される構成要素間のデータ
転送トラヒック(data tranfer traf
fic)の調和をとる責任を負う。
0′においては、上位装置18とSSDメモリ58の間
のデータ転送は、上位インタフェイス26′、プロセッ
サ30、バッファ制御装置34及びキャッシュ/SSD
データ転送ユニット46を含む代替データチャネルを通
してのみ行なわれる。従って、デュアルディスク装置1
0の実施態様が、ハードディスク/キャッシュ又はSS
Dメモリ58のいずれに上位装置データ転送が向けられ
るかを決定するのにデュアルディスク装置自体を必要と
するのに対して、この変形実施態様は、上位装置がデー
タ記憶装置を決定し適切なデータチャネルに各データ転
送を送るという点でより従来形に近い。この第2のデー
タチャネルにおいて、上位インタフェイス26′は、上
位インタフェイス26がデュアルディスク装置10のた
めに提供するものと同じ機能性を提供する。新しいデー
タチャネル内で使用されるデュアルディスク装置10の
その他の構成要素はすべて、動作状態のデータチャネル
の如何にかかわらず同じデータ転送タスクを達成する。
しかしながら、プロセッサ30は、さらに、2つのデー
タチャネルの間で共通に使用される構成要素間のデータ
転送トラヒック(data tranfer traf
fic)の調和をとる責任を負う。
【0018】ここで図2を参照すると、デュアルディス
ク装置10の初期化のための好ましい手順が紹介されて
いる。ステップ60では、ユーザは物理的にデュアルデ
ィスク装置10に対する電源をオンに切替える。デュア
ルディスク装置10と上位装置18の間のデータ接続が
物理的に打ち立てられたと仮定すると、ユーザは好まし
くは、上位装置18からのその他の初期化タスクを全て
立ち上げる。ステップ64では、ハードディスク42及
びプロセッサ30の両方共が完全に機能的になる。すな
わち、ハードディスク42はスピンアップ(すなわち、
データを転送できるよう適切な回転速度が達成されるま
でその内包された磁気記憶ディスクの回転を加速する)
するべく誘導され、プロセッサ30はブートアップ(b
ootup)するべく誘導される。デュアルディスク装
置10の構成に応じて、プロセッサ30のためのマイク
ロコード命令は、プロセッサ30と結びつけられた読取
り専用メモリ(ROM)の中に常駐させることもできる
し或いは又代替的にマイクロコードはハードディスク4
2上に常駐させることもできる。マイクロコードがRO
M内に常駐している場合、プロセッサ30はハードディ
スク42のスピンアップと同時にブートアップできる。
そうでなければ、プロセッサ30のブートアップはスピ
ンアップの後直ちに起こり、マイクロコードはプロセッ
サ30内にダウンロードされる。上位装置18及びデュ
アルディスク装置10の構成に応じて、このステップは
ステップ60の後に自動的に実行されてもよいし、或い
は又、上位装置18からデュアルディスク装置10に送
られた指令の結果として実行されてもよい。ステップ6
8では、プロセッサ30は、ディスクデータ転送ユニッ
ト38に対し、ハードディスク42上のメーカが特定し
た場所からSSDメモリ58又さらに一般的にはバッフ
ァメモリ50の構成パラメータ値を検索するよう要求す
る。現実施態様においては、これらのパラメータはSS
Dメモリ58又はキャッシュ54のサイズを特定し、こ
れに加えてSSDメモリ58内でセクタサイズ、トラッ
ク1本あたりのセクタ数、シリンダ1本あたりのトラッ
ク数及びシリンダ数を特定する。ひとたびこれらの値が
得られると、プロセッサ30は、パラメータ値の適合性
ある組合せ(legitimate combinat
ions)及び範囲を示すマイクロコード表と上記の値
を比較する。このような適合性ある構成の1つは、SS
Dメモリ58のサイズをゼロにするためのものであると
いうことに留意すべきである。すなわち、デュアルディ
スク装置10のSSD部分は存在しない。ステップ72
において、プロセッサ30はキャッシュ/SSDデータ
転送ユニット46に対して、新しいSSDメモリ構成値
に従ってSSDメモリ58をフォーマット化するよう命
令する。このような命令には、SSDメモリ58の物理
的アドレス範囲を決定すること、そして次に各々のSS
Dセクタについて次の4つの処理を実行することが含ま
れる。すなわち、(1)セクタの開始アドレスを位置設
定すること、(2)セクタ識別子を含むセクタヘッダを
セクタの初めに書き込むこと、(3)セクタの終りに誤
り訂正コードを書き込むこと、及び、(4)或る所定の
ビット順序に合わせてヘッダと誤り訂正コードの間でデ
ータバイトを初期化することが含まれる。SSDメモリ
58のフォーマット化が完了した時点で、キャッシュ/
SSDデータ転送ユニット46は、プロセッサ30を中
断してSSDメモリ58の初期化が完了したことを知ら
せる。判断ステップ76において、プロセッサ30は、
デュアルディスク装置10の構成要素上で実行された診
断手順から、デュアルディスク装置10と上位装置18
の間のデータ転送が適切に機能しているか否かを決定す
る。デュアルディスク装置10についての診断が、その
機能不良を表示した場合、ステップ80において、エラ
ーメッセージが上位インタフェイス26を介して上位装
置18に送られる。また一方で、デュアルディスク装置
10が適切に機能していることをプロセッサ30が決定
した場合、ステップ82においてプロセッサ30は、デ
ュアルディスク装置10が上位装置18の指令のために
利用可能であることを表示することを目的として、上位
インタフェイス26を介して上位装置に提示される状態
メッセージを構築する。ステップ86では、ユーザ14
は明示的又は暗示的に、上位装置がデュアルディスク装
置10に関する有効な先行アドレス指定情報を保持する
か否かを決定する。代表的には、このような情報は保持
され、従ってそれ以上何もする必要はない。しかしなが
ら、例えばデュアルディスク装置10が上位装置18の
データポートに新たに接続された場合、2つのディスク
装置に対応する論理アドレス範囲を上位装置18に送ら
なくてはならない。これは、ステップ90において、上
位装置18が(1)最大論理データアドレスと等価であ
る使用可能なアドレス記憶場所の最大数、及び、(2)
ディスク装置の少なくとも1つの論理アドレス範囲につ
いてデュアルディスク装置10に照会することによって
達成される。上述の手順の重大な利点は、ユーザ14か
ら見てこの手順が市販の単一ディスク装置をパワーアッ
プする手順と全く異ならないという点にあるということ
に留意すべきである。例えば、ユーザは、ハードディス
ク42から得られたバッファメモリ50の構成パラメー
タ値に省略時解釈値が内包されていることから、キャッ
シュ/SSDメモリ区分パラメータ値を供給する必要が
ない。これらの省略時解釈値は、バッファメモリ50が
好ましくは20%〜30%のキャッシュメモリ54及び
70〜80%のSSDメモリ58に区分化されるような
形で設定されている。経験的に検討したところ、ほとん
どすべての上位装置18についてこれらの百分率が最適
であることが確認された。
ク装置10の初期化のための好ましい手順が紹介されて
いる。ステップ60では、ユーザは物理的にデュアルデ
ィスク装置10に対する電源をオンに切替える。デュア
ルディスク装置10と上位装置18の間のデータ接続が
物理的に打ち立てられたと仮定すると、ユーザは好まし
くは、上位装置18からのその他の初期化タスクを全て
立ち上げる。ステップ64では、ハードディスク42及
びプロセッサ30の両方共が完全に機能的になる。すな
わち、ハードディスク42はスピンアップ(すなわち、
データを転送できるよう適切な回転速度が達成されるま
でその内包された磁気記憶ディスクの回転を加速する)
するべく誘導され、プロセッサ30はブートアップ(b
ootup)するべく誘導される。デュアルディスク装
置10の構成に応じて、プロセッサ30のためのマイク
ロコード命令は、プロセッサ30と結びつけられた読取
り専用メモリ(ROM)の中に常駐させることもできる
し或いは又代替的にマイクロコードはハードディスク4
2上に常駐させることもできる。マイクロコードがRO
M内に常駐している場合、プロセッサ30はハードディ
スク42のスピンアップと同時にブートアップできる。
そうでなければ、プロセッサ30のブートアップはスピ
ンアップの後直ちに起こり、マイクロコードはプロセッ
サ30内にダウンロードされる。上位装置18及びデュ
アルディスク装置10の構成に応じて、このステップは
ステップ60の後に自動的に実行されてもよいし、或い
は又、上位装置18からデュアルディスク装置10に送
られた指令の結果として実行されてもよい。ステップ6
8では、プロセッサ30は、ディスクデータ転送ユニッ
ト38に対し、ハードディスク42上のメーカが特定し
た場所からSSDメモリ58又さらに一般的にはバッフ
ァメモリ50の構成パラメータ値を検索するよう要求す
る。現実施態様においては、これらのパラメータはSS
Dメモリ58又はキャッシュ54のサイズを特定し、こ
れに加えてSSDメモリ58内でセクタサイズ、トラッ
ク1本あたりのセクタ数、シリンダ1本あたりのトラッ
ク数及びシリンダ数を特定する。ひとたびこれらの値が
得られると、プロセッサ30は、パラメータ値の適合性
ある組合せ(legitimate combinat
ions)及び範囲を示すマイクロコード表と上記の値
を比較する。このような適合性ある構成の1つは、SS
Dメモリ58のサイズをゼロにするためのものであると
いうことに留意すべきである。すなわち、デュアルディ
スク装置10のSSD部分は存在しない。ステップ72
において、プロセッサ30はキャッシュ/SSDデータ
転送ユニット46に対して、新しいSSDメモリ構成値
に従ってSSDメモリ58をフォーマット化するよう命
令する。このような命令には、SSDメモリ58の物理
的アドレス範囲を決定すること、そして次に各々のSS
Dセクタについて次の4つの処理を実行することが含ま
れる。すなわち、(1)セクタの開始アドレスを位置設
定すること、(2)セクタ識別子を含むセクタヘッダを
セクタの初めに書き込むこと、(3)セクタの終りに誤
り訂正コードを書き込むこと、及び、(4)或る所定の
ビット順序に合わせてヘッダと誤り訂正コードの間でデ
ータバイトを初期化することが含まれる。SSDメモリ
58のフォーマット化が完了した時点で、キャッシュ/
SSDデータ転送ユニット46は、プロセッサ30を中
断してSSDメモリ58の初期化が完了したことを知ら
せる。判断ステップ76において、プロセッサ30は、
デュアルディスク装置10の構成要素上で実行された診
断手順から、デュアルディスク装置10と上位装置18
の間のデータ転送が適切に機能しているか否かを決定す
る。デュアルディスク装置10についての診断が、その
機能不良を表示した場合、ステップ80において、エラ
ーメッセージが上位インタフェイス26を介して上位装
置18に送られる。また一方で、デュアルディスク装置
10が適切に機能していることをプロセッサ30が決定
した場合、ステップ82においてプロセッサ30は、デ
ュアルディスク装置10が上位装置18の指令のために
利用可能であることを表示することを目的として、上位
インタフェイス26を介して上位装置に提示される状態
メッセージを構築する。ステップ86では、ユーザ14
は明示的又は暗示的に、上位装置がデュアルディスク装
置10に関する有効な先行アドレス指定情報を保持する
か否かを決定する。代表的には、このような情報は保持
され、従ってそれ以上何もする必要はない。しかしなが
ら、例えばデュアルディスク装置10が上位装置18の
データポートに新たに接続された場合、2つのディスク
装置に対応する論理アドレス範囲を上位装置18に送ら
なくてはならない。これは、ステップ90において、上
位装置18が(1)最大論理データアドレスと等価であ
る使用可能なアドレス記憶場所の最大数、及び、(2)
ディスク装置の少なくとも1つの論理アドレス範囲につ
いてデュアルディスク装置10に照会することによって
達成される。上述の手順の重大な利点は、ユーザ14か
ら見てこの手順が市販の単一ディスク装置をパワーアッ
プする手順と全く異ならないという点にあるということ
に留意すべきである。例えば、ユーザは、ハードディス
ク42から得られたバッファメモリ50の構成パラメー
タ値に省略時解釈値が内包されていることから、キャッ
シュ/SSDメモリ区分パラメータ値を供給する必要が
ない。これらの省略時解釈値は、バッファメモリ50が
好ましくは20%〜30%のキャッシュメモリ54及び
70〜80%のSSDメモリ58に区分化されるような
形で設定されている。経験的に検討したところ、ほとん
どすべての上位装置18についてこれらの百分率が最適
であることが確認された。
【0019】図3及び図4は、デュアルディスク装置1
0を再構成するための好ましい手順を示す。判断ステッ
プ100において、ユーザ14はハードディスク42が
望みどおり構成されているか否かの決定を行なう。望み
どおり構成されていない場合には、ステップ104にお
いてユーザ14は一定数の周知の手順のいずれか1つを
用いてハードディスク42を再構成する。さらに、ステ
ップ108において、デュアルディスク装置10は、ハ
ードディスク42がうまく構成されたか否かを決定する
ため診断を実行する。うまく構成されていない場合に
は、図4のステップ112においてプロセッサ30は、
再構成指令の不履行を表示するために、上位装置18に
提示すべき状態メッセージを構築する。ハードディスク
42がうまく再構成されている場合には、次に図3の判
断ステップ116に遭遇する。このステップ116で
は、ユーザ14は、SSDメモリ58が望みどおりに構
成されているか否かに関する決定を行なう。この判断又
はステップ100の判断を行なうにあたり、ユーザ14
は現行のデュアルディスク装置10に対し現デュアルデ
ィスク装置10の構成パラメータ値について照会するこ
とができるという点に留意されたい。好ましい実施態様
においては、ユーザの照会は、それ自体デュアルディス
ク装置10に提示されるSCSI規格の「モード検知
(mode sense)」指令の形に変換される。こ
のモード検知指令は、所望のパラメータ値を表示するよ
うなデュアルディスク装置10の特定のラベルを含む。
さらに、これらのラベルは指令内の予め定められた位置
になくてはならない。SSDメモリ58が望みどおりに
構成されていることをユーザが決定した場合、それ以上
何もする必要はない。しかしながら、SSDメモリを再
構成しなくてはならない場合には、ステップ120でユ
ーザ14は、新しいSSDメモリ58の構成を特定する
ようなSCSI規格の「モード選択(mode sel
ect)」指令の形に変換される指令を上位装置18に
入力する。このような再構成指令内で特定できるパラメ
ータには次の2つのカテゴリがある。すなわち、(1)
SSDメモリ58区分及び/又はキャッシュメモリ54
区分のサイズを特定するパラメータ、及び、(2)シリ
ンダ形式でのSSDメモリ58のディスク組織、シリン
ダ1本あたりのトラック数、トラック1本あたりのセク
タ数、及びセクタサイズを特定するパラメータである。
少なくともSSDメモリ58の区分及び/又はキャッシ
ュメモリ54の区分のサイズを構成するためのパラメー
タは、その他のディスク装置では許容できないか或いは
又望ましくないことからデュアルディスク装置10独自
のものであることに留意すべきである。従って、このよ
うなデュアルディスク装置10の特定のモード選択パラ
メータは、装置に対し特定されたパラメータ値に意図さ
れたモード選択指令の所定の位置に位置設定されていな
くてはならない。ステップ124では、モード選択指令
は、上位インタフェイス26に転送される。ステップ1
28では、上位インタフェイス26は、上位装置指令が
受信されたことを示す信号と共にプロセッサ30を中断
する。プロセッサ30はこのとき指令を解釈し、それが
SSDメモリ58の再構成指令であることを決定する。
判断ステップ132では、プロセッサ30は再構成パラ
メータ値が有効であるか否かを決定する。すなわち、プ
ロセッサ30は、パラメータ値の適合性ある組合せ及び
範囲を示すマイクロコード表と上記の再構成パラメータ
値を比較する。パラメータ値が有効なSSDメモリ58
の構成を生み出さない場合、図4のステップ148で、
「不良なSSD構成」状態メッセージが生成される。こ
のようなメッセージがさまざまな条件から生成されるこ
とに留意されたい。例えば、ハードディスク42と上位
装置18の間のすべてのデータ転送がキャッシュ54を
通らなくてはならないことから、SSDメモリ58はさ
ほど大きいものであり得ず、かくしてキャッシュ54は
データブロックのサイズよりも小さい。SSD構成パラ
メータが有効な組合せを構成する場合、図3のステップ
136においてSSDメモリ58はまさに図2のステッ
プ72と同じように構成される。すなわち、プロセッサ
30は、(1)SSDメモリ58の構成値を決定し、
(2)これらの値をキャッシュ/SSDデータ転送ユニ
ット46に供給し、(3)キャッシュ/SSDデータ転
送ユニット46に対しSSDメモリ58を再度フォーマ
ット化するよう命令する。
0を再構成するための好ましい手順を示す。判断ステッ
プ100において、ユーザ14はハードディスク42が
望みどおり構成されているか否かの決定を行なう。望み
どおり構成されていない場合には、ステップ104にお
いてユーザ14は一定数の周知の手順のいずれか1つを
用いてハードディスク42を再構成する。さらに、ステ
ップ108において、デュアルディスク装置10は、ハ
ードディスク42がうまく構成されたか否かを決定する
ため診断を実行する。うまく構成されていない場合に
は、図4のステップ112においてプロセッサ30は、
再構成指令の不履行を表示するために、上位装置18に
提示すべき状態メッセージを構築する。ハードディスク
42がうまく再構成されている場合には、次に図3の判
断ステップ116に遭遇する。このステップ116で
は、ユーザ14は、SSDメモリ58が望みどおりに構
成されているか否かに関する決定を行なう。この判断又
はステップ100の判断を行なうにあたり、ユーザ14
は現行のデュアルディスク装置10に対し現デュアルデ
ィスク装置10の構成パラメータ値について照会するこ
とができるという点に留意されたい。好ましい実施態様
においては、ユーザの照会は、それ自体デュアルディス
ク装置10に提示されるSCSI規格の「モード検知
(mode sense)」指令の形に変換される。こ
のモード検知指令は、所望のパラメータ値を表示するよ
うなデュアルディスク装置10の特定のラベルを含む。
さらに、これらのラベルは指令内の予め定められた位置
になくてはならない。SSDメモリ58が望みどおりに
構成されていることをユーザが決定した場合、それ以上
何もする必要はない。しかしながら、SSDメモリを再
構成しなくてはならない場合には、ステップ120でユ
ーザ14は、新しいSSDメモリ58の構成を特定する
ようなSCSI規格の「モード選択(mode sel
ect)」指令の形に変換される指令を上位装置18に
入力する。このような再構成指令内で特定できるパラメ
ータには次の2つのカテゴリがある。すなわち、(1)
SSDメモリ58区分及び/又はキャッシュメモリ54
区分のサイズを特定するパラメータ、及び、(2)シリ
ンダ形式でのSSDメモリ58のディスク組織、シリン
ダ1本あたりのトラック数、トラック1本あたりのセク
タ数、及びセクタサイズを特定するパラメータである。
少なくともSSDメモリ58の区分及び/又はキャッシ
ュメモリ54の区分のサイズを構成するためのパラメー
タは、その他のディスク装置では許容できないか或いは
又望ましくないことからデュアルディスク装置10独自
のものであることに留意すべきである。従って、このよ
うなデュアルディスク装置10の特定のモード選択パラ
メータは、装置に対し特定されたパラメータ値に意図さ
れたモード選択指令の所定の位置に位置設定されていな
くてはならない。ステップ124では、モード選択指令
は、上位インタフェイス26に転送される。ステップ1
28では、上位インタフェイス26は、上位装置指令が
受信されたことを示す信号と共にプロセッサ30を中断
する。プロセッサ30はこのとき指令を解釈し、それが
SSDメモリ58の再構成指令であることを決定する。
判断ステップ132では、プロセッサ30は再構成パラ
メータ値が有効であるか否かを決定する。すなわち、プ
ロセッサ30は、パラメータ値の適合性ある組合せ及び
範囲を示すマイクロコード表と上記の再構成パラメータ
値を比較する。パラメータ値が有効なSSDメモリ58
の構成を生み出さない場合、図4のステップ148で、
「不良なSSD構成」状態メッセージが生成される。こ
のようなメッセージがさまざまな条件から生成されるこ
とに留意されたい。例えば、ハードディスク42と上位
装置18の間のすべてのデータ転送がキャッシュ54を
通らなくてはならないことから、SSDメモリ58はさ
ほど大きいものであり得ず、かくしてキャッシュ54は
データブロックのサイズよりも小さい。SSD構成パラ
メータが有効な組合せを構成する場合、図3のステップ
136においてSSDメモリ58はまさに図2のステッ
プ72と同じように構成される。すなわち、プロセッサ
30は、(1)SSDメモリ58の構成値を決定し、
(2)これらの値をキャッシュ/SSDデータ転送ユニ
ット46に供給し、(3)キャッシュ/SSDデータ転
送ユニット46に対しSSDメモリ58を再度フォーマ
ット化するよう命令する。
【0020】さらに、判断ステップ140において、プ
ロセッサ30は当該技術分野において周知のものである
診断手順を実行してSSDメモリ58の再構成が成功し
たか否かを決定する。成功した場合、図4のステップ1
44において、プロセッサ30は、メーカーによって予
め定められたハードディスク42上の記憶場所に記憶さ
れた以前のSSDメモリ58のパラメータ値に重ね書き
すべきものであるという命令と合わせて、ディスクデー
タ転送ユニット38に直接新しいSSDメモリ58の構
成パラメータ値を転送する。図3の判断ステップ140
からどの選択肢がとられるかに関係なく、図4のステッ
プ148に再び遭遇することになり、プロセッサ30
は、SSDメモリ58の再構成指令の成功/失敗を表示
するために、上位装置18へ提示されるべき状態メッセ
ージを構築することになる。図4の判断ステップ152
において、上位装置18が現在デュアルディスク装置1
0に関する有効な論理アドレス範囲を保持しているか否
かについての決定がユーザ14によって行なわれる。保
持された情報がもはや有効でない場合には、ステップ1
56において、図2のステップ86の場合と同様に、デ
ュアルディスク装置10並びにデュアルディスク装置1
0内の2つのディスク装置のうちの少なくとも一方の論
理アドレス範囲の最大論理データアドレスが上位装置1
8に送られる。
ロセッサ30は当該技術分野において周知のものである
診断手順を実行してSSDメモリ58の再構成が成功し
たか否かを決定する。成功した場合、図4のステップ1
44において、プロセッサ30は、メーカーによって予
め定められたハードディスク42上の記憶場所に記憶さ
れた以前のSSDメモリ58のパラメータ値に重ね書き
すべきものであるという命令と合わせて、ディスクデー
タ転送ユニット38に直接新しいSSDメモリ58の構
成パラメータ値を転送する。図3の判断ステップ140
からどの選択肢がとられるかに関係なく、図4のステッ
プ148に再び遭遇することになり、プロセッサ30
は、SSDメモリ58の再構成指令の成功/失敗を表示
するために、上位装置18へ提示されるべき状態メッセ
ージを構築することになる。図4の判断ステップ152
において、上位装置18が現在デュアルディスク装置1
0に関する有効な論理アドレス範囲を保持しているか否
かについての決定がユーザ14によって行なわれる。保
持された情報がもはや有効でない場合には、ステップ1
56において、図2のステップ86の場合と同様に、デ
ュアルディスク装置10並びにデュアルディスク装置1
0内の2つのディスク装置のうちの少なくとも一方の論
理アドレス範囲の最大論理データアドレスが上位装置1
8に送られる。
【0021】図5〜図8は、デュアルディスク装置10
へデータを書き込む上で関与してくるステップを示すフ
ローチャートを表わす。ステップ200においては、上
位装置18は、転送されるべきデータブロックの数「B
LK CNT」及びデータブロックを書き込むべき論理
ブロックアドレス「ADDRS」を示すデータ書込み要
求を上位インタフェイス26に送る。ステップ204で
は、上位インタフェイス26は、プロセッサ30を中断
し、上位装置が保留中であることを知らせる。ステップ
208では、プロセッサ30は上位装置18の要求を解
釈し、それがデータ書込み要求であることを確認する。
ステップ212では、プロセッサ30は、書込み要求が
適用されるディスク装置を決定する。このことは、2つ
のディスクに結びつけられた論理アドレス範囲と「AD
DRS」を比較することによって達成される。さらに、
ディスク装置がひとたび決定されると、プロセッサ30
は論理ブロックアドレス「ADDRS」を物理的アドレ
スの形に変換する。図6の判断ステップ216では、プ
ロセッサ30は、決定されたディスク装置がハードディ
スク42であるか又はSSDメモリ58であるかに応じ
て次に続くどの制御流れ選択肢を実行すべきかを決定す
る。SSDメモリ58が上位装置18の書込み要求を向
けるディスク装置である場合には、次にステップ220
(図6)が実行される。このステップでは、プロセッサ
30はSSDメモリ58への書込みの準備としてキャッ
シュ/SSDデータ転送ユニット46を構成する。キャ
ッシュ/SSDデータ転送ユニット46を構成すること
には、ユニットに対し(1)書き込まれるべきブロック
の数「BLK CNT」、(2)上記ステップ212で
設定された物理的アドレスから決定されるようにデータ
を書き込むべきSSDメモリ58内の初期ヘッダの記憶
場所アドレス、(3)この記憶場所におけるセクタヘッ
ダの予想値、及び、(4)バッファ制御装置34により
受信されるべきデータにより、SSDメモリ58のため
に必要とされるディスク形式のフォーマットにフォーマ
ット化されなくてはならないということを指示するよう
な信号、を提供することが包含される。上記の(1)か
ら(3)までを供給するのに必要とされるプロセッサ3
0の機能性は、ハードディスク42のデータ転送のため
にディスクデータ転送ユニット30を初期化するのに必
要とされるものと同じ機能性であるということに留意す
べきである。従って、この状況の下で、従来のハードデ
ィスク装置のデュアルディスク装置10への変換を容易
にするため従来のハードディスク装置に固有の機能性の
多くを利用することができる。図7のステップ224で
は、プロセッサ30は、上位装置18からキャッシュ/
SSDデータ転送ユニット46へ、「BLK CNT」
という数のデータブロックを転送するよう上位装置イン
タフェイス26及びバッファ制御装置34を構成する。
この種の構成は当該技術分野において周知のものであ
る。バッファ制御装置34の場合、これには、高速の方
のデータ供給源が低速の方のデータ供給源を不必要に待
つことがないようにデータ供給源の間でのデータ転送速
度の差を調和させることができるような形でバッファ制
御装置34内で「転送バッファ」及び転送バッファパラ
メータの値を初期化することが含まれる。さらに、ステ
ップ228では、プロセッサ30は、上位装置18から
SSDメモリ58までデータを転送するよう、上位イン
タフェイス26、バッファ制御装置34及びキャッシュ
/SSDデータ転送ユニット46に命令を与える。誤り
条件が発生しない限りプロセッサ30が転送の開始を超
えてデータ転送に関与することはないということに留意
すべきである。データは上位装置18から上位インタフ
ェイス26の待ち行列内に入力され、ここでこのデータ
はバッファ制御装置34により検索され上述のように転
送バッファ内に置かれる。バッファ制御装置34は、デ
ータ転送中転送バッファを少なくとも一部分満杯に保つ
よう試みる。転送バッファ内のデータ量が予め定められ
たレベルより下に落ちた(そしてさらに多くのデータを
転送しなくてはならない)場合、バッファ制御装置34
は、目的のデータ転送構成要素すなわちここではキャッ
シュ/SSDデータ転送ユニット46へのデータ転送を
停止させ、原始データ転送構成要素すなわちここでは上
位インタフェイス26から次のデータ項目を要求する。
転送バッファ内のデータ量が所定のレベルより上がった
場合には、バッファ制御装置34は、原始データ転送構
成要素から転送バッファへのデータ転送を停止させ、目
的のデータ転送構成要素に対し転送バッファから次のデ
ータ項目を読み取るよう要求する。データがキャッシュ
/SSDデータ転送ユニット46に転送されるにつれ
て、このデータは、プロセッサ30が予め定めたセクタ
のデータ部分内に書き込まれる。いずれかのデータブロ
ックが書き込まれる前に、キャッシュ/SSDデータ転
送ユニット46は、図6のステップ220内で得られた
SSDメモリ58のセクタヘッダ記憶場所を用いて第1
のセクタヘッダを検索する。このヘッダは、同様にステ
ップ220で得られる別の予想されたヘッダに対して比
較される。もし、上記2つのヘッダが同一である場合に
は、書き込まれるべき最初のデータブロックはバッファ
制御装置34からセクタのデータ部分に転送され、その
セクタの終りでは当該技術分野において周知であるよう
に将来の何らかのデータ伝送誤りを訂正するべく誤り訂
正ビットが書き込まれる。これに続いて、キャッシュ/
SSDデータ転送ユニット46は、その他のデータブロ
ックすべてが書き込まれてしまうまで、次の5つの命令
を反復的に実行する。すなわち、(1)次のセクタのヘ
ッダの場所に対しアドレス指定を行うためセクタサイズ
分だけヘッダ記憶場所アドレスを増分させる、(2)こ
の新しい記憶場所におけるヘッダを検索する、(3)新
たに検索されたヘッダの値が恐らくそうであるべきもの
を反映するよう予想ヘッダ値を増分させる、(4)予想
ヘッダに対し検索されたヘッダを比較し、これらが同一
である場合には、次のデータブロックをバッファ制御装
置34からこの新しいセクタのデータ部分へと転送させ
る。そして最後に、(5)誤り訂正ビットをこのセクタ
の終りに書き込むという命令である。関係する3つのデ
ータ転送構成要素(すなわち上位インタフェイス26、
バッファ制御装置34及びキャッシュ/SSDデータ転
送ユニット46)のうちのいずれもデータ転送中に誤り
状態によってプロセッサ30を中断しなかった場合、図
8のステップ232において、バッファ制御装置34
は、プロセッサ30を中断し、書込みの完了を知らせ
る。
へデータを書き込む上で関与してくるステップを示すフ
ローチャートを表わす。ステップ200においては、上
位装置18は、転送されるべきデータブロックの数「B
LK CNT」及びデータブロックを書き込むべき論理
ブロックアドレス「ADDRS」を示すデータ書込み要
求を上位インタフェイス26に送る。ステップ204で
は、上位インタフェイス26は、プロセッサ30を中断
し、上位装置が保留中であることを知らせる。ステップ
208では、プロセッサ30は上位装置18の要求を解
釈し、それがデータ書込み要求であることを確認する。
ステップ212では、プロセッサ30は、書込み要求が
適用されるディスク装置を決定する。このことは、2つ
のディスクに結びつけられた論理アドレス範囲と「AD
DRS」を比較することによって達成される。さらに、
ディスク装置がひとたび決定されると、プロセッサ30
は論理ブロックアドレス「ADDRS」を物理的アドレ
スの形に変換する。図6の判断ステップ216では、プ
ロセッサ30は、決定されたディスク装置がハードディ
スク42であるか又はSSDメモリ58であるかに応じ
て次に続くどの制御流れ選択肢を実行すべきかを決定す
る。SSDメモリ58が上位装置18の書込み要求を向
けるディスク装置である場合には、次にステップ220
(図6)が実行される。このステップでは、プロセッサ
30はSSDメモリ58への書込みの準備としてキャッ
シュ/SSDデータ転送ユニット46を構成する。キャ
ッシュ/SSDデータ転送ユニット46を構成すること
には、ユニットに対し(1)書き込まれるべきブロック
の数「BLK CNT」、(2)上記ステップ212で
設定された物理的アドレスから決定されるようにデータ
を書き込むべきSSDメモリ58内の初期ヘッダの記憶
場所アドレス、(3)この記憶場所におけるセクタヘッ
ダの予想値、及び、(4)バッファ制御装置34により
受信されるべきデータにより、SSDメモリ58のため
に必要とされるディスク形式のフォーマットにフォーマ
ット化されなくてはならないということを指示するよう
な信号、を提供することが包含される。上記の(1)か
ら(3)までを供給するのに必要とされるプロセッサ3
0の機能性は、ハードディスク42のデータ転送のため
にディスクデータ転送ユニット30を初期化するのに必
要とされるものと同じ機能性であるということに留意す
べきである。従って、この状況の下で、従来のハードデ
ィスク装置のデュアルディスク装置10への変換を容易
にするため従来のハードディスク装置に固有の機能性の
多くを利用することができる。図7のステップ224で
は、プロセッサ30は、上位装置18からキャッシュ/
SSDデータ転送ユニット46へ、「BLK CNT」
という数のデータブロックを転送するよう上位装置イン
タフェイス26及びバッファ制御装置34を構成する。
この種の構成は当該技術分野において周知のものであ
る。バッファ制御装置34の場合、これには、高速の方
のデータ供給源が低速の方のデータ供給源を不必要に待
つことがないようにデータ供給源の間でのデータ転送速
度の差を調和させることができるような形でバッファ制
御装置34内で「転送バッファ」及び転送バッファパラ
メータの値を初期化することが含まれる。さらに、ステ
ップ228では、プロセッサ30は、上位装置18から
SSDメモリ58までデータを転送するよう、上位イン
タフェイス26、バッファ制御装置34及びキャッシュ
/SSDデータ転送ユニット46に命令を与える。誤り
条件が発生しない限りプロセッサ30が転送の開始を超
えてデータ転送に関与することはないということに留意
すべきである。データは上位装置18から上位インタフ
ェイス26の待ち行列内に入力され、ここでこのデータ
はバッファ制御装置34により検索され上述のように転
送バッファ内に置かれる。バッファ制御装置34は、デ
ータ転送中転送バッファを少なくとも一部分満杯に保つ
よう試みる。転送バッファ内のデータ量が予め定められ
たレベルより下に落ちた(そしてさらに多くのデータを
転送しなくてはならない)場合、バッファ制御装置34
は、目的のデータ転送構成要素すなわちここではキャッ
シュ/SSDデータ転送ユニット46へのデータ転送を
停止させ、原始データ転送構成要素すなわちここでは上
位インタフェイス26から次のデータ項目を要求する。
転送バッファ内のデータ量が所定のレベルより上がった
場合には、バッファ制御装置34は、原始データ転送構
成要素から転送バッファへのデータ転送を停止させ、目
的のデータ転送構成要素に対し転送バッファから次のデ
ータ項目を読み取るよう要求する。データがキャッシュ
/SSDデータ転送ユニット46に転送されるにつれ
て、このデータは、プロセッサ30が予め定めたセクタ
のデータ部分内に書き込まれる。いずれかのデータブロ
ックが書き込まれる前に、キャッシュ/SSDデータ転
送ユニット46は、図6のステップ220内で得られた
SSDメモリ58のセクタヘッダ記憶場所を用いて第1
のセクタヘッダを検索する。このヘッダは、同様にステ
ップ220で得られる別の予想されたヘッダに対して比
較される。もし、上記2つのヘッダが同一である場合に
は、書き込まれるべき最初のデータブロックはバッファ
制御装置34からセクタのデータ部分に転送され、その
セクタの終りでは当該技術分野において周知であるよう
に将来の何らかのデータ伝送誤りを訂正するべく誤り訂
正ビットが書き込まれる。これに続いて、キャッシュ/
SSDデータ転送ユニット46は、その他のデータブロ
ックすべてが書き込まれてしまうまで、次の5つの命令
を反復的に実行する。すなわち、(1)次のセクタのヘ
ッダの場所に対しアドレス指定を行うためセクタサイズ
分だけヘッダ記憶場所アドレスを増分させる、(2)こ
の新しい記憶場所におけるヘッダを検索する、(3)新
たに検索されたヘッダの値が恐らくそうであるべきもの
を反映するよう予想ヘッダ値を増分させる、(4)予想
ヘッダに対し検索されたヘッダを比較し、これらが同一
である場合には、次のデータブロックをバッファ制御装
置34からこの新しいセクタのデータ部分へと転送させ
る。そして最後に、(5)誤り訂正ビットをこのセクタ
の終りに書き込むという命令である。関係する3つのデ
ータ転送構成要素(すなわち上位インタフェイス26、
バッファ制御装置34及びキャッシュ/SSDデータ転
送ユニット46)のうちのいずれもデータ転送中に誤り
状態によってプロセッサ30を中断しなかった場合、図
8のステップ232において、バッファ制御装置34
は、プロセッサ30を中断し、書込みの完了を知らせ
る。
【0022】ここで、ハードディスク42がデータを書
き込むべきディスク装置であるステップ216(図6)
の後の代替的判断選択肢を参照すると、図6のステップ
236に遭遇する。このステップ236で、プロセッサ
30は、「ADDRS」に相応する物理的アドレスにそ
のデータ転送ヘッドを位置づけるようハードディスク4
2に命令するためディスクデータ転送ユニット38に対
してシーク命令を送る。このシーク命令が実行されてい
る間、プロセッサ30は、書込みをすべきデータの先行
バージョンが現在キャッシュメモリ54内にあるか否か
を決定するため図7の判断ステップ240へと進む。キ
ャッシュメモリ内にある場合には、図7のステップ24
4において、プロセッサ30は、データの記憶場所のア
ドレスを可変的な「CACHE LOC」に割り当て
る。データがキャッシュメモリ54内に無い場合には、
図7のステップ248において、プロセッサ30は、デ
ータを書き込むことのできるキャッシュ記憶場所を決定
し、この場所のアドレスを「CACHE LOC」に割
当てる。ここで、この場所を決定するのに用いることの
できる周知のキャッシング戦略が多数あることに留意さ
れたい。図7のステップ240からとられた判断選択肢
の如何に関わらず、「CACHE LOC」が割り当て
られた後に図7のステップ252に遭遇する。このステ
ップでは、プロセッサ30は、変更又はフォーマット化
無しでバッファ制御装置34からキャッシュ54まで転
送されるべきデータブロックを書き込むようキャッシュ
/SSDデータ転送ユニット46を構成する。ステップ
256においては、プロセッサ30は、キャッシュ/S
SDデータ転送ユニット46にデータブロックを「BL
KCNT」の数だけ書き込むべく上位インタフェイス2
6及びバッファ制御装置34を構成する。さらに、ステ
ップ260では、プロセッサ30は上位インタフェイス
26、バッファ制御装置34及びキャッシュ/SSDデ
ータ転送ユニット46に対して上位装置18からキャッ
シュメモリ54までデータブロックを転送するよう命令
する。さらに、キャッシング戦略に応じて、これらの同
じデータブロックをハードディスク42への途中でディ
スクデータ転送ユニット38に書き込むことも可能であ
る。キャッシング戦略が、ハードディスク42へ書き込
まれることなくその他の上位装置18データ転送要求の
間キャッシュ54内にデータが常駐するのを可能にする
場合(すなわち、「ライト・バック」キャッシング)、
バッファ制御装置34は単にデータをキャッシュ/SS
Dデータ転送ユニット46に転送するよう構成され命令
されることしか必要でない。他方では、キャッシング戦
略によって、キャッシュメモリ54に書き込まれたすべ
てのデータがその他の何らかの上位装置データ転送要求
の実行前にハードディスク42に書き込まれることが要
求される場合(すなわち、「ライト・スルー」キャッシ
ング)には、好ましくは予め定められた数のデータバイ
トがキャッシュメモリ54への途中でキャッシュ/SS
Dデータ転送ユニット46に転送された後、バッファ制
御装置34及びキャッシュ/SSDデータ転送ユニット
46は、キャッシュメモリ54内へのデータ転送と、デ
ィスクデータ転送ユニット38を介しての同じデータの
ハードディスク42への付加的データ転送との多重化を
始めることになる。プロセッサ30が図7のステップ2
60でのデータ転送中誤り状態によって中断されない場
合、再び図8のステップ232に遭遇し、バッファ制御
装置はプロセッサ30を中断して書込みの完了を知らせ
る。最終的に、図8のステップ264において、プロセ
ッサ30は、書込みが成功したか否かを決定するため、
関係するデータ転送構成要素から充分な数の状態フラグ
を検査する。次にプロセッサ30は状態メッセージを上
位装置18へと上位インタフェイス26を介して送り、
書込み要求の成功/失敗を示す。しかしながら、修正で
きないデータ転送誤り割込みを受け取った場合には、い
つでも同様に図8のステップ264が実行されるという
ことに留意されたい。
き込むべきディスク装置であるステップ216(図6)
の後の代替的判断選択肢を参照すると、図6のステップ
236に遭遇する。このステップ236で、プロセッサ
30は、「ADDRS」に相応する物理的アドレスにそ
のデータ転送ヘッドを位置づけるようハードディスク4
2に命令するためディスクデータ転送ユニット38に対
してシーク命令を送る。このシーク命令が実行されてい
る間、プロセッサ30は、書込みをすべきデータの先行
バージョンが現在キャッシュメモリ54内にあるか否か
を決定するため図7の判断ステップ240へと進む。キ
ャッシュメモリ内にある場合には、図7のステップ24
4において、プロセッサ30は、データの記憶場所のア
ドレスを可変的な「CACHE LOC」に割り当て
る。データがキャッシュメモリ54内に無い場合には、
図7のステップ248において、プロセッサ30は、デ
ータを書き込むことのできるキャッシュ記憶場所を決定
し、この場所のアドレスを「CACHE LOC」に割
当てる。ここで、この場所を決定するのに用いることの
できる周知のキャッシング戦略が多数あることに留意さ
れたい。図7のステップ240からとられた判断選択肢
の如何に関わらず、「CACHE LOC」が割り当て
られた後に図7のステップ252に遭遇する。このステ
ップでは、プロセッサ30は、変更又はフォーマット化
無しでバッファ制御装置34からキャッシュ54まで転
送されるべきデータブロックを書き込むようキャッシュ
/SSDデータ転送ユニット46を構成する。ステップ
256においては、プロセッサ30は、キャッシュ/S
SDデータ転送ユニット46にデータブロックを「BL
KCNT」の数だけ書き込むべく上位インタフェイス2
6及びバッファ制御装置34を構成する。さらに、ステ
ップ260では、プロセッサ30は上位インタフェイス
26、バッファ制御装置34及びキャッシュ/SSDデ
ータ転送ユニット46に対して上位装置18からキャッ
シュメモリ54までデータブロックを転送するよう命令
する。さらに、キャッシング戦略に応じて、これらの同
じデータブロックをハードディスク42への途中でディ
スクデータ転送ユニット38に書き込むことも可能であ
る。キャッシング戦略が、ハードディスク42へ書き込
まれることなくその他の上位装置18データ転送要求の
間キャッシュ54内にデータが常駐するのを可能にする
場合(すなわち、「ライト・バック」キャッシング)、
バッファ制御装置34は単にデータをキャッシュ/SS
Dデータ転送ユニット46に転送するよう構成され命令
されることしか必要でない。他方では、キャッシング戦
略によって、キャッシュメモリ54に書き込まれたすべ
てのデータがその他の何らかの上位装置データ転送要求
の実行前にハードディスク42に書き込まれることが要
求される場合(すなわち、「ライト・スルー」キャッシ
ング)には、好ましくは予め定められた数のデータバイ
トがキャッシュメモリ54への途中でキャッシュ/SS
Dデータ転送ユニット46に転送された後、バッファ制
御装置34及びキャッシュ/SSDデータ転送ユニット
46は、キャッシュメモリ54内へのデータ転送と、デ
ィスクデータ転送ユニット38を介しての同じデータの
ハードディスク42への付加的データ転送との多重化を
始めることになる。プロセッサ30が図7のステップ2
60でのデータ転送中誤り状態によって中断されない場
合、再び図8のステップ232に遭遇し、バッファ制御
装置はプロセッサ30を中断して書込みの完了を知らせ
る。最終的に、図8のステップ264において、プロセ
ッサ30は、書込みが成功したか否かを決定するため、
関係するデータ転送構成要素から充分な数の状態フラグ
を検査する。次にプロセッサ30は状態メッセージを上
位装置18へと上位インタフェイス26を介して送り、
書込み要求の成功/失敗を示す。しかしながら、修正で
きないデータ転送誤り割込みを受け取った場合には、い
つでも同様に図8のステップ264が実行されるという
ことに留意されたい。
【0023】図9〜12は、デュアルディスク装置10
からデータを読み取る上に関与するステップを例示する
フローチャートを表わしている。図9のステップ300
では、上位装置18は、上位インタフェイス26に対し
て転送すべきデータブロック数「BLK CNT」及び
データブロックが読み取られる論理ブロックアドレス
「ADDRS」を指示するデータ読取り要求を送る。さ
らに、ステップ304では、上位インタフェイス26は
プロセッサ30を中断し、上位装置18の要求が保留中
であることを知らせる。さらに、ステップ308では、
プロセッサ30は上位装置18の要求を解釈し、その要
求がデータ読取り要求であることを決定する。さらに、
ステップ312では、プロセッサ30は、読取り要求が
適用されるディスク装置を決定する。このことは当然の
ことながら図5のステップ212と全く同様に達成され
る。さらに、ディスク装置がひとたび決定されると、プ
ロセッサ30は、論理ブロックアドレス「ADDRES
S」を物理的アドレスの形に変換する。さらに、図10
の判断段階316においては、プロセッサ30は、決定
されたディスク装置がハードディスク42であるかSS
Dメモリ58であるかによって次に続くどの制御の流れ
の選択肢を実行すべきかを決定する。SSDメモリ58
が、上位装置の読取り要求が向けられるディスク装置で
ある場合には、図10のステップ320が次に実行され
る。このステップでは、プロセッサ30は、SSDメモ
リ58からの読取りの準備としてキャッシュ/SSDデ
ータ転送ユニット46を構成する。この構成作業は、そ
れがキャッシュ/SSDデータ転送ユニット46に対し
て(1)読み取るべきブロック数「BLK CNT」、
(2)上記のステップ312(図9)において設定され
た物理的アドレスから決定されるようにデータが読み取
られるべきSSDメモリ58内の初期ヘッダ記憶場所ア
ドレス、(3)この場所におけるセクタヘッドの予想
値、及び、(4)SSDメモリ58により受信すべきデ
ータにより、ヘッダ及び誤り訂正ビット無しに上位装置
18に転送されるべきであることを示すような信号、を
提供することを内含するという点で、図6のステップ2
20に類似している。さらに、図10のステップ324
においては、プロセッサ30は、キャッシュ/SSDデ
ータ転送ユニット46から上位装置18まで「BLK
CNT」という数のデータブロックを転送するよう上位
インタフェイス26及びバッファ制御装置34を構成す
る。さらに、図10のステップ328においては、プロ
セッサ30は、SSDメモリ58から上位装置18へデ
ータを転送するよう上位インタフェイス26、バッファ
制御装置34及びキャッシュ/SSDデータ転送ユニッ
ト46に命令する。要求されたデータは、SSDメモリ
58からキャッシュ/SSDデータ転送ユニット46を
通して、一度に1セクタずつ転送される。転送された各
々のセクタは、図7のステップ228におけるような予
想ヘッダに対しそのセクタヘッダを比較させる。セクタ
ヘッダと予想ヘッダとが同一でありセクタ誤り訂正コー
ドビットを要求する誤りが全く無い場合には、セクタの
データ部分はバッファ制御装置34に転送される。バッ
ファ制御装置34が、ひとたびキャッシュ/SSDデー
タ転送ユニット46からデータブロックを受信し始める
と、バッファ制御装置34は、図7のステップ228で
論述されたものと同様の要領でデータ転送中少なくとも
部分的にその転送バッファを満杯に保つよう試みる。関
係する3つの転送構成要素(すなわち、上位インタフェ
イス26、バッファ制御装置34及びキャッシュ/SS
Dデータ転送ユニット46)のいずれもデータ転送中に
誤り状態でプロセッサ30を中断しない場合には、図1
2のステップ332において、バッファ制御装置34は
プロセッサ30を中断して読取りの完了を知らせる。
からデータを読み取る上に関与するステップを例示する
フローチャートを表わしている。図9のステップ300
では、上位装置18は、上位インタフェイス26に対し
て転送すべきデータブロック数「BLK CNT」及び
データブロックが読み取られる論理ブロックアドレス
「ADDRS」を指示するデータ読取り要求を送る。さ
らに、ステップ304では、上位インタフェイス26は
プロセッサ30を中断し、上位装置18の要求が保留中
であることを知らせる。さらに、ステップ308では、
プロセッサ30は上位装置18の要求を解釈し、その要
求がデータ読取り要求であることを決定する。さらに、
ステップ312では、プロセッサ30は、読取り要求が
適用されるディスク装置を決定する。このことは当然の
ことながら図5のステップ212と全く同様に達成され
る。さらに、ディスク装置がひとたび決定されると、プ
ロセッサ30は、論理ブロックアドレス「ADDRES
S」を物理的アドレスの形に変換する。さらに、図10
の判断段階316においては、プロセッサ30は、決定
されたディスク装置がハードディスク42であるかSS
Dメモリ58であるかによって次に続くどの制御の流れ
の選択肢を実行すべきかを決定する。SSDメモリ58
が、上位装置の読取り要求が向けられるディスク装置で
ある場合には、図10のステップ320が次に実行され
る。このステップでは、プロセッサ30は、SSDメモ
リ58からの読取りの準備としてキャッシュ/SSDデ
ータ転送ユニット46を構成する。この構成作業は、そ
れがキャッシュ/SSDデータ転送ユニット46に対し
て(1)読み取るべきブロック数「BLK CNT」、
(2)上記のステップ312(図9)において設定され
た物理的アドレスから決定されるようにデータが読み取
られるべきSSDメモリ58内の初期ヘッダ記憶場所ア
ドレス、(3)この場所におけるセクタヘッドの予想
値、及び、(4)SSDメモリ58により受信すべきデ
ータにより、ヘッダ及び誤り訂正ビット無しに上位装置
18に転送されるべきであることを示すような信号、を
提供することを内含するという点で、図6のステップ2
20に類似している。さらに、図10のステップ324
においては、プロセッサ30は、キャッシュ/SSDデ
ータ転送ユニット46から上位装置18まで「BLK
CNT」という数のデータブロックを転送するよう上位
インタフェイス26及びバッファ制御装置34を構成す
る。さらに、図10のステップ328においては、プロ
セッサ30は、SSDメモリ58から上位装置18へデ
ータを転送するよう上位インタフェイス26、バッファ
制御装置34及びキャッシュ/SSDデータ転送ユニッ
ト46に命令する。要求されたデータは、SSDメモリ
58からキャッシュ/SSDデータ転送ユニット46を
通して、一度に1セクタずつ転送される。転送された各
々のセクタは、図7のステップ228におけるような予
想ヘッダに対しそのセクタヘッダを比較させる。セクタ
ヘッダと予想ヘッダとが同一でありセクタ誤り訂正コー
ドビットを要求する誤りが全く無い場合には、セクタの
データ部分はバッファ制御装置34に転送される。バッ
ファ制御装置34が、ひとたびキャッシュ/SSDデー
タ転送ユニット46からデータブロックを受信し始める
と、バッファ制御装置34は、図7のステップ228で
論述されたものと同様の要領でデータ転送中少なくとも
部分的にその転送バッファを満杯に保つよう試みる。関
係する3つの転送構成要素(すなわち、上位インタフェ
イス26、バッファ制御装置34及びキャッシュ/SS
Dデータ転送ユニット46)のいずれもデータ転送中に
誤り状態でプロセッサ30を中断しない場合には、図1
2のステップ332において、バッファ制御装置34は
プロセッサ30を中断して読取りの完了を知らせる。
【0024】ここでハードディスク42がデータが読み
取られるべき装置であることが決定されるステップ31
6(図10)の後の代替的判断選択肢を参照すると、図
10のステップ336に遭遇する。このステップでは、
プロセッサ30は、ディスクデータ転送ユニット38に
対してシーク命令を出し、ハードディスク42にそのデ
ータ転送ヘッドを「ADDRS」に相応する物理的アド
レスに位置づけるよう命令する。このシーク命令が実行
されている間にプロセッサ30は、図10の判断ステッ
プ340へ進む。このステップにおいて、プロセッサ3
0は、読み取られるべきデータの現バージョンがキャッ
シュメモリ54内にあるか否かを決定する。キャッシュ
メモリ54内にある場合には、図10のステップ344に
おいて、プロセッサは、可変的な「CACHE LO
C」に対してデータキャッシュ記憶場所のアドレスを割
り当てる。さらに、図11のステップ348において、
プロセッサ30は、キャッシュメモリ54から「BLK
CNT」データブロックを読み取りそれを変更又はフ
ォーマット化無しでバッファ制御装置34に転送するよ
う、キャッシュ/SSDデータ転送ユニット46を構成
する。図11のステップ352においては、プロセッサ
30は、キャッシュ/SSDデータ転送ユニット46か
ら上位装置18まで「BLK CNT」という数のデー
タブロックを転送するよう上位インタフェイス26及び
バッファ制御装置34を構成する。さらに、図11のス
テップ356では、プロセッサ30は、データブロック
をキャッシュメモリ54から上位装置18へ転送するよ
う上位インタフェイス26、バッファ制御装置34及び
キャッシュ/SSDデータ転送ユニット46に命令す
る。ここで図10の判断ステップ340に戻って、読み
取るべきデータがキャッシュメモリ54内に常駐してい
ない場合には、図10のステップ360が実行される。
このステップにおいては、読み取るべきデータが直ちに
利用できないことから、プロセッサ30は上位装置18
から切り離すよう上位インタフェイス26に対して要求
を送る。従って、上位装置18はその他の目的のために
デュアルディスク装置10に割当てられた母線を用いる
ことができる。さらに、図11のステップ364では、
プロセッサ30は、ハードディスク42からデータを書
き込むことのできるキャッシュメモリの記憶場所を決定
し、この記憶場所のアドレスを「CACHE LOC」
に割り当てる。さらに、図11のステップ368では、
プロセッサ30は、ディスクデータ転送ユニット38か
らキャッシュメモリ54までデータブロックを「BLK
CNT」という数だけ転送するようバッファ制御装置
34及びキャッシュ/SSDデータ転送ユニット46を
構成する。このステップにおいては、キャッシュ/SS
Dデータ転送ユニット46は、いかなる変更又はフォー
マット化も無くデータをキャッシュメモリ54に書き込
むように構成される。さらに、図11のステップ372
では、プロセッサ30は、シーク命令が完了し読み取る
べきデータをうまく位置設定したことを示すためのディ
スクデータ転送ユニット38からの中断(割込み)を待
つ。さらに、図11のステップ376では、プロセッサ
30は、ハードディスク42上にあるデータをキャッシ
ュメモリ54へ転送するよう、ディスク転送ユニット3
8、バッファ制御装置34及びキャッシュ/SSDデー
タ転送ユニット42に命令する。好ましくは、予め定め
られた数のデータバイトがキャッシュメモリ54に転送
された後、上位インタフェイス26、バッファ制御装置
34及びキャッシュ/SSDデータ転送ユニット46
は、キャッシュメモリ54へのデータ転送と、キャッシ
ュメモリ54から上位装置への同じデータの付加的デー
タ転送との多重化を開始することになる。読み取るべき
ハードディスク42のデータが当初キャッシュメモリ5
4内にあったか否かとは無関係に、プロセッサ30がデ
ータ転送ステップ356又は376のいずれかの間に1
つの誤り状態で中断されない場合には、バッファ制御装
置34がプロセッサ30を中断し読取りの完了を知らせ
るステップ332(図12)に再び遭遇することにな
る。最終的に、図12のステップ380においては、プ
ロセッサ30は、読取りが成功したか否かを決定するた
めに、関係するデータ転送構成要素から充分な数の状態
フラグを検査する。次にプロセッサ30は上位インタフ
ェイス26を介して上位装置18に読取り要求の成功/
故障を示す状態メッセージを送る。しかしながら、図1
2のステップ380は同様に、プロセッサ30が修正で
きないデータ転送誤りの割込みを受信する読取り手順の
間いつでも実行されるということに留意すべきである。
取られるべき装置であることが決定されるステップ31
6(図10)の後の代替的判断選択肢を参照すると、図
10のステップ336に遭遇する。このステップでは、
プロセッサ30は、ディスクデータ転送ユニット38に
対してシーク命令を出し、ハードディスク42にそのデ
ータ転送ヘッドを「ADDRS」に相応する物理的アド
レスに位置づけるよう命令する。このシーク命令が実行
されている間にプロセッサ30は、図10の判断ステッ
プ340へ進む。このステップにおいて、プロセッサ3
0は、読み取られるべきデータの現バージョンがキャッ
シュメモリ54内にあるか否かを決定する。キャッシュ
メモリ54内にある場合には、図10のステップ344に
おいて、プロセッサは、可変的な「CACHE LO
C」に対してデータキャッシュ記憶場所のアドレスを割
り当てる。さらに、図11のステップ348において、
プロセッサ30は、キャッシュメモリ54から「BLK
CNT」データブロックを読み取りそれを変更又はフ
ォーマット化無しでバッファ制御装置34に転送するよ
う、キャッシュ/SSDデータ転送ユニット46を構成
する。図11のステップ352においては、プロセッサ
30は、キャッシュ/SSDデータ転送ユニット46か
ら上位装置18まで「BLK CNT」という数のデー
タブロックを転送するよう上位インタフェイス26及び
バッファ制御装置34を構成する。さらに、図11のス
テップ356では、プロセッサ30は、データブロック
をキャッシュメモリ54から上位装置18へ転送するよ
う上位インタフェイス26、バッファ制御装置34及び
キャッシュ/SSDデータ転送ユニット46に命令す
る。ここで図10の判断ステップ340に戻って、読み
取るべきデータがキャッシュメモリ54内に常駐してい
ない場合には、図10のステップ360が実行される。
このステップにおいては、読み取るべきデータが直ちに
利用できないことから、プロセッサ30は上位装置18
から切り離すよう上位インタフェイス26に対して要求
を送る。従って、上位装置18はその他の目的のために
デュアルディスク装置10に割当てられた母線を用いる
ことができる。さらに、図11のステップ364では、
プロセッサ30は、ハードディスク42からデータを書
き込むことのできるキャッシュメモリの記憶場所を決定
し、この記憶場所のアドレスを「CACHE LOC」
に割り当てる。さらに、図11のステップ368では、
プロセッサ30は、ディスクデータ転送ユニット38か
らキャッシュメモリ54までデータブロックを「BLK
CNT」という数だけ転送するようバッファ制御装置
34及びキャッシュ/SSDデータ転送ユニット46を
構成する。このステップにおいては、キャッシュ/SS
Dデータ転送ユニット46は、いかなる変更又はフォー
マット化も無くデータをキャッシュメモリ54に書き込
むように構成される。さらに、図11のステップ372
では、プロセッサ30は、シーク命令が完了し読み取る
べきデータをうまく位置設定したことを示すためのディ
スクデータ転送ユニット38からの中断(割込み)を待
つ。さらに、図11のステップ376では、プロセッサ
30は、ハードディスク42上にあるデータをキャッシ
ュメモリ54へ転送するよう、ディスク転送ユニット3
8、バッファ制御装置34及びキャッシュ/SSDデー
タ転送ユニット42に命令する。好ましくは、予め定め
られた数のデータバイトがキャッシュメモリ54に転送
された後、上位インタフェイス26、バッファ制御装置
34及びキャッシュ/SSDデータ転送ユニット46
は、キャッシュメモリ54へのデータ転送と、キャッシ
ュメモリ54から上位装置への同じデータの付加的デー
タ転送との多重化を開始することになる。読み取るべき
ハードディスク42のデータが当初キャッシュメモリ5
4内にあったか否かとは無関係に、プロセッサ30がデ
ータ転送ステップ356又は376のいずれかの間に1
つの誤り状態で中断されない場合には、バッファ制御装
置34がプロセッサ30を中断し読取りの完了を知らせ
るステップ332(図12)に再び遭遇することにな
る。最終的に、図12のステップ380においては、プ
ロセッサ30は、読取りが成功したか否かを決定するた
めに、関係するデータ転送構成要素から充分な数の状態
フラグを検査する。次にプロセッサ30は上位インタフ
ェイス26を介して上位装置18に読取り要求の成功/
故障を示す状態メッセージを送る。しかしながら、図1
2のステップ380は同様に、プロセッサ30が修正で
きないデータ転送誤りの割込みを受信する読取り手順の
間いつでも実行されるということに留意すべきである。
【0025】本発明についての以上の説明は、例示及び
記述を目的として提示されたものである。さらに、この
記述は本書に開示した形態に本発明を制限することを意
図したものではない。従って、関連技術の特殊技能及び
知識内に包含されるような上記教示と見合う変更及び修
正も、本発明の範囲内に入る。上述の実施態様は、さら
に、本発明を実施する上で現在知られている最良の態様
を説明し、かつ、他の当業者が本発明をこの通りに又は
その他の実施態様で利用できるようにすると共にその特
定の利用分野又は用途が必要とするさまざまな変更を加
えながら利用できるようにするためのものである。冒頭
のクレームは、従来技術が許す限りにおいて変形態様を
包含するものとして解釈されるべきである。
記述を目的として提示されたものである。さらに、この
記述は本書に開示した形態に本発明を制限することを意
図したものではない。従って、関連技術の特殊技能及び
知識内に包含されるような上記教示と見合う変更及び修
正も、本発明の範囲内に入る。上述の実施態様は、さら
に、本発明を実施する上で現在知られている最良の態様
を説明し、かつ、他の当業者が本発明をこの通りに又は
その他の実施態様で利用できるようにすると共にその特
定の利用分野又は用途が必要とするさまざまな変更を加
えながら利用できるようにするためのものである。冒頭
のクレームは、従来技術が許す限りにおいて変形態様を
包含するものとして解釈されるべきである。
【0026】
【発明の効果】以上説明したように本発明では、ハード
ディスク装置と、固体ディスクメモリを含む固体バッフ
ァメモリとを単一のユニットに合体し、頻繁にアクセス
されるデータに関し極めて速いデータ転送を伴う比較的
小型のデータ記憶装置と比較的低速の大型の不揮発性デ
ータ記憶装置とを上記ユニットにより同時に提供するこ
とが可能なデュアルディスク装置を構成している。この
ような装置構成では、デュアルディスク装置内のハード
ディスク部分と固体ディスク部分の間でハードウェアと
ソフトウェアの構成要素を共有することができ、かつ、
固体ディスクメモリ内のキャッシュメモリ及び固体ディ
スクメモリのサイズを調整してデータ転送速度が増すよ
うに再区分化することができるので、コスト節減ならび
にデータ転送速度の向上が図れる。
ディスク装置と、固体ディスクメモリを含む固体バッフ
ァメモリとを単一のユニットに合体し、頻繁にアクセス
されるデータに関し極めて速いデータ転送を伴う比較的
小型のデータ記憶装置と比較的低速の大型の不揮発性デ
ータ記憶装置とを上記ユニットにより同時に提供するこ
とが可能なデュアルディスク装置を構成している。この
ような装置構成では、デュアルディスク装置内のハード
ディスク部分と固体ディスク部分の間でハードウェアと
ソフトウェアの構成要素を共有することができ、かつ、
固体ディスクメモリ内のキャッシュメモリ及び固体ディ
スクメモリのサイズを調整してデータ転送速度が増すよ
うに再区分化することができるので、コスト節減ならび
にデータ転送速度の向上が図れる。
【図1】上位計算システム及びユーザとのデータ交換関
係も同様に示されているような本発明に係るデュアルデ
ィスク装置の2つの実施態様を説明するためのデータの
流れが示されたブロック図である。
係も同様に示されているような本発明に係るデュアルデ
ィスク装置の2つの実施態様を説明するためのデータの
流れが示されたブロック図である。
【図2】本発明に係るテュアルディスク装置の初期化手
順を説明するためのフローチャートである。
順を説明するためのフローチャートである。
【図3】本発明に係るデュアルディスク装置の再構成手
順の前半部を説明するためのフローチャートである。
順の前半部を説明するためのフローチャートである。
【図4】本発明に係るデュアルディスク装置の再構成手
順の後半部を説明するためのフローチャートである。
順の後半部を説明するためのフローチャートである。
【図5】本発明に係るデュアルディスク装置への書込み
手順の最初の部分を説明するためのフローチャートであ
る。
手順の最初の部分を説明するためのフローチャートであ
る。
【図6】本発明に係るデュアルディスク装置への書込み
手順の2番目の部分を説明するためのフローチャートで
ある。
手順の2番目の部分を説明するためのフローチャートで
ある。
【図7】本発明に係るデュアルディスク装置への書込み
手順の3番目の部分を説明するためのフローチャートで
ある。
手順の3番目の部分を説明するためのフローチャートで
ある。
【図8】本発明に係るデュアルディスク装置への書込み
手順の4番目の部分を説明するためのフローチャートで
ある。
手順の4番目の部分を説明するためのフローチャートで
ある。
【図9】本発明に係るデュアルディスク装置からの読取
り手順の最初の部分を説明するためのフローチャートで
ある。
り手順の最初の部分を説明するためのフローチャートで
ある。
【図10】本発明に係るデュアルディスク装置からの読
取り手順の2番目の部分を説明するためのフローチャー
トである。
取り手順の2番目の部分を説明するためのフローチャー
トである。
【図11】本発明に係るデュアルディスク装置からの読
取り手順の3番目の部分を説明するためのフローチャー
トである。
取り手順の3番目の部分を説明するためのフローチャー
トである。
【図12】本発明に係るデュアルディスク装置からの読
取り手順の4番目の部分を説明するためのフローチャー
トである。
取り手順の4番目の部分を説明するためのフローチャー
トである。
10,10′…上位装置 14…ユーザ 22…制御装置 26,26′…上位インタフェイス 30…プロセッサ 34…バッファ制御装置 38…ディスクデータ転送ユニット 42…ハードディスク 46…キャッシュ/SSDデータ転送ユニット 50…バッファメモリ 54…キャッシュメモリ 58…SSDメモリ
Claims (23)
- 【請求項1】 データを記憶するためのメモリを提供す
る段階;記憶装置を提供する段階;前記メモリを、少な
くとも前記記憶装置のためのデータキャッシュを提供す
る1つのキャッシュメモリと1つの固体ディスクメモリ
に区分化する段階;前記記憶装置及び前記固体ディスク
メモリのうちの1つとの関係においてデータを転送すべ
きか否かを決定する段階;及び、 前記記憶装置及び前記固体ディスクメモリのうちの1つ
との関係においてデータを転送する段階、 を含む、データ記憶システム内でデータを転送するため
のデータ記憶方法。 - 【請求項2】 前記の区分化段階が、前記キャッシュメ
モリと前記固体ディスクメモリのうちの少なくとも1つ
のサイズに関する情報を入力すること、及び、これに対
し省略時解釈を行うことのうちの一方の作業を包含す
る、請求項1に記載の方法。 - 【請求項3】 前記の区分化段階が、前記固体ディスク
メモリをトラックとセクタにフォーマット化するための
指令を実行することを包含する、請求項1に記載の方
法。 - 【請求項4】 前記の区分化段階が、 前記キャッシュメモリー及び前記固体ディスクメモリの
うち少なくとも1つのサイズを特定するのにその値が用
いられる予め定められたパラメータフィールドを伴う構
成(configuration)命令;及び、 前記キャッシュメモリー及び前記固体ディスクメモリの
うち少なくとも1つのサイズを特定するのにその値が用
いられる予め定められたパラメータフィールドを伴うモ
ード検知命令、 のうちの少なくとも1つを含む命令を実行することを包
含している、請求項1に記載の方法。 - 【請求項5】 前記の区分化段階には、前記固体ディス
クメモリの記憶場所が前記メモリ及び前記記憶装置内の
その他全ての記憶場所から識別可能となりうるようにす
る上位システムアドレス情報を記憶することが含まれ
る、請求項1に記載の方法。 - 【請求項6】 前記の決定段階には、 論理データアドレスを上位システムからのデータと結び
つける段階;及び、 前記記憶装置と前記固体ディスクメモリのうちのいずれ
が前記論理データアドレスに相応するアドレスを有する
かを決断する段階、 が包含されている、請求項1に記載の方法。 - 【請求項7】 前記の決断段階が、前記固体ディスクメ
モリと結びつけられたアドレス及び前記記憶装置と結び
つけられたアドレスのうちの少なくとも1つに関連する
メモリ情報を記憶することを包含する、請求項6に記載
の方法。 - 【請求項8】 前記の決断段階が、前記メモリ情報との
比較のため前記論理データアドレスを用いることを包含
する、請求項7に記載の方法。 - 【請求項9】 前記の決断段階には、 前記論理データアドレスが前記固体ディスクメモリと結
びつけられているとき前記固体ディスクメモリ内のアド
レス可能な記憶場所を決定すること;及び、 前記論理データアドレスが前記記憶装置と結びつけられ
ている場合、前記キャッシュメモリと前記記憶装置の各
々の中でアドレス可能な記憶場所を決定すること、 のうちいずれか一方の作業が含まれている、請求項6に
記載の方法。 - 【請求項10】 データが記憶されるアドレス可能な記
憶場所を有し、キャッシュメモリ及び固体ディスクメモ
リを包含すべく区分化されているメモリ手段;上位シス
テムと前記キャッシュメモリの間で転送されたデータを
記憶するためのメモリを提供するデータ記憶手段;及
び、 少なくとも前記キャッシュメモリと前記固体ディスクメ
モリに前記メモリ手段を区分化する上で用いるための、
又、前記データ記憶手段と前記固体ディスクメモリとの
関係におけるデータの転送を制御するためのシステム手
段、 を含む、データ記憶装置。 - 【請求項11】 前記システム手段が、前記メモリ手段
を区分化するのに用いられる区分化情報を入力するため
の手段を包含する、請求項10に記載の装置。 - 【請求項12】 前記システム手段が、上位ユニット
と、少なくとも該上位ユニットから前記固体ディスクメ
モリをトラック及びセクタにフォーマット化するための
フォーマット化指令を受け取るための制御装置手段と、
該フォーマット化指令を実行するための手段とを包含す
る、請求項10に記載の装置。 - 【請求項13】 前記システム手段が、区分化情報を記
憶するための手段を包含し、かつ、該区分化情報が、前
記キャッシュメモリと前記固体ディスクメモリのいずれ
と前記メモリ手段内の1つのアドレス可能な記憶場所が
結びつけられているかを示している、請求項10に記載
の装置。 - 【請求項14】 前記システム手段が、 上位システムと前記キャッシュメモリの間及び前記キャ
ッシュメモリと前記データ記憶手段の間のデータ転送を
制御するための第1の手段;及び、 上位システムと前記固体ディスクメモリの間のデータ転
送を制御するための第2の手段、 を含む、請求項10に記載の装置。 - 【請求項15】 前記第1の手段が、前記第2の手段の
少なくとも一部分を含む、請求項14に記載の装置。 - 【請求項16】 前記システム手段が、上位ユニット
と、該上位ユニットの論理アドレスを前記データ記憶手
段及び前記固体メモリと結びつけられた論理アドレス情
報と比較する上で用いるためのプロセッサ手段とを包含
する、請求項10に記載の装置。 - 【請求項17】 前記システム手段が上位ユニットを包
含し、かつ、前記第1の手段が、 該上位ユニットとの関係においてデータ及びデータ記憶
指令を転送するための上位インタフェイス手段;前記上
位インタフェイスを手段と前記キャッシュメモリの間及
び前記キャッシュメモリと前記データ記憶手段の間のデ
ータ転送を制御するためのバッファ制御装置手段;及
び、 前記上位ユニットからのデータ記憶指令を処理すると共
に、前記キャッシュメモリ及び前記データ記憶手段の中
のアドレス可能な記憶場所を決定するためのプロセッサ
手段、 を包含する、請求項14に記載の装置。 - 【請求項18】 前記システム手段が上位ユニットを包
含し、前記第2の手段が、 データを受け取り上位システムに送る上位インタフェイ
ス手段;前記上位インタフェイス手段と前記固体ディス
クメモリの間のデータ転送を制御するためのバッファ制
御装置手段;及び、 前記上位ユニットからのデータ記憶指令を処理すると共
に、前記固体ディスクメモリ内のアドレス可能な記憶場
所を決定するためのプロセッサ手段、 を包含する、請求項14に記載の装置。 - 【請求項19】 前記システム手段が、 制御装置手段;及び、 前記制御装置手段と前記メモリ手段の間でデータを結合
するためのデータ転送手段、 を包含する、請求項10に記載の装置。 - 【請求項20】 前記制御装置手段及び前記データ転送
手段のうちの1つが、前記キャッシュメモリ又は前記固
体ディスクメモリのいずれにデータを転送すべきかを決
定するための手段を包含する、請求項19に記載の装
置。 - 【請求項21】 前記データ転送手段は、前記データが
前記固体ディスクメモリに送られているときはデータに
フォーマット情報を提供しかつ前記データが前記キャッ
シュメモリに送られているときは前記データにフォーマ
ット情報を提供しないための手段を包含している、請求
項19に記載の装置。 - 【請求項22】 前記データ転送手段には、前記固体デ
ィスクメモリから前記データを受け取るとき前記フォー
マット情報を前記データから除去するための手段が包含
されている、請求項21に記載の装置。 - 【請求項23】 前記フォーマット情報がヘッダビット
及び誤り訂正ビットを包含する、請求項21に記載の装
置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US866441 | 1992-04-10 | ||
| US07/866,441 US5420998A (en) | 1992-04-10 | 1992-04-10 | Dual memory disk drive |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0683708A true JPH0683708A (ja) | 1994-03-25 |
Family
ID=25347629
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5077955A Pending JPH0683708A (ja) | 1992-04-10 | 1993-04-05 | データ記憶方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5420998A (ja) |
| EP (1) | EP0564699B1 (ja) |
| JP (1) | JPH0683708A (ja) |
| DE (1) | DE69228051T2 (ja) |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5953300A (en) * | 1996-10-18 | 1999-09-14 | Matsushita Electric Industrial Co., Ltd. | Recording device and recording method |
| KR100464788B1 (ko) * | 2002-11-04 | 2005-01-05 | 노윤호 | 초고속 저장장치 및 방법 |
| JP2005539309A (ja) * | 2002-09-16 | 2005-12-22 | ティギ・コーポレイション | 記憶システムアーキテクチャおよび多重キャッシュ装置 |
| JP2006004407A (ja) * | 2004-05-03 | 2006-01-05 | Microsoft Corp | 不揮発性メモリ・キャッシュの性能改善 |
| JP2009527046A (ja) * | 2006-02-14 | 2009-07-23 | トレック・2000・インターナショナル・リミテッド | 2つの形式のストレージメディアを使用するデータストレージデバイス |
| JP2009217603A (ja) * | 2008-03-11 | 2009-09-24 | Toshiba Corp | メモリシステム |
| JP2012517644A (ja) * | 2009-02-13 | 2012-08-02 | インディリンクス カンパニー リミテッド | 高速記憶装置をキャッシュとして使用するストレージシステム |
| US8909861B2 (en) | 2004-10-21 | 2014-12-09 | Microsoft Corporation | Using external memory devices to improve system performance |
| US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
| US9804780B2 (en) | 2013-11-14 | 2017-10-31 | Fujitsu Limited | Storage apparatus, method of controlling storage apparatus, and non-transitory computer-readable storage medium storing program for controlling storage apparatus |
| JP2018151927A (ja) * | 2017-03-14 | 2018-09-27 | 日本電気株式会社 | ストレージ装置、ストレージシステム、ストレージ装置の制御方法、プログラム |
| US10387313B2 (en) | 2008-09-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US10509730B2 (en) | 2008-09-19 | 2019-12-17 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
Families Citing this family (83)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5778254A (en) * | 1992-07-03 | 1998-07-07 | Seiko Epson Corporation | Recording device with connection means to first and second recording device with switch means having a preset connection pattern connecting first and second selection signals |
| JPH0659952A (ja) * | 1992-08-07 | 1994-03-04 | Toshiba Corp | 磁気ディスク装置 |
| JPH07141116A (ja) * | 1993-11-19 | 1995-06-02 | Sony Corp | 補助記憶装置 |
| US5581736A (en) * | 1994-07-18 | 1996-12-03 | Microsoft Corporation | Method and system for dynamically sharing RAM between virtual memory and disk cache |
| US5586300A (en) * | 1994-07-20 | 1996-12-17 | Emc Corporation | Flexible addressing memory controller wherein multiple memory modules may be accessed according to comparison of configuration addresses |
| US5715418A (en) * | 1994-07-27 | 1998-02-03 | Seagate Technologies, Inc. | Autonomous high speed linear space address mode translation for use with a computer hard disc system |
| US5845061A (en) * | 1994-10-31 | 1998-12-01 | Hitachi, Ltd. | Redundant client server system |
| US5721952A (en) * | 1995-02-17 | 1998-02-24 | Acer Incorporated | Method and apparatus for automatic detection of disk type in a computer system |
| US5774714A (en) * | 1995-03-27 | 1998-06-30 | Hewlett-Packard Company | Zone bit recording enhanced video data layout |
| US6098128A (en) | 1995-09-18 | 2000-08-01 | Cyberstorage Systems Corporation | Universal storage management system |
| US6101590A (en) | 1995-10-10 | 2000-08-08 | Micro Unity Systems Engineering, Inc. | Virtual memory system with local and global virtual address translation |
| JPH09167427A (ja) * | 1995-12-14 | 1997-06-24 | Fujitsu Ltd | ディスクアレイ装置 |
| WO1997024655A1 (en) * | 1995-12-28 | 1997-07-10 | Ipl Systems, Inc. | Virtual ramdisk |
| US5754888A (en) * | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
| GB9613088D0 (en) * | 1996-06-21 | 1996-08-28 | Memory Corp Plc | Memory device |
| US6092149A (en) * | 1997-05-28 | 2000-07-18 | Western Digital Corporation | Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses |
| US6003115A (en) * | 1997-07-29 | 1999-12-14 | Quarterdeck Corporation | Method and apparatus for predictive loading of a cache |
| JPH11143718A (ja) * | 1997-11-05 | 1999-05-28 | Nec Corp | Bios格納並びに制御方法 |
| US6467022B1 (en) * | 1998-04-16 | 2002-10-15 | International Business Machines Corporation | Extending adapter memory with solid state disks in JBOD and RAID environments |
| US6463509B1 (en) | 1999-01-26 | 2002-10-08 | Motive Power, Inc. | Preloading data in a cache memory according to user-specified preload criteria |
| US6370614B1 (en) | 1999-01-26 | 2002-04-09 | Motive Power, Inc. | I/O cache with user configurable preload |
| US6924952B1 (en) * | 2000-08-04 | 2005-08-02 | Maxtor Corporation | Method and apparatus for data storage in a disk drive |
| KR100597733B1 (ko) * | 2002-01-03 | 2006-07-07 | 삼성전자주식회사 | 컴퓨터 시스템 및 그 부팅방법 |
| US7136966B2 (en) * | 2002-03-18 | 2006-11-14 | Lsi Logic Corporation | Method and apparatus for using a solid state disk device as a storage controller cache |
| US7017037B2 (en) * | 2002-06-27 | 2006-03-21 | Microsoft Corporation | Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time |
| EP1416393B1 (en) * | 2002-11-01 | 2008-08-13 | STMicroelectronics Limited | Processor interface having a stream register and a FIFO |
| US7362772B1 (en) * | 2002-12-13 | 2008-04-22 | Nvidia Corporation | Network processing pipeline chipset for routing and host packet processing |
| EP1627384B1 (en) * | 2003-05-19 | 2007-09-19 | Koninklijke Philips Electronics N.V. | Method for setting data carrier speed in a data carrier drive apparatus |
| KR20060017794A (ko) * | 2003-05-19 | 2006-02-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 데이터 매체 구동장치에서의 데이터 매체 속도 설정방법 |
| US7216222B2 (en) * | 2003-10-30 | 2007-05-08 | Texas Memory Systems, Inc. | System and method for writing data from a storage means to a memory module in a solid state disk system |
| JP4327585B2 (ja) * | 2003-12-25 | 2009-09-09 | 株式会社東芝 | 記憶装置 |
| EP1725940A4 (en) * | 2004-02-27 | 2009-05-06 | Tigi Corp | SYSTEM AND METHOD FOR DATA PROCESSING |
| US7281127B2 (en) * | 2004-12-27 | 2007-10-09 | Intel Corporation | Concurrent processing of operations in a boot sequence to initialize a storage device including an operating system loader to load |
| US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
| JP4534796B2 (ja) | 2005-02-25 | 2010-09-01 | セイコーエプソン株式会社 | 制御システム |
| US7634585B2 (en) | 2005-11-04 | 2009-12-15 | Sandisk Corporation | In-line cache using nonvolatile memory between host and disk device |
| US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
| US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
| US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
| US20080022120A1 (en) * | 2006-06-05 | 2008-01-24 | Michael Factor | System, Method and Computer Program Product for Secure Access Control to a Storage Device |
| JP2008027326A (ja) * | 2006-07-25 | 2008-02-07 | Tdk Corp | システムコントローラ、該システムコントローラを有するフラッシュメモリシステム、フラッシュメモリモジュールの制御方法 |
| US7899987B2 (en) * | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
| JP2009043030A (ja) | 2007-08-09 | 2009-02-26 | Hitachi Ltd | ストレージシステム |
| US8631203B2 (en) * | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
| US7933087B1 (en) * | 2008-06-18 | 2011-04-26 | Western Digital Technologies, Inc. | Disk drive storing parameters of a write operation in a plurality of data sectors |
| US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
| US8086816B2 (en) * | 2008-10-20 | 2011-12-27 | Dataram, Inc. | Method for controlling performance aspects of a data storage and access routine |
| KR20100058825A (ko) * | 2008-11-25 | 2010-06-04 | 삼성전자주식회사 | 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법 |
| WO2011007989A2 (en) * | 2009-07-13 | 2011-01-20 | Lg Electronics Inc. | Disk drive |
| JP5984118B2 (ja) * | 2009-12-04 | 2016-09-06 | マーベル ワールド トレード リミテッド | 格納デバイスの仮想化 |
| USRE49818E1 (en) * | 2010-05-13 | 2024-01-30 | Kioxia Corporation | Information processing method in a multi-level hierarchical memory system |
| US8959284B1 (en) * | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
| US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
| US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
| US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
| US8782334B1 (en) | 2010-09-10 | 2014-07-15 | Western Digital Technologies, Inc. | Hybrid drive copying disk cache to non-volatile semiconductor memory |
| JP5505329B2 (ja) * | 2011-02-22 | 2014-05-28 | 日本電気株式会社 | ディスクアレイ装置及びその制御方法 |
| JP5175953B2 (ja) * | 2011-06-02 | 2013-04-03 | 株式会社東芝 | 情報処理装置およびキャッシュ制御方法 |
| US9390020B2 (en) * | 2012-07-06 | 2016-07-12 | Seagate Technology Llc | Hybrid memory with associative cache |
| US9104578B2 (en) | 2012-07-06 | 2015-08-11 | Seagate Technology Llc | Defining address ranges used to cache speculative read data |
| US9529724B2 (en) | 2012-07-06 | 2016-12-27 | Seagate Technology Llc | Layered architecture for hybrid controller |
| US9772948B2 (en) | 2012-07-06 | 2017-09-26 | Seagate Technology Llc | Determining a criterion for movement of data from a primary cache to a secondary cache |
| US9477591B2 (en) * | 2012-07-06 | 2016-10-25 | Seagate Technology Llc | Memory access requests in hybrid memory system |
| US9594685B2 (en) | 2012-07-06 | 2017-03-14 | Seagate Technology Llc | Criteria for selection of data for a secondary cache |
| TWI597606B (zh) * | 2012-08-14 | 2017-09-01 | 緯創資通股份有限公司 | 電腦系統與其儲存裝置管理方法 |
| US20140108705A1 (en) * | 2012-10-12 | 2014-04-17 | Sandisk Technologies Inc. | Use of High Endurance Non-Volatile Memory for Read Acceleration |
| US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
| US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
| US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
| US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
| US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
| US9785564B2 (en) | 2013-08-20 | 2017-10-10 | Seagate Technology Llc | Hybrid memory with associative cache |
| US9507719B2 (en) | 2013-08-20 | 2016-11-29 | Seagate Technology Llc | Garbage collection in hybrid memory system |
| US9367247B2 (en) | 2013-08-20 | 2016-06-14 | Seagate Technology Llc | Memory access requests in hybrid memory system |
| US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
| US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
| US9348747B2 (en) * | 2013-10-29 | 2016-05-24 | Seagate Technology Llc | Solid state memory command queue in hybrid device |
| US9588896B2 (en) | 2014-03-04 | 2017-03-07 | Hitachi, Ltd. | Computer and memory control method |
| US20160011812A1 (en) * | 2014-07-09 | 2016-01-14 | Kabushiki Kaisha Toshiba | Memory System |
| US9959058B1 (en) * | 2016-03-31 | 2018-05-01 | EMC IP Holding Company LLC | Utilizing flash optimized layouts which minimize wear of internal flash memory of solid state drives |
| WO2018188084A1 (zh) * | 2017-04-14 | 2018-10-18 | 华为技术有限公司 | 一种数据访问方法及装置 |
| US11803468B2 (en) * | 2018-09-19 | 2023-10-31 | Seagate Technology Llc | Data storage system with write back cache |
| CN113867641B (zh) * | 2021-09-29 | 2023-06-02 | 杭州海康存储科技有限公司 | 主机内存缓冲管理方法、装置、以及固态硬盘 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61190644A (ja) * | 1985-02-19 | 1986-08-25 | Toshiba Corp | キヤツシユデイスクサプシステム |
| JPS63288342A (ja) * | 1987-05-21 | 1988-11-25 | Sumitomo Electric Ind Ltd | ディスク制御装置 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4476526A (en) * | 1981-11-27 | 1984-10-09 | Storage Technology Corporation | Cache buffered memory subsystem |
| JPH0743635B2 (ja) * | 1985-12-26 | 1995-05-15 | 富士通株式会社 | 半導体ディスク装置 |
| JPS62257553A (ja) * | 1986-04-30 | 1987-11-10 | Toshiba Corp | デイスク制御装置 |
| US5218691A (en) * | 1988-07-26 | 1993-06-08 | Disk Emulation Systems, Inc. | Disk emulation system |
| US5142627A (en) * | 1988-11-17 | 1992-08-25 | Unisys Corporation | FIP-compliant block multiplexor channel interface operational method for cache/disk subsystem |
| US5117350A (en) * | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
| JP2513024B2 (ja) * | 1989-03-16 | 1996-07-03 | 日本電気株式会社 | 拡張記憶アドレス制御方式 |
| JP2780821B2 (ja) * | 1989-09-22 | 1998-07-30 | 株式会社日立製作所 | オンライン中のダンプ方式およびディスクサブシステム |
| FR2655464B1 (fr) * | 1989-12-01 | 1993-03-05 | Bull Sa | Unite de memoire de masse electronique securisee. |
| FR2659460B1 (fr) * | 1990-03-08 | 1992-05-22 | Bull Sa | Sous-systeme peripherique de memoire de masse. |
| US5269011A (en) * | 1990-09-24 | 1993-12-07 | Emc Corporation | Dynamically reconfigurable data storage system with storage system controllers selectively operable as channel adapters on storage device adapters |
| DE59209515D1 (de) | 1992-02-19 | 1998-11-05 | Siemens Nixdorf Inf Syst | Verfahren zur Steuerung eines Peripheriesystems |
-
1992
- 1992-04-10 US US07/866,441 patent/US5420998A/en not_active Expired - Lifetime
- 1992-10-20 EP EP92117919A patent/EP0564699B1/en not_active Expired - Lifetime
- 1992-10-20 DE DE69228051T patent/DE69228051T2/de not_active Expired - Fee Related
-
1993
- 1993-04-05 JP JP5077955A patent/JPH0683708A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61190644A (ja) * | 1985-02-19 | 1986-08-25 | Toshiba Corp | キヤツシユデイスクサプシステム |
| JPS63288342A (ja) * | 1987-05-21 | 1988-11-25 | Sumitomo Electric Ind Ltd | ディスク制御装置 |
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5953300A (en) * | 1996-10-18 | 1999-09-14 | Matsushita Electric Industrial Co., Ltd. | Recording device and recording method |
| JP2005539309A (ja) * | 2002-09-16 | 2005-12-22 | ティギ・コーポレイション | 記憶システムアーキテクチャおよび多重キャッシュ装置 |
| KR100464788B1 (ko) * | 2002-11-04 | 2005-01-05 | 노윤호 | 초고속 저장장치 및 방법 |
| JP2013047979A (ja) * | 2004-05-03 | 2013-03-07 | Microsoft Corp | 不揮発性メモリ・キャッシュの性能改善 |
| JP2006004407A (ja) * | 2004-05-03 | 2006-01-05 | Microsoft Corp | 不揮発性メモリ・キャッシュの性能改善 |
| US8041904B2 (en) | 2004-05-03 | 2011-10-18 | Microsoft Corporation | Non-volatile memory cache performance improvement |
| US10216637B2 (en) | 2004-05-03 | 2019-02-26 | Microsoft Technology Licensing, Llc | Non-volatile memory cache performance improvement |
| US9405693B2 (en) | 2004-05-03 | 2016-08-02 | Microsoft Technology Licensing, Llc | Non-volatile memory cache performance improvement |
| US8909861B2 (en) | 2004-10-21 | 2014-12-09 | Microsoft Corporation | Using external memory devices to improve system performance |
| US9690496B2 (en) | 2004-10-21 | 2017-06-27 | Microsoft Technology Licensing, Llc | Using external memory devices to improve system performance |
| US11334484B2 (en) | 2005-12-16 | 2022-05-17 | Microsoft Technology Licensing, Llc | Optimizing write and wear performance for a memory |
| US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
| US9529716B2 (en) | 2005-12-16 | 2016-12-27 | Microsoft Technology Licensing, Llc | Optimizing write and wear performance for a memory |
| JP2009527046A (ja) * | 2006-02-14 | 2009-07-23 | トレック・2000・インターナショナル・リミテッド | 2つの形式のストレージメディアを使用するデータストレージデバイス |
| JP4767323B2 (ja) * | 2006-02-14 | 2011-09-07 | トレック・2000・インターナショナル・リミテッド | 2つの形式のストレージメディアを使用するデータストレージデバイス |
| JP2009217603A (ja) * | 2008-03-11 | 2009-09-24 | Toshiba Corp | メモリシステム |
| US10387313B2 (en) | 2008-09-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US10509730B2 (en) | 2008-09-19 | 2019-12-17 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
| JP2012517644A (ja) * | 2009-02-13 | 2012-08-02 | インディリンクス カンパニー リミテッド | 高速記憶装置をキャッシュとして使用するストレージシステム |
| US9804780B2 (en) | 2013-11-14 | 2017-10-31 | Fujitsu Limited | Storage apparatus, method of controlling storage apparatus, and non-transitory computer-readable storage medium storing program for controlling storage apparatus |
| JP2018151927A (ja) * | 2017-03-14 | 2018-09-27 | 日本電気株式会社 | ストレージ装置、ストレージシステム、ストレージ装置の制御方法、プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0564699B1 (en) | 1998-12-30 |
| EP0564699A1 (en) | 1993-10-13 |
| US5420998A (en) | 1995-05-30 |
| DE69228051D1 (de) | 1999-02-11 |
| DE69228051T2 (de) | 1999-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0683708A (ja) | データ記憶方法及び装置 | |
| JP4219602B2 (ja) | 記憶制御装置および記憶制御装置の制御方法 | |
| US5875349A (en) | Method and arrangement for allowing a computer to communicate with a data storage device | |
| US4467421A (en) | Virtual storage system and method | |
| US8762682B1 (en) | Data storage apparatus providing host full duplex operations using half duplex storage devices | |
| JP3431972B2 (ja) | 仮想ディスクシステム | |
| US5073854A (en) | Data processing system with search processor which initiates searching in response to predetermined disk read and write commands | |
| US7930474B2 (en) | Automated on-line capacity expansion method for storage device | |
| CA2375672C (en) | Disk drive controller circuit and method for skipping defective and/or undesired sectors | |
| US6848034B2 (en) | Dense server environment that shares an IDE drive | |
| US4984149A (en) | Memory access control apparatus | |
| USRE36989E (en) | Virtual storage system and method | |
| US20080222376A1 (en) | Virtual incremental storage apparatus method and system | |
| US20090282191A1 (en) | Operating Method for a Memory Subsystem and Devices for Executing the Operating Method | |
| US6105076A (en) | Method, system, and program for performing data transfer operations on user data | |
| EP1345113A2 (en) | Management server | |
| US20020095537A1 (en) | Block size masking on tape data storage devices for improved performance | |
| US5996045A (en) | IDE disk drive arrangement that combines the capacity of a master drive and slave drive while hiding the presence of slave drive to a host computer | |
| KR100388338B1 (ko) | 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 | |
| US7472223B1 (en) | Surface level sparing in disk drives | |
| US5379385A (en) | Method and means for effectuating rule based I/O data transfer address control via address control words | |
| JP2005190036A (ja) | 記憶制御装置及び記憶制御装置の制御方法 | |
| US20020015252A1 (en) | Method and apparatus for a disc drive adaptive file system | |
| JP2003131818A (ja) | クラスタ構成ストレージにおけるクラスタ間raid構成 | |
| US20050240686A1 (en) | Method for downloading firmware of peripheral equipment, and peripheral equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970715 |