JPH0769770B2 - データのストライピングシステム及び方法 - Google Patents
データのストライピングシステム及び方法Info
- Publication number
- JPH0769770B2 JPH0769770B2 JP3350097A JP35009791A JPH0769770B2 JP H0769770 B2 JPH0769770 B2 JP H0769770B2 JP 3350097 A JP3350097 A JP 3350097A JP 35009791 A JP35009791 A JP 35009791A JP H0769770 B2 JPH0769770 B2 JP H0769770B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- striping
- buffer
- buffers
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 34
- 239000000872 buffer Substances 0.000 claims description 211
- 238000011094 buffer selection Methods 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 2
- 238000013480 data collection Methods 0.000 claims 3
- 238000001514 detection method Methods 0.000 claims 1
- 239000003292 glue Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 4
- 238000011017 operating method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1048—Data bus control circuits, e.g. precharging, presetting, equalising
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Information Transfer Systems (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータを複数の記憶装置
にストライピング(striping)するシステム及び方法に
関する。殊に、本発明はデータを可変数の記憶装置にス
トライピングすることによってパリティ生成を容易にし
最小量のバッファリングが使用されるようにするための
システム及び方法に関する。
にストライピング(striping)するシステム及び方法に
関する。殊に、本発明はデータを可変数の記憶装置にス
トライピングすることによってパリティ生成を容易にし
最小量のバッファリングが使用されるようにするための
システム及び方法に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】近年、
コンピュータはすこぶる高速になると共に、全般の能力
が著しく増大している。こうした事態は、大部分はより
大きく複雑な諸問題を解決しようという人々の希望によ
って推進されたものである。これらの諸問題の幾つかの
実情とそれらが要する生データの量の点からみて、大容
量記憶装置の如きコンピュータ周辺装置の速度と電力は
強力なコンピュータを完全活用するためにすこぶる重要
になってきている。
コンピュータはすこぶる高速になると共に、全般の能力
が著しく増大している。こうした事態は、大部分はより
大きく複雑な諸問題を解決しようという人々の希望によ
って推進されたものである。これらの諸問題の幾つかの
実情とそれらが要する生データの量の点からみて、大容
量記憶装置の如きコンピュータ周辺装置の速度と電力は
強力なコンピュータを完全活用するためにすこぶる重要
になってきている。
【0003】従来より大容量記憶装置の速度は最新式コ
ンピュータの速度よりも著しく遅れをとっている。これ
は大部分は、コンピュータ(”ホストコンピュータ”と
称される)の計算部分とは異なって、大容量記憶装置が
可動部分を含んでいることによるものである。従って、
今日の高速コンピュータと共に効率的に作業可能なより
高速のデータ記憶装置に対するニーズが依然として存在
している。
ンピュータの速度よりも著しく遅れをとっている。これ
は大部分は、コンピュータ(”ホストコンピュータ”と
称される)の計算部分とは異なって、大容量記憶装置が
可動部分を含んでいることによるものである。従って、
今日の高速コンピュータと共に効率的に作業可能なより
高速のデータ記憶装置に対するニーズが依然として存在
している。
【0004】所与の時点において、最新式記憶装置はあ
る有限率のスループットが可能である。そのためホスト
コンピュータの有効速度は或る点でこのスループット率
如何に限定されることが多い。更に、最新式記憶装置は
すこぶる割高になる傾向がある。
る有限率のスループットが可能である。そのためホスト
コンピュータの有効速度は或る点でこのスループット率
如何に限定されることが多い。更に、最新式記憶装置は
すこぶる割高になる傾向がある。
【0005】これらの諸問題を緩和するために、一体に
接続された複数の記憶装置の着想が開発された。この着
想を図1に関して詳説する。
接続された複数の記憶装置の着想が開発された。この着
想を図1に関して詳説する。
【0006】さて図1について述べると、ストライパー
104とn個の記憶装置106とを含む記憶設備108
が図示されている。記憶設備108がデータバス110
を介してホストコンピュータ102から記憶のためにデ
ータを受け取ると(即ち、データ”書込み”が要求され
ると)、そのデータは、記憶装置106へ送られる前に
ストライパー104により受取られる。ストライパー1
04はこのデータを幾つかの部分に分割する。これらの
部分は例えば長さが1バイトとすることができる。この
場合、データバスの幅は例えば1バイト幅である。一旦
データが分割されると、同部分はその後記憶装置106
へと送られる。
104とn個の記憶装置106とを含む記憶設備108
が図示されている。記憶設備108がデータバス110
を介してホストコンピュータ102から記憶のためにデ
ータを受け取ると(即ち、データ”書込み”が要求され
ると)、そのデータは、記憶装置106へ送られる前に
ストライパー104により受取られる。ストライパー1
04はこのデータを幾つかの部分に分割する。これらの
部分は例えば長さが1バイトとすることができる。この
場合、データバスの幅は例えば1バイト幅である。一旦
データが分割されると、同部分はその後記憶装置106
へと送られる。
【0007】上記着想を更に詳説すると、ホストコンピ
ュータ102からのデータの最初のバイトはストライパ
ー104によって記憶装置1へ送られることになろう。
次のバイトは記憶装置2へ順に送られ、最終的にはn番
目のバイトが記憶装置nへ送られる。その後、(n+
1)番目のバイトが記憶装置1へ送られ、そのプロセス
が繰返される。n個のバイト(およびその倍数)の各々
は”ストライプ”と称される。
ュータ102からのデータの最初のバイトはストライパ
ー104によって記憶装置1へ送られることになろう。
次のバイトは記憶装置2へ順に送られ、最終的にはn番
目のバイトが記憶装置nへ送られる。その後、(n+
1)番目のバイトが記憶装置1へ送られ、そのプロセス
が繰返される。n個のバイト(およびその倍数)の各々
は”ストライプ”と称される。
【0008】ストライパーはホストコンピュータにより
送られるデータのスループットを収納するように十分高
速でなければならない。このためには、通常、少なくと
も1つの比較的大きなデータ・レセプタクルを含むスト
ライパーを使用しなければならない。
送られるデータのスループットを収納するように十分高
速でなければならない。このためには、通常、少なくと
も1つの比較的大きなデータ・レセプタクルを含むスト
ライパーを使用しなければならない。
【0009】単にデータを複数の記憶装置へストライピ
ングする他に、今日のコンピュータと記憶装置の能力
は、ストライパーが効率的であり且つフレキシブルでも
あることを必要とする。例えば、所与の状況において使
用される記憶装置106の数は変化し得る。そのため、
ストライパー104は可変数の記憶装置106を許容す
る必要がある。
ングする他に、今日のコンピュータと記憶装置の能力
は、ストライパーが効率的であり且つフレキシブルでも
あることを必要とする。例えば、所与の状況において使
用される記憶装置106の数は変化し得る。そのため、
ストライパー104は可変数の記憶装置106を許容す
る必要がある。
【0010】ストライパーが備えるべきもう1つの特徴
は、パリティ情報の生成を容易にするようにデータを複
数の記憶装置へ送ることができる能力である。これはデ
ータが複数の記憶装置へ送られる前にパリティを生成す
ることが望ましい場合が多いためである。例えば、もし
記憶装置が故障したとすると、そのパリティ情報を使用
してその故障した記憶装置からデータを復元することが
できる。
は、パリティ情報の生成を容易にするようにデータを複
数の記憶装置へ送ることができる能力である。これはデ
ータが複数の記憶装置へ送られる前にパリティを生成す
ることが望ましい場合が多いためである。例えば、もし
記憶装置が故障したとすると、そのパリティ情報を使用
してその故障した記憶装置からデータを復元することが
できる。
【0011】ストライパー104を設計する1つの方法
は、図2に示すように大型の”稠密”バッファ202を
使用することである。図2に示す例は、データが7、8
又は9個の何れかの数の記憶装置に書込まれることを想
定している。稠密バッファ202の各列は、複数の記憶
装置106のうちの1つに対応する(そして、各列内の
データはその対応する記憶装置へ書込まれる)。かくし
て、7個の記憶装置しか使用されない場合には、7個の
列だけがデータで満たされるであろう。記憶装置の最大
数は9なので、本例における稠密バッファ202の深度
は9列である。
は、図2に示すように大型の”稠密”バッファ202を
使用することである。図2に示す例は、データが7、8
又は9個の何れかの数の記憶装置に書込まれることを想
定している。稠密バッファ202の各列は、複数の記憶
装置106のうちの1つに対応する(そして、各列内の
データはその対応する記憶装置へ書込まれる)。かくし
て、7個の記憶装置しか使用されない場合には、7個の
列だけがデータで満たされるであろう。記憶装置の最大
数は9なので、本例における稠密バッファ202の深度
は9列である。
【0012】記憶設備108は、ある数のバイトより構
成される”バースト”の形でデータを受信することが多
い。図2の稠密バッファの例は、256バイトを含むバ
ーストの受信を描いたものである。9個の記憶装置を使
用する場合には、バースト全体は、行29、列4まで稠
密バッファ202を満たす。
成される”バースト”の形でデータを受信することが多
い。図2の稠密バッファの例は、256バイトを含むバ
ーストの受信を描いたものである。9個の記憶装置を使
用する場合には、バースト全体は、行29、列4まで稠
密バッファ202を満たす。
【0013】データが行全体を満たさないという事実に
よって、データが記憶装置106へ送られた時種々の困
難が引き起こされる。例えば、データは記憶装置106
へ不均一に送られ、7個もしくは9個の記憶装置が使用
される場合には、最後のストライプを横切るパリティを
取得することは困難となろう。この問題点を緩和するた
めに、不完全な行に対してパリティ生成を行うか、ある
いは次のデータバーストを列1以外の列で開始する必要
があろう。更に、そのバーストのある部分のみが整合を
促進するために入ることを許された場合(例えば9個も
しくは7個の記憶装置を使用した場合には252バイ
ト、8個を使用した場合には256バイト)、稠密バッ
ファ202に入ることを許さるべきデータ量を追跡する
ために複雑なアドレッシング方式が必要となろう。
よって、データが記憶装置106へ送られた時種々の困
難が引き起こされる。例えば、データは記憶装置106
へ不均一に送られ、7個もしくは9個の記憶装置が使用
される場合には、最後のストライプを横切るパリティを
取得することは困難となろう。この問題点を緩和するた
めに、不完全な行に対してパリティ生成を行うか、ある
いは次のデータバーストを列1以外の列で開始する必要
があろう。更に、そのバーストのある部分のみが整合を
促進するために入ることを許された場合(例えば9個も
しくは7個の記憶装置を使用した場合には252バイ
ト、8個を使用した場合には256バイト)、稠密バッ
ファ202に入ることを許さるべきデータ量を追跡する
ために複雑なアドレッシング方式が必要となろう。
【0014】データが整合するか否かに関わらず、稠密
バッファ202は、データが書込まれたり読出されたり
すべき稠密バッファ202の特定部分を追跡するため
に、比較的複雑なアドレッシング方式が必要となろう。
更に、そのために稠密バッファ202の記憶の相当量が
浪費されることになる。図2に示す例では選択された記
憶装置106の数に関わりなく常に86バイトが使用さ
れないことになろう。同様に、もし稠密バッファ202
がRAMの場合には、タイミングとアドレッシングの問
題も同時に考慮する必要がある。
バッファ202は、データが書込まれたり読出されたり
すべき稠密バッファ202の特定部分を追跡するため
に、比較的複雑なアドレッシング方式が必要となろう。
更に、そのために稠密バッファ202の記憶の相当量が
浪費されることになる。図2に示す例では選択された記
憶装置106の数に関わりなく常に86バイトが使用さ
れないことになろう。同様に、もし稠密バッファ202
がRAMの場合には、タイミングとアドレッシングの問
題も同時に考慮する必要がある。
【0015】ストライパーにおけるもう1つの望ましい
特徴は、多数の同一チップを使用することであろう。こ
れは、単一チップ上で利用可能なI/Oポートの数が限
られているために、単一チップを使用することが困難も
しくは不都合であることが多いからである。更に、単一
チップを使用すると、同チップ内の多くの信号が同時に
切替えられる場合に種々の問題がひきおこされる恐れが
ある。
特徴は、多数の同一チップを使用することであろう。こ
れは、単一チップ上で利用可能なI/Oポートの数が限
られているために、単一チップを使用することが困難も
しくは不都合であることが多いからである。更に、単一
チップを使用すると、同チップ内の多くの信号が同時に
切替えられる場合に種々の問題がひきおこされる恐れが
ある。
【0016】かくして、必要なのは、RAMの如き稠密
バッファを使用する際に複雑なアドレッシング方式を必
要とせずに、データをストライピングして可変数の記憶
装置を許容する方法である。かかる装置によればパリテ
ィデータの生成は容易になり、空間を保存する(即ち、
最小量のバッファリングを活用する)ことが容易になる
はずである。
バッファを使用する際に複雑なアドレッシング方式を必
要とせずに、データをストライピングして可変数の記憶
装置を許容する方法である。かかる装置によればパリテ
ィデータの生成は容易になり、空間を保存する(即ち、
最小量のバッファリングを活用する)ことが容易になる
はずである。
【0017】
【課題を解決するための手段及び作用】上記した方法論
に伴う問題点は、本発明によって緩和することが可能で
ある。全体として、本発明はデータを複数の記憶装置に
ストライピングするシステム及び方法を提供するもので
ある。殊に、本発明はデータを可変数の記憶装置にスト
ライピングすることによってパリティ生成が容易にな
り、最小量のバッファリングしか要しないようにするた
めのシステム及び方法を提供するものである。
に伴う問題点は、本発明によって緩和することが可能で
ある。全体として、本発明はデータを複数の記憶装置に
ストライピングするシステム及び方法を提供するもので
ある。殊に、本発明はデータを可変数の記憶装置にスト
ライピングすることによってパリティ生成が容易にな
り、最小量のバッファリングしか要しないようにするた
めのシステム及び方法を提供するものである。
【0018】本発明の一態様は、データバスからのデー
タが幾つかのバッファ間で細長く分割される(即ち、ス
トライピングされる)ことを想定している。これらのバ
ッファがデータをシーケンシャルにゲートインするよう
にするために、バッファ選択制御が考えられている。そ
れぞれのバッファは記憶装置に対応することによって、
使用されるべき記憶装置に対応するバッファのみがデー
タをゲートインするように誘導される。従って、使用を
想定される最大数の記憶装置(パリティ情報を記憶する
ために使用される記憶装置は除く)に対応する数のバッ
ファが存在する。
タが幾つかのバッファ間で細長く分割される(即ち、ス
トライピングされる)ことを想定している。これらのバ
ッファがデータをシーケンシャルにゲートインするよう
にするために、バッファ選択制御が考えられている。そ
れぞれのバッファは記憶装置に対応することによって、
使用されるべき記憶装置に対応するバッファのみがデー
タをゲートインするように誘導される。従って、使用を
想定される最大数の記憶装置(パリティ情報を記憶する
ために使用される記憶装置は除く)に対応する数のバッ
ファが存在する。
【0019】バッファが一杯であることが検出される
と、転送制御によってこれらバッファ内のデータはそれ
らの適当な記憶装置に並行に転送される。かくして、本
発明は可変数の記憶装置と共に使用さるべき柔軟性を提
供すると同時に、パリティ情報の生成を容易にするよう
な方法でデータを転送することができる。更に、1つの
大きなバッファリング方式ではなくて幾つかのより小さ
なバッファを使用することによって、所要バッファメモ
リ量は相当少なくなり、最小量のバッファを使用するこ
とが可能になる。
と、転送制御によってこれらバッファ内のデータはそれ
らの適当な記憶装置に並行に転送される。かくして、本
発明は可変数の記憶装置と共に使用さるべき柔軟性を提
供すると同時に、パリティ情報の生成を容易にするよう
な方法でデータを転送することができる。更に、1つの
大きなバッファリング方式ではなくて幾つかのより小さ
なバッファを使用することによって、所要バッファメモ
リ量は相当少なくなり、最小量のバッファを使用するこ
とが可能になる。
【0020】本発明のもう1つの態様は、使用さるべき
記憶装置の数を指示する信号を受信し、シーケンシャル
にバッファを選択することを想定する方法である。バッ
ファは、使用さるべき記憶装置にそれぞれ対応する複数
バッファから選択されることになろう。かくして、もし
4個の記憶装置が使用される場合には、最初のバッファ
から順に始まって4個のバッファが順次選択されること
になろう。
記憶装置の数を指示する信号を受信し、シーケンシャル
にバッファを選択することを想定する方法である。バッ
ファは、使用さるべき記憶装置にそれぞれ対応する複数
バッファから選択されることになろう。かくして、もし
4個の記憶装置が使用される場合には、最初のバッファ
から順に始まって4個のバッファが順次選択されること
になろう。
【0021】データはデータバスから選択されたばかり
のバッファ内へゲートされ、バッファリングされたデー
タを構成する。選択されたバッファ内へデータがいった
んゲートされると、次の順番のバッファが選択され、デ
ータはその内部へゲートされる。この順を追ってのデー
タのゲーティング及び次のバッファの選択は、バッファ
が一杯になるか、最早データバスからそれ以上のデータ
が送られなくなるまで繰返される。このことが起こる
と、バッファリングされたデータは使用されるべき記憶
装置へ並行に転送される。
のバッファ内へゲートされ、バッファリングされたデー
タを構成する。選択されたバッファ内へデータがいった
んゲートされると、次の順番のバッファが選択され、デ
ータはその内部へゲートされる。この順を追ってのデー
タのゲーティング及び次のバッファの選択は、バッファ
が一杯になるか、最早データバスからそれ以上のデータ
が送られなくなるまで繰返される。このことが起こる
と、バッファリングされたデータは使用されるべき記憶
装置へ並行に転送される。
【0022】上記両態様の代替態様は、更に、使用を想
定される最大数の記憶装置に対応する多数のバッファを
それぞれが含む2つもしくはそれ以上のストライピング
バッファを使用することを想定している。更に、これら
ストライピングバッファの1つもしくはそれ以上が、残
りのストライピングバッファが出力用に選択されるのと
同時に、入力用に選択されることが想定されている。こ
のようにして、入力用に選択されたストライピングバッ
ファ内のバッファは、出力用に選択されたストライピン
グバッファ内のバッファが使用されるべき記憶装置へデ
ータを転送するのと同時に、上記のシーケンシャルな方
法でデータをゲートインすることが考えられる。本態様
はデータのスループットを向上させることになろう。
定される最大数の記憶装置に対応する多数のバッファを
それぞれが含む2つもしくはそれ以上のストライピング
バッファを使用することを想定している。更に、これら
ストライピングバッファの1つもしくはそれ以上が、残
りのストライピングバッファが出力用に選択されるのと
同時に、入力用に選択されることが想定されている。こ
のようにして、入力用に選択されたストライピングバッ
ファ内のバッファは、出力用に選択されたストライピン
グバッファ内のバッファが使用されるべき記憶装置へデ
ータを転送するのと同時に、上記のシーケンシャルな方
法でデータをゲートインすることが考えられる。本態様
はデータのスループットを向上させることになろう。
【0023】上記態様はハードウエアとソフトウエアの
双方、もしくはその組合せとして実施可能であることを
理解されたい。
双方、もしくはその組合せとして実施可能であることを
理解されたい。
【0024】
【実施例】I.概説 本発明は、データを複数の記憶装置にストライピングす
るためのシステム及び方法である。殊に、本発明は、デ
ータを可変数の記憶装置にストライピングすることによ
ってパリティ情報を生成しやすくし、最小量のバッファ
リングしか使用されないようにするシステム及び方法に
関する。また、本発明により提供される他の利点を以下
に示す。本発明の大要は図3に関してよりよく説明する
ことができよう。
るためのシステム及び方法である。殊に、本発明は、デ
ータを可変数の記憶装置にストライピングすることによ
ってパリティ情報を生成しやすくし、最小量のバッファ
リングしか使用されないようにするシステム及び方法に
関する。また、本発明により提供される他の利点を以下
に示す。本発明の大要は図3に関してよりよく説明する
ことができよう。
【0025】さて図3を参照すると、本発明の実施例
は、バッファ選択制御部302と、n個のバッファ30
4と、転送制御部306とを備えている。データバス1
10は、ホストコンピュータ102の如きデータ生成装
置からn個のバッファ304へ、データを送るために使
用される。本発明の実施例において、バッファの数は、
使用可能な記憶装置の最大数(パリティ情報を記憶する
ために使用可能な記憶装置は除く)に等しくすべきであ
る。例えば、もし本発明の場合に使用される所与の環境
が最高9個の記憶装置を使用可能であるとすると、9個
のバッファを設けるべきである。
は、バッファ選択制御部302と、n個のバッファ30
4と、転送制御部306とを備えている。データバス1
10は、ホストコンピュータ102の如きデータ生成装
置からn個のバッファ304へ、データを送るために使
用される。本発明の実施例において、バッファの数は、
使用可能な記憶装置の最大数(パリティ情報を記憶する
ために使用可能な記憶装置は除く)に等しくすべきであ
る。例えば、もし本発明の場合に使用される所与の環境
が最高9個の記憶装置を使用可能であるとすると、9個
のバッファを設けるべきである。
【0026】上記事項の他に、本発明の実施例は、それ
ぞれのバッファが実際には記憶装置106の1つに対応
することを想定している。即ち、バッファx内へゲート
されるデータは記憶装置xへ送られることになろう。こ
の場合、使用されるべき記憶装置に対応するバッファの
みがデータをゲートインするように誘導される。
ぞれのバッファが実際には記憶装置106の1つに対応
することを想定している。即ち、バッファx内へゲート
されるデータは記憶装置xへ送られることになろう。こ
の場合、使用されるべき記憶装置に対応するバッファの
みがデータをゲートインするように誘導される。
【0027】データが(データバス110を介して)本
発明のシステムへ送られストライピングされると、バッ
ファ選択制御部302は使用さるべき記憶装置の数の指
示を受取ることを期待する。その後、バッファ選択制御
部302は信号をバッファ304へ送り、それらがシー
ケンシャルにデータバス110からのデータの部分をゲ
ートインするようにする。これらの信号は制御バス30
8を介して送られる。使用されるべき記憶装置に対応す
るバッファ304のみが”選択”され、データをゲート
インする。
発明のシステムへ送られストライピングされると、バッ
ファ選択制御部302は使用さるべき記憶装置の数の指
示を受取ることを期待する。その後、バッファ選択制御
部302は信号をバッファ304へ送り、それらがシー
ケンシャルにデータバス110からのデータの部分をゲ
ートインするようにする。これらの信号は制御バス30
8を介して送られる。使用されるべき記憶装置に対応す
るバッファ304のみが”選択”され、データをゲート
インする。
【0028】上記シーケンシャルゲーティングの一例を
以下に論ずる。バッファ選択制御部302はまず信号を
バッファ1へ送り、データの部分をゲートインする(例
えば1バイト。本発明の実施例は1個のバッファ内へゲ
ートされたデータ”部分”の大きさがデータバス110
の幅に等しいものと想定していることに注意された
い)。その後、バッファ選択制御部302は信号をバッ
ファ2へ送り、次のデータ部分をゲートインする等し
て、最終的に使用されるべき記憶装置に対応する全ての
バッファはデータ部分をゲートインする。もしバッファ
304が未だ一杯でなければ、本発明の実施例は、バッ
ファ選択制御部302によってバッファ1がデータをゲ
ートインするように誘導され、そのシーケンスが新たに
開始されることを想定している。
以下に論ずる。バッファ選択制御部302はまず信号を
バッファ1へ送り、データの部分をゲートインする(例
えば1バイト。本発明の実施例は1個のバッファ内へゲ
ートされたデータ”部分”の大きさがデータバス110
の幅に等しいものと想定していることに注意された
い)。その後、バッファ選択制御部302は信号をバッ
ファ2へ送り、次のデータ部分をゲートインする等し
て、最終的に使用されるべき記憶装置に対応する全ての
バッファはデータ部分をゲートインする。もしバッファ
304が未だ一杯でなければ、本発明の実施例は、バッ
ファ選択制御部302によってバッファ1がデータをゲ
ートインするように誘導され、そのシーケンスが新たに
開始されることを想定している。
【0029】上記シーケンスは使用されるべき記憶装置
106に対応するバッファ304が一杯となるか、ある
いはデータバス110から送られるデータが最早存在し
なくなるまで続けられる。これらの出来事の何れかはバ
ッファ選択制御部302によって検出される。何れかの
出来事が発生すると、転送制御部306がバッファ30
4内のバッファリングされたデータをそれらの関連記憶
装置106へ送る。このようにして、データバス110
からのデータは、”ストライプ状”で記憶装置106へ
転送されることになろう(即ち、使用されるべき全記憶
装置106を横切って転送される)。
106に対応するバッファ304が一杯となるか、ある
いはデータバス110から送られるデータが最早存在し
なくなるまで続けられる。これらの出来事の何れかはバ
ッファ選択制御部302によって検出される。何れかの
出来事が発生すると、転送制御部306がバッファ30
4内のバッファリングされたデータをそれらの関連記憶
装置106へ送る。このようにして、データバス110
からのデータは、”ストライプ状”で記憶装置106へ
転送されることになろう(即ち、使用されるべき全記憶
装置106を横切って転送される)。
【0030】もしデータを記憶装置106から読み戻し
たい場合には、上記の戦略を逆にすればよい。即ち、デ
ータをそれぞれの記憶装置から読取り、それの対応する
バッファへ送ることができる。ひとたびそれぞれのバッ
ファが一杯になると(或いは記憶装置から読出すべきデ
ータが最早存在しなくなると)、データはシーケンシャ
ルにデータバス110へとゲートバックされる。
たい場合には、上記の戦略を逆にすればよい。即ち、デ
ータをそれぞれの記憶装置から読取り、それの対応する
バッファへ送ることができる。ひとたびそれぞれのバッ
ファが一杯になると(或いは記憶装置から読出すべきデ
ータが最早存在しなくなると)、データはシーケンシャ
ルにデータバス110へとゲートバックされる。
【0031】上記した本発明の実施例は、発明の背景の
部分で記述した大型の稠密バッファに必要とされたよう
なバッファ304内のデータ配列を追跡するための複雑
なアドレッシング方式を要しないことに注意されたい。
更に、複数の小型バッファを使用することによって、上
記発明の背景部分で述べたような大型の稠密バッファを
使用する場合よりも少数のバッファ空間しか要しない。
事実、本発明の環境と共に使用するために想定された最
大数の記憶空間106を使用する場合には、バッファ空
間は全く浪費されることはない。同様にして、データを
記憶装置106へ並行に出力することによってそれぞれ
のストライプからパリティを生成することが容易にな
る。
部分で記述した大型の稠密バッファに必要とされたよう
なバッファ304内のデータ配列を追跡するための複雑
なアドレッシング方式を要しないことに注意されたい。
更に、複数の小型バッファを使用することによって、上
記発明の背景部分で述べたような大型の稠密バッファを
使用する場合よりも少数のバッファ空間しか要しない。
事実、本発明の環境と共に使用するために想定された最
大数の記憶空間106を使用する場合には、バッファ空
間は全く浪費されることはない。同様にして、データを
記憶装置106へ並行に出力することによってそれぞれ
のストライプからパリティを生成することが容易にな
る。
【0032】本発明の動作方法の例を図4のフローチャ
ートを使用して説明する。図4について述べると、本発
明の場合に使用されると想定される環境の構成をまずブ
ロック402によって示されるように受取る。”構成”
によって意味するところは使用さるべき記憶装置106
の数である。
ートを使用して説明する。図4について述べると、本発
明の場合に使用されると想定される環境の構成をまずブ
ロック402によって示されるように受取る。”構成”
によって意味するところは使用さるべき記憶装置106
の数である。
【0033】ひとたび記憶装置106の数が決定される
と、データ部分がブロック404に示すように、選択さ
れたバッファ内へゲートされる。このプロセスの初めで
データをゲートインする最初のバッファはバッファナン
バー1であると想定する。
と、データ部分がブロック404に示すように、選択さ
れたバッファ内へゲートされる。このプロセスの初めで
データをゲートインする最初のバッファはバッファナン
バー1であると想定する。
【0034】一旦あるデータ部分がバッファ内へゲート
されると、本発明では使用中のバッファ304が一杯で
あるか、それともデータバス110を介してそれ以上の
データが送られていないかをチェックする。これは判断
ブロック408によって指示される。もし本発明がデー
タを8個の記憶装置に送っているのであれば、8個のバ
ッファのみがチェックされることに注意されたい。
されると、本発明では使用中のバッファ304が一杯で
あるか、それともデータバス110を介してそれ以上の
データが送られていないかをチェックする。これは判断
ブロック408によって指示される。もし本発明がデー
タを8個の記憶装置に送っているのであれば、8個のバ
ッファのみがチェックされることに注意されたい。
【0035】もしバッファの全てが一杯でなくデータが
依然データバス110を介して送られていれば、本発明
は次のバッファを順次選択し、ブロック406によって
示されるようにデータをゲートインする。その後、次の
データ部分がブロック404により示されるようにその
選択されたバッファ内へゲートされる。
依然データバス110を介して送られていれば、本発明
は次のバッファを順次選択し、ブロック406によって
示されるようにデータをゲートインする。その後、次の
データ部分がブロック404により示されるようにその
選択されたバッファ内へゲートされる。
【0036】使用中のバッファ全体が一杯になると(も
しくはデータバス110を介してそれ以上のデータが送
られなくなると)、判断ブロック408とブロック41
0によって示されるように、データは適当な記憶装置1
06へ転送される。
しくはデータバス110を介してそれ以上のデータが送
られなくなると)、判断ブロック408とブロック41
0によって示されるように、データは適当な記憶装置1
06へ転送される。
【0037】ストライピングされたデータを上記の如く
並行に記憶装置106へ転送できるようにすることによ
って、本発明はストライプ全体を横切るパリティデータ
の生成を容易にすることができる。別言すると、データ
部分を種々の記憶装置へ並行に送ることによって、パリ
ティは、任意の所定時刻に記憶装置106へ転送される
データ部分を使用して生成することが可能になってい
る。
並行に記憶装置106へ転送できるようにすることによ
って、本発明はストライプ全体を横切るパリティデータ
の生成を容易にすることができる。別言すると、データ
部分を種々の記憶装置へ並行に送ることによって、パリ
ティは、任意の所定時刻に記憶装置106へ転送される
データ部分を使用して生成することが可能になってい
る。
【0038】II. レジスタを使用するデュアルストライ
ピングバッファの実施例 上記実施例に加えて、本発明は図5に示すように、バッ
ファ304がレジスタ514として構成される特殊例を
も考慮している。極性保持フリップフロップを含むよう
なレジスタを使用することによってタイミングとアドレ
ッシングに関する懸念を最小限に抑えることができる。
ピングバッファの実施例 上記実施例に加えて、本発明は図5に示すように、バッ
ファ304がレジスタ514として構成される特殊例を
も考慮している。極性保持フリップフロップを含むよう
なレジスタを使用することによってタイミングとアドレ
ッシングに関する懸念を最小限に抑えることができる。
【0039】本発明が想定する他の実施例では、”スト
ライピングバッファ”を使用するデュアルバッファリン
グ方式を用いる。実質上、この方式によって、1個のス
トライピングバッファ(n個のレジスタより構成され
る)は、もう1つのストライピングバッファ(同様にn
個のレジスタより構成される)が記憶装置106へデー
タを送ると同時に、データバス110からのデータをゲ
ートインできるようになる。ストライピングバッファは
交互にデータをゲートインしたりデータを記憶装置10
6へ転送したりする。このことはデータのスループット
が高速に行われるように考慮したものである。これらの
実施例は図5についてより詳しく考察する。
ライピングバッファ”を使用するデュアルバッファリン
グ方式を用いる。実質上、この方式によって、1個のス
トライピングバッファ(n個のレジスタより構成され
る)は、もう1つのストライピングバッファ(同様にn
個のレジスタより構成される)が記憶装置106へデー
タを送ると同時に、データバス110からのデータをゲ
ートインできるようになる。ストライピングバッファは
交互にデータをゲートインしたりデータを記憶装置10
6へ転送したりする。このことはデータのスループット
が高速に行われるように考慮したものである。これらの
実施例は図5についてより詳しく考察する。
【0040】さて図5を参照すると、第1のストライピ
ングバッファ502と第2のストライピングバッファ5
03が示されていて、その各々はn個のレジスタ514
を含んでいる。本発明の実施例では、それぞれのストラ
イピングバッファは本発明の所与の環境と共に使用され
る記憶装置106の最大数に等しい多数のレジスタを含
んでいる。かくして、図3に関して論じた実施例の場合
と同様、もし使用可能な記憶装置106の最大数が9個
である場合には、第1のストライピングバッファ502
と第2のストライピングバッファ503はそれぞれ9個
のレジスタを含むことになろう。
ングバッファ502と第2のストライピングバッファ5
03が示されていて、その各々はn個のレジスタ514
を含んでいる。本発明の実施例では、それぞれのストラ
イピングバッファは本発明の所与の環境と共に使用され
る記憶装置106の最大数に等しい多数のレジスタを含
んでいる。かくして、図3に関して論じた実施例の場合
と同様、もし使用可能な記憶装置106の最大数が9個
である場合には、第1のストライピングバッファ502
と第2のストライピングバッファ503はそれぞれ9個
のレジスタを含むことになろう。
【0041】図3に関する先の実施例の場合と同じく、
データがデータバス110を介して送られると、レジス
タ選択制御部516は、本発明が使用される特定の環境
と共に使用されると想定される記憶装置106の数に関
する情報を受取る。しかしながら、図5の実施例は更
に、データがまず第1のストライピングバッファ502
内のレジスタ514へゲートされ、その後第2のストラ
イピングバッファ503内のレジスタ514へゲートさ
れることを考慮している。同データはそのストライピン
グバッファ内のレジスタ514全体が一杯になるまで
(もしくはデータバス110を介してそれ以上のデータ
が送られなくなるまで)、一方もしくは他方のストライ
ピングバッファへゲートされる。
データがデータバス110を介して送られると、レジス
タ選択制御部516は、本発明が使用される特定の環境
と共に使用されると想定される記憶装置106の数に関
する情報を受取る。しかしながら、図5の実施例は更
に、データがまず第1のストライピングバッファ502
内のレジスタ514へゲートされ、その後第2のストラ
イピングバッファ503内のレジスタ514へゲートさ
れることを考慮している。同データはそのストライピン
グバッファ内のレジスタ514全体が一杯になるまで
(もしくはデータバス110を介してそれ以上のデータ
が送られなくなるまで)、一方もしくは他方のストライ
ピングバッファへゲートされる。
【0042】かくして、レジスタ選択制御部516は、
これらのレジスタ514の各々が一杯になるまで、まず
上記したシーケンシャルな方法で(図3参照)第1のス
トライピングバッファ502のレジスタ514内へデー
タがゲートされるように誘導する。本発明の実施例で
は、レジスタ選択制御部516はレジスタ514の各々
に書込まれたデータ量を追跡する。また、レジスタ51
4の容量と任意の所与の時刻に使用されるレジスタ51
4の数を知っているので、第1のストライピングバッフ
ァ502内のレジスタ514が何時一杯になるかを検出
する。
これらのレジスタ514の各々が一杯になるまで、まず
上記したシーケンシャルな方法で(図3参照)第1のス
トライピングバッファ502のレジスタ514内へデー
タがゲートされるように誘導する。本発明の実施例で
は、レジスタ選択制御部516はレジスタ514の各々
に書込まれたデータ量を追跡する。また、レジスタ51
4の容量と任意の所与の時刻に使用されるレジスタ51
4の数を知っているので、第1のストライピングバッフ
ァ502内のレジスタ514が何時一杯になるかを検出
する。
【0043】第1のストライピングバッファ502内の
レジスタ514が一杯であると検出されると(あるいは
データバス110を介しては最早データが送られない場
合)、これらのレジスタ内のデータは適当な記憶装置1
06へ転送される。このことは転送開始バス506を横
切って信号を転送状態マシーン504へ送るレジスタ選
択制御部516によって達成される。その後、転送状態
マシーン504は出力選択バス508を横切って信号を
ストライピングバッファマルチプレクサ510へ送る。
この信号は何れのストライピングバッファが記憶装置1
06に対してデータを送ることになっているかを指示す
る。
レジスタ514が一杯であると検出されると(あるいは
データバス110を介しては最早データが送られない場
合)、これらのレジスタ内のデータは適当な記憶装置1
06へ転送される。このことは転送開始バス506を横
切って信号を転送状態マシーン504へ送るレジスタ選
択制御部516によって達成される。その後、転送状態
マシーン504は出力選択バス508を横切って信号を
ストライピングバッファマルチプレクサ510へ送る。
この信号は何れのストライピングバッファが記憶装置1
06に対してデータを送ることになっているかを指示す
る。
【0044】上記状況においては、第1のストライピン
グバッファ502が一杯なので、ストライピングバッフ
ァマルチプレクサ510は第1のストライピングバッフ
ァ502のレジスタ514内のデータを記憶装置106
へ転送させることになる。このデータはデータアウトバ
ス512を介してストライピングマルチプレクサ510
へ送られる。
グバッファ502が一杯なので、ストライピングバッフ
ァマルチプレクサ510は第1のストライピングバッフ
ァ502のレジスタ514内のデータを記憶装置106
へ転送させることになる。このデータはデータアウトバ
ス512を介してストライピングマルチプレクサ510
へ送られる。
【0045】データが第1のストライピングバッファ5
02から記憶装置106へ送られると同時に、レジスタ
選択制御部516は制御バス308を横切って信号を送
り、第2のストライピングバッファ503内のレジスタ
514がデータをゲートインするように誘導する。第2
のストライピングバッファ503が一杯になると、デー
タは上記と同様にして記憶装置106へと転送される。
この転送が行われると、レジスタ選択制御部516は第
1ストライピングバッファ502内のレジスタ514が
データバス110からのデータをゲートインするように
誘導する。
02から記憶装置106へ送られると同時に、レジスタ
選択制御部516は制御バス308を横切って信号を送
り、第2のストライピングバッファ503内のレジスタ
514がデータをゲートインするように誘導する。第2
のストライピングバッファ503が一杯になると、デー
タは上記と同様にして記憶装置106へと転送される。
この転送が行われると、レジスタ選択制御部516は第
1ストライピングバッファ502内のレジスタ514が
データバス110からのデータをゲートインするように
誘導する。
【0046】要するに、ストライピングバッファの一方
がデータを受取る間に、他方はそれと同時にデータを記
憶装置106へ送ることになる。2個のストライピング
バッファのみが示されているが、それより大きな数のス
トライピングバッファをシーケンシャルな方法で使用で
きることを理解されたい。また、上記のシーケンスは第
1のストライピングバッファ502以外のストライピン
グバッファから開始することもできることも理解された
い。
がデータを受取る間に、他方はそれと同時にデータを記
憶装置106へ送ることになる。2個のストライピング
バッファのみが示されているが、それより大きな数のス
トライピングバッファをシーケンシャルな方法で使用で
きることを理解されたい。また、上記のシーケンスは第
1のストライピングバッファ502以外のストライピン
グバッファから開始することもできることも理解された
い。
【0047】本発明の動作方法の実施例を図6のフロー
チャートを使用して説明する。さて図6について述べる
と、ブロック602に示されるように、記憶装置106
の構成が受取られる。その後、ブロック604に示すよ
うに、第1のストライピングバッファ502が、まずデ
ータを受取るストライピングバッファとして選択され
る。その後データは、ブロック606によって示すよう
に、選択されたレジスタ内へゲートされる。本発明の実
施例では、選択された最初のレジスタは第1のストライ
ピングバッファ502内のレジスタ1である。
チャートを使用して説明する。さて図6について述べる
と、ブロック602に示されるように、記憶装置106
の構成が受取られる。その後、ブロック604に示すよ
うに、第1のストライピングバッファ502が、まずデ
ータを受取るストライピングバッファとして選択され
る。その後データは、ブロック606によって示すよう
に、選択されたレジスタ内へゲートされる。本発明の実
施例では、選択された最初のレジスタは第1のストライ
ピングバッファ502内のレジスタ1である。
【0048】次に、本発明は使用中の(入力用に選択さ
れるストライピングバッファ内の)レジスタ514全体
が一杯であるか、それともデータバス110を介して送
られるデータが最早存在しないかを判断する。これは判
断ブロック610によって示される。もしこれら両方の
質問に対する回答が”否”であれば、本発明はブロック
608に示すように、(入力用に選択されたストライピ
ングバッファ内の)次のレジスタを選択することにな
る。このプロセスは(入力用に選択されたストライピン
グバッファ内の)レジスタの全てが一杯になるか、デー
タバス110を介して送られるデータが最早存在しなく
なるまで繰返されることになろう。
れるストライピングバッファ内の)レジスタ514全体
が一杯であるか、それともデータバス110を介して送
られるデータが最早存在しないかを判断する。これは判
断ブロック610によって示される。もしこれら両方の
質問に対する回答が”否”であれば、本発明はブロック
608に示すように、(入力用に選択されたストライピ
ングバッファ内の)次のレジスタを選択することにな
る。このプロセスは(入力用に選択されたストライピン
グバッファ内の)レジスタの全てが一杯になるか、デー
タバス110を介して送られるデータが最早存在しなく
なるまで繰返されることになろう。
【0049】(入力用に選択されたストライピングバッ
ファ内の)レジスタ514の全てが一杯になるか、最早
データが送られない場合には、入力用に選択されたスト
ライピングバッファを何れもトグルして出力用に選択
し、逆の場合は逆である。このことはブロック612に
よって示される。かくして、もし第1のストライピング
バッファ502が入力用に選択され、第2のストライピ
ングバッファ503が出力用に選択される場合には、こ
の選択は逆になる。言いかえると、第2のストライピン
グバッファ503が先に出力用に選択されていれば、そ
の後入力用に選択される。
ファ内の)レジスタ514の全てが一杯になるか、最早
データが送られない場合には、入力用に選択されたスト
ライピングバッファを何れもトグルして出力用に選択
し、逆の場合は逆である。このことはブロック612に
よって示される。かくして、もし第1のストライピング
バッファ502が入力用に選択され、第2のストライピ
ングバッファ503が出力用に選択される場合には、こ
の選択は逆になる。言いかえると、第2のストライピン
グバッファ503が先に出力用に選択されていれば、そ
の後入力用に選択される。
【0050】ストライピングバッファが出力用に選択さ
れると、ブロック614により示されるように、そのレ
ジスタ514内のデータは適当な記憶装置106へ転送
される。このデータ転送と同時に、丁度入力用に選択さ
れたばかりのストライピングバッファは、ブロック60
6、608、および610により示されるようにデータ
をそのレジスタ514内へ受取る。この入力出力用にス
トライピングバッファを交互させるプロセスはデータバ
ス110を介して最早データが送られなくなるまで続け
られる。
れると、ブロック614により示されるように、そのレ
ジスタ514内のデータは適当な記憶装置106へ転送
される。このデータ転送と同時に、丁度入力用に選択さ
れたばかりのストライピングバッファは、ブロック60
6、608、および610により示されるようにデータ
をそのレジスタ514内へ受取る。この入力出力用にス
トライピングバッファを交互させるプロセスはデータバ
ス110を介して最早データが送られなくなるまで続け
られる。
【0051】図5はレジスタを活用する例を示したもの
であるが、図5に関して上記した実施例はレジスタ以外
の多数バッファを使用することによっても構成可能であ
ることを理解されたい。
であるが、図5に関して上記した実施例はレジスタ以外
の多数バッファを使用することによっても構成可能であ
ることを理解されたい。
【0052】III. レジスタ選択制御部の構成要素及び
デュアルサイクルレジスタの実施例 本発明の実施例によって想定されるようなレジスタ選択
制御部516のより詳細を図7について論ずる。さて図
7について述べると、レジスタ選択制御部516は構成
レジスタ706、選択制御状態マシーン708、インタ
ーフェースアドレスレジスタ704( IF ADR REG と略
称する)、およびデコードモジュール702より構成さ
れる。
デュアルサイクルレジスタの実施例 本発明の実施例によって想定されるようなレジスタ選択
制御部516のより詳細を図7について論ずる。さて図
7について述べると、レジスタ選択制御部516は構成
レジスタ706、選択制御状態マシーン708、インタ
ーフェースアドレスレジスタ704( IF ADR REG と略
称する)、およびデコードモジュール702より構成さ
れる。
【0053】構成レジスタ706は、使用さるべき記憶
装置106の数に関する情報をある外部制御機構(図示
せず)から受取る。この情報は選択制御状態マシーン7
08によって使用される。
装置106の数に関する情報をある外部制御機構(図示
せず)から受取る。この情報は選択制御状態マシーン7
08によって使用される。
【0054】選択制御状態マシーン708は本発明の状
態を制御する。例えば、何れのレジスタ514へデータ
がゲートさるべきかを制御すると同時に、入力用に選択
されたストライピングバッファ内のレジスタ514が一
杯であるかどうかを追跡する。
態を制御する。例えば、何れのレジスタ514へデータ
がゲートさるべきかを制御すると同時に、入力用に選択
されたストライピングバッファ内のレジスタ514が一
杯であるかどうかを追跡する。
【0055】データがゲートさるべきレジスタの実際の
アドレスは、 IF ADR REG によって生成される。ストラ
イピングバッファの何れかの第1のレジスタがデータを
ゲートインする場合には、リセット信号(RST)がIF
ADR REG 704へ送られる。制御状態マシーン708
は、データが次のレジスタによって順次ゲートインされ
る毎に IF ADR REG704へハイ信号(+1)を送る。
アドレスは、 IF ADR REG によって生成される。ストラ
イピングバッファの何れかの第1のレジスタがデータを
ゲートインする場合には、リセット信号(RST)がIF
ADR REG 704へ送られる。制御状態マシーン708
は、データが次のレジスタによって順次ゲートインされ
る毎に IF ADR REG704へハイ信号(+1)を送る。
【0056】IF ADR REG 704の出力はライン712
を介して選択制御状態マシーン708内へ送り帰される
ので、何れのレジスタが現在データをゲートインすべく
選択されているかを追跡することができる。 IF ADR RE
G 704の出力はまた、デコードモジュール702へも
送られる。またデコードモジュール702は、何れのス
トライピングバッファ(502又は503)が入力用に
選択されたかをデコードモジュール702へ指示するバ
ッファ選択ライン710も受け入れる。
を介して選択制御状態マシーン708内へ送り帰される
ので、何れのレジスタが現在データをゲートインすべく
選択されているかを追跡することができる。 IF ADR RE
G 704の出力はまた、デコードモジュール702へも
送られる。またデコードモジュール702は、何れのス
トライピングバッファ(502又は503)が入力用に
選択されたかをデコードモジュール702へ指示するバ
ッファ選択ライン710も受け入れる。
【0057】デコードモジュール702によってレジス
タアドレスライン724とバッファ選択ライン710か
ら受取られた信号の組合せは、デコードモジュール70
2に対して正確に何れのレジスタがデータをゲートイン
するべきかを示す。これらの信号を受取ると、デコード
モジュール702は信号を制御バス308を介して選択
レジスタへ送り、データをゲートインする。
タアドレスライン724とバッファ選択ライン710か
ら受取られた信号の組合せは、デコードモジュール70
2に対して正確に何れのレジスタがデータをゲートイン
するべきかを示す。これらの信号を受取ると、デコード
モジュール702は信号を制御バス308を介して選択
レジスタへ送り、データをゲートインする。
【0058】本発明のいくつかの実施例は、各レジスタ
514がその総データ容量の一定部分(例えばワードも
しくはバイト)によってアドレス指定可能となるように
想定している。このようにして、各レジスタが何度も反
復して選択され、全てのレジスタが満たされるまで小量
のデータをゲートインするように、データはこれらのレ
ジスタ内へゲートされる。他の実施例は、データがレジ
スタ内へゲートされる毎に、そのレジスタはそのデータ
容量へ満たされるように想定されている。従って、何度
も反復することは必ずしも必要ではない。これらの後者
の実施例では、デコードモジュール702のアドレッシ
ング能力は小さいことが必要である。但し、データバス
110の幅が比較的小さく(例えば、1バイト又は直列
伝送)データバス110からのデータ速度がすこぶる高
速である場合には前者の実施例は有利であるかもしれな
い。
514がその総データ容量の一定部分(例えばワードも
しくはバイト)によってアドレス指定可能となるように
想定している。このようにして、各レジスタが何度も反
復して選択され、全てのレジスタが満たされるまで小量
のデータをゲートインするように、データはこれらのレ
ジスタ内へゲートされる。他の実施例は、データがレジ
スタ内へゲートされる毎に、そのレジスタはそのデータ
容量へ満たされるように想定されている。従って、何度
も反復することは必ずしも必要ではない。これらの後者
の実施例では、デコードモジュール702のアドレッシ
ング能力は小さいことが必要である。但し、データバス
110の幅が比較的小さく(例えば、1バイト又は直列
伝送)データバス110からのデータ速度がすこぶる高
速である場合には前者の実施例は有利であるかもしれな
い。
【0059】何れのレジスタがデータをゲートインする
べきかを指示する制御バス308を使用する他に、本発
明の実施例はデータインゲートライン720を使用する
ことを想定している。データインゲートライン720は
タイミング信号として使用され、選択されたレジスタを
して実際にデータをゲートインする。
べきかを指示する制御バス308を使用する他に、本発
明の実施例はデータインゲートライン720を使用する
ことを想定している。データインゲートライン720は
タイミング信号として使用され、選択されたレジスタを
して実際にデータをゲートインする。
【0060】ストライピングされたデータを多数の記憶
装置106に対して並行に転送する場合、多数の信号を
同時に切替えようと試みる際に種々の問題が生じ得る。
これらの諸問題はインダクタンスのために不都合なノイ
ズが発生することを含む。本発明の実施例では、記憶装
置106に対するデータの転送をスタガリングする(ず
らす)ことによってこの同時切替えの問題を緩和する一
方、上記の利点を依然維持することができる。これらの
問題に取組む本発明の実施例を図7について説明する。
装置106に対して並行に転送する場合、多数の信号を
同時に切替えようと試みる際に種々の問題が生じ得る。
これらの諸問題はインダクタンスのために不都合なノイ
ズが発生することを含む。本発明の実施例では、記憶装
置106に対するデータの転送をスタガリングする(ず
らす)ことによってこの同時切替えの問題を緩和する一
方、上記の利点を依然維持することができる。これらの
問題に取組む本発明の実施例を図7について説明する。
【0061】再び図7について述べると、交互になった
ストライピングバッファを使用する構想が再び示されて
いる。更に、図7はまた、第1のマルチプレクサ・セッ
ト716と第2のマルチプレクサ・セット718を使用
する実施例も示す。これらのマルチプレクサ・セット
は、それぞれ第1のストライピングバッファ502と第
2のストライピングバッファ503に対応する。それぞ
れのマルチプレクサ・セットの内部には一連のマルチプ
レクサ714が存在する。本発明の実施例ではマルチプ
レクサ714の数はレジスタ514の数に対応する。
ストライピングバッファを使用する構想が再び示されて
いる。更に、図7はまた、第1のマルチプレクサ・セッ
ト716と第2のマルチプレクサ・セット718を使用
する実施例も示す。これらのマルチプレクサ・セット
は、それぞれ第1のストライピングバッファ502と第
2のストライピングバッファ503に対応する。それぞ
れのマルチプレクサ・セットの内部には一連のマルチプ
レクサ714が存在する。本発明の実施例ではマルチプ
レクサ714の数はレジスタ514の数に対応する。
【0062】ストライピングバッファ内のレジスタ51
4が、(一杯になったかデータバス110からのデータ
が最早存在しないために)出力用に選択されると、スト
ライピングバッファ内の各レジスタ514からのデータ
の半分がまず転送される。かくして、各レジスタはデュ
アルサイクルモードで使用される。このため、ストライ
ピングバッファのレジスタ514からのデータの全てが
一時に記憶装置106へ転送された場合、発生する同時
切替え量が低下する。
4が、(一杯になったかデータバス110からのデータ
が最早存在しないために)出力用に選択されると、スト
ライピングバッファ内の各レジスタ514からのデータ
の半分がまず転送される。かくして、各レジスタはデュ
アルサイクルモードで使用される。このため、ストライ
ピングバッファのレジスタ514からのデータの全てが
一時に記憶装置106へ転送された場合、発生する同時
切替え量が低下する。
【0063】上記構想を実施するために、本発明の実施
例は、転送半選択ライン722を使用して、出力用に選
択されたストライピングバッファ内のレジスタの何れの
部分がデータを転送すべきかを指示するものと想定して
いる。かくして、マルチプレクサ714はバルブの役割
を演じ、それぞれのレジスタ514の最初の半分を開
き、その後、第2の半分を開く。図5について論じた実
施例の場合と同様、ストライピングバッファマルチプレ
クサ510は、出力用に選択されたストライピングバッ
ファ内のレジスタ514からのデータのみを記憶装置1
06へ転送することができる。
例は、転送半選択ライン722を使用して、出力用に選
択されたストライピングバッファ内のレジスタの何れの
部分がデータを転送すべきかを指示するものと想定して
いる。かくして、マルチプレクサ714はバルブの役割
を演じ、それぞれのレジスタ514の最初の半分を開
き、その後、第2の半分を開く。図5について論じた実
施例の場合と同様、ストライピングバッファマルチプレ
クサ510は、出力用に選択されたストライピングバッ
ファ内のレジスタ514からのデータのみを記憶装置1
06へ転送することができる。
【0064】かくして、上記実施例では、マルチプレク
サ714は、まず、レジスタ514の最初の半分から、
次にその第2の半分からデータを転送する。然しなが
ら、レジスタ514はそれぞれマルチプレクサ714に
よって2より大きな数の部分に分割できることを理解さ
れたい。
サ714は、まず、レジスタ514の最初の半分から、
次にその第2の半分からデータを転送する。然しなが
ら、レジスタ514はそれぞれマルチプレクサ714に
よって2より大きな数の部分に分割できることを理解さ
れたい。
【0065】本発明の動作方法の実施例を図8のフロー
チャートを使用して解説する。図8について述べると、
ブロック802で示すように、構成レジスタ706がま
ずセットされる。ブロック804に示すように、第1の
ストライピングバッファ502が入力用に選択され、 I
F ADR REG 704がリセットされる。
チャートを使用して解説する。図8について述べると、
ブロック802で示すように、構成レジスタ706がま
ずセットされる。ブロック804に示すように、第1の
ストライピングバッファ502が入力用に選択され、 I
F ADR REG 704がリセットされる。
【0066】上記の発明の背景の部分で示したように、
データはデータバス110を介してバースト形で受取ら
れることが多い。かくして、本実施例ではブロック80
6によって示すように、データバーストが待機されるこ
とになる。
データはデータバス110を介してバースト形で受取ら
れることが多い。かくして、本実施例ではブロック80
6によって示すように、データバーストが待機されるこ
とになる。
【0067】一たびデータバーストが開始されると、デ
ータはブロック808によって示されるように選択レジ
スタ内へゲートされる。このプロセスが開始されると、
第1のレジスタは第1のストライピングバッファ内のレ
ジスタ1であると想定される。
ータはブロック808によって示されるように選択レジ
スタ内へゲートされる。このプロセスが開始されると、
第1のレジスタは第1のストライピングバッファ内のレ
ジスタ1であると想定される。
【0068】本発明の実施例では、次のステップはデー
タをゲートインする次のレジスタを選択する作用を伴
う。このことはブロック810によって示されるよう
に、 IFADR REG 704を増分することによって行われ
る。その後、本発明は使用中の入力用に選択されたスト
ライピングバッファ内の全レジスタ514が一杯である
かどうかを判断する。これは判断ブロック812により
示される。判断ブロック814とブロック808により
示されるように、もしこれら全てのレジスタ514が一
杯でなくデータバーストが終了していなければ、データ
は選択レジスタ内へとゲートされることになろう。
タをゲートインする次のレジスタを選択する作用を伴
う。このことはブロック810によって示されるよう
に、 IFADR REG 704を増分することによって行われ
る。その後、本発明は使用中の入力用に選択されたスト
ライピングバッファ内の全レジスタ514が一杯である
かどうかを判断する。これは判断ブロック812により
示される。判断ブロック814とブロック808により
示されるように、もしこれら全てのレジスタ514が一
杯でなくデータバーストが終了していなければ、データ
は選択レジスタ内へとゲートされることになろう。
【0069】然しながら、もし入力用に選択されたスト
ライピングバッファ内のレジスタ514が一杯でない
が、バーストが終了した場合には、データは記憶装置1
06へと転送されねばならない。これはデータバス11
0を介して受取られるべきデータが最早存在しないため
である。その結果、本発明はデータバーストを再び待機
する806と同時にデータを記憶装置106へ転送する
ことになろう。
ライピングバッファ内のレジスタ514が一杯でない
が、バーストが終了した場合には、データは記憶装置1
06へと転送されねばならない。これはデータバス11
0を介して受取られるべきデータが最早存在しないため
である。その結果、本発明はデータバーストを再び待機
する806と同時にデータを記憶装置106へ転送する
ことになろう。
【0070】本発明のある実施例においては上記プロセ
スは上記の如きもう1つのデータバーストを待機せずに
単に中断することになるものも存在することを理解され
たい。更に、本発明のある実施例ではデータがデータチ
ャネル110を介して定常的な流れで受取られるような
環境を想定している。かかる状況では、図8に関して論
じたプロセスはデータバーストを待機する必要が存在し
ない点で連続的なものとなろう。
スは上記の如きもう1つのデータバーストを待機せずに
単に中断することになるものも存在することを理解され
たい。更に、本発明のある実施例ではデータがデータチ
ャネル110を介して定常的な流れで受取られるような
環境を想定している。かかる状況では、図8に関して論
じたプロセスはデータバーストを待機する必要が存在し
ない点で連続的なものとなろう。
【0071】データを記憶装置106へ同時に転送する
ことに関して、レジスタ514の最初の半分が選択さ
れ、出力用に選択されたストライピングバッファ中のレ
ジスタ514からのデータは記憶装置106へ転送され
る。このことはブロック820により示される。その
後、レジスタ514の第2の半分が選択され、その第2
の半分中のデータはブロック822によって示されるよ
うに記憶装置106へ転送される。これらの実施例にお
けるデータは記憶装置106へ全く並行に転送される
が、それにもかかわらず、実質上同時に転送してパリテ
ィ情報の生成を容易にすることができる。
ことに関して、レジスタ514の最初の半分が選択さ
れ、出力用に選択されたストライピングバッファ中のレ
ジスタ514からのデータは記憶装置106へ転送され
る。このことはブロック820により示される。その
後、レジスタ514の第2の半分が選択され、その第2
の半分中のデータはブロック822によって示されるよ
うに記憶装置106へ転送される。これらの実施例にお
けるデータは記憶装置106へ全く並行に転送される
が、それにもかかわらず、実質上同時に転送してパリテ
ィ情報の生成を容易にすることができる。
【0072】判断ブロック812について再度言及する
と、もしレジスタ514全部が一杯の場合、ブロック8
16によって示されるように、 IF ADRREG 704がリ
セットされ、ストライピングバッファの状態はトルグさ
れる(即ち、先に入力用に選択されたストライピングバ
ッファが今や出力用に選択され、逆の場合は逆であ
る)。出力用に選択されたストライピングバッファのレ
ジスタ514内のデータは、ブロック820と822に
よって示されるように記憶装置106へ転送される。
と、もしレジスタ514全部が一杯の場合、ブロック8
16によって示されるように、 IF ADRREG 704がリ
セットされ、ストライピングバッファの状態はトルグさ
れる(即ち、先に入力用に選択されたストライピングバ
ッファが今や出力用に選択され、逆の場合は逆であ
る)。出力用に選択されたストライピングバッファのレ
ジスタ514内のデータは、ブロック820と822に
よって示されるように記憶装置106へ転送される。
【0073】ブロック820と822について発生する
作用と並行して、判断ブロック818により示されるよ
うに、本発明はデータバーストが終了したかどうかを見
るためにチェックする。この状況は、もし入力用に選択
されたストライピングバッファ内の全レジスタ514
が、データバス110から受取られるデータが停止した
時に一杯である場合に生ずることになろう。
作用と並行して、判断ブロック818により示されるよ
うに、本発明はデータバーストが終了したかどうかを見
るためにチェックする。この状況は、もし入力用に選択
されたストライピングバッファ内の全レジスタ514
が、データバス110から受取られるデータが停止した
時に一杯である場合に生ずることになろう。
【0074】もし本発明がデータバーストが事実上終了
したと判断すれば、ブロック806により示されるよう
にもう1つのデータバーストを待機する。もしバースト
が終了していなければ、ブロック808で示されるよう
に、データは選択されたレジスタ内へゲートされる。本
発明の実施例では、この選択されたレジスタは入力用に
選択されるストライピングバッファ内の最初のレジスタ
であろう。
したと判断すれば、ブロック806により示されるよう
にもう1つのデータバーストを待機する。もしバースト
が終了していなければ、ブロック808で示されるよう
に、データは選択されたレジスタ内へゲートされる。本
発明の実施例では、この選択されたレジスタは入力用に
選択されるストライピングバッファ内の最初のレジスタ
であろう。
【0075】IV. 特殊利点ならびに実施例 本発明の想定する特殊例は、データバス110がそれぞ
れ4バイト幅の2本のデータラインより構成されること
を伴う。そのため、本発明は同時に8バイトを受取るこ
とになる。また、これら実施例ではそれぞれのレジスタ
が8バイトの容量を有することも想定している。このよ
うにすることによって、データバス110を介して同時
に到着する8バイトの各々が選択レジスタ内へゲートさ
れると、そのデータはレジスタの容量一杯に満たされる
ことになる。そのため、入力用にレジスタ514を多数
反復して選択することは不要となる。
れ4バイト幅の2本のデータラインより構成されること
を伴う。そのため、本発明は同時に8バイトを受取るこ
とになる。また、これら実施例ではそれぞれのレジスタ
が8バイトの容量を有することも想定している。このよ
うにすることによって、データバス110を介して同時
に到着する8バイトの各々が選択レジスタ内へゲートさ
れると、そのデータはレジスタの容量一杯に満たされる
ことになる。そのため、入力用にレジスタ514を多数
反復して選択することは不要となる。
【0076】上記実施例の一定の実施例では、レジスタ
514は”論理”レジスタのみで、それぞれ4個のスト
ライパーチップの間に物理的に均一に分割される。即
ち、もしそれぞれの論理レジスタが8バイトを有してお
れば、各レジスタの4分の1(即ち、2バイト)がそれ
ぞれのチップ上に発見されることになる。このことは同
時切替を更に軽減するために行われる。
514は”論理”レジスタのみで、それぞれ4個のスト
ライパーチップの間に物理的に均一に分割される。即
ち、もしそれぞれの論理レジスタが8バイトを有してお
れば、各レジスタの4分の1(即ち、2バイト)がそれ
ぞれのチップ上に発見されることになる。このことは同
時切替を更に軽減するために行われる。
【0077】上記実施例におけるデータの編成と転送
は、図9(A)と図9(B)について更に十分に説明す
ることができる。これら図面の両方に示されるデータは
1個のストライピングバッファからのデータを表わす。
は、図9(A)と図9(B)について更に十分に説明す
ることができる。これら図面の両方に示されるデータは
1個のストライピングバッファからのデータを表わす。
【0078】まず図9(B)について述べると、9個の
記憶装置が使用されているものと想定されている。従っ
て、9個のレジスタが使用されているわけである。
記憶装置が使用されているものと想定されている。従っ
て、9個のレジスタが使用されているわけである。
【0079】同図より理解できるように、最初の8バイ
トはレジスタ1へ配置される。更に、これは8バイトが
データバス110を介して同時に送られたためである
(いいかえると、本例のデータバス110は8バイトの
幅を有する)。レジスタ2はその後、次の8バイトを取
得する等のことが行われる。
トはレジスタ1へ配置される。更に、これは8バイトが
データバス110を介して同時に送られたためである
(いいかえると、本例のデータバス110は8バイトの
幅を有する)。レジスタ2はその後、次の8バイトを取
得する等のことが行われる。
【0080】データバス110がそれぞれのレジスタの
容量よりも小さな幅を有するような例では、データは先
の図に関して説明したように多数反復法を活用してレジ
スタへ分散させることができよう。更にこれらの例で
は、それぞれのレジスタが、次の入力用レジスタを選択
する前にその容量一杯まで満たされるように想定するこ
ともできる。
容量よりも小さな幅を有するような例では、データは先
の図に関して説明したように多数反復法を活用してレジ
スタへ分散させることができよう。更にこれらの例で
は、それぞれのレジスタが、次の入力用レジスタを選択
する前にその容量一杯まで満たされるように想定するこ
ともできる。
【0081】データは論理レジスタ上に配置することが
できるが、データは物理的に上記の如くストライパーチ
ップ上に存在する。図9(B)によって示される実施例
では、ストライパーチップAは論理レジスタ1からのバ
イト0と4を含み、ストライパーチップBはバイト1と
5を含むことになろう。データが記憶装置106へ転送
されると、”サイクル1”と命名されたバイト群は、ま
ず、上記マルチプレクサ配列を使用して転送され、”サ
イクル2”と命名されたバイト群はその後に転送され
る。このようにすることによって、論理レジスタ内のデ
ータの半分はサイクル1中に効果的に転送され、その
際、残りのデータはサイクル2中に転送されることにな
る。
できるが、データは物理的に上記の如くストライパーチ
ップ上に存在する。図9(B)によって示される実施例
では、ストライパーチップAは論理レジスタ1からのバ
イト0と4を含み、ストライパーチップBはバイト1と
5を含むことになろう。データが記憶装置106へ転送
されると、”サイクル1”と命名されたバイト群は、ま
ず、上記マルチプレクサ配列を使用して転送され、”サ
イクル2”と命名されたバイト群はその後に転送され
る。このようにすることによって、論理レジスタ内のデ
ータの半分はサイクル1中に効果的に転送され、その
際、残りのデータはサイクル2中に転送されることにな
る。
【0082】図9(A)は8個の記憶装置のみが使用さ
れると想定される点を除けば、図9(B)と同一であ
る。かくして、本図に示すようにレジスタ9には何らの
データも送られない。
れると想定される点を除けば、図9(B)と同一であ
る。かくして、本図に示すようにレジスタ9には何らの
データも送られない。
【0083】使用されるレジスタ514は極性保持フリ
ップフロップを含むことが先に示された。然しながら、
他の形式のフリップフロップを含むレジスタを使用でき
ることも理解されたい。デュアルポートRAMの如き種
々のタイプのRAMも使用することができよう。
ップフロップを含むことが先に示された。然しながら、
他の形式のフリップフロップを含むレジスタを使用でき
ることも理解されたい。デュアルポートRAMの如き種
々のタイプのRAMも使用することができよう。
【0084】本発明の実施例では、本発明を支配する論
理はASIC VLSIテクノロジーによって制御され
ることが想定されている。同様にして、多数の同一チッ
プを使用することも想定されている。例えば、本発明の
実施例は、それぞれの構成要素が、互いに調和して動作
する4個の同一チップの間に均一に分割されることも想
定している。このことによって各々がそれぞれのレジス
タの一部(上記した)を有する4個のストライパーチッ
プを使用する構想から、本発明に使用される全構成要素
の一部を有する4個のチップを使用する構想へと拡大さ
れる。
理はASIC VLSIテクノロジーによって制御され
ることが想定されている。同様にして、多数の同一チッ
プを使用することも想定されている。例えば、本発明の
実施例は、それぞれの構成要素が、互いに調和して動作
する4個の同一チップの間に均一に分割されることも想
定している。このことによって各々がそれぞれのレジス
タの一部(上記した)を有する4個のストライパーチッ
プを使用する構想から、本発明に使用される全構成要素
の一部を有する4個のチップを使用する構想へと拡大さ
れる。
【0085】本発明はソフトウエア例で実現可能である
ことを理解されたい。かかる実施例では、ソフトウエア
中で種々の構成要素とステップを実現することによって
本発明の機能を実行することになろう。今日利用可能
な、もしくは将来開発されるコンピュータソフトウエア
言語は何れも本発明のかかるソフトウエア例中で使用す
ることができる。
ことを理解されたい。かかる実施例では、ソフトウエア
中で種々の構成要素とステップを実現することによって
本発明の機能を実行することになろう。今日利用可能
な、もしくは将来開発されるコンピュータソフトウエア
言語は何れも本発明のかかるソフトウエア例中で使用す
ることができる。
【0086】
【発明の効果】上記に説明したように、本発明の方法
は、RAMの如き稠密バッファを使用する際に複雑なア
ドレッシング方式を必要とせずに、データをストライピ
ングして可変数の記憶装置を収納することが可能であ
る。従って、パリティデータの生成及び空間の保存(即
ち、最小量のバッファリングを活用すること)が容易に
なる。
は、RAMの如き稠密バッファを使用する際に複雑なア
ドレッシング方式を必要とせずに、データをストライピ
ングして可変数の記憶装置を収納することが可能であ
る。従って、パリティデータの生成及び空間の保存(即
ち、最小量のバッファリングを活用すること)が容易に
なる。
【図1】多数の記憶装置を有する記憶設備のブロック線
図である。
図である。
【図2】稠密バッファの線図である。
【図3】本発明の実施例のハイレベルブロック線図であ
る。
る。
【図4】本発明の実施例により想定される方法のハイレ
ベル工程系統図である。
ベル工程系統図である。
【図5】デュアルストライピングバッファを有する本発
明の実施例のブロック線図である。
明の実施例のブロック線図である。
【図6】デュアルストライピングバッファが使用される
本発明の実施例により想定される方法の工程系統図であ
る。
本発明の実施例により想定される方法の工程系統図であ
る。
【図7】デュアルサイクルレジスタを有する本発明の実
施例のブロック線図である。
施例のブロック線図である。
【図8】デュアルサイクルレジスタが使用される本発明
の実施例により想定される方法の工程系統図である。
の実施例により想定される方法の工程系統図である。
【図9】レジスタ内に記憶されたデータが種々の実施例
中で幾つかのストライパーチップ間に如何にして分割さ
れるかを示す線図である。
中で幾つかのストライパーチップ間に如何にして分割さ
れるかを示す線図である。
102 ホストコンピュータ 104 ストライパー 106 記憶装置 110 データバス 308 制御バス 302 バッファ選択制御部 304 バッファ 306 転送制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ジョゼフ ヤグリー、 ジュニ ア アメリカ合衆国13760、ニューヨーク州エ ンディコット、レオン ドライヴ 580 (72)発明者 マーク ジェイムズ ウォルスキ アメリカ合衆国13850、ニューヨーク州ヴ ェスタル、ハゼル ドライヴ 116 (72)発明者 アンドリュー エドワード ペトルスキ アメリカ合衆国13760、ニューヨーク州エ ンディコット、ヴェスタル アヴェニュー 110、アパートメント イー2 (72)発明者 ジョゼフィン アン ボストン アメリカ合衆国12590、ニューヨーク州ワ ッピンガーズ フォールズ、ポーレッテ レイン 14 (56)参考文献 特開 昭61−62920(JP,A)
Claims (23)
- 【請求項1】 データバスからのデータを可変数の記憶
装置へストライピングするためのシステムであって、外部源によって送信されると共に 使用されるべき記憶装
置の数を指示する信号を受信する記憶装置選択手段と、 複数のバッファを含み、データバスからゲートインされ
たデータをバッファリングするデータ収集手段と、 前記記憶装置選択手段で受信された信号に呼応して、前
記複数のバッファから選択されたバッファを選択する手
段であって、前記選択されたバッファのそれぞれは使用
されるべき前記記憶装置の1つに対応するようなバッフ
ァ選択手段と、 前記バッファ選択手段に呼応して、データバスからのデ
ータを前記選択されたバッファ内へシーケンシャルにス
トライピングしてバッファリングされたデータを形成す
るストライピング手段と、 前記選択されたバッファが一杯になった時を検出すると
共に、データバスからのデータが最早送られない時を指
示する検出手段と、 前記検出手段に呼応して、前記バッファリングされたデ
ータを前記選択されたバッファから使用されるべき前記
記憶装置全てへ並行に転送する転送手段と、を含み、 前記バッファ選択手段が前記ストライピング手段と前記
転送手段を制御すること、 を含むデータのストライピングシステム。 - 【請求項2】 前記複数のバッファはレジスタから成る
請求項1のデータのストライピングシステム。 - 【請求項3】 前記レジスタはそれぞれ、データバスの
幅に等しいデータ容量を有する請求項2のデータのスト
ライピングシステム。 - 【請求項4】 前記転送手段は、転送状態マシーンと、
ストライピングバッファマルチプレクサとを備える請求
項1のデータのストライピングシステム。 - 【請求項5】 データバスから可変数の記憶装置へデー
タをストライピングするシステムであって、使用されるべき 記憶装置の数を指示する信号を受取る記
憶装置選択手段と、 それぞれが複数のバッファを含みデータバスからゲート
インされたデータをバッファリングする2個のデータ収
集手段と、 前記記憶装置選択手段に呼応して、前記複数のバッファ
から選択されたバッファを選択する手段であって、前記
データ収集手段の各々における前記選択されたバッファ
の各々が、使用されるべき前記記憶装置の1つに対応す
るようなバッファ選択手段と、 前記データ収集手段の1つを交互に入力用に選択する一
方、前記データ収集手段の他方を出力用に選択するため
のトグル手段と、 前記バッファ選択手段に呼応して、データバスから前記
トグル手段によって入力用に選択された前記データ収集
手段内の前記選択バッファ内へデータをゲートインする
手段であって、データバスからのデータは入力用に選択
された前記データ収集手段内の前記選択バッファ内へシ
ーケンシャルにゲートされてバッファリングされたデー
タを構成するようなゲーティング手段と、 入力用に選択された前記データ収集手段内の選択バッフ
ァが何時データで一杯になったかを検出し、入力用に選
択された前記データ収集手段内の前記選択バッファへ入
力用データバスから最早データが送られない時を指示す
る手段であって、前記入力用に選択されたデータ収集手
段内の選択バッファが一杯であるか、データバスから送
られるデータが最早存在しない時に、前記トグル手段が
入力用に選択された前記データ収集手段を選択して出力
用に選択されるようにし、出力用に選択された前記デー
タ収集手段が入力用に選択されるようにする検出手段
と、 前記トグル手段に呼応して、出力用に選択された前記デ
ータ収集手段内の前記バッファリングされたデータを前
記使用されるべき全記憶装置に対して並行に転送する手
段であって、前記ゲーティング手段と並行して機能する
ような転送手段と、 を含むデータのストライピングシステム。 - 【請求項6】 前記複数のバッファの各々の部分は個別
的にアドレッシング可能な請求項5のデータのストライ
ピングシステム。 - 【請求項7】 前記複数のバッファはレジスタから成る
請求項5のデータのストライピングシステム。 - 【請求項8】 前記レジスタはそれぞれ、データバスの
幅に等しいデータ容量を有する請求項6のデータのスト
ライピングシステム。 - 【請求項9】 前記ゲーティング手段は、ASIC V
LSIテクノロジーを使用して制御される請求項5のデ
ータのストライピングシステム。 - 【請求項10】 データバスから可変数の記憶装置へデ
ータをストライピングするシステムであって、 使用されるべき記憶装置の数を指示する信号を受取る記
憶装置選択手段と、 それぞれが複数のバッファを含みデータバスからゲート
インされたデータをバッファリングする2個のデータ収
集手段と、 前記記憶装置選択手段に呼応して、前記複数のバッファ
から選択されたバッファを選択する手段であって、前記
データ収集手段の各々における前記選択されたバッファ
の各々が、使用されるべき前記記憶装置の1つに対応す
るようなバッファ選択手段と、 前記データ収集手段の1つを交互に入力用に選択する一
方、前記データ収集手段の他方を出力用に選択するため
のトグル手段と、 前記バッファ選択手段に呼応して、データバスから前記
トグル手段によって入力用に選択された前記データ収集
手段内の前記選択バッファ内へデータをゲートインする
手段であって、データバスからのデータは入力用に選択
された前記データ収集手段内の前記選択バッファ内へシ
ーケンシャルにゲートされてバッファリングされたデー
タを構成するようなゲーティング手段と、 入力用に選択された前記データ収集手段内の選択バッフ
ァが何時データで一杯になったかを検出し、入力用に選
択された前記データ収集手段内の前記選択バッファへ入
力用データバスから最早データが送られない時を指示す
る手段であって、前記入力用に選択されたデータ収集手
段内の選択バッファが一杯であるか、データバスから送
られるデータが最早存在しない時に、前記トグル手段が
入力用に選択された前記データ収集手段を選択して出力
用に選択されるようにし、出力用に選択された前記デー
タ収集手段が入力用に選択されるようにする検出手段
と、 前記トグル手段に呼応して、出力用に選択された前記デ
ータ収集手段内の前記バッファリングされたデータを使
用されるべき前記記憶装置全てへ転送する手段であっ
て、前記バッファリングされたデータの転送は、出力用
に選択された前記データ収集手段の前記バッファリング
されたデータの一定部分のみが一時に転送されるように
スタガリングされており、前記ゲーティング手段と並行
して機能するような転送手段と、 を含むデータのストライピングシステム。 - 【請求項11】 前記複数のバッファはレジスタから成
る請求項10のデータのストライピングシステム。 - 【請求項12】 前記レジスタはそれぞれ、データバス
の幅に等しいデータ容量を有する請求項11のデータの
ストライピングシステム。 - 【請求項13】 前記レジスタは複数のストライパーチ
ップ間で物理的に分割される請求項11のデータのスト
ライピングシステム。 - 【請求項14】 前記複数のバッファの各部分が個別的
にアドレッシング可能である請求項10のデータのスト
ライピングシステム。 - 【請求項15】 前記バッファリングされたデータがマ
ルチプレクサを使用してスタガリングされる請求項10
のデータのストライピングシステム。 - 【請求項16】 データバスから可変数の記憶装置へデ
ータをストライピングする方法であって、 (1)外部源より送信されると共に使用さるべき記憶装
置の数を指示する信号を受信するステップと、 (2)前記受信された信号に応答してバッファ選択手段
により使用さるべき記憶装置にそれぞれ対応する複数の
バッファからバッファをシーケンシャルに選択するステ
ップと、 (3)データバスから送られるデータをストライピング
手段により前記ステップ(2)の前記選択されたバッフ
ァ内へストライピングして、バッファリングされたデー
タを構成するステップと、 (4)前記ステップ(2)の前記複数バッファの各々が
データで一杯になるか、データバスから入力用に送られ
るデータが最早存在しなくなるまで、前記ステップ
(2)と(3)を繰返すステップと、 (5)前記ステップ(2)の前記複数のバッファから前
記バッファリングされたデータの少なくとも一部分を転
送手段により記憶装置へ並行に転送するステップと、を含み、 前記バッファ選択手段が前記ストライピング手段及び前
記転送手段を制御すること、 を含むデータのストライピング方法。 - 【請求項17】 前記ステップ(3)は前記選択された
バッファの容量に等しいデータをゲートするステップを
更に含む請求項16のデータのストライピング方法。 - 【請求項18】 前記ステップ(2)は、前記複数のバ
ッファとして複数のレジスタを使用するステップを更に
含む請求項16のデータのストライピング方法。 - 【請求項19】 前記ステップ(3)は、前記複数のバ
ッファの各部分に対して個別的にアドレッシングするス
テップを更に含む請求項16のデータのストライピング
方法。 - 【請求項20】 データバスからデータを可変数の記憶
装置へストライピングする方法において、 (1)使用さるべき記憶装置の数を受取るステップと、 (2)それぞれが複数のバッファを含む複数のストライ
ピングバッファから、入力用の1つもしくはそれ以上の
ストライピングバッファと、出力用の1つもしくはそれ
以上のストライピングバッファとを選択するステップ
と、 (3)入力用に選択された前記1つもしくはそれ以上の
ストライピングバッファからバッファをシーケンシャル
に選択するステップと、 (4)データバスから送られるデータを前記ステップ
(2)の前記バッファ内へゲートして、バッファリング
されたデータを構成するステップと、 (5)前記ステップ(2)の複数のバッファの各々がデ
ータで一杯になるか、データバスから入力用に送られる
データが最早存在しなくなるまで、前記ステップ(3)
と(4)を繰返すステップと、 (6)前記複数のストライピングバッファをトグルし、
その際、入力用に選択された前記1つもしくはそれ以上
のストライピングバッファが出力用に選択され、出力用
に選択された1つもしくはそれ以上のストライピングバ
ッファが入力用に選択されるステップと、 (7)出力用に選択された前記1つもしくはそれ以上の
ストライピングバッファの前記複数のバッファから、前
記ステップ(3)〜(5)と平行して前記バッファリン
グされたデータを転送するステップと、 を含むデータのストライピング方法。 - 【請求項21】 前記ステップ(4)は、前記選択され
たバッファの容量に等しいデータをゲートするステップ
を含む請求項20のデータのストライピング方法。 - 【請求項22】 前記ステップ(3)は、前記複数のバ
ッファとして複数のレジスタを使用するステップを含む
請求項20のデータのストライピング方法。 - 【請求項23】 前記ステップ(4)は、前記複数のバ
ッファの各部分を個別的にアドレッシングするステップ
を含む請求項20のデータのストライピング方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/650,566 US5276808A (en) | 1991-02-04 | 1991-02-04 | Data storage buffer system and method |
| US650566 | 1991-02-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04304546A JPH04304546A (ja) | 1992-10-27 |
| JPH0769770B2 true JPH0769770B2 (ja) | 1995-07-31 |
Family
ID=24609424
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3350097A Expired - Fee Related JPH0769770B2 (ja) | 1991-02-04 | 1991-12-10 | データのストライピングシステム及び方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5276808A (ja) |
| EP (1) | EP0498065B1 (ja) |
| JP (1) | JPH0769770B2 (ja) |
| DE (1) | DE69125815T2 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05307617A (ja) * | 1992-04-28 | 1993-11-19 | Mitsubishi Electric Corp | 半導体装置 |
| US5473755A (en) * | 1992-06-01 | 1995-12-05 | Intel Corporation | System for controlling data stream by changing fall through FIFO last cell state of first component whenever data read out of second component last latch |
| WO1994003857A1 (en) * | 1992-08-10 | 1994-02-17 | Advanced Logic Research, Inc. | Computer interface for concurrently performing plural seeks on plural disk drives |
| US5623669A (en) * | 1993-07-21 | 1997-04-22 | International Business Machines Corporation | High speed online copy of partitioned data |
| US5671439A (en) * | 1995-01-10 | 1997-09-23 | Micron Electronics, Inc. | Multi-drive virtual mass storage device and method of operating same |
| US5745915A (en) * | 1995-03-17 | 1998-04-28 | Unisys Corporation | System for parallel reading and processing of a file |
| US5966733A (en) * | 1997-06-24 | 1999-10-12 | Hewlett-Packard Company | Optimizing data movement with hardware operations |
| DE602004013977D1 (de) | 2003-07-02 | 2008-07-03 | Nxp Bv | Einzelspeicher mit mehrfach-schieberegisterfunktionalität |
| US20130191569A1 (en) * | 2012-01-25 | 2013-07-25 | Qualcomm Incorporated | Multi-lane high-speed interfaces for high speed synchronous serial interface (hsi), and related systems and methods |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1354827A (en) * | 1971-08-25 | 1974-06-05 | Ibm | Data processing systems |
| US3896417A (en) * | 1973-11-30 | 1975-07-22 | Bell Telephone Labor Inc | Buffer store using shift registers and ultrasonic delay lines |
| US4071887A (en) * | 1975-10-30 | 1978-01-31 | Motorola, Inc. | Synchronous serial data adaptor |
| US4408181A (en) * | 1979-04-10 | 1983-10-04 | Tokyo Shibaura Denki Kabushiki Kaisha | Document data filing/retrieval system |
| US4463421A (en) * | 1980-11-24 | 1984-07-31 | Texas Instruments Incorporated | Serial/parallel input/output bus for microprocessor system |
| US4510581A (en) * | 1983-02-14 | 1985-04-09 | Prime Computer, Inc. | High speed buffer allocation apparatus |
| JPS6025090A (ja) * | 1983-07-20 | 1985-02-07 | Hitachi Ltd | 磁気バブルメモリ装置 |
| US4860244A (en) * | 1983-11-07 | 1989-08-22 | Digital Equipment Corporation | Buffer system for input/output portion of digital data processing system |
| JPS6162920A (ja) * | 1984-09-05 | 1986-03-31 | Hitachi Ltd | 磁気デイスク装置システム |
| US4747038A (en) * | 1984-10-04 | 1988-05-24 | Honeywell Bull Inc. | Disk controller memory address register |
| US4807184A (en) * | 1986-08-11 | 1989-02-21 | Ltv Aerospace | Modular multiple processor architecture using distributed cross-point switch |
| US4866601A (en) * | 1987-09-24 | 1989-09-12 | Ncr Corporation | Digital data bus architecture for computer disk drive controller |
| US5089951A (en) * | 1987-11-05 | 1992-02-18 | Kabushiki Kaisha Toshiba | Microcomputer incorporating memory |
| US4991084A (en) * | 1988-02-05 | 1991-02-05 | International Business Machines Corporation | N×M round robin order arbitrating switching matrix system |
| US4903240A (en) * | 1988-02-16 | 1990-02-20 | Tektronix, Inc. | Readout circuit and method for multiphase memory array |
| US4956771A (en) * | 1988-05-24 | 1990-09-11 | Prime Computer, Inc. | Method for inter-processor data transfer |
-
1991
- 1991-02-04 US US07/650,566 patent/US5276808A/en not_active Expired - Lifetime
- 1991-12-10 EP EP91121149A patent/EP0498065B1/en not_active Expired - Lifetime
- 1991-12-10 DE DE69125815T patent/DE69125815T2/de not_active Expired - Fee Related
- 1991-12-10 JP JP3350097A patent/JPH0769770B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0498065A2 (en) | 1992-08-12 |
| DE69125815D1 (de) | 1997-05-28 |
| EP0498065B1 (en) | 1997-04-23 |
| US5276808A (en) | 1994-01-04 |
| EP0498065A3 (en) | 1993-03-24 |
| DE69125815T2 (de) | 1997-10-23 |
| JPH04304546A (ja) | 1992-10-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5185876A (en) | Buffering system for dynamically providing data to multiple storage elements | |
| US5822251A (en) | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers | |
| US6421274B1 (en) | Semiconductor memory device and reading and writing method thereof | |
| US5844855A (en) | Method and apparatus for writing to memory components | |
| JP5927263B2 (ja) | ホストコンピュータシステムとメモリとの間の通信方法およびメモリ | |
| US5289418A (en) | Memory apparatus with built-in parity generation | |
| US6031787A (en) | Apparatus for providing additional latency for synchronously accessed memory | |
| JPH0363096B2 (ja) | ||
| KR20100077026A (ko) | 직렬 인터페이스 nand | |
| JP2004005613A (ja) | 専用フラッシュコントローラを使用してフラッシュベースストレージシステムの性能を改善するための方法 | |
| JPS6362054A (ja) | 多チャンネル・メモリ・アクセス回路 | |
| JPH08129890A (ja) | 半導体記憶装置 | |
| JPH0769770B2 (ja) | データのストライピングシステム及び方法 | |
| US6560669B1 (en) | Double data rate synchronous memory with block-write | |
| JP2998995B2 (ja) | ブロックアクセスアプリケーションのための半導体メモリ装置 | |
| EP0437160B1 (en) | Main storage memory cards having single bit set and reset functions | |
| EP0036483B1 (en) | Information transfer between a main storage and a cyclic bulk memory in a data processing system | |
| JPH02120960A (ja) | データを転送するためのおよびデータ転送周期の期間を減少させるための方法 | |
| JPH0256760B2 (ja) | ||
| KR100571435B1 (ko) | 메모리 디바이스 및 그 어드레스 지정 방법 | |
| US5875458A (en) | Disk storage device | |
| JP2917188B2 (ja) | アレイ型ディスクシステムにおける書き込み制御方式 | |
| JP2577604Y2 (ja) | 画像メモリ・データ演算装置 | |
| JPH07319840A (ja) | マルチcpu装置 | |
| JP2707723B2 (ja) | Fddの状態設定回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |