JP2009054103A - 複数のメモリカードを制御するホスト機器 - Google Patents

複数のメモリカードを制御するホスト機器 Download PDF

Info

Publication number
JP2009054103A
JP2009054103A JP2007222684A JP2007222684A JP2009054103A JP 2009054103 A JP2009054103 A JP 2009054103A JP 2007222684 A JP2007222684 A JP 2007222684A JP 2007222684 A JP2007222684 A JP 2007222684A JP 2009054103 A JP2009054103 A JP 2009054103A
Authority
JP
Japan
Prior art keywords
card
slot
host controller
card slot
memory
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
Application number
JP2007222684A
Other languages
English (en)
Inventor
Yoshiyuki Konishi
祥之 小西
Daisuke Kunimune
大介 国宗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2007222684A priority Critical patent/JP2009054103A/ja
Priority to US12/194,061 priority patent/US7809877B2/en
Priority to CN2008102149405A priority patent/CN101383933B/zh
Priority to CN2012101397828A priority patent/CN102750251A/zh
Publication of JP2009054103A publication Critical patent/JP2009054103A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses

Abstract

【課題】単一のホストコントローラによって複数のカードスロットを制御するホスト機器において、メモリカードの切り替えにおける書き込み等中断時に要するデータ退避用バッファメモリを削減する。
【解決手段】ホストコントローラは、メモリカードに対する書き込み等のための準備処理等を複数の単位処理に分割して実行可能である。そして、メモリカード(カード1)に対して書き込み等を行っている期間に、新たなメモリカード(カード2)に対して、準備処理を1単位処理分実行する新カード準備分割処理P11,P12,P13を繰り返し実行する。これにより、カード2に対する準備処理に起因する書き込み等中断時間が分散され、1回あたりの書き込み等中断時間が削減される。
【選択図】図3

Description

本発明は、複数のカードスロットを有するホスト機器において、単一ホストコントローラによって複数のメモリカードを制御する技術に関するものである。
近年、メモリカード(以下、適宜、単に「カード」と記す)の大容量化に伴い、高画質の録画データを直接メモリカードに記録可能なデジタルビデオカメラなど、メモリカードとの間で連続的に大量のデータ送受信を行う機器が登場している。このような機器では、例えばメモリカードが録画データで満杯になった後、別のメモリカードに手動で入れ替える間は、データを保存できず、録画もできないなどの不便がある。特に監視カメラなど、録画の連続性が要求され、少しの中断も許されないような機器においては、録画したデータを途切れることなくメモリカードに書き込み保存することは必須の機能となる。これには、単純に録画データを一時保存するバッファメモリを大量に用意することによって対応することは可能だが、一方、コスト面において大きな問題となる。
この問題に対しては、複数のカードスロットを機器に搭載すればよい。これにより、一方のスロットにおいてメモリカードへの書き込みを行っている間に、他方のスロットにおいてカード入れ替えを行うことが可能になる。すなわち、少なくともいずれか一方のスロットにメモリカードが挿入されている状態にしておくことによって、録画データの書き込み先が常に確保される。
ところが、通常、メモリカードへのコマンド発行などを制御するホストコントローラは1個のスロットしか扱うことができないため、複数のカードスロットを機器に搭載する場合には、ホストコントローラをスロットと同じ数だけ用意し、1つのホストコントローラが1つのスロットを専用的に制御する構成にする必要がある。しかし、このようにホストコントローラを複数搭載することは、ホストコントローラ自体のコストに加えて、チップの面積の増加にもつながり、コスト面において大きな問題となる。
この問題を解決するために、特許文献1に示すホスト機器は、単一ホストコントローラによって複数のカードスロットを扱う手段を備えている。具体的には、ホストコントローラの接続先スロットを切り替えるセレクタを設けて、適切なタイミングでセレクタを操作してスロットを切り替えることにより、各スロットに挿入された複数のメモリカードを入れ替えることなく同時に使用可能としている。これにより、ホストコントローラを複数搭載することなく複数のスロットを制御できるので、メモリカードが満杯になった場合でも予め別スロットに挿入しておいたメモリカードへ連続して書き込むことが可能となる。
特開2006―24217号公報
しかしながら、上述の従来技術では、次のような問題がある。
一般に、メモリカードはスロット挿入後すぐに使用できるわけではなく、メモリカードを初期化する処理として、規定のシーケンスに従って複数の初期化用コマンドをメモリカードに発行する処理が必要であり、さらにファイル・アロケーション・テーブル(FAT)の読み込み処理などを行った後で初めて、メモリカードにデータを書き込むことが可能となる。このため、メモリカードが満杯になった後、別のメモリカードに書き込みを始める前までに行うカード初期化やFAT読み込みの間は、書き込みが中断されることになる。
たとえ、次に使用するメモリカードを、書き込み直前ではなく、現在使用中のメモリカードが満杯になるよりも前に初期化する場合であっても、上述の従来技術では、複数のメモリカードに同時にアクセスすることはできず、メモリカードへの書き込みと新たなメモリカードの初期化とを同時に処理することはできないため、書き込みは中断される。読み出しの場合にも、同様に、中断が必要になる。
すなわち、上述の従来技術では、メモリカードを入れ替える間の書き込み中断を回避することはできるが、新たなメモリカードが書き込み可能となるまでの間の書き込み中断は避けることができない。なお、SD(Secure Digital)カードの場合、カードの初期化に要する時間は約1秒間であり、FATの読み込み処理と合わせると少なくとも3秒程度の時間が書き込み可能となるまでに必要となる。したがって、3秒分のデータを退避可能な大容量のバッファメモリを用意しなければならない。
前記の問題に鑑み、本発明は、単一のホストコントローラによって複数のカードスロットを制御するホスト機器において、メモリカードの切り替え時における、書き込みまたは読み出し中断時に使用するデータ退避用のバッファメモリを、従来よりも削減することを目的とする。
本発明は、ホスト機器として、ホストコントローラと、メモリカードが挿入可能な複数のカードスロットと、前記ホストコントローラと前記複数のカードスロットとの間に設けられており、前記ホストコントローラの指示に従って前記ホストコントローラからの信号線の接続先を前記複数のカードスロットの間で切り替えることによって、制御対象となるカードスロットを切り替えるスロット切替手段とを備え、前記ホストコントローラは、前記カードスロットに挿入されたメモリカードに対する書き込みまたは読み出しのための準備処理を、複数の単位処理に分割して実行可能であり、かつ、第1のカードスロットに挿入されたメモリカードに対して書き込みまたは読み出しを行っている期間に、第2のカードスロットに新たなメモリカードが挿入された場合において、前記スロット切替手段によって、制御対象を前記第1のカードスロットから前記第2のカードスロットに切り替えるステップ(a)と、前記新たなメモリカードに対する前記準備処理を、1単位処理分、実行するステップ(b)と、前記スロット切替手段によって、制御対象を前記第2のカードスロットから前記第1のカードスロットに切り替えるステップ(c)とを含む、新カード準備分割処理を、繰り返し実行するものである。
本発明によると、ホストコントローラは、メモリカードに対する書き込みまたは読み出しのための準備処理を、複数の単位処理に分割して実行可能である。そして、メモリカードに対して書き込みまたは読み出しを行っている期間に、新たなメモリカードに対して、準備処理を1単位処理分実行する新カード準備分割処理が、繰り返し実行される。このため、メモリカードに対する書き込みまたは読み出しと、新たなメモリカードに対する1単位処理分の準備処理とが、交互に行われることになる。これにより、新たなメモリカードに対する準備処理に起因する書き込みまたは読み出し中断時間が分散されることになり、1回あたりの書き込みまたは読み出し中断時間が削減されるので、メモリカードの切り替え時における、書き込みまたは読み出し中断時に使用するデータ退避用のバッファメモリを、従来よりも大幅に削減することができる。
また、前記本発明に係るホスト機器において、前記スロット切替手段は、前記ホストコントローラからの制御信号線の接続先を前記複数のカードスロットの間で切り替える制御用セレクタと、前記ホストコントローラからのデータ転送信号線の接続先を前記複数のカードスロットの間で切り替えるデータ転送用セレクタとを備え、前記制御用セレクタと前記データ転送用セレクタとは、互いに独立して切替動作が可能であるものであり、前記ホストコントローラは、実行する前記新カード準備分割処理において、ステップ(b)における単位処理がデータ転送を伴わないものであるとき、ステップ(a)において、前記データ転送用セレクタによって、データ転送信号線の接続先を前記第1のカードスロットに維持しつつ、前記制御用セレクタによって、制御信号線の接続先を前記第1のカードスロットから前記第2のカードスロットに切り替え、ステップ(c)において、前記制御用セレクタによって、制御信号線の接続先を前記第2のカードスロットから前記第1のカードスロットに切り替えるものとしてもよい。
この発明によると、スロット切替手段において、制御信号線の接続先を切り替える制御用セレクタと、データ転送信号線の接続先を切り替えるデータ転送用セレクタとは、互いに独立して切替動作が可能である。そして、新カード準備分割処理において、実行する単位処理がデータ転送を伴わないものであるとき、データ転送信号線の接続先を替えないで、制御信号線の接続先のみが切り替えられる。これにより、データ転送を伴わない単位処理を実行する期間において、メモリカードに対する書き込みまたは読み出しを継続することが可能になり、書き込みまたは読み出し中断時間を削減することができるので、アクセス効率を大幅に向上させることができる。
本発明によると、新たなメモリカードに対する準備処理に起因する書き込みまたは読み出し中断時間が分散され、1回あたりの書き込みまたは読み出し中断時間が削減されるので、メモリカードの切り替え時における、書き込みまたは読み出し中断時に使用するデータ退避用のバッファメモリを、従来よりも大幅に削減することができる。
また、本発明によると、データ転送を伴わない単位処理を実行する期間において、メモリカードに対する書き込みまたは読み出しを継続することが可能になり、書き込みまたは読み出し中断時間を削減することができるので、アクセス効率が大幅に向上する。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
(実施形態1)
図1は本発明の実施形態1に係るホスト機器の構成を示すブロック図である。図1において、ホスト機器10は、ホストコントローラ11と、メモリカードが挿入可能な2個のカードスロット12a,12bと、ホストコントローラ11とカードスロット12a,12bとの間に設けられたセレクタ13とを備えている。スロット切替手段としてのセレクタ13は、ホストコントローラ11の指示に従って、ホストコントローラからの信号線の接続先をカードスロット12a,12bの間で切り替えることによって、ホストコントローラ11の制御対象となるカードスロットを切り替える機能を有する。このホスト機器10は例えば、デジタルビデオカメラに相当し、撮影された録画データを、バッファメモリを介してメモリカード30a,30bに書き込む、といった動作を実行する。またここでは、メモリカード30a,30bはSDカードとする。
ホストコントローラ11とセレクタ13とは、カード制御用の信号線であるCMD線21、データ転送用の信号線であるDAT線22、およびセレクタ制御用の信号線であるSEL線23によって接続されている。セレクタ13とカードスロット12aとは、CMD線21aおよびDAT線22aによって接続されており、セレクタ13とカードスロット12bとは、CMD線21bおよびDAT線22bによって接続されている。また、クロック信号線であるCLK線24は、ホストコントローラ11とカードスロット12a,12bとの間を直接接続している。
ホストコントローラ11は、SEL線23の信号を操作することにより、CMD線21の接続先をCMD線21aとCMD線21bのいずれかに切り替えることができる。その際セレクタ13は、CMD線21とDAT線22が常に同じカードスロットに接続されるように、DAT線22の接続先についても、DAT線22aとDAT線22bの間で切り替えを行う。
また、メモリカード30aがカードスロット12aに挿入された場合、CMD線21a、DAT線22aおよびCLK線24の全ての信号線がメモリカード30aの対応するピンに接続される。同様に、メモリカード30bがカードスロット12bに挿入された場合、CMD線21b、DAT線22bおよびCLK線24の全ての信号線がメモリカード30bの対応するピンに接続される。
なお、メモリカードの有無の検出は、SEL線23の状態に関係なく、各カードスロットで独立して常時行えることとする。例えば、ホストコントローラ11は、カードスロットにメモリカードが挿入されたとき、割り込みがかかるように構成されている。あるいは、ホストコントローラ11は、ポーリングによって、カードスロットへのメモリカードの挿入を検出する。
以上のように構成されたホスト機器10について、以下、図2のフローチャートを参照して、その動作を説明する。ここでは、第1のカードスロットとしてのカードスロット12aに挿入されたメモリカード30a(カード1)に対して録画データの書き込みを行っている期間に、第2のカードスロットとしてのカードスロット12bに新たなメモリカード30b(カード2)が挿入された場合を想定する。そしてこの場合において、書き込みによってカード1が満杯になり、カード2への書込みを開始するまでのホストコントローラ11の動作を説明する。
なお、ホストコントローラ11は、カードスロットに挿入されたメモリカードに対する書き込みのための準備処理を、複数の単位処理に分割して実行可能であるものとする。ここでは、準備処理は、メモリカードの初期化処理であるものとし、また、分割した各単位処理は、コマンド単位の処理であるものとする。また図2において、ステップS103,S104およびS105が、新カード準備分割処理に相当する。
(S101)カード1に対してライトコマンドを発行し、録画データを書き込む。なお、この段階でバッファメモリに退避している録画データは全てカード1へ書き込んでおく。
(S102)カード2が挿入されているか否か、および挿入されている場合は初期化が完了しているか否かをチェックする。未挿入または初期化済みの場合はステップS106を実施する。
(S103)ステップS102においてカード2の初期化が完了していないとき、SEL線23の信号を変更してセレクタ13を操作することによって、信号線の接続先をカードスロット12bに切り替える。すなわち、ホストコントローラ11は、セレクタ13によって、制御対象をカードスロット12aからカードスロット12bに切り替える。
(S104)カード2に対して、直前に発行した初期化コマンドなどカード初期化状態を参照した上で、適切な初期化コマンドを1つ発行する。なお、この間はカード1に対する書き込みは中断されている。
(S105)SEL線23の信号を変更してセレクタ13を操作することによって、信号線の接続先をカードスロット12aに切り替える。すなわち、ホストコントローラ11は、セレクタ13によって、制御対象をカードスロット12bからカードスロット12aに切り替える。
(S106)カード1が満杯になっているか否かをチェックする。まだ空きがあるときは、ステップS101に戻って書き込みを継続する。
(S107)ステップS106においてカード1が満杯であるとき、SEL線23の信号を変更してセレクタ13を操作することによって、信号線の接続先をカードスロット12bに切り替える。
(S108)カード2の初期化が完了しているか否かをチェックする。なお、カード2が挿入されていないときは、処理を停止する。
(S109)ステップS108においてカード2の初期化が完了していないときは、カード2の初期化処理を完了させる。
(S110)ステップS109の実行後、あるいは、ステップS108においてカード2の初期化が完了しているときは、カード2に対してライトコマンドを発行し、録画データを書き込む。なお実際は、書き込みの前にFATの読み込み処理などが必要となる。
なお、SDカードの場合、初期化コマンドの1つであるACMD41について、通常はカードからのBUSY解除を待っている間は信号線を接続した状態でACMD41を繰り返し発行する。ところが本実施形態では、ACMD41を発行した(S104)後、カードスロット12aに接続を切り替え(S105)、再度カードスロット12bに接続を戻して(S103)ACMD41を発行する(S104)、といった動作を行う。
図3は上述した本実施形態における動作を概念的に示すタイミングチャートである。図3に示すように、カード1への書き込みの途中で、カード2に対して、図2のステップS103,S104およびS105からなる新カード準備分割処理P11,P12,P13が、繰り返し実行される。これにより、カード初期化に伴う書き込み中断時間を分散させ、一回あたりの書き込み中断時間を削減することができる。
ここで、下記前提条件の下で、本実施形態の手法を用いることによって削減可能なバッファメモリのサイズを検討する。なお、メモリカードはSDカードとする。
<前提条件>
(1)カードへの書き込みレートは2MB/秒
(2)録画データのレートは1.5MB/秒
(3)カード初期化全体にかかる最大時間は2秒
(4)カード初期化中の最大データ転送サイズは512Byte
(5)FATの読み込みにかかる最大時間は3秒
(6)カードへのクロックは25MHz
(7)カードとの間のデータ転送のバス幅は4bit
(8)録画開始前に1つのカードのみFAT読み込みなども完了し、すぐにデータの書き込みを開始できる状態になっている。
(9)書き込み中のカードが満杯になるタイミングよりも充分な時間だけ前に別のカードスロットへカードが挿入される。
まず、従来の場合に必要なバッファメモリサイズを計算する。図8に示すように、カード1が満杯になった後、カード2への書き込みを開始するまでのカード切り替え時には、カード初期化処理が必要となる。さらに、その後は通常、FATの読み込み処理を行う。前提条件(3),(5)より、これらの処理にかかる最大時間は、次式により5秒となる。
2秒+3秒=5秒 …(1)
また、録画データのレートは前提条件(2)より1.5MB/秒なので、5秒間で生成されるデータは、次式により7.5MBとなる。
1.5MB/秒×5秒=7.5MB …(2)
通常、バッファメモリとしては最大の時間を要した場合でも対応可能なだけのサイズを用意しておく必要があるため、従来のホスト機器において必要なバッファメモリのサイズは、7.5MBとなる。
次に、本実施形態において必要なバッファメモリのサイズを計算する。本実施形態では、図3に示すように、カード1へ書き込みを行っている間に、カード2の初期化処理を1コマンドずつ並行して行うため、カード満杯後のカード切り替え時以外でも書き込み中断が発生し、バッファメモリを使用する必要がある。書き込み中断時間はカード初期化コマンド1つ分だけ発生し、前提条件(4),(6),(7)より、最大の中断時間は、次式により0.00004秒となる。
512Byte×8÷4bit÷25MHz=0.00004秒 …(3)
録画データのレートは前提条件(2)より1.5MB/秒なので、0.00004秒間で生成されるデータは、次式により0.00006MBとなる。
1.5MB/秒×0.00004秒=0.00006MB …(4)
また、カード1が満杯になった後、カード2への書込みを開始するまでのカード切り替え時には、FATの読み込み処理のみが必要となる。前提条件(5)より、この処理にかかる最大時間は3秒となる。録画データのレートは前提条件(2)より1.5MB/秒なので、3秒間で生成されるデータは次式により4.5MBとなる。
1.5MB/秒×3秒=4.5MB …(5)
バッファメモリとしては、上のいずれか大きい方のサイズ分だけ用意しておけばよいため、式(4),(5)より、必要なバッファメモリのサイズは、4.5MBとなる。
以上のように、本実施形態の手法を用いることによって、必要なバッファメモリのサイズが7.5MBから4.5MBとなり、削減されるバッファメモリのサイズは次式により3MBとなる。
7.5MB−4.5MB=3MB …(6)
以上のように本実施形態によると、ホストコントローラ11は、メモリカードに対する書き込みの初期化処理を、コマンド単位の処理に分割して実行可能である。そして、メモリカードに対して書き込みを行っている期間に、新たなメモリカードに対して、初期化処理を1コマンド分実行する新カード準備分割処理が、繰り返し実行される。このため、メモリカードに対する書き込みと、新たなメモリカードに対する1コマンド分の初期化処理とが、交互に行われることになる。これにより、新たなメモリカードに対する初期化処理に起因する書き込み中断時間が分散されることになり、1回あたりの書き込み中断時間が削減されるので、メモリカードの切り替え時における、書き込み中断時に使用するデータ退避用のバッファメモリを、従来よりも大幅に削減することができる。
(実施形態2)
図4は本発明の実施形態2に係るホスト機器の構成を示すブロック図であり、図1と共通の構成要素には図1と同一の符号を付している。図4において、ホスト機器40は、ホストコントローラ41と、メモリカードが挿入可能な2個のカードスロット12a,12bと、ホストコントローラ41とカードスロット12a,12bとの間に設けられたCMDセレクタ43aおよびDATセレクタ43bとを備えている。制御用セレクタとしてのCMDセレクタ43aは、ホストコントローラ41からの制御信号線すなわちCMD線21の接続先を、カードスロット12a,12bの間で切り替える。データ転送用セレクタとしてのDATセレクタ43bは、ホストコントローラ41からのデータ転送信号線すなわちDAT線22の接続先を、カードスロット12a,12bの間で切り替える。CMDセレクタ43aおよびDATセレクタ43bによって、ホストコントローラ41の制御対象となるカードスロットを切り替える機能を有するスロット切替手段43が構成されている。このスロット切替手段43は、ホストコントローラ11の指示に従って、ホストコントローラ11からの信号線の接続先をカードスロット12a,12bの間で切り替える。実施形態1と同様に、ホスト機器40は例えば、デジタルビデオカメラに相当し、撮影された録画データを、バッファメモリを介してメモリカード30a,30bに書き込む、といった動作を実行する。またここでは、メモリカード30a,30bはSDカードとする。
ホストコントローラ41とCMDセレクタ43aとは、CMD線21、およびセレクタ制御用の信号線であるSEL線53aによって接続されている。そしてCMDセレクタ43aとカードスロット12aとは、CMD線21aによって接続されており、CMDセレクタ43aとカードスロット12bとは、CMD線21bによって接続されている。同様に、ホストコントローラ41とDATセレクタ43bとは、DAT線22、およびセレクタ制御用の信号線であるSEL線53bによって接続されている。そしてDATセレクタ43bとカードスロット12aとは、DAT線22aによって接続されており、DATセレクタ43bとカードスロット12bとは、DAT線22bによって接続されている。また、CLK線24は、ホストコントローラ41とカードスロット12a,12bとの間を直接接続している。
ホストコントローラ41は、SEL線53aの信号を操作することにより、CMD線21の接続先をCMD線21aとCMD線21bのいずれかに切り替えることができる。また、ホストコントローラ41は、SEL線53bの信号を操作することにより、DAT線22の接続先をDAT線22aとDAT線22bのいずれかに切り替えることができる。なお、SEL線53aの信号操作およびSEL線53bの信号操作はそれぞれ独立したタイミングで行える。
また、メモリカード30aがカードスロット12aに挿入された場合、CMD線21a、DAT線22aおよびCLK線24の全ての信号線がメモリカード30aの対応するピンに接続される。同様に、メモリカード30bがカードスロット12bに挿入された場合、CMD線21b、DAT線22bおよびCLK線24の全ての信号線がメモリカード30bの対応するピンに接続される。
なお、実施形態1と同様に、メモリカードの有無の検出は、SEL線の状態に関係なく各カードスロットで独立して常時行えることとする。
以上のように構成されたホスト機器40について、以下、図5のフローチャートを参照して、その動作を説明する。ここでは、第1のカードスロットとしてのカードスロット12aに挿入されたメモリカード30a(カード1)に対して録画データの書き込みを行っている期間に、第2のカードスロットとしてのカードスロット12bに新たなメモリカード30b(カード2)が挿入された場合を想定する。そしてこの場合において、書き込みによってカード1が満杯になり、カード2への書き込みを開始するまでのホストコントローラ41の動作を説明する。
なお、実施形態1と同様に、ホストコントローラ41は、カードスロットに挿入されたメモリカードに対する書き込みのための準備処理を、複数の単位処理に分割して実行可能であるものとする。ここでは、準備処理は、メモリカードの初期化処理であるものとし、また、分割した各単位処理は、コマンド単位の処理であるものとする。また図5において、ステップS203,S204およびS205が、新カード準備分割処理に相当する。
図5に示す動作は、基本的には、図2に示す動作と同様である。異なるのは、実行する新カード準備分割処理において、ステップS204における単位処理がデータ転送を伴わないものであるとき(ここでは、発行するコマンドがDAT線を使用しないものであるとき)、ステップS203において、DAT線22の接続先を切り替えないで、CMD線21の接続先のみをカードスロット12aからカードスロット12bに切り替える、という点である。
(S201)カード1に対してライトコマンドを発行し、録画データを書き込む。なお、この段階でバッファメモリに退避している録画データは全てカード1へ書き込んでおく。
(S202)カード2が挿入されているか否か、および挿入されている場合は初期化が完了しているか否かをチェックする。未挿入または初期化済みの場合はステップS206を実施する。
(S203)ステップS202においてカード2の初期化が完了していないとき、SEL線53aの信号を変更してCMDセレクタ43aを操作することによって、CMD線21の接続先をカードスロット12bに切り替える。この場合、ステップS204において発行する初期化コマンドがDAT線を使用しないコマンドであるときは、DAT線22の接続先はカードスロット12aに維持したままにする。一方、ステップS204において発行する初期化コマンドがDAT線を使用するコマンドであるときは、さらに、SEL線53bの信号を変更してDATセレクタ43bを操作することによって、DAT線22の接続先もカードスロット12bに切り替える。
(S204)カード2に対して、直前に発行した初期化コマンドなどのカード初期化状態を参照した上で、適切な初期化コマンドを1つ発行する。なお、発行する初期化コマンドがDAT線を使用しないコマンドであるときは、この間はカード1に対する書き込みは中断されずに継続されている。一方、発行する初期化コマンドがDAT線を使用するコマンドであるときは、この間はカード1に対する書き込みは中断されている。
(S205)SEL線53aの信号を変更してCMDセレクタ43aを操作することによって、CMD線21の接続先をカードスロット12aに切り替える。ただし、ステップS203において、DAT線22の接続先もカードスロット12bに切り替えていた場合は、さらにSEL線53bの信号を変更してDATセレクタ43bを操作することによって、DAT線22の接続先もカードスロット12aに切り替える。
(S206)カード1が満杯になっているか否かをチェックする。まだ空きがあるときは、ステップS201に戻って書き込みを継続する。
(S207)ステップS206においてカード1が満杯であるとき、SEL線53a,53bを操作して信号線の接続先をカードスロット12bに切り替える。
(S208)カード2の初期化が完了しているか否かをチェックする。なお、カード2が挿入されていないときは、処理を停止する。
(S209)ステップS208においてカード2の初期化が完了していないときは、カード2の初期化処理を完了させる。
(S210)ステップS209の実行後、あるいは、ステップS208においてカード2の初期化が完了しているときは、カード2に対してライトコマンドを発行し、録画データを書き込む。なお実際は、カードへの書き込みの前にFATの読み込み処理などが必要となる。
図6は上述した本実施形態における動作を概念的に示すタイミングチャートである。図6に示すように、カード1への書き込みの途中で、カード2に対して、図5のステップS203,S204およびS205からなる新カード準備分割処理P21,P22,P23が、繰り返し実行される。そして、新カード準備分割処理P21,P22では、ステップS204における単位処理がデータ転送を伴わないものであるため、DAT線の切替が行われておらず、したがって、この期間、カード1への書き込みが中断されずに継続して行われている。すなわち、本実施形態によると、カード1への書き込み処理におけるデータ転送と同時に、データ転送を伴わない単位処理を行う新カード準備分割処理が実行可能となるので、書き込み中断時間を削減することができる。
ここで、実施形態1で示した前提条件の下で、本実施形態2の手法を用いることによって削減可能なバッファメモリのサイズを検討する。本実施形態では図6に示すように、実施形態1と同じく、カード1へ書き込みを行っている間にカード2の初期化処理を1コマンドずつ並行して行っており、削減可能なバッファメモリのサイズは実施形態1と同じになる。すなわち、本実施形態の手法を用いることによって、必要なバッファメモリのサイズを3MB分削減することができる。本実施形態が実施形態1と異なる点は、初期化用コマンドのうちDAT線を使用しないコマンドについては、書き込みと同時に実行できるため、アクセス効率が向上している点である。
以上のように本発明によると、スロット切替手段40において、CMD線の接続先を切り替えるCMDセレクタ43aと、DAT線の接続先を切り替えるDATセレクタ43bとは、互いに独立して切替動作が可能である。そして、新カード準備分割処理において、実行する単位処理がデータ転送を伴わないものであるとき、DAT線の接続先を替えないで、CMD線の接続先のみが切り替えられる。これにより、データ転送を伴わないコマンドを実行する期間において、メモリカードに対する書き込みを継続することが可能になり、書き込み中断時間を削減することができるので、アクセス効率を大幅に向上させることができる。
図7は本発明に係るホスト機器に相当するデジタルビデオカメラの一例の外観図である。図7のデジタルビデオカメラ1は、2個のカードスロット2a,2bを備えており、録画データをカードスロット2a,2bに挿入されたメモリカード3a,3bに記録することができる。
なお、上述の実施形態1,2では、複数の単位処理に分割して実行する準備処理として、カードの初期化処理のみを対象としたが、FATの読み込みなどその他の処理に関しても、同様に分割して処理するようにしてもよい。これにより、さらに書き込み中断時間を短縮することができ、バッファメモリのサイズを削減することができる。
また、上述の実施形態1,2では、各単位処理において1つのコマンドを実行するものとしたが、本発明はこれに限られるものではなく、例えば、各単位処理において複数個のコマンドを実行するようにしてもよい。
また、上述の実施形態1,2では、各カードスロットへのクロック線は共通であり切り替えられない構成になっていたが、CMD線やDAT線と同様に、セレクタによって切り替え可能にし、非接続カードにはクロックが供給されない形態にすることも可能である。ただしこの場合、SDカードのACMD41については、カード2のBUSY解除待ち中にカード1に切り替えている間は、カード2にクロックが供給されず、カード内部での初期化処理が実施されない。このため、初期化完了までに時間がかかることになる。
また、上述の実施形態1および2では、メモリカードがSDカードである場合について説明したが、本発明はこれに限られるものではなく、例えば、コンパクトフラッシュ(登録商標)カード、スマートメディアカード、メモリースティック、xDピクチャーカード等その他のメモリカードについても同様の効果が得られる。
また、上述の実施形態1および2では、新たなメモリカードが挿入されたタイミングで、新カード準備分割処理の実行を開始するものとしたが、本発明において、新カード準備分割処理の実行を開始するタイミングは、これに限られるものではない。書き込みを行っているメモリカードが満杯になるよりも充分な時間だけ前のタイミングであれば、任意のタイミングで実施可能である。例えば、新たなメモリカードが挿入された後、書き込みを行っているメモリカードの空き容量が所定値以下になったタイミングで、新カード準備分割処理の実行を開始するようにすればよい。
また、上述の実施形態2では、メモリカードへの書き込みを中断せずに行う処理としてカード初期化のみを対象としたが、カードステータスを取得するコマンドCMD13などDAT線を使用しない全てのコマンドに関して、同様の手法によって書き込みと同時に実施することができる。
また、上述の実施形態1および2では、機器で生成したデータをメモリカードへ書き込む場合を対象としたが、メモリカード内のデータを読み出して機器で使用する場合であっても、同様の手法が適用可能である。すなわち、ホストコントローラは、カードスロットに挿入されたメモリカードに対する読み出しのための準備処理を、複数の単位処理に分割して実行可能とする。そして、メモリカードからの読み出しを行っている期間に新たなメモリカードが挿入された場合において、スロット切替、1単位処理分の準備処理の実行およびスロット切替を行う新カード準備分割処理を、繰り返し実行する。これにより、読み出し中断時間を分散させることができ、読み出し中断中に使用するデータの先読み用バッファメモリのサイズを削減することが可能である。これは例えば、メモリカード内の動画データを途切れることなくホスト機器上で再生する場合などに有用である。
またこの場合も、新カード準備分割処理の実行を開始するタイミングは、新たなメモリカードが挿入されたタイミングでよい。あるいは、読み出しを行っているメモリカードの未読み出し容量がなくなるよりも充分な時間だけ前のタイミングであれば、任意のタイミングで実施可能である。例えば、新たなメモリカードが挿入された後、読み出しを行っているメモリカードの未読み出し容量が所定値以下になったタイミングで、新カード準備分割処理の実行を開始するようにすればよい。
また、上述の実施形態1および2では、カードスロットの個数が2つの場合について説明を行ったが、カードスロットが3個以上の場合においても、本発明は同様に実施可能である。
本発明は、単一ホストコントローラによって複数のメモリカードを制御するホスト機器全般に広く適用可能であり、特に、動画などの大容量データをカードに記録する機器において有用である。
本発明の実施形態1に係るホスト機器の構成を示す図である。 本発明の実施形態1におけるカード切り替え前後のホストコントローラの処理を表すフローチャートである。 本発明の実施形態1におけるカード切り替え前後の動作を概念的に示すタイミングチャートである。 本発明の実施形態2に係るホスト機器の構成を示す図である。 本発明の実施形態2におけるカード切り替え前後のホストコントローラの処理を表すフローチャートである。 本発明の実施形態2におけるカード切り替え前後の動作を概念的に示すタイミングチャートである。 本発明に係るホスト機器に相当するデジタルビデオカメラの外観図である。 従来のカード切り替え前後の動作を示すタイミングチャートである。
符号の説明
1 デジタルビデオカメラ
2a,2b カードスロット
3a,3b メモリカード
10,40 ホスト機器
11,41 ホストコントローラ
12a,12b カードスロット
13 セレクタ(スロット切替手段)
21,21a,21b CMD線(制御信号線)
22,22a,22b DAT線(データ転送信号線)
23,53a,53b SEL線
24 CLK線
30a,30b メモリカード
43 スロット切替手段
43a CMDセレクタ(制御用セレクタ)
43b DATセレクタ(データ転送用セレクタ)
S103,S104,S105 新カード準備分割処理
S203,S204,S205 新カード準備分割処理
P11,P12,P13,P21,P22,P23 新カード準備分割処理

Claims (7)

  1. ホストコントローラと、
    メモリカードが挿入可能な複数のカードスロットと、
    前記ホストコントローラと前記複数のカードスロットとの間に設けられており、前記ホストコントローラの指示に従って前記ホストコントローラからの信号線の接続先を前記複数のカードスロットの間で切り替えることによって、制御対象となるカードスロットを切り替えるスロット切替手段とを備え、
    前記ホストコントローラは、
    前記カードスロットに挿入されたメモリカードに対する書き込みまたは読み出しのための準備処理を、複数の単位処理に分割して実行可能であり、かつ、
    第1のカードスロットに挿入されたメモリカードに対して書き込みまたは読み出しを行っている期間に第2のカードスロットに新たなメモリカードが挿入された場合において、
    前記スロット切替手段によって、制御対象を前記第1のカードスロットから前記第2のカードスロットに切り替えるステップ(a)と、
    前記新たなメモリカードに対する前記準備処理を、1単位処理分、実行するステップ(b)と、
    前記スロット切替手段によって、制御対象を前記第2のカードスロットから前記第1のカードスロットに切り替えるステップ(c)とを含む、新カード準備分割処理を、繰り返し実行する
    ことを特徴とするホスト機器。
  2. 請求項1において、
    前記スロット切替手段は、
    前記ホストコントローラからの制御信号線の接続先を、前記複数のカードスロットの間で切り替える制御用セレクタと、
    前記ホストコントローラからのデータ転送信号線の接続先を、前記複数のカードスロットの間で切り替えるデータ転送用セレクタとを備え、
    前記制御用セレクタと前記データ転送用セレクタとは、互いに独立して切替動作が可能であるものであり、
    前記ホストコントローラは、
    実行する前記新カード準備分割処理において、ステップ(b)における単位処理が、データ転送を伴わないものであるとき、
    ステップ(a)において、前記データ転送用セレクタによって、データ転送信号線の接続先を前記第1のカードスロットに維持しつつ、前記制御用セレクタによって、制御信号線の接続先を前記第1のカードスロットから前記第2のカードスロットに切り替え、
    ステップ(c)において、前記制御用セレクタによって、制御信号線の接続先を前記第2のカードスロットから前記第1のカードスロットに切り替える
    ことを特徴とするホスト機器。
  3. 請求項1において、
    前記準備処理は、当該メモリカードの初期化処理を含む
    ことを特徴とするホスト機器。
  4. 請求項1において、
    前記準備処理を分割した各単位処理は、1つのコマンドを実行する処理である
    ことを特徴とするホスト機器。
  5. 請求項1において、
    前記ホストコントローラは、
    前記第2のカードスロットに新たなメモリカードが挿入されたタイミングで、前記新カード準備分割処理の実行を開始する
    ことを特徴とするホスト機器。
  6. 請求項1において、
    前記ホストコントローラは、
    前記第2のカードスロットに新たなメモリカードが挿入された後、前記第1のカードスロットのメモリカードの空き容量または未読み出し容量が所定値以下になったタイミングで、前記新カード準備分割処理の実行を開始する
    ことを特徴とするホスト機器。
  7. デジタルビデオカメラである、請求項1記載のホスト機器。
JP2007222684A 2007-08-29 2007-08-29 複数のメモリカードを制御するホスト機器 Pending JP2009054103A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007222684A JP2009054103A (ja) 2007-08-29 2007-08-29 複数のメモリカードを制御するホスト機器
US12/194,061 US7809877B2 (en) 2007-08-29 2008-08-19 Host apparatus for controlling memory cards which minimizes interruption of writing to memory cards
CN2008102149405A CN101383933B (zh) 2007-08-29 2008-08-29 控制多个存储卡的主机
CN2012101397828A CN102750251A (zh) 2007-08-29 2008-08-29 存储卡写入或读出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007222684A JP2009054103A (ja) 2007-08-29 2007-08-29 複数のメモリカードを制御するホスト機器

Publications (1)

Publication Number Publication Date
JP2009054103A true JP2009054103A (ja) 2009-03-12

Family

ID=40409275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007222684A Pending JP2009054103A (ja) 2007-08-29 2007-08-29 複数のメモリカードを制御するホスト機器

Country Status (3)

Country Link
US (1) US7809877B2 (ja)
JP (1) JP2009054103A (ja)
CN (2) CN102750251A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217511A (ja) * 2008-03-10 2009-09-24 Canon Inc 共有バス制御装置及びその制御方法
JP2014220803A (ja) * 2013-04-09 2014-11-20 株式会社ユピテル 画像記録装置、画像記録システム、及びプログラム
WO2018084004A1 (ja) * 2016-11-04 2018-05-11 ソニー株式会社 デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI353810B (en) * 2008-09-17 2011-12-01 Asustek Comp Inc Motherboard
CN102736859A (zh) * 2011-04-08 2012-10-17 深圳富泰宏精密工业有限公司 双存储卡控制系统及方法
US20130042063A1 (en) * 2011-08-08 2013-02-14 Chi Mei Communication Systems, Inc. System and method for controlling dual memory cards

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191930A (ja) * 1993-12-27 1995-07-28 Nec Corp ディスク装置のインタフェース及びその制御方法
JPH09212600A (ja) * 1996-01-31 1997-08-15 Sharp Corp Icカード挿抜検出制御装置
JP2006024217A (ja) * 2004-07-07 2006-01-26 Sychip Inc 複数の機能デバイスで単一のホスト・コントローラを共有すること

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901457B1 (en) * 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
KR100367588B1 (ko) * 2000-01-24 2003-01-10 엘지전자 주식회사 디지털데이터 플레이어의 상대주소 할당 장치 및 방법
JP4649009B2 (ja) * 2000-03-08 2011-03-09 株式会社東芝 カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
CN1369179A (zh) * 2000-05-18 2002-09-11 黄俊钦 多卡式手机及多卡控制方法
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
CN1278239C (zh) * 2002-01-09 2006-10-04 株式会社瑞萨科技 存储系统和存储卡
JP3953832B2 (ja) * 2002-02-22 2007-08-08 株式会社村田製作所 メディア媒体用インタフェースカード
WO2004082270A1 (ja) * 2003-03-12 2004-09-23 Matsushita Electric Industrial Co., Ltd. カメラレコーダおよびデータ記録媒体
JP2004326434A (ja) * 2003-04-24 2004-11-18 Softbank Bb Corp Pcカード及びpcカードの制御方法
US6990545B2 (en) * 2003-04-28 2006-01-24 International Business Machines Corporation Non-disruptive, dynamic hot-plug and hot-remove of server nodes in an SMP
US7209995B2 (en) * 2003-12-09 2007-04-24 Sandisk Corporation Efficient connection between modules of removable electronic circuit cards
US7069369B2 (en) * 2004-02-12 2006-06-27 Super Talent Electronics, Inc. Extended-Secure-Digital interface using a second protocol for faster transfers
US7587544B2 (en) * 2006-09-26 2009-09-08 Intel Corporation Extending secure digital input output capability on a controller bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191930A (ja) * 1993-12-27 1995-07-28 Nec Corp ディスク装置のインタフェース及びその制御方法
JPH09212600A (ja) * 1996-01-31 1997-08-15 Sharp Corp Icカード挿抜検出制御装置
JP2006024217A (ja) * 2004-07-07 2006-01-26 Sychip Inc 複数の機能デバイスで単一のホスト・コントローラを共有すること

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217511A (ja) * 2008-03-10 2009-09-24 Canon Inc 共有バス制御装置及びその制御方法
JP2014220803A (ja) * 2013-04-09 2014-11-20 株式会社ユピテル 画像記録装置、画像記録システム、及びプログラム
WO2018084004A1 (ja) * 2016-11-04 2018-05-11 ソニー株式会社 デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム

Also Published As

Publication number Publication date
US7809877B2 (en) 2010-10-05
CN102750251A (zh) 2012-10-24
CN101383933B (zh) 2012-05-30
US20090063742A1 (en) 2009-03-05
CN101383933A (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
JP2009054103A (ja) 複数のメモリカードを制御するホスト機器
US8429374B2 (en) System and method for read-while-write with NAND memory device
US20070297433A1 (en) Method and apparatus for double buffering
JPH05173719A (ja) データ記憶方法
US8386725B2 (en) USB host controller and controlling method for USB host controller
TW502165B (en) System and method for effectively utilizing a cache memory in an electronic device
JP5173707B2 (ja) 情報処理装置、及びその制御方法
EP1576813B1 (en) Video viewing system and method
US8285932B2 (en) Mass storage system with improved usage of buffer capacity
US6571320B1 (en) Cache memory for two-dimensional data fields
JP4719167B2 (ja) 半導体メモリ情報蓄積装置とその書き込み不良対策方法
US8345760B2 (en) Information processing apparatus and information processing method
JP2010049303A (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP4622871B2 (ja) データ処理システム、アクセス制御方法、その装置およびそのプログラム
JP2822980B2 (ja) 通信ボード初期化システム
JP2000132507A (ja) Scsiプロトコルにおけるコマンド処理方法およびそれに用いる装置
JP5237731B2 (ja) メモリシステム、メモリ装置、メモリアクセス方法
JP4250170B2 (ja) エンコード中に抽出画像を外部に送信するビデオエンコーダ
JP2005275907A (ja) 電子機器および同機器の記憶媒体ユニット制御方法
JP2008059155A (ja) 情報処理装置及び情報処理方法
JP2003256273A (ja) フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法
JP2005092717A (ja) 記憶システム、記憶システム制御方法、及びそのプログラム
JP2005169711A (ja) シリアル記録装置
JP2004326814A (ja) 画像処理装置及び画像処理システム
JP2009017201A (ja) データ記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100309

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002