説明

記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法

【課題】コンテンツデータの不正利用を抑制出来る記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法を提供すること。
【解決手段】実施形態に係る記録装置1は、データを記録可能なメモリ11と、メモリ11を第1領域30と第2領域31に分けてデータの記録を制御するコントローラ10とを具備する。コントローラ10は、第1領域30に対しては、外部から与えられたデータにつき誤り符号訂正及び論理アドレスから物理アドレスへのアドレス変換を行うことなく、該データを書き込む。第2領域31に対しては、外部から与えられたデータにつき誤り符号訂正及びアドレス変換を行った後、該データを書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
この発明の実施形態は、記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法に関する。
【背景技術】
【0002】
従来、SDTMメモリカードのような記録メディアを活用したコンテンツ配信が知られている。このような配信システムにおいては、コンテンツの不正コピーを防止するためのコンテンツ保護技術が重要である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−341156号公報
【特許文献2】米国特許出願公開第2009/0204778号明細書
【特許文献3】米国特許第7,165,060号明細書
【非特許文献】
【0004】
【非特許文献1】CPRM Specification for SD Memory Card 4C Entity, LLC、[online]、インターネット<URL:http://www.4centity.com>
【非特許文献2】Digital Signature Standard, FIPS186、[online]、インターネット<URL:http://www.itl.nist.gov/fipspubs/index.htm>
【非特許文献3】Advanced Access Content System (AACS) Introduction and Common Cryptographic Elements Book、[online]、インターネット<URL:http://www.aacsla.com/specifications/AACS_Spec_Common_FINAL_0951.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
この発明は、コンテンツデータの不正利用を抑制出来る記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法を提供する。
【課題を解決するための手段】
【0006】
実施形態に係る記録装置は、データを記録可能なメモリと、前記メモリを第1領域と第2領域に分けて前記データの記録を制御するコントローラとを具備する。前記コントローラは、前記第1領域に対しては、外部から与えられたデータにつき誤り符号訂正及び論理アドレスから物理アドレスへのアドレス変換を行うことなく、該データを書き込む。前記第2領域に対しては、前記外部から与えられたデータにつき前記誤り符号訂正及び前記アドレス変換を行った後、該データを書き込む。
【図面の簡単な説明】
【0007】
【図1】第1実施形態に係る記録装置及び書き込み装置のブロック図。
【図2】第1実施形態に係る記録装置及び読み出し装置のブロック図。
【図3】第1実施形態に係る書き込み装置の動作を示すフローチャート。
【図4】第1実施形態に係る読み出し装置の動作を示すフローチャート。
【図5】第1実施形態に係る書き込み方法の具体例を示す概念図。
【図6】第1実施形態に係る読み出し方法の具体例を示す概念図。
【図7】第1実施形態に係る記録装置のブロック図。
【図8】第2実施形態に係る記録装置のブロック図。
【図9】第2実施形態に係る記録装置のブロック図。
【図10】第2実施形態に係る記録装置の制御方法を示す表。
【図11】第2実施形態に係る記録装置のメモリ空間を示す概念図。
【図12】第2実施形態に係る記録装置の動作を示すフローチャート。
【図13】第3実施形態に係る記録装置および書き込み装置のブロック図。
【図14】第3実施形態に係る記録装置および読み出し装置のブロック図。
【図15】第4実施形態に係る記録装置のブロック図。
【図16】第4実施形態に係るドライブ制御回路のブロック図。
【図17】第4実施形態に係るプロセッサのブロック図。
【図18】第4実施形態に係るパーソナルコンピュータの斜視外観図。
【図19】第4実施形態に係るパーソナルコンピュータの内部構成のブロック図。
【発明を実施するための形態】
【0008】
以下、実施形態を、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【0009】
実施形態に係る記録装置は、データを記録可能なメモリと、前記メモリを第1領域と第2領域に分けて前記データの記録を制御するコントローラとを具備する。前記コントローラは、前記第1領域に対しては、外部から与えられたデータにつき誤り符号訂正及び論理アドレスから物理アドレスへのアドレス変換を行うことなく、該データを書き込む。前記第2領域に対しては、前記外部から与えられたデータにつき前記誤り符号訂正及び前記アドレス変換を行った後、該データを書き込む。
【0010】
[第1実施形態]
第1実施形態に係る記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法にいて説明する。以下では、記録装置としてSDメモリカード(以下、単にメモリカードと呼ぶ)を例に挙げて説明する。
【0011】
1.メモリカードの構成について
まず、本実施形態に係るメモリカードの構成について、図1を用いて簡単に説明する。詳細については、後述する第2実施形態で説明する。図1は、メモリカード及び書き込み装置のブロック図である。
【0012】
図示するように、メモリカード1はメモリコントローラ10及びNAND型フラッシュメモリ11を備えている。メモリコントローラ10及びNAND型フラッシュメモリ11はそれぞれ異なる基板上に形成されても良いし、または同一基板上に形成されても良い。
【0013】
メモリコントローラ10は、メモリカード1が接続されるホスト機器(本実施形態では書き込み装置または読み出し装置)からのアクセスに応じて、NAND型フラッシュメモリ11にデータを書き込み、NAND型フラッシュメモリ11からデータを読み出し、またはNAND型フラッシュメモリ11内のデータを消去するために必要な処理を実行する。
【0014】
またメモリコントローラ10は、第1認証処理部20及び第2認証処理部21を備える。第1認証処理部20及び第2認証処理部21は、ホスト機器との間で、当該メモリカード1の認証処理を実行する。この認証処理によって、ホスト機器はメモリカード1へのアクセスを許可される。
【0015】
更にメモリコントローラ10は、NAND型フラッシュメモリ11のメモリ領域を、少なくとも3つの領域に区分して管理する。この3つの領域は、特定領域30、保護領域31、及びユーザ領域32である。メモリコントローラ10は、ホスト機器が第1認証処理部20における認証に成功した際に、特定領域30へのアクセスを許可する。またメモリコントローラ10は、ホスト機器が第2認証処理部21における認証処理に成功した際に、保護領域31へのアクセスを許可する。ユーザ領域32に対するアクセスには、ホスト機器の認証処理は特に必要とされない。
【0016】
保護領域31には、記録装置固有情報(以下、単に固有情報と呼ぶ)が記録される。固有情報は、個々のメモリカード1におけるNAND型フラッシュメモリ11に固有の情報であり、より具体的には、NAND型フラッシュメモリ11にデータを書き込んだ際にエラーが発生し易い場所に関する情報である。この固有情報は、メモリカード1の書き込み装置2によって生成されて、保護領域31に記録される。特定領域30は、固有情報を作成するために書き込み装置2によって使用される領域である。ユーザ領域32は、正味のユーザデータが格納される領域であり、音楽や映画などの種々のコンテンツデータが記録される。このコンテンツデータを暗号化する暗号鍵のうちの1つがユーザ領域32に記録されても良い。また別の暗号鍵が保護領域31に記録されても良い。
【0017】
2.書き込み装置2の構成について
次に、本実施形態に係る書き込み装置2の構成について、引き続き図1を参照して説明する。書き込み装置2は、固有情報を生成してこれをメモリカード1に書き込み、また種々のコンテンツをメモリカード1に書き込む。
【0018】
書き込み装置2は、種々のコンテンツを提供するKiosk端末や、またはコンテンツの提供事業者などである。また、インターネット等で配信された映画等のコンテンツの録画再生機器であっても良い。図示するように書き込み装置2は、大まかには、CPU40、生成部41、第1認証処理部42、第2認証処理部43、及びコンテンツ暗号部44を備えている。
【0019】
CPU40は、書き込み装置2全体の動作を制御する。そしてデータの書き込み時には書き込みコマンドを発行し、読み出し時には読み出しコマンドを発行する。
【0020】
第1認証処理部42は、メモリカード1におけるNAND型フラッシュメモリ11の特定領域30にアクセスする際に、コントローラ10の第1認証処理部20との間で認証処理を行う。
【0021】
第2認証処理部43は、メモリカード1におけるNAND型フラッシュメモリ11の保護領域31にアクセスする際に、コントローラ10の第2認証処理部21との間で認証処理を行う。
【0022】
生成部41は、CPU40の命令に従って固有情報を生成し、これをメモリカード1に書き込む。生成部41は、署名生成部45、エラー位置情報処理部46(以下、単に処理部46と呼ぶ)、及び書き込みデータ提供部47(以下、単に提供部47と呼ぶ)を備えている。提供部47は、固有情報を生成する際にNAND型フラッシュメモリ11の特定領域30に書き込むべきデータを生成する。処理部46は、提供部47で生成されたデータを特定領域30に書き込み、更に書き込んだデータを読み出す。そして、書き込んだデータと読み出したデータとの間の差異に基づいて固有情報を生成し、これを署名生成部45に転送する。署名生成部45は、外部から与えられる(または内部で生成される)署名生成鍵に基づき、固有情報に電子署名を付与する。そして署名生成部45は、電子署名の付与された固有情報を、NAND型フラッシュメモリ11の保護領域31に書き込む。
【0023】
コンテンツ暗号部44は、メモリカード1のユーザ領域32に記録するコンテンツ(content)や、コンテンツ鍵の暗号化を行う。コンテンツ暗号部44の処理には、参照によって本願明細書に組み込まれる特許文献1記載の方法を使用できる。その一例については、後に第3実施形態として説明する。
【0024】
3.読み出し装置の構成について
次に、本実施形態に係る読み出し装置の構成について、図2を参照して説明する。図2は読み出し装置及びメモリカード1のブロック図である。図2は、メモリカード及び読み出し装置のブロック図である。
【0025】
読み出し装置は、例えばKiosk端末やコンテンツの提供事業者から提供されたコンテンツを再生する装置である。また、映画等のコンテンツをインターネット等で配信するシステムにおいては、読み出し装置と書き込み装置とが同一の装置(または一体化された装置)であっても良い。図示するように読み出し装置3は、大まかには、CPU50、判定51、第1認証処理部52、第2認証処理部53、及びコンテンツ復号部54を備えている。
【0026】
CPU50は、読み出し装置3全体の動作を制御する。そしてデータの書き込み時には書き込みコマンドを発行し、読み出し時には読み出しコマンドを発行する。
【0027】
第1認証処理部52は、メモリカード1におけるNAND型フラッシュメモリ11の特定領域30にアクセスする際に、コントローラ10の第1認証処理部20との間で認証処理を行う。
【0028】
第2認証処理部53は、メモリカード1におけるNAND型フラッシュメモリ11の保護領域31にアクセスする際に、コントローラ10の第2認証処理部21との間で認証処理を行う。
【0029】
判定部51は、CPU50の命令に従って記録装置固有情報(以下、単に固有情報と呼ぶ)を生成する。そして生成した固有情報と、書き込み装置2によってメモリカード1に書き込まれた固有情報とを用いて、メモリカード1が正規の記録メディアであるか否か、言い換えればメモリカード1がクローンメディアでないか否かを判定する。以下では、両者を区別するため、書き込み装置2によって生成された固有情報を第1固有情報と呼び、読み出し装置3によって生成された固有情報を第2固有情報と呼ぶことにする。図示するように判定部51は、署名検証部55、エラー位置情報処理部56(以下、単に処理部56と呼ぶ)、書き込みデータ提供部57(以下、単に提供部57と呼ぶ)、及び比較部58を備えている。
【0030】
提供部57は、第2固有情報を生成する際にNAND型フラッシュメモリ11の特定領域30に書き込むべきデータを生成する。処理部56は、提供部57で生成されたデータを特定領域30に書き込み、更に書き込んだデータを読み出す。そして、書き込んだデータと読み出したデータとの間の差異に基づいて第2固有情報を生成し、これを比較部58に転送する。署名検証部55は、NAND型フラッシュメモリ11の保護領域31から第1固有情報を読み出す。そして署名検証部55は、外部から与えられる(または内部で生成される)署名検証鍵に基づき、第1固有情報に付与されているデジタル署名が正しいか否かを検証し、その検証結果をCPU50に出力する。比較部58は、NAND型フラッシュメモリ11の保護領域31から第1固有情報を読み出す。そして、この第1固有情報と、処理部56から与えられる第2固有情報とを比較し、その比較結果に基づいてメモリカード1が正規の記録メディアであるか否かを判定する。そしてその判定結果をCPU50に出力する。
【0031】
コンテンツ復号部54は、メモリカード1のユーザ領域32からコンテンツやコンテンツ鍵を読み出す。そしてこれらの情報の復号化を行う。コンテンツ復号部54の処理には、参照によって本願明細書に組み込まれる特許文献1記載の方法を使用できる。その一例については、後に第3実施形態として説明する。
【0032】
4.書き込み装置2の動作について
次に、第1固有情報の作成及びこれをメモリカード1に記録する際の書き込み装置2の動作について、図3を用いて説明する。図3は、書き込み装置2の動作を示すフローチャートである。
【0033】
図示するように、まずCPU40の命令に応答して、第1認証処理部42がメモリカード1の第1認証処理部20との間で認証処理を実行する(ステップS10)。本認証処理には、例えば非特許文献1に開示の、デバイス(本実施形態の書き込み装置2)とSDメモリカードとの間で実施されるAuthentication処理が利用可能である。
【0034】
このAuthentication処理について簡単に説明する。書き込み装置2とメモリカード1は、共にメディア固有鍵(Media Unique Key)と呼ばれる同じ秘密情報を持っている。そして書き込み装置2とメモリカード1は、互いにその都度生成される乱数を相手に渡して、受け取った値を所定の方式でメディア固有鍵に基づいて処理して相手に返す。そして返された値を検証して、正しく処理が行われたことが明らかになれば、相手が同じ秘密情報を持っていると判断する、つまり正当な通信相手であると判断する。なお非特許文献1では、メモリカード1に記録されたメディア鍵ブロック(Media Key Block)とメディアID(Media ID)をデバイスが読み出し、デバイスが持つデバイス鍵セット(Device Key Set)と共に所定の手続きを行うことでメディア固有鍵を作成し、これと同じ値がメモリカード内部にも保持されている。
【0035】
また上記認証処理は、PKI(Public Key Infrastructure)方式によって実行されても良い。PKI方式によれば、機器が通信相手を正しい相手かどうかを認証する場合、次のようにして処理が行われる。すなわち、通信を行う際に、自身は、通信相手との間で、ある非対称暗号アルゴリズムの公開鍵、秘密鍵のペアを所有する。そして、相手方に対して、その都度発生させる乱数を送信する。すると相手方は、受信した乱数を秘密鍵で暗号処理し、暗号化した乱数と公開鍵を送り返す。これを受信すると、暗号化された乱数を公開鍵で復号する。その結果、復号した乱数が、自身の発生した乱数に一致する場合には、相手方を、秘密鍵を所有する相手だとみなす。つまり、正式な通信相手であると判断する。そしてこの処理は、お互いに行われる。一例としては、例えば非特許文献3に書かれるホストとドライブの間で実施される認証方式が利用可能である。
【0036】
以上の方法で認証処理を行った後、提供部47はCPU40の命令に従って、書き込みデータを生成・準備する(ステップS11)。このデータは、予め定められた特定のデータでも良いし、その都度乱数で発生させたデータであっても良い。そして提供部47は、生成したデータを処理部46に転送する。
【0037】
次に処理部46はCPU40の命令に従って、受信したデータを、第1認証処理部42、20を介して、NAND型フラッシュメモリ11の特定領域30に書き込む(ステップS12)。この際、CPU40は特定領域30への書き込みコマンドとアドレスとを発行する。
【0038】
引き続き処理部46はCPU40の命令に従って、特定領域30内のデータを読み出す(ステップS13)。この際、CPU40は特定領域30への読み出しコマンドとアドレスとを発行する。当然ながら、本ステップS13で読み出されるデータは、直前のステップS12で書き込まれたデータである。なお、ステップS12とステップS13の間で認証処理を行っても良い。
【0039】
次に処理部46はCPU40の命令に従って、ステップS13で読み出したデータと、ステップS12で書き込んだデータとを比較する(ステップS14)。そしてこの比較により処理部66は、両者が一致しないデータ位置、つまりメモリカード1に正しく書き込まれなかった(及び/または正しく読み出せなかった)データの場所(エラー位置)を検出する。そしてその位置情報を、一時メモリ46aに記録する(ステップS15)。一時メモリ46aは処理部46の内部にあっても良いし外部にあっても良いし、またDRAMやSRAM等の揮発性半導体メモリや、NOR型フラッシュメモリ等の不揮発性半導体メモリであっても良い。
【0040】
書き込み装置2は、以上のステップS11〜S15の処理を、所定の回数(n回、nは2以上の自然数)繰り返す(ステップS16)。そしてその度に、エラー位置を一時メモリ46aに追記する。これにより、n回の書き込みの各々につき、エラー位置が一時メモリ45aに記録される。なお、特定領域30への書き込みを繰り返す前に、CPU40は特定領域30への消去コマンドとアドレスとを発行し、データを一旦消去してもよい。
【0041】
その後、処理部46はCPU40の命令に従って、一時メモリ46aを参照して、n回の書き込みのうちm回(Mは2以上の自然数)以上、書き込みに失敗したエラー位置を、第1固有情報とする(ステップS17)。
【0042】
更に署名生成部45はCPU40の命令に従って、第1固有情報の改変を防ぐために書き込み装置2に与えられたデジタル署名生成鍵でデジタル署名を作成し、これを第1固有情報に付与する(ステップS18)。デジタル署名とは、特定の秘密情報を持つ者のみが作成できる、デジタル情報についての署名である。そして、他者はその署名が正しいことを検証できるが、署名の偽造はできないことを情報理論学的に行う一般的な方式であり、例えば非特許文献2で書かれる方式が利用可能である。電子署名は、暗号鍵と復号鍵が異なる非対称アルゴリズムに基づき、署名対象となるデータのダイジェスト値を暗号化したものを署名データとして扱う。そして電子署名は、検証時には署名データを復号鍵で復号し、署名対象のデータのダイジェスト値と一致する場合に正しい署名であることとする手法であり、非特許文献2にある手法が一般的である。
【0043】
その後、署名生成部45はCPU40の命令に従って、ステップS18で作成した署名を付与した第1固有情報を、NAND型フラッシュメモリ11の保護領域31に書き込む(ステップS19)。この際、CPU40は保護領域31への書き込みコマンドとアドレスとを発行する。
【0044】
なお、ステップ19では保護領域31にアクセスするので、ステップS18とステップS19との間で認証処理を行っても良い。この処理は第2認証処理部21、43で実行される。
【0045】
以上のステップS10〜S19の処理により署名付き第1固有情報のメモリカード1への書き込みが完了すると、次に書き込み装置2はコンテンツのメモリカード1への書き込みを実行する。この書き込みは周知の方法を用いて実行可能である。
【0046】
5.読み出し装置3の動作について
次に、第1固有情報及び第2固有情報を用いてメモリカード1が正規の記録メディアであるか否かを判定する際の読み出し装置3の動作について、図4を用いて説明する。図4は、読み出し装置3の動作を示すフローチャートである。
【0047】
図示するように、まずCPU50の命令に応答して、第1認証処理部52が、メモリカード1の第1認証処理部20との間で認証処理を実行する(ステップS20)。本認証処理には、図3で説明したステップS10と同様の認証方式を適用出来る。
【0048】
次に提供部57は、CPU50の命令に従って、書き込みデータを生成・準備する(ステップS21)。このデータは、予め定められた特定のデータでも良いし、その都度乱数で発生させたデータであっても良い。またこのデータは、書き込み装置2における提供部47が生成するデータと同じであっても良いし異なっても良い。そして提供部57は、生成したデータを処理部56に転送する。
【0049】
次に処理部56は、受信したデータを、CPU50の命令に従って、第1認証処理部52、20を介して、NAND型フラッシュメモリ11の特定領域30に書き込む(ステップS22)。この際、CPU50は特定領域30への書き込みコマンドとアドレスとを発行する。
【0050】
引き続き処理部56はCPU50の命令に従って、特定領域30内のデータを読み出す(ステップS23)。この際、CPU50は特定領域30への読み出しコマンドとアドレスとを発行する。当然ながら、本ステップS23で読み出されるデータは、直前のステップS22で書き込まれたデータである。なお、ステップS22とステップS23の間で認証処理を行っても良い。
【0051】
次に処理部56はCPU50の命令に従って、ステップS23で読み出したデータと、ステップS22で書き込んだデータとを比較する(ステップS24)。そしてこの比較により処理部56は、両者が一致しないデータ位置、つまりメモリカード1に正しく書き込まれなかった(及び/または正しく読み出せなかった)データの場所(エラー位置)を検出する。そしてその位置情報を、一時メモリ56aに記録する(ステップS25)。一時メモリ56aは処理部56の内部にあっても良いし外部にあっても良いし、またDRAMやSRAM等の揮発性半導体メモリや、NOR型フラッシュメモリ等の不揮発性半導体メモリであっても良い。
【0052】
読み出し装置3は、以上のステップS21〜S25の処理を、所定の回数(n回、nは2以上の自然数)繰り返す(ステップS26)。そしてその度に、エラー位置を一時メモリ56aに追記する。これにより、n回の書き込みの各々につき、エラー位置が一時メモリ55aに記録される。このn及びmは、書き込み装置2で使用されるn及びmと同じであっても良いし異なっても良い。なお、特定領域30への書き込みを繰り返す前に、CPU50は特定領域30への消去コマンドとアドレスとを発行し、データを一旦消去してもよい。
【0053】
その後、処理部56はCPU50の命令に従って、一時メモリ56aを参照して、n回の書き込みのうちm回(mは2以上の自然数)以上、書き込みに失敗したエラー位置を、第2固有情報とする(ステップS27)。ステップS20〜S27における具体的な処理内容は、書き込み装置2によって実行されるステップS10〜S17と同じである。
【0054】
次に署名検証部55及び比較部58は、NAND型フラッシュメモリ11の保護領域31から、第1固有情報を読み出す(ステップS28)。この際、CPU50は保護領域31への書き込みコマンドとアドレスとを発行する。ステップS28では保護領域31にアクセスするので、ステップS27とステップS28との間で認証処理を行っても良い。この処理は第2認証処理部21、53で実行される。
【0055】
そして署名検証部55は、CPU50の命令に従って、読み出した第1固有情報に付与されたデジタル署名を検証する。そして検証の結果、そのデジタル署名が正しくなければ、CPU50は処理を中断し、当該メモリカード1が不正な記録メディア、すなわちクローンカードであると判断する(ステップS29)。この結果、読み出し装置3のメモリカード1へのアクセスは禁止される。
【0056】
更に比較部58はCPU50の命令に従って、読み出した第1固有情報と、処理部56から与えられる第2固有情報とを比較する。そして比較の結果、両者が同一でなければ、CPU50は処理を中断し、当該メモリカード1が不正な記録メディア、すなわち個ローンカードであると判断する(ステップS30)。この結果、読み出し装置3のメモリカード1へのアクセスは禁止される。
【0057】
そして読み出し装置3は、ステップS29、30の両方において、当該メモリカードが正規の記録メディアであると判断されると、その後、NAND型フラッシュメモリ11のユーザ領域32に記録されたコンテンツの再生を開始する。この再生は、周知の方法を用いて実行可能である。
【0058】
6.メモリカード1の検証方法の具体例について
次に、上記図3及び図4で説明した動作の具体例について説明する。上記の通り、メモリカード1が正規の記録メディアであるか否かを検証するためには、第1固有情報及び第2固有情報が用いられる。これらの情報は、提供部47、57で生成された書き込みデータを用いて生成され、この書き込みデータは、これに限定されるものではないが、例えば1Mバイト程度のデータ量とされる。しかしながら以下では、説明の簡単化のため、及び理解の明確化のため、書き込みデータが16ビットであり、また書き込み装置2及び読み出し装置3の双方においてn=5、m=3である場合を例に説明する。
【0059】
まず、書き込み装置2によって第1固有情報の記録処理が実行される。この処理につき、図5を用いて説明する。図5は、ステップS11〜S15の繰り返しの各々における、書き込みデータ、読み出しデータ、一時メモリ56a内のデータ、及び第1固有情報を示す説明図である。なお図中の読み出しデータにおける下線は、書き込みデータと異なるビット位置を示す。
【0060】
図示するように、1回目の書き込みにおいて、提供部47の生成する書き込みデータが(0000_0000_0000_000)であり、これを特定領域30に書き込んだ後に読み出した結果が(0000_0100_0000_0001)であったとする。すなわち、読み出しデータの先頭から6ビット目及び16ビット目のビットが反転(エラー)している。従って、このエラー位置(6ビット目及び16ビット目)が、一時メモリ44aに記録される。
【0061】
次に2回目の書き込みにおいて、書き込みデータとして(1111_1111_1111_1111)が生成され、読み出した結果が(1111_1011_1011_1100)であったとする。従って、エラー位置(6ビット目、10ビット目、15ビット目、及び16ビット目)が、一時メモリ44aに追記される。
【0062】
次に3回目の書き込みにおいて、書き込みデータとして(1111_0000_0000_0000)が生成され、読み出した結果が(1101_0100_0000_0001)であったとする。従って、エラー位置(3ビット目、6ビット目、及び16ビット目)が、一時メモリ44aに追記される。
【0063】
以下、4回目及び5回目の書き込み及び読み出しの結果が図5の通りであったとする。すると、一時メモリ44aにおいて、m=3回以上ビット反転の生じたエラー位置は、6ビット目及び16ビット目であることが分かる。従って処理部46は、このエラー位置を第1固有情報として、保護領域31に書き込む。
【0064】
次に、読み出し装置3によって第2固有情報の生成と、第1固有情報と第2固有情報との比較処理が実行される。この処理につき、図6を用いて説明する。図6は、ステップS21〜S25の繰り返しの各々における、書き込みデータ、読み出しデータ、一時メモリ56a内のデータ、及び第2固有情報を示す説明図である。図中の下線が示す意味は図5と同様である。
【0065】
図示するように、書き込みデータのパターンは図5と同じであったとする。そして1回目の読み出しでは6ビット目と16ビット目でビット反転が生じ、2回目の読み出しでは3ビット目、6ビット目、10ビット目、及び16ビット目でビット反転が生じ、以下図6の通りであったとする。
【0066】
すると、一時メモリ54aにおいて、m=3回以上ビット反転の生じたエラー位置は、6ビット目及び16ビット目であることが分かる。従って処理部56は、このエラー位置を第2固有情報として、比較部58に転送する。
【0067】
比較部58では、図5の第1固有情報と図6の第2固有情報とを比較する。すると、両者において、エラー位置は6ビット目及び16ビット目で一致する。よって比較部58は、当該メモリカードは正規の記録メディアであると判断する。
【0068】
7.本実施形態に係る効果
以上のように、本実施形態に係る記録装置及びその制御方法であると、コンテンツデータの不正利用を抑制出来る。本効果につき、以下説明する。
【0069】
近年、情報化社会の発展に伴い、本、新聞、音楽又は動画などを電子化したコンテンツをユーザ端末に配信し、コンテンツを閲覧可能とするコンテンツ配信システムが広く用いられてきている。
【0070】
但し、電子化したコンテンツ(以下、単にコンテンツという)は、容易に複製可能なため、著作権を無視する不正行為が生じ易い。このような不正行為からコンテンツを保護する観点から、コンテンツは、通常、暗号化鍵により、暗号化されて記録され、再生時に復号される。この種のコンテンツ保護技術には、CPRM(Content Protection for Recordable Media)がある。また、コンテンツ鍵が2種類の鍵で二重に暗号化された暗号化二重鍵方式が考えられている(例えば、特許文献1参照)。この種の暗号化二重鍵方式は、例えばMQbic(登録商標)に用いられている。暗号化鍵のうち、記録媒体に固有の鍵、例えばメディア固有鍵は、記憶媒体の秘匿領域にセキュアに記憶され、外部からは一切アクセスが不可能にされている。このため、例えば暗号化コンテンツ鍵データのみが不正にコピーされたとしても、不正コピー者は、メディア固有鍵がなければ、コンテンツデータを利用することができない。
【0071】
しかし、このようなメディア固有鍵が何らかの手法により不正に読み出され、不正カード製造業者に渡されると、正規のカードをコピーしたクローンカードが出回る結果となり、コンテンツデータが不正に利用されることが起こり得る。
【0072】
この点、本実施形態に係るメモリカードであると、記録装置固有情報を用いてメモリカードが正規の記録装置であるか否かを判断している。従って、例えメディア固有鍵が不正に読み出された場合であっても、コンテンツにアクセスされることを防止出来る。そのため、クローンカードが出回ることを抑制し、コンテンツデータを効果的に保護出来る。
【0073】
この記録装置固有情報は、NAND型フラッシュメモリに対してデータを書き込んだ後にこれを読み出した結果、書き込みデータと読み出しデータとが不一致となる頻度の高いビット位置を示す情報である。つまり、NAND型フラッシュメモリ11が形成されたメモリチップ内において、特に性能悪いメモリセルの位置を示す情報である。メモリチップ内における性能の悪いメモリセルの位置は、当然ながらメモリチップ毎に異なる。従って記録装置固有情報も、個々のNAND型フラッシュメモリ11に特有の情報となる。
【0074】
そして、例えばコンテンツの書き込み時等において、第1固有情報を生成してこれをメモリカードに書き込む。その後、コンテンツの再生時において、第2固有情報を生成して、これを第1固有情報と比較し、一致すれば、メモリカードを正規の記録装置として扱う。
【0075】
例えば図7のようなケースを考える。図7は、正規のメモリカード1−1と不正コピーされたメモリカード1−2を示す。
【0076】
メモリカード1−1では、ユーザ領域32−1にコンテンツ90が記録され、コントローラ10−1にはメディア固有鍵92が保持されている。また保護領域31−1には第1固有情報91が保持され、その情報内容は、メモリカード1−1の特定領域30−1におけるエラー位置と一致している。
【0077】
そして、何らかの手法によって、コンテンツ90、メディア固有鍵92、及び第1固有情報91がメモリカード1−2に不正にコピーされたと仮定する。このメモリカード1−2内のコンテンツ90を再生する際には、メモリカード1−2の特定領域30−2を使用して第2固有情報93が作成される。すると、特定領域30−1と特定領域30−2とでは、メモリセルの特性分布は異なる。よって当然、第2固有情報93は第1固有情報91と異なることになる。その結果、メモリカード1−2は不正なカードであると判断され、コンテンツ90の再生が妨げられる。
【0078】
また本実施形態では、第1固有情報及び第2固有情報を生成する際に、特定領域30への書き込み及び読み出しを複数回にわたって行っている。これにより、本実施形態に係る手法をより効果的なものとすることが出来る。すなわち、1度だけの書き込み及び読み出しで第1固有情報及び第2固有情報を生成した場合、両者が完全に一致する可能性は非常に低いと考えられ、正規の記録メディアであるにもかかわらず不正コピー品と判定されるおそれがある。しかし複数回行い、このうちある一定回数以上エラーとなった位置のみを使うことで、あまりエラーとなりにくいビット位置を第1固有情報及び第2固有情報から排除することが出来る。
【0079】
また、第1固有情報及び第2固有情報を、エラーとなるデータ位置(ビット位置)により生成することで、上記手法の使い勝手を向上出来る。書き込み及び/または読み出しに失敗する領域としては、不良なメモリセル数が多く、使用を禁止されたメモリブロック(いわゆるバッドブロック)を使用することが考えられる。しかし、当然ながらNAND型フラッシュメモリとしては、バッドブロックは少ない方が望ましい。またバッドブロックが非常に少ない、またはバッドブロックの存在しない製品も存在する。このような場合、バッドブロックを用いて第1固有情報及び第2固有情報を作成すると、それは全く内容の無い情報となり、デジタル署名もまた意味をなさない。これに対してビット単位などの小さいデータ単位で見れば、エラーはほぼ確実に複数個、存在する。よって、本実施形態に係る方法を用いることが望ましい。
【0080】
更に、第1固有情報91に電子署名を付与することも、コンテンツ保護に寄与する。このようにしてクローンカードの流布を防止し、コンテンツを効果的に保護出来る。
【0081】
8.変形例
なお、上記実施形態では、第1固有情報と第2固有情報とが完全に一致する場合を例に説明したが、完全一致でなくても良い。すなわち、予め定められたある一定の割合で一致した場合には正規品であると判断するようにしても良い。つまり、第1固有情報におけるエラー位置の数と第2固有情報におけるエラー位置の数とを比較した際に、両者が一致する割合が、第1固有情報または第2固有情報におけるエラー位置の総数の一定の割合である際に、正規品と判断するようにしても良い。
【0082】
例えば図5及び図6を用いて説明した例において、一致率が50%で良いとすれば、第2固有情報として6ビット目または16ビット目のいずれか一方のみが含まれる場合であっても、正規なメモリカードと判断される。しかしながら、より高度なコンテンツ保護という観点からは、要求される一致率を高くすることが望ましい。
【0083】
特に、メモリカード1に書き込んだデータは、時間と共に変化するおそれがある。従って、一致率を100%未満とすることで、本実施形態に係るシステムの使い勝手を向上出来る。
【0084】
また、一致率だけでなく、第1固有情報と第2固有情報とに含まれるエラー位置につき、相関関係を考慮しても良い。すなわち、例えば複数のエラー位置同士の間での相関関係を検証しておき、第1固有情報と第2固有情報との間でエラー位置が一致しなかったとしても、エラー位置同士の間で予め検証された相関関係が一定以上認められれば、正規なメモリカードと判断しても良い。
【0085】
例えば、第2固有情報におけるエラー位置の個数は、第1固有情報におけるエラー位置の個数よりも増えることが一般的と考えられる。これは特定領域30への書き込み/消去を繰り返すたびにメモリセルの特性が劣化するためである。この時、その増加個数が一定数以下である場合や、増加率が第1固有情報における個数に対する一定割合以下である場合には、正規品と判断するようにしても良い。
【0086】
更に、上記実施形態では、固有情報が、データ中でビット反転が生じたビット位置である例を挙げて説明した。しかしながら、ビット位置に限らず、それを表現できる情報であれば限定されるものではない。固有情報は例えば、アドレスによって表現されても良い。このアドレスは、エラーが発生した領域の物理アドレスである。そしてこのアドレスは、書き込み装置2及び読み出し装置3によりアクセス可能な最小メモリ領域(例えばクラスタ)を指定するアドレスである。
【0087】
[第2実施形態]
次に、第2実施形態に係る記録装置、書き込み装置、読み出し装置、及びその制御方法について説明する。本実施形態は、上記第1実施形態におけるSDメモリカード1の詳細に関するものである。従って、書き込み装置2及び読み出し装置3についての詳細な説明は省略する。
【0088】
1.メモリカードの構成について
まず、メモリカード1の全体構成について、図8を用いて説明する。図8は、本実施形態に係るメモリカード1のブロック図である。
【0089】
メモリカード1は、ホスト機器4にバスインターフェース5を介して接続可能とされている。そしてメモリカード1は、ホスト機器4に接続された時に電源供給を受けて動作し、ホスト機器4からのアクセスに応じた処理を行う。ホスト機器4は、第1実施形態で説明した書き込み装置2や読み出し装置3に相当する。
【0090】
メモリカード1は、大まかには前述のメモリコントローラ10、NAND型フラッシュメモリ11、及びデータバス12を備えている。そしてメモリコントローラ10とNAND型フラッシュメモリ11は、データバス12によって互いに通信可能に接続されている。
【0091】
1.1 メモリコントローラ10の構成について
次に、上記メモリコントローラ10の構成の詳細について、引き続き図8を参照して説明する。図示するようにメモリコントローラ10は、SDカードインターフェース70、MPU71、CPRM(Copy Protection for Prerecorded Media)回路72、ROM73、RAM74、及びNANDインターフェース75を備えている。これらは同一の半導体基板上に形成され、内部バス76によって通信可能に接続されている。
【0092】
SDカードインターフェース70は、バスインターフェース5(SDカードバス)によってホスト機器4に接続可能とされ、ホスト機器4との間の通信を司る。NANDインターフェース75は、データバス12によってNAND型フラッシュメモリ11と接続されており、NAND型フラッシュメモリ11との間の通信を司る。
【0093】
MPU71は、メモリカード1全体の動作を制御する。MPU71は、例えばメモリカード1が電源供給を受けたときに、ROM73に格納されているファームウェア(制御プログラム)をRAM74上に読み出して所定の処理を実行することにより、各種のテーブルをRAM74上に作成する。またMPU71は、ホスト機器4から書き込みコマンド、読み出しコマンド、消去コマンドを受け取り、NAND型フラッシュメモリ11に対して所定の処理を実行したり、データ転送処理を制御したりする。MPU71が有する具体的な機能の幾つかについては、後に詳細に説明する。
【0094】
ROM73は、MPU71により制御される制御プログラムなどを格納する。RAM74は、MPU71の作業エリアとして使用され、制御プログラムや各種のテーブル(表)を記憶する。
【0095】
CPRM回路72は、メモリカード1における著作権保護機能を司る。すなわち、NAND型フラッシュメモリ11内において秘匿されるべき情報に対してホスト機器4からアクセスが為された場合に、当該アクセスを許可するか否かを決定する。
【0096】
1.2 NAND型フラッシュメモリ11の構成について
次に、NAND型フラッシュメモリ11の構成について、引き続き図8を参照して説明する。図示するようにNAND型フラッシュメモリ11は、メモリセルアレイ80、ロウデコーダ81、ページバッファ82、及びNANDインターフェース83を備えている。
【0097】
メモリセルアレイ80は、複数のメモリブロックBLKを含んでいる。メモリブロックBLKの各々は、データを保持可能なメモリセルの集合である。メモリセルの各々はマトリクス状に配置され、同一行にある複数個のメモリセルは同一のワード線に接続されている。そして、同一のワード線に接続された複数のメモリセルに対しては一括してデータが書き込まれ、また一括してデータが読み出される。この単位はページと呼ばれる。メモリセルの各々は、1ビット(2値モード)または2ビット(4値モード)のデータを保持出来る。またデータの消去はメモリブロックBLK単位で行われる。
【0098】
NANDインターフェース83は、データバス12を介したメモリコントローラ10のNANDインターフェース75との間の通信を司る。そしてメモリコントローラ10から与えられたロウアドレスをロウデコーダ81へ転送し、書き込みデータをページバッファ82へ転送する。またページバッファ82から転送された読み出しデータをメモリコントローラ10へ送信する。
【0099】
ロウデコーダ81は、NANDインターフェース83から与えられるロウアドレスをデコードする。そしてデコード結果に従って、メモリセルアレイ30中におけるいずれかのメモリブロックBLKのロウ方向を選択する。すなわちいずれかのページを選択する。
【0100】
ページバッファ82は、メモリセルアレイ80へのデータ入出力を行い、データを一時的に保持する。ページバッファ82とメモリセルアレイ80との間のデータの入出力はページ単位で行われる。ページバッファ82は、データの書き込み時には、NANDインターフェース83から与えられる書き込みデータを一時的に保持し、これをメモリセルに書き込む。またデータの読み出し時には、読み出しデータを一時的に保持し、これをNANDインターフェース83に転送する。
【0101】
1.3 メモリコントローラ10の機能について
第1実施形態で説明した通りメモリコントローラ10は、上記NAND型フラッシュメモリ11のメモリ領域を、複数の領域、すなわち特定領域30、保護領域31、及びユーザ領域に区別して管理する。以下ではこの区別された領域に対してアクセスを行うための、メモリコントローラ10の特にMPU71の有する機能について、図9を用いて説明する。図9はメモリカード1の機能ブロック図であり、MPU21の有する機能と、上記区別された領域を示している。
【0102】
図示するようにメモリコントローラ10のMPU71は、第1実施形態で説明した第1認証処理部20及び第2認証処理部21の他に、書き込み制御部22、論理アドレス−物理アドレス変換処理部(以下L2P処理部と呼ぶ)23、誤り訂正符号処理部(以下ECC処理部と呼ぶ)24、ウェアレベリング制御部25、及びランダマイズ制御部26を含む。なおMPU71は、ソフトウェアの実行によりこれらの機能を実現しても良いし、またはMPU71とは別個のハードウェアまたはソフトウェアで実現されても良い。第1認証処理部20及び第2認証処理部21は第1実施形態の通りであるので、説明は省略する。
【0103】
L2P処理部23は、ホスト機器4から与えられた論理アドレスを物理アドレスに変換(これをL2P処理と呼ぶ)する。
【0104】
ECC処理部24は、データについてのECC処理を行う。すなわち、データの書き込み時には、ホスト機器4から与えられたデータにつきECC処理を行ってパリティを生成し、これをデータに付加する。データの読み出し時には、NAND型フラッシュメモリ11から読み出されたデータに基づいてシンドロームを生成し、これによりデータの誤り位置を検出し、誤りデータを訂正する。
【0105】
ウェアレベリング制御部25は、NAND型フラッシュメモリ11に対してウェアレベリング処理を実行する。ウェアレベリングとは、メモリブロックBLK毎の書き換え回数を管理して、特定のメモリブロックBLKにデータのアクセスが集中しないようする処理である。例えばあるメモリブロックBLK1にデータを書き込む際に、当該メモリブロックBLK1の書き込み頻度が高い場合には、書き込み頻度の低い別のメモリブロックBLK2にこのデータを書き込むと共に、メモリブロックBLK1に既に書き込まれていたデータをメモリブロックBLK2にコピーする。
【0106】
ランダマイズ制御部26は、データの書き込み時には、ホスト機器4から与えられたデータのランダム化を行う。これにより、データ内において“1”または“0”が連続しないようにする。ランダム化は、例えば疑似乱数発生器で発生させた疑似乱数との排他的論理和等によって行われる。またデータの読み出し時には、NAND型フラッシュメモリ11から与えられる読み出しデータを復号化する。
【0107】
書き込み制御部22は、上記L2P処理部23、ECC処理部24、ウェアレベリング制御部25、及びランダマイズ制御部26を制御する。そして、データの書き込みの際には、NANDインターフェースで定義された書き込みコマンドを発生し、この書き込みコマンドと共に、書き込むべき領域の物理アドレスと書き込みデータとを、NAND型フラッシュメモリ11に出力する。他方、読み出し時には、NANDインターフェースで定義された読み出しコマンドを発生し、この書き込みコマンドと、読み出すべき領域の物理アドレスとを、NAND型フラッシュメモリ11に出力する。
【0108】
上記構成においてメモリコントローラ10は、ホスト機器4による特定領域30に対するアクセスについては、第1認証処理部20で認証処理を行う。そしてL2P処理部23、ECC処理部24、ウェアレベリング制御部25、及びランダマイズ制御部26は処理を行わない。すなわち、特定領域30について、L2P処理、ECC処理、ウェアレベリング、及びデータのランダム化は行われない。言い換えれば、ホスト機器4から特定領域30へのアクセスは物理アドレスを用いて行われる。更に別の言い方をすれば、メモリカード1は、ホスト機器4から受信したアドレスを、論理アドレスでは無く物理アドレスとして取り扱う。そして書き込み制御部22は、データの書き込み時には、この物理アドレスと、ホスト機器4から与えられたそのままのデータと、NANDインターフェースで規定された書き込みコマンドとを、NAND型フラッシュメモリ11に出力する。この際、書き込み制御部22は、4値モードでデータを書き込む。またデータの読み出し時には、物理アドレスと書き込みコマンドとを、NAND型フラッシュメモリ11に出力する。
【0109】
またメモリコントローラ10は、ホスト機器4による保護領域31に対するアクセスについては、第2認証処理部21で認証処理を行う。そして書き込み制御部22の制御に従って、L2P処理部23、ECC処理部24、ウェアレベリング制御部24、及びランダマイズ制御部26は処理を実行する。すなわち、L2P処理、ECC処理、ウェアレベリング、及びデータのランダム化が実行される。なお、場合によってはECC処理、ウェアレベリング、及びデータのランダム化の少なくともいずれかが省略されるケースがあっても良い。そして書き込み制御部22は、データの書き込み時には、L2P処理部23で得られた物理アドレスと、必要に応じてパリティが付加されランダム化されたデータと、書き込みコマンドとを、NAND型フラッシュメモリ11に出力する。この際、書き込み制御部22は、2値モードでデータを書き込む。またデータの読み出し時には、物理アドレスと書き込みコマンドとを、NAND型フラッシュメモリ11に出力する。
【0110】
ユーザ領域32に対するアクセスについては、第2認証処理部21での認証処理が不要になる以外は、上記保護領域31に対するアクセスと同様である。
【0111】
以上をまとめると、図10のようになる。図10は、特定領域30とその他の領域(保護領域31及びユーザ領域32)との間のメモリコントローラ10による制御の差異を示す表である。
【0112】
図示するように特定領域30に対しては、認証処理を行い、L2P処理を行わず、ECC処理を行わず、ウェアレベリングを行わず、ランダマイズを行わず、4値モードで制御する。他方、その他の領域31、32に対しては、認証処理を必要に応じて行い、L2P処理を行い、ECC処理を行い、ウェアレベリングを行い、ランダマイズを行い、2値モードで制御する。
【0113】
なお書き込みモードについては、特定領域30内のメモリセルに保持させるデータ量が、その他の領域31、32内のメモリセルに保持させるデータ量よりも大きければ良い。例えば特定領域30内のメモリセルには3値以上のデータを保持させ、その他の領域31、32内のメモリセルには2値データを保持させるようにしても良い。つまり、特定領域30についてはMビットモード(Mは2以上の自然数)で制御し、その他の領域31、32についてはNビットモード(Nは1以上の自然数であり、N<M)で制御しても良い。
【0114】
なお、ホスト機器4から特定領域30にアクセスするためのコマンド(SDインターフェース上で定義されるコマンド)は、その他の領域31、32とは異なるコマンドで行っても良い。これによりメモリコントローラ10は、当該アクセスが特定領域30に対するアクセスであることを容易に認識出来る。勿論、コマンドが同じであっても、アドレスによってアクセス対象領域を判別することが出来る。
【0115】
1.4 NAND型フラッシュメモリ11のメモリ空間について
図11は、NAND型フラッシュメモリ11のメモリ空間の概念図であり、NAND型フラッシュメモリ11に保持される情報を示している。
【0116】
図示するようにNAND型フラッシュメモリ11には、ブートセクタ、FAT1、FAT2、ルートディレクトリエントリ、第1固有情報、及びユーザデータを記憶する。またある領域が、特定領域30として確保され、前述の通りこの領域には第1固有情報及び第2固有情報を生成するためのデータが書き込まれる。
【0117】
ブートセクタ、FAT1、FAT2、及びルートディレクトリエントリは、NAND型フラッシュメモリ11に記録されているファイル(データ)を管理するための管理情報であり、図11では一例としてFAT(File Allocation Table)ファイルシステムの例を示している。ユーザデータには、音楽や映画などのコンテンツや、これらのコンテンツを暗号化/復号化するための暗号鍵が含まれる。
【0118】
このうち、前述の通り、第1固有情報は保護領域31に書き込まれる。FAT1、FAT2、ルートディレクトリエントリ、及びユーザデータは、ユーザ領域42に書き込まれる。
【0119】
そして特定領域30に対するアクセスでは、L2P処理もウェアレベリングも行われない。つまり、特定領域30に割り当てられるメモリブロックBLKは固定されている(例えばBLK11〜BLK14)。よって、特定領域30にデータを書き込む場合には、必ずメモリブロックBLK11〜BLK14のいずれかにデータが書き込まれ、その書き込まれる場所はホスト機器4によって直接的に選択される。言い換えれば、第1固有情報及び第2固有情報を作成するために行われる複数回の書き込み及び読み出しは、毎回、複数の同じメモリセルに対して実行される。
【0120】
これに対してその他の領域に割り当てられるメモリブロックBLKは固定されておらず、データの更新時やウェアレベリングにより、データの書き込まれるメモリブロックBLKは常に変化する。すなわち、論理アドレス自体は不変であっても、物理アドレスは刻々と変化する。
【0121】
2.メモリカード1の動作について
次に、第1固有情報の作成及び記録時におけるメモリカード1の動作について、図12を用いて以下説明する。図12は、メモリコントローラ10の特にMPU71の動作を示すフローチャートである。
【0122】
図示するように、まず書き込み装置2の要求に応じて、第1認証処理部21が認証処理を実行する(図3のステップS10、図12のステップS40)。認証に失敗すれば、メモリコントローラ10は、書き込み装置2によるメモリカード1へのアクセスを禁止する。
【0123】
認証に成功すると、メモリカード1は、書き込み装置2から書き込みコマンド、データ、及びアドレス(物理アドレス)を受信する(ステップS41)。そしてメモリコントローラ10は、受信したデータを、受信したアドレスに対応する領域、すなわち特定領域30に書き込む(ステップS42)。前述の通り、L2P処理、ECC処理、ウェアレベリング、及びランダマイズ処理(書き込みデータのランダム化)は行われない。
【0124】
引き続きメモリカード1は、書き込み装置2から読み出しコマンド及びアドレス(物理アドレス)を受信する(ステップS43)。そしてメモリコントローラ10は、受信したアドレスに対応する領域、すなわち特定領域30からデータを読み出す(ステップS44)。前述の通り、L2P処理、ECC処理、及びランダマイズ処理(読み出されたランダム化データを元に戻す処理:復号処理)は行われない。
【0125】
以上の書き込み及び読み出しは、所定の回数(n回)、繰り返される(ステップS45)。なお、特定領域30への書き込みを繰り返す前に、メモリコントローラ10が特定領域30への消去コマンドとアドレスとを発行し、データを一旦消去する。また、書き込み装置2のCPU40が特定領域30への消去コマンドとアドレスとを発行し、データを一旦消去してもよい。以上の処理の結果、書き込み装置2において第1固有情報が生成される。
【0126】
その後、メモリカード1に第1固有情報が書き込まれる。すなわち、まず書き込み装置2の要求に応じて、第2認証処理部21が書き込み装置2との間の認証処理を実行する(ステップS46)。認証に失敗すれば、以降、書き込み装置2のメモリカード1へのアクセスは禁止される。
【0127】
認証に成功すると、メモリカード1は、ホスト機器2から書き込みコマンド、データ(第1固有情報)、及びアドレス(論理アドレス)を受信する(ステップS47)。そしてコントローラ10は、受信したデータを、受信したアドレスに対応する領域、すなわち保護領域31に書き込む(ステップS48)。この際には、L2P処理、ECC処理、ウェアレベリング、及びランダム化が実行される。
【0128】
以上の処理の後、種々のコンテンツがメモリカード1に記録される。
【0129】
読み出し装置3によりアクセスされた際の処理もほぼ同様である。すなわち、ステップS40〜S46の処理の後、読み出しコマンド及びアドレス(論理アドレス)を受信する。そして、第1固有情報を保護領域31から読み出して、これを読み出し装置3へ出力する。
【0130】
3.本実施形態に係る効果
本実施形態に係るメモリカードであると、固有情報を効果的に作成出来ると共に、固有情報が不正にコピーされることを抑制出来る。
【0131】
まず本実施形態に係るメモリカードであると、特定領域30に対するアクセス時には、L2P処理を行わず、また特定領域30に対してはウェアレベリングを行わない。つまり、特定領域30に対するメモリブロックBLKの割り当ては固定である。従って、第1固有情報を生成する際と第2固有情報を生成する際との間で、データの書き込み/読み出し対象となるメモリセルは、常時同じである。よって、本実施形態に係るメモリカードの検証方法、すなわち第1固有情報と第2固有情報との比較によりメモリカードを検証する方法、の信頼性を向上出来る。
【0132】
また、第1固有情報を作成する点にのみ着目すれば、多くのビットでエラーが生じることが望ましい。もしいずれのビットにおいてもエラーが生じなければ、電子署名する対象が無くなってしまうからである。この点、本実施形態に係るメモリカード1であると、特定領域30に対しては、ECC処理及び/またはランダマイズを実行しない。また、特定領域30内のメモリセルに対しては、ユーザ領域32や保護領域31内のメモリセルよりも大きいビット数のデータを書き込む。そのため、特定領域30におけるエラー発生率を高めることが出来、記録装置固有情報を効果的に作成出来る。
【0133】
なお、特定領域30におけるエラー発生率を高める方法として、その他の手法を用いても良い。例えば、特定領域30内のメモリセルに接続されるワード線WLに印加する電圧を、その他の領域31、32に比べて変化させる等の方法を用いても良い。具体的には、読み出し対象のワード線に印加する読み出し電圧を通常よりも高い値にシフトさせても良い。あるいは、読み出し電圧は変化させず、書き込み時のベリファイ電圧を通常よりも低い値にシフトさせても良い。
【0134】
また、特定領域30におけるエラー発生率を高める方法として、特定領域30内のメモリセルに対して、エラー発生率が高いと考えられるデータパターンを書き込んでも良い。本実施形態に係るメモリカードであると、特定領域30についてはランダマイズを実行しないため、任意のデータパターンを直接メモリセルに書き込むことが可能である。あるいは、特定領域30を構成するブロックにおいて、エラー発生率の高いワード線が存在する場合は、これら一部のワード線のみを使用することとしても良い。
【0135】
[第3実施形態]
次に、第3実施形態に係る読み出し装置及びその制御方法につき説明する。本実施形態は、上記第1、第2実施形態におけるコンテンツの暗号化及び復号化の例を示すものである。
【0136】
1.暗号化方法
まず、暗号化方法について、図13を用いて説明する。図13は、メモリカード1及び書き込み装置2のブロック図であり、特に暗号化に必要な情報及び処理の流れを示す図である。
【0137】
図示するように、書き込み装置2は、予め設定されたデバイス鍵Kdを有し、またメモリカード1は鍵管理情報MKB(Media Key Block)を有する。書き込み装置2は、メモリカード1からMKBを読み出し、自身の有するデバイス鍵Kdを用いてMKB処理を行い、これによりメディア鍵Kmを得る(ステップS50)
次に書き込み装置2は、メモリカード1からメディア識別子IDmを読み出し、このメディア識別子IDmとメディア鍵Kmを用いてハッシュ処理を行う(ステップS51)。このハッシュ処理の結果、書き込み装置2はメディア固有鍵Kmuを得る。以上の処理は、例えばCPU40において実行される。
【0138】
その後、書き込み装置2は、得られたメディア固有鍵Kmuに基づいて、メモリカード1との間で認証処理及び鍵交換を実行する。これは、例えば第2認証処理部43、21で実行される。この認証及び鍵交換により、書き込み装置2はメモリカード1との間でセッション鍵Ksを共有する。なお、本処理は、書き込み装置2内のメディア固有鍵Kmuと、メモリカード1内に保持されるメディア固有鍵Kmuとが一致するときに成功し、セッション鍵Ksが共有される。
【0139】
次に書き込み装置2は、メディア固有鍵Kmuを用いてユーザ鍵Kuを暗号化し(ステップS52)、セッション鍵Ksを用いた暗号通信により、メモリカード1の保護領域31に書き込む。図13では、メディア固有鍵Kmuで暗号化されたユーザ鍵KuをEnc(Kmu、Ku)と表記している。この暗号化は、図1のコンテンツ暗号部44におけるいずれかの暗号部(図示せず)によって行われる。
【0140】
更に書き込み装置2は、ユーザ鍵Kuを用いてコンテンツ鍵Kcを暗号化(ステップS53)し、メモリカード1のユーザ領域32に書き込む。図13では、ユーザ鍵Kuで暗号化されたコンテンツ鍵KcをEnc(Ku、Kc)と表記している。この暗号化は、例えば第1暗号部48で実行される。
【0141】
更に書き込み装置2は、コンテンツ鍵Kcを用いてコンテンツを暗号化(ステップS54)し、メモリカード1のユーザ領域32に書き込む。図13では、コンテンツ鍵Kcで暗号化されたコンテンツをEnc(Ku、content)と表記している。この暗号化は、例えば第2暗号部49で実行される。
【0142】
2.復号化方法
次に復号化方法について、図14を用いて説明する。図14は、メモリカード1及び読み出し装置3のブロック図であり、特に復号化に必要な情報及び処理の流れを示す図である。
【0143】
図示するように、読み出し装置3は、暗号化時と同じようにしてメモリカードとの間で認証処理及び鍵交換を実行する。ここまでの処理は、CPU50及び第2認証処理部53により実行される。
【0144】
次に読み出し装置3は、暗号化されたユーザ鍵Enc(Kmu、Ku)をメモリカード1の保護領域31から読み出し、自身の保持するメディア固有鍵Kmuを用いて復号化し(ステップS55)、ユーザ鍵Kuを得る。この復号化は、図2のコンテンツ復号部54におけるいずれかの復号部(図示せず)によって行われる。
【0145】
更に読み出し装置3は、暗号化されたコンテンツ鍵Enc(Ku、Kc)をメモリカード1のユーザ領域32から読み出し、ユーザ鍵Kuを用いて復号化し(ステップS56)、コンテンツ鍵Kcを得る。この復号化は、例えば第1復号部59で実行される。
【0146】
そして読み出し装置3は、暗号化されたコンテンツEnc(Kc、Content)をメモリカード1のユーザ領域32から読み出し、コンテンツ鍵Kcを用いて復号化し(ステップS57)、コンテンツを得る。この復号化は、例えば第1復号部60で実行される。
【0147】
3.本実施形態に係る効果
コンテンツの暗号化及び復号化には、上記のような方法を用いることが出来る。しかしながら、本実施形態に限らず、種々の方法を採用しても良い。
【0148】
また、メモリカード1内のメディア識別子IDmを、第1固有情報に基づいて作成しても良い。すなわち、第1の実施形態で説明した図3の処理の後、生成した第1固有情報に基づいて、既にメモリカード1の保持するメディアIDmを加工する、または第1固有情報に基づいて新たに作成し直すようにしても良い。または、第1固有情報をメディア識別子IDmそのものとしても良い。これにより、コンテンツの保護を更に強化することが出来る。
【0149】
また、書き込み装置で書き込み装置毎に割り振られる値や時刻、連番を連結させた値等をデジタル署名内に記録させ、その値をメディア識別子として利用しても良い。書き込み装置側でメディア識別子が他のメディアの値と偶然一致するような状況を避けるなどの管理が可能となる。
【0150】
[第4実施形態]
次に、第4実施形態に係る記録装置につき説明する。本実施形態は、上記第1乃至第3実施形態において、記録装置としてSSD(Solid State Drive)に適用したものである。
【0151】
図15は、SSD100の構成を示すブロック図である。図示するようにSSD100は、データ保存用の複数のNAND型フラッシュメモリ(NANDメモリ)10、データ転送用又は作業領域用のDRAM101、これらを制御するドライブ制御回路102、及び電源回路103を備えている。ドライブ制御回路102は、SSD100の外部に設けられる状態表示用LEDを制御するための制御信号を出力する。なお、DRAM101に代えて、FeRAM(ferroelectric random access memory)を用いてもよい。
【0152】
SSD100は、ATAインターフェース(ATA I/F)を介して、パーソナルコンピュータ等のホスト装置との間でデータを送受信する。また、SSD100は、RS232Cインターフェース(RS232C I/F)を介して、デバッグ用機器との間でデータを送受信する。
【0153】
電源回路103は、外部電源を受け、この外部電源を用いて複数の内部電源を生成する。これらの内部電源は、SSD100内の各部に供給される。また、電源回路103は、外部電源の立ち上がりを検知して、パワーオンリセット信号を生成する。パワーオンリセット信号は、ドライブ制御回路102に送られる。
【0154】
図16は、ドライブ制御回路102の構成を示すブロック図である。ドライブ制御回路102は、データアクセス用バス104、第1の回路制御用バス105、及び第2の回路制御用バス106を備えている。
【0155】
第1の回路制御用バス105には、ドライブ制御回路102全体を制御するプロセッサ107が接続されている。また、第1の回路制御用バス105には、各管理プログラム(FW:firmware)のブート用プログラムが格納されたブートROM108がROMコントローラ109を介して接続されている。また、第1の回路制御用バス105には、電源回路103からのパワーオンリセット信号を受けて、リセット信号及びクロック信号を各部に供給するクロックコントローラ110が接続されている。
【0156】
第2の回路制御用バス106は、第1の回路制御用バス105に接続されている。第2の回路制御用バス106には、状態表示用LEDにステータス表示用信号を供給するパラレルIO(PIO)回路111、RS232Cインターフェースを制御するシリアルIO(SIO)回路112が接続されている。
【0157】
ATAインターフェースコントローラ(ATAコントローラ)113、第1のECC(Error Check and Correct)回路114、NANDコントローラ115、及びDRAMコントローラ119は、データアクセス用バス104と第1の回路制御用バス105との両方に接続されている。ATAコントローラ113は、ATAインターフェースを介してホスト装置との間でデータを送受信する。データアクセス用バス104には、データ作業領域として使用されるSRAM120がSRAMコントローラ121を介して接続されている。
【0158】
NANDコントローラ115は、4つのNANDメモリ10とのインターフェース処理を行うNANDインターフェース回路(NAND I/F)118、第2のECC回路117、及びNANDメモリ−DRAM間のアクセス制御を行うDMA転送制御用DMAコントローラ116を備えている。
【0159】
図17は、プロセッサ107の構成を示すブロック図である。プロセッサ107は、データ管理部122、ATAコマンド処理部123、セキュリティ管理部124、ブートローダ125、初期化管理部126、デバッグサポート部127を備えている。
【0160】
データ管理部122は、NANDコントローラ115、第1のECC回路114を介して、NANDメモリ−DRAM間のデータ転送、NANDチップに関する各種機能を制御する。
【0161】
ATAコマンド処理部123は、ATAコントローラ113、及びDRAMコントローラ119を介して、データ管理部122と協働してデータ転送処理を行う。セキュリティ管理部124は、データ管理部122及びATAコマンド処理部123と協働して各種のセキュリティ情報を管理する。セキュリティ管理部124は、例えば、第2実施形態で説明した第1認証処理部20、第2認証処理部21が司る処理を実行する。
【0162】
ブートローダ125は、パワーオン時、各管理プログラム(FW)をNANDメモリ10からSRAM120にロードする。初期化管理部126は、ドライブ制御回路102内の各コントローラ/回路の初期化を行う。デバッグサポート部127は、外部からRS232Cインターフェースを介して供給されたデバッグ用データを処理する。
【0163】
図18は、SSD100を搭載したポータブルコンピュータ200の一例を示す斜視図である。ポータブルコンピュータ200は、本体201、及び表示ユニット202を備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備えている。
【0164】
本体201は、筐体205と、キーボード206と、ポインティングデバイスであるタッチパッド207とを備えている。筐体205内部には、メイン回路基板、ODD(optical disk device)ユニット、カードスロット、及びSSD100等が収容されている。
【0165】
カードスロットは、筐体205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部208が設けられている。ユーザは、この開口部208を通じて筐体205の外部から追加デバイスをカードスロットに挿抜することが可能である。
【0166】
SSD100は、従来のHDDの置き換えとして、ポータブルコンピュータ200内部に実装された状態として使用してもよいし、ポータブルコンピュータ200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。あるいは、USBタイプの外付けデバイスとして使用しても良い。また、第1実施形態で説明した書き込み装置2及び読み出し装置3は、ポータブルコンピュータ200に含まれる構成であっても良い。ポータブルコンピュータ200は、インターネット等で配信された映画等のコンテンツの録画再生機器となり得る。
【0167】
図19は、SSD100を搭載したポータブルコンピュータ200のシステム構成例を示す図である。ポータブルコンピュータ200は、CPU301、ノースブリッジ302、メインメモリ303、ビデオコントローラ304、オーディオコントローラ305、サウスブリッジ306、BIOS−ROM307、SSD100、ODDユニット308、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)309、及びネットワークコントローラ310等を備えている。
【0168】
CPU301は、ポータブルコンピュータ200の動作を制御するために設けられたプロセッサであり、SSD100から主メモリ303にロードされるオペレーティングシステム(OS)を実行する。更に、ODDユニット308が、装填された光ディスクに対して読み出し処理及び書き込み処理の少なくとも1つの処理の実行を可能にした場合に、CPU301は、それらの処理の実行をする。
【0169】
また、CPU301は、BIOS−ROM307に格納されたシステムBIOS(Basic Input Output System)も実行する。尚、システムBIOSは、ポータブルコンピュータ200内のハードウェア制御のためのプログラムである。
【0170】
ノースブリッジ302は、CPU301のローカルバスとサウスブリッジ306との間を接続するブリッジデバイスである。ノースブリッジ302には、メインメモリ303をアクセス制御するメモリコントローラも内蔵されている。
【0171】
また、ノースブリッジ302は、AGP(Accelerated Graphics Port)バス等を介してビデオコントローラ304との通信、及びオーディオコントローラ305との通信を実行する機能も有している。
【0172】
メインメモリ303は、プログラムやデータを一時的に記憶し、CPU301のワークエリアとして機能する。メインメモリ303は、例えばDRAMから構成される。
【0173】
ビデオコントローラ304は、ポータブルコンピュータ200のディスプレイモニタとして使用される表示ユニット(LCD)202を制御するビデオ再生コントローラである。
【0174】
オーディオコントローラ305は、ポータブルコンピュータ200のスピーカ311を制御するオーディオ再生コントローラである。
【0175】
サウスブリッジ306は、LPC(Low Pin Count)バス上の各デバイス、及びPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ306は、各種ソフトウェア及びデータを格納する記憶装置であるSSD100を、ATAインターフェースを介して制御する。
【0176】
ポータブルコンピュータ200は、セクタ単位でSSD100へのアクセスを行う。ATAインターフェースを介して、書き込みコマンド、読み出しコマンド、フラッシュコマンド等がSSD100に入力される。
【0177】
また、サウスブリッジ306は、BIOS−ROM307、及びODDユニット308をアクセス制御するための機能も有している。
【0178】
EC/KBC309は、電力管理のためのエンベデッドコントローラと、キーボード(KB)206及びタッチパッド207を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。
【0179】
このEC/KBC309は、ユーザによるパワーボタン312の操作に応じてポータブルコンピュータ200の電源をON/OFFする機能を有している。ネットワークコントローラ310は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
【0180】
以上の構成において、図15に示すNAND型フラッシュメモリ10の少なくともいずれかに、特定領域30(及び保護領域31)が設けられる。そして書き込み装置2及び読み出し装置3は、SSDの特定領域30(及び保護領域31)にアクセスして、SSDが正規の記録メディアであるか否かを判定する。
【0181】
また、上記第1乃至第3実施形態はSSDだけでなく、例えばハードディスクやDVD等、その他の記録メディアにも適用可能である。
【0182】
[変形例など]
以上のように、第1乃至第4実施形態に係る記録装置は、データを記録可能なメモリ11と、メモリ11を第1領域30と第2領域31に分けてデータの記録を制御するコントローラ10とを具備する。そしてコントローラ10は、第1領域30に対しては、外部から与えられたデータにつき誤り符号訂正及び論理アドレスから物理アドレスへのアドレス変換を行うことなく、該データを書き込む。また第2領域31に対しては、前記外部から与えられたデータにつき前記誤り符号訂正及び前記アドレス変換を行った後、該データを書き込む。
【0183】
また、第1乃至第4実施形態に係る書き込み装置2は、データを提供する提供部47と、処理部46とを備える。処理部46は、提供部47から提供されたデータを、記録装置1の第1領域30に書き込み、書き込んだデータを読み出し、書き込んだデータと読み出したデータとを比較して、両者が異なるデータ位置に基づく情報(第1固有情報)を、記録装置1の第2領域31に書き込む。
【0184】
また、第1乃至第4実施形態に係る読み出し装置3は、データを提供する提供部57と、処理部56と、比較部58とを備える。処理部56は、提供部57から提供されたデータを記録装置1の第1領域30に書き込み、書き込んだデータを読み出し、書き込んだデータと読み出したデータとを比較して、両者が異なるデータ位置に基づく第1情報(第2固有情報)を生成する。比較部は、記録装置1の第2領域31から第2情報(第1固有情報)を読み出し、前記処理部56で生成された第1情報(第2固有情報)と比較し、該比較結果に応じて記録装置1が正規の記録装置であるか否かを判断する。
【0185】
以上の構成により、コンテンツデータの不正利用を抑制出来る。但し、実施形態は上記説明したものに限らず、種々の変形が可能である。
【0186】
記録装置1に関しては、前述の通り、SDメモリカードに限らず、その他のデータ記憶可能な記録媒体であって良く、半導体メモリはNANDフラッシュメモリに限らず、NOR型フラッシュメモリや、その他の半導体メモリを有するものであっても良い。またカードに限らず、磁気記録媒体や光学的な記録媒体など、広範に適用可能である。
【0187】
また、第1固有情報及び第2固有情報を生成する際には、在る程度の数のエラーが発生することが望ましい。従って、特定領域30に対する書き込みまたは読み出し方法は、保護領域31及びユーザ領域32に比べて、よりエラーの発生し易い方法を用いることが望ましい。この例として、上記実施形態ではウェアレベリング、ECC処理、またはランダマイズを行わないことを説明したが、別の方法を適用しても良い。例えば、フラッシュメモリであればメモリセルのゲート(ワード線)に印加する電圧を、保護領域31及びユーザ領域32に比べて特定領域30において大きくするようにしても良い。これにより、特定領域30におけるメモリセルへのストレスを大きく出来る。また、“1”または“0”が連続するようなデータを書き込むことによってもエラー発生率を高めることが出来る。従って、全ビット“1”、または全ビット“0”のデータを用いても良いし、あるいは一定数以上、“1”が連続する、または“0”が連続するようなデータを用いても良い。
【0188】
また上記実施形態では、書き込み装置2の例としてKiosk端末、コンテンツ提供事業者、またはコンテンツ再生機器である場合を例に説明したが、その他の機器であっても良い。例えばメモリカード1の製造業者側の機器であっても良い。この場合、製造業者が第1固有情報をメモリカード1に書き込んで、これを販売する。または、コンテンツ提供事業者によって作られた団体側の機器であっても良く、この場合、メモリカード1を購入したユーザには、インターネット等を介して第1固有情報が書き込まれても良い。書き込み装置2がコンテンツを提供せずに第1固有情報のみを提供する機器である場合には、コンテンツ暗号部44は不要である。
【0189】
また読み出し装置3の例としては、コンテンツ再生機器を例に挙げて説明した。しかし、その他の機器であっても良い。コンテンツ再生機器でない場合には、復号部54は不要である。
【0190】
更に、第1固有情報に付与されるデジタル署名には、第1固有情報生成時の時刻、日付、または周囲温度の少なくともいずれかを含めても良い。例えば時刻または日付が含まれる場合であって、且つデジタル署名に含まれる時刻または日付から一定以上、時間が経過している際には、署名検証部55は、第1固有情報と第2固有情報との比較結果にかかわらず、不正コピーをより確実に排除したい時期を過ぎたものとしてコンテンツの再生を許可しても良い。
【0191】
また、デジタル署名に温度情報を含める場合には、第1固有情報が複数の温度で生成されても良い。例えば高温で作成された第1固有情報と、低温で作成された第1固有情報の2つの第1固有情報が特定領域30に記録されても良い。そして読み出し装置3での検証時には、現在温度に近いいずれか一方の第1固有情報を用いるようにしても良い。場合によっては、読み出し装置3での検証時には、まずデジタル署名内の温度を確認し、周囲をその温度に設定した状態で図4の処理を行っても良い。デジタル署名に温度情報を含める場合には、書き込み装置2及び読み出し装置3に温度センサを設ける必要がある。しかし、書き込み装置2及び読み出し装置3自身が温度センサを有していなくても、別の機器から温度情報を受け取るようにしても良い。例えば第4実施形態で説明したSSDは、内部に温度センサを有している。従って、図3及び図4の処理時において、SSDで計測された温度が書き込み装置2及び読み出し装置3に出力されるようにしても良い。
【0192】
更にデジタル署名には、特定領域30へのデータの書き込みに使用した電圧、例えばワード線電圧の情報を含めても良い。この場合、読み出し装置3においては、まずデジタル署名からワード線電圧を確認し、このワード線電圧を用いて特定領域30への書き込みを実行しても良い。
【0193】
また第3実施形態では、第1固有情報をメディア識別子IDmとしても使う場合を説明した。しかし、他にも個々のメモリカード1に固有の情報として、種々の用途に使用することが出来る。更に第1固有情報及び第2固有情報に含まれる内容は、エラー位置そのものである必要はなく、エラー位置に基づいたメモリカード1固有の情報であれば良い。
【0194】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0195】
1…メモリカード、2…書き込み装置、3…読み出し装置、4…ホスト機器、5…バスインターフェース、10…メモリコントローラ、11…NAND型フラッシュメモリ、12…データバス、20、21、42、43、52、53…認証処理部、30…特定領域、31…保護領域、32…ユーザ領域、40、50…CPU、41、51…生成部、44、48、49…暗号部、45…署名生成部、46、56…エラー位置情報処理部、47、57…書き込みデータ提供部、54、59、60…復号部、55…署名検証部、58…比較部、70…SDカードインターフェース、71…MPU、72…CPRM回路、73…ROM、74…RAM、75、83…NANDインターフェース、80…メモリセルアレイ、81…ロウデコーダ、82…ページバッファ

【特許請求の範囲】
【請求項1】
データを記録可能なメモリと、
前記メモリを第1領域と第2領域に分けて前記データの記録を制御するコントローラと
を具備し、前記コントローラは、前記第1領域に対しては、外部から与えられたデータにつき誤り符号訂正及び論理アドレスから物理アドレスへのアドレス変換を行うことなく、該データを書き込み、
前記第2領域に対しては、前記外部から与えられたデータにつき前記誤り符号訂正及び前記アドレス変換を行った後、該データを書き込む
ことを特徴とする記録装置。
【請求項2】
データを記録可能なメモリと、
前記メモリを第1領域と第2領域に分けて前記データの記録を制御するコントローラと
を具備し、前記コントローラは、コンテンツデータ及び前記第1領域における書き込みまたは読み出しエラー情報を前記第2領域に書き込み、
前記エラー情報は、前記メモリへのアクセスの許可または不許可を判断するために使用される
ことを特徴とする記録装置。
【請求項3】
前記コントローラは、前記第1領域に対してはウェアレベリングを行わず、前記第2領域に対しては前記ウェアレベリングを行う、
ことを特徴とする請求項1または2記載の記録装置。
【請求項4】
前記メモリは、データを保持可能な複数のメモリセルを備え、
前記コントローラは、前記第1領域内の前記メモリセルの各々に対してはMビット(Mは2以上の自然数)のデータを書き込み、前記第2領域内の前記メモリセルに対してNビット(Nは1以上の自然数であり、N<M)のデータを書き込む
ことを特徴とする請求項1または2記載の記録装置。
【請求項5】
前記メモリは、データを保持可能な複数のメモリセルを備え、
前記コントローラは、前記第1領域内の前記メモリセルに対して3値以上のデータを保持させ、前記第2領域内の前記メモリセルの各々に対しては2値データを保持させる
ことを特徴とする請求項1または2記載の記録装置。
【請求項6】
前記コントローラは、前記第1領域に対してはデータのランダマイズを行わず、前記第2領域に対しては前記ランダマイズを行う、
ことを特徴とする請求項1または2記載の記録装置。
【請求項7】
前記コントローラは、第1動作モード及び第2動作モードを備え、
前記第1動作モードにおいては、外部からの前記メモリの物理アドレスの入力を受け付け、該物理アドレスによって直接指定される領域にアクセスし、
前記第2動作モードにおいては、外部からの前記メモリの論理アドレスの入力を受け付け、該論理アドレスを物理アドレスに変換することによって指定される領域にアクセスする
ことを特徴とする請求項1記載の記録装置。
【請求項8】
データを提供する提供部と、
前記提供部から提供された前記データを、記録装置の第1領域に書き込み、書き込んだ前記データを読み出し、前記書き込んだデータと前記読み出したデータとを比較して、両者が異なるデータ位置に基づく情報を、前記記録装置の第2領域に書き込む処理部と
ことを特徴とする書き込み装置。
【請求項9】
前記処理部は、前記書き込み、前記読み出し、及び前記比較を複数回行い、両者の間で所定の回数以上データが異なる位置に基づいて前記情報を生成する
ことを特徴とする請求項8記載の書き込み装置。
【請求項10】
前記処理部は、前記第1領域に対しては物理アドレスでアクセスし、前記第2領域に対しては論理アドレスでアクセスする
ことを特徴とする請求項8記載の書き込み装置。
【請求項11】
前記処理部で生成された前記情報にデジタル署名を作成して付与する署名作成部を更に備え、
前記処理部は、前記デジタル署名の付与された前記情報を前記記録装置に書き込む
ことを特徴とする請求項8記載の書き込み装置。
【請求項12】
前記デジタル署名には、前記署名の付与時における日付、時刻、周囲温度の少なくともいずれかが含まれる
ことを特徴とする請求項11記載の書き込み装置。
【請求項13】
データを提供する提供部と、
前記提供部から提供された前記データを記録装置の第1領域に書き込み、書き込んだ前記データを読み出し、前記書き込んだデータと前記読み出したデータとを比較して、両者が異なるデータ位置に基づく第1情報を生成する処理部と、
前記記録装置の第2領域から第2情報を読み出し、前記処理部で生成された前記第1情報と比較し、該比較結果に応じて前記記録装置が正規の記録装置であるか否かを判断する比較部と
を具備する読み出し装置。
【請求項14】
前記処理部は、前記書き込み、前記読み出し、及び前記比較を複数回行い、両者の間で所定の回数以上データが異なる位置に基づいて前記第1情報を生成する
ことを特徴とする請求項13記載の読み出し装置。
【請求項15】
前記処理部は、前記第1領域に対しては物理アドレスでアクセスし、前記第2領域に対しては論理アドレスでアクセスする
ことを特徴とする請求項13記載の読み出し装置。
【請求項16】
前記第2情報に付与されたデジタル署名が正しいか否かを検証し、該検証結果に応じて前記記録装置が正規の記録装置であるか否かを判断する署名検証部を更に備える
ことを特徴とする請求項13記載の読み出し装置。
【請求項17】
前記第2情報は、前記第1領域におけるデータの書き込みまたは読み出しに失敗したデータ位置に基づく情報であり、且つ前記第1情報よりも前に生成された情報である
ことを特徴とする請求項13記載の読み出し装置。
【請求項18】
記録装置の第1領域にデータを書き込むことと、
前記書き込んだデータを読み出すことと、
前記書き込んだデータと前記読み出したデータとを比較して、両者が相違するデータ位置を検出することと、
前記検出されたデータ位置に基づいて第1情報を生成することと、
前記記録装置の第2領域に前記第1情報を書き込むことと
を具備することを特徴とする記録装置の制御方法。
【請求項19】
記録装置の第1領域にデータを書き込むことと、
前記書き込んだデータを読み出すことと、
前記書き込んだデータと前記読み出したデータとを比較して、両者が相違するデータ位置を検出することと、
前記検出されたデータ位置に基づいて第1情報を生成することと、
前記記録装置の第2領域から第2情報を読み出すことと、
前記第1情報と前記第2情報とを比較し、この比較結果に基づいて、前記記録装置が正規の記録装置であるか否かを判断することと
具備することを特徴とする記録装置の制御方法。
【請求項20】
前記データの書き込み、読み出し、及び前記データ位置の検出を複数回繰り返すこと
を更に備え、前記第1情報は、複数回にわたる前記データ位置の検出結果に基づいて生成される
ことを特徴とする請求項18または19記載の記録装置の制御方法。
【請求項21】
前記データは、毎回、複数の同じメモリセルに対して書き込まれる
ことを特徴とする請求項20記載の記録装置の制御方法。

【図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


【公開番号】特開2012−14416(P2012−14416A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−150042(P2010−150042)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】