説明

情報処理装置及びその制御方法、並びにプログラム

【課題】メモリカードの論理フォーマットに際し、リード/ライトの効率を向上させることができる情報処理装置を提供する。
【解決手段】メモリカード30の挿入が可能なカードスロット225と、カードスロット225に挿入されたメモリカード30のカード種別を判定するカード種別判定手段(CPU220)とを備える。また、カード種別判定手段によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマットコマンドを発行するフォーマットコマンド発行手段(CPU110)を備える。また、発行されたフォーマットコマンドで指定されたクラスタサイズに従って、カードスロット225に挿入されているメモリカード30のフォーマットを実行するフォーマット手段(CPU220)を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【0002】
メモリカードの挿入が可能なカードスロットを備え、メモリカードに格納(記憶)された画像データを読み取って処理(例えば印刷)する情報処理装置(例えば印刷装置)が広く普及している。
【0003】
このような情報処理装置において、カードスロットに挿入されたメモリカードの論理フォーマットを実行する必要がある。ここで、メモリカードには複数種類があり、種類ごとにRU(レコーディングユニット;1回にアクセス可能なデータブロック単位)の大きさが異なる。また、メモリカードの論理フォーマットを行うときには、クラスタサイズを指定して行う。
【0004】
尚、アクセスの高速性と記録可能容量についての要望に応じたフォーマットを行う技術が特許文献1に開示されている。
【特許文献1】特開2004−80461号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
最近の情報処理装置は、複数種類のカードを装着できる(扱うことができる)ようになっているものもある。このような情報処理装置では、メモリカードの論理フォーマットの実行に際しては、情報処理装置がカードスロットに挿入されたメモリカードの容量を読み取り、その容量に合わせてクラスタサイズを自動的に設定していた。つまり、メモリカード内のRUとクラスタサイズの関係が配慮されていなかった。そのため、このような情報処理装置で論理フォーマットされたメモリカードでは、リードまたはライトするたびに、不要なリードまたは必要以上のライトが行われるようになり、リード/ライトのパフォーマンス(効率)が低下するという問題がある。
【0006】
本発明の目的は、複数種類のメモリカードの装着が可能な情報処理装置において論理フォーマットを行っても、リード/ライトのパフォーマンスが低下しないように論理フォーマットを行うことである。
【課題を解決するための手段】
【0007】
本発明の一つの実施態様に従う情報処理装置は、メモリカードの挿入が可能なカードスロットと、前記カードスロットに挿入されたメモリカードのカード種別を判定するカード種別判定手段と、前記カード種別判定手段によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマット指示手段と、前記フォーマット指示手段の指示に従って、前記クラスタサイズで、前記カードスロットに挿入されているメモリカードのフォーマットを実行するフォーマット手段と、を備える。
【0008】
これにより、メモリカードの種別に応じたクラスタサイズでの論理フォーマットを行うことができるので、リード/ライト時のパフォーマンスの低下を防止できる。
【0009】
好適な実施形態では、前記情報処理装置は、前記フォーマット指示手段を有するホスト装置と、前記カードスロット、前記カード種別判定手段、及び前記フォーマット手段を有するメモリカードのリーダライタとを備えてもよい。そして、前記ホスト装置は、前記リーダライタに対して、カード種別を問い合わせる問い合わせコマンドを発行する問い合わせコマンド発行手段を、さらに備え、前記フォーマット指示手段は、前記問い合わせコマンドによって把握したカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示する。前記リーダライタは、前記ホスト装置が発行した問い合わせコマンドに応答して、前記カード種別判定手段により判定された、前記カードスロットに挿入されているメモリカードのカード種別を送信する応答手段を、さらに備えるようにしてもよい。
【0010】
好適な実施形態では、前記ホスト装置は、USBホストコントローラをさらに備え、前記リーダライタは、USBデバイスコントローラをさらに備えてもよい。そして、前記USBホストコントローラが、前記USBデバイスコントローラに対して前記問い合わせコマンドを発行し、前記USBデバイスコントローラが、前記問い合わせコマンドに応答して、前記カードスロットに挿入されているメモリカードのカード種別を送信するようにしてもよい。
【0011】
好適な実施形態では、前記クラスタサイズは、前記カード種別のメモリカードの記録単位の公倍数であってもよい。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態を図面に基づいて説明する。
【0013】
図1は、本発明の一実施形態に係る情報処理装置のブロック構成図である。
【0014】
図1において、情報処理装置10は、ホスト装置100とカードリーダライタ200を備える。
【0015】
ホスト装置100は、CPU110、USB(Universal Serial Bus)ホストコントローラ111、RAM(Random Access Memory)112及びEEPROM(Electrically Erasable Programable ROM)113を備える。CPU110は、EEPROM113に格納されている各種プログラムを実行することによって、以下の機能を実現する。
【0016】
また、カードリーダライタ200は、CPU220、USBホストコントローラ111と接続されるUSBデバイスコントローラ221、RAM222、EEPROM223、カードコントローラ224及びカードスロット225を備える。CPU220は、EEPROM223に格納されている各種プログラムを実行することによって、以下の機能を実現する。カードスロット225には、メモリカード30が装着される。
【0017】
ここで、カードリーダライタ200のカードコントローラ224は、カードスロット225に挿入されたメモリカード30のカード種別を判定するカード種別判定手段として機能する。例えば、カードスロット225は、挿入されたメモリカード30の種別を判別可能になっている。そこで、カードコントローラ224は、カードスロット225からの信号によって、挿入されたメモリカード30の種別を把握する。
【0018】
また、ホスト装置100のCPU110は、カードコントローラ224によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示する。さらに、ホスト装置100のCPU110は、カードリーダライタ200に対してカード種別を問い合わせる。例えば、この問い合わせによってカードリーダライタ200からカード種別を取得すると、CPU110は、EEPROM113に格納されているメモリカードテーブル300(図3参照)を参照して、取得したカード種別に対応するクラスタサイズを特定する。CPU110は、問い合わせコマンドによって把握したカード種別に応じたフォーマットコマンド、つまり、上記特定されたクラスタサイズでのフォーマット実行を指示する。
【0019】
ホスト装置100とカードリーダライタ200とはUSBで接続されている。つまり、USBの所定の手順に従って、USBホストコントローラ111とUSBデバイスコントローラ221とが通信を行う。従って、上述したCPU110によるフォーマット指示や、カード種別の問い合わせは、USBホストコントローラ111がUSBのマスストレージクラスのコマンドを、USBデバイスコントローラ221に対して発行する。例えば、上述したカード種別の問い合わせコマンドは、ベンダーユニークなUSBのマスストレージクラスのコマンドであってもよい。
【0020】
カードリーダライタ200のカードコントローラ224は、ホスト装置100からのフォーマット指示に従って、カードスロット225に挿入されているメモリカード30のフォーマットを実行する。また、カードリーダライタ200のUSBデバイスコントローラ221は、ホスト装置100が発行した問い合わせコマンドに応答して、カードスロット225に挿入されているメモリカード30のカード種別を送信する。即ち、カードコントローラ224によって判定された、カードスロット225に挿入されているメモリカード30のカード種別がホスト装置100へ送信される。
【0021】
図2は、情報処理装置10に組み込まれるカードリーダライタ200の一例にかかる外観斜視図である。
【0022】
図2(A)のカードリーダライタ200−1は、3種類のカードスロット225−1、225−2、225−3を有する。各カードスロット225−1、225−2、225−3には、それぞれ、CFカード、メモリスティック、SDカードが装着される。
【0023】
また、同図(B)のカードリーダライタ200−2は、1種類のカードスロット225−4を有する。このカードスロット225−4は、CFカード、メモリスティック、SDカードのいずれも挿入可能な形状を有する。
【0024】
このように、情報処理装置10のカードリーダライタ200は、複数のメモリカード30が装着できるようになっている。
【0025】
図3は、図1におけるEEPROM113に格納されるメモリカードテーブル300の一例を示す図である。
【0026】
メモリカードテーブル300は、同図に示すように、カード種別310と、クラスタサイズ320と、FAT形式330とを、データ項目として有している。ここで、クラスタサイズ320は、カード種別に対応する値が設定されている。つまり、クラスタサイズ320は、カード種別310に応じて固有のRUの公倍数になっている。上述したように、フォーマットコマンドのクラスタサイズはメモリカードテーブル300を参照して決定される。つまり、CPU110がカードスロット225に挿入されたメモリカード30のカード種別を把握すると、メモリカードテーブル300において、そのカード種別と対応付けられているクラスタサイズを特定する。そして、ホスト装置100からカードリーダライタ200に対して、ここで特定されたクラスタサイズでのフォーマットコマンドが発行される。従って、本実施形態では、必ず、RUの公倍数のクラスタサイズで論理フォーマットで行われる。
【0027】
メモリカードテーブル300は、カードリーダライタ200のEEPROM223に格納されていてもよい。この場合、カードリーダライタ200がカード種別の問い合わせを受けたとき、CPU220がメモリカードテーブル300を参照してカードスロット225に挿入されたメモリカードの種別に対応するクラスタサイズを特定し、問い合わせに対する応答としてホスト装置100へ返してもよい。
【0028】
いずれの場合も、カードスロット225に装着されたメモリカード30の種別を特定されると、メモリカードテーブル300により、そのカード種別に対応したクラスタサイズが自動的に定まるようになる。上述のように、本実施形態によって行われた論理フォーマットは、どの種別のカードであっても、クラスタサイズは必ずRUの公倍数となる。その効果について、図4を参照して説明する。
【0029】
図4は、メモリカード30のクラスタサイズとRUの関係を模式的に示す図である。
【0030】
図4(A)はクラスタサイズがRUの公倍数となっている場合の例を示し、同図(B)はクラスタサイズがRUの公倍数となっていない例を示す。
【0031】
同図(B)の例では、クラスタサイズが一つのRUより大きく、かつ、二つのRUよりは小さい。このときに、このメモリカードへデータをライトする場合、クラスタ単位でのリードが行われる。例えば、1クラスタ分データをライトする場合、RU1及びRU2に対してライトを行う必要がある。しかしながら、同図の斜線部分にはデータが書き込まれない。つまり、斜線部分のライトは意味のないライトであり、これがオーバーヘッドが生じる原因となる。これは、リードを行う場合も同様である。つまり、前述したように、不要なリードと必要以上のライトが行われることになる。
【0032】
一方、本実施形態では、同図(A)に示すように、クラスタサイズは、検出されたカード種別と図3のメモリカードテーブル300に基づいて定まり、必ず、そのメモリカードのRUの公倍数となっている。同図(A)の例では、1クラスタに2つのRUが割り当てられている。
【0033】
このようにすると、クラスタ単位でライトを行った場合、全RUの全領域を活用でき、同図(B)の斜線部のような活用されない領域もなく、不要なアクセスも発生しない。従って、オーバーヘッドも生じない。
【0034】
図5は、図1におけるカードリーダライタによって実行されるカード処理のフローチャートである。本処理は、カードリーダライタ200のCPU220の制御の下に実行される。
【0035】
カードコントローラ224は、カードスロット225にメモリカード30が挿入(装着)されたことを検出する(S101)。そして、カードコントローラ224は、カードスロット225からの信号に基づいて、挿入されたメモリカード30のカード種別を判定し(S102)、判定したカード種別をRAM222に記憶する(S103)。
【0036】
図6は、図1の情報処理装置によって実行される論理フォーマット処理のフローチャートである。
【0037】
ホスト装置100側の処理は、S201〜S203に示される。また、カードリーダライタ200側の処理は、S301〜S303に示される。
【0038】
まず、ホスト装置100では、CPU110の指示に基づいて、USBホストコントローラ111が、カードリーダライタ200に対して、カード種別問合せコマンドを発行する(S201)。
【0039】
カードリーダライタ200のUSBデバイスコントローラ221は、このカード種別問合せコマンドに応答して、図5のフローチャートで、RAM222に記憶されたカード種別をホスト装置100に通知する(S301)。
【0040】
ホスト装置100のCPU110は、この通知を受けて、カード種別に対応するクラスタサイズをメモリカードテーブル300から特定し(S202)、そのクラスタサイズでの論理フォーマットの実行を指示するフォーマットコマンドを、USBホストコントローラ111を介してカードリーダライタ200に発行する(S203)。
【0041】
カードリーダライタ200のカードコントローラ224は、発行されたフォーマットコマンドで指定されたクラスタサイズに従って、カードスロット225に挿入されているメモリカード30のフォーマットを実行する(S302)。そして、USBデバイスコントローラ221を介して、フォーマットの実行後にホスト装置100に完了を通知する(S303)。
【0042】
これにより、複数種類のメモリカードの装着が可能な情報処理装置で論理フォーマットを行うときでも、リード/ライトのパフォーマンスが低下しないような適切なクラスタサイズで論理フォーマットを行うことができる。
【図面の簡単な説明】
【0043】
【図1】本発明の実施の形態に係る情報処理装置のブロック構成図である。
【図2】図1におけるカードリーダライタの外観斜視図である。
【図3】図1におけるカードリーダライタのEEPROMに格納されるメモリカードのテーブルを示す図である。
【図4】本発明と従来例におけるクラスタサイズとRUの関係を示す図である。
【図5】図1におけるカードリーダライタによって実行されるカード処理のフローチャートである。
【図6】図1の情報処理装置によって実行される論理フォーマット処理のフローチャートである。
【符号の説明】
【0044】
10 情報処理装置
30 メモリカード
10 情報処理装置
100 ホスト装置
110 CPU
111 USBホストコントローラ
200 カードリーダライタ
220 CPU
221 USBデバイスコントローラ
224 カードコントローラ
225 カードスロット


【特許請求の範囲】
【請求項1】
メモリカードの挿入が可能なカードスロットと、
前記カードスロットに挿入されたメモリカードのカード種別を判定するカード種別判定手段と、
前記カード種別判定手段によって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマット指示手段と、
前記フォーマット指示手段の指示に従って、前記クラスタサイズで、前記カードスロットに挿入されているメモリカードのフォーマットを実行するフォーマット手段と、を備えることを特徴とする情報処理装置。
【請求項2】
前記情報処理装置は、前記フォーマット指示手段を有するホスト装置と、前記カードスロット、前記カード種別判定手段、及び前記フォーマット手段を有するメモリカードのリーダライタとを備え、
前記ホスト装置は、
前記リーダライタに対して、カード種別を問い合わせる問い合わせコマンドを発行する問い合わせコマンド発行手段を、さらに備え、
前記フォーマット指示手段は、前記問い合わせコマンドによって把握したカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示し、
前記リーダライタは、
前記ホスト装置が発行した問い合わせコマンドに応答して、前記カード種別判定手段により判定された、前記カードスロットに挿入されているメモリカードのカード種別を送信する応答手段を、さらに備えることを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記ホスト装置は、USBホストコントローラをさらに備え、
前記リーダライタは、USBデバイスコントローラをさらに備え、
前記USBホストコントローラが、前記USBデバイスコントローラに対して前記問い合わせコマンドを発行し、
前記USBデバイスコントローラが、前記問い合わせコマンドに応答して、前記カードスロットに挿入されているメモリカードのカード種別を送信することを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記クラスタサイズは、前記カード種別のメモリカードの記録単位の公倍数であることを特徴とする請求項1〜3のいずれかに記載の情報処理装置。
【請求項5】
メモリカードの挿入が可能なカードスロットに挿入されたメモリカードのカード種別を判定するステップと、
前記カード種別判定ステップによって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するステップと、
前記発行されたフォーマットコマンドで指定されたクラスタサイズに従って、前記カードスロットに挿入されているメモリカードのフォーマットを実行するステップと、を備えることを特徴とする情報処理装置の制御方法。
【請求項6】
メモリカードの挿入が可能なカードスロットに挿入されたメモリカードのカード種別を判定するステップと、
前記カード種別判定ステップによって判定されたカード種別に対応するクラスタサイズでの論理フォーマットの実行を指示するフォーマットコマンドを発行するステップと、
前記発行されたフォーマットコマンドで指定されたクラスタサイズに従って、前記カードスロットに挿入されているメモリカードのフォーマットを実行するステップと、をコンピュータに実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−152711(P2010−152711A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−331027(P2008−331027)
【出願日】平成20年12月25日(2008.12.25)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】