(57)【要約】【課題】可搬記憶装置からホスト機器へ転送されるデータについて、実体データと属性情報とを区別することで、柔軟なエラー処理及びセキュリティの向上を図ることが可能となる。しかし、可搬記憶装置の備えるＣＰＵの処理性能は一般的に低いため、可搬記憶装置に保存されているデータを解析し、属性情報と実体データとを区別することは困難である。【解決手段】可搬記憶装置１のＵＳＢ―ＳＡＴＡ変換基板１１は、ホスト機器２から、書き込みコマンド及び読み出しコマンドが入力される場合、両コマンドにより指定されるデータのサイズを判断するデータサイズ判断手段を備える。さらに、ＵＳＢ―ＳＡＴＡ変換基板１１は、所定のデータサイズと、書き込み及び読み出しされるデータのデータサイズとを比較することで、データが実体データ又は属性情報の何れであるかを判断するデータ情報判断手段を備える。【選択図】図１
2012068808.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器に接続される可搬記憶装置であって、
前記ホスト機器により前記可搬記憶装置へ発行されるコマンドを判断するコマンド判断手段と、
前記コマンドが読み出しコマンドまたは書き込みコマンドであると判断される場合、
前記読み出しコマンドまたは書き込みコマンドにより指定されるデータのサイズを判断するデータサイズ判断手段と、
前記データのサイズが所定サイズ以上である場合、前記データを実体データと判断し、
前記データのサイズが前記所定サイズ未満である場合前記データを属性情報として判断するデータ情報判断手段と、
を備えることを特徴とする可搬記憶装置。
【請求項２】
前記コマンドが読み出しコマンドであると判断され、
前記読み出しコマンドにより指定されるデータが実体データと判断される場合、
前記ホスト機器への前記データの転送を抑止する読み出し抑止手段
を備えることを特徴とする請求項１に記載の可搬記憶装置。
【請求項３】
前記コマンドが書き込みコマンドであると判断され、
前記データが実体データと判断される場合、
前記書き込みコマンドに応じた前記可搬記憶装置への前記データの書き込み処理が所定時間内に終了しない場合に、
前記データの書き込み処理を中断する書き込み中断手段
を備えることを特徴とする請求項１又は２に記載の可搬記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト機器に接続され利用される可搬記憶装置に関する。特に、可搬記憶装置へのデータの書き込みと読み出しに係る技術に関する。
【背景技術】
【０００２】
ハードディスクやフラッシュメモリ等の可搬記憶装置には、パーティションテーブルやファイルシステムの規約に基づいて、データの実体である実体データ、及び、ファイルの属性及び位置情報等の属性情報が配置され保存されている。可搬記憶装置に保存されているデータを、実体データと属性情報とを区別することで、柔軟なエラー処理及びセキュリティの向上を図ることが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、可搬記憶装置の制御回路の備えるＣＰＵの処理性能は一般的に低いため、可搬記憶装置に保存されているデータを解析し、属性情報と実体データとを区別することは、困難である。本願発明は、上記従来技術における技術的課題の解決を目的とする。
【課題を解決するための手段】
【０００４】
ホスト機器に接続される可搬記憶装置であって、ホスト機器により可搬記憶装置へ発行されるコマンドを判断するコマンド判断手段と、コマンドが読み出しコマンドまたは書き込みコマンドであると判断される場合、読み出しコマンドまたは書き込みコマンドにより指定されるデータのサイズを判断するデータサイズ判断手段と、データのサイズが所定サイズ以上である場合、データを実体データと判断し、データのサイズが所定サイズ未満である場合前記データを属性情報として判断するデータ情報判断手段と、を備えることを特徴とする。
【０００５】
例えば、ホスト機器のＯｐｅｒａｔｉｎｇＳｙｓｔｅｍ（以下ＯＳと記す）として、Ｗｉｎｄｏｗｓ（登録商標）がインストールされているとする。ホスト機器がＷｉｎｄｏｗｓ（登録商標）の備えるデバイスドライバを用いて、ホスト機器に接続される可搬記憶装置に実体データを書き込む場合、一回の書き込みコマンドに応じて書き込まれる実体データのデータサイズは一定となる。なお、一回の書き込みコマンドに応じて書き込まれる実体データのサイズが一定となるという特徴は、Ｗｉｎｄｏｗｓ（登録商標）がインストールされたホスト機器に限定されるものではなく、Ｌｉｎｕｘ（登録商標）等のＯＳが搭載されたホスト機器や、ハードディスクレコーダー等のメディア機器も有する特徴である。また、読み出し時においても、これらのホスト機器において、一回の読み出しコマンドに応じて読み出される実体データのデータサイズは、一定である。
【０００６】
また、書き込みコマンドにより一度に書き込まれる実体データのデータサイズは、パーティション属性及び位置並びにファイル属性及び位置などの属性情報が書き込まれるデータサイズと比べて大きい。一回の書き込みコマンドにより込まれるデータのデータサイズについて、属性情報のデータサイズと比べて実体データのデータサイズが大きいという特徴は、Ｗｉｎｄｏｗｓ（登録商標）がインストールされたホスト機器に限定されるものではなく、Ｌｉｎｕｘ（登録商標）等のＯＳが搭載されたホスト機器や、ハードディスクレコーダー等のメディア機器も有する特徴である。また、これらのホスト機器において、読み出し時おいても一回の読み出しコマンドに応じて読み出されるデータのデータサイズについて、属性情報のデータサイズと比べて実体データのデータサイズが大きい。
【０００７】
よって、可搬記憶装置は、ホスト機器より入力される書き込みコマンドまたは読み出しにより読み出されるデータのデータサイズから、かかるデータが実体データであるか属性情報であるか判断することが可能である。
【０００８】
本願発明に係る可搬記憶装置は、ホスト機器により可搬記憶装置へ発行されるコマンドを判断するコマンド判断手段を備える。コマンド判断手段により、発行されるコマンドの種類について、読み出しコマンドと、書き込みコマンドと、その他のコマンドとを分類することが可能となる。
【０００９】
また、本願発明に係る可搬記憶装置は、読み出しコマンド及び書き込みコマンドにより指定されるデータのサイズを判断するデータサイズ判断手段を備える。データサイズ判断手段により、読み出しコマンドにより読み出されるデータのサイズ及び書き込みコマンドにより書き込まれるデータのサイズを判断することが可能となる。
【００１０】
本願発明に係る可搬記憶装置は、読み出されるデータのサイズ及び書き込まれるデータのサイズから、データを実体データ又は属性情報として判断するデータ情報判断手段を備える。データ情報判断手段の判断に基づき、エラー処理やセキュリティに係る処理を行うことが可能となる。
【００１１】
また、本願発明に係る可搬記憶装置は、コマンドが読み出しコマンドであると判断され、読み出しコマンドにより指定されるデータが実体データと判断される場合、ホスト機器へのデータの転送を抑止する読み出し抑止手段を備えてもよい。
【００１２】
読み出し抑止手段により、ホスト機器が可搬記憶装置の中に保存されている実体データを読み出すことを防止し、セキュリティを向上することが可能となる。また、ホスト機器は、パーティションの属性及び位置情報、並びにファイルの属性及び位置情報を読み出すことは可能であるため、認証などを行うことなく、ホスト機器が可搬記憶装置へ新しいファイルを書き込むことが可能となる。
【００１３】
また、本願発明に係る可搬記憶装置は、コマンドが書き込みコマンドであると判断され、データが実体データと判断された場合、書き込みコマンドに応じた可搬記憶装置へのデータの書き込み処理が所定時間内に終了しない場合に、データの書き込み処理を中断する書き込み中断手段を備えてもよい。
【００１４】
例えば、ホスト機器から、動画ストリームのような連続的に映像データが書き込まれる場合において、ハードディスクユニットの書き込み応答時間にばらつきが生じた結果ホスト機器が録画を中断してしまう場合がある。また、ハードディスクユニットの書き込み応答時間が長くなりすぎた結果として、ホスト機器の処理が正常に行われなくなる場合がある。かかる場合において、本願発明は、応答時間のばらつきによるホスト機器の不具合発生を防止するという効果を奏する。
【発明の効果】
【００１５】
本発明に依れば、可搬記憶装置の制御回路の備えるＣＰＵの処理性能が低い場合であっても、可搬記憶装置に保存されているデータを解析し、属性情報と実体データとを区別することが可能となり、柔軟なエラー処理及びセキュリティの向上を図ることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】第１実施例及び第２実施例に係るハードウェア構成図
【図２】第１実施例に係る動作フロー図
【図３】第２実施例に係る動作フロー図
【発明を実施するための形態】
【００１７】
＜第１実施例＞
本実施例に開示するシステムの備えるハードウェア構成について図１に示す。可搬記憶装置１は外部に存在するホスト機器２とＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略）により接続される。ここで、ＵＳＢは、ホスト機器２と可搬記憶装置１が接続されるために用いられるバスの一例であり、ＩＥＥＥ１３９４、ＷｉｒｅｓｓＵＳＢ、Ｂｌｕｅｔｏｏｔｈ等でもよい。
【００１８】
可搬記憶装置１はＵＳＢ−ＳＡＴＡ変換基板１１及びハードディスクユニット１２を備える。ＵＳＢ−ＳＡＴＡ変換基板１１はホスト機器２とＵＳＢにより接続され、ハードディスクユニット１２とＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔの略）により接続される。
【００１９】
ＵＳＢ―ＳＡＴＡ変換基板１１は、ホスト機器２からＵＳＢを通じて入力されるコマンドの種類を判断するコマンド判断手段を備える。また、ＵＳＢ―ＳＡＴＡ変換基板１１は、ホスト機器２から、書き込みコマンド及び読み出しコマンドが入力される場合、両コマンドにより指定されるデータのサイズを判断するデータサイズ判断手段を備える。また、ＵＳＢ―ＳＡＴＡ変換基板は、所定のデータサイズと、データサイズ判断手段により判断された書き込みされるデータ及び読み出しされるデータのデータサイズとを比較し、かかるデータが実体データ又は属性情報の何れであるかを判断するデータ情報判断手段を備える。
【００２０】
また、ＵＳＢ−ＳＡＴＡ変換基板１１は、ホスト機器２より発行された書き込みコマンドにより実体データが書き込まれると判断された場合、データの書き込み処理が所定時間内に終了しない場合に、データの書き込み処理を中断する書き込み中断手段を備える。
【００２１】
図２に第１実施例に係る動作フロー図を示す。可搬記憶装置１及びホスト機器２が起動する（Ｓ０）。起動後、可搬記憶装置１は、ホスト機器２からコマンドを受信するまで待機状態となる（Ｓ２）。可搬記憶装置１のＵＳＢ−ＳＡＴＡ変換基板１１は、ホスト機器２からコマンドを受信すると（Ｓ２：ＹＥＳ）、該受信したコマンドが、書き込みコマンドであるか否かを判断する（Ｓ４）。ここで、ホスト機器２から可搬記憶装置１へ送信される書き込みコマンドの一例は、ＵＳＢを通じて伝送されるＳＣＳＩコマンドのうちの一つであるＷＲＩＴＥ（１０）コマンドである。
【００２２】
ホスト機器２から可搬記憶装置１が受信したコマンドが書き込みコマンドでなかった場合（Ｓ４：ＮＯ）、書き込みコマンド以外の処理を行い、ステップＳ２の待機状態に戻る（Ｓ６）。ステップＳ４において、可搬記憶装置１が書き込みコマンドを受信した場合（Ｓ４：ＹＥＳ）、該書き込みコマンドにより書き込まれるデータの容量から、書き込まれるデータが実体データか属性情報かを判断する（Ｓ８）。
【００２３】
ここで、例えば、ホスト機器２にインストールされているＯＳがＷｉｎｄｏｗｓ（登録商標）であったとする。Ｗｉｎｄｏｗｓ（登録商標）が標準的に備えるデバイスドライバがＷＲＩＴＥ（１０）コマンドにより可搬記憶装置へ実体データを書き込む場合、一定のデータサイズ、例えば、６４ＫＢ（Ｋｉｌｏ  Ｂｙｔｅの略）単位でデータを書き込む。よって、ＷＲＩＴＥ（１０）コマンドより、一度に書き込まれるデータの容量が６４ＫＢ以上の場合、書き込まれるデータは実体データであると判断することが可能である。また、ＷＲＩＴＥ（１０）コマンドにより書き込まれるデータの容量が６４ＫＢ未満の場合は、データは属性情報であると判断することが可能である。
【００２４】
ステップＳ８において、書き込まれるデータの容量が６４ＫＢ未満の場合（Ｓ８：ＮＯ）、ＵＳＢ−ＳＡＴＡ変換基板１１はハードディスクユニット１２に対して、書き込みコマンドＳ２０を発行する。ステップＳ２０において発行される書き込みコマンドはハードディスクユニット１２が解釈可能なコマンドであり、例えばハードディスクユニット１２の備えるインターフェースがＳＡＴＡであった場合には、ＡＴＡコマンドである。
【００２５】
書き込みコマンド発行後、ＵＳＢ−ＳＡＴＡ変換基板１１は、ハードディスクユニット１２に対してデータを送信する（Ｓ２２）。ステップＳ２２の後、ＵＳＢ−ＳＡＴＡ変換基板１１は、ハードディスクユニット１２からデータの書き込みの成否に係る結果の通知がくるまで（Ｓ２４：ＮＯ）、待ち状態となる（Ｓ２４）。ハードディスクユニット１２から結果の通知がなされた後（Ｓ２４：ＹＥＳ）、ＵＳＢ−ＳＡＴＡ変換基板１１は、該結果をホスト機器２に返す（Ｓ２６）。そして、ホスト機器２からコマンドを受信するまで待ち状態となる（Ｓ２）。
【００２６】
ステップＳ８において、ホスト機器２により発行された書き込みコマンドに係る書き込みデータの容量が６４ＫＢ以上であった場合（Ｓ８：ＹＥＳ）、即ち実体データをハードディスクユニット１２に書き込む場合、ＵＳＢ−ＳＡＴＡ変換基板１１は、ハードディスクユニット１２に書き込みコマンドを発行する（Ｓ１０）。ステップＳ１０において発行される書き込みコマンドはハードディスクユニット１２が解釈可能なコマンドであり、例えばハードディスクユニット１２の備えるインターフェースがＳＡＴＡであった場合には、ＡＴＡコマンドである。
【００２７】
書き込みコマンド発行後、ＵＳＢ−ＳＡＴＡ変換基板１１はホスト機器２から転送されてきた実体データをハードディスクユニット１２に送信する（Ｓ１２）。実体データ送信後、ハードディスクユニット１２から書き込みの成否に係る情報がＵＳＢ−ＳＡＴＡ変換基板１１へ通知されたか否かを判断する（Ｓ１４）。ハードディスクユニット１２から書き込みの成否に係る情報がＵＳＢ−ＳＡＴＡ変換基板１１に通知されていない場合（Ｓ１４：ＮＯ）、一定の制限時間を越えない限り（Ｓ１６：ＮＯ）において、待ち状態を続ける。ハードディスクユニット１２から書き込みの成否に係る情報が通知された場合（Ｓ１４：ＹＥＳ）、及び、一定の制限時間を越えた場合（Ｓ１６：ＹＥＳ）、強制的にホスト機器２に書き込み成功の結果を返す（Ｓ１８）。そして、ホスト機器２から可搬記憶装置１のＵＳＢ−ＳＡＴＡ変換基板１１へコマンドが送信されるまで、待ち状態となる（Ｓ２）。
【００２８】
＜第２実施例＞
第２実施例として開示するシステムのハードウェア構成は、第１実施例において図１として示した構成と同じく、ＵＳＢ−ＳＡＴＡ変換基板及びハードディスクユニット１２を備える可搬記憶装置１と、ホスト機器２とを備える。
【００２９】
ＵＳＢ―ＳＡＴＡ変換基板１１は、ホスト機器２からＵＳＢを通じて入力されるコマンドの種類を判断するコマンド判断手段を備える。また、ＵＳＢ―ＳＡＴＡ変換基板１１は、ホスト機器２から、書き込みコマンド及び読み出しコマンドが入力される場合、両コマンドにより指定されるデータのサイズを判断するデータサイズ判断手段を備える。また、ＵＳＢ―ＳＡＴＡ変換基板は、所定のデータサイズと、データサイズ判断手段により判断された書き込みされるデータ及び読み出しされるデータのデータサイズとを比較し、かかるデータが実体データ又は属性情報の何れであるかを判断するデータ情報判断手段を備える。
【００３０】
また、ＵＳＢ−ＳＡＴＡ変換基板１１は、ホスト機器２より発行された読み出しコマンドにより実体データが読み出されると判断された場合、データの転送を抑止する読み出し抑止手段を備える。
【００３１】
図３に第２実施例に係る動作フロー図を示す。可搬記憶装置１及びホスト機器２が起動する（Ｓ３０）。可搬記憶装置１はホスト機器２から認証データを受信するまで待機状態となる（Ｓ３２）。可搬記憶装置１のＵＳＢ−ＳＡＴＡ変換基板１１は、ホスト機器２から認証データを受信すると（Ｓ３２：ＹＥＳ）、次に、受信した認証データを照合する（Ｓ３４）。照合の結果、認証データが正しくない場合（Ｓ３４：ＮＯ）、再度、ステップＳ３２の待ち状態に移行する。
【００３２】
ステップＳ３４における認証データの照合の結果、認証データが正しい場合（Ｓ３４：ＹＥＳ）、ホスト機器２からコマンドを受信するまで待ち状態となる（Ｓ３６）。ホスト機器からＵＳＢ−ＳＡＴＡ変換基板１１がコマンドを受信した場合（Ｓ３６：ＹＥＳ）、該コマンドが読み出しコマンドか否かを判断する（Ｓ３８）。ここで、ホスト機器２から可搬記憶装置１へ送信される読み出しコマンドの一例は、ＵＳＢを通じて伝送されるＳＣＳＩコマンドのうちの一つであるＲＥＡＤ（１０）コマンドである。
【００３３】
ステップＳ３８において、ホスト機器２から可搬記憶装置１が受信したコマンドが読み出しコマンドでないと判断された場合（Ｓ３８：ＮＯ）、該コマンドに係る処理を行い（Ｓ４０）、再度、コマンド待ち状態に戻る（Ｓ３６）。
【００３４】
ステップＳ３８において、ホスト機器２から可搬記憶装置１が受信したコマンドがＲＥＡＤ（１０）コマンドであると判断された場合（Ｓ３８：ＹＥＳ）、該ＲＥＡＤ（１０）コマンドにより読み出されるデータの容量から、該データが実体データであるか属性情報であるかを判断する（Ｓ４２）。
【００３５】
ここで、例えば、ホスト機器２にインストールされているＯＳがＷｉｎｄｏｗｓ（登録商標）であったとする。Ｗｉｎｄｏｗｓ（登録商標）が標準的に備えるデバイスドライバがＲＥＡＤ（１０）コマンドにより可搬記憶装置１から実体データを読み出す場合、一定のデータサイズ、例えば、６４ＫＢ単位でデータを読み出す。よって、ＲＥＡＤ（１０）コマンドにより読み出されるデータの容量が６４ＫＢ以上の場合、読み出されるデータは実体データであると判断することが可能である。また、ＲＥＡＤ（１０）コマンドにより読み出されるデータの容量が６４ＫＢ未満の場合は、データは属性情報であると判断することが可能である。
【００３６】
読み出しに係るデータが６４ＫＢ未満の場合（Ｓ４２：ＮＯ）、該データは属性情報である。該属性情報については、読み出しを許可するため、ＵＳＢ−ＳＡＴＡ変換基板１１は、ハードディスクユニット１２へ読み出しコマンドを発行する（Ｓ４６）。ステップＳ４２において発行される読み出しコマンドはハードディスクユニット１２が解釈可能なコマンドであり、例えばハードディスクユニット１２の備えるインターフェースがＳＡＴＡであった場合には、ＡＴＡコマンドである。
【００３７】
ＵＳＢ−ＳＡＴＡ変換基板１１は、読み出しコマンドに応じてハードディスクユニット１２より出力されたデータを受信する（Ｓ４８）。そして、ＵＳＢ−ＳＡＴＡ変換基板１１は、受信した該データをホスト機器１２へ送信する（Ｓ５０）。そして、コマンド待ち状態（Ｓ３６）へ移行する。
【００３８】
ステップＳ４２において、読み出しに係るデータが６４ＫＢ以上であると判断される場合（Ｓ４２：ＹＥＳ）、該データは実体データである。本実施例においては、可搬記憶装置１に保存されている実体データの読み出しを禁止するため、ＵＳＢ−ＳＡＴＡ変換基板１１は、実体データに換えてダミーデータをホスト機器２に送信する（Ｓ４４）。そして、コマンド待ち状態（Ｓ３６）へ移行する。
【００３９】
第２実施例に係る可搬記憶装置１は、読み出しコマンドにより指定されるデータが実体データと判断される場合に、実体データの読み出しを抑止する読み出し抑止手段を備える。読み出し抑止手段により、ホスト機器が可搬記憶装置の中に保存されている実体データを読み出すことを防止し、セキュリティを向上することが可能となる。また、ホスト機器２は、パーティションの属性及び位置情報、並びにファイルの属性及び位置情報を読み出すことは可能であるため、認証などを行うことなく、ホスト機器２が可搬記憶装置１へ新しいファイルを書き込むことが可能となる。
【００４０】
第１実施例に係る可搬記憶装置１は、書き込みコマンドに応じた可搬記憶装置１へのデータの書き込み処理が所定時間内に終了しない場合に、データの書き込み処理を中断する書き込み中断手段を備える。例えば、ホスト機器２から、動画ストリームのような連続的に映像データが書き込まれる場合において、ハードディスクユニット１２の書き込み応答時間にばらつきが生じた結果ホスト機器２が録画を中断してしまう場合がある。また、ハードディスクユニット１２の書き込み応答時間が長くなりすぎた結果として、ホスト機器２の処理が正常に行われなくなる場合がある。かかる場合において、応答時間のばらつきによるホスト機器２の不具合発生を防止するという効果を奏する。
【００４１】
なお、本発明は前記実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。例えば、第２実施例において、ユーザの読み出し及び書き込み権限を段階的に設け、動作フローのステップＳ３４（図３）の認証データの照合において、照合を行ったユーザの用いた照合データに応じた読み出し及び書き込み権限を付与することが可能である。照合データに応じた読み出し及び書き込み権限を付与することにより、必要に応じてハードディスクユニット１２から実体データの読み出しが可能となる。
【００４２】
なお、ＳＡＴＡは、ハードディスクユニット１２と接続するために用いられるバスの一例であり、パラレルＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ等でもよい。また、ハードディスクユニット１２はデジタル情報を記憶するために用いられる記憶媒体の一例である。第１、第２実施例において、ハードディスクユニット１２に換えて、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅの略）又はフラッシュメモリ等、他の記憶媒体を用いた場合であっても、ホスト機器２から読み出される実体データのデータサイズはＯＳに依存するため、当然に第１、第２実施例と同様の作用効果を奏する。また、ＵＳＢ−ＳＡＴＡ変換基板１１は、ホスト機器２により発行されたコマンドをハードディスクユニット１２が解釈可能なコマンドへと変換する回路の一例であり、当然、ホスト機器２およびハードディスクユニット１２の備えるインターフェースに応じて変更可能である。
【符号の説明】
【００４３】
１  可搬記憶装置
１１  ＵＳＢ−ＳＡＴＡ変換基板
１１１  ＣＰＵ
１２  ハードディスクユニット
２  ホスト機器
【図１】
2012068808.tif 000003
【図２】
2012068808.tif 000004
【図３】
2012068808.tif 000005