JP2007133657A - メモリ制御装置及びメモリ制御方法 - Google Patents
メモリ制御装置及びメモリ制御方法 Download PDFInfo
- Publication number
- JP2007133657A JP2007133657A JP2005326074A JP2005326074A JP2007133657A JP 2007133657 A JP2007133657 A JP 2007133657A JP 2005326074 A JP2005326074 A JP 2005326074A JP 2005326074 A JP2005326074 A JP 2005326074A JP 2007133657 A JP2007133657 A JP 2007133657A
- Authority
- JP
- Japan
- Prior art keywords
- write data
- memory
- temporarily stored
- storage
- existing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】キャッシュメモリへのライトデータの一時記憶を効率的に行うことが可能なメモリ制御装置及びメモリ制御方法を提供する。
【解決手段】PC10から入力された新たなライトデータをキャッシュメモリ22に一時記憶する際に、当該新たなライトデータの論理ブロックアドレス(LBA)と、前記キャッシュメモリ22のメモリセグメント毎に一時記憶された既存のライトデータの論理ブロックアドレスとを夫々比較し、記憶位置が同一となる共通アドレス範囲を検出する検出部211と、前記検出された共通アドレス範囲に対応する前記新たなライトデータを、当該共通アドレス範囲に対応する前記既存のライトデータ上に上書する制御部21と、を備える。
【選択図】図2
【解決手段】PC10から入力された新たなライトデータをキャッシュメモリ22に一時記憶する際に、当該新たなライトデータの論理ブロックアドレス(LBA)と、前記キャッシュメモリ22のメモリセグメント毎に一時記憶された既存のライトデータの論理ブロックアドレスとを夫々比較し、記憶位置が同一となる共通アドレス範囲を検出する検出部211と、前記検出された共通アドレス範囲に対応する前記新たなライトデータを、当該共通アドレス範囲に対応する前記既存のライトデータ上に上書する制御部21と、を備える。
【選択図】図2
Description
本発明は、情報機器と記憶媒体との間で転送されるデータを一時記憶するキャッシュメモリのメモリ制御装置及びメモリ制御方法に関する。
従来、パーソナルコンピュータ等の情報機器(以下、PCという)に接続される情報記憶再生装置(例えば、光磁気(MO)ディスク装置等)は、文書データや画像データ等の種々のデータ(以下、ファイルという)を記憶媒体(例えば、光磁気(MO)ディスク等)に記憶するのに使用されている。
上記の情報記憶再生装置では、PCから指示されるファイルのライト処理を高速化するために情報記憶再生装置内にキャッシュメモリを設け、このキャッシュメモリに前記ファイルを所定のサイズ毎に分割した複数の書込データ(以下、ライトデータという)を一時記憶した後、記憶媒体に記憶することで一のファイルの記憶を行う構成が一般的に用いられている。
キャッシュメモリを用いた構成では、キャッシュメモリへのライトデータの一時記憶がランダムな位置に対して行われることが多くあり、これにより記憶媒体への記憶動作の実行時間が長くなるという問題がある。そのため、従来、PCから送信されるデータの連続性を判別し、不連続の場合にキャッシュメモリに一時記憶可能なデータ量を連続している場合よりも小さくすることで、記憶媒体への記憶動作の実行時間の短縮を図った技術が提案されている(例えば、特許文献1参照)。
また、従来のキャッシュメモリに関する技術では、キャッシュメモリに新たなライトデータの一時記憶を行う際に、この新たなライトデータの記憶位置を指示するLBA(論理ブロックアドレス:Logical Block Address)が、キャッシュメモリに一時記憶された既存のライトデータの連続したLBAと同一又は連続したLBAに包含されるような場合に、既存のライトデータにおける該当LBA部分を新たなライトデータで上書きすることで、キャッシュメモリへの一時記憶動作の効率化を図っている。
特開平7−267240号公報
しかしながら、従来の技術では、キャッシュメモリに一時記憶を行う新たなライトデータのLBAが、キャッシュメモリに一時記憶された既存のライトデータの連続したLBAと部分的に同一となるような場合には、夫々独立したライトデータとして取り扱われることになるため、新たなライトデータは既存のライトデータとは個別に一時記憶されることになる。
図7は、従来の一時記憶方式を説明するための図であって、キャッシュメモリ22に一時記憶されたライトデータの状態の一例を模式的に示した図である。なお、キャッシュメモリ22の記憶領域内において実線にて区分けされた各矩形領域は、キャッシュメモリ22の記憶領域を論理的に構成するメモリセグメントを意味しており、このメモリセグメント単位毎にライトデータが順次一時記憶されるようになっている。また、各メモリセグメント内に示した数値は、当該メモリセグメントに一時記憶されたライトデータのLBA(論理ブロックアドレス:Logical Block Address)を意味する。ここで、「LBA」とは記憶媒体におけるライトデータの記憶場所を指示した情報であって、記憶媒体が有するデータブロック(セクタ)に一意に対応するアドレス値が指示されている。
ここで、例えば、PCからLBA2〜8へのライトデータの記憶を指示するライト要求Aが情報記憶装置に入力されると、図7(a)に示すように、キャッシュメモリ22にはライト要求Aに対応するライトデータが先頭のメモリセグメントに一時記憶される。
次に、PCからLBA0〜5へのライトデータの記憶を指示するライト要求Bが入力されると、この新たなライトデータの一部のLBA2〜5と、既に一時記憶されたライトデータの連続したLBA2〜5とが重複しているにもかかわらず、ライト要求Bに対応するライトデータは、図7(b)に示すように、既存のライトデータ後段のメモリセグメントに一時記憶されることになる。
また、PCからLBA4〜7へのライトデータの記憶を指示するライト要求Cが入力された場合には、新たなライトデータのLBA4〜7は既に一時記憶されているライト要求Aに係るライトデータのLBA2〜8に含まれるため、図7(c)に示すように、このLBA2〜8のうちLBA4〜7の部分がライト要求Cに係るライトデータに上書きされる。
さらに、PCから順次LBA6〜10、LBA1〜9、LBA0〜11への記憶を指示するライト要求(夫々、ライト要求D、ライト要求E、ライト要求Fとする)が入力された場合には、図7(d)に示すように、ライト要求D〜Fに対応するライトデータは、それぞれ既存のライトデータ後段のメモリセグメントに順次一時記憶されることになる。
上記のように、従来の技術では、新たなライトデータのLBAが、キャッシュメモリに一時記憶された既存のライトデータのLBAと部分的に一致するような場合であっても、新たなライトデータは個別に一時記憶されることになる。これにより、一時記憶処理を行うための比較的大容量のキャッシュメモリが必要となるため、コストが増大する可能性がある。また、同一のLBAに対する記憶動作が重複して行われるため、記憶媒体への記憶動作の実行時間が増大するという問題がある。
本発明の課題は、キャッシュメモリへのライトデータの一時記憶を効率的に行うことが可能なメモリ制御装置及びメモリ制御方法を提供することである。
上記課題を解決するため、請求項1に記載の発明は、
情報機器から入力される書込データ及び当該書込データの記憶位置を指示する論理ブロックアドレスとをメモリセグメント毎に順次一時記憶するキャッシュメモリと、前記一時記憶された書込データを当該書込データの論理ブロックアドレスに基づいて記憶媒体に記憶させる記憶手段と、を備えたメモリ制御装置において、
前記情報機器から入力された新たな書込データを前記キャッシュメモリに一時記憶する際に、当該新たな書込データの論理ブロックアドレスと、前記キャッシュメモリのメモリセグメント毎に一時記憶された既存の書込データの論理ブロックアドレスとを夫々比較し、前記記憶位置が同一となる共通アドレス範囲を検出する検出手段と、
前記検出された共通アドレス範囲に対応する前記新たな書込データを、当該共通アドレス範囲に対応する前記既存の書込データ上に上書する一時記憶制御手段と、
を備えたことを特徴としている。
情報機器から入力される書込データ及び当該書込データの記憶位置を指示する論理ブロックアドレスとをメモリセグメント毎に順次一時記憶するキャッシュメモリと、前記一時記憶された書込データを当該書込データの論理ブロックアドレスに基づいて記憶媒体に記憶させる記憶手段と、を備えたメモリ制御装置において、
前記情報機器から入力された新たな書込データを前記キャッシュメモリに一時記憶する際に、当該新たな書込データの論理ブロックアドレスと、前記キャッシュメモリのメモリセグメント毎に一時記憶された既存の書込データの論理ブロックアドレスとを夫々比較し、前記記憶位置が同一となる共通アドレス範囲を検出する検出手段と、
前記検出された共通アドレス範囲に対応する前記新たな書込データを、当該共通アドレス範囲に対応する前記既存の書込データ上に上書する一時記憶制御手段と、
を備えたことを特徴としている。
更に、請求項2に記載の発明は、請求項1に記載の発明において、
前記一時記憶制御手段は、前記検出手段により検出された共通アドレス範囲以外を記憶位置とする前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
前記一時記憶制御手段は、前記検出手段により検出された共通アドレス範囲以外を記憶位置とする前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
更に、請求項3に記載の発明は、請求項1又は2に記載の発明において、
前記一時記憶制御手段は、前記メモリセグメント毎に一時記憶された各既存の書込データの論理ブロックアドレスが、前記共通アドレス範囲に包含される場合、この包含関係にある既存の書込データが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存の書込データの論理ブロックアドレスに対応する前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
前記一時記憶制御手段は、前記メモリセグメント毎に一時記憶された各既存の書込データの論理ブロックアドレスが、前記共通アドレス範囲に包含される場合、この包含関係にある既存の書込データが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存の書込データの論理ブロックアドレスに対応する前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
また、上記課題を解決するために、請求項4に記載の発明は、
情報機器から入力される書込データ及び当該書込データの記憶位置を指示する論理ブロックアドレスとをメモリセグメント毎に順次一時記憶するキャッシュメモリと、前記一時記憶された書込データを当該書込データの論理ブロックアドレスに基づいて記憶媒体に記憶させる記憶手段と、を備えたメモリ制御装置のメモリ制御方法であって、
前記情報機器から入力された新たな書込データを前記キャッシュメモリに一時記憶する際に、当該新たな書込データの論理ブロックアドレスと、前記キャッシュメモリのメモリセグメント毎に一時記憶された既存の書込データの論理ブロックアドレスとを夫々比較し、前記記憶位置が同一となる共通アドレス範囲を検出する検出工程と、
前記検出された共通アドレス範囲に対応する前記新たな書込データを、当該共通アドレス範囲に対応する前記既存の書込データ上に上書する一時記憶制御工程と、
を含むことを特徴としている。
情報機器から入力される書込データ及び当該書込データの記憶位置を指示する論理ブロックアドレスとをメモリセグメント毎に順次一時記憶するキャッシュメモリと、前記一時記憶された書込データを当該書込データの論理ブロックアドレスに基づいて記憶媒体に記憶させる記憶手段と、を備えたメモリ制御装置のメモリ制御方法であって、
前記情報機器から入力された新たな書込データを前記キャッシュメモリに一時記憶する際に、当該新たな書込データの論理ブロックアドレスと、前記キャッシュメモリのメモリセグメント毎に一時記憶された既存の書込データの論理ブロックアドレスとを夫々比較し、前記記憶位置が同一となる共通アドレス範囲を検出する検出工程と、
前記検出された共通アドレス範囲に対応する前記新たな書込データを、当該共通アドレス範囲に対応する前記既存の書込データ上に上書する一時記憶制御工程と、
を含むことを特徴としている。
更に、請求項5に記載の発明は、請求項4に記載の発明において、
前記一時記憶制御工程は、前記検出手段により検出された共通アドレス範囲以外を記憶位置とする前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
前記一時記憶制御工程は、前記検出手段により検出された共通アドレス範囲以外を記憶位置とする前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
更に、請求項6に記載の発明は、請求項4又は5に記載の発明において、
前記一時記憶制御工程は、前記メモリセグメント毎に一時記憶された各既存の書込データの論理ブロックアドレスが、前記共通アドレス範囲に包含される場合、この包含関係にある既存の書込データが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存の書込データの論理ブロックアドレスに対応する前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
前記一時記憶制御工程は、前記メモリセグメント毎に一時記憶された各既存の書込データの論理ブロックアドレスが、前記共通アドレス範囲に包含される場合、この包含関係にある既存の書込データが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存の書込データの論理ブロックアドレスに対応する前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴としている。
請求項1、4に記載の発明によれば、キャッシュメモリに一時記憶された既存の書込データを、当該既存の書込データの論理ブロックアドレスと一部又は全部が同一となる新たな書込データに上書きするため、書込データの一時記憶を効率的に行うことができる。これにより、キャッシュメモリの使用容量を抑えることが可能であるため、このキャッシュメモリにかかるコストを抑えることができる。また、同一のLBAに対する記憶動作を一度に行うことができるため、記憶媒体への記憶動作の実行時間を短縮させることができる。
請求項2、5に記載の発明によれば、既存の書込データ後段に共通アドレス範囲以外を記憶位置とする新たな書込データをメモリブロック単位で順次一時記憶することができる。
請求項3、6に記載の発明によれば、共通アドレス範囲に包含される既存の書込データが記憶されたメモリセグメントを無効化し、包含関係にある既存の書込データの論理ブロックアドレスに対応する新たな書込データを前記既存の書込データ後段のメモリセグメントに新たに一時記憶させることができるため、書込データの一時記憶を効率的に行うことができる。これにより、キャッシュメモリの使用容量を抑えることが可能であるため、このキャッシュメモリにかかるコストを抑えることができる。また、同一のLBAに対する記憶動作を一度に行うことができるため、記憶媒体への記憶動作の実行時間を短縮させることができる。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。ただし、発明の範囲は図示例に限定されないものとする。
図1は、PC10と、本発明に係るメモリ制御装置を備えた情報記憶再生装置10との関係を模式的に示した図である。
図1に示すとおり、PC10と情報記憶再生装置20とは、ケーブルCを介して接続されており、相互に種々の情報(データ)の授受が可能に構成されている。
図1に示すとおり、PC10と情報記憶再生装置20とは、ケーブルCを介して接続されており、相互に種々の情報(データ)の授受が可能に構成されている。
PC10は、サーバ機器やパーソナルコンピュータ等の情報機器であって、後述する記憶部12に記憶された文書データや画像データ等の種々のデータ(以下、ファイルという)の記憶媒体Mへの記憶を指示するライト要求を情報記憶再生装置20に出力することで、記憶媒体Mにファイルの複製を記憶させる。また、PC10は、記憶媒体Mに記憶されたファイルの取得を指示するリード要求を情報記憶再生装置10に出力することで、記憶媒体Mからファイルを読み出させる。
情報記憶再生装置20は、例えば、MOドライブ、CD−R(RW)ドライブ、DVD±R(RW)ドライブ、DVD−RAMドライブ、ハードディスクドライブ等であって、PC10から入力されるライト要求に応じてファイルを記憶媒体M(例えば、MOディスク)に記憶するとともに、PC10からのリード要求に応じて記憶媒体Mに記憶されたファイルを読み出し、PC10に出力する。なお、記憶媒体Mは、図示したように情報記憶再生装置20に着脱可能な態様としてもよいし、情報記憶再生装置20内に固定的に備えた態様としてもよい。
図2は、PC10及び情報記憶再生装置20の内部構成を示した図である。
PC10は、図2に示すとおり、制御部11、記憶部12、I/F(インターフェース)13等を備えて構成される。
PC10は、図2に示すとおり、制御部11、記憶部12、I/F(インターフェース)13等を備えて構成される。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等により構成され、ROM又は記憶部12に記憶された基本ソフト(OS)や各種プログラムを読み出して実行することにより、PC10全体を統括的に制御する。
制御部11は、記憶部12に記憶されたファイルの複製を記憶媒体Mに記憶させるライト要求をI/F13を介して情報記憶再生装置20に出力する。ここで、記憶対象となるファイルは、制御部11の制御の下、所定サイズ毎のデータに分割され、夫々ライトデータとして、当該ライトデータの記憶位置を指示するLBA(Logical Block Address:論理ブロックアドレス)とともにライト要求として情報記憶再生装置20に出力される。
制御部11は、記憶媒体Mに記憶されたファイルを取得するリード要求をI/F13を介して情報記憶再生装置20に出力する。また、制御部11は、リード要求により取得されたファイルを記憶部12に記憶させる。
記憶部12は、磁気的、光学的記憶媒体、半導体等の不揮発性メモリ等から構成されており、PC10に対応するOS、各種プログラム、これらのプログラムで処理されたデータ等を予め記憶する。これらの各処理プログラムは、読み取り可能なプログラムコードの形態で格納され、制御部11は、当該プログラムコードに従った動作を逐次実行する。
記憶部12は、上述した1又は複数のファイルを記憶しており、制御部11からの指示に応じて記憶対象となるファイルを読み出し、制御部11に出力する。また、記憶部12は、制御部11からの指示に応じ情報記憶再生装置20から取得されたファイルを記憶する。
I/F13は、USB(Universal Serial Bus)、IEEE1394(Institute of Electrical and Electronic Engineers 1394)、SCSI(Small Computer System Interface)、ATAPI(AT Attachment Packet Interface)等の規格に準拠したインターフェースであって、情報記憶再生装置20との間でデータ転送を行うための制御を行う。
情報記憶再生装置20は、図2に示すとおり、制御部21、キャッシュメモリ22、I/F23、記憶再生部24等を備えて構成される。
制御部21は、CPU、ROM、RAM等により構成され、ROMに格納されている各種設定値やシステムプログラムを読み出して実行することにより、情報記憶再生装置20全体を統括的に制御する。
制御部21は、PC10からI/F23を介して入力されるライト要求に応じ、記憶対象となったファイルのライトデータを、後述する検出部211の検出結果に基づいてキャッシュメモリ22のメモリセグメント毎に順次一時記憶させる。また、制御部21は、記憶再生部24を制御することで、キャッシュメモリ22に一時記憶されたライトデータを当該ライトデータのLBAに基づいて記憶媒体Mに記憶させる。
また、制御部21は、図2に示すとおり検出部211を有している。
検出部211は、PC10から入力された新たなライトデータをキャッシュメモリ22に一時記憶する際に、当該新たなライトデータのLBA(論理ブロックアドレス:Logical Block Address)と、キャッシュメモリ22のメモリセグメント毎に一時記憶された既存のライトデータのLBAとを夫々比較し、記憶位置が同一となる共通アドレス範囲を検出する。ここで、「LBA」とは記憶媒体Mにおけるライトデータの記憶場所を指示した情報であって、記憶媒体Mが有するデータブロック(セクタ)に一意に対応するアドレス値が指示されている。
検出部211は、PC10から入力された新たなライトデータをキャッシュメモリ22に一時記憶する際に、当該新たなライトデータのLBA(論理ブロックアドレス:Logical Block Address)と、キャッシュメモリ22のメモリセグメント毎に一時記憶された既存のライトデータのLBAとを夫々比較し、記憶位置が同一となる共通アドレス範囲を検出する。ここで、「LBA」とは記憶媒体Mにおけるライトデータの記憶場所を指示した情報であって、記憶媒体Mが有するデータブロック(セクタ)に一意に対応するアドレス値が指示されている。
制御部21は、検出部211により検出された共通アドレス範囲に対応する新たなライトデータを、当該共通アドレス範囲に対応する既存のライトデータ上に上書する。
また、制御部21は、検出部211により検出された共通アドレス範囲以外を記憶位置とする新たなライトデータを、既存のライトデータ後段のメモリセグメントに一時記憶させる。
また、制御部21は、メモリセグメント毎に一時記憶された各既存のライトデータのLBAが、前記共通アドレス範囲に包含される場合、この包含関係にある既存のライトデータが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存のライトデータのLBAに対応する前記新たなライトデータを、既存のライトデータ後段のメモリセグメントに一時記憶させる。なお、ここでメモリセグメントを無効化するとは、この無効化対象となったメモリセグメントに一時記憶されるライトデータに基づいた記憶媒体への記憶動作が行われないよう制御することを意味する。
また、制御部21は、検出部211により検出された共通アドレス範囲以外を記憶位置とする新たなライトデータを、既存のライトデータ後段のメモリセグメントに一時記憶させる。
また、制御部21は、メモリセグメント毎に一時記憶された各既存のライトデータのLBAが、前記共通アドレス範囲に包含される場合、この包含関係にある既存のライトデータが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存のライトデータのLBAに対応する前記新たなライトデータを、既存のライトデータ後段のメモリセグメントに一時記憶させる。なお、ここでメモリセグメントを無効化するとは、この無効化対象となったメモリセグメントに一時記憶されるライトデータに基づいた記憶媒体への記憶動作が行われないよう制御することを意味する。
以下、図3及び図4を参照して、上述した制御部21(検出部211)によるライトデータの一時記憶に係る動作を説明する。
図3及び図4は、情報記憶再生装置に備えられたキャッシュメモリ22の記憶領域を模式的に示した図である。なお、キャッシュメモリ22の記憶領域内において実線にて区分けされた各矩形領域は、キャッシュメモリ22の記憶領域を論理的に構成するメモリセグメントを意味している。また、各メモリセグメント内に示した数値は、当該メモリセグメントに一時記憶されたライトデータのLBAを意味しており、このメモリセグメント単位毎にライトデータが順次一時記憶されるようになっている。また、各メモリセグメント内に示した数値は、当該メモリセグメントに一時記憶されたライトデータのLBAを意味する。
図3及び図4は、情報記憶再生装置に備えられたキャッシュメモリ22の記憶領域を模式的に示した図である。なお、キャッシュメモリ22の記憶領域内において実線にて区分けされた各矩形領域は、キャッシュメモリ22の記憶領域を論理的に構成するメモリセグメントを意味している。また、各メモリセグメント内に示した数値は、当該メモリセグメントに一時記憶されたライトデータのLBAを意味しており、このメモリセグメント単位毎にライトデータが順次一時記憶されるようになっている。また、各メモリセグメント内に示した数値は、当該メモリセグメントに一時記憶されたライトデータのLBAを意味する。
ここで、例えば、PC10からLBA2〜8へのライトデータの記憶を指示するライト要求Aが入力されたとすると、図3(a)に示すように、キャッシュメモリ22にはライト要求Aに対応するライトデータが先頭のメモリセグメントに一時記憶される。
上記の条件下において、次に、PC10からLBA0〜5へのライトデータの記憶を指示するライト要求Bが入力されたとすると、検出部211は、このライト要求Bに係るライトデータのLBAと、キャッシュメモリ22の先頭のメモリセグメントに一時記憶されたライト要求Aに係るライトデータのLBAとを比較し、記憶位置が同一となる共通アドレス範囲、即ち、LBA2〜5を検出する。
この場合、制御部21は、検出部211により検出された共通アドレス範囲(LBA2〜5)に対応するライト要求Bに係るライトデータを、図3(b)に示すように、共通アドレス範囲(LBA2〜5)に対応するライト要求Aに係るライトデータに上書するとともに、共通アドレス範囲(LBA2〜5)以外を記憶位置とするライト要求Bに係るライトデータ(LBA0、1)を、ライト要求Aに係るライトデータ後段のメモリセグメントに一時記憶させる。
次に、PC10からLBA4〜7へのライトデータの記憶を指示するライト要求Cが入力されたとすると、検出部211は、このライト要求Cに係るライトデータのLBAと、キャッシュメモリ22の各メモリセグメントに夫々一時記憶されたライト要求A及びライト要求Bに係るライトデータのLBAとを比較し、記憶位置が同一となる共通アドレス範囲、即ち、LBA4〜7を検出する。
この場合、制御部21は、検出部211により検出された共通アドレス範囲(LBA4〜7)に対応するライト要求Cに係るライトデータを、図3(c)に示すように、共通アドレス範囲(LBA4〜7)に対応するライト要求B(LBA4、5)及びライト要求A(6、7)に係るライトデータに上書する。
次に、PC10からLBA6〜10へのライトデータの記憶を指示するライト要求Dが入力されたとすると、検出部211は、このライト要求Dに係るライトデータのLBAと、キャッシュメモリ22の各メモリセグメントに夫々一時記憶されたライト要求A〜Cに係るライトデータのLBAとを比較し、記憶位置が同一となる共通アドレス範囲、即ち、LBA6〜8を検出する。
この場合、制御部21は、検出部211により検出された共通アドレス範囲(LBA6〜8)に対応するライト要求Dのライトデータを、図3(d)に示すように、共通アドレス範囲(LBA6〜8)に対応するライト要求C(LBA6、7)及びライト要求A(LBA8)に係るライトデータに上書するとともに、共通アドレス範囲(LBA6〜8)以外を記憶位置とするライト要求Dに係るライトデータ(LBA9、10)を、既存のライトデータ後段のメモリセグメントに一時記憶させる。
次に、PC10からLBA1〜9へのライトデータの記憶を指示するライト要求Eが入力されたとすると、検出部211は、このライト要求Eに係るライトデータのLBAと、キャッシュメモリ22の各メモリセグメントに夫々一時記憶されたライト要求B〜Dに係るライトデータのLBAとを比較し、記憶位置が同一となる共通アドレス範囲、即ち、LBA1〜9を検出する。
この場合、制御部21は、メモリセグメント毎に一時記憶されたライト要求B、C、Dに係るライトデータのLBA2〜8が、検出部211により検出された共通アドレス範囲(LBA1〜9)に包含されると判断し、図4(a)に示すように、この包含関係にあるライト要求B、C、Dに係るライトデータが一時記憶されたメモリセグメントを無効化する。そして、共通アドレス範囲(LBA1〜9)と包含関係にある既存のライトデータのLBA2〜8に対応するライト要求Eに係るライトデータを、既存のライトデータ後段のメモリセグメントに一時記憶させるとともに、共通アドレス範囲(LBA1、9)に対応するライト要求Eに係るライトデータを、共通アドレス範囲(LBA1、9)に対応するライト要求B(LBA1)及びライト要求D(LBA9)に係るライトデータに上書する。
さらに、PC10からLBA0〜11へのライトデータの記憶を指示するライト要求Fが入力されたとすると、検出部211は、このライト要求Fに係るライトデータのLBAと、キャッシュメモリ22の各メモリセグメントに夫々一時記憶されたライト要求B、D及びEに係るライトデータのLBAとを比較し、記憶位置が同一となる共通アドレス範囲、即ち、LBA0〜10を検出する。
この場合、制御部21は、メモリセグメント毎に一時記憶されたライト要求B、D及びEに係るライトデータのLBA0〜10が、検出部211により検出された共通アドレス範囲(LBA0〜10)に包含されると判断し、この包含関係にあるライト要求B、D及びEに係るライトデータが一時記憶されたメモリセグメントを無効化し、当該包含関係にある既存のライトデータのLBA0〜10に対応するライト要求Eに係るライトデータ及び共通アドレス範囲(LBA0〜10)以外を記憶位置とするライト要求Fに係るライトデータ(LBA11)を、図4(b)に示すように、無効化された既存のライトデータ後段のメモリセグメントに一時記憶させる。
このように、制御部21(検出部211)によるメモリ制御により、キャッシュメモリ22に一時記憶された既存のライトデータを、当該既存のライトデータのLBAと一部又は全部が同一となる新たなライトデータに上書きすることができる。また、共通アドレス範囲に包含される既存のライトデータが記憶されたメモリセグメントを無効化し、包含関係にある既存のライトデータのLBAに対応する新たなライトデータを前記既存のライトデータ後段のメモリセグメントに新たに一時記憶させることができるため、ライトデータの一時記憶を効率的に行うことができる。
また、制御部21は、PC10からI/F23を介して入力されるリード要求に応じ取得対象となったファイルの読み出しを記憶再生部24に指示することで、当該ファイルのリードデータを記憶媒体Mから順次読み出し、キャッシュメモリ22に一時記憶させる。そして、このキャッシュメモリ22に一時記憶されたリードデータをI/F23を介してPC10に出力することで、取得対象となったファイルの出力を行う。
キャッシュメモリ22は、SRAM(Static RAM)やDRAM(Dynamic RAM)等の揮発性メモリ等から構成され、制御部21の制御の下、PC10から入力されるライトデータを記憶領域に順次一時記憶する。また、キャッシュメモリ22は、制御部21の制御の下、記憶媒体Mから読み出されたリードデータを記憶領域に順次一時記憶する。つまり、記憶媒体Mに入出力されるデータ(ライトデータ、リードデータ)は、全てキャッシュメモリ22を経由するようになっている。
なお、キャッシュメモリ22の記憶容量は特に問わないものとするが、より大容量を有するキャッシュメモリ22を用いる際には、キャッシュメモリ22の記憶領域を構成する各メモリセグメントのサイズ(以下、セグメントサイズという)を変更することが好ましい。
以下、上述したキャッシュメモリ22の記憶領域の構成について説明する。
図5は、キャッシュメモリ22の記憶領域を構成する各メモリセグメントを模式的に示した図であって、所定の容量(例えば、2MB)を有したキャッシュメモリ22が図5(a)に示すように、MS1〜MS4のメモリセグメントから構成されているものとする。
図5は、キャッシュメモリ22の記憶領域を構成する各メモリセグメントを模式的に示した図であって、所定の容量(例えば、2MB)を有したキャッシュメモリ22が図5(a)に示すように、MS1〜MS4のメモリセグメントから構成されているものとする。
ここで、キャッシュメモリ22の記憶容量を4倍(例えば、8MB)に増加した場合、当該キャッシュメモリ22の記憶領域の構成は、例えば、図5(b)又は図5(c)の二つの態様が考えられる。図5(b)の構成の場合、各メモリセグメントのセグメントサイズを図5(a)と同等としているため、計16個のメモリセグメントMS1〜MS16によりキャッシュメモリ22が構成される。また、図5(c)の構成の場合、各メモリセグメントのセグメントサイズを図5(a)の4倍に拡張しているため、図5(a)と同様計4個のメモリセグメントMS1〜MS4によりキャッシュメモリ22が構成される。
キャッシュメモリ22を図5(b)の構成とした場合、比較的小容量のデータを取り扱う際に有効となるが、データがキャッシュにヒットしているか否かをチェックするループ回数は図5(a)の構成の場合と比較して4倍となるため、データの記憶及び読み出しに係る処理速度が遅くなる。
一方、キャッシュメモリ22を図5(c)の構成とした場合、比較的大容量のデータを取り扱う際に有効となり、データがキャッシュにヒットしているか否かをチェックするループ回数も図5(a)の構成の場合と同等となる。
このように、情報記憶再生装置20の使用環境に応じて、キャッシュメモリ22の記憶領域を構成する各セグメントサイズを変更することが好ましい。なお、メモリセグメント構成の態様は図示例に限らず、例えば、8個のメモリセグメントからキャッシュメモリ22を構成することとしてもよい。
I/F23は、I/F13と同様USB、IEEE1394、SCSI、ATAPI等の規格に準拠したインターフェースであって、PC10との間でデータ転送を行うための制御を行う。なお、I/F13とI/F23とは共に共通する規格に準拠したインターフェースであるものとする。
記憶再生部24は、記憶媒体Mの記憶再生方式に応じた種々の機能部(例えば、レーザダイオード、磁気ヘッド等)を有しており、制御部21の制御の下、キャッシュメモリ22に一時記憶されたライトデータを当該ライトデータのLBAに基づいて記憶媒体Mに記憶する。また、記憶再生部24は、制御部21からの読み込み指示に応じて記憶媒体Mからファイル(リードデータ)の読み出し(再生)を行う。
次に、図6を参照して、キャッシュメモリ22への一時記憶に係る動作について説明する。
図6は、キャッシュメモリ22への一時記憶に係るメモリ制御処理の手順を示したフローチャートである。なお、図6で示したステップS11〜S16の処理は、情報記憶再生装置20の制御部21(検出部211)により実行されるものとする。
図6は、キャッシュメモリ22への一時記憶に係るメモリ制御処理の手順を示したフローチャートである。なお、図6で示したステップS11〜S16の処理は、情報記憶再生装置20の制御部21(検出部211)により実行されるものとする。
まず、PC10からファイルの記憶を指示するライト要求がI/F23を介して入力されると(ステップS11)、このライト要求に係る新たなライトデータのLBAと、既にキャッシュメモリ22の各メモリブロックに一時記憶された既存のライトデータのLBAとが夫々比較され、記憶位置が同一となる共通アドレス範囲が検出される(ステップS12)。
次に、共通アドレス範囲が検出されたか否かが判定され、検出されなかったと判定された場合には(ステップS13;No)、ステップS19へと移行する。また、共通アドレス範囲が検出されたと判定された場合には(ステップS13;Yes)、各メモリセグメントに一時記憶された既存のライトデータのLBAが、前記共通アドレス範囲に包含されるか否かが判定される(ステップS14)。
ここで、一時記憶された既存のライトデータのLBAが、前記共通アドレス範囲に包含されると判定された場合には(ステップS14;Yes)、この包含関係にある既存のライトデータが一時記憶されたメモリセグメントが無効化され(ステップS15)、ステップS17に移行する。
一方、ステップS14において、一時記憶された既存のライトデータのLBAが、前記共通アドレス範囲に包含されないと判定された場合には(ステップS14;No)、この共通アドレス範囲に対応する新たなライトデータが、当該共通アドレス範囲に対応する既存のライトデータ上に上書され(ステップS16)、ステップS17に移行する。
ステップS17では、キャッシュメモリ22の全てのメモリセグメントに対して、上述したステップS14の包含関係の判定処理が行われたか否かが判定され、全てのメモリセグメントについて判定処理が行われていないと判定された場合には(ステップS17;No)、ステップS14に再び戻り、次のメモリセグメントに対して、包含関係の判定が行われる。また、ステップS17において、全てのメモリセグメントについて判定処理が行われたと判定された場合には(ステップS17;Yes)、ステップS18へと移行する。
続くステップS18では、ステップS11で入力されたライト要求に係る新たなライトデータのうちキャッシュメモリ22に一時記憶されていないライトデータが存在するか否かが判定され、一時記憶されていないライトデータが存在すると判定された場合には(ステップS18;Yes)、ステップS19に移行する、また、一時記憶されていないライトデータが存在しないと判定された場合には(ステップS18;No)、本処理は終了する。
ステップS19では、ステップS13の判定処理により共通アドレス範囲が検出されないと判定された新たなライトデータ、又は、ステップS18の判定処理により一時記憶されていないと判定された新たなライトデータが、既存のライトデータ後段のメモリセグメントに一時記憶されて、本処理は終了する。
以上のように、本実施の形態によれば、キャッシュメモリ22に一時記憶された既存のライトデータを、当該既存のライトデータのLBAと一部又は全部が同一となる新たなライトデータに上書きするため、ライトデータの一時記憶を効率的に行うことができる。これにより、キャッシュメモリの使用容量を抑えることが可能であるため、このキャッシュメモリにかかるコストを抑えることができる。また、同一のLBAに対する記憶動作を一度に行うことができるため、記憶媒体への記憶動作の実行時間を短縮させることができる。
また、共通アドレス範囲に包含される既存のライトデータが記憶されたメモリセグメントを無効化し、包含関係にある既存のライトデータのLBAに対応する新たなライトデータを前記既存のライトデータ後段のメモリセグメントに新たに一時記憶させることができるため、ライトデータの一時記憶を効率的に行うことができる。これにより、キャッシュメモリの使用容量を抑えることが可能であるため、このキャッシュメモリにかかるコストを抑えることができる。また、同一のLBAに対する記憶動作を一度に行うことができるため、記憶媒体への記憶動作の実行時間を短縮させることができる。
上記実施の形態の細部構成および詳細動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
例えば、上記実施の形態では、PC10と情報記憶再生装置20とを別体とした態様を示したが、これに限らず、PC10が情報記憶再生装置20を内蔵した態様としてもよい。
10 PC(情報機器)
11 制御部
12 記憶部
13 I/F
20 情報記憶再生装置(メモリ制御装置)
21 制御部(一時記憶制御手段)
211 検出部(検出手段)
22 キャッシュメモリ
23 I/F
24 記憶再生部(記憶手段)
C ケーブル
M 記憶媒体
11 制御部
12 記憶部
13 I/F
20 情報記憶再生装置(メモリ制御装置)
21 制御部(一時記憶制御手段)
211 検出部(検出手段)
22 キャッシュメモリ
23 I/F
24 記憶再生部(記憶手段)
C ケーブル
M 記憶媒体
Claims (6)
- 情報機器から入力される書込データ及び当該書込データの記憶位置を指示する論理ブロックアドレスとをメモリセグメント毎に順次一時記憶するキャッシュメモリと、前記一時記憶された書込データを当該書込データの論理ブロックアドレスに基づいて記憶媒体に記憶させる記憶手段と、を備えたメモリ制御装置において、
前記情報機器から入力された新たな書込データを前記キャッシュメモリに一時記憶する際に、当該新たな書込データの論理ブロックアドレスと、前記キャッシュメモリのメモリセグメント毎に一時記憶された既存の書込データの論理ブロックアドレスとを夫々比較し、前記記憶位置が同一となる共通アドレス範囲を検出する検出手段と、
前記検出された共通アドレス範囲に対応する前記新たな書込データを、当該共通アドレス範囲に対応する前記既存の書込データ上に上書する一時記憶制御手段と、
を備えたことを特徴とするメモリ制御装置。 - 前記一時記憶制御手段は、前記検出手段により検出された共通アドレス範囲以外を記憶位置とする前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴とする請求項1に記載のメモリ制御装置。
- 前記一時記憶制御手段は、前記メモリセグメント毎に一時記憶された各既存の書込データの論理ブロックアドレスが、前記共通アドレス範囲に包含される場合、この包含関係にある既存の書込データが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存の書込データの論理ブロックアドレスに対応する前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴とする請求項1又は2に記載のメモリ制御装置。
- 情報機器から入力される書込データ及び当該書込データの記憶位置を指示する論理ブロックアドレスとをメモリセグメント毎に順次一時記憶するキャッシュメモリと、前記一時記憶された書込データを当該書込データの論理ブロックアドレスに基づいて記憶媒体に記憶させる記憶手段と、を備えたメモリ制御装置のメモリ制御方法であって、
前記情報機器から入力された新たな書込データを前記キャッシュメモリに一時記憶する際に、当該新たな書込データの論理ブロックアドレスと、前記キャッシュメモリのメモリセグメント毎に一時記憶された既存の書込データの論理ブロックアドレスとを夫々比較し、前記記憶位置が同一となる共通アドレス範囲を検出する検出工程と、
前記検出された共通アドレス範囲に対応する前記新たな書込データを、当該共通アドレス範囲に対応する前記既存の書込データ上に上書する一時記憶制御工程と、
を含むことを特徴とするメモリ制御方法。 - 前記一時記憶制御工程は、前記検出手段により検出された共通アドレス範囲以外を記憶位置とする前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴とする請求項4に記載のメモリ制御方法。
- 前記一時記憶制御工程は、前記メモリセグメント毎に一時記憶された各既存の書込データの論理ブロックアドレスが、前記共通アドレス範囲に包含される場合、この包含関係にある既存の書込データが一時記憶されたメモリセグメントを無効化するとともに、当該包含関係にある既存の書込データの論理ブロックアドレスに対応する前記新たな書込データを、前記既存の書込データ後段のメモリセグメントに一時記憶させることを特徴とする請求項4又は5に記載のメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005326074A JP2007133657A (ja) | 2005-11-10 | 2005-11-10 | メモリ制御装置及びメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005326074A JP2007133657A (ja) | 2005-11-10 | 2005-11-10 | メモリ制御装置及びメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007133657A true JP2007133657A (ja) | 2007-05-31 |
Family
ID=38155265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005326074A Pending JP2007133657A (ja) | 2005-11-10 | 2005-11-10 | メモリ制御装置及びメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007133657A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11184829A (ja) * | 1996-11-29 | 1999-07-09 | Mitsubishi Electric Corp | デバイス間データ転送装置及びその方法 |
-
2005
- 2005-11-10 JP JP2005326074A patent/JP2007133657A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11184829A (ja) * | 1996-11-29 | 1999-07-09 | Mitsubishi Electric Corp | デバイス間データ転送装置及びその方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4768504B2 (ja) | 不揮発性フラッシュメモリを用いる記憶装置 | |
US20110060863A1 (en) | Controller | |
US20130038961A1 (en) | Method and apparatus for managing read or write errors | |
JP2010186524A (ja) | 情報記憶装置及びデータの記録再生方法 | |
JP2006338734A (ja) | データ記憶装置及びエラーリカバリ方法 | |
US20180024742A1 (en) | Storage media performance management | |
JP2008243265A (ja) | 情報記録装置及びその制御方法 | |
JP2005267240A (ja) | デフラグメントを行う方法及び記憶装置 | |
JP2006293785A (ja) | 記録装置 | |
EP1679710A1 (en) | Method for writing data blocks on a block addressable storage medium using defect management | |
JP2006343923A (ja) | ディスク記録装置 | |
JP2007257061A (ja) | データ記憶装置及びデータアクセス方法 | |
JP5002944B2 (ja) | 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2007133657A (ja) | メモリ制御装置及びメモリ制御方法 | |
KR20030061948A (ko) | 정보 저장 장치 및 그를 이용한 파일 관리 방법 | |
JP2008198102A (ja) | データ処理システム、データ記憶装置、ハードディスク装置、およびデータ記憶装置におけるデータ管理方法 | |
JP2011086324A (ja) | ストレージ装置 | |
JP2011113625A (ja) | 記録再生装置 | |
JP4972064B2 (ja) | 光ディスク駆動制御装置 | |
JP2010027140A (ja) | ハードディスクドライブ装置の読取装置及びハードディスクドライブ装置の読取装置を備えたコピー装置。 | |
JP2005189907A (ja) | ディスク装置 | |
JP4715493B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
JP2007133663A (ja) | メモリ制御装置及びメモリ制御方法 | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
JP2005275674A (ja) | コンピュータシステム、そのバックアップ/リストア方法、ホストコンピュータ、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110705 |