(57)【要約】【課題】メモリカードの論理フォーマットに際し、リード／ライトの効率を向上させることができる情報処理装置を提供する。【解決手段】メモリカード３０の挿入が可能なカードスロット２２５と、カードスロット２２５に挿入されたメモリカード３０のカード種別を判定するカード種別判定手段（ＣＰＵ２２０）とを備える。また、カード種別判定手段によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマットコマンドを発行するフォーマットコマンド発行手段（ＣＰＵ１１０）を備える。また、発行されたフォーマットコマンドで指定されたクラスタサイズに従って、カードスロット２２５に挿入されているメモリカード３０のフォーマットを実行するフォーマット手段（ＣＰＵ２２０）を備える。【選択図】図１
2010152711.tif 000002
【特許請求の範囲】
【請求項１】
メモリカードの挿入が可能なカードスロットと、
前記カードスロットに挿入されたメモリカードのカード種別を判定するカード種別判定手段と、
前記カード種別判定手段によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマット指示手段と、
前記フォーマット指示手段の指示に従って、前記クラスタサイズで、前記カードスロットに挿入されているメモリカードのフォーマットを実行するフォーマット手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、前記フォーマット指示手段を有するホスト装置と、前記カードスロット、前記カード種別判定手段、及び前記フォーマット手段を有するメモリカードのリーダライタとを備え、
前記ホスト装置は、
前記リーダライタに対して、カード種別を問い合わせる問い合わせコマンドを発行する問い合わせコマンド発行手段を、さらに備え、
前記フォーマット指示手段は、前記問い合わせコマンドによって把握したカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示し、
前記リーダライタは、
前記ホスト装置が発行した問い合わせコマンドに応答して、前記カード種別判定手段により判定された、前記カードスロットに挿入されているメモリカードのカード種別を送信する応答手段を、さらに備えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ホスト装置は、ＵＳＢホストコントローラをさらに備え、
前記リーダライタは、ＵＳＢデバイスコントローラをさらに備え、
前記ＵＳＢホストコントローラが、前記ＵＳＢデバイスコントローラに対して前記問い合わせコマンドを発行し、
前記ＵＳＢデバイスコントローラが、前記問い合わせコマンドに応答して、前記カードスロットに挿入されているメモリカードのカード種別を送信することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記クラスタサイズは、前記カード種別のメモリカードの記録単位の公倍数であることを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
メモリカードの挿入が可能なカードスロットに挿入されたメモリカードのカード種別を判定するステップと、
前記カード種別判定ステップによって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するステップと、
前記発行されたフォーマットコマンドで指定されたクラスタサイズに従って、前記カードスロットに挿入されているメモリカードのフォーマットを実行するステップと、を備えることを特徴とする情報処理装置の制御方法。
【請求項６】
メモリカードの挿入が可能なカードスロットに挿入されたメモリカードのカード種別を判定するステップと、
前記カード種別判定ステップによって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマットコマンドを発行するステップと、
前記発行されたフォーマットコマンドで指定されたクラスタサイズに従って、前記カードスロットに挿入されているメモリカードのフォーマットを実行するステップと、をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
メモリカードの挿入が可能なカードスロットを備え、メモリカードに格納（記憶）された画像データを読み取って処理（例えば印刷）する情報処理装置（例えば印刷装置）が広く普及している。
【０００３】
このような情報処理装置において、カードスロットに挿入されたメモリカードの論理フォーマットを実行する必要がある。ここで、メモリカードには複数種類があり、種類ごとにＲＵ（レコーディングユニット；１回にアクセス可能なデータブロック単位）の大きさが異なる。また、メモリカードの論理フォーマットを行うときには、クラスタサイズを指定して行う。
【０００４】
尚、アクセスの高速性と記録可能容量についての要望に応じたフォーマットを行う技術が特許文献１に開示されている。
【特許文献１】特開２００４−８０４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
最近の情報処理装置は、複数種類のカードを装着できる（扱うことができる）ようになっているものもある。このような情報処理装置では、メモリカードの論理フォーマットの実行に際しては、情報処理装置がカードスロットに挿入されたメモリカードの容量を読み取り、その容量に合わせてクラスタサイズを自動的に設定していた。つまり、メモリカード内のＲＵとクラスタサイズの関係が配慮されていなかった。そのため、このような情報処理装置で論理フォーマットされたメモリカードでは、リードまたはライトするたびに、不要なリードまたは必要以上のライトが行われるようになり、リード／ライトのパフォーマンス（効率）が低下するという問題がある。
【０００６】
本発明の目的は、複数種類のメモリカードの装着が可能な情報処理装置において論理フォーマットを行っても、リード／ライトのパフォーマンスが低下しないように論理フォーマットを行うことである。
【課題を解決するための手段】
【０００７】
本発明の一つの実施態様に従う情報処理装置は、メモリカードの挿入が可能なカードスロットと、前記カードスロットに挿入されたメモリカードのカード種別を判定するカード種別判定手段と、前記カード種別判定手段によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマット指示手段と、前記フォーマット指示手段の指示に従って、前記クラスタサイズで、前記カードスロットに挿入されているメモリカードのフォーマットを実行するフォーマット手段と、を備える。
【０００８】
これにより、メモリカードの種別に応じたクラスタサイズでの論理フォーマットを行うことができるので、リード／ライト時のパフォーマンスの低下を防止できる。
【０００９】
好適な実施形態では、前記情報処理装置は、前記フォーマット指示手段を有するホスト装置と、前記カードスロット、前記カード種別判定手段、及び前記フォーマット手段を有するメモリカードのリーダライタとを備えてもよい。そして、前記ホスト装置は、前記リーダライタに対して、カード種別を問い合わせる問い合わせコマンドを発行する問い合わせコマンド発行手段を、さらに備え、前記フォーマット指示手段は、前記問い合わせコマンドによって把握したカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示する。前記リーダライタは、前記ホスト装置が発行した問い合わせコマンドに応答して、前記カード種別判定手段により判定された、前記カードスロットに挿入されているメモリカードのカード種別を送信する応答手段を、さらに備えるようにしてもよい。
【００１０】
好適な実施形態では、前記ホスト装置は、ＵＳＢホストコントローラをさらに備え、前記リーダライタは、ＵＳＢデバイスコントローラをさらに備えてもよい。そして、前記ＵＳＢホストコントローラが、前記ＵＳＢデバイスコントローラに対して前記問い合わせコマンドを発行し、前記ＵＳＢデバイスコントローラが、前記問い合わせコマンドに応答して、前記カードスロットに挿入されているメモリカードのカード種別を送信するようにしてもよい。
【００１１】
好適な実施形態では、前記クラスタサイズは、前記カード種別のメモリカードの記録単位の公倍数であってもよい。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１３】
図１は、本発明の一実施形態に係る情報処理装置のブロック構成図である。
【００１４】
図１において、情報処理装置１０は、ホスト装置１００とカードリーダライタ２００を備える。
【００１５】
ホスト装置１００は、ＣＰＵ１１０、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ホストコントローラ１１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２及びＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）１１３を備える。ＣＰＵ１１０は、ＥＥＰＲＯＭ１１３に格納されている各種プログラムを実行することによって、以下の機能を実現する。
【００１６】
また、カードリーダライタ２００は、ＣＰＵ２２０、ＵＳＢホストコントローラ１１１と接続されるＵＳＢデバイスコントローラ２２１、ＲＡＭ２２２、ＥＥＰＲＯＭ２２３、カードコントローラ２２４及びカードスロット２２５を備える。ＣＰＵ２２０は、ＥＥＰＲＯＭ２２３に格納されている各種プログラムを実行することによって、以下の機能を実現する。カードスロット２２５には、メモリカード３０が装着される。
【００１７】
ここで、カードリーダライタ２００のカードコントローラ２２４は、カードスロット２２５に挿入されたメモリカード３０のカード種別を判定するカード種別判定手段として機能する。例えば、カードスロット２２５は、挿入されたメモリカード３０の種別を判別可能になっている。そこで、カードコントローラ２２４は、カードスロット２２５からの信号によって、挿入されたメモリカード３０の種別を把握する。
【００１８】
また、ホスト装置１００のＣＰＵ１１０は、カードコントローラ２２４によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示する。さらに、ホスト装置１００のＣＰＵ１１０は、カードリーダライタ２００に対してカード種別を問い合わせる。例えば、この問い合わせによってカードリーダライタ２００からカード種別を取得すると、ＣＰＵ１１０は、ＥＥＰＲＯＭ１１３に格納されているメモリカードテーブル３００（図３参照）を参照して、取得したカード種別に対応するクラスタサイズを特定する。ＣＰＵ１１０は、問い合わせコマンドによって把握したカード種別に応じたフォーマットコマンド、つまり、上記特定されたクラスタサイズでのフォーマット実行を指示する。
【００１９】
ホスト装置１００とカードリーダライタ２００とはＵＳＢで接続されている。つまり、ＵＳＢの所定の手順に従って、ＵＳＢホストコントローラ１１１とＵＳＢデバイスコントローラ２２１とが通信を行う。従って、上述したＣＰＵ１１０によるフォーマット指示や、カード種別の問い合わせは、ＵＳＢホストコントローラ１１１がＵＳＢのマスストレージクラスのコマンドを、ＵＳＢデバイスコントローラ２２１に対して発行する。例えば、上述したカード種別の問い合わせコマンドは、ベンダーユニークなＵＳＢのマスストレージクラスのコマンドであってもよい。
【００２０】
カードリーダライタ２００のカードコントローラ２２４は、ホスト装置１００からのフォーマット指示に従って、カードスロット２２５に挿入されているメモリカード３０のフォーマットを実行する。また、カードリーダライタ２００のＵＳＢデバイスコントローラ２２１は、ホスト装置１００が発行した問い合わせコマンドに応答して、カードスロット２２５に挿入されているメモリカード３０のカード種別を送信する。即ち、カードコントローラ２２４によって判定された、カードスロット２２５に挿入されているメモリカード３０のカード種別がホスト装置１００へ送信される。
【００２１】
図２は、情報処理装置１０に組み込まれるカードリーダライタ２００の一例にかかる外観斜視図である。
【００２２】
図２（Ａ）のカードリーダライタ２００−１は、３種類のカードスロット２２５−１、２２５−２、２２５−３を有する。各カードスロット２２５−１、２２５−２、２２５−３には、それぞれ、ＣＦカード、メモリスティック、ＳＤカードが装着される。
【００２３】
また、同図（Ｂ）のカードリーダライタ２００−２は、１種類のカードスロット２２５−４を有する。このカードスロット２２５−４は、ＣＦカード、メモリスティック、ＳＤカードのいずれも挿入可能な形状を有する。
【００２４】
このように、情報処理装置１０のカードリーダライタ２００は、複数のメモリカード３０が装着できるようになっている。
【００２５】
図３は、図１におけるＥＥＰＲＯＭ１１３に格納されるメモリカードテーブル３００の一例を示す図である。
【００２６】
メモリカードテーブル３００は、同図に示すように、カード種別３１０と、クラスタサイズ３２０と、ＦＡＴ形式３３０とを、データ項目として有している。ここで、クラスタサイズ３２０は、カード種別に対応する値が設定されている。つまり、クラスタサイズ３２０は、カード種別３１０に応じて固有のＲＵの公倍数になっている。上述したように、フォーマットコマンドのクラスタサイズはメモリカードテーブル３００を参照して決定される。つまり、ＣＰＵ１１０がカードスロット２２５に挿入されたメモリカード３０のカード種別を把握すると、メモリカードテーブル３００において、そのカード種別と対応付けられているクラスタサイズを特定する。そして、ホスト装置１００からカードリーダライタ２００に対して、ここで特定されたクラスタサイズでのフォーマットコマンドが発行される。従って、本実施形態では、必ず、ＲＵの公倍数のクラスタサイズで論理フォーマットで行われる。
【００２７】
メモリカードテーブル３００は、カードリーダライタ２００のＥＥＰＲＯＭ２２３に格納されていてもよい。この場合、カードリーダライタ２００がカード種別の問い合わせを受けたとき、ＣＰＵ２２０がメモリカードテーブル３００を参照してカードスロット２２５に挿入されたメモリカードの種別に対応するクラスタサイズを特定し、問い合わせに対する応答としてホスト装置１００へ返してもよい。
【００２８】
いずれの場合も、カードスロット２２５に装着されたメモリカード３０の種別を特定されると、メモリカードテーブル３００により、そのカード種別に対応したクラスタサイズが自動的に定まるようになる。上述のように、本実施形態によって行われた論理フォーマットは、どの種別のカードであっても、クラスタサイズは必ずＲＵの公倍数となる。その効果について、図４を参照して説明する。
【００２９】
図４は、メモリカード３０のクラスタサイズとＲＵの関係を模式的に示す図である。
【００３０】
図４（Ａ）はクラスタサイズがＲＵの公倍数となっている場合の例を示し、同図（Ｂ）はクラスタサイズがＲＵの公倍数となっていない例を示す。
【００３１】
同図（Ｂ）の例では、クラスタサイズが一つのＲＵより大きく、かつ、二つのＲＵよりは小さい。このときに、このメモリカードへデータをライトする場合、クラスタ単位でのリードが行われる。例えば、１クラスタ分データをライトする場合、ＲＵ１及びＲＵ２に対してライトを行う必要がある。しかしながら、同図の斜線部分にはデータが書き込まれない。つまり、斜線部分のライトは意味のないライトであり、これがオーバーヘッドが生じる原因となる。これは、リードを行う場合も同様である。つまり、前述したように、不要なリードと必要以上のライトが行われることになる。
【００３２】
一方、本実施形態では、同図（Ａ）に示すように、クラスタサイズは、検出されたカード種別と図３のメモリカードテーブル３００に基づいて定まり、必ず、そのメモリカードのＲＵの公倍数となっている。同図（Ａ）の例では、１クラスタに２つのＲＵが割り当てられている。
【００３３】
このようにすると、クラスタ単位でライトを行った場合、全ＲＵの全領域を活用でき、同図（Ｂ）の斜線部のような活用されない領域もなく、不要なアクセスも発生しない。従って、オーバーヘッドも生じない。
【００３４】
図５は、図１におけるカードリーダライタによって実行されるカード処理のフローチャートである。本処理は、カードリーダライタ２００のＣＰＵ２２０の制御の下に実行される。
【００３５】
カードコントローラ２２４は、カードスロット２２５にメモリカード３０が挿入（装着）されたことを検出する（Ｓ１０１）。そして、カードコントローラ２２４は、カードスロット２２５からの信号に基づいて、挿入されたメモリカード３０のカード種別を判定し（Ｓ１０２）、判定したカード種別をＲＡＭ２２２に記憶する（Ｓ１０３）。
【００３６】
図６は、図１の情報処理装置によって実行される論理フォーマット処理のフローチャートである。
【００３７】
ホスト装置１００側の処理は、Ｓ２０１〜Ｓ２０３に示される。また、カードリーダライタ２００側の処理は、Ｓ３０１〜Ｓ３０３に示される。
【００３８】
まず、ホスト装置１００では、ＣＰＵ１１０の指示に基づいて、ＵＳＢホストコントローラ１１１が、カードリーダライタ２００に対して、カード種別問合せコマンドを発行する（Ｓ２０１）。
【００３９】
カードリーダライタ２００のＵＳＢデバイスコントローラ２２１は、このカード種別問合せコマンドに応答して、図５のフローチャートで、ＲＡＭ２２２に記憶されたカード種別をホスト装置１００に通知する（Ｓ３０１）。
【００４０】
ホスト装置１００のＣＰＵ１１０は、この通知を受けて、カード種別に対応するクラスタサイズをメモリカードテーブル３００から特定し（Ｓ２０２）、そのクラスタサイズでの論理フォーマットの実行を指示するフォーマットコマンドを、ＵＳＢホストコントローラ１１１を介してカードリーダライタ２００に発行する（Ｓ２０３）。
【００４１】
カードリーダライタ２００のカードコントローラ２２４は、発行されたフォーマットコマンドで指定されたクラスタサイズに従って、カードスロット２２５に挿入されているメモリカード３０のフォーマットを実行する（Ｓ３０２）。そして、ＵＳＢデバイスコントローラ２２１を介して、フォーマットの実行後にホスト装置１００に完了を通知する（Ｓ３０３）。
【００４２】
これにより、複数種類のメモリカードの装着が可能な情報処理装置で論理フォーマットを行うときでも、リード／ライトのパフォーマンスが低下しないような適切なクラスタサイズで論理フォーマットを行うことができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態に係る情報処理装置のブロック構成図である。
【図２】図１におけるカードリーダライタの外観斜視図である。
【図３】図１におけるカードリーダライタのＥＥＰＲＯＭに格納されるメモリカードのテーブルを示す図である。
【図４】本発明と従来例におけるクラスタサイズとＲＵの関係を示す図である。
【図５】図１におけるカードリーダライタによって実行されるカード処理のフローチャートである。
【図６】図１の情報処理装置によって実行される論理フォーマット処理のフローチャートである。
【符号の説明】
【００４４】
１０        情報処理装置
３０        メモリカード
１０        情報処理装置
１００     ホスト装置
１１０     ＣＰＵ
１１１     ＵＳＢホストコントローラ
２００     カードリーダライタ
２２０     ＣＰＵ
２２１     ＵＳＢデバイスコントローラ
２２４     カードコントローラ
２２５     カードスロット
【図１】
2010152711.tif 000003
【図２】
2010152711.tif 000004
【図３】
2010152711.tif 000005
【図４】
2010152711.tif 000006
【図５】
2010152711.tif 000007
【図６】
2010152711.tif 000008