JPH086843A - 半導体記憶装置 - Google Patents

半導体記憶装置

Info

Publication number
JPH086843A
JPH086843A JP6142033A JP14203394A JPH086843A JP H086843 A JPH086843 A JP H086843A JP 6142033 A JP6142033 A JP 6142033A JP 14203394 A JP14203394 A JP 14203394A JP H086843 A JPH086843 A JP H086843A
Authority
JP
Japan
Prior art keywords
data
block
memory
memory block
address
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.)
Withdrawn
Application number
JP6142033A
Other languages
English (en)
Inventor
Yumiko Nagasawa
由美子 長澤
Shigeyuki Maeda
繁幸 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6142033A priority Critical patent/JPH086843A/ja
Publication of JPH086843A publication Critical patent/JPH086843A/ja
Priority to US08/937,215 priority patent/US5991859A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 本発明は半導体記憶装置に関し、半導体記憶
装置の運用を停止させることなく、論理ボリュームの構
成を変更できることを目的とする。 【構成】 複数の論理ボリュームに分割された半導体メ
モリ14,15を有し、接続されている上位装置が、前
記論理ボリュームに対してアクセス手段11を介して読
み書きのアクセスを行う半導体記憶装置において、デー
タ移動手段13は、論理ボリュームの構成変更に際し
て、データの移動処理用のメモリブロックテーブル17
と、データ移動用バッファを18,19を用いて、構成
変更対象の論理ボリューム中のメモリブロック単位で、
必要なデータの移動を行う。アクセス制御手段12は、
上位装置の目的アドレスへのアクセス用に、アクセス指
示テーブルを管理し、上位装置からのアクセスを正常に
行わせる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は半導体記憶装置に係り、
特に、ホストコンピュータ等に接続されて、半導体メモ
リを複数の論理ボリュームに分割して運用される半導体
記憶装置に関する。
【0002】半導体記憶装置では、運用を停止せずに、
論理ボリュームの構成を変更できることが必要とされて
いる。
【0003】
【従来の技術】半導体メモリを複数の論理ボリュームに
分割して運用される、従来の半導体記憶装置では、論理
ボリュームの構成を変更する場合、一度、半導体記憶装
置の運用を停止し、半導体メモリ内のデータを磁気テー
プ装置等に退避した後、論理ボリュームの構成を変更
し、この後、磁気テープ装置等の退避したデータを半導
体メモリ内に復元するという作業を必要とする。
【0004】
【発明が解決しようとする課題】従来の半導体記憶装置
では、半導体メモリを増設して既存論理ボリュームの拡
張を行う場合、論理ボリュームの構成の全面的な変更作
業が必要となり、その度に、半導体記憶装置の運用の停
止、データの退避等の作業が必要となるという問題があ
る。また、データの退避作業時には、ホストコンピュー
タを使用するため、ホストコンピュータも停止する必要
があるという問題がある。
【0005】この問題を解決するために、増設した半導
体メモリに拡張分の論理ボリュームを割り当てて、既存
の論理ボリュームとリンクして使用する方法が考えられ
ている。しかし、この方法でも、論理ボリュームのリン
クが作成できる数に限界があるため、リンクの数が限界
に達する前に論理ボリュームの構成を全面的に変更しな
おすことが必要となり、その度に半導体記憶装置の運用
の停止、データの退避等の作業が必要となるという問題
がある。
【0006】本発明は、上記の点に鑑みてなされたもの
で、半導体記憶装置の運用を停止させることなく、論理
ボリュームの構成を変更することができる半導体記憶装
置を提供することを目的とする。
【0007】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。請求項1の発明は、複数の論理ボリュームに
分割された半導体メモリ14,15を有し、接続されて
いる上位装置が、前記論理ボリュームに対してアクセス
手段11を介して読み書きのアクセスを行う半導体記憶
装置において、論理ボリュームの構成変更に際して、予
備メモリ内に設けたデータ移動用バッファを18,19
を用いて、構成変更の対象である論理ボリューム中のメ
モリブロック単位で、必要なデータの移動を行うデータ
移動手段13と、前記データの移動中に、上位装置から
のアクセスを正常に行わせるアクセス制御手段12とを
有する構成とする。
【0008】請求項2の発明では、前記半導体メモリ1
4,15は、複数のグループに分割されており、前記ア
クセス11手段は、前記複数のグループ夫々に対して同
一タイミングで同一のデータを書き込む機能を有する構
成とする。
【0009】請求項3の発明では、前記データ移動手段
13は、前記データの移動開始時に、前記各メモリブロ
ックの先頭アドレス,容量,有効データの有無,及び移
動先の先頭アドレスを情報として持つ、メモリブロック
テーブル17を作業用メモリ内に作成し、前記データの
移動処理中に、前記メモリブロックテーブル17を参照
/更新する構成とする。
【0010】請求項4の発明では、前記アクセス制御手
段12は、前記上位装置の目的アドレスへのアクセス用
に、論理ボリュームが有効かどうかの情報、論理ボリュ
ームの総容量、論理ボリューム内に複数のブロックがリ
ンクされて存在する場合の、各ブロックごとの先頭アド
レス及び容量を情報として持つアクセス指示テーブル1
6を、前記データ移動手段13からの情報を基に作成/
更新する構成とする。
【0011】
【作用】請求項1の発明では、データ移動手段により、
上位装置からのアクセスを停止させることなく、論理ボ
リュームの構成変更に伴う半導体メモリ内のデータの移
動を行い、アクセス制御手段により、前記データの移動
中に、上位装置からのアクセスを正常に行わせる。この
ため、上位装置からのアクセスを停止させることなく、
論理ボリュームの構成を変更することを可能とする。
【0012】請求項2の発明では、前記データの移動中
にも、上位装置は、データの移動元とデータの移動先に
同時にデータを書き込むことができ、データ移動に要す
る時間を短縮することを可能とする。
【0013】請求項3の発明では、メモリブロックテー
ブルを用いて、データの移動を容易に実行することを可
能とする。
【0014】請求項4の発明では、アクセス指示テーブ
ルを用いて、上位装置の正常なアクセスを容易に行わせ
ることを可能とする。
【0015】
【実施例】図2は本発明の一実施例の半導体ディスク装
置(半導体記憶装置)21の構成図を示す。半導体ディ
スク装置21は、記憶媒体に半導体メモリ40を使用
し、ホストコンピュータ61が半導体ディスク装置21
に対して発行する命令を半導体メモリ40に対して実行
することにより、ホストコンピュータ61に対しては、
レスポンスタイムの非常に短い磁気ディスク装置を装う
装置である。
【0016】半導体ディスク装置21は、2系統の制御
部23,24、メモリバンク0とメモリバンク1からな
る半導体メモリ40、メモリ制御部(MA)511 ,5
2,521 ,522 等から構成されている。
【0017】制御部23のチャネルインタフェース制御
部(CA)31、排他制御部(RM)32、メンテナン
ス制御部(SA)33は、データバス551 、コントロ
ールバス561 で互いに接続されている。同様に、制御
部24のCA31、RM32、SA33は、データバス
552 、コントロールバス562 で互いに接続されてい
る。制御部23,24のRM32は、共通の排他制御用
メモリ(TS)35に接続されている。また、SA33
は、マイクロコード格納用のハードディスクドライブ
(HD)36に接続されている。
【0018】バンク0部37は、メモリバンク0と、メ
モリバンク0の全アドレスに接続された二つのMA51
1 ,512 から構成され、バンク1部38は、メモリバ
ンク1と、メモリバンク1の全アドレスに接続された二
つのMA521 ,522 から構成される。
【0019】制御部23に接続されているデータバス5
1 は、メモリバンク0を制御するMA511 とメモリ
バンク1を制御するMA521 に接続されており、制御
部24に接続されているデータバス552 は、メモリバ
ンク0を制御するMA512とメモリバンク1を制御す
るMA522 に接続されている。
【0020】制御部23,24のCA31は、夫々がホ
ストコンピュータ61のチャネルに接続されており、チ
ャネルインタフェースの機能を持つ。CA31は、ホス
トコンピュータ61の発行した半導体ディスク装置21
へのリード/ライト命令を受け、それを半導体メモリ
(以下、単にメモリと記す)40へのアクセスに翻訳し
て実行し、その返答をホストコンピュータ61に返す役
割をする。
【0021】RM32は、複数のCA31,SA33
(後述)が他のCA31,SA33を意識せずにメモリ
40を読み書きしても不具合のないように、メモリ40
をシリンダ単位に排他制御し、CA31,SA33が発
する内部コマンドのシリアライズ等の処理を行う。
【0022】TS35は、RM32が排他制御のために
使用するメモリである。半導体ディスク装置21は、同
一機能を持った制御部23,24が二重に設けられてお
り、両制御部23,24のCA31,SA33から、共
有しているメモリ40にアクセスする。このため、TS
35は、両制御部23,24のRM32からアクセスで
きるようになっている。RM32は、TS35にリード
/ライトすることができ、CA31とSA33は、TS
35に対してリードすることだけができる。
【0023】SA33は、電源投入時のCA31,RM
32の立ち上げ処理、電源切断時のCA31,RM32
への報知処理、論理ドライブのアロケーション等の、メ
ンテナンスに関わる処理を行う。また、SA33は、保
守用入出力機器としての保守端末62のインタフェース
をサポートする。
【0024】各MA511 ,512 ,は、接続されてい
るデータバス551 ,552 を通じて供給されたリード
/ライトコマンドを、メモリバンク0の全アドレスに対
して実行する。同様に、各MA521 ,522 ,は、接
続されているデータバス55 1 ,552 を通じて供給さ
れたリード/ライトコマンドを、メモリバンク1の全ア
ドレスに対して実行する。
【0025】なお、メモリバンク0は、複数のメモリユ
ニット43と予備メモリユニット44から構成されてい
る。各メモリユニット43,44は、例えばプリント板
で構成される。同様に、メモリバンク1は、複数のメモ
リユニット45と予備メモリユニット46から構成され
ている。
【0026】予備メモリユニット44には、バッファB
F1,バッファBF2が設けられ、予備メモリユニット
46には、バッファBF3,バッファBF4が設けられ
ている。
【0027】次に、CA31、RM32、SA33のモ
ジュール構成について説明する。図3は、CA31、R
M32、SA33のモジュール構成図を示す。本実施例
の半導体ディスク装置21では、CA31、RM32、
SA33は、図3で示されるように、基本構成が同一の
モジュールとして構成されている。
【0028】モジュール70は、モジュール全体を制御
するMPU(マイクロプロセッサ)71、モジュールを
制御するためのファームウェアが記憶されているROM
で構成されたCS(コントロールストレージ)73,各
種作業等に使用されるRAMで構成されたCS73がバ
スを介して接続されている。また、モジュールの種類に
合わせて構成された個別機能LSI74、BIL(バス
インタフェースロジック)76、バッファ75、インタ
フェース用のDR/RV(ドライバ/レシーバ)78〜
80、OSC(オシレータ)77を備えている。
【0029】DR/RV79は、半導体ディスク装置2
1内のコントロールバスとデータバスに接続される。ま
た、DR/RV80は、デバッガに接続するためのもの
である。
【0030】モジュール70は、CA31,RM32,
SA33夫々に対応して記憶されたファームウェアに従
って、MPU71により制御されて動作する。
【0031】次に、本実施例の半導体ディスク装置21
における、論理ドライブのエミュレーションについて説
明する。半導体ディスク装置21では、ホストコンピュ
ータ61がコマンドを発行するときに指定する装置アド
レス(論理ドライブ)を、メモリ40上に実現するた
め、全ての論理ドライブにメモリ40のどこかを割り当
てる必要がある。以下に、論理ドライブとメモリ40の
割りつけについて説明する。
【0032】図4は、半導体ディスク装置21が、磁気
ディスクのCKDフォーマットをエミュレーションする
ためにメモリ40上に作っているトラックフォーマット
の説明図であり、図5は、磁気ディスクのCKDフォー
マットの模式図である。
【0033】CKDフォーマットでは、磁気ディスクの
トラックに、ホームアドレス部(HA)、各レコード毎
の、カウント部(Ri-C)、キー部(Ri-K)、データ部
(Ri-D)が、ギャップG0,G2,G3と共に記録されている。
ただし、i は、0〜n。
【0034】ホームアドレス部(HA)には、シリンダ
番号、トラック番号等が記録されている。各レコードの
カウント部(Ri-C)には、シリンダ番号、ヘッド番号、
データ部(Ri-D)のデータ長、キー部(Ri-K)の長さ等
の情報が記録されている。キー部(Ri-K)には、データ
部(Ri-D)に記録されるデータの属性を示す情報が記録
されている。
【0035】メモリ40上に作られているトラックフォ
ーマットは、ディレクトリ情報部、ホームアドレス部
(HA)、各レコード毎のカウント部(Ri-C)とデータ
部(Ri-D)、及び、トラックのデータ長を一定とするた
めのギャップ吸収部から構成される。ディレクトリ情報
部には、各レコードのメモリ40上でのアドレス等が記
録されている。
【0036】図6は、半導体ディスク装置21で設けて
いるドライブアロケーションテーブルの例を示す図であ
る。ドライブアロケーションテーブルには、各論理ドラ
イブに対して割り当てられたメモリ40の先頭アドレス
と容量が記録されている。容量は、エミュレーションし
たシリンダ数で表されている。メモリ40上でのドライ
ブの並び方は、ドライブ番号の若い順になっており、通
常、各ドライブに使用する全容量が連続したアドレスに
割り当てられるようになっている。
【0037】通常、SA33が作成したこのドライブア
ロケーションテーブルは、パワーオン時にRM32に読
み取られ、後述するアクセス指示テーブルの作成に利用
される。図7は、アクセス指示テーブルの一例を示す。
ホストコンピュータ61がメモリ40にアクセスする際
に使用されるアクセス指示テーブルには、各ドライブご
とに、容量(シリンダ数)、ドライブ内のブロックのア
ドレスと容量等が記録されている。アクセス指示テーブ
ルは、RM32によって、各CAに内容が伝えられる。
【0038】CA31は、ホストコンピュータ61から
アクセス個所の指定を受けたとき、ホストコンピュータ
61の指定したアドレス(論理ドライブ番号、シリンダ
番号、ヘッド番号、レコード番号)から、アクセス指示
テーブルを参照して、アドレス指定されたトラックのア
ドレス(シリンダアドレス)を求め、更に、トラックの
ディレクトリ情報から目的レコードのメモリアドレスを
確認して、目的レコードをサーチする。
【0039】次に、半導体ディスク装置21で実行され
るフォーキングライトについて説明する。フォーキング
ライトとは、メモリ上の複数のアドレスに同一のデータ
を、一度のデータ転送により、ほぼ同時にライトするこ
とをいう。半導体ディスク装置21のRM32,CA3
1,SA33の夫々は、次のような仕組みにより、メモ
リ40上のメモリバンク0とメモリバンク1の夫々に属
している2か所のアドレスにフォーキングライトするこ
とができる。
【0040】MA511 ,521 、512 ,522 に発
行されるライトコマンドのフォーマットは、ライトコマ
ンド,ライトアドレス,ライトデータの順に、データを
パケット通信するように約束されている。
【0041】制御部23のRM32,CA31,SA3
3の夫々は、データバス551 で接続されているメモリ
バンク0を制御するMA511 とメモリバンク1を制御
するMA521 の両方を受信モジュールに指定して、ラ
イトコマンドを発行する。次いで、MA511 とMA5
1 夫々に対して、ライトさせるアドレスを転送した
後、全ライトデータを転送する。データを受信したMA
511 とMA521 は、夫々、メモリバンク0とメモリ
バンク1の指定されたアドレスから順次、受信データを
ライトする。
【0042】制御部23のRM32,CA31,SA3
3と同様に、制御部24のRM32,CA31,SA3
3の夫々は、データバス552 で接続されているメモリ
バンク0を制御するMA512 とメモリバンク1を制御
するMA522 の両方を受信モジュールに指定して、ラ
イトコマンド,ライトアドレス,ライトデータを転送し
て、フォーキングライトを行う。
【0043】次に、半導体ディスク装置21において、
論理ドライブの拡大や新規ドライブの設定等のために、
論理ドライブの構成を変更するときの動作について説明
する。
【0044】図8は、論理ドライブ構成変更時の動作手
順を示すフローチャートである。半導体ディスク装置2
1で使用している論理ドライブを更に拡大するとき、ま
た、論理ドライブ数を増やすときは、以下のようにし
て、論理ドライブの構成変更が行われる。
【0045】先ず、ステップ11にて、保守担当者(オ
ペレータ)は、ホストコンピュータ61又は保守端末6
2から、論理ドライブ構成を入力して、ドライブ構成変
更コマンドをSA33に対して発行させる。
【0046】このコマンドは、全ての論理ドライブにつ
いて以下の情報を含んでいる。
【0047】・ドライブの番号 ・ドライブのタイプ ・容量 ・現在の構成上のドライブからデータ移行を行うか初期
化をするかの指定 ステップ12では、SA33は、ドライブ番号の若い順
から、各ドライブに使用する全容量が物理的に連続した
アドレスに割り当てられるように、ドライブ構成変更後
のメモリアドレスを決め、将来のドライブアロケーショ
ンテーブルを作成する。
【0048】ステップ13では、SA33は、メモリブ
ロックの移動に使用するメモリブロックテーブルを作成
する。図9は、メモリブロックテーブルの一例を示す。
本実施例では、メモリ40上の一つのドライブについて
の連続したデータが書かれている物理的に連続した領
域、及び有効なデータが書かれていない物理的に連続し
た領域を、メモリブロックと呼ぶ。メモリブロックテー
ブルは、現在のメモリの構成について説明するもので、
夫々のメモリブロックについて、次の情報を含んでい
る。
【0049】・先頭アドレス ・容量 ・有効データの有無 ・移動先の先頭アドレス(有効データがあるときに有効
で、将来のメモリブロックのデータの配置されるアドレ
スを示す) SA33は、現在のドライブドライブアロケーションテ
ーブル、アクセス指示テーブルを参照して、各メモリブ
ロックの先頭アドレス、容量を記載する。メモリを増設
された未使用なメモリブロックについては、有効データ
が無いメモリブロックとして記載する。また、ドライブ
構成変更コマンドによって初期化指定を受けたドライブ
に対応するメモリブロックも有効データが無いものとす
る。
【0050】有効データが有るメモリブロックについて
は、将来のドライブアロケーションテーブルを参照し
て、移動先のアドレスを記載する。
【0051】ステップ14では、SA33は、ドライブ
構成変更コマンドの内容、現在のドライブアロケーショ
ンテーブルと将来のドライブアロケーションテーブルを
参照して、容量の変更されるドライブ、及び初期化され
るドライブについて、ホストコンピュータ61からアク
セスできないようにするため、RM32に対して、ホス
トアクセス停止コマンドを発行する。
【0052】ホストアクセス停止コマンドを受けたRM
32は、全CA31について、該当するドライブのアク
セス停止を求めるコマンドを発行し、全CA31から承
諾の合図を受けるとSA33にコマンド処理の終了を通
知する。
【0053】ステップ15では、SA33は、有効デー
タのない現在のメモリブロックを使用して、メモリのア
ドレスの若い順で、ドライブ番号の若い順に、既存のド
ライブの増量分と新規ドライブを割り当て、夫々につい
て、メモリブロックテーブルを変更する。
【0054】SA33は、これらの新しく使用する領域
(メモリブロック)について、CKDフォーマットをエ
ミュレーションするようにメモリをフォーマッティング
する。
【0055】ステップ16では、SA33は、フォーマ
ットしたメモリブロックについて、有効データが有りと
してメモリブロックテーブルを書き換える。また、将来
のドライブアロケーションテーブルと現在のドライブア
ロケーションテーブルの当該ドライブのシリンダ数か
ら、メモリブロックテーブルの当該メモリブロックの移
動先アドレスを記載する。
【0056】ステップ17では、SA33は、RM32
に、容量の変更されたドライブと新規ドライブについ
て、夫々ドライブ番号と追加領域のドライブ番号、先頭
アドレス、容量をドライブ増設コマンドで通達する。
【0057】RM32は、これらの通達に従って、ステ
ップ100にて、アクセス指示テーブルを更新し、この
テーブルが更新されたことを全CA31に通達する。全
CA31からRM32に応答があると、RM32は、処
理終了をSA33に通知する。
【0058】ステップ18にて、SA33はRM32
に、また、RM32は全CA31に対して、容量の変更
されたドライブと新規作成されたドライブについて、ホ
スト61からアクセスできることを、ホストアクセス再
開コマンドで知らせる。
【0059】ここまでで、ホストコンピュータ61から
見たドライブ構成の変更は終了し、ホストコンピュータ
61は、新しいドライブ構成によって、ドライブをリー
ド/ライトすることができるようになる。
【0060】ステップ19では、ドライブ構成の変更に
より必要となったメモリブロック移動処理を行う。SA
33は、メモリアドレスの小さい順に、メモリブロック
毎に、データの移動処理を行う。このメモリブロック移
動処理では、後述するように、ホストコンピュータ61
からのアクセスを停止させる必要がない。
【0061】図10は、ドライブ増設コマンドに対応し
たアクセス指示テーブルの更新手順を示すフローチャー
トである。ステップ101にて、SA33からドライブ
増設コマンドを受け取ったRM32は、アクセス指示テ
ーブルを参照して、対象のドライブがすでに登録済かど
うか判断する。すでに登録済の場合は、このドライブに
ついて新たなシリンダ数が追加されたものと判断し、ス
テップ102にて、増加されたシリンダ数を、総シリン
ダ数に足し、ステップ103,104にて、このドライ
ブの最終ブロックとして、パラメータで渡されたシリン
ダ数と先頭アドレスを登録する。
【0062】ステップ105では、前記新ブロックがコ
マンド処理前のこのドライブの最終ブロックと物理的に
連続した領域にあるかどうかを判断して、連続した領域
にある場合は、ステップ106,107にて、前の最終
ブロックのシリンダ数に追加シリンダ数を足し、前記新
ブロックの登録を取り消し、処理を終了する。
【0063】ステップ101にて、対象のドライブがコ
マンド処理前には無かったときは、新規ドライブと判断
する。この場合、ステップ108,109にて、パラメ
ータ指定された容量を総シリンダ数と第1ブロックのシ
リンダ数に記載し、ステップ110にて、パラメータ指
定された先頭アドレスを第1ブロックの先頭アドレスに
記載する。この後、ステップ111にて、ドライブ有/
無の情報を有りとする。アクセス指示テーブルの更新を
終えると、RM32は、SA33に終了通知をする。
【0064】図11は、SA33が実行するメモリブロ
ック移動処理の手順を示すフローチャートである。この
メモリブロック移動処理は、ホストコンピュータ61の
オンラインサービス中に実行される。
【0065】ステップ20では、SA33は、ドライブ
移動時のデータ退避領域として、各メモリバンク0,メ
モリバンク1にある予備メモリユニット44内に、バッ
ファBF1〜BF4を設定する。
【0066】各バッファBF1〜BF4には、次の情報
を用意する。
【0067】・バッファ内の有効データの有無 ・有効データの先頭アドレス ・有効データの量 SA33は、設定したバッファBF1〜BF4を、各メ
モリバンク0,1について、一方のバッファがデータ移
動時にメモリ40の処理対象アドレスからデータを退避
するための退避バッファとなり、他方のバッファがメモ
リ40の処理対象アドレスに任意のアドレスからデータ
を移動するときに一時使用する間接入力バッファとなる
ように、どちらが退避バッファであるかを示すフラグを
メモリバンク毎に用意する。
【0068】バッファは、未使用の場合は、有効データ
無しとする。最初に設定する退避バッファと間接入力バ
ッファは、メモリ40の先頭アドレスを含むメモリバン
クとは反対側のメモリバンクのものとする。
【0069】ステップ21では、SA33は、メモリブ
ロックテーブルの、先頭アドレスから始まっているメモ
リブロックから順に、各メモリブロックについて、後述
する入替え処理を実行する。
【0070】ステップ22では、SA33は、一つのメ
モリバンクについて処理が終了したかどうか判断し、終
了していない場合は、ステップ21の入替え処理を続け
る。一つのメモリバンクについて処理が終了した場合
は、ステップ23にて、設定する退避バッファと間接入
力バッファを、反対側のメモリバンクに変更する。
【0071】ステップ24では、ステップ23での変更
前の、元のバッファに有効なデータが入っているかを判
断し、元のバッファに有効なデータが入っている場合
は、ステップ25にて、元のバッファから、変更後の新
しいバッファにデータを複写する。
【0072】ステップ26では、メモリブロックテーブ
ル中のメモリブロックを全て処理したかを判断し、全て
処理していない場合は、ステップ21に戻って移動処理
を続け、全て処理終了した場合は、移動処理を終える。
【0073】図12は、SA33が実行する1メモリブ
ロック入替え処理の処理手順を示すフローチャートであ
る。ここで、処理対象のメモリブロックをAとする。S
A33は、メモリブロックテーブル中の先頭のメモリブ
ロックから、順次、入替え処理を実行していく。
【0074】ステップ31では、退避バッファの状態を
調べ、退避バッファに有効データが有る場合は、ステッ
プ32で、退避バッファ中のメモリブロックの移動先を
調べる。
【0075】ステップ32にて、移動先がメモリブロッ
クAであるときは、ステップ33にて、退避バッファを
空けて、かつ、間接入力バッファから処理対象のメモリ
ブロックにデータを移動させるため、退避バッファと間
接入力バッファを交換する。
【0076】ステップ32で、退避バッファ中のメモリ
ブロックの移動先がメモリブロックA以外の場合は、ス
テップ34にて、メモリブロックテーブルから、有効デ
ータの無い空いているメモリブロックを探して、移動先
のメモリブロックBとする。メモリブロックBのアドレ
スは、メモリブロックAのアドレス以外であり、かつ、
退避バッファ及び間接入力バッファのアドレス以外であ
る。退避バッファ内のデータを、メモリブロックBに移
動する。なお、退避バッファ内のデータを前部移動し終
わっていない場合は、退避バッファの有効データ先頭ア
ドレスをバッファ内の次の移動すべきメモリブロックの
先頭アドレスに変更し、全データを移動終了するまで、
移動を繰り返す。
【0077】なお、メモリブロックBと退避バッファが
同一のメモリバンク内にあるときは、退避バッファのデ
ータを一度、反対側のメモリバンクのバッファに移動し
た後、そこからメモリブロックBに移動する。
【0078】ステップ35では、現在の処理対象のメモ
リブロックAの状態を調べ、有効なデータが有る場合
は、ステップ36に進む。ステップ36では、メモリブ
ロックAのデータの移動先を調べ、移動先がメモリブロ
ックAであるときは、移動処理が不必要であるため、処
理を終える。ステップ36で、移動先がメモリブロック
A以外であるときは、ステップ37にて、移動先の状態
を調べる。移動先のメモリブロックがメモリブロックA
と反対側のメモリバンク内にあり、かつ、データが無効
で、メモリブロックAの容量を満たすときは、ステップ
39にて、メモリブロックAのデータを、移動先のメモ
リブロックに移動する。
【0079】ステップ37で、メモリブロックAの移動
先のメモリブロックが同一メモリバンク内にあるか、反
対側のメモリバンク内にあっても有効データがあるか又
はメモリブロックAの容量を満たさない場合は、ステッ
プ38にて、メモリブロックAのデータを退避バッファ
に移動する。
【0080】ステップ35でメモリブロックAに有効デ
ータが無い場合、また、ステップ38,39の後、ステ
ップ40に進む。ステップ40では、間接入力バッファ
の状態を調べ、有効データが無いときは、ステップ41
にて、移動先がメモリブロックAとなっているメモリブ
ロックを、メモリブロックテーブルから探してメモリブ
ロックCとする。このメモリブロックCがメモリブロッ
クAと反対側のメモリバンク内にあるときは、ステップ
42にて、メモリブロックCのデータをメモリブロック
Aに移動した後、処理を終了する。
【0081】ステップ42で、メモリブロックCがメモ
リブロックAと同一メモリバンク内にあるときは、ステ
ップ43にて、メモリブロックCのデータを間接入力バ
ッファに移動する。
【0082】ステップ40で間接入力バッファに有効デ
ータが有る場合、また、ステップ43の後、ステップ4
4に進み、間接入力バッファのデータを、処理対象のメ
モリブロックAに移動した後、処理を終了する。
【0083】前記入替え処理中の、退避バッファ及び間
接入力バッファに関わるデータの移動時に、SA33
は、次の処理を行う。
【0084】任意のアドレスから退避バッファ及び間接
入力バッファへデータを移動するとき、移動先のバッフ
ァの有効データの有無を示す情報を、有効データ有りと
し、このバッファの有効データ先頭アドレスをバッファ
の先頭アドレスとし、有効データ量を移動するデータ量
とする。
【0085】退避バッファ及び間接入力バッファから他
のアドレスへバッファ内の先頭から一部のデータを移動
したとき、このバッファの有効データの先頭アドレス
を、まだ移動していないバッファ内のメモリブロックの
先頭アドレスとし、バッファの有効データ量をまだ移動
していないメモリブロックの容量とする。
【0086】退避バッファ及び間接入力バッファから他
のアドレスへバッファ内の全データを移動したとき、こ
のバッファの有効データの有無を示す情報を、有効デー
タ無しとする。
【0087】次に、前記の1メモリブロック入替え処理
中の、データ移動処理について説明する。図13は、1
メモリブロック入替え処理中における、データ移動処理
の処理手順を示すフローチャートである。
【0088】ステップ51,52では、移動元に指定さ
れたメモリブロックの容量と、移動先のメモリブロック
の容量とを比較する。移動元メモリブロックの容量が、
移動先メモリブロックの容量に満たないときは、ステッ
プ53にて、移動先のメモリブロックを、移動元メモリ
ブロックの容量までの領域とそれ以降の領域のメモリブ
ロックに分割するように、メモリブロックテーブルを変
更する。
【0089】移動元メモリブロックの容量が、移動先メ
モリブロックの容量を越えるときは、ステップ54に
て、移動元のメモリブロックを、移動先メモリブロック
の容量までの領域とそれ以降の領域のメモリブロックに
分割するように、メモリブロックテーブルを変更する。
【0090】ステップ55では、移動元メモリブロック
から移動先メモリブロックに、データを複写する。
【0091】この後、ステップ56では、移動元メモリ
ブロックのデータを無効とし、移動先のメモリブロック
のデータを有効とするように、メモリブロックテーブル
を更新する。なお、このとき、データを無効としたメモ
リブロックについて、このメモリブロックと物理的にア
ドレスの前後するメモリブロックが有効データを持たな
い場合は、この二つのメモリブロックを一つのメモリブ
ロックに統合する。
【0092】図14は、前記データ複写処理の処理手順
を示すフローチャートである。ステップ61では、SA
33は、CA31が複写元メモリブロックにライトする
ときは、複写元メモリブロックと複写先メモリブロック
に、フォーキングライトするように、フォーキング開始
コマンドをRM32に対して発行する。このコマンドの
パラメータは、フォーキングライトする複写元と複写先
のメモリブロックの先頭アドレスと、フォーキングライ
トするシリンダ数である。
【0093】図15は、フォーキング開始コマンドに対
応した、アクセス指示テーブルの更新手順を示すフロー
チャートである。フォーキング開始コマンドを受け取っ
たRM32は、ステップ201にて、アクセス指示テー
ブルから、パラメータで指定された複写元の先頭アドレ
スの含まれるブロックを探し出し、そのブロックのあっ
たドライブのフォーキング先頭アドレス(リード時のソ
ースアドレス)に、複写元の先頭アドレスを登録する。
ステップ202にて、複写先のフォーキング先頭アドレ
ス(読まない方のディスティネーションアドレス)に、
複写元の先頭アドレスを登録する。
【0094】ステップ203にて、このドライブのフォ
ーキング指定をフォーキング有りにする。
【0095】RM32は、全CA31にこのフォーキン
グするドライブについてアクセス指示テーブルを書き換
えたことを通知して、全CA31から応答を得てから、
SA33に終了通知をする。
【0096】図14に戻ってステップ62〜65では、
1メモリブロックのデータを移動元メモリブロックから
移動先メモリブロックに複写する。この際、対象のメモ
リブロック内を10シリンダずつの小ブロックに区切
り、この小ブロックごとに複写を行う。先ず、ステップ
62にて、対象の小ブロックについて、CA31からの
ライトを禁止するライトプロテクトコマンドをRM32
に発行する。
【0097】次に、ステップ63にて、複写元の小ブロ
ックからデータを読み、複写先の小ブロックにこのデー
タを書き込む、データ複写を実行する。
【0098】次に、ステップ64にて、ステップ62で
発行したライトプロテクトを解除するように、ライトプ
ロテクト解除コマンドをRM32に発行する。
【0099】ステップ65では、複写対象のメモリブロ
ック内の全てのデータを複写したかどうかを判断して、
全データを複写終了していない場合は、ステップ62に
戻って、小ブロックごとのデータ複写を続ける。全デー
タを複写終了した場合は、ステップ66に進む。
【0100】ステップ66では、ステップ62〜65で
の複写の実行により変更された各ドライブ内のブロック
の先頭アドレス,容量に対応させて、アクセス指示テー
ブルを更新させるため、アドレス変更コマンドをRM3
2に対して発行する。
【0101】アクセス指示テーブルが、実行されたメモ
リブロックの複写に対応して更新されることで、CA3
1は、変更後の正しいアドレスにアクセスすることがで
きる。
【0102】図16は、アドレス変更コマンドに対応し
た、アクセス指示テーブルの更新手順を示すフローチャ
ートである。アドレス変更コマンドのパラメータは、移
動元のメモリブロックの先頭アドレスと、移動先のメモ
リブロックの先頭アドレスとそのシリンダ数である。
【0103】アドレス変更コマンドを受け取ったRM3
2は、ステップ301にて、アクセス指示テーブルを参
照して、パラメータ指定された移動元アドレスで始まる
元のブロックを探し出す。アドレス変更指示された移動
先メモリブロックのシリンダ数と、アドレス変更前のシ
リンダ数を比較して、アドレス変更後のシリンダ数が変
更前のシリンダ数に満たない場合は、元のブロックを、
指定シリンダ数までのブロックと、それ以降のブロック
に分割するリンク作成を行う。
【0104】このため、具体的には、アクセス指示テー
ブル上で、元のブロックのフィールドの前に、分割でで
きる新しいブロックのフィールドを挿入し、新ブロック
の先頭アドレスをパラメータ指定された移動先の先頭ア
ドレスとし、新ブロックのシリンダ数を、パラメータ指
定されたシリンダ数とする。次いで、元のブロックの先
頭アドレスを、元の先頭アドレスから新ブロックのシリ
ンダ数だけ後方においた値とし、元のブロックのシリン
ダ数を元のブロックのシリンダ数から新ブロックのシリ
ンダ数だけ差し引いた値とする。
【0105】前記リンク作成処理の結果、以後、元のブ
ロックの変更前の先頭アドレスの代わりに、新ブロック
の先頭アドレスがアクセスされることとなる。
【0106】ステップ301にて、アドレス変更指定さ
れたブロックのシリンダ数が、元のブロックのシリンダ
数と一致する場合は、元のブロック全体が指定アドレス
に移動するので、ステップ303にて、アクセス指示テ
ーブル上で、元のブロックの先頭アドレスを指定された
アドレスに変更し、ステップ304では、元のブロック
と同一値のシリンダ数を変更後のシリンダ数として登録
する。
【0107】次に、ステップ305では、変更したブロ
ックが先頭ブロックでないときは、前のブロックとアド
レスが連続していないかをアクセス指示テーブルの情報
から調べ、アドレスが連続している場合は、ステップ3
06にて、前のブロックにこの変更したブロックを統合
させて、リンクを解除する。具体的には、前のブロック
のシリンダ数に、変更したブロックのシリンダ数を足
し、この変更したブロックを削除する。
【0108】次に、ステップ307では、変更したブロ
ックが最終ブロックでないときは、後のブロックとアド
レスが連続していないかをアクセス指示テーブルの情報
から調べ、アドレスが連続している場合は、ステップ3
08にて、後のブロックにこの変更したブロックを統合
させて、リンクを解除する。具体的には、この変更した
ブロックのシリンダ数に、後のブロックのシリンダ数を
足し、この後のブロックを削除する。
【0109】RM32は、全CA31にこのアドレス変
更するドライブについてアクセス指示テーブルを書き換
えたことを通知して、全CA31から応答を得てから、
SA33に終了通知をする。
【0110】図14に戻って、ステップ67では、SA
33は、ステップ62〜65での1メモリブロックの複
写が終了したため、以後、複写先のメモリブロックのみ
にライトするようにフォーキングライトの終了を指示す
るため、フォーキング終了コマンドをRM32に対して
発行する。
【0111】図17は、フォーキング終了コマンドに対
応した、アクセス指示テーブルの更新処理を示すフロー
チャートである。SA33からフォーキング終了コマン
ドを受け取ったRM32は、アクセス指示テーブルを参
照して、フォーキング指定有りのドライブを探し出し、
フォーキング指定を無しとする。RM32は、全CA3
1に、アクセス指示テーブルを書き換えたことを通知し
て、全CA31から応答を得てから、SA33に終了通
知をする。以上で、図14のデータ複写処理が終了す
る。
【0112】前記のように、本実施例では、論理ブロッ
クの変更に伴うメモリブロック移動処理中、ホストコン
ピュータ61からのアクセスを停止させる必要がない。
ホストコンピュータ61は、メモリ40のいずれのアド
レスも正常にリードでき、また、小ブロックの複写に伴
うライトプロテクトされた領域を除いて、いずれのアド
レスにも正常にライトすることができる。
【0113】ホストコンピュータからリード指示を受け
たCA31は、次のようにして、リードするメモリアド
レスを求める。ホストコンピュータ61が指定するアド
レスは、論理ドライブ,シリンダ番号(指定シリン
ダ),ヘッド番号,レコード番号からなる。CA31
は、アクセス指示テーブルから、指定ドライブの指定シ
リンダが含まれるブロックを探し出し、このブロックの
先頭アドレス(シリンダアドレス)を得る。この先頭ア
ドレスから指定シリンダまでのオフセットを計算し、前
記ブロックの先頭アドレスに足し、この値にヘッド番号
の値を足すことにより、目的トラックの先頭アドレス
(シリンダアドレス)が求められる。目的トラックの先
頭のディレクトリ情報部には、トラック内の各レコード
のインデックスがあり、このインデックスを読んで、目
的のレコードのメモリアドレスが得られる。
【0114】ホストコンピュータ61からライト指示を
受けたCA33は、次のようにして、ライトするメモリ
アドレスを求める。CA33は、アクセス指示テーブル
から、リード時と同様に、目的レコードのアドレスを求
める。更に、指定ドライブのフォーキング指定が有りと
なっている場合は、求めたアドレスがフォーキング指定
範囲内に入っているかを調べ、入っている場合は、フォ
ーキング範囲のリード時のソース(複写元)となる先頭
アドレスと前記求めたライトアドレスとの差を求め、こ
の差分を、フォーキング指定範囲の読まない側(複写
先)の先頭アドレスに足して、フォーキングする他方の
アドレスを求める。
【0115】次に、メモリブロック入替え処理によるデ
ータ移動例について説明する。図18〜図27は、メモ
リブロック入替え処理によるデータ移動例の説明図を示
す。
【0116】ここでは、図18に示すように、メモリバ
ンク0にドライブ0(D0)〜ドライブ3(D3)が割
り当てられ、メモリバンク1にドライブ4(D4)〜ド
ライブ7(D7)が割り当てられた状態で、ドライブ3
の後にメモリを増設して、ドライブ2(D2)の拡張分
のブロックをリンクさせた状態を考える。
【0117】ドライブ0〜2のブロックをメモリブロッ
ク0(MB0)〜メモリブロック2(MB2)とし、ド
ライブ4〜7のブロックをメモリブロック6(MB6)
〜メモリブロック9(MB9)としている。また、ドラ
イブ3は、移動処理対象のメモリブロック3(MB3)
とメモリブロック4(MB4)に対応させてある。
【0118】また、メモリバンク0には、バッファBF
1,BF2を設け、メモリバンク1には、バッファBF
3,BF4を設け、初めの状態では、バッファBF1,
BF3を退避バッファに設定し、バッファBF2,BF
4を間接入力バッファに設定してある。
【0119】この例では、最終的に、メモリブロック3
のデータとメモリブロック4のデータを夫々、メモリブ
ロック4とメモリブロック5に移動し、元のメモリブロ
ック5のデータをメモリブロック3に移動することを目
的とする。この移動により、拡張されたドライブ2のブ
ロックが連続したアドレスに配置される。
【0120】図18では、移動処理対象のメモリブロッ
クAがメモリブロック3となっている。メモリブロック
入替え処理は、前記、図11のステップ21(詳細は、
図12のフローチャート)により実行される。
【0121】図18の状態から処理を開始して、先ず、
図19に示すように、図12ステップ38にて、処理対
象のメモリブロックAのデータ(ドライブ3前半のデー
タ)が、退避バッファBF3に移動される。
【0122】次に、図20に示すように、図12のステ
ップ43にて、移動先がメモリブロックAであるメモリ
ブロック5のデータ(ドライブ2拡張分)が間接入力バ
ッファBF4に移動される。
【0123】次に、図21に示すように、図12のステ
ップ44にて、間接入力バッファのデータ(ドライブ2
拡張分)が移動先のメモリブロックA(メモリブロック
3)に移動される。
【0124】以上で図12のフローチャートの1回目の
処理を終了して、以後2回目の処理を実行する。この時
点で、処理対象のメモリブロックAがメモリブロック4
に移動する。この時点で、退避バッファBF3のメモリ
ブロック(ドライブ3前半のデータ)の移動先がメモリ
ブロックA(メモリブロック4)であるため、図22に
示すように、図12のステップ33にて、退避バッファ
と間接間接入力バッファを交換して、バッファBF3を
間接入力バッファとし、バッファBF4を退避バッファ
とする。
【0125】次に、図23に示すように、図12のステ
ップ38にて、処理対象のメモリブロックAのデータ
(ドライブ3後半のデータ)が、退避バッファBF4に
移動される。
【0126】次に、図24に示すように、図12のステ
ップ44にて、間接入力バッファのデータ(ドライブ3
前半のデータ)が移動先のメモリブロックA(メモリブ
ロック4)に移動される。
【0127】以上で図12のフローチャートの2回目の
処理を終了して、以後3回目の処理を実行する。この時
点で、処理対象のメモリブロックAがメモリブロック5
に移動する。この時点で、退避バッファBF4のメモリ
ブロック(ドライブ3後半のデータ)の移動先がメモリ
ブロックA(メモリブロック5)であるため、図25に
示すように、図12のステップ33にて、退避バッファ
と間接間接入力バッファを交換して、バッファBF4を
間接入力バッファとし、バッファBF3を退避バッファ
とする。
【0128】次に、図26に示すように、図12のステ
ップ44にて、間接入力バッファBF4のデータ(ドラ
イブ3後半のデータ)が移動先のメモリブロックA(メ
モリブロック5)に移動される。
【0129】以上で、メモリブロック入替え処理が終了
する。図27は、メモリブロック入替え処理終了後の状
態を示す。図27に示すように、ドライブ2のブロック
が連続した一つのブロックに統合されている。
【0130】
【発明の効果】上述の如く、請求項1の発明によれば、
データ移動手段により、上位装置からのアクセスを停止
させることなく、論理ボリュームの構成変更に伴う半導
体メモリ内のデータの移動を行い、アクセス制御手段に
より、前記データの移動中に、上位装置からのアクセス
を正常に行わせるため、上位装置からのアクセスを停止
させることなく、論理ボリュームの構成を変更すること
ができる。
【0131】請求項2の発明によればデータの移動中に
も、上位装置は、データの移動元とデータの移動先に同
時にデータを書き込むことができ、データ移動に要する
時間を短縮することができる。
【0132】請求項3の発明によれば、メモリブロック
テーブルを用いて、データの移動を容易に実行すること
ができる。
【0133】請求項4の発明によれば、アクセス指示テ
ーブルを用いて、上位装置の正常なアクセスを容易に行
わせることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例の半導体ディスク装置の構成
図である。
【図3】CA,RM,SAのモジュール構成図である。
【図4】エミュレーションによりメモリトラック上に作
っているトラックフォーマットの説明図である。
【図5】CKDフォーマットの模式図である。
【図6】ドライブアロケーションテーブルの例を示す図
である。
【図7】アクセス指示テーブルの例を示す図である。
【図8】論理ドライブ構成変更時の動作手順を示すフロ
ーチャートである。
【図9】メモリブロックテーブルの例を示す図である。
【図10】ドライブ増設コマンドに対応した、アクセス
指示テーブルの更新手順を示すフローチャートである。
【図11】メモリブロック移動処理の手順を示すフロー
チャートである。
【図12】1メモリブロック入替え処理の処理手順を示
すフローチャートである。
【図13】データ移動処理の処理手順を示すフローチャ
ートである。
【図14】データ複写処理の処理手順を示すフローチャ
ートである。
【図15】フォーキング開始コマンドに対応した、アク
セス指示テーブルの更新手順を示すフローチャートであ
る。
【図16】アドレス変更コマンドに対応した、アクセス
指示テーブルの更新手順を示すフローチャートである。
【図17】フォーキング終了コマンドに対応した、アク
セス指示テーブルの更新手順を示すフローチャートであ
る。
【図18】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図19】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図20】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図21】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図22】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図23】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図24】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図25】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図26】メモリブロック入替え処理によるデータ移動
例の説明図である。
【図27】メモリブロック入替え処理によるデータ移動
例の説明図である。
【符号の説明】
11 アクセス手段 12 アクセス制御手段 13 データ移動手段 14,15 半導体メモリ 16 アクセス指示テーブル 17 メモリブロックテーブル 18 退避バッファ 19 間接入力バッファ 21 半導体ディスク装置 23,24 制御部 31 チャネルインタフェース制御部 32 排他制御部 33 メンテナンス制御部 35 排他制御用メモリ 40 半導体メモリ 43,45 メモリユニット 44,46 予備メモリユニット 511 ,512 ,521 ,522 メモリ制御部 551 ,552 データバス 561 ,562 コントロールバス 61 ホストコンピュータ 62 保守端末

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 複数の論理ボリュームに分割された半導
    体メモリ(14,15)を有し、接続されている上位装
    置が、前記論理ボリュームに対してアクセス手段(1
    1)を介して読み書きのアクセスを行う半導体記憶装置
    において、 論理ボリュームの構成変更に際して、予備メモリ内に設
    けたデータ移動用バッファ(18,19)を用いて、構
    成変更の対象である論理ボリューム中のメモリブロック
    単位で、必要なデータの移動を行うデータ移動手段(1
    3)と、 前記データの移動中に、上位装置からのアクセスを正常
    に行わせるアクセス制御手段(12)とを有することを
    特徴とする半導体記憶装置。
  2. 【請求項2】 前記半導体メモリ(14,15)は、複
    数のグループに分割されており、前記アクセス手段(1
    1)は、前記複数のグループ夫々に対して同一タイミン
    グで同一のデータを書き込む機能を有することを特徴と
    する請求項1記載の半導体記憶装置。
  3. 【請求項3】 前記データ移動手段(13)は、前記デ
    ータの移動開始時に、前記各メモリブロックの先頭アド
    レス,容量,有効データの有無,及び移動先の先頭アド
    レスを情報として持つ、メモリブロックテーブル(1
    7)を作業用メモリ内に作成し、前記データの移動処理
    中に、前記メモリブロックテーブル(17)を参照/更
    新することを特徴とする請求項1又は請求項2記載の半
    導体記憶装置。
  4. 【請求項4】 前記アクセス制御手段(12)は、前記
    上位装置の目的アドレスへのアクセス用に、論理ボリュ
    ームが有効かどうかの情報、論理ボリュームの総容量、
    論理ボリューム内に複数のブロックがリンクされて存在
    する場合の、各ブロックごとの先頭アドレス及び容量を
    情報として持つアクセス指示テーブル(16)を、前記
    データ移動手段(13)からの情報を基に作成/更新す
    ることを特徴とする請求項1又は請求項2又は請求項3
    記載の半導体記憶装置。
  5. 【請求項5】 前記アクセス指示テーブル(16)は、
    前記論理ボリュームが2つの領域に対して同時に同一デ
    ータを2重書きすることが必要かどうかの情報、前記2
    重書きが必要な場合の2重書きを行う先頭アドレス及び
    容量を情報として持つことを特徴とする請求項4記載の
    半導体記憶装置。
  6. 【請求項6】 前記データ移動手段(13)は、前記予
    備メモリ内のデータ移動用バッファとして、データの移
    動処理対象のアドレスからデータを退避するための退避
    バッファ(18)と、データの移動処理対象アドレスに
    任意のアドレスからデータを移動する際にデータを一時
    保持する間接入力バッファ(19)とを設けることを特
    徴とする請求項1記載の半導体記憶装置。
  7. 【請求項7】 前記データ移動手段(13)は、前記各
    メモリグループごとに、前記退避バッファ(18)と間
    接入力バッファ(19)を設定でき、かつ、前記退避バ
    ッファ(18)と間接入力バッファ(19)を交換でき
    ることを特徴とする請求項6記載の半導体記憶装置。
  8. 【請求項8】 前記データ移動手段(13)は、増設さ
    れたメモリブロックに対応して、前記メモリブロックテ
    ーブル(17)を作成し、前記増設されたメモリブロッ
    クが論理ボリューム内のブロックとして使用できること
    を、ブロックが拡張された論理ボリューム番号,ブロッ
    クの先頭アドレス,ブロックの容量の情報と共に、前記
    アクセス制御手段(12)に通知することを特徴とする
    請求項3又は請求項4記載の半導体記憶装置。
  9. 【請求項9】 前記アクセス制御手段(12)は、前記
    データ移動手段(13)からのメモリブロック増設に関
    する通知を基にして、前記通知された論理ボリュームが
    登録されていない場合は、新規の論理ボリュームとして
    登録し、前記通知された論理ボリュームが登録されてい
    る場合は、拡張されたブロックを前記登録済の論理ボリ
    ューム内にリンクさせて使用できるように、前記アクセ
    ス指示テーブル(16)を更新することを特徴とする請
    求項8記載の半導体記憶装置。
  10. 【請求項10】 前記データ移動手段(13)は、前記
    論理ボリュームの構成変更に際してのデータの移動開始
    時に、移動元のメモリブロックと移動先のメモリブロッ
    クに同時にデータを書き込むように、前記アクセス制御
    手段(12)に指令することを特徴とする請求項2又は
    請求項5記載の半導体記憶装置。
  11. 【請求項11】 前記アクセス制御手段(12)は、前
    記データ移動手段(13)からの、移動元のメモリブロ
    ックと移動先のメモリブロックに同時にデータを書き込
    む指令に基づいて、前記指令により通知された移動元の
    ブロックと移動先のブロックに対して、上位装置が2重
    書きでアクセスするように、前記アクセス指示テーブル
    (16)を更新することを特徴とする請求項10記載の
    半導体記憶装置。
  12. 【請求項12】 前記データ移動手段(13)は、前記
    論理ボリュームの構成変更に際してのデータの移動処理
    の終了後に、構成変更された論理ボリュームに対応して
    アクセス対象のアドレスを変更するようにアドレス変更
    指令を前記アクセス制御手段(12)に供給することを
    特徴とする請求項4記載の半導体記憶装置。
  13. 【請求項13】 前記アクセス制御手段(12)は、前
    記データ移動手段(13)からの前記アドレス変更指令
    に基づいて、前記アクセス指示テーブル(16)のブロ
    ック先頭アドレスを更新することを特徴とする請求項1
    2記載の半導体記憶装置。
JP6142033A 1994-06-23 1994-06-23 半導体記憶装置 Withdrawn JPH086843A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6142033A JPH086843A (ja) 1994-06-23 1994-06-23 半導体記憶装置
US08/937,215 US5991859A (en) 1994-06-23 1997-09-17 Semiconductor storage device having on-the-fly adaptable storage capacity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6142033A JPH086843A (ja) 1994-06-23 1994-06-23 半導体記憶装置

Publications (1)

Publication Number Publication Date
JPH086843A true JPH086843A (ja) 1996-01-12

Family

ID=15305811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6142033A Withdrawn JPH086843A (ja) 1994-06-23 1994-06-23 半導体記憶装置

Country Status (2)

Country Link
US (1) US5991859A (ja)
JP (1) JPH086843A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007032466A1 (ja) 2005-09-15 2007-03-22 Aska Pharmaceutical Co., Ltd. 複素環化合物、その製造方法並びに用途

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163833A (en) * 1997-12-31 2000-12-19 Daewoo Telecom Ltd. Memory managing method for use in a data communications system
US7099875B2 (en) * 1999-06-29 2006-08-29 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6920519B1 (en) * 2000-05-10 2005-07-19 International Business Machines Corporation System and method for supporting access to multiple I/O hub nodes in a host bridge
JP4681247B2 (ja) * 2004-04-08 2011-05-11 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
US4775932A (en) * 1984-07-31 1988-10-04 Texas Instruments Incorporated Computer memory system with parallel garbage collection independent from an associated user processor
JPS61112254A (ja) * 1984-11-06 1986-05-30 Nec Corp 半導体電子デイスクシステム
JPH0743635B2 (ja) * 1985-12-26 1995-05-15 富士通株式会社 半導体ディスク装置
US5121495A (en) * 1988-02-02 1992-06-09 Bell Communications Research, Inc. Methods and apparatus for information storage and retrieval utilizing hashing techniques
DE68924755D1 (de) * 1988-10-31 1995-12-14 Ibm Mehrfachverarbeitungssystem und Verfahren für gemeinsame Speichernutzung.
US5088036A (en) * 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
US5109336A (en) * 1989-04-28 1992-04-28 International Business Machines Corporation Unified working storage management
US5398142B1 (en) * 1989-05-31 1997-09-16 Raxco Inc Method for eliminating file fragmentation and reducing average seek times in a magnetic disk media environment
JPH04217017A (ja) * 1990-12-19 1992-08-07 Fujitsu Ltd 半導体ディスク装置のメモリ増設方法
US5339411A (en) * 1990-12-21 1994-08-16 Pitney Bowes Inc. Method for managing allocation of memory space
US5355483A (en) * 1991-07-18 1994-10-11 Next Computers Asynchronous garbage collection
US5274804A (en) * 1991-11-20 1993-12-28 Parcplace Systems Automatic storage-reclamation postmortem finalization process
US5218698A (en) * 1991-11-22 1993-06-08 Aerojet-General Corporation Garbage collection system for a symbolic digital processor
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5560003A (en) * 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5432922A (en) * 1993-08-23 1995-07-11 International Business Machines Corporation Digital storage system and method having alternating deferred updating of mirrored storage disks
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US5687368A (en) * 1994-07-22 1997-11-11 Iowa State University Research Foundation, Inc. CPU-controlled garbage-collecting memory module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007032466A1 (ja) 2005-09-15 2007-03-22 Aska Pharmaceutical Co., Ltd. 複素環化合物、その製造方法並びに用途

Also Published As

Publication number Publication date
US5991859A (en) 1999-11-23

Similar Documents

Publication Publication Date Title
US7114012B2 (en) Computer system and method for migrating from one storage system to another
US8645658B2 (en) Storage system comprising plurality of storage system modules
US20060047926A1 (en) Managing multiple snapshot copies of data
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
WO2009133605A1 (ja) 仮想テープ装置、制御方法、制御部
JPH086843A (ja) 半導体記憶装置
JP2003345520A (ja) ディスクアレイ・システム及びディスクアレイ・システムにおけるキャッシュ制御方法
JP5923913B2 (ja) ストレージ装置、ストレージ装置の制御方法及びストレージシステム
JP2004206424A (ja) データ処理装置及びデータ処理装置におけるデータ転送方法
JP2003216506A (ja) フラッシュメモリを搭載した記憶装置及び計算機
JP3067558B2 (ja) ディスクアレイ装置の拡張構成方法およびディスクアレイ装置
CN114201115A (zh) 数据存储系统、方法、计算机设备及存储介质
JP3335919B2 (ja) ディスクキャッシュ制御装置
JPH07325674A (ja) 半導体メモリの交換方法および半導体ディスクサブシステムの制御方法
JPH06161842A (ja) 外部記憶装置およびこれを用いたコンピュータ
JPH01255918A (ja) 計算機システム
JP3861061B2 (ja) ディスクキャッシュ制御装置
JP2003044328A (ja) ディスクサブシステム、および、その記憶制御方法
CN115878499A (zh) 计算机设备、处理数据的方法及计算机系统
CN120104067A (zh) 基于字符设备的信息存储方法、系统、存储介质及设备
JPH0519975A (ja) ハードデイスクエミユレータのアドレス情報統合方法
JPH03263244A (ja) キャッシュメモリデータ書き戻し方法及びディスクキャッシュ制御装置
JPH07210332A (ja) ディスクアレイ装置
JP2000330728A (ja) ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体
JPH06290547A (ja) ディスク装置の高速データ転送方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010904