説明

半導体メモリ装置

【課題】著作権保護が必要なコンテンツを記憶し、かつ、再生することができる半導体メモリ装置を提供すること。
【解決手段】半導体メモリ装置1は、電子機器2のシリアル通信インターフェイス端子3へ接続可能なシリアル通信インターフェイスコネクタ4と、不揮発性半導体メモリ5と、前記不揮発性半導体メモリ5に接続されるメモリインターフェイス11を備え、且つ著作権保護機能を有し、前記不揮発性半導体メモリ5を制御するメモリコントローラ6と、前記メモリコントローラ6に接続されるコントローラインターフェイス21と、前記シリアル通信インターフェイスコネクタ4に接続されるシリアル通信インターフェイス22とを有するメモリリーダライタ7とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は半導体メモリ装置に関する。例えば、著作権保護機能付のUSBメモリ装置に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(PC)等に利用されるリムーバブルな記録媒体として、フラッシュメモリを用いたユニバーサルシリアルバス(USB)メモリ装置の利用が盛んになっている。
【0003】
しかしながら、USBメモリ装置は、USBメモリ装置に記録させるコンテンツに関して著作権保護のための仕組みがなく、著作権保護が必要なコンテンツを記録することができない、あるいは記録することができたとしてもPC等において再生ができない、という事情があった。
【0004】
特許文献1には、USBインターフェイスとセキュアデジタル(SDTM)インターフェイスとを備え、USB機能とSDTM機能とを切り換えることが可能なメモリ装置が記載されている。しかし、USB機能を利用した場合には、SDTM機能は利用することができない。
【特許文献1】特開2003−317054号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
この発明は、著作権保護が必要なコンテンツを記憶し、かつ、再生することができる半導体メモリ装置を提供する。
【課題を解決するための手段】
【0006】
この発明の一態様に係る半導体メモリ装置は、電子機器のシリアル通信インターフェイス端子へ接続可能なシリアル通信インターフェイスコネクタと、不揮発性半導体メモリと、前記不揮発性半導体メモリに接続されるメモリインターフェイスを備え、且つ著作権保護機能を有し、前記不揮発性半導体メモリを制御するメモリコントローラと、前記メモリコントローラに接続されるコントローラインターフェイスと、前記シリアル通信インターフェイスコネクタに接続されるシリアル通信インターフェイスとを有するメモリリーダライタとを具備する。
【発明の効果】
【0007】
この発明によれば、著作権保護が必要なコンテンツを記憶し、かつ、再生することができる半導体メモリ装置を提供できる。
【発明を実施するための最良の形態】
【0008】
以下、この発明の実施形態のいくつかを、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【0009】
(第1実施形態)
第1実施形態は、半導体メモリ装置の基本構成に関するものである。
【0010】
図1は、この発明の第1実施形態に係る著作権保護機能付USBメモリ装置の一基本例を示すブロック図である。
【0011】
図1に示すように、第1実施形態に係るUSBメモリ装置は、電子機器2のユニバーサルシリアルバス(USB)端子3へ接続可能なユニバーサルシリアルバス(USB)コネクタ4と、不揮発性半導体メモリ5と、著作権保護機能(著作権保護用回路)10、及び不揮発性半導体メモリ5に接続されるメモリインターフェイス(I/F)11を有する、不揮発性半導体メモリ5を制御するメモリコントローラ6と、メモリコントローラ6に接続されるコントローラインターフェイス(I/F)21、及びユニバーサルシリアルバスコネクタ4に接続されるユニバーサルシリアルバスインターフェイス(USB I/F22)を有するユニバーサルシリアルバス(USB)リーダライタ7と、を具備する。これらは、例えば、回路基板1上に配置される。
【0012】
図2は、この発明の第1実施形態に係る著作権保護機能付USBメモリ装置の一具体例を示すブロック図である。
【0013】
電子機器2の一例は、パーソナルコンピュータ(PC)である。USBメモリ装置のUSBコネクタ4は、PC2のUSB端子3に接続される。
【0014】
USBコネクタ4は、USBリーダライタ7のUSB I/F22に、例えば、2本のデータ線を介して接続される。
【0015】
メモリコントローラ6の一例は、セキュアデジタル(SDTM)カードコントローラである。コントローラI/F12、及び21の一例は、セキュアデジタルカードインターフェイス(SDTM card I/F)21である。SDTMカードI/F12とSDTMカードI/F21は、例えば、4本のデータ線を介して接続される。
【0016】
著作権保護用回路10の一例はCPRM用回路である。
【0017】
不揮発性半導体メモリ5の一例は、NAND型フラッシュメモリである。メモリI/F11の一例は、NANDインターフェイス(I/F)である。NAND I/F11とNAND型フラッシュメモリ5とは、例えば、8本のデータ線を介して接続される。
【0018】
次に、本実施形態に係る著作権保護機能付USBメモリ装置において、著作権保護を要するコンテンツの記録時及び再生時に行われる処理について説明する。
(記録時)
まず、コンテンツをNAND型フラッシュメモリ5へ記録する場合の処理について、図3を用いて説明する。図3は、USBメモリ装置内に含まれるNAND型フラッシュメモリ5、SDTMカードコントローラ5、及びUSBリーダライタ7、並びにUSBメモリ装置に接続されるホスト機器(例えばパーソナルコンピュータ(PC))2のブロック図である。なお図3では、USBコネクタ4及びUSB端子3の図示を省略している。
【0019】
図示するようにPC2は、メディアキー生成回路60、関数生成回路61、第1暗号化回路62、及び第2暗号化回路63を備えている。更にPC2は、その内部メモリにデバイスキー、コンテンツ暗号鍵Kt、及びNAND型フラッシュメモリ5へ暗号化されて記録されるべきコンテンツを保持している。
【0020】
またSDTMカードコントローラ5のCPRM回路10は、認証処理部13を備えている。更にSDTMカードコントローラ5は、その内部メモリにMKB(Media Key Block)、メディアID、及びメディアユニークキー(Media Unique Key)Kmuを保持している。
【0021】
コンテンツの記録にあたって、まずPC2のメディアキー生成回路60は、SDTMカードコントローラ5のCPRM回路10からMKBを読み出す。MKBとは、SDTMカードコントローラ5及びNAND型フラッシュメモリ5の製造時にCPRM回路10に記録されるデータであり、秘密の暗号鍵であるメディアキーを暗号化したものである。そしてMKBは、ホスト機器のリボケーション(revocation)に用いられる。すなわち、ホスト機器におけるコンテンツの利用は、MKBによって制御される。SDTMカードコントローラ5から見たホスト機器の各々は、各ホスト機器に割り当てられたデバイスキーによって区別される。
【0022】
PC2内のメディアキー生成回路60は、PC2自身が保持するデバイスキーと、SDTMカードコントローラ5から読み出したMKBとを用いて、MKB処理を行う。MKB処理は、デバイスキーを用いてMKBを復号化することによって行われる。そして、当該PC2がUSBメモリ装置の使用を許されている場合には、MKBの復号化によってメディアキーが得られる。そうでなければメディアキーは得られず、その後の処理に進むことは出来ない。すなわち、当該ホスト機器はリボークされる。
【0023】
メディアキー生成回路60で得られたメディアキーは、関数生成回路61に与えられる。また関数生成回路61は、SDTMカードコントローラ5のCPRM回路10から、メディアIDを読み出す。メディアIDとは、個々のUSBメモリ装置に一意的に振り分けられたIDである。そして関数生成回路61は、メディアキーとメディアIDとを用いて、所定の関数Gを生成する。
【0024】
第1暗号化回路62は、関数Gを用いてコンテンツ暗号鍵Ktを暗号化して、暗号化されたコンテンツ暗号鍵Kteを得る。また第2暗号化回路63は、コンテンツ暗号鍵Ktを用いてコンテンツを暗号化する。
【0025】
関数生成回路61で生成された関数Gと、第1暗号化回路62で得られたKteとは、CPRM回路10の認証処理部13に送られる。そして認証処理部13において、AKE(Authentication and Key Exchange)処理が行われる。AKE処理とは、秘密情報を共有する機器が、当該秘密情報を持つ機器だけに可能な仕方でデータを交換することによって、相手を認証する手続である。暗号化されたコンテンツ暗号鍵Kteは、NAND型フラッシュメモリ5の秘匿領域に格納される。この秘匿領域へアクセスするには、AKE処理による認証が得られなければならない。AKE処理において元となる共有秘密情報としては、メディアユニークキーKmuが用いられる。メディアユニークキーKmuとは、メディアキーでメディアIDを暗号化したものである。そして認証処理部13は、関数GとメディアユニークキーKmuとを用いてAKE処理を行い、認証された場合には、NAND型フラッシュメモリ5の秘匿領域へのアクセスを許可する。すなわち、暗号化されたコンテンツ暗号鍵Kteが、NAND型フラッシュメモリ5の秘匿領域へ格納される。
【0026】
他方、第2暗号化回路で暗号化されたコンテンツは、CPRM回路10での処理を経ることなく、NAND型フラッシュメモリ5へ記録される。これは、暗号化されたコンテンツ自体は、NAND型フラッシュメモリ5の秘匿領域に記録されるわけではないからである。
【0027】
以上のようにして、暗号化されたコンテンツと、それを復号化するために必要な暗号鍵Kteとが、NAND型フラッシュメモリ5へ記録される。
【0028】
(再生時)
次に、NAND型フラッシュメモリ5に記録されたコンテンツを再生する場合の処理について、図4を用いて説明する。図4は、USBメモリ装置内に含まれるNAND型フラッシュメモリ5、SDTMカードコントローラ5、及びUSBリーダライタ7、並びにUSBメモリ装置に接続されるホスト機器2(例えばPC)のブロック図である。なお図4では、USBコネクタ4及びUSB端子3の図示を省略している。
【0029】
コンテンツの再生時にも、記録時と同様にまずメディアキー生成回路60においてメディアキーが生成され、関数生成回路61において関数Gが生成される。そして、関数GとメディアユニークキーKmuとを用いて、認証処理部13においてAKE処理が行われる。AKE処理において、PC2のアクセスが許可されると、NAND型フラッシュメモリ5の秘匿領域から読み出されたコンテンツ暗号鍵Kteが、PC2へ読み出される。また、NAND型フラッシュメモリ5内の暗号化コンテンツは、CPRM回路10での処理を経ることなく、PC2へ読み出される。
【0030】
PC2においては、第1復号化回路62が、関数Gを用いてKteを復号化して、コンテンツ暗号鍵Ktを得る。そして第2復号化回路63が、コンテンツ暗号鍵Ktを用いて暗号化コンテンツを復号化する。
【0031】
以上のようにして得られたコンテンツが、PC2上において再生される。
【0032】
なお、図3及び図4におけるメディアキー生成回路60、関数生成回路61、第1暗号化回路62、第2暗号化回路63、第1復号化回路64、及び第2復号化回路65は、ハードウェアで構成しても良いし、またはPC2内のCPUが同様の機能を果たしても良い。
【0033】
(第1の構成例)
図5は、この発明の第1実施形態に係る著作権保護機能付USBメモリ装置の第1の構成例を示すブロック図、図6は、図5に示す著作権保護機能付USBメモリ装置の分解斜視図である。
【0034】
図5に示すように、第1の構成例は、回路基板1上に3つの半導体装置パッケージを有したものである。3つの半導体チップはそれぞれ、USBリーダライタチップ7-1をパッケージングしたUSBリーダライタチップパッケージ7-2、SDTMカードコントローラチップ6-1をパッケージングしたSDTMカードコントローラチップパッケージ6-2、及びNAND型フラッシュメモリチップ5-1をパッケージングしたNAND型フラッシュメモリチップパッケージ5-2である。
【0035】
これら3つのパッケージ5-2、6-2、及び7-2はそれぞれ、図6に示すように、回路基板1上に配置される。
【0036】
USBリーダライタチップパッケージ7-2は、回路基板1上に配置されたUSBコネクタ4に、回路基板1上に形成された配線31を介して接続されるとともに、回路基板1上に形成された配線32を介してSDTMカードコントローラチップパッケージ6-2に接続される。また、SDTMカードコントローラチップパッケージ6-2は、回路基板1上に形成された配線33を介してNAND型フラッシュメモリチップパッケージ5-2に接続される。
【0037】
回路基板1は、図6に示すように、例えば、上側パッケージ41と下側パッケージ42とによってUSBコネクタ4を外部に露出させた状態でパッケージングされることで、USBメモリ装置となる。
【0038】
(第2の構成例)
図7は、この発明の第1実施形態に係る著作権保護機能付USBメモリ装置の第2の構成例を示すブロック図、図8(A)は、図7に示す著作権保護機能付USBメモリ装置の分解斜視図、図8(B)はマルチチップパッケージのチップ収容例を示す斜視図である。
【0039】
図7、図8(A)、及び図8(B)に示すように、第2の構成例が第1の構成例と異なるところは、NAND型フラッシュメモリチップ5-1と、SDTMカードコントローラチップ6-1とが一つのパッケージ5-3にパッケージングされることである。パッケージ5-3は、いわゆるマルチチップパッケージ(MCP)型半導体装置であり、本明細書ではSDTMカード機能MCP5-3と呼ぶ。
【0040】
MCPにおけるチップ収容例は、図8(B)に示すように、NAND型フラッシュメモリチップ5-1上に、SDTMカードコントローラチップ6-1を配置する。両者は、ボンディングワイヤ51を介して互いに接続される。
【0041】
USBリーダライタチップパッケージ7-2は、回路基板1上に配置されたUSBコネクタ4に、回路基板1上に形成された配線31を介して接続されるとともに、回路基板1上に形成された配線32を介してSDTMカード機能MCP5-3に接続される。
【0042】
回路基板1は、図8(A)に示すように、例えば、上側パッケージ41と下側パッケージ42とによってUSBコネクタ4を外部に露出させた状態でパッケージングされることで、USBメモリ装置となる。
【0043】
第2の構成例によれば、第1の構成例に比較して、NAND型フラッシュメモリチップ5-1と、SDTMカードコントローラチップ6-1とを一つのパッケージ5-3にパッケージングするので回路基板1を小さくでき、USBメモリ装置を小型化し易い、という利点がある。
【0044】
(第3の構成例)
図9は、この発明の第1実施形態に係る著作権保護機能付USBメモリ装置の第3の構成例を示すブロック図、図10は、図9に示す著作権保護機能付USBメモリ装置の分解斜視図である。
【0045】
図9、及び図10に示すように、第3の構成例が第1の構成例と異なるところは、USBリーダライタチップ7-1の機能と、SDTMカードコントローラチップ6-1の機能とを一つのチップ7-3に統合し、パッケージ7-4にパッケージングしたことである。チップ7-3は、本明細書では単にコントローラチップと呼ぶ。
【0046】
コントローラチップ7-3は、USB I/F22と、NAND I/F11と、を備えており、USBコネクタ4から送られてきたデータを、NAND型フラッシュメモリチップ5-1の書き込みに対応できるように変換する。反対に、NAND型フラッシュメモリチップ5-1から読み出されてきたデータを、USB端子を有するPC等の電子機器における再生に対応できるように変換する。
【0047】
第3の構成例においても、第1の構成例に比較して、回路基板1上に配置する半導体装置パッケージの数を減らすことができるから、USBメモリ装置を小型化し易い、という利点がある。
【0048】
このように第1実施形態に係るUSBメモリ装置によれば、著作権保護機能を備えた不揮発性半導体メモリ5を制御するメモリコントローラ6にUSBリーダライタ7を接続させることで、著作権保護が必要なコンテンツを記憶し、かつ、再生することができる著作権保護機能付USBメモリ装置を得ることができる。
【0049】
(第2実施形態)
第2実施形態は、SDTMカードに内蔵されている著作権保護機能をUSBメモリ装置でも使用できるようにするためのUSB上の論理インターフェイスの方式に関する。
【0050】
USB端子はPC等の電子機器(以下ホスト(Host)という)に設けられ、高速シリアル通信を利用して、さまざまな周辺機器(ターゲット(target)と呼ばれる)をホストに接続するために利用される端子である。現在は、このUSB端子を利用し、ターゲットとして、例えば、不揮発性半導体メモリ等のリムーバブルな記録媒体をホストに接続することが可能になっている。USB規格において、ターゲットとホストとの間で、USB端子を介してデータのリード及びライトが直接可能な記録媒体は、USBマスストレージクラス(USB Mass Storage Class)と呼ばれる。
【0051】
USBマスストレージクラスの規格に対応した記録媒体は、例えば、スモールコンピュータシステムインターフェイス(SCSI)の標準フォーマットに従って記述されたコマンド及びデータを、ホストとの間でUSBインターフェイス(USB I/F)のバルク転送を用いて送受信することで、データのリード及びライトを実現する。USBマスストレージクラスの規格に対応した記録媒体は、カードリーダや、あるいは専用のソフトウェア等を利用することなく、ホストから直接にデータをライトしたり、あるいはホストへ直接にデータをリードしたりすることができる。SCSIの標準フォーマットに従って記述されたコマンドとしては、例えば、SCSIブロックデバイスコマンド等があり、特に、エィティエィ(AT Attachment:ATA)ブロックリード/ライトコマンドが良く知られる。本明細書ではSCSIの標準フォーマットに従って記述されたコマンドをSCSIコマンドと総称し、かつ、SCSIコマンドと略記する。
【0052】
USBマスストレージクラスのSCSIコマンドは、ホストにUSB端子を介して接続された記録媒体に対して直接にデータをライトしたり、あるいは直接にデータをリードしたりするアクセス手段を提供する。しかし、現状のSCSIコマンドは、ホストから記録媒体の通常のユーザデータに対して直接にデータをライトしたり、リードしたりするアクセス手段を提供するだけである。現状のSCSIコマンドは、著作権保護機能へのアクセス手段、例えば、SDTMカードが持つCPRM機能へのアクセス手段は提供しない。
【0053】
そこで、本実施形態は、著作権保護機能へのアクセス手段を提供するために、著作権保護機能へアクセスする専用の動作モードを、USBマスストレージクラスの規格に対応した記録媒体、例えば、USBマスストレージクラスの規格に対応した不揮発性半導体メモリカードに用意する。
【0054】
著作権保護機能へアクセスする専用の動作モードを実現するためには、USB上の論理インターフェイスに対して工夫を施さなければならない。
【0055】
以下、著作権保護機能へアクセスする専用の動作モードを実現するための、工夫された論理インターフェイスの例のいくつかを、第2実施形態として説明する。
【0056】
(第1の論理インターフェイス例)
第1例に係る論理インターフェイスは、例えば、第1実施形態において説明した第1例及び第2例に係るUSBメモリ装置に適用できる例である。
【0057】
本例では、上記専用の動作モードとして、ホストから、USBリーダライタを介してメモリコントローラに対して直接にアクセスする専用の動作モードを用意する。
【0058】
専用の動作モードにおいては、ホストから送信されたコマンド及びデータはUSBメモリ装置内のUSBリーダライタをパススルーし、メモリコントローラ、例えば、SDTMカードコントローラに送られる。この専用の動作モードを、本明細書では以下“パススルーモード”と呼ぶ。
【0059】
さらに、専用の動作モードをイネーブルするために、本例では新規なコマンドを用意する。この新規なコマンドの詳細については後述する。
【0060】
図11は、この発明の第2実施形態に係るUSBメモリ装置の第1の論理インターフェイス例を示す図である。図11に示す論理インターフェイスは、ホストではなく、ターゲット(USBメモリ装置)に搭載された通信インターフェイスに定義される。この通信インターフェイスは、本例では実施形態に係るUSBメモリ装置のうち、USBリーダライタ内に搭載される。
【0061】
図11に示すように、実施形態に係るUSBメモリ装置を、例えば、ホストのUSB端子に接続すると、一般的なUSBメモリ装置と同様に、通信インターフェイス内のマスストレージクラスインターフェイス(Mass Storage Class Interface)としてエンドポイント(EP)が認識される。本例では、マスストレージクラスインターフェイスに、3つのエンドポイントEP0〜EP2が用意されている。なおエンドポイントとは、USBメモリ装置とホスト機器との間を接続する論理的な通信経路の最小単位のことであり、USB規格により定められている。
【0062】
エンドポイントEP0は、制御用エンドポイント(Control EP)である。すなわちエンドポイントEP0は、USBデバイスのコンフィグレーション等、USBデバイスとしての制御を行う際に使用され、コントロール転送のみが可能である。
【0063】
これに対してSCSIコマンド、データ、及びレスポンスの転送は、全てエンドポイントEP1、EP2を用いて行われ、バルク転送が可能である。このうちエンドポイントEP1は、ダウンストリーム用エンドポイント(Bulk In EP)である。エンドポイントEP1には、例えば、ホストからターゲット(USBメモリ装置)へ転送されるデータやSCSIコマンド等が上記バルク転送で送信され、セットされる。またエンドポイントEP2は、アップストリーム用エンドポイント(Bulk Out EP)であり、例えば、ターゲット(USBメモリ装置)からホストへ転送するデータがセットされる。
【0064】
本例のSCSIコマンドとしては、USBメモリ装置に使用される通常のコマンド、例えば、上述のATAブロックリード/ライトコマンド(ATA Block Read/Write Command)に加えて、パススルーモード用の専用のコマンドが、SCSIコマンドの拡張されたコマンドとして定義される。本例の拡張されたコマンドは、SCSIコマンドに、メモリコントローラコマンド、例えば、SDTMカードコマンドを埋め込んだものである。埋め込まれたメモリコントローラコマンドは、著作権保護機能をイネーブルするためのコマンドであり、例えば、SDTMカードコマンドの場合には、埋め込まれたコマンドはSDTMカードコントローラ内のCPRM機能をイネーブルするためのコマンド(著作権保護用コマンド)となる。図12に、埋め込まれたコマンドの一例を示す。
【0065】
図12は、ライト時に、エンドポイントEP1にセットされるSCSIコマンドの一例を示す。本例では、USBインターフェイス上の一つの通信パケットに、拡張されたコマンド(パススルーモード用専用コマンド)、及びこの通信パケットに埋め込まれたコマンドやデータ(著作権保護用コマンド、デバイスキー…)が書き込まれ、これらが書き込まれた通信パケットがエンドポイントEP1にセットされる。通信パケットは、USBメモリ装置の通信プロトコルに対応する。拡張されたコマンドは、SCSIフォーマットに従って記述されており、USBリーダライタにおいて読み取り可能である。対して埋め込まれたコマンド(SDTMカードコマンド)は、USBメモリ装置の通信プロトコルとは異なる通信プロトコル、本例ではメモリカードの通信プロトコルに対応する。埋め込まれたコマンドは、メモリコントローラにおいて読み取り可能である。
【0066】
拡張されたコマンドのうち、パススルーモードをイネーブルにする旨のコマンドをUSBメモリ装置内のUSBリーダライタが読み取ると、USBリーダライタはパススルーモードをイネーブルする。パススルーモードがイネーブルされると、以後、パススルーモードでのコマンド、データ、レスポンスの送受信が可能となり、パススルーモードの拡張コマンドに埋め込まれたSDTMコマンドはUSBリーダライタをパススルーしてメモリコントローラ、例えば、SDTMカードコントローラに送られる。
【0067】
パススルーされたコマンドのうち、著作権保護用コマンドをSDTMカードコントローラが読み取るとSDTMカードコントローラ内の著作権保護機能が作動し、SDTMカードコントローラ内の、例えば、CPRM機能がアクセスされる。埋め込まれたコマンドには、著作権保護用コマンドの他、著作権保護用コマンドに付随するデータも一緒に埋め込まれる。付随するデータの代表例は第1実施形態において説明したデバイスキーである。ダウンストリームデータも著作権保護用コマンドに付随するデータの一つである。図13に、ダウンストリームデータの一例を示す。
【0068】
図13は、ライト時に、エンドポイントEP1にセットされるSCSIデータ(SCSIダウンストリームデータ)の一例を示す。図13に示すSCSIデータは、ホストがUSBメモリ装置に対して送ろうとする、著作権が保護されたコンテンツである。当該コンテンツは、本例ではUSBインターフェイス上の一つの通信パケットに埋め込まれる。通信パケット自体は、USBメモリ装置の通信プロトコルに対応するが、本例のコンテンツはメモリカードの通信プロトコルに対応する。パススルーモードがイネーブルされた場合には、通信パケットに埋め込まれたコンテンツは、USBリーダライタをパススルーしてメモリコントローラ、例えば、SDTMカードコントローラに送られる。
【0069】
著作権保護用コマンド、及び著作権保護用コマンドに付随するデータ(本例では、デバイスキー、及びコンテンツ)は、USBリーダライタをパススルーしてSDTMカードコントローラに送られる。これらコマンド及びデータをSDTMカードコントローラが受信すると、SDTMカードコントローラは、第1実施形態において説明したように、コンテンツを、デバイスキー、メディアキーブロック(MKB)、メディアIDに基づいて暗号化する。この後、SDTMカードコントローラは、暗号化されたコンテンツを、不揮発性半導体メモリ、例えば、NAND型フラッシュメモリに書き込む。
以下、上記動作のより詳細な一例を説明する。
【0070】
エンドポイントEP1にセットされたSCSIコマンド及びデータ(ダウンストリームデータ)は、マスストレージクラスインターフェイスからSCSIコマンドインターフェイス(SCSI Command I/F)へ転送される。また、実施形態に係るUSBメモリ装置からのデータ(アップストリームデータ)、及びレスポンスは、メモリカード、本例ではSDTMカードからSCSIコマンドインターフェイスを介して、エンドポイントEP2にセットされる。
【0071】
ここで、エンドポイントEP1にセットされたSCSIコマンドが、通常のコマンド、例えば、ATAブロックリード/ライトコマンドであった場合には、SCSIコマンドインターフェイスは、通常のマスストレージクラスのSCSIコマンド処理をする。実施形態に係るUSBメモリ装置は記録媒体がメモリカード、例えば、SDTMカードである。そこで、本例のSCSIコマンドインターフェイスは、SCSIの標準フォーマットに従って記述されたコマンド及びデータを、メモリカード、例えば、SDTMカードのメモリ領域をアクセスするコマンド(SDTMカードコマンド)及びデータに変換する。SCSIコマンドが、通常のコマンド、例えば、ATAブロックリード/ライトコマンドであった場合には、著作権保護機能は使用しない。このため、エンドポイントEP1にセットされたデータ(ダウンストリームデータ)は、例えば、SDTMカードのメモリ領域に直接に記録される。
【0072】
このように、エンドポイントEP1に通常のSCSIコマンドがセットされた場合には、実施形態に係るUSBメモリ装置は、一般的なUSBメモリ装置と同じように通常のSCSIコマンドに従って動作する。実施形態に係るUSBメモリ装置は、一般的なUSBメモリ装置と同じように使用することができる。通常のSCSIコマンドがセットされた場合の動作については、一般的なUSBメモリ装置と同じである。
【0073】
対して、エンドポイントEP1にセットされたSCSIコマンドが、拡張されたコマンド、例えば、パススルーモード用の専用のコマンドであった場合には、SCSIコマンドインターフェイスは、パススルーモード用のSCSIコマンド処理をする。すなわち、SCSIコマンド内に埋め込まれたSDTMカードコマンドを取り出し、これをSDTMカードコントローラへ転送する。これにより、SDTMカードコントローラはNAND型フラッシュメモリの秘匿領域へのアクセスが可能となる。
【0074】
拡張されたコマンド、例えば、パススルーモード用の専用のコマンドは、例えば、SCSIプロトコルによるベンダーユニークコマンド(Vender Unique Command)を定義することで得ることができる。USBリーダライタは、ベンダーユニークコマンドをサポートすることで、メモリカード、例えば、SDTMカードに対してコマンドやデータを直接に送る動作(パススルー動作)を可能とする機能を得ることができる。
【0075】
以下、拡張されたコマンドの一例について説明する。本例ではUSBメモリ装置の記録媒体はSDTMカードとする。なお、一例に係る拡張されたコマンドは、第1の論理インターフェイス例に適用できるばかりでなく、後述する他の論理インターフェイス例にも適用できる。
【0076】
図14は、拡張されたコマンドをイネーブル/ディセーブルするモードの一例を示す図であり、通常のSCSIコマンド(Normal Command)と拡張されたSCSIコマンド(Extension Command)がイネーブルにされるか否かをメディア形式(Media Type)毎に示す表である。
【0077】
図14に示すように、通常のSCSIコマンドは、メディア型式がSDTMカード、及びSDTMカードとコンパーチブルなメディア(Others Media)のときにイネーブルとなる。
【0078】
対して、拡張されたSCSIコマンドは、メディア型式がSDTMカード、SDTMカードにコンパーチブルなメディア、及びSDTMカードに類似したメディア(illegal Media)のときにイネーブルとなる。
【0079】
前述の通り、通常のSCSIコマンドは、それ自体がSDTMカードコントローラに対して実行されるのでは無く、USBリーダライタによってSDTMカードコマンドに変換された後、実行される。これに対して拡張されたSCSIコマンドに埋め込まれたSDTMカードコマンドは、USBリーダライタを通過されることによって、SDTMカードコントローラに対してそれ自体が直接実行される。
【0080】
次に、拡張されたSCSIコマンドの具体例について、図15を用いて説明する。図15は、拡張されたSCSIコマンドに対応するオペレーションコードとの関係を示す表である。
【0081】
図15に示すように、一例に係る拡張されたSCSIコマンドにおいては、下記7つのコード(Command Code)が定義される。
(1)パススルーモードセットコマンド(SDTM Card Passthrough Mode)
オペレーションコード“D0h”
(2)データ無しSDTMカード実行コマンド(SDTM Execute (No Data))
オペレーションコード“D1h”
(3)読み出し付SDTMカード実行コマンド(SDTM Execute (read from SDTM Card))
オペレーションコード“D2h”
(4)書き込み付SDTMカード実行コマンド(SDTM Execute (write to SDTM Card))
オペレーションコード“D3h”
(5)レスポンス取得コマンド(Get Response)
オペレーションコード“D4h”
(6)予備コマンド(Reserved)
オペレーションコード“D5h”
(7)ハードウェアリセットコマンド(SDTM Hardware Reset)
オペレーションコード“D6h”
なお、本実施形態において、数値の後ろに示した“h”は、その数値が16進数であることを表す。従って、例えば上記のオペレーションコード“D0h”は、2進数で表記した場合には“1101_0000”となる。
【0082】
上記拡張されたSCSIコマンドのうち、パススルーモードセットコマンドは、USBリーダライタを通常動作モードからパススルーモードに変更するためのコマンドである。そしてオペレーションコードとして“D0h”が用いられ、この“D0h”が、ホスト機器からUSBメモリ装置内のUSBリーダライタに与えられる。
【0083】
また、データ無しSDTMカード実行コマンド、読み出し付SDTMカード実行コマンド、及び書き込み付SDTMカード実行コマンドは、データを付随せずに、または付随して、SDTMカードに対してアクセスするためのコマンドである。そしてオペレーションコードとしてそれぞれ“D1h”、“D2h”、“D3h”が用いられ、これらがホスト機器からUSBメモリ装置内のUSBリーダライタに与えられる。
【0084】
予備コマンドとは、不正コマンド(Illegal Command)のコードに割り当てられる。更にハードウェアリセットコマンドは、SDTMカード及びそのファームウェアの初期化を行うためのコマンドであり、オペレーションコードとして“D6h”が用いられる。
【0085】
次に、上記各コマンドのフォーマットの一例について、図16乃至図20を用いて説明する。図16乃至図20は、各コマンドのフォーマットを示す概念図であり、各図の各行が1バイトのデータを示し、横軸に示す数値は、1バイトの各データのビット位置を示している。
【0086】
<パススルーモードセットコマンド>
図16は、パススルーモードセットコマンドのフォーマットの一例を示す概念図である。USBメモリ装置の起動時は、パススルーモードがデッセーブルである。すなわち、通常動作モードにある。この場合、USBメモリ装置は、拡張されたコマンドのうち、コマンドコード“D0h”以外のコマンドコードに対しては“不正コマンドエラー”を返す。つまり、USBメモリ装置は“D0h”以外の拡張コマンドは受け付けない。
【0087】
図示するように、パススルーモードセットコマンドの先頭バイト(0バイト目)には、オペレーションコード(Operation Code)として、パススルーモードセットコマンドであることを示す“D0h”が設定される。コマンドモード(Command Mode)には、パススルーモードをディセーブルするときは“0000(“0h”)”が設定され、パススルーモードをイネーブルするときは“0001(“1h”)”が設定される。コマンドモードを“0001”に設定してパススルーモードセットコマンド(コード“D0h”)を実行するとUSBリーダライタにおいて、パススルーモードがディセーブルからイネーブルに変わる。これによりパススルーモードがイネーブルされ、USBメモリ装置はコード“D1h”〜“D6h”の実行が可能となる。なお図16において、“LUN”は使用すべき論理ドライブを示し、“Control Byte”はコマンドフォーマットに与えられる所定の値である。
【0088】
<レスポンス>
図17に、レスポンスのフォーマットの一例を示す。レスポンスとは、レスポンス取得コマンドに応答してSDTMカードから与えられる信号であり、コマンドに対するアクノリッジの意味を持つ。レスポンス取得コマンドとレスポンスとの関係については後述する。
【0089】
レスポンスは、図17に示すフォーマットに従って、ホストとUSBメモリ装置との間で送受信される。図中において、“WP”はライトプロテクト(write protect)の有無を示しWP=“0”の場合には書き込みが許可され、WP=“1”の場合には書き込みが禁止される。“Media Type”は、図14で説明したいずれのメディアであるかを示す。そして、Media Type=“0”の場合にはメディアが存在しないことを示し、Media Type=“1”の場合にはSDTMメモリカードであることを示し、Media Type=“2”の場合にはSDTMカードとコンパーチブルなメディアであることを示し、Media Type=“3”の場合にはSDTMカードに類似したメディア(Illegal Media)であることを示す。更に、6〜7バイト目には、RCA(Relative card address)が保持される。RCAは、SDTMカードの初期化等の際にSDTMカード自らが設定する値であり、一部のSDTMカードコマンドの入力パラメータとして使用される。また、“Max LUN Number”は論理ドライブの数を示す。
【0090】
<SDTMカード実行コマンド>
図18に、データ無しSDTMカード実行コマンド、読み出し付SDTMカード実行コマンド、及び書き込み付SDTMカード実行コマンドのフォーマットの一例を示す。なお、これらのコマンドを区別しない場合には、単にSDTMカード実行コマンドと呼ぶ。
【0091】
SDTMカード実行コマンドは、実際にSDTMカードに対してアクセスを行って、何らかの処理を行うためのコマンドである。前述の通り、パススルーモードにおいては、拡張されたSCSIコマンドにSDTMカードコマンドが埋め込まれて、それが直接SDTMカードコントローラへ転送される。このSDTMカードコマンドが埋め込まれるSCSIコマンドが、SDTMカード実行コマンドである。
【0092】
図示するように、最初の0バイト目にはオペレーションコードが設定される。SDTMカードコントローラへのアクセスにデータを必要としない場合には、データ無しSDTMカード実行コマンドとして“D1h”が設定される。また、SDTMカードコントローラへのデータの読み出しアクセスの場合には、読み出し付SDTMカード実行コマンドとして“D2h”が設定される。更にSDTMカードコントローラへのデータの書き込みアクセスの場合には、書き込み付SDTMカード実行コマンドとして“D3h”が設定される。
【0093】
次の1バイト目の下位4ビットには、それぞれ“BLKH”、“Send cmd12”、“Standby”、“ACMD”が設定される。これらは、当該コマンドに埋め込まれたSDTMカードコマンドを如何にしてSDTMカードコントローラへ受け渡すかを示す情報である。
【0094】
“BLKH”は、SDTMカードコントローラとの間のデータの転送が、シングルセクタで行われるか(BLKH=“0”)、または複数のセクタで行われるか(BLKH=“1”)を示す情報である。すなわち、BLKH=“1”の場合には、NAND型フラッシュメモリ5内の複数のブロックに対応するデータが転送される。なおブロックとは、NAND型フラッシュメモリ5内においてデータを保持するメモリセルの集合のことであり、同一ブロック内のメモリセルに保持されるデータは一括して消去される。すなわち、ブロックはデータの消去単位となる。
【0095】
また“Send cmd12”は、命令の実行が完了したSDTMカードにおいて、SDTMカードに実装される所定のコマンドcmd12を実行するか否かを示す情報である。コマンドcmd12は、ホスト機器がSDTMカードにマルチブロック転送(BLKH=“1”:書き込み、及び読み出し)が終了したことを示すためコマンドである。
【0096】
更に“Standby”は、スタンバイ状態のSDTMカードに対するリクエストコマンドを示す情報である。そして“ACMD”は、上記リクエストコマンドが特定用途のコマンドであるか否かを示す。特定用途のコマンドとは、例えば著作権保護機能にアクセスするためのコマンドである。そして、リクエストコマンドが特定用途のコマンドである場合にはACMD=“1”とされ、通常のコマンドである場合にはACMD=“0”とされる。
【0097】
そして、2バイト目の下位6ビットと、3〜6バイト目に、SDTMカードコマンド(上記のリクエストコマンド)が埋め込まれる。SDTMカードコマンドは、命令の内容(readやwriteなど)を示す“SDTM Command Index”と、その命令を実行するために必要な情報(アドレスなど)を示す“SDTM Command Argument”とを含んでいる。
【0098】
また7〜9バイト目には、読み出しデータや書き込みデータ等、命令の実行に要するデータ(“Data Transfer Length”)が保持される。例えば、第1の実施形態で説明したように、NAND型フラッシュメモリの秘匿領域にアクセスする際には、この“Data Transfer Length”に、MKB、メディアキー、関数G、Kte等がセットされる。
【0099】
“Response Type”は、SDTMカードに送られるレスポンスタイプを示す。レスポンスタイプには、R1、R1b、R2〜R6が用意されている。これらの詳細については後述する。“Response Type”が“0000_0011”の場合にはレスポンスは送られず、“0000_0100”の場合にはR1、R4〜R6が選択され、“0000_0101”の場合にはR1bが選択され、“0000_0110”の場合にはR2が選択され、“0000_0111”の場合にはR3が選択される。
【0100】
<ハードウェアリセットコマンド>
図19に、ハードウェアリセットコマンドのフォーマットの一例を示す。
【0101】
図示するように、最初の0バイト目にはオペレーションコードとして“D6h”が設定される。
【0102】
<レスポンス取得コマンド>
図20に、レスポンス取得コマンドのフォーマットの一例を示す。
【0103】
図示するように、最初の0バイト目にはオペレーションコードとして“D4h”が設定される。
【0104】
以下、レスポンス取得コマンドとレスポンスとの関係について説明する。実施形態に係るUSBメモリ装置には、パススルーモード時には、SDTMカードコマンドが、USBリーダライタをパススルーしてSDTMカードコントローラに直接に送り込まれる。一方、パススルーモード時以外には、SCSIコマンドが、USBリーダライタにおいてSDTMカードコントローラで読み取り可能なコマンドに変換された上でSDTMカードコントローラに送り込まれる。
【0105】
SDTMカードのコマンドには、コマンドに対するレスポンスを要求するものと、しないものとがある。しかし、通常のSCSIコマンドでは、このような動作を想定していない。従って、もしもUSBメモリ装置内のSDTMカードに対してレスポンスを要求するコマンドが送り込まれたならば、SDTMカードコントローラから出力されたレスポンスは、例えば、SDTMカードコントローラとUSBリーダライタとの間に閉じ込められてしまう。レスポンスがUSBメモリ装置の内部に閉じ込められてしまうと、USBメモリの装置の動作が不安定になったり、あるいは誤動作したりする原因になりかねない。
【0106】
このような事情を解消するために、本例では、拡張されたコマンドの一つに、レスポンス取得コード(Get Response)を定義する。レスポンス取得コードを拡張されたコマンドの一つに定義し、定義したレスポンス取得コードを、USBメモリ装置のUSBリーダライタに送り込む。これにより、SDTMカードコントローラから出力されたレスポンスはUSBメモリ装置内に閉じ込められることはなく、レスポンスはSDTMカードコントローラからリーダライタ及びUSBコネクタを介してホストへ送信することができる。これにより、USBメモリの装置の動作が不安定になったり、誤動作したりする原因の一つを排除できる、という利点を得ることができる。
【0107】
図21(a)は、SDTMカードに対してレスポンスを要求しないコマンドのときのコマンド処理例を示す図である。
【0108】
レスポンスを要求しないコマンドのタイプとしては、addressed(point-to-point) commands(acと略記)、及びbroadcast commands(bcと略記)がある。これらのコマンドのレスポンスタイプは“No Res”である。すなわち、図18に示すフォーマットにおいて、“Response Type”は“0000_0011”である。
【0109】
図21(a)に示すように、ホストから、“No Res”のデータ無しSDTMカード実行コマンド(SDTM EXECUTE with no data:“D1h”)をUSBメモリ装置に送信するときには、当該コマンドのみをUSBメモリ装置に送信するだけで良い。当該コマンドを受信したUSBメモリ装置のUSBリーダライタは、受信したSCSIコマンドに埋め込まれたSDTMカードコマンド(Command)をSDTMカードコントローラに転送する。これで処理は終了する。
【0110】
一方、レスポンスを要求するコマンドのタイプとしては、broadcast commands with response(bcrと略記)がある。このコマンドのレスポンスタイプには、“R1”、“R1b”、“R2”、“R3”、“R4”、“R5”、“R6”等がある。これらのレスポンスタイプは概ね、“R1”はノーマルレスポンス、“R1b”はオプションでビジー信号をデータ線に転送可能なノーマルレスポンス、“R2”はSDTMカードコントローラ内のCID(Card IDentification number register)又はCSD(Card Specific Data register)から送られるレスポンス、“R3”はSDTMカードコントローラ内のOCR(Operation Conditions Register)から送られるレスポンス、“R4”及び“R5”はSDTMカードに類似したメディア(illegal media)のときに付加されるレスポンス、“R6”はSDTMカード内のRCA(Relative Card Address register)から送られるレスポンスである。なお、本明細書においては、レスポンスタイプ“R1”〜“R6”を総称して“With Res”と呼び、それらの詳細については省略する。
【0111】
図21(b)は、SDTMカードに対してレスポンスを要求するコマンドのときのコマンド処理例を示す図である。図21(b)はUSBメモリ装置の記録媒体としてSDTMカードを利用する例を示す。よって、図21(b)にはレスポンスタイプ“R4”及び“R5”は示されないが、レスポンスタイプ“R4”及び“R5”における処理例も、図21(b)と同様である。
【0112】
図21(b)に示すように、ホストから、“With Res”のデータ無しSDTMカード実行コマンド(SDTM EXECUTE with no data:“D1h”)をUSBメモリ装置に送信するときには、当該コマンドを送信した後に、レスポンス取得コマンド(Get Response:“D4h”)を送信する。以下処理例を説明する。
【0113】
“With Res”のコマンド(“D1h”)を受信したUSBリーダライタは、受信したSCSIコマンドに埋め込まれたSDTMカードコマンド(Command)をSDTMカードコントローラに転送する。SDTMカードコントローラは、受信したSDTMカードコマンドに従って処理を実行した後、レスポンス(Response)を返す。このレスポンスをUSBメモリ装置内から取り出すために、ホストから、レスポンス取得コマンド(Get Response:“D4h”)をUSBメモリ装置に送信する。レスポンス取得コマンドを受信したUSBリーダライタは、SDTMカードコントローラから返されたレスポンスを、受信したコマンドに従って取り出し、取り出したレスポンス(Response Data)を、USBコネクタを介してUSBメモリ装置からホストへと送信する。これで処理は終了する。
【0114】
さらに、コマンドタイプには、addressed(point-to-point) data transfer commands(adtcと略記)がある。adtcの具体例は、読み出し付SDTMカード実行コマンド、及び書き込み付SDTMカード実行コマンドである。コマンドタイプがadtcの場合のときにも、レスポンスが要求される。
【0115】
図22(a)は読み出し付SDTMカード実行コマンド(シングルブロックリード)のときのコマンド処理例を示す図である。図22(a)に示すように、ホストから、読み出し付SDTMカード実行コマンド(SDTM EXECUTE read from SDTM card:“D2h”)をUSBメモリ装置に送信するときにも、当該コマンドを送信した後に、レスポンス取得コマンド(Get Response:“D4h”)を送信する。
【0116】
例えば、読み出し付SDTMカード実行コマンドを受信したUSBリーダライタは、受信したSCSIコマンドに埋め込まれたSDTMカードコマンド(Command)をSDTMカードコントローラに転送する。SDTMカードコントローラは、受信したSDTMカードコマンドに従って不揮発性半導体メモリからのデータ読み出しを実行する。SDTMカードコントローラは、レスポンス(Response)を返すとともに、不揮発性半導体メモリから読み出したデータ(Data)をUSBリーダライタに対して送信する。USBリーダライタは、受信したデータ(Transfer Data(read from SDTM card))を、USBコネクタを介してUSBメモリ装置からホストへと送信する。受信したデータの送信が終わった後、ホストから、レスポンス取得コマンド(Get Response:“D4h”)をUSBメモリ装置に送信する。レスポンス取得コマンドを受信したUSBリーダライタは、SDTMカードコントローラから返されたレスポンスを、受信したコマンドに従って取り出し、取り出したレスポンス(Response Data)を、USBコネクタを介してUSBメモリ装置からホストへと送信する。これで処理は終了する。
【0117】
図22(b)は書き込み付SDTMカード実行コマンド(シングルブロックライト)のときのコマンド処理例を示す図である。図22(b)に示すように、ホストから、書き込み付SDTMカード実行コマンド(SDTM EXECUTE write to SDTM Card:“D3h”)をUSBメモリ装置に送信するときには、当該コマンドに続くライトデータ(Transfer Data(Write to SDTM Card))を送信した後に、レスポンス取得コマンド(Get Response:“D4h”)を送信する。
【0118】
例えば、書き込み付SDTMカード実行コマンド、及びライトデータを受信したUSBリーダライタは、受信したSCSIコマンドに埋め込まれたSDTMカードコマンド(Command)、及びライトデータ(Data)をSDTMカードコントローラに転送する。SDTMカードコントローラは、レスポンス(Response)を返すとともに、受信したコマンドに従って不揮発性半導体メモリへのライトデータの書き込みを実行する。書き込みが終わった後、USBリーダライタは、レスポンス取得コマンド(Get Response:“D4h”)をSDTMカードコントローラに送信する、USBリーダライタは、SDTMカードコントローラから返されたレスポンスを、受信したコマンドに従って取り出し、取り出したレスポンス(Response Data)を、USBコネクタを介してUSBメモリ装置からホストへと送信する。これで処理は終了する。
【0119】
図23(a)は読み出し付SDTMカード実行コマンド(マルチプルブロックリード)のときのコマンド処理例を示す図である。図23(a)に示す処理例が図22(a)に示す処理例と異なるところは、図22(a)に示す処理例がシングルブロックリードであるのに対して、図23(a)に示す処理例はマルチプルブロックリードであるところである。シングルブロックリードは、リードデータのデータ長(data length)がSDTMカードブロックサイズ以下であり、データリードは1ブロックで済む場合である。対してマルチプルブロックリードは、リードデータのデータ長(data length)がSDTMカードブロックサイズを超えており、データリードが複数ブロックに及ぶ場合である。本例は、SDTMカードブロックサイズが512バイトの例を示す。マルチブロックリードは、リードデータを何回かに分けてSDTMカードコントローラからUSBリーダライタに転送することがシングルブロックリードと異なり、それ以外はシングルブロックリードと同じである。
【0120】
図23(b)は書き込み付SDTMカード実行コマンド(マルチプルブロックライト)のときのコマンド処理例を示す図である。図23(b)に示す処理例は、シングルブロックライトであった図22(b)に示す処理例を、マルチプルブロックライトとしたものである。本例は、データライトがマルチプルブロックライトであることが図22(b)に示す処理例と異なり、それ以外はシングルブロックライトと同じである。
【0121】
以上のように、本実施形態の第2の論理インターフェイスによって、パススルーモードが実現出来る。以下再度、通常動作モードとパススルーモードとの違いについて、図24を用いて簡単に説明する。図24は、USBメモリ装置の動作の流れを示すフローチャートである。
【0122】
図示するように、USBメモリ装置内のUSBリーダライタがパススルーモードセットコマンドを受信しない場合には(ステップS10、NO)、USBリーダライタは通常動作モードのままである(ステップS11)。この動作モードは、従来のUSBメモリ装置と同様である。すなわち、USBリーダライタはホスト機器から通常の(従来の)SCSIコマンドを受け取る(ステップS12)。そしてUSBリーダライタは、受け取ったSCSIコマンドをSDTMカードコマンドに変換して、SDTMカードコントローラへ出力する(ステップS13)。すると、SDTMカードコントローラは、受け取ったSDTMカードコマンドに基づいて処理を行う(ステップS14)。但し、従来のSCSIコマンドは著作権保護機能をカバーしていないため、NAND型フラッシュメモリの秘匿領域にはアクセスできない(ステップS15)。
【0123】
ステップS10において、パススルーモードセットコマンドを受信した場合(ステップS10、YES)、USBリーダライタはパススルーモードに移行する(ステップS21)。この様子を図25に示す。図25は、USBメモリ装置のブロック図である。図示するように、拡張されたSCSIコマンド(パススルーモードセットコマンド:“D0h”)が、USBの通信プロトコル形式により、ホスト機器2からUSBリーダライタに送られる。すると、これを受けてUSBリーダライタは、パススルーモードとなる。これ以降、USBリーダライタは、その他の拡張SCSIコマンド“D1h”〜“D6h”を受信可能となる。
【0124】
次にUSBリーダライタは、SDTMカードコマンドが埋め込まれたSCSIコマンド(拡張SCSIコマンド)を受け取る(ステップS22)。すると、USBリーダライタは、拡張SCSIコマンドのうち、その内部に埋め込まれたSDTMカードコマンドを通過させ、SDTMカードコントローラへ出力する(ステップS24)。するとSDTMカードコントローラは、USBリーダライタを通過したSDTMカードコマンドに基づいて処理を行う(ステップS24)。
【0125】
ステップS22〜S24の様子を図26に示す。図26は、USBメモリ装置のブロック図であり、ホスト機器2がSDTMカードコントローラ6からMKBとメディアIDとを読み出す様子を示している。図示するように、拡張されたSCSIコマンド(実行コマンド:“D2h”)が、USBの通信プロトコル形式により、ホスト機器2からUSBリーダライタに送られる。このSCSIコマンド内には、MKB及びメディアIDの読み出し命令が、SDTMカードコマンドの形式で埋め込まれている(図18参照)。すると、パススルーモードにあるUSBリーダライタは、SCSIコマンド内のSDTMカードコマンドを通過させ、SDカードコントローラ6へ出力する。
【0126】
また、USBリーダライタがパススルーモードに移行することで、NAND型フラッシュメモリの秘匿領域へのアクセスも可能となる(ステップS25)。この様子を図27に示す。図27は、USBメモリ装置のブロック図であり、ホスト機器2がNAND型フラッシュメモリ5の秘匿領域に暗号鍵Kteを書き込む様子を示している。図示するように、拡張されたSCSIコマンド(実行コマンド:“D3h”)が、USBの通信プロトコル形式により、ホスト機器2からUSBリーダライタに送られる。このSCSIコマンド内には、暗号鍵Kteとその書き込み命令とが、SDTMカードコマンドの形式で埋め込まれている(図18参照)。すると、パススルーモードにあるUSBリーダライタは、SCSIコマンド内のSDTMカードコマンドを通過させ、SDカードコントローラ6へ出力する。この結果、SDTMカードコントローラは暗号鍵Kteの書き込み命令を受信し、その命令に従って暗号鍵KteをNAND型フラッシュメモリ5の秘匿領域へ書き込む。勿論、この際のAKE処理等は、第1の実施形態で説明した通りCPRM用回路10において行われる。勿論、パススルーモードであっても、NAND型フラッシュメモリの通常領域へのアクセスは可能であり、この場合には従来と同様にCPRM回路における処理は不要である。
【0127】
(第2の論理インターフェイス例)
図11に示した第1の論理インターフェイス例では、著作権保護を必要としないデータのリード及びライト(通常のリード及びライト)の際に、USBリーダライタがUSB上のSCSIコマンドをSDTMカードコマンドに変換、及びSDTMカードコマンドをSCSIコマンドに変換した。そして、USBメモリ装置内における不揮発性半導体メモリのアクセスは、SDTMカードコマンドに従って実行された。
【0128】
対して、第2の論理インターフェイス例は、著作権保護を必要としないデータをリード及びライト(通常のリード及びライト)する際には、USBリーダライタがSCSIコマンド−SDTMカードコマンド間のコマンド変換をしない例である。
【0129】
図28は、この発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第2の論理インターフェイス例を示す図である。
【0130】
図28に示すように、第2の論理インターフェイス例では、通常のリード及びライトの場合、USBメモリ装置内の不揮発性半導体メモリへのアクセスはSCSIコマンドに従って実行される。本例では不揮発性半導体メモリがNAND型フラッシュメモリの例を示しており、USBリーダライタは、SDTMカードコマンドに変換せずにNAND型フラッシュメモリに対して直接にアクセスする。
【0131】
対して、著作権保護を必要とするデータ(コンテンツ)をリード/ライトする場合には、第1の論理インターフェイス例と同様に、SDTMカードコマンドをSCSIコマンドに埋め込み、埋め込まれたSDTMカードコマンドに従って不揮発性半導体メモリへのアクセスが実行される。
【0132】
なお、第2の論理インターフェイス例は通常のリード及びライトの際に、USBリーダライタがSCSIコマンド−SDTMカードコマンド間のコマンド変換をしないだけであり、ホスト−USBリーダライタ間のUSB上の論理インターフェイスについては、第1の論理インターフェイス例と同じである。
【0133】
(第3の論理インターフェイス例)
図29は、この発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第3の論理インターフェイス例を示す図である。
【0134】
図29に示すように、第3の論理インターフェイス例は、パススルーモード時に使用するUSBインターフェイスと、パススルーモード時以外に使用するUSBインターフェイスとを備えている。
【0135】
パススルーモード時には著作権保護を必要とするデータ(コンテンツ)が、ホストとUSBメモリ装置との間で送受信され、パススルーモード時以外には著作権保護を必要としないデータ(コンテンツ)が、ホストとUSBメモリ装置との間で送受信される。
【0136】
本例では、パススルーモード時に使用するUSBインターフェイス上のコマンドフォーマット、及び通信プロトコルは、第1の論理インターフェイス例で説明したUSBインターフェイス上のコマンドフォーマット、及び通信プロトコルと同様である。そして、送受信するデータは、本例では、追加されたエンドポイントEP3、EP4に書き込まれる。
【0137】
また、パススルーモード時以外に使用するUSBインターフェイスは、例えば、標準のUSBインターフェイス、例えば、マスストレージクラスインターフェイスで良い。本例では、送受信するデータは、エンドポイントEP1、EP2に書き込まれる。さらに、本例では第1の論理インターフェイス例と同様に、パススルーモード時以外の通常のリード/ライトの際、USBリーダライタがSCSIコマンド−SDTMカードコマンド間のコマンド変換をする。
【0138】
(第4の論理インターフェイス例)
図30はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第4の論理インターフェイス例を示す図である。
【0139】
図30に示すように、第4の論理インターフェイス例は、第3の論理インターフェイス例と同様に、パススルーモード時に使用するUSBインターフェイスと、パススルーモード時以外に使用するUSBインターフェイスとを備えたものである。
【0140】
異なるところは、第3の論理インターフェイス例では、パススルーモード時以外に、USBリーダライタがSCSIコマンド−SDTMカードコマンド間のコマンド変換をしていたところを、本第4の論理インターフェイス例では、第2の論理インターフェイス例と同様にコマンド変換をせずに、SCSIコマンドに従って不揮発性半導体メモリをアクセスするようにしたこと、である。
【0141】
第3、第4の論理インターフェイス例では、第1、第2の論理インターフェイス例のように、一つのマスストレージクラスインターフェイス上のSCSIコマンドを利用する場合に比べてインターフェイスが複雑な構成となるが、パススルーモードが独立したインターフェイスとなるために、ホストのドライバ構成に対する制約を軽減できる、という利点を得ることができる。
【0142】
なお、第1〜第4の論理インターフェイス例では、パススルーモード用のインターフェイスクラスとして、マスストレージクラスと同様にSCSIコマンドを使ってパススルーモードを実現する例を示したが、SCSIコマンドのフォーマットではなく、コマンドフォーマットを変形して別のコマンドフォーマットとすることも可能である。
【0143】
また、第1〜第4の論理インターフェイス例では、パススルーモード用のマスストレージクラスインターフェイスとしてバルクエンドポイントを持つクラスインターフェイスの例を示したが、コントロールエンドポイント(各デバイスクラス(HID(Human Interface Device:キーボードやマウス)やオーディオ等)のインターフェイスで共有可能なデフォルトのエンドポイント)のみで構成されるクラスインターフェイスで、このパススルーモード用の論理インターフェイスを構成しても良い。この場合、パススルーモードでの転送は低速となるが、追加のエンドポイントが不要となり、コストの面では有利である。
【0144】
また、上記実施形態では、不揮発性半導体メモリ5、メモリコントローラ6、及びUSBリーダライタ7が同一のケース内に設けられることでUSBメモリ装置が構成される場合について説明した。しかし、不揮発性半導体メモリ5及びメモリコントローラ6が、USBリーダライタ7とは別のケースに格納される場合であっても良い。すなわち、例えば図7で説明した構成において、SDTMカード機能MCP5-3とUSBリーダライタチップ7−1とが分離されても良い。この場合について、図31を用いて説明する。図31は、上記実施形態の変形例に係るメモリシステムのブロック図である。
【0145】
図示するようにメモリシステムは、USBリーダライタ7と、SDTMカード30とを備えている。SDTMカード30は、図7におけるSDTMカード機能MCP5-3と同様の構成を有しており、当該MCP5−3が、単独でメモリカード(SDTMカード)を構成している。またUSBリーダライタ7は、図7におけるUSBリーダライタチップ7−1とUSBコネクタ4とを含む構成を有し、更にSDカードコネクタを備えている。そして、SDTMカードI/F/コネクタ29に、SDTMカード30のSDTMカードI/F12が接続される。すなわち、USBコネクタ4と、USBリーダライタ機能と、SDカードI/F/コネクタ29とが、同一半導体基板上に形成される。
【0146】
上記実施形態は、図31に示す構成にも適用出来る。つまり、USBリーダライタ7とSDTMカード30とを接続した構成は、上記実施形態で説明したUSBメモリ装置と同様の構成とみなすことが出来、この場合にも、USBI/F22から見た論理インターフェイスは、上記実施形態と同様に考えることが出来る。
【0147】
また、上記実施形態は次の態様を含む。
(1) 電子機器のユニバーサルシリアルバス端子へ接続可能なユニバーサルシリアルバスコネクタと、不揮発性半導体メモリと、著作権保護機能、及び前記不揮発性半導体メモリに接続されるメモリインターフェイスを有する、前記不揮発性半導体メモリを制御するメモリコントローラと、前記メモリコントローラに接続されるコントローラインターフェイス、及び前記ユニバーサルシリアルバスコネクタに接続されるユニバーサルシリアルバスインターフェイスを有するユニバーサルシリアルバスリーダライタと、を具備する著作権保護機能付USBメモリ装置。
(2) 電子機器のユニバーサルシリアルバス端子へ接続可能なユニバーサルシリアルバスコネクタと、不揮発性半導体メモリと、著作権保護機能、前記不揮発性半導体メモリに接続されるメモリインターフェイス、及び前記ユニバーサルシリアルバスコネクタに接続されるユニバーサルシリアルバスインターフェイスを有するユニバーサルシリアルバスリーダライタと、を具備する著作権保護機能付USBメモリ装置。
(3) (1)及び(2)いずれかの態様に係る著作権保護機能付USBメモリ装置において、前記ユニバーサルシリアルバスリーダライタは、著作権保護機能を有する不揮発性半導体メモリに定義される著作権保護用コマンド、及び前記著作権保護用コマンドに付随するデータを、前記不揮発性半導体メモリが持つ電気的なインターフェイスとは異なる通信インターフェイス上の通信プロトコルで使用される通信パケットに埋め込んで送受信する通信インターフェイスを具備する。
(4) (3)の態様に係る著作権保護機能付USBメモリ装置において、前記通信インターフェイスは、前記ユニバーサルシリアルバスリーダライタにアクセスするモードと、前記ユニバーサルシリアルバスリーダライタをパススルーして前記著作権保護機能にアクセスするモードと、を備える。
(5) (4)の態様に係る著作権保護機能付USBメモリ装置において、前記通信インターフェイスは、パススルーモード時に使用するインターフェイスと、パススルーモード時以外に使用するインターフェイスと、を備える。
(6) (3)乃至(5)いずれか一つの態様に係る著作権保護機能付USBメモリ装置において、前記著作権保護機能はCPRMであり、前記通信インターフェイスはUSBである。
(7) (6)の態様に係る著作権保護機能付USBメモリ装置において、前記通信インターフェイスは、USBで利用されるコマンドを前記不揮発性半導体メモリが持つ電気的なインターフェイスで利用されるコマンドに変換し、変換したコマンドに従って前記不揮発性半導体メモリをアクセスする。
(8) (6)の態様に係る著作権保護機能付USBメモリ装置において、前記通信インターフェイスは、USBで利用されるコマンドを前記不揮発性半導体メモリが持つ電気的なインターフェイスで利用されるコマンドに変換し、変換したコマンドに従って前記不揮発性半導体メモリをアクセスするモードと、前記USBで利用されるコマンドに従って前記不揮発性半導体メモリをアクセスするモードと、を有する。
【0148】
以上、この発明をいくつかの実施形態により説明したが、この発明はこれらの実施形態に限定されるものではなく、その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【0149】
例えば、上記実施形態では、不揮発性半導体メモリをNAND型フラッシュメモリとした例を示したが、不揮発性半導体メモリはNAND型フラッシュメモリに限られるものではない。例えば、AND型フラッシュメモリに置換することも可能である。
【0150】
また、例えば、上記実施形態では、不揮発性半導体メモリを、著作権保護機能としてSDTMカード機能に付随したCPRM機能を利用したが、著作権保護機能はSDTMカード機能に付随するCPRM機能に限られるものではない。
【0151】
また、上記実施形態は種々の段階の発明を含んでおり、上記実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
【図面の簡単な説明】
【0152】
【図1】図1はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置の一基本例を示すブロック図。
【図2】図2はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置の一具体例を示すブロック図。
【図3】図3はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置における著作権保護を要するコンテンツの記録時の流れの一例を示す図。
【図4】図4はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置における著作権保護を要するコンテンツの再生時の流れの一例を示す図。
【図5】図5はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置の第1の構成例を示すブロック図。
【図6】図6は図5に示す著作権保護機能付USBメモリ装置の分解斜視図。
【図7】図7はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置の第2の構成例を示すブロック図。
【図8】図8(A)は図7に示す著作権保護機能付USBメモリ装置の分解斜視図、図8(B)はマルチチップパッケージのチップ収容例を示す斜視図。
【図9】図9はこの発明の第1実施形態に係る著作権保護機能付USBメモリ装置の第3の構成例を示すブロック図。
【図10】図10は図9に示す著作権保護機能付USBメモリ装置の分解斜視図。
【図11】図11はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第1の論理インターフェイス例を示す図。
【図12】図12はライト時にエンドポイントEP0にセットされるSCSIコマンドの一例を示す図。
【図13】図13はライト時にエンドポイントEP1にセットされるSCSIデータの一例を示す図。
【図14】図14は拡張されたコマンドをイネーブル/ディセーブルするモードの一例を示す図。
【図15】図15は拡張されたコマンドのコード例を示す図。
【図16】図16はパススルーモードセットコマンドのフォーマットの一例を示す図。
【図17】図17はデータのフォーマットの一例を示す図。
【図18】図18はSDTMカード実行コマンドのフォーマットの一例を示す図。
【図19】図19はレスポンス取得コマンドのフォーマットの一例を示す図。
【図20】図20はハードウェアリセットコマンドのフォーマットの一例を示す図。
【図21】図21(a)はSDTMカードに対してレスポンスを要求しないコマンドのときのコマンド処理例を示す図、図21(b)はSDTMカードに対してレスポンスを要求するコマンドのときのコマンド処理例を示す図。
【図22】図22(a)は読み出し付SDTMカード実行コマンド(シングルブロックリード)のときのコマンド処理例を示す図、図22(b)は書き込み付SDTMカード実行コマンド(シングルブロックライト)のときのコマンド処理例を示す図。
【図23】図23(a)は読み出し付SDTMカード実行コマンド(マルチプルブロックリード)のときのコマンド処理例を示す図、図23(b)は書き込み付SDTMカード実行コマンド(マルチプルブロックライト)のときのコマンド処理例を示す図。
【図24】図24はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置における動作の流れを示すフローチャート。
【図25】図25はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置のブロック図。
【図26】図26はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置のブロック図。
【図27】図27はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置のブロック図。
【図28】図28はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第2の論理インターフェイス例を示す図。
【図29】図29はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第3の論理インターフェイス例を示す図。
【図30】図30はこの発明の第2実施形態に係る著作権保護機能付USBメモリ装置の第4の論理インターフェイス例を示す図。
【図31】この発明の第1、第2の実施形態の変形例に係るメモリシステムのブロック図。
【符号の説明】
【0153】
2…電子機器、3…USB端子、4…USBコネクタ、5…不揮発性半導体メモリ、6…メモリコントローラ、7…USBリーダライタ、10…著作権保護用回路、11…メモリインターフェイス、21…コントローラインターフェイス、22…USBインターフェイス

【特許請求の範囲】
【請求項1】
電子機器のシリアル通信インターフェイス端子へ接続可能なシリアル通信インターフェイスコネクタと、
不揮発性半導体メモリと、
前記不揮発性半導体メモリに接続されるメモリインターフェイスを備え、且つ著作権保護機能を有し、前記不揮発性半導体メモリを制御するメモリコントローラと、
前記メモリコントローラに接続されるコントローラインターフェイスと、前記シリアル通信インターフェイスコネクタに接続されるシリアル通信インターフェイスとを有するメモリリーダライタと
を具備することを特徴とする半導体メモリ装置。
【請求項2】
電子機器のシリアル通信インターフェイス端子へ接続可能なシリアル通信インターフェイスコネクタと、
不揮発性半導体メモリと、
前記不揮発性半導体メモリに接続されるメモリインターフェイスと、前記シリアル通信インターフェイスコネクタに接続される通信シリアルインターフェイスとを備え、且つ著作権保護機能を有するメモリリーダライタと
を具備することを特徴とする半導体メモリ装置。
【請求項3】
前記不揮発性半導体メモリは前記著作権保護機能を有し、
前記メモリリーダライタは、前記不揮発性半導体メモリが認識可能な著作権保護用コマンド及び前記著作権保護用コマンドに付随するデータを、前記不揮発性半導体メモリが持つ電気的なインターフェイスとは異なる通信インターフェイス上の通信プロトコルで使用される通信パケットに直接埋め込んで送受信する通信インターフェイスを有し、且つ
前記不揮発性半導体メモリを接続するためのコネクタと、前記通信インターフェイスのコネクタとは、同一基板上に形成される
ことを特徴とする請求項1または2記載の半導体メモリ装置。
【請求項4】
不揮発性半導体メモリを備え、著作権保護機能を有する半導体メモリ媒体と、
前記半導体メモリ媒体が認識可能な著作権保護用コマンド、及び前記著作権保護用コマンドに付随するデータを、前記の半導体メモリ媒体が持つ電気的なインターフェイスとは異なる通信インターフェイス上の通信プロトコルで使用される通信パケットに直接埋め込んで送受信する通信インターフェイスと
を具備することを特徴とする半導体メモリ装置。
【請求項5】
前記通信インターフェイスは、前記不揮発性半導体メモリにおいて、該通信インターフェイスに定義されている通常のデータ領域をアクセスするためのアクセスモードとは別に、前記不揮発性半導体メモリの前記著作権保護機能に直接アクセスするパススルーモードを有する
ことを特徴とする請求項3または4記載の半導体メモリ装置。
【請求項6】
前記著作権保護機能は、SDTMカードが有する著作権保護機能であり、前記通信インターフェイスはUSB(ユニバーサル・シリアル・バス)である
ことを特徴とする請求項1乃至6いずれか1項記載の半導体メモリ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2009−48542(P2009−48542A)
【公開日】平成21年3月5日(2009.3.5)
【国際特許分類】
【出願番号】特願2007−215983(P2007−215983)
【出願日】平成19年8月22日(2007.8.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】