(57)【要約】  携帯電話などの機器とデータを交換するための第１のインターフェースと、ホストシステムとデータを交換し、ホストシステムから電力を受信して機器に電力を供給するための第２のインターフェースと、機器にデータの記憶域を提供するための半導体メモリとを備えるストレージコントローラ。
2008529134.tif 000002
【特許請求の範囲】
【請求項１】
ストレージコントローラであって、
機器とデータを交換するための第１のインターフェース、
ホストシステムとデータを交換し、該機器に電力を供給するための第２のインターフェース、及び
該機器にデータの記憶域を提供するための半導体メモリ
からなるストレージコントローラ。
【請求項２】
請求項１記載のストレージコントローラにおいて、該半導体メモリがＮＡＮＤフラッシュメモリからなるストレージコントローラ。
【請求項３】
請求項１記載のストレージコントローラにおいて、該第１のインターフェースが第１のユニバーサル・シリアル・バス（ＵＳＢ）からなるストレージコントローラ。
【請求項４】
請求項１記載のストレージコントローラにおいて、該第２のインターフェースが第２のＵＳＢインターフェースからなるストレージコントローラ。
【請求項５】
請求項１記載のストレージコントローラであって、さらに、第１のＵＳＢシリアル・インターフェース・エンジン（ＳＩＥ）、仮想ハブ、第２のＵＳＢ・ＳＩＥ、及びマイクロコントローラからなるストレージコントローラ。
【請求項６】
請求項１記載のストレージコントローラにおいて、該半導体メモリが外部フラッシュメモリからなるストレージコントローラ。
【請求項７】
請求項４記載のストレージコントローラにおいて、該第２のＵＳＢインターフェースが該ストレージコントローラの仮想ハブに結合されたストレージコントローラ。
【請求項８】
請求項７記載のストレージコントローラにおいて、該システムには該仮想ハブが、２つのダウンストリームポートを有するＵＳＢハブのように見えるストレージコントローラ。
【請求項９】
請求項８記載のストレージコントローラにおいて、該機器が該第１のインターフェースを介して該システムから受電し、同時に該第２のインターフェースを介して該メモリとデータを交換することを可能とするために、第１のダウンストリームポートが第１の速度のストレージデバイスであり、第２のダウンストリームポートが第２の速度のストレージデバイスであり、該第１の速度が該第２の速度よりも大きいストレージコントローラ。
【請求項１０】
請求項１記載のストレージコントローラにおいて、該機器が携帯電話、音楽プレーヤー及びフォトビューアのうちの１つからなるストレージコントローラ。
【請求項１１】
ディスクリート部品として提供される請求項１記載のストレージコントローラ。
【請求項１２】
該機器のチップセットに集積されたものとして提供される請求項１記載のストレージコントローラ。
【請求項１３】
請求項１記載のストレージコントローラであって、さらに、該ストレージコントローラにおける第１のマルチプレクサ及び該システムにおける第２のマルチプレクサからなり、該第１及び第２のマルチプレクサが、第１の動作モードにおいて該システムと該機器との間の該ストレージコントローラを介して透過的に接続すること、及び第２の動作モードにおいて該メモリをメディアドライブとして表すために接続することを可能にするストレージコントローラ。
【請求項１４】
請求項１３記載のストレージコントローラにおいて、該システムが害機器とインターフェースするための第１のドライバ、該メモリとインターフェースするための第２のメディアドライバを含み、第２のマルチプレクサによって、該システムの該第１及び第２のドライバが該ストレージコントローラの該第２のインターフェースにアクセスすることを可能にするストレージコントローラ。
【請求項１５】
請求項１４記載のストレージコントローラにおいて、該第２のマルチプレクサによって、該システムの該第１及び第２のドライバが該ストレージコントローラの該第２のインターフェースに同時にアクセスすることを可能にするストレージコントローラ。
【請求項１６】
請求項１４記載のストレージコントローラにおいて、該第２のマルチプレクサによって、該システムの該第１及び第２のドライバが該ストレージコントローラの該第２のインターフェースに排他的にアクセスすることを可能にするストレージコントローラ。
【請求項１７】
請求項１記載のストレージコントローラにおいて、該コントローラが、該メモリから該機器にデータをロードすることを求める要求を該機器から受信するストレージコントローラ。
【請求項１８】
ストレージコントローラであって、
機器とデータを交換するための第１のインターフェース手段、
ホストシステムとデータを交換し、該機器に電力を供給するための第２のインターフェース手段、及び
該機器にデータの記憶域を提供するための半導体メモリ手段
からなるストレージコントローラ。
【請求項１９】
請求項４記載のストレージコントローラにおいて、該第１のＵＳＢインターフェース及び第２のＵＳＢインターフェースが互いに異なるものであり、ＵＳＢ１．１、ＵＳＢ２．０、ＵＳＢ１．１ＯＴＧ、ＵＳＢ２．０ＯＴＧ、無線ＵＳＢからなるグループから選択されるストレージコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により本明細書に組み込まれている、２００５年１月２１日に出願した同時係属の米国仮出願第６０／６４６２０６号（整理番号第００６２８４．Ｐ０１５Ｚ）「Ｌｏｗ−Ｐｏｗｅｒ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｓｔｏｒａｇｅ  Ｃｏｎｔｒｏｌｌｅｒ  ｆｏｒ  Ｃｅｌｌ  Ｐｈｏｎｅｓ  ａｎｄ  ｏｔｈｅｒ  Ｐｏｒｔａｂｌｅ  ａｐｐｌｉａｎｃｅｓ」の優先権を主張するものである。
【背景技術】
【０００２】
携帯電話は、（家庭用電子機器について言うと）古くから存在している。携帯電話で使用されるチップセットの多くは、電話の動作パラメータ、小さい電話帳などを格納するためのいくらかの制限されたフラッシュメモリ、一般にＮＯＲフラッシュを有するが、しかし、大量のデータを格納するには、実ファイル・システムを備えたＮＡＮＤフラッシュが必要である。しかし、市場で現在入手可能である電話のチップセットはしばしば、大規模なメモリ・デバイスをサポートすることができない。電話のチップセットは、追加のメモリを適切にはサポートしないかもしれない。
【特許文献１】米国仮出願第６０／６４６２０６号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そのアーキテクチュアが大容量ＮＡＮＤフラッシュまたはフラッシュ・モジュールが既存の携帯電話チップセットに組み込まれることを可能にし、したがって既存の携帯電話アーキテクチュアが存続し拡張されることを可能にする追加のチップが、明らかに求められている。スタンド・アロン・モード時には非常に低い電力で動作し、パーソナル・コンピュータやＡｐｐｌｅ  Ｍａｃｉｎｔｏｓｈなど、コンピュータ・システムへの接続時には非常に高速に動作することができる半導体ストレージコントローラがさらに求められている。
【発明を実施するための最良の形態】
【０００４】
図１は、本開示の新規な技術による拡張型携帯電話システム１００の概略を示している。携帯電話１３０は、電話番号およびシステム・パラメータを格納するためのそれ自体のＮＯＲフラッシュ（図示せず）を有し得る、元の携帯電話チップセット１０４（レガシー電話コア）を含む。それは、一般にＰＣに接続されたＵＳＢシリアル接続１０５をも有する。しかし、接続１０５によってサポートされる伝送速度は大量のデータの転送には適しておらず、電話のコントローラ・チップは、ＮＡＮＤフラッシュの要件に対処できないことがある。ストレージコントローラ・チップ１０１の追加が本開示の新規な技術に重要であり、このストレージコントローラ・チップは、ＵＳＢ１．１シリアル・インターフェース・エンジン（ＳＩＥ：ｓｅｒｉａｌ  ｉｎｔｅｒｆａｃｅ  ｅｎｇｉｎｅ）１１１と仮想ハブ１１０とＵＳＢ２．０  ＳＩＥ  １１２と実ストレージコントローラ（ＣＰＵまたはマイクロコントローラ）１１３とを含む。一般に、様々なタイプのＮＡＮＤフラッシュの半導体メモリ１２０が、チップ１０１に接続され得る。さらに、一部の場合では、外部フラッシュ・メモリＥＭ  １３０（たとえばＴｒａｎｓ  Ｆｌａｓｈ、ｘＤカード、ＳＤカード、メモリ・スティック、メモリ・スティックＤｕｏなど）が、チップ１０１に接続され得る。ＵＳＢ２．０接続１０３は仮想ハブ１１０から来ており、したがってシステム１００がＰＣやＭａｃ、または無線ＵＳＢおよび他のデバイスを含めた他の任意のタイプのＵＳＢホストなどのＵＳＢホスト１０２に接続されることが可能となる。場合によっては、仮想ハブは、２つのダウンストリームポートを備えたＵＳＢ２．０ハブとして現れ得る。電話がＰＣに接続されるとき、ダウンストリームポートのうちの１つは高速ＵＳＢ（ＵＳＢ２．０）大容量ストレージデバイスに属する（ｒｅｐｏｒｔ）ことができ、もう一方のポートは全速度（ＵＳＢ１．１）デバイスに属することができる。これによって、コンテンツがＵＳＢ２．０ポート上で大容量デバイスに転送される間、電話の負担がＵＳＢ１．１ポート上に課されることが可能となる。さらに、携帯電話、および音楽プレーヤー、フォトビューア、マルチメディアセンタなどの他の携帯型機器は一般にＵＳＢインターフェースを有し、このＵＳＢインターフェースは、製造ラインの最終製品のテスト、携帯型機器のバッテリの充電、キーボード、マウスまたはジョイスティックなどのＵＳＢデバイスを接続するための拡張ポート、また特別な場合には、ホストまたはスレーブであり得るＯｎ−Ｔｈｅ−Ｇｏ機能ポートとして働くことなど、複数の機能を実施することができる。携帯型機器には、それが供給し得る電力量に対する厳しい制約がある。様々なタスクを管理し、アドレス、オーディオおよびビデオ・コンテンツなどを追跡するため、電力消費が小さく、非常に高速でもある格納手段を有することが望ましい。携帯型機器が非常に小さい電力を消費する必要があるという事実により（たとえば携帯電話は、追加のバッテリ・パック無しで２５ミリアンペア超を供給することはできない）、ＵＳＢインターフェースは、進行中の性能を向上させることを控え（ｆｏｒｅｇｏ  ｐｅｒｆｏｒｍａｎｃｅ）、できるだけ電���効率が高くなるように構築される。コンテンツのサイズの増大に伴い（一般的なＭＰ３音楽ファイルは、１分のコンテンツについて１メガバイトの記憶域を要する）、コンテンツができるだけ迅速にストレージ内に転送されることが望ましい。
【０００５】
図２は、携帯電話１３０で使用可能な様々なデータ・フロー方向を示している。ＰＣ１０２は、データ・フロー線２００および２０１を介して透過的なやり方で、元の電話機能にアクセスすることができる。それは、フロー接続２１０、２１１および２１２で、内部または外部フラッシュ・メモリ・デバイス１２０および１３１にアクセスすることができる。あるいは、コントローラ１０１は、接続２１３で、元のチップセット１０４と内部または外部フラッシュチップ１２０および１３１との間の交換をそれぞれ開始することができる。この場合、コントローラ１０１は一般に、メモリおよびデータへのアクセス、ならびに必要に応じてそれをチップセットに転送する能力を有する、内部チップセット１０４へのＵＳＢマスタとして働く。この手法は、たとえばピクチャ、音声、ビデオ、および元のＮＯＲフラッシュ（図示せず）に適合し得ない大きい電話帳を含めて、他の任意の類似のファイルを格納しまたは取り出すために使用され得る。コントローラ１０１は、ここでは携帯電話１３０内の別個のチップとして示されているが、将来の世代ではそれは、新しいチップセット（図示せず）を形成するように既存のチップセット１０４に組み込まれ得る。一部の場合では、この階層化によって、電話がアーキテクチュアのより古いセクション（すなわちコアの電話機能、大容量デバイス機能）のためのソフトウェア互換性を維持するが、新しい特徴をさらに追加することが可能となる。
【０００６】
前記階層化を可能にする１つの手法が図３に示されており、この図３は、本開示の新規な技術による電話アーキテクチュアの拡張型機能の概要を示している。一部の場合では２組のマルチプレクサ、ソフトウェア・マルチプレクサ３０３および３１０を使用することが重要であり、それによってＰＣ１０２とストレージコントローラ・チップ（ＳＣＣ：ｓｔｏｒａｇｅ  ｃｏｎｔｒｏｌｌｅｒ  ｃｈｉｐ）１０１の間の接続が、ＰＣから元の携帯電話チップセット（ＣＰＣＳ：ｃｅｌｌ  ｐｈｏｎｅ  ｃｈｉｐ  ｓｅｔ）１０４に透過的に接続するために、または別のモード時には内部フラッシュ１２０、および存在するならば外部フラッシュ１３１（ここでは図示せず）をメディアドライブとして表すために使用されることが可能となる。この場合、ＰＣ側では、レガシー電話コア用の電話ドライバ３１１が使用され、標準の大容量ストレージデバイス・ドライバ３１２がＮＡＮＤフラッシュ（１２０および／または１３１）のために使用される。可能であれば、大容量ストレージデバイス・ドライバ３１２は、たとえばＷｉｎｄｏｗｓ（登録商標）およびＭａｃＯＳなどのオペレーティング・システムによって使用される標準ドライバであるべきである。マルチプレクサ３１０は、両方のドライバが同じＵＳＢポートに同時にアクセスし、透過的に切り換わることを可能にし、また両方のドライバ３１１と３１２への同時アクセスを可能にする。ＳＣＣ１０１はＣＰＣＳ１０４のためのそれらのアクセスを取り、それを通過させ、それはフラッシュ（内部または外部）のためのそれらのアクセスをも取り、それに応じてそれらの向きを変更する。また、ＣＰＣＳ１０４は、ＳＣＣ１０１へのスレーブとして、フラッシュ・デバイスのうちの１つからのデータをロードし、それをＣＰＣＳに移動させるよう求める要求を発行し得る。一部の場合では、多重化機能を簡略にするため、ドライバは、メモリまたは電話機能がアクセスされ得るように排他的に動作することだけが許される。他の場合では、多重化機能はより高い粒度を伴って実装をされることができ、それぞれ異なるアクセスについて異なるプロトコルを多重化することによる完全な接続性の同時使用が可能となる。
【０００７】
この実施形態の多くの修正および変形が、この開示の新規な技術の精神から逸脱せずに当業者によって行われ得ることが明らかである。
【０００８】
上述のプロセスは、実行される１組の命令としてコンピュータ・システムのメモリ内に格納されることができる。さらに、別法として上述のプロセスを実施するための命令は、磁気および光ディスクを含めて、他の形のマシン読取り可能媒体内に格納され得る。たとえば、上述のプロセスは、ディスク・ドライブ（またはコンピュータ読取り可能媒体ドライブ）を介して、アクセス可能な磁気ディスクまたは光ディスクなどのマシン読取り可能媒体内に格納され得る。さらに、命令は、コンパイルされリンクされたバージョンの形で、データ・ネットワークを介してコンピューティング・デバイス内にダウンロードされることができる。
【０００９】
あるいは、上記で論じたプロセスを実施するための論理は、大規模集積回路（ＬＳＩ：ｌａｒｇｅ−ｓｃａｌｅ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）としてのディスクリート・ハードウェア部品、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）などの追加のコンピュータおよび／またはマシン読取り可能媒体、電気的消去可能読出し専用メモリ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）などのファームウェア、ならびに電気、光、音および他の形の伝播信号（たとえば搬送波、赤外線信号、デジタル信号）などで実装され得る。
【００１０】
上記説明を読んだ後、当業者には本発明の多くの変更および修正が明らかになることは確かであるが、例示するために示し述べたいずれの特定の実施形態も限定的であると決してみなされるものではないことを理解されたい。したがって、様々な実施形態の詳細への言及は、本発明に不可欠と見なされるそれらの特徴だけをそれ自体に列挙している特許請求の範囲を制限するものではない。
【００１１】
付録Ａ：上記概念を使用したコントローラ（Ｃ３００）の仕様
半導体メモリを管理するための低電力でコスト効率の高い革新的な解決策が提案される。携帯電話、および音楽プレーヤー、フォトビューア、マルチメディア・センタなどの他の携帯型機器は一般に、たとえば以下の複数の機能を実施するためのＵＳＢインターフェースを有する。
・製造ラインの最終製品をテストするためのインターフェース
・携帯型機器のバッテリの充電
・キーボード、マウスまたはジョイスティックなどのＵＳＢデバイスを接続するための拡張ポート
・ホストまたはスレーブとなるＯｎ−Ｔｈｅ−Ｇｏ機能ポート
【００１２】
携帯型機器には、それが供給し得る電力量に対する厳しい制約がある。様々なタスクを管理し、アドレス、オーディオおよびビデオ・コンテンツなどを追跡するために、電力消費が小さく、非常に高速でもある格納手段を有することが望ましい。携帯型機器が遥かに小さい電力を消費する必要があるという事実により（たとえば携帯電話は追加のバッテリ・パック無しで２５ミリアンペア超を供給することはできない）、進行中の性能を向上させることを控え、ＵＳＢインターフェースはできるだけ電力効率が高くなるように構築される。コンテンツのサイズの増大に伴い（一般的なＭＰ３音楽ファイルは、１分のコンテンツについて１メガバイトの記憶域を要する）、コンテンツができるだけ迅速にストレージ内に転送されることが望ましい。
【００１３】
したがって、
・スタンド・アロン・モード時には非常に低い電力で動作する
・パーソナル・コンピュータやＡｐｐｌｅ  Ｍａｃなど、コンピュータ・システムへの接続時には非常に高速で動作する、半導体ストレージコントローラを設計することが望ましい。
【００１４】
図１Ａは、その１つの設計を示している。
電話がＰＣに接続されるときは、ストレージコントローラは、ソフトウェア／ハードウェア手段を使用してＳＩＥとストレージコントローラの間の接続を切る。仮想ハブは、ハードウェア内のトランザクションのほとんどを処理する。ＰＣまたはＭａｃに接続されるときは、半導体メモリは、大容量ストレージデバイスとして現れる。さらに詳しくは、図２Ａを参照されたい。
【００１５】
仮想ハブは、２つのダウンストリームポートを備えたＵＳＢ２．０ハブとして現れる。ダウンストリームポートのうちの１つは高速ＵＳＢ（ＵＳＢ２．０）大容量ストレージデバイスに属し、もう一方のポートは全速度（ＵＳＢ１．１）デバイスに属する。これによって、コンテンツがＵＳＢ２．０ポート上で大容量デバイスに転送される間、電話の負担がＵＳＢ１．１ポート上に課されることが可能となる。
【００１６】
ＰＣ／Ｍａｃから切断されるとき、以下の事象が発生する。
・ＵＳＢ再設定が携帯電話に送信される
・ＣＰＵがそれ自体をホストとなるように構成し、携帯電話との接続を確立する
・逆プロトコルによって、データが電話と半導体メモリの間で転送されることが可能となる
【００１７】
逆プロトコル
通常のＵＳＢアプリケーションでは、ストレージは、スレーブ・デバイスと共に常駐する。この場合、その逆は真である。ストレージはホストと共に常駐し、データは、スレーブ（携帯型機器）がそれを受信する準備が整うときにスレーブ（携帯型機器）に与えられる必要がある。この１つの例は、スレーブがピクチャを表示し、またはＭＰ３曲を再生する必要がある場合である。ホスト（ストレージコントローラ）は格納要求がいつ来るか全く分からないので、ストレージコントローラは、Ｉｎトークンを送信し、アドレス、長さ、および読出しまたは書込みを示すためのフラグを含むデータ・ブロックを受信することによって、それがいずれかのデータを必要をするかどうか知るために定期的に携帯電話をポーリングする。いずれの転送の間も、ＵＳＢ２・０ポートはオフのままにされなければならない。
【００１８】
一般的な逆プロトコル・トランザクション
表１は、逆プロトコル・トランザクションの一実装方法を示している。諸工程の一部は重複しており、完全にするためにリストされている。これは、この概念を示す一般的な含意にすぎず、最大限の範囲が与えられるべきである。たとえば、データは、制御パイプ上で送信されることも、バルク・パイプ上で送信されることもある。要求フラグは、ＵＳＢ大容量ストレージ・コマンド・ブロック／データＩｎまたはＯｕｔおよび／ＵＳＢ大容量記憶状態ブロックとして実装されることもできる。明確にするため、トランザクションの状態フェーズは表から除外されている。
【００１９】
【表１】
2008529134.tif 000003
【００２０】
【表２】
2008529134.tif 000004
【００２１】
ソリッド・ステート・ストレージ・アプリケーション
携帯型機器について複数のアプリケーションが考えられており、これらの一部を以下にリストする。
１．半導体メモリを準備（フォーマット）する。厳しい電力条件のため、電力供給が低いとき半導体メモリに不良データを誤って書き込むことがあり得る。こうした場合、半導体メモリは、応答を停止し、さらに悪いことには、すべての既存データを失い得る。不良データを回復し、次いで工場設定の条件にメモリを復元するためのアプリケーションが非常に有用である。
２．携帯型機器がそのデータをパーソナル・コンピュータまたはＭａｃにコピーし得ることを保証するデータ同期ユーティリティが有用である。
３．イメージ・クリエータ・アプリケーションが技術サポート・チープにとって非常に有用であり、このイメージ・クリエータ・アプリケーションは半導体メモリの正確なレイアウトを、それが携帯型デバイス上に存在する通りにキャプチャすることができ、したがってそれは工場内で分析されることができる。
【００２２】
要約
これは、このコントローラがどのように使用され得るかについての１つの例にすぎない。ＰＣまたはＭａｃ、あるいは（それだけに限らないが、ＵＳＢ  Ｏｎ−Ｔｈｅ−Ｇｏホストを含めて）任意のＵＳＢホストが、このコントローラとのインターフェースのために使用され得る。リンクは、有線ＵＳＢのことも、無線ＵＳＢのこともある。逆プロトコル・トランザクションは、マス・ストレージ・クラスではなく、ピクトブリッジ・ベースのものであり得る。半導体メモリは磁気メモリで置き換えられることができ、この概念はやはり有効である。したがって、この特許は、できるだけ広い範囲を与えられることが要求される。
【図面の簡単な説明】
【００２３】
【図１】一実施形態による、本開示の新規な技術による拡張型携帯電話システムの概要を示す図である。
【図２】一実施形態による、携帯電話で使用可能な様々なデータ・フロー方向を示す図である。
【図３】一実施形態による電話アーキテクチュアの拡張型機能の概要を示す図である。
【図１Ａ】半導体ストレージコントローラを説明する図である。
【図２Ａ】ＰＣへの接続時を説明する図である。
【図３Ａ】半導体メモリへの／からのデータ転送時を説明する図である。
【図１】
2008529134.tif 000005
【図２】
2008529134.tif 000006
【図３】
2008529134.tif 000007
【図１Ａ】
2008529134.tif 000008
【図２Ａ】
2008529134.tif 000009
【図３Ａ】
2008529134.tif 000010
【国際調査報告】
2008529134.tif 000011
2008529134.tif 000012