JP2006039756A - 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム - Google Patents
媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム Download PDFInfo
- Publication number
- JP2006039756A JP2006039756A JP2004216118A JP2004216118A JP2006039756A JP 2006039756 A JP2006039756 A JP 2006039756A JP 2004216118 A JP2004216118 A JP 2004216118A JP 2004216118 A JP2004216118 A JP 2004216118A JP 2006039756 A JP2006039756 A JP 2006039756A
- Authority
- JP
- Japan
- Prior art keywords
- host device
- cache memory
- segments
- medium storage
- write data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】上位からの転送量に応じてキャッシュメモリのセグメント数を切り替える媒体記憶装置に関し、上位の最大転送量に応じて、高速にセグメント数を切り替える。
【解決手段】媒体記憶装置(1)が、上位装置(2)からのOSの種類の通知により、OSの種類に依存する1コマンドの最大転送量に合わせて、キャッシュメモリ(18)のセグメント数を変更する。これにより、そのOSのライト処理に適したセグメント数で、高速に書き込み処理する。
【選択図】図7
【解決手段】媒体記憶装置(1)が、上位装置(2)からのOSの種類の通知により、OSの種類に依存する1コマンドの最大転送量に合わせて、キャッシュメモリ(18)のセグメント数を変更する。これにより、そのOSのライト処理に適したセグメント数で、高速に書き込み処理する。
【選択図】図7
Description
本発明は、キャッシュメモリを有する媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システムに関し、特に、キャッシュメモリの分割セグメント数を動的に変更する媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システムに関する。
近年のアクセス速度の向上に伴い、磁気デイスク装置、光デイスク装置、光磁気デイスク装置等の媒体記憶装置では、上位からのライトデータや媒体からのリードデータを一時格納するキャッシュメモリが設けられている。このキャッシュメモリにより、データライト時は、上位からのライトデータをキャッシュメモリに格納し、その後媒体にライトする(ライトバックという)ことができ、媒体ライト速度を吸収できる。又、データリード時には、アクセスされたデータの近傍のデータも、媒体からリードし、キャッシュメモリに格納しておくことにより、次のリード/ライトアクセスに対しては、キャッシュメモリに対象データが存在する場合に、キャッシュメモリのデータを上位へ転送又はキャッシュメモリのデータを更新することにより、応答速度を向上できる。
このようなキャッシュメモリには、多数のデータが格納できるため、キャッシュメモリ領域を複数のセグメントに分割することが、対象データを検索する点で有効である。1つのセグメントの容量が一定であるため、この分割セグメント数を固定にすると、上位装置からの要求転送量は可変であるため、キャッシュメモリを有効利用できない。又、セグメント単位にリード、ライトする媒体記憶装置では、リード/ライト回数が増加し、充分な性能を得られない。
このため、上位装置からの転送量に応じて、動的にセグメント数を変更する方法が種々提案されている。第1の従来の方法は、転送データ量やリード/ライトのアクセスの種別(単一かシーケンシャルか等)を学習する機能を媒体記憶装置に設け、転送データ量やアクセス種別に対し、分割セグメント数が適切でない時には、分割セグメント数を変更するものである(例えば、特許文献1、2参照)。
第2の従来の方法は、媒体の論理フォーマットの種類(クラスタサイズ等)により、分割セグメント数を変更するものである(例えば、特許文献3参照)。
特開平7−319771号公報(図3、図4)
特開平7−319771号公報(図2、段落番号[0013])
特開2000−227865号公報(図4)
しかしながら、第1の従来の方法は、所定数のデータ転送量やアクセス種別の履歴をとっておき、その履歴から分割セグメント数を変更するため、学習するまで、セグメント数は変更されない。このため、それぞれの環境で、高速に最適セグメント数に設定することが困難である。即ち、学習するまで、媒体記憶装置の高速性を発揮できないという問題がある。
又、第2の従来の方法は、媒体のフォーマットのみに依存するため、上位装置のOS(オペレーテイングシステム)の様々なコマンドシーケンスに対し、適応できず、OSのコマンドシーケンスが異なる場合に、セグメント分割の効果が期待できないおそれがある。
従って、本発明の目的は、OSのコマンドシーケンスが異なる場合でも、高速に最適なセグメント数に分割し、キャッシュメモリによる処理の高速性を向上するための媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システムを提供することにある。
又、本発明の他の目的は、各種のOSへ接続されても、高速に最適なセグメント数に分割し、キャッシュメモリによる処理の高速性を向上するための媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システムを提供することにある。
更に、本発明の他の目的は、OSの最大転送量に応じて、高速に最適なセグメント数に分割し、キャッシュメモリによる処理の高速性を向上するための媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システムを提供することにある。
更に、本発明の他の目的は、各種OSへの接続を可能とするUSB装置に、高速な最適セグメント数分割機能を付与するための媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システムを提供することにある。
この目的の達成のため、本発明の媒体記憶装置は、上位装置に接続され、上位装置からのライトデータを記憶する媒体記憶装置において、媒体にデータを記録する媒体ドライブユニットと、前記上位装置からのライトデータを格納するキャッシュメモリと、前記キャッシュメモリのセグメント数を管理するとともに、前記キャッシュメモリに格納されたライトデータを前記媒体ドライブユニットに記録するためのコントローラとを有し、前記コントローラは、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定する。
本発明のキャッシュセグメント切り替え方法は、上位装置に接続され、上位装置からのライトデータを記憶する媒体記憶装置のキャッシュセグメント切り替え方法において、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類に応じて、キャッシュメモリのセグメント数を設定するステップと、前記上位装置からのライトデータを前記キャッシュメモリの設定されたセグメント単位に格納するステップと、前記キャッシュメモリに格納されたライトデータを媒体ドライブユニットに記録するステップとを有する。
本発明の媒体記憶システムは、ライトコマンドとライトデータを発行する上位装置と、前記上位装置に接続され、前記上位装置からのライトデータを記憶する媒体記憶装置とを有し、前記媒体記憶装置は、媒体にデータを記録する媒体ドライブユニットと、前記上位装置からのライトデータを格納するキャッシュメモリと、前記キャッシュメモリのセグメント数を管理するとともに、前記キャッシュメモリに格納されたライトデータを前記媒体ドライブユニットに記録するためのコントローラとを有し、前記上位装置は、前記ライトデータの転送に先立って前記上位装置のOSの種類を、前記媒体記憶装置にドライバーにより通知し、前記コントローラは、前記OSの種類に応じて、前記キャッシュメモリのセグメント数を設定する。
又、本発明では、好ましくは、前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定する。
又、本発明では、好ましくは、前記コントローラは、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類及びフォーマットの種類に応じて、前記キャッシュメモリのセグメント数を設定する。
又、本発明では、好ましくは、前記コントローラは、前記上位装置からの前記上位装置のOSの種類に応じた、前記キャッシュメモリのセグメント数を格納するテーブルを有し、前記テーブルを参照して、前記キャッシュメモリのセグメント数を設定する。
又、本発明では、好ましくは、前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知されたライトコマンドに設定された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定する。
又、本発明では、好ましくは、前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知されたベンダーコマンドに設定された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定する。
又、本発明では、好ましくは、前記コントローラは、前記媒体ドライブ部に、前記キャッシュメモリのセグメント単位で、書き込み動作を実行させる。
又、本発明では、好ましくは、前記媒体ドライブ部は、前記媒体に、ヘッドにより書き込みを行うドライブ機構で構成された。
本発明では、上位装置からの通知により、OSの種類に依存する1コマンドの最大転送量に合わせて、キャッシュメモリのセグメント数を変更することにより、そのOSのライト処理に適したセグメント数で、高速に書き込み処理できる。
以下、本発明の実施の形態を、媒体記憶システム、第1の実施の形態、第2の実施の形態、他の実施の形態の順で説明する。
[媒体記憶システム]
図1は、本発明の一実施の形態の媒体記憶システムの構成図、図2は、図1の媒体記憶装置のブロック図、図3は、図2のセグメント分割テーブルの構成図、図4は、キャッシュメモリのセグメント管理テーブルの構成図、図5は、本発明のOSによるセグメント分割例の説明図である。図1乃至図5は、媒体記憶装置として、光磁気デイスク装置を示す。
図1は、本発明の一実施の形態の媒体記憶システムの構成図、図2は、図1の媒体記憶装置のブロック図、図3は、図2のセグメント分割テーブルの構成図、図4は、キャッシュメモリのセグメント管理テーブルの構成図、図5は、本発明のOSによるセグメント分割例の説明図である。図1乃至図5は、媒体記憶装置として、光磁気デイスク装置を示す。
図1に示すように、パーソナルコンピュータ(PC)等の上位装置2に、USBケーブル4により、媒体記憶装置(光磁気デイスク装置:MO装置という)1が接続される。
上位装置2は、プログラム構成として、WORD(Microsoft社商品名)等のアプリケーション20と、NTFS(NT File System)/FAT(File Allocation Table)/FAT2等のファイルシステムの管理を行うファイルシステムドライバー21と、キャッシュセグメント、HDD(Hard Disk Device)タイプ、SFD(Super Flexible Disk)タイプのフォーマット管理を行うMO(デバイス)ドライバー22、メデイアIDドライバー23、SCSI(Small Computer Serial Interface)/ATAPI(AT Attached Parallel Interface)/USB(Universal Serial Bus)等のコマンドフォーマット管理を行うコマンドドライバー24と、USBの場合に、設定情報を格納するインフォーメーションファイル25と、プラグイン/アウトの検出ためのプラグイン/アウトドライバー26とを有する。又、ハードウェアとして、各種コントローラ(チップセット)のドライバー回路27と、インターフェース用LSI回路28とを有する。
一方、MO装置1は、図2に示すように、上位装置2と接続するためのインターフェース回路10と、デイスクコントローラ12と、リード/ライトコントローラ13と、デイスクドライブ14と、デイスクドライブ14の動作制御を行うCPU(プロセッサ)16と、CPU16の処理のためのRAM(Random Access Memory)15と、CPU16の処理プログラムを格納するROM(Read Only Memory)17と、キャッシュメモリ(バッファメモリともいう)18と、CPU16、RAM15、ROM17,デイスクコントローラ12、リード/ライトコントローラ13を接続するバス19とを有する。
デイスクドライブ14は、周知のMOドライブで構成され、例えば、MOデイスクを回転するスピンドルモータ、MOデイスクのデータのリード/ライトを行う光学ヘッド、光学ヘッドをMOデイスクの所望のトラック位置に移動するアクチュエータを有する。
R/Wコントローラ13は、データフォーマット制御回路、リードアンプ、2値化回路、ライトドライバ、アクチュエータドライバ、光学ヘッドのフォーカス/トラックサーボ制御回路、それらの制御回路等を有する。デイスクコントローラ12は、上位装置2やCPU1からのコマンドを解析するコマンド解析部30と、図3で説明するセグメント分割テーブル32と、図4で説明するキャッシュメモリ18のセグメントの管理を行うセグメント管理(デイレクトリ)テーブル34とを有する。
キャッシュメモリ18は、セグメント管理テーブル34により、セグメント管理され、セグメント単位で、ライトデータやリードデータを格納する。キャッシュメモリ18は、例えば、2Mbyteの容量を持つメモリで構成され、セグメント数が「8」であれば、1セグメントの容量は、250Kbyteとなり、セグメント数が「16」であれば、1セグメントの容量は、125Kbyteとなる。
CPU16は、デイスクコントローラ12からの解析されたコマンドを受け、コマンドに応じて、リード/ライトコントローラ13を制御し、デイスクドライブ14をコマンドに応じたトラックにリード/ライトできる状態にし、且つデイスクコントローラット12に応答を返す。
デイスクコントローラ12は、リード時は、キャッシュメモリ18を参照し、要求データが存在すれば、キャッシュメモリ18からリードデータを上位装置1に転送し、要求データが存在しない場合には、R/Wコントローラ13からリードデータを受け、キャッシュメモリ18に格納した後、上位装置1へ転送する。又、デイスクコントローラ12は、ライト時は、上位装置1からのライトデータを、キャッシュメモリ18に格納した後、R/Wコントローラ13を介しデイスクドライブ14のデイスクにライトバックする。
図3及び図5により、セグメント分割テーブル32を説明する。図5に示すように、WINDOWS(登録商標) OSは、1コマンドで転送する最大量が、32Kbyte(0x80blocks(×512Byte))で制限される。一方、Mac(登録商標) OSでは、500Mbyteの1ファイル(=1000blocks(×512Byte/sector))をドラッグ&ドロップでコピーできる。このように、OSにより、最大転送量が異なる。
本発明は、このOSの最大転送量に注目し、第1に、OSの種類に最適なセグメント分割を行うものである。即ち、OSからOSの種類をMO装置に通知し、MO装置で、OSの最大転送量に適したセグメント分割を行う。
更に、ファイルフォーマットの種類によっても、分割セグメント数を変更することが有効な場合がある。例えば、Windows(登録商標) OSでは、FAT(File Allocation Table)16,32や、UDF(Universal Disk Format)、NTFS(NT File System)等が使用される。
FAT16,32は、主に、HDDのクラスタ単位の記録フォーマットであり、クラスタの使用状況を管理する。FAT16は、クラスタ長が32Kbyte、FAT32は、クラスタ長が4Kbyteである。
又、UDFは、光磁気デイスク装置のフォーマットであり、最大転送量が異なる。NTFSは、Windows NTのファイルシステムであり、ファイル圧縮をサポートする。このようなファイルフォーマットによっても、最大転送量が異なる。
更に、Mac OSでは、HFS(Hierarchical File System)を使用する。例えば、図3及び図5に示すように、Windows XPでは、FAT16/32では、小セグメント(セグメント数大)、UDFでは、中セグメント(セグメント数中)、NTFSでは、中セグメント(セグメント数中),Mac 10.Xでは、大セグメント(セグメント数小)にセグメント分割する。
図3のセグメント分割テーブル32は、このOS、フォーマットの種類に対する、分割セグメント数を格納し、同様に、初期値(デフォルト値)として、分割セグメント数が大を格納する。この例では、分割セグメント数は、「8」、「4」、「1」を例示しているが、この数に限られない。
図4に示すように、同様に、セグメント管理テーブル34は、キャッシュメモリ18の各セグメントの有効/無効(リンク)と、開始アドレス、終了アドレスとを格納する。デイスクコントローラ12は、セグメント分割テーブル32を参照して、決定された分割セグメント数に応じて、セグメント管理テーブル34を更新する。
[第1の実施の形態]
図6は、本発明の第1の実施の形態のCDB(Control Data Block)の説明図、図7は、本発明の第1の実施の形態のセグメント数制御のシーケンス図、図8及び図9は、図7の処理フロー図、図10及び図11は、図7乃至図9の動作説明図、図12は、本発明のドライブ動作の説明図である。
図6は、本発明の第1の実施の形態のCDB(Control Data Block)の説明図、図7は、本発明の第1の実施の形態のセグメント数制御のシーケンス図、図8及び図9は、図7の処理フロー図、図10及び図11は、図7乃至図9の動作説明図、図12は、本発明のドライブ動作の説明図である。
図6に示すように、上位から発行されるパケット(CDB)は、12バイトで構成され、0バイト目が、オペレーションコード(ライト/リード等)、2−5バイト目が、論理ブロックアドレス、7−8バイト目が、転送長で、後は、リザーブであり、ベンダーやユーザーが任意に使用できる。
本発明では、このCDBのリザーブバイトに、OSの種類やフォーマットの種類を設定する。例えば、図6の下段に示すように、CDBでライトコマンドを発行する場合に、10バイト目に、フォーマットの種類の有効フラグa,OSの種類の有効フラグb,フォーマット種類を記載する。又、11バイト目に、OSの種類を記載する。
図7及び図8により、上位とセグメント数変更シーケンスを含むライト処理を説明する。図7に示すように、上位装置2は、図6で示したCDBによりライトコマンドを発行する。この時、図6で示したように、CDBの10バイト目に、フォーマット種類の有効フラグa,OSの種類の有効フラグb,フォーマット種類(フォーマットフラグという)を、11バイト目に、OSの種類(OSフラグという)を記載する。この記載を含むCDBの作成は、図1のMOドライバー22が、ファイルシステムドライバー21を認識し、区画管理により、コマンドドライバー24に通知し、コマンドドライバー24で、実行される。
MO装置1では、このCDB内のOSの種類とフォーマットの種類により、セグメント数を設定する。図8に示すように、MO装置1では、ホストから電源オン(USBでは、電流を受ける)と、初期化により、セグメントを小ブロック(セグメント数大)のデフォルト値を使用し、セグメント管理テーブル34を作成する。そして、上位からライトコマンドが到来すると、MO装置1のデイスクコントローラ12のコマンド解析部30が、セグメント数変更処理を実行する。
図8及び図9の例では、OSフラグにより、OSがWindows 98であると認識して、図3のテーブル32を参照して、中ブロック(セグメント数中「4」)と決定する。そして、決定された分割セグメント数に応じて、セグメント管理テーブル34を更新する。図9は、キャッシュメモリ18の分割されたセグメントを示す。
図10及び図11の例では、OSフラグにより、OSがMacであると認識して、図3のテーブル32を参照して、大ブロック(セグメント数中「1」)と決定する。そして、決定された分割セグメント数に応じて、セグメント管理テーブル34を更新する。図11は、キャッシュメモリ18の分割されたセグメントを示す。
次に、図7に戻り、上位装置2からライトデータが転送され、MO装置1のデイスクコントローラ12は、セグメント管理テーブル34で決定されたキャッシュメモリ18のセグメント単位に、ライトデータを格納し、その後、デイスクコントローラ12は、キャッシュメモリ18のライトデータをセグメント単位で、ドライブ14に送り、媒体(MOデイスク)に書き込む。そして、書き込み完了を上位装置2に通知する。
図12(A)及び図12(B)は、デイスクドライブの書き込み動作の説明図である。図12(A)は、1セグメントが、32KByteである場合のMOドライブの動作説明図、図12(B)は、1セグメントが、64KByteである場合のMOドライブの動作説明図である。
図12(A)及び図12(B)に示すように、MO装置1では、ライトバッファ(キャッシュメモリ18)にデータが入力されると、シーク動作(S)を行い、指令されたトラックに光学ヘッドを位置付け、指令されたセクター(単数又は複数)のイレーズ(E),ライト(R),ベリファイ(V)を行う。尚、L(Latency)は、回転待ち等の時間である。
従って、1コマンドで32KByteを越えるライトデータが到来した場合に、図12(A)のような1セグメントを、32KByteに設定している時は、シーク、イレーズ、ライト、ベリファイの一連のシーケンスを2回行う。一方、図12(B)のように、1セグメントを、64KByteに設定している時は、シーク、イレーズ、ライト、ベリファイの一連のシーケンスは、1回で済む。
このため、ライトコマンド完了までに要する時間は、図12(A)の1セグメントが、32KByteである場合に比し、図12(B)の1セグメントが、64KByteである場合には、約2/3の時間(130/195ms)で済み、オーバヘッド時間を短縮できる。特に、Mac OSのような転送最大量が、600Mbyteである時は、更に有効である。
一方、Windows OSのように、1コマンドの最大転送量が、32KByteである場合には、図12(A)のような1セグメントを、32KByteとした方が、キャッシュメモリ18の有効利用の点で好ましい。
尚、図10に示すように、CDB内のOSフラグやフォーマットフラグが有効を示していない場合には、セグメント数を初期値に戻す。例えば、図10の例では、図11のように、CDB内のOSフラグやフォーマットフラグが有効を示している場合には、セグメント数を最大に設定するため、キャッシュメモリ18は、セグメント数が「1」となり、そのライトコマンドの完了後は、他のライトデータが存在しないため、次のライトコマンドでセグメント数を変更しても、何ら問題はない。
このように、OSからの通知により、OSに依存する1コマンドの最大転送量に合わせて、キャッシュメモリ18のセグメント数を変更することにより、そのOSのライト処理に適したセグメント数で、高速に書き込み処理できる。又、図5に示したように、OSが同一でも、ファイルシステムのフォーマット種類により、1コマンドの最大転送量が相違する場合もあるため、OSの種類とフォーマットの種類に応じて、セグメント数を変更することは、更に有効である。
又、CDBの形式で、OSから通知するため、コマンドフォーマットを変更せずに、実現でき、簡単に実行できる。更に、ライトコマンドに設定するため、OS側の発行するコマンド数を変更せず、実現できる。
特に、媒体記憶装置の中の光デイスクドライブでは、MOドライブでは、図12のように、ライト時に、イレーズ/ライト/ライトベリファイを行っており、又、MDドライブやDVDドライブでは、オーバーライト/ベリファイリードを行っており、HDDドライブでも同様である。このベリファイリードが終了するまでは、ライト失敗時に備えて、キャッシュメモリのデータは残しておく必要があるため、セグメント数の変更により、上位装置(ホスト)からのOSに依存する受信量を最適化することで、上位装置の転送待ちを減らし、上位装置に対する書き込み処理の高速応答が可能となる。
[第2の実施の形態]
図13は、本発明の第2の実施の形態のベンダーコマンドのCDB(Control Data Block)の説明図、図14は、本発明の第2の実施の形態のライトコマンドのCDBの説明図、図15は、本発明の第2の実施の形態のセグメント数制御のシーケンス図、図16は、図15の処理フロー図、図17は、図15乃至図16の動作説明図である。
図13は、本発明の第2の実施の形態のベンダーコマンドのCDB(Control Data Block)の説明図、図14は、本発明の第2の実施の形態のライトコマンドのCDBの説明図、図15は、本発明の第2の実施の形態のセグメント数制御のシーケンス図、図16は、図15の処理フロー図、図17は、図15乃至図16の動作説明図である。
図13及び図14に示すように、上位から発行されるパケット(CDB)は、12バイトで構成され、0バイト目が、オペレーションコード(ライト/リード等)、2−5バイト目が、論理ブロックアドレス、7−8バイト目が、転送長で、後は、リザーブであり、ベンダーやユーザーが任意に使用できる。
この実施の形態でも、このCDBのリザーブバイトに、OSの種類やフォーマットの種類を設定する。図13に示すように、ベンダーコマンドをCDBで設定し、オペレーションコードにベンダーコマンド(F1h)を設定し、2−9バイト目をリザーブとし、10バイト目に、フォーマット種類の有効フラグa,OSの種類の有効フラグb,フォーマット種類を記載する。又、11バイト目に、OSの種類を記載する。
そして、この実施の形態は、図13に示すように、ライトコマンドのCDBで設定し、2−5バイト目が、論理ブロックアドレス、7−8バイト目が、転送長で、後は、リザーブとする。
図15及び図16により、上位とセグメント数変更シーケンスを含むライト処理を説明する。図15に示すように、上位装置2は、図13で示したCDBによりベンダーコマンドを発行する。この時、図13で示したように、CDBの10バイト目に、フォーマット種類の有効フラグa,OSの種類の有効フラグb,フォーマット種類(フォーマットフラグという)を、11バイト目に、OSの種類(OSフラグという)を記載する。この記載を含むCDBの作成は、図1のMOドライバー22が、ファイルシステムドライバー21を認識し、区画管理により、コマンドドライバー24に通知し、コマンドドライバー24で、実行される。
MO装置1では、このCDB内のOSの種類とフォーマットの種類により、セグメント数を設定する。図16に示すように、MO装置1では、ホストから電源オン(USBでは、電流を受ける)と、初期化により、セグメントを小ブロック(セグメント数大)のデフォルト値を使用し、セグメント管理テーブル34を作成する。そして、上位からベンダーコマンドが到来すると、MO装置1のデイスクコントローラ12のコマンド解析部30が、セグメント数変更処理を実行する。
図15及び図16の例では、OSフラグにより、OSがWindows 98であると認識して、図3のテーブル32を参照して、中ブロック(セグメント数中「4」)と決定する。そして、決定された分割セグメント数に応じて、セグメント管理テーブル34を更新する。図16は、キャッシュメモリ18の分割されたセグメントを示す。
次に、図15に戻り、上位装置2から一般ライトコマンド(図14)とライトデータが転送され、MO装置1のデイスクコントローラ12は、セグメント管理テーブル34で決定されたキャッシュメモリ18のセグメント単位に、ライトデータを格納し、その後、デイスクコントローラ12は、キャッシュメモリ18のライトデータをセグメント単位で、ドライブ14に送り、媒体(MOデイスク)に書き込む。そして、書き込み完了を上位装置2に通知する。
このように、OSからの通知により、OSに依存する1コマンドの最大転送量に合わせて、キャッシュメモリ18のセグメント数を変更することにより、そのOSのライト処理に適したセグメント数で、高速に書き込み処理できる。又、図5に示したように、OSが同一でも、ファイルシステムのフォーマット種類により、1コマンドの最大転送量が相違する場合もあるため、OSの種類とフォーマットの種類に応じて、セグメント数を変更することは、更に有効である。
又、CDBの形式で、OSから通知するため、コマンドフォーマットを変更せずに、実現でき、簡単に実行できる。更に、ベンダーコマンドを設けたため、OS側の認識するコマンド体系を変更せず、ベンダー自体の設定で変更できる。
[他の実施の形態]
前述の実施の形態では、媒体記憶装置を、光磁気デイスク装置で説明したが、磁気デイスク装置、光デイスク装置等他の媒体記憶装置にも、適用できる。又、USB接続の例で説明したが、ATAPI等他のインターフェースにも適用できる。更に、キャッシュメモリの容量や、セグメント数も実施の形態に限られない。
前述の実施の形態では、媒体記憶装置を、光磁気デイスク装置で説明したが、磁気デイスク装置、光デイスク装置等他の媒体記憶装置にも、適用できる。又、USB接続の例で説明したが、ATAPI等他のインターフェースにも適用できる。更に、キャッシュメモリの容量や、セグメント数も実施の形態に限られない。
しかも、上位装置をパーソナルコンピュータで説明したが、サーバー、ビデオレコーダー、テレビ、デジタルカメラ等のOSで動作する情報家電機器にも適用できる。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
(付記1)上位装置に接続され、上位装置からのライトデータを記憶する媒体記憶装置において、媒体にデータを記録する媒体ドライブユニットと、前記上位装置からのライトデータを格納するキャッシュメモリと、前記キャッシュメモリのセグメント数を管理するとともに、前記キャッシュメモリに格納されたライトデータを前記媒体ドライブユニットに記録するためのコントローラとを有し、前記コントローラは、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする媒体記憶装置。
(付記2)前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする付記1の媒体記憶装置。
(付記3)前記コントローラは、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類及びフォーマットの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする付記1の媒体記憶装置。
(付記4)前記コントローラは、前記上位装置からの前記上位装置のOSの種類に応じた、前記キャッシュメモリのセグメント数を格納するテーブルを有し、前記テーブルを参照して、前記キャッシュメモリのセグメント数を設定することを特徴とする付記1の媒体記憶装置。
(付記5)前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知されたライトコマンドに設定された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする付記1の媒体記憶装置。
(付記6)前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知されたベンダーコマンドに設定された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする付記1の媒体記憶装置。
(付記7)前記コントローラは、前記媒体ドライブ部に、前記キャッシュメモリのセグメント単位で、書き込み動作を実行させることを特徴とする付記1の媒体記憶装置。
(付記8)前記媒体ドライブ部は、前記媒体に、ヘッドにより書き込みを行うドライブ機構で構成されたことを特徴とする付記1の媒体記憶装置。
(付記9)上位装置に接続され、上位装置からのライトデータを記憶する媒体記憶装置のキャッシュセグメント切り替え方法において、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類に応じて、キャッシュメモリのセグメント数を設定するステップと、前記上位装置からのライトデータを前記キャッシュメモリの設定されたセグメント単位に格納するステップと、前記キャッシュメモリに格納されたライトデータを媒体ドライブユニットに記録するステップとを有することを特徴とする媒体記憶装置のキャッシュセグメント切り替え方法。
(付記10)前記設定ステップは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定するステップからなることを特徴とする付記9の媒体記憶装置のキャッシュセグメント切り替え方法。
(付記11)前記設定ステップは、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類及びフォーマットの種類に応じて、前記キャッシュメモリのセグメント数を設定するステップからなることを特徴とする付記9の媒体記憶装置のキャッシュセグメント切り替え方法。
(付記12)前記設定ステップは、前記上位装置からの前記上位装置のOSの種類に応じた、前記キャッシュメモリのセグメント数を格納するテーブルを参照して、前記キャッシュメモリのセグメント数を設定するステップからなることを特徴とする付記9の媒体記憶装置のキャッシュセグメント切り替え方法。
(付記13)前記設定ステップは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知された所定のコマンドに設定された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定するステップからなることを特徴とする付記9の媒体記憶装置のキャッシュセグメント切り替え方法。
(付記14)前記記録ステップは、媒体ドライブ部に、前記キャッシュメモリのセグメント単位で、書き込み動作を実行させるステップからなることを特徴とする付記9の媒体記憶装置のキャッシュセグメント切り替え方法。
(付記15)ライトコマンドとライトデータを発行する上位装置と、前記上位装置に接続され、前記上位装置からのライトデータを記憶する媒体記憶装置とを有し、前記媒体記憶装置は、媒体にデータを記録する媒体ドライブユニットと、前記上位装置からのライトデータを格納するキャッシュメモリと、前記キャッシュメモリのセグメント数を管理するとともに、前記キャッシュメモリに格納されたライトデータを前記媒体ドライブユニットに記録するためのコントローラとを有し、前記上位装置は、前記ライトデータの転送に先立って前記上位装置のOSの種類を、前記媒体記憶装置にドライバーにより通知し、前記コントローラは、前記OSの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする媒体記憶システム。
(付記16)前記上位装置は、前記ライトデータの転送に先立ってCDBフォーマットで前記上位装置のOSの種類を、前記媒体記憶装置に通知することを特徴とする付記15の媒体記憶システム。
(付記17)前記上位装置は、前記ライトデータの転送に先立って前記上位装置のOSの種類及びフォーマットの種類を前記媒体記憶装置に通知し、前記コントローラは、前記通知されたOSの種類及びフォーマットの種類に応じて、前記キャッシュメモリのセグメント数を設定することを特徴とする付記15の媒体記憶システム。
(付記18)前記コントローラは、前記上位装置からの前記上位装置のOSの種類に応じた、前記キャッシュメモリのセグメント数を格納するテーブルを有し、前記テーブルを参照して、前記キャッシュメモリのセグメント数を設定することを特徴とする付記15の媒体記憶システム。
(付記19)前記上位装置は、前記ライトデータの転送に先立ってCDBフォーマットの所定のコマンドに前記上位装置のOSの種類を設定することを特徴とする付記15の媒体記憶システム。
(付記20)前記コントローラは、前記媒体ドライブ部に、前記キャッシュメモリのセグメント単位で、書き込み動作を実行させることを特徴とする付記15の媒体記憶システム。
このように、ライトデータの転送の前に、予め上位装置からのセグメント変更の通知を行って、OSの種類に依存する1コマンドの最大転送量に合わせて、キャッシュメモリのセグメント数を変更することにより、ライトデータを媒体記憶装置で処理する最初の段階から既にセグメント数を所望のものに設定することができるため、そのOSのライト処理に適したセグメント数で、高速に書き込み処理できる。このため、媒体記憶装置のオーバヘッドを減少でき、書き込み速度の高速化に寄与する。
1 媒体記憶装置(MO装置)
2 上位装置(PC)
10 インターフェース回路
12 デイスクコントローラ
13 リード/ライトコントローラ
14 媒体記憶ドライブ
18 キャッシュメモリ
22 MOドライバー
24 コマンドドライバー
30 コマンド解析部
32 セグメント分割テーブル
34 セグメント管理テーブル
2 上位装置(PC)
10 インターフェース回路
12 デイスクコントローラ
13 リード/ライトコントローラ
14 媒体記憶ドライブ
18 キャッシュメモリ
22 MOドライバー
24 コマンドドライバー
30 コマンド解析部
32 セグメント分割テーブル
34 セグメント管理テーブル
Claims (5)
- 上位装置に接続され、上位装置からのライトデータを記憶する媒体記憶装置において、
媒体にデータを記録する媒体ドライブユニットと、
前記上位装置からのライトデータを格納するキャッシュメモリと、
前記キャッシュメモリのセグメント数を管理するとともに、前記キャッシュメモリに格納されたライトデータを前記媒体ドライブユニットに記録するためのコントローラとを有し、
前記コントローラは、前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定する
ことを特徴とする媒体記憶装置。 - 前記コントローラは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定する
ことを特徴とする請求項1の媒体記憶装置。 - 上位装置に接続され、上位装置からのライトデータを記憶する媒体記憶装置のキャッシュセグメント切り替え方法において、
前記上位装置から前記ライトデータの転送に先立って通知された前記上位装置のOSの種類に応じて、キャッシュメモリのセグメント数を設定するステップと、
前記上位装置からのライトデータを前記キャッシュメモリの設定されたセグメント単位に格納するステップと、
前記キャッシュメモリに格納されたライトデータを媒体ドライブユニットに記録するステップとを有する
ことを特徴とする媒体記憶装置のキャッシュセグメント切り替え方法。 - 前記設定ステップは、前記上位装置から前記ライトデータの転送に先立ってCDBフォーマットで通知された前記上位装置のOSの種類に応じて、前記キャッシュメモリのセグメント数を設定するステップからなる
ことを特徴とする請求項3の媒体記憶装置のキャッシュセグメント切り替え方法。 - ライトコマンドとライトデータを発行する上位装置と、
前記上位装置に接続され、前記上位装置からのライトデータを記憶する媒体記憶装置とを有し、
前記媒体記憶装置は、
媒体にデータを記録する媒体ドライブユニットと、
前記上位装置からのライトデータを格納するキャッシュメモリと、
前記キャッシュメモリのセグメント数を管理するとともに、前記キャッシュメモリに格納されたライトデータを前記媒体ドライブユニットに記録するためのコントローラとを有し、
前記上位装置は、前記ライトデータの転送に先立って前記上位装置のOSの種類を、前記媒体記憶装置にドライバーにより通知し、
前記コントローラは、前記OSの種類に応じて、前記キャッシュメモリのセグメント数を設定する
ことを特徴とする媒体記憶システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216118A JP2006039756A (ja) | 2004-07-23 | 2004-07-23 | 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム |
US11/006,092 US20060020751A1 (en) | 2004-07-23 | 2004-12-07 | Medium storage device, cache segment switching method for medium storage device, and medium storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216118A JP2006039756A (ja) | 2004-07-23 | 2004-07-23 | 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006039756A true JP2006039756A (ja) | 2006-02-09 |
Family
ID=35658600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004216118A Withdrawn JP2006039756A (ja) | 2004-07-23 | 2004-07-23 | 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060020751A1 (ja) |
JP (1) | JP2006039756A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005267497A (ja) * | 2004-03-22 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置、その制御方法及び磁気ディスク記憶装置 |
US8566639B2 (en) * | 2009-02-11 | 2013-10-22 | Stec, Inc. | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
US20100205349A1 (en) * | 2009-02-11 | 2010-08-12 | Stec, Inc. | Segmented-memory flash backed dram module |
US8977805B2 (en) * | 2009-03-25 | 2015-03-10 | Apple Inc. | Host-assisted compaction of memory blocks |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3898782B2 (ja) * | 1996-08-23 | 2007-03-28 | オリンパス株式会社 | 情報記録再生装置 |
US6725330B1 (en) * | 1999-08-27 | 2004-04-20 | Seagate Technology Llc | Adaptable cache for disc drive |
-
2004
- 2004-07-23 JP JP2004216118A patent/JP2006039756A/ja not_active Withdrawn
- 2004-12-07 US US11/006,092 patent/US20060020751A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20060020751A1 (en) | 2006-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7472219B2 (en) | Data-storage apparatus, data-storage method and recording/reproducing system | |
US7373477B2 (en) | Fragmentation executing method and storage device | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US7987328B2 (en) | Data archive system | |
KR20090032821A (ko) | 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치 | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
KR100388338B1 (ko) | 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 | |
CN100454426C (zh) | 记录装置 | |
US8200888B2 (en) | Seek time emulation for solid state drives | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
JP4802791B2 (ja) | データ記憶装置及びデータアクセス方法 | |
US9235352B2 (en) | Datastore for non-overwriting storage devices | |
US6532513B1 (en) | Information recording and reproduction apparatus | |
JP2006039756A (ja) | 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム | |
JP3969809B2 (ja) | 記憶装置におけるデータバッファの管理方法 | |
KR101072730B1 (ko) | 기록 재생 장치 및 기록 방법 | |
JP2006127401A (ja) | 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム | |
JP4496790B2 (ja) | データ記憶装置及び方法、並びに記録再生システム | |
JP4984677B2 (ja) | 情報処理装置 | |
JP4301026B2 (ja) | データ記録装置及びデータ記録方法、並びに記録再生システム | |
KR20030061948A (ko) | 정보 저장 장치 및 그를 이용한 파일 관리 방법 | |
JP2005165781A (ja) | 記録再生装置及び方法、並びに記録再生システム | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
JP2008158572A (ja) | データ記憶装置 | |
JP3376316B2 (ja) | ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070119 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070314 |