(57)【特許請求の範囲】
【請求項１】
ディジタル放送システムにおいてデータ放送に対するアクセスを制限する方法であって、
データに複数のアクセス権のセットを割り当て、前記アクセス権の各セットを少なくとも１つのパーティに割り当てるステップと、
アクセス権のセット、各パーティの識別子及びツリー構造情報を前記データのヘッダに含めるステップと、
少なくともメモリを有する少なくとも１つのレシーバ／デコーダに前記データを送信するステップと、
送信されたデータを前記レシーバ／デコーダのメモリ内にダウンロードし、前記データの複数のブロックを前記ツリー構造情報にしたがって格納するステップと、
データへのアクセスを要求したパーティの識別子と前記メモリ内に格納された識別子とを比較するステップと、
前記レシーバ／デコーダのメモリにおいて割り当てられたアクセス権のセットを前記パーティに与えるステップと
を備え、前記ツリー構造情報は、ブロックの識別子及び該ブロックがデータブロック又はディレクトリブロックであることを示すランク識別子を少なくとも含み、該ブロックがディレクトリブロックであった場合、前記ツリー構造情報は、該ブロックのディレクトリに直接先行するディレクトリの識別子を含み、該ブロックのディレクトリに続くディレクトリの識別子を含まない、ことを特徴とする方法。
【請求項２】
レシーバ／デコーダのメモリ内に格納されたデータへのアクセスを制限するための装置であって、
前記データは、割り当てられた複数のアクセス権のセットを有し、前記アクセス権の各セットは、少なくとも１つのパーティに割り当てられ、前記データのヘッダは、アクセス権のセット、各パーティの識別子及びツリー構造情報を含み、前記データの複数のブロックは前記ツリー構造情報にしたがって前記レシーバ／デコーダ内に格納され、
前記装置が、
データへのアクセスを要求したパーティの識別子と前記メモリ内に格納された識別子とを比較する手段と、
前記レシーバ／デコーダのメモリにおいて割り当てられたアクセス権のセットを前記パーティに与える手段と
を含み、前記ツリー構造情報は、ブロックの識別子及び該ブロックがデータブロック又はディレクトリブロックであることを示すランク識別子を少なくとも含み、該ブロックがディレクトリブロックであった場合、前記ツリー構造情報は、該ブロックのディレクトリに直接先行するディレクトリの識別子を含み、該ブロックのディレクトリに続くディレクトリの識別子を含まない、装置。
【請求項３】
データを格納するためのメモリと、前記メモリに格納されたデータへのアクセスを制限するための装置とを備えたレシーバ／デコーダであって、
複数のアクセス権のセットがデータに割り当てられると共に、識別子がパーティに割り当てられ、
前記データは、割り当てられた複数のアクセス権のセットを有し、前記アクセス権の各セットは、少なくとも１つのパーティに割り当てられ、前記データのヘッダは、アクセス権のセット、各パーティの識別子及びツリー構造情報を含み、前記データの複数のブロックは前記ツリー構造情報にしたがって前記レシーバ／デコーダ内に格納され、
前記装置が、
データへのアクセスを要求したパーティの識別子と前記メモリ内に格納された識別子とを比較する手段と、
前記レシーバ／デコーダのメモリにおいて割り当てられたアクセス権のセットを前記パーティに与える手段と
を含み、前記ツリー構造情報は、ブロックの識別子及び該ブロックがデータブロック又はディレクトリブロックであることを示すランク識別子を少なくとも含み、該ブロックがディレクトリブロックであった場合、前記ツリー構造情報は、該ブロックのディレクトリに直接先行するディレクトリの識別子を含み、該ブロックのディレクトリに続くディレクトリの識別子を含まない、レシーバ／デコーダ。
【請求項４】
データに複数のアクセス権のセットを割り当て、前記アクセス権の各セットを少なくとも１つのパーティに割り当てる手段と、
アクセス権のセット、各パーティの識別子及びツリー構造情報を前記データのヘッダに含める手段と、
前記データを含むビットストリームを送信する手段と
を含み、前記データの複数のブロックは、前記ツリー構造情報にしたがって、前記ビットストリームを受信したレシーバ／デコーダ内に格納され、前記ツリー構造情報は、ブロックの識別子及び該ブロックがデータブロック又はディレクトリブロックであることを示すランク識別子を少なくとも含み、該ブロックがディレクトリブロックであった場合、前記ツリー構造情報は、該ブロックのディレクトリに直接先行するディレクトリの識別子を含み、該ブロックのディレクトリに続くディレクトリの識別子を含まない、送信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの管理に関し、さらに詳しく言えば、本発明は、例えば、レシーバ／デコーダにおけるデータ管理の以下の態様に関する。
・メモリのファイルおよびディレクトリとして格納されたデータツリーを記録
・新しいデータをメモリに格納できるように、メモリのページ間でデータブロックを転送
・レシーバ／デコーダにおけるデータアクセスを制限
【０００２】
【従来の技術】
本願明細書において使用する「レシーバ／デコーダ」という用語は、何らかの他の手段により放送または伝送可能なテレビジョンおよび／またはラジオ信号などの符号化信号または非符号化信号のいずれかを受信するためのレシーバを意味するものであってよい。また、この用語は、受信信号を復号化するためのデコーダを意味するものであってよい。このようなレシーバ／デコーダの実施例は、物理的に別個のレシーバと組み合わせて機能するレシーバや、ウェッブブラウザ、ビデオレコーダまたはテレビジョンなどの付加的機能を含むデコーダのような「セットトップボックス」などにおいて、受信信号を復号化するためのレシーバと一体型のデコーダを含むものであってよい。
【０００３】
放送ディジタルテレビジョンシステムにおいて、レシーバ／デコーダに受信信号が伝送された後、テレビジョンセットに伝送される。本願明細書において使用する場合、「ディジタルテレビジョンシステム」という用語は、例えば、任意の衛星、地上放送、ケーブルおよび他のシステムなどを含む。レシーバ／デコーダは、圧縮したＭＰＥＧ形式の信号をテレビジョンセット用のテレビジョン信号に復号化するものであってよい。この制御は、レシーバ／デコーダのインタフェースを介して、リモートコントローラハンドセットにより行われるものであってよい。レシーバ／デコーダは、入力ビットストリームを処理するために使用され、レシーバ／デコーダにさまざまな制御および他の機能を実行させるさまざまなアプリケーションモジュールを含むものであってよい。
【０００４】
ＭＰＥＧという用語は、国際標準化機構の作業グループである「Ｍｏｒｔｉｏｎ  ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ」により開発されたデータ伝送規格を指し、特に、ディジタルテレビジョンの応用を目的に開発され、ドキュメントＩＳＯ  １３８１８−１、ＩＳＯ  １３８１８−２、ＩＳＯ  １３８１８−３、ＩＳＯ  １３８１８−４に規定されたＭＰＥＧ−２規格を指すが、これに限定されるものではない。本願明細書の文脈において、この用語は、ディジタルデータ伝送の分野に応用可能なＭＰＥＧ形式のあらゆる変形、修正または展開を含むものである。
【０００５】
上述したようなレシーバ／デコーダには、ユーザーによる使用が許可されているサービスを確認するために、ユーザーが許可カードを通すためのカードリーダ、ハンドヘルドタイプのテレビジョンレシーバコントロールワンド、テレビジョンディスプレイユニットおよびユーザーがホームバンキング機能を実行できるようにバンクカードと共に使用する第２のカードリーダなど、さまざまな装置が結合されてよい。また、インターネットへのアクセス用とホームバンキング商取引を実行するためのモデムなど、レシーバ／デコーダにはさまざまなポートが結合されてもよい。
【０００６】
図１を参照すると、レシーバ／デコーダは、中央演算処理装置５０およびそれに関連するメモリボリューム５４、５６および５８を具備する。メモリボリュームは、中央演算処理装置５０に直接結合されるか、または図１に示すように、バス５２にわたって中央演算処理装置に結合されてよい。
【０００７】
さまざまなタイプのメモリボリュームが利用可能である。異なる種類のメモリボリュームを大別する一つの方法は、揮発性メモリと不揮発性メモリに分けることである。揮発性メモリは、メモリに電力が供給される間のみ内容を保持するが、電源を切るとすぐにその内容が失われるのに対して、不揮発性メモリは、電源を切っても内容を無期限に保持する。他には、書込み可能なメモリか読取り専用メモリかで大別される。
【０００８】
揮発性メモリは、一般にＲＡＭとして知られているのに対して、不揮発性メモリにはさまざまな種類のものがある。ＲＡＭは、通常、書込み可能なものであるのに対して、読取り専用メモリは、ＲＯＭとして知られている。後者の区別は、必ずしも厳密なものである必要はない。任意のメモリは、ある意味で少なくとも１回書込み可能なものでなければならないことは言うまでもないが、いくつかの種類のＲＯＭのようなメモリは、少し困難を伴うが、それらの内容を変えることができる。したがって、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブル読取り専用メモリ）やフラッシュメモリなどのタイプのメモリがある。
【０００９】
メモリの種類が異なれば、その特性も異なるため（例えば、読取り時間やコストの差）、図１に示すように、１つのレシーバ／デコーダにおいていくつかの異なる種類のものを組み合わせて用いることが望ましい場合が多い。
【００１０】
図２は、メモリボリュームのデータ構造を示す。データは、ディレクトリＤおよびファイルＦからなるツリー状の配列に分類される。以下にさらに詳細に記載するように、各ディレクトリには、ツリー状のデータの内容を追跡するために、ファイルおよび各ディレクトリと関連するディレクトリのすべてに、アドレスまたはアドレスへのポインタのリストが含まれる。
【００１１】
ツリー状のデータ構造は、「子（ｓｏｎ）」および「親（ｆａｔｈｅｒ）」からなる家計図ツリーのさまざまな世代と照らし合わせて考えることができる。各「親」、すなわち各ディレクトリは、「子」、すなわちファイルおよび／またはそのディレクトリと関連するディレクトリのそれぞれのアドレスを含む。
【００１２】
例えば、図２を参照すると、ディレクトリＤ６は、子であるファイルＦ６のアドレスを含む。ディレクトリＤ５は、子であるディレクトリＤ６およびファイルＦ５のアドレスを含む。ディレクトリＤ２は、子であるＤ３、Ｄ４およびＤ７のそれぞれのアドレスを含む。
【００１３】
ツリー配列のディレクトリおよびファイルは、例えば、ファイルがディレクトリ間で移動し、そのアドレスが変更されると、中央演算処理装置５０により絶えず再構築される。ファイルＦ５などのファイルが、ディレクトリＤ５からディレクトリＤ６に移動して、データツリーが変更されると、ファイルがこれまで直接ぶら下がっていたディレクトリ、すなわちＤ５と、ファイルがこれからぶら下がるディレクトリ、すなわちＤ６とが修正されて、ファイルの位置を訂正しなければならない。
【００１４】
このように、ファイルの移動がある場合のデータツリーは、２ステップのプロセスで変更される。図３（ａ）は、メモリボリュームにおけるデータツリーを変更するための第１のプロセスを示す。ステップ１において、ファイルＦ５のアドレスがディレクトリＤ６に書き込まれ、ステップ２において、ファイルＦ５のアドレスが、ファイルＦ５のアドレスがディレクトリＤ５から削除される。図３（ｂ）は、メモリボリュームにおけるデータツリーを変更するための第２のプロセスを示す。ステップ１において、ファイルＦ５のアドレスがディレクトリＤ５から除去され、ステップ２において、ファイルＦ５のアドレスがディレクトリＤ６に書き込まれる。
【００１５】
これらのプロセスのいずれの場合においても、ステップ１とステップ２の間でオペレーティングシステムがクラッシュすれば、データツリーは正確に記録されない。第１のプロセスにおいて、図３（ａ）（ｉｉ）に示されているツリーでは、ファイルＦ５のアドレスがディレクトリＤ５およびＤ６の両方に格納されている。言い換えれば、ファイルＦ５には２人の親がいることになる。第２のプロセスにおいて、図３（ｂ）（ｉｉ）に示されているツリーでは、ディレクトリＤ５およびディレクトリＤ６のいずれもファイルＦ５のアドレスを格納していない。言い換えれば、ファイルＦ５は、「孤児」の状態である。
【００１６】
【発明の開示】
本発明によれば、一態様において、ファイルの移動に伴うツリー更新時間を短縮し、信頼性を向上させるメモリボリュームにおけるデータツリーを追跡するための改良されたシステムが提供される。
【００１７】
第１の態様において、本発明によれば、メモリにおいてファイルおよびディレクトリとして格納されるデータツリーを記録するための方法であって、各ファイルおよびディレクトリと関連して、データツリーにおいてファイルまたはディレクトリに直接先行するディレクトリがあれば、その識別子を格納するステップを備える方法が提供される。
【００１８】
これにより、各ファイルまたはディレクトリが、従来のように、ツリーにあるディレクトリを直接後続するディレクトリおよびファイルの識別子を含むのではなく、直接先行するディレクトリの識別子を含むことで、データツリーの記録を高速化できる。したがって、データツリーに変更があった場合、修正すべきディレクトリ数またはファイル数が、従来のシステムに比べて大幅に減少できる。すなわち、子のアドレス位置が変更される場合、「子」に格納された「親」の識別子を変更するだけでよく、１ステップのプロセスですむ。これは、フラッシュメモリなど、書込みデータが特に時間がかかる場合のメモリボリュームにおいて特に有益である。
【００１９】
ファイルまたはディレクトリが移動される場合のツリーの修正が１ステッププロセスで行われるため、上述したような２ステッププロセスに関連する問題が回避される。
識別子は、ディレクトリに割り当てられる固有コードからなることが好ましい。したがって、ファイルまたはディレクトリの移動があった場合、新しい「親」に割り当てられたコードを読み取り、このコードをファイルまたはディレクトリに格納することにより、ツリーが即座に変更される。
識別子は、ファイルまたはディレクトリのヘッダに格納されてよい。これにより、データツリーにおけるファイルまたはディレクトリの位置が得やすくなる。
【００２０】
フラッシュメモリボリュームに、データの少なくとも一部が格納されてよい。このように、データは、２以上のメモリボリューム、例えば、フラッシュメモリボリュームとＲＯＭメモリボリュームにわたって「散在」させてよい。また、データは、上述したように、フラッシュメモリボリュームのみに格納されてよい。フラッシュメモリボリュームにデータの少なくとも一部が格納されると、データの該当部分の仮想ツリーがＲＡＭメモリボリュームに記録されることが好ましく、フラッシュメモリの専用ブロックにファイルのヘッダが格納されることが好ましい。メモリボリュームは、レシーバ／デコーダに設けられてよい。
【００２１】
ファイルまたはディレクトリが移動して別のディレクトリを直接先行する場合、格納された識別子が変更されることが好ましい。これにより、ファイルの移動があった場合データツリーの修正を即座に行える。
【００２２】
関連する態様において、本発明によれば、ファイルおよびディレクトリとして格納されるデータツリーを記録するための装置であって、各ファイルおよびディレクトリと関連して、データツリーにおいてファイルまたはディレクトリに直接先行するディレクトリがあれば、その識別子を格納する手段を備える装置が提供される。格納手段は、中央演算処理装置により設けられてよい。格納手段は、ファイルまたはディレクトリのヘッドに識別子を格納し得るものであってよい。
【００２３】
この装置は、フラッシュメモリボリュームおよびＲＡＭメモリボリュームと組み合わせて設けてよい。この場合、装置は、フラッシュメモリボリュームに格納されたデータツリーをＲＡＭメモリボリュームに記録する手段を更に備えるものであってよい。記録手段は、中央演算処理装置により設けられることが好ましいことがある。
【００２４】
この装置は、ファイルまたはディレクトリが移動されて、別のディレクトリを直接先行する場合、格納された識別子を変更する手段をさらに備えるものであってよい。変更手段もまた、中央演算処理装置により設けられることが好ましいことがある。
また、本発明のこの態様によれば、上述したような装置を備えるレシーバ／デコータが提供される。
【００２５】
フラッシュメモリは、一般にＲＯＭと同じようなものであり、不揮発性である。これはまた、読取りされるが書込みはされない、一般にＲＯＭと同じ方法で用いられることを意図したものである。しかしながら、フラッシュメモリは、多少の困難は伴うが、書込み可能なものである。さらに詳しく言えば、フラッシュメモリは、一般に、それぞれが通常多くのキロバイト長のものであるページに分割される。フラッシュメモリのページにある１以上のビットを０から１に変更するためには、そのページを消去すればよい。さらに詳しく言えば、フラッシュメモリのブロックを再度使用するためには、ページ全体を消去して、そのブロックに新しいデータを書き込む必要がある。
【００２６】
フラッシュメモリの情報は、十分なサイズのブロックに体系化される。１つのブロックには、永久または半永久的な情報のテーブルなどのデータまたはプログラムやサブルーチンが含まれる。ブロックのサイズは、一般に、ページサイズよりも小さくなるように選択される（ブロックがページよりも大きければ、通常、ページサイズよりも小さいサブブロックに分割することが適切である）。
【００２７】
通常、フラッシュメモリが更新される場合、すでにその中にある情報の一部を保持することが望ましい。したがって、これを達成するためには、更新されるページがＲＡＭに読み取られて、ページの像を形成する必要があり、このＲＡＭの像は、ページに入力される新しい情報をすべて挿入することにより更新可能である。同時に、不要となったページの情報はどれでも削除することができる。次いで、更新された像は、フラッシュメモリに書き込まれる。
【００２８】
フラッシュメモリのブロックを探索して、何らかの種類の名前または記述子を使用できるように、何らかの種類のブロック位置付けまたはアドレッシングデータ構造が維持されなければならない。ブロックを探索できるように、フラッシュメモリの各ページの別のブロック位置付けデータ構造を維持することが知られている。ブロック位置付けデータ構造は、ＥＥＰＲＯＭメモリなど、フラッシュメモリ自体の外側の外部メモリにおいて、少なくとも部分的に保持される。
【００２９】
本発明によれば、このブロック位置付けデータ構造を用いて、フラッシュメモリがその内容を変更するたびに更新される必要があることが分かった。新しいブロックを書き込むためには、フラッシュメモリを更新する必要があり、同様に、ブロックを削除するのにも更新が必要となる。物理的にブロックを削除する必要はないが、ブロック位置付けデータ構造は、そのブロックがもはや有効ではないことを示すように更新されなければならない。
【００３０】
フラッシュメモリを更新するこのようなシステムには、多くの欠点がある。第１に、新しいデータをフラッシュメモリに格納できるように、フラッスメモリのページ全体をＲＡＭメモリにコピーしなければならない。したがって、ＲＡＭメモリのバッファをフラッシュメモリのページと同じサイズにする必要がある。第２に、フラッシュメモリに格納されたブロックの位置とステータスを識別するために、ブロック位置付けデータ構造を格納するためのＥＥＰＲＯＭメモリボリュームを備えることが必須である。
【００３１】
本発明によれば、第２の態様において、更新を実行するためにＲＯＭまたはＲＡＭメモリを使用する必要がないフラッシュメモリボリュームの内容を更新する改良されたシステムが提供される。
【００３２】
第２の態様において、本発明によれば、複数のページを備えるメモリの１ページが、有効データを含む少なくとも１つの有効ブロックと、無効データを含む少なくとも１つの無効データとを備えるソースページとして指定され、メモリのページの少なくとも１ページが、転送ページとして指定されるメモリに新しいデータを格納できるように、メモリのページ間でデータブロックを転送する方法であって、
上記または各有効ブロックをソースページから転送ページにコピーし、ブロックの少なくとも１つが、ソースページの位置とは異なる転送ページの位置をもつものであるコピーステップと、
ソースページを消去するステップとを備えることを特徴とする方法が提供される。
少なくとも１つの有効ブロックの位置を変更することにより、有効ブロックは、例えば、最初の部分などの転送ページの一端にまとめて配列されてよい。これにより、転送ページの他端に新しいデータを格納するための空きを十分に残すことができる。
【００３３】
上記または各有効ブロックは、新しいデータを受信するために、転送ページに最も広い分割されていないメモリ領域を作成するように、転送ページにコピーされることが好ましい。
したがって、本発明のこの態様によれば、複数のページを備えるメモリの１ページが、有効データを含む少なくとも１つの有効ブロックと、無効データを含む少なくとも１つの無効データとを備えるソースページを備え、メモリのページの少なくとも１ページが、初めは空白ブロックのみからなる転送ページとして指定されるメモリにデータを格納する方法であって、
上記または各有効ブロックをソースページから転送ページにコピーし、ブロックの少なくとも１つが、ソースページの位置とは異なる転送ページの位置をもつものであるコピーステップと、
ソースページを消去するステップと、
転送ページにデータを格納するステップとを備えることを特徴とする方法が提供される。
消去されたソースページは、新しい転送ページとして再指定されることが好ましい。これにより、メモリにさらなるデータを格納する必要がある場合、上述した方法を繰り返し行うことができる。このような再指定は、ソースページが消去された直後に行われることが好ましい。
【００３４】
一つの好適な実施形態において、ページの無効ブロックの累積サイズに依存して、ソースページとしてページが指定される。例えば、指定されたソースページは、新しいデータのサイズ以上の累積サイズをもつ少なくとも１つの無効ブロックをもつページであってよい。これにより、転送ページへの有効ブロックのコピーが完了すると、転送ページにデータを格納できるほどの空きが確保される。
【００３５】
ブロックサイズは可変のものであってよい。これにより、固定サイズのブロックを用いる場合よりも多くの利点が得られる。固定ブロックのサイズは、通常、５キロバイトである。３キロバイトのサイズのデータが固定ブロックに格納されると、２キロバイトのメモリが事実上無駄になる。可変サイズのブロックを用いることにより、ブロックのサイズは、その中に格納されるデータのサイズのみで決定されるため、メモリの有効データ記憶容量を増やすことができる。有効な可変サイズのブロックを移動できるようにすることで、ページ更新時に、転送ページでブロックが再配列されて、ページの空き容量がページの単一の未使用領域に与えられる。
【００３６】
メモリは、フラッシュメモリボリュームなどのように、データが自由に書き込みされないメモリからなることが好ましい。
ブロック、好ましくはブロックのヘッダに格納される１ビットのフラッグの値を変更することにより、有効ブロックが無効ブロックに変更されてよい。１から０にビット値を変更することにより、すなわちビットを削除することにより、ページ全体の再書込みを行わずに、フラッシュメモリに格納されたブロックのステータスが変更される。
メモリは、データがビットストリームから、好ましくはＭＰＥＧテーブルの形式でダウンロードされるレシーバ／デコーダのメモリボリュームからなるものであってよい。
【００３７】
本発明のこの態様により、複数のページを備えるメモリの１ページが、有効データを含む少なくとも１つの有効ブロックと、無効データを含む少なくとも１つの無効データとを備えるソースページとして指定され、メモリのページの少なくとも１ページが、転送ページとして指定されるメモリに新しいデータを格納できるように、メモリのページ間でデータブロックを転送する装置であって、
上記または各有効ブロックをソースページから転送ページにコピーし、ブロックの少なくとも１つが、ソースページの位置とは異なる転送ページの位置をもつものである、中央演算処理装置などのコピー手段と、
ソースページを消去する、中央演算処理装置などの手段とを備えることを特徴とする装置が提供される。
【００３８】
レシーバ／デコーダのメモリに格納されたデータへのアクセスは、多数のパーティにより要求されることがある。このようなパーティの１人は、データの作成者であり、データのエラー訂正や、データのアップグレード版への置換を行うためにデータにアクセスする必要がある。別のパーティは、データを使用する双方向アプリケーションのプロバイダである。このようなプロバイダが、データを読み取ることによって、双方向アプリケーションによるデータ使用を可能にするようにデータへのアクセスの所有を要求する一方で、データの作成者は、プロバイダがプロバイダ自身のデータでデータの上書きをしないように禁止したい場合がある。また、プロバイダは、例えば、レシーバ／デコーダのメーカーや所有者によるデータへのあらゆるアクセスを禁止して、これらのパーティに対してデータの秘密性を保ちたい場合がある。
【００３９】
本発明によれば、第３の態様において、レシーバ／デコーダにおいてデータアクセスを制限する技術が提供される。
第３の態様において、本発明によれば、メモリを有するレシーバ／デコーダにおいてデータアクセスを制限する方法であって、
アクセス権の複数セットをデータに割り当て、アクセス権の各セットを少なくとも１人のパーティに割り当てるステップと、
レシーバ／デコーダのメモリに、データ、アクセス権のセットおよび各パーティの識別子を格納するステップと、
データへのアクセスを要求するパーティの識別子をメモリに格納された上記または各識別子と比較するステップと、
レシーバ／デコーダのメモリにパーティに割り当てられたアクセス権のセットをパーティに与えるステップとを備えることを特徴とする方法が提供される。
したがって、レシーバ／デコーダのメモリにデータを格納する前に、複数のアクセス権を異なるパーティに割り当てることにより、レシーバ／デコーダにおいてデータを安全に隔離することができる。
アクセス権のセットは、データのヘッドに格納されることが好ましい。これにより、データのアクセス権の位置が得やすくなる。パーティの１以上の識別子が、データのヘッダに格納されてもよい。
【００４０】
データは、伝送システムにより伝送されるビットストリームからダウンロードされてよく、アクセス権のセットおよびパーティの識別子は、伝送システムのデータ内に格納される。したがって、本発明のこの態様によれば、ディジタル放送システムにおいて放送されるデータへのアクセスを制限する方法であって、伝送システムにおいて、
アクセス権の複数セットをデータに割り当て、アクセス権の各セットを少なくとも１人のパーティに割り当てるステップと、
アクセス権のセットとパーティの識別子をデータ内に格納するステップと、
データを伝送するステップとを備え、
メモリを有するレシーバ／デコーダにおいて、
レシーバ／デコーダのメモリにおいて伝送されたデータをダウンロードおよび格納するステップと、
データへのアクセスを要求するパーティの識別子をメモリに格納された識別子と比較するステップと、
レシーバ／デコーダのメモリにパーティに割り当てられたアクセス権のセットをパーティに与えるステップとを備えることを特徴とする方法が提供される。
【００４１】
データは、ディジタルデータストリームなどの任意の形態で伝送されてよい。
レシーバ／デコーダのメモリに識別子が格納されていない少なくとも１人のパーティに、アクセス権のさらなるセットが割り当てられてよく、データへのアクセスを要求するこのようなパーティにアクセス権のさらなるセットが与えられる。したがって、アクセス権の適切なセットを選択することにより、未知または好ましくないパーティによるデータへのアクセスが禁止されてよい。
【００４２】
アクセス権の特定のセットが１人のパーティにのみ割り当てられてよい。このパーティは、データの作成者であることが好ましい。したがって、データの作成者は、作成者によるデータへのフルアクセスを可能にするアクセス権の別のセットが割り当てられてよい。
【００４３】
アクセス権の特定のセットが、複数人のパーティからなるグループに割り当てられてよく、このグループのメンバーのそれぞれの識別子は、レシーバ／デコーダのメモリに格納される。したがって、アクセス権のセットをパーティのグループに与えることにより、割当てが必要なアクセス権のセット数を低減させることができる。
【００４４】
アクセス権のセットが、パーティがデータの読取りを禁止されているか否かを決定するために用いられることが好ましい。また、アクセス権のセットが、パーティがデータの上書きを禁止されているか否かを決定するために用いられてよい。
データは、レシーバ／デコーダのフラッシュメモリボリュームに格納されてよい。
【００４５】
本発明のこの態様によれば、少なくとも１人のパーティにそれぞれ割り当てられるアクセス権の複数のセットがデータに割り当てられ、各パーティの識別子がレシーバ／デコーダに格納されるレシーバ／デコーダのメモリに格納されたデータへのアクセスを制限する装置であって、
データへのアクセスを要求するパーティの識別子をメモリに格納された識別子と比較する、中央演算処理装置などの手段と、
レシーバ／デコーダのメモリにパーティに割り当てられたアクセス権のセットをパーティに与える手段とを備えることを特徴とする装置が提供される。また、中央演算処理装置は、割り当てられたアクセス権のセットをパーティに与えてよい。
【００４６】
本発明のこの態様によれば、データと、データに割り当てられるアクセス権の複数セットと、各パーティの識別子とを格納するためのメモリと、上述したようなデータへのアクセスを制限する装置とを備えるレシーバ／デコーダが提供される。
【００４７】
レシーバ／デコーダは、パーティの識別子を格納するためのセキュリティモジュールをさらに備えてよい。
レシーバ／デコーダは、上記データと、上記アクセス権のセットと、上記識別子とを含むビットストリームを受信するためのレシーバと、上記データと、上記アクセス権のセットと、上記識別子とを上記メモリにダウンロードする、デマルチプレクサおよびデスクランブラなどの手段とをさらに備えてよい。レシーバ／デコーダは、ＭＰＥＧテーブルをダウンロードするように配設されることが好ましい。
【００４８】
本発明のこの態様によれば、アクセス権の複数セットをデータに割り当て、アクセス権の各セットを少なくとも１人のパーティに割り当てる手段と、
アクセス権とパーティの識別子をデータ内に格納する手段と、
前記データを含むビットストリームを伝送する、トランスミッタなどの手段とを備えることを特徴とする伝送システムが提供される。伝送システムの割当て手段と格納手段は、伝送システムの処理ユニットにより与えられる。
【００４９】
割当て手段は、レシーバ／デコーダのメモリに識別子が格納されていないパーティにさらなるアクセス権のセットを割り当て得るものであってよい。また、割当て手段は、複数パーティからなるグループにアクセス権のセットを割り当て得るものであってよく、グループのメンバーのそれぞれの識別子は、上記データに格納される。
本発明のこの態様によれば、上述したレシーバ／デコーダと、上述した伝送システムの組合せが提供される。
【００５０】
レシーバ／デコーダのさまざまな機能は、ハードウェアにおいて、例えば、専用集積回路において実行されてよく、これにより、動作速度が高められる。しかしながら、機能のうち少なくとも一部は、ソフトウェアにおいて実行され、好ましくはアプリケーションを実行する処理手段により実行され、これにより、柔軟性が増し、必要な部品数が少なくなり、さらにはレシーバ／デコーダを容易に更新できるようになる。
上述した任意の特徴が任意の適切な組合せにおいて組み合わされてよい。装置の特徴は、方法の態様に適用されてよく、その逆もまた同等である。
本発明の好適な特徴を、例示的に図面を参照しながら以下に記載する。
【００５１】
【発明の実施の形態】
図４には、ディジタルテレビジョンシステム１の概観図が示されている。このシステムは、圧縮ディジタル信号伝送用の公知のＭＰＥＧ−２圧縮システムを用いるほぼ従来型のディジタルテレビジョンシステム２を含む。より詳細に言えば、放送センタにあるＭＰＥＧ−２圧縮器３が、ディジタル信号ストリーム（通常、ビデオ信号ストリーム）を受信する。圧縮器３は、リンケージ５によりマルチプレクサおよびスクランブラ４に接続される。
【００５２】
マルチプレクサ４は、複数のさらなる入力信号を受信し、トランスポートストリームをアセンブルして、リンクケージ７を介して放送センタの送信機６に圧縮されたディジタル信号を送信する。このリンク７は、遠隔通信リンクを含むあらゆる種類の形をとるものであってよいことは言うまでもない。送信機６は、アップリンク８を介して電磁信号を衛星トランスポンダ９へと送信し、エンドユーザーが所有またはレンタルする従来の皿状のアンテナの地上の受信機１２へと概念上のダウンリンク１０を介して電子的に処理および提供される。受信機１２により受信された信号は、エンドユーザーが所有またはレンタルする一体型のレシーバ／デコーダ１３に送信され、エンドユーザーのテレビジョンセット１４に接続される。レシーバ／デコーダ１３は、圧縮されたＭＰＥＧ−２の信号をテレビジョンセット１４用のテレビジョン信号に復号する。
【００５３】
地上放送、ケーブル伝送、衛星／ケーブルを組み合わせたリンク、電話網など、データの送信用の他の輸送チャネルも勿論可能である。
マルチチャネルシステムにおいて、マルチプレクサ４は、多数のパラレル発信源から受信した音声および映像情報を処理し、送信機６と相互に作用して対応する数のチャネルにのせて情報を提供する。音声映像情報以外にも、メッセージまたはアプリケーションやあらゆる種類の他のディジタルデータを、送信されるディジタル音声および映像情報と組み合わせてこれらのチャネルの一部またはすべての導入されてもよい。
【００５４】
マルチプレクサ４とレシーバ／デコーダ１３には、限定受信システム１５が接続されており、一部は放送センタに配置され、さらに一部はデコーダに配置されている。これにより、エンドユーザーが１以上の放送提供者からのディジタルテレビ放送にアクセスすることができるようになる。営利的提供物（すなわち、放送提供者が販売する１つまたはいくつかのテレビ番組）に関するメッセージを復号化可能なスマートカードが、レシーバ／デコーダ１３に差し込まれる。デコーダ１３とスマートカードを用いて、エンドユーザーは、有料予約モードまたはペイパービューモードのいずれかで営利的提供物を購入してもよい。
【００５５】
上述したように、システムにより送信された番組は、マルチプレクサ４でスクランブルがかけられ、ある所与の伝送に適用される条件および暗号鍵が限定受信制御システム１５で決定される。このようにスクランブルがかけられたデータの送信は、有料ＴＶシステムの分野では公知のものである。通常、スクランブルデータは、データのスクランブルを解除するための制御ワードとともに送信され、この制御ワード自体は、いわゆる開発鍵により暗号化され、暗号化された形式で送信される。
【００５６】
次いで、スクランブルデータと暗号化された制御ワードは、デコーダに差し込まれたスマートカード上に格納された開発鍵と同等のものにアクセス権を有するデコーダ１３により受信されて、暗号化された制御ワードを復号化し、その後、送信されたデータのスクランブル解除を行う。支払済みの視聴者は、例えば、提供される月別ＥＣＭ（権利付与制御コード（Ｅｎｔｉｔｌｅｍｅｎｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ））において、暗号化された制御ワードを復号するのに必要な開発鍵を受けとり、送信の視聴が可能となる。
【００５７】
マルチプレクサ４とレシーバ／デコーダ１３にも接続され、また一部が放送センタに配置され、さらに一部がデコーダに配置された双方向システム１６により、エンドユーザーがモデムバックチャネル１７を介してさまざまなアプリケーションと相互作用できるようになる。モデムバックチャネルはまた、限定受信システム１５で使用される通信用に用いられてもよい。特定のイベントの視聴や、アプリケーションのダウンロードなどの許可を要請するために、双方向システムを用いることで、例えば、視聴者が伝送センタと直接通信することも可能となる。
【００５８】
図５を参照して、レシーバ／デコーダ１３またはセットトップボックスの構成要素を以下に記載する。同図に示されている要素は、機能ブロックにより示されている。
デコーダ１３は、関連するメモリ要素を含み、シリアルインタフェース２１、パラレルインタフェース２２およびモデム２３（図４のモデムバックチャネル１７に接続されている）およびデコーダのフロントパネルにあるスイッチコンタクト２４から入力データを受信し得る中央演算処理装置２０を備える。
【００５９】
さらに、デコーダは、制御ユニット２６を介して赤外線リモートコントロール２５からの入力を受信し、バンクを読み取るための２つのスマートカードリーダ２７、２８または視聴用スマートカード２９、３０をそれぞれ有する。視聴用スマートカードリーダ２８は、差し込まれた視聴用カード３０と限定受信ユニット２９とつながり、必要な制御ワードをデマルチプレクサ／デスクランブラ３０に供給して、暗号化された放送信号のスクランブルを解除可能となる。また、デコーダは、従来のチューナ３１と復調器３２を含み、ユニット３０によりフィルタリングと逆多重化される前に、衛星通信を受信して復調する。
【００６０】
受信した音声信号および映像信号の場合、これらの信号を含むＭＰＥＧパケットは、逆多重化およびフィルタリングされて、音声および映像データのパケット化エレメンタリーストリーム（ＰＥＳ）の形式のリアルタイム音声および映像データを、専用音声および映像プロセッサまたはデコーダ３３、３４に送信する。音声プロセッサ３３からの変換された出力は、前置増幅器３５に送られた後、レシーバ／デコーダの音声出力を通る。映像プロセッサ３４からの変換された出力は、グラフィックプロセッサ３６およびＰＡＬ／ＳＥＣＡＭエンコーダ３７を通って、レシーバ／デコーダの映像出力に送信される。
デコーダ内のデータ処理は、一般に、中央演算処理装置２０により行われる。中央演算処理装置２０は、アプリケーションをさまざまなデバイスと通信可能にするさいに柔軟性に富んだプラットフォームを提供する。
【００６１】
本願明細書において使用される場合、アプリケーションとは、好ましくはレシーバ／デコーダ１３の高水準の機能を制御するためのコンピュータコードである。例えば、エンドユーザーが、テレビジョンセット１４の画面に映るボタンオブジェクト上にリモートコントロール２５の焦点を位置付けて有効キーを押すと、そのボタンに関連する命令シーケンスが実行される。
【００６２】
双方向アプリケーションにより、メニューが提示され、エンドユーザーの要求に応じてコマンドが実行され、アプリケーションの目的に関連するデータが提供される。アプリケーションは、レシーバ／デコーダ１３のＲＯＭ（またはフラッシュまたは他の不揮発性メモリ）に格納されるか、またはレシーバ／デコーダ１３のＲＡＭまたはフラッシュメモリにダウンロードおよび伝送される常駐アプリケーションのいずれかであってよい。
【００６３】
アプリケーションは、レシーバ／デコーダ１３のメモリ位置に格納され、リソースファイルとして表示される。リソースファイルは、上述した特許明細書に詳細に記載されているように、グラフィックオブジェクト記述ユニットファイル、変数ブロックユニットファイル、命令シーケンスファイル、アプリケーションファイルおよびデータファイルを備える。
【００６４】
図１を参照すると、従来、レシーバ／デコーダは、ＲＡＭボリューム５４、フラッシュボリューム５８およびＲＯＭボリューム５６に分けられたメモリを含むが、この物理的構成は論理的構成と異なるものである。メモリは、さまざまなインタフェースに関連するメモリボリュームにさらに分割されてよい。一つの観点から見ると、メモリはハードウェアの一部として見なすことができ、別の観点から見ると、メモリは、ハードウェアとは別に示されたシステム全体を支持または含むものとして見なすことができる。
【００６５】
フラッシュメモリ５８は、通常、それぞれが大きなキロバイト長のページに分割される。フラッシュメモリには、データブロックの形態のデータが格納される。図６は、フラッシュメモリの１ページの配列を示す。ページ７０は、１２バイト長のヘッダ７２と、可変長のブロック７４を備える。ブロック７４のサイズは、ブロックに格納されるデータのサイズで決定される。
【００６６】
ページ７０のヘッダ７２は、とりわけ、フラッシュメモリのページ数（ＮＯ７６）と、ページの状態（ＳＴＡＴＥ７８）を含む。ページは、以下の２つの安定状態の１つにある。
（ｉ）ＥＭＰＴＹ状態：ページが空きブロックのみを含む場合
（ｉｉ）ＶＡＬＩＤ状態：ページが１以上のデータブロックを含む場合
フラッシュメモリ５８は、ＥＭＰＴＹ状態にある少なくとも１つのページを含む。
【００６７】
１ページから別のページに内容をコピーする間（以下に詳細に記載）、ページは、以下の少なくとも３つの臨時状態の１つにある。
（ｉ）ＷＲＩＴＥ状態：ページの内容が別のページから該当ページにコピーされている状態
（ｉｉ）ＮＥＷ状態：該当ページへのコピーが完了した場合
（ｉｉｉ）ＩＮＶＡＬＩＤ状態：該当ページから別のページへの内容のコピーが完了した場合
【００６８】
図７を参照すると、各ブロック７４は、１６バイト長のヘッダ８０を含む。ヘッダ８０は、以下のフィールドを含む。
（ｉ）ブロックが関連するファイルに割り当てられた固有数の形態の識別（ＩＤ８２）
（ｉｉ）ブロックのサイズ（ＳＩＺＥ８４）
（ｉｉｉ）ブロックのランク識別（ＲＡＮＫ８６）
（ｉｖ）ブロックのステータス（ＳＴＡＴＵＳ８８）
それぞれのランク識別がそれぞれに与えられる複数のブロックにファイルが分割される場合、ＲＡＮＫ８６がブロックの固有識別子を与える。ＲＡＮＫ８６はまた、ファイルないのブロック位置を特定化するように作用する。
ＲＡＮＫ＝０のブロックは、ファイルのヘッダブロックからなる。ヘッダブロックは、ファイルの生データは全く含まないが、その代わりに多数のファイル属性を含む。
【００６９】
図８は、ファイルのヘッダブロック９０の内容を示す。ヘッダブロック９０は、ＲＡＮＫ８６が０に設定されたヘッダ８０を備える。ヘッダブロック９０は、親ＩＤフィールド９２を含む。親ＩＤフィールド９２は、フラッシュメモリ５８に格納されたディレクトリおよびファイルのツリー構造にあるファイルの「親」のＩＤ８２を含む。
【００７０】
図９は、フラッシュメモリ５８に格納されたブロックのツリー構造の一例を示す。ブロックは、ディレクトリブロックおよびヘッダブロックＤと、ファイルの生データを含むデータブロックＦとを備える。１つのディレクトリブロックは、ブロックＤ２などのヘッダブロックであり、このブロックは直接ファイルと関連しないが、他のディレクトリまたはヘッダブロックのロケータとして作用するように働く。
【００７１】
レシーバ／デコーダが起動されると、フラッシュメモリ５８に格納されたデータツリーが読み取られ、チャートの形態または任意の他の好適な形態で、ツリーのアウトラインがＲＡＭボリューム５４に格納される。ツリーは、各データブロックのＩＤ８２およびＲＡＮＫ８６と、各ディレクトリブロックおよびヘッダブロックのＩＤ８２、ＲＡＮＫ８６および親ＩＤ９２を読み取ることにより決定される。例えば、ヘッダブロックＤ１は、ＩＤ＝１、ＲＡＮＫ＝０および親ＩＤ＝０（「親」がいないため）である。ファイルブロックＦ３は、ＩＤ＝１およびＲＡＮＫ＝１である。ディレクトリブロックＤ４は、ＩＤ＝４、ＲＡＮＫ＝０および親ＩＤ＝１（「親」がＩＤ＝１のヘッダブロックＤ１であるため）である。ヘッダブロックＤ５は、ＩＤ＝５、ＲＡＮＫ＝０および親ＩＤ＝２である。
このように、各ブロックには、ツリーを生成するために読み取る必要があるデータフィールド数を３つ以内に抑えられるため、データツリーが即座に生成可能である。
【００７２】
さらに、ヘッダブロックとそれと関連するデータブロックがデータツリー内で移動される場合、ヘッダブロックのヘッダにある新しい親ＩＤを書き込むだけでよい。例えば、ヘッダブロックＤ１７とそれと関連するＦ２０、Ｆ２１およびＦ２２が、ヘッダブロックＤ１７の親がヘッダブロックＤ１５になるように移動されると、ヘッダブロックＤ１７の親ＩＤを親ＩＤ＝１５に修正すればよいだけである。ヘッダブロックＤ１７の以前の直接の祖先であるブロックＤ１４のヘッダや、ヘッダブロックＤ１７の新しい直接の祖先であるブロックＤ１５のヘッダに修正を加える必要がない。
フラッシュメモリに格納されたデータツリーが変更される場合、ＲＡＭボリューム５４に格納されたチャートが更新される。
【００７３】
上述したように、データは、単一のメモリボリュームまたは複数のメモリボリュームにわたっていずれの形態でもレシーバ／デコーダに格納されてよい。ヘッダブロックがそれらの親に関連する上述したフラッシュメモリのデータツリー構造は、ＲＯＭ、ＲＡＭまたはＲＯＭ、ＲＡＭおよびフラッシュメモリの任意の組合せに格納されたデータに適用可能である。しかしながら、このような新しいデータツリー構造による改良が最も顕著に表れるのは、メモリに格納されるデータの再書込みにかかる時間が最も長いフラッシュメモリに格納されるデータにおいてである。したがって、ＲＡＭおよびＲＯＭメモリに格納されるデータは、代替的に図２および図３を参照した記載した従来のツリー配列をもつフラッシュメモリに格納されてよい。
【００７４】
図８を再度参照すると、ヘッダブロック９０は、ブロックがディレクトリブロックかまたはヘッダブロックかを示す属性フィールド９３を含む。
ヘッダブロック９０は、アクセスモードフィールド９４、所有者フィールド９６およびグループフィールド９８を含む。これらの３つのフィールドにより、さまざまなパーティによるデータへのアクセスを部分的または完全に制限することができる。
【００７５】
所有者フィールド９６は、ファイルの作成者の識別ＩＤを含む。グループフィールド９８は、許可されたファイルユーザーのグループ識別ＩＤを含む。例えば、ファイルがスマートカードリーダのプログラムに関連するものであれば、許可されたファイルユーザーには、プログラムを利用する双方向アプリケーションのプロバイダが含まれる。許可されたファイルユーザーのそれぞれの識別ＩＤは、レシーバ／デコーダにあるセキュリティモジュールに格納される。
【００７６】
アクセスモードフィールド９４の内容は、所有者フィール９６において特定されるファイルの作成者、グループフィールド９８において特定される許可されたファイルユーザー、およびレシーバ／デコーダのメーカーやレシーバ／デコーダのユーザーなどのその他の人によりファイルへのアクセスが許可される範囲を決定する。
【００７７】
図１０は、アクセスモードフィールド９４をより詳細に示す。フィールド９４は、作成者に割り当てられた６ビット、２ビット１００、１０２と、許可ユーザーに割り当てられた２ビット１０４、１０６と、その他の人に割り当てられた２ビット１０８、１１０からなる。ビット値１００、１０４および１０８は、ファイルの読取りが作成者、許可ユーザーおよびその他の人のそれぞれにより禁止されているか否かを決定し、ビット値１０２、１０６および１１０は、ファイルの上書きが作成者、許可ユーザーおよびその他の人のそれぞれにより禁止されているか否かを決定する。図１０に示す例では、許可ユーザーによるファイルの上書きが禁止され、同様に、その他の人によるファイルの読取りまたは上書きは共に禁止されている。
【００７８】
アクセスモードフィールド９４、所有者フィールド９６およびグループフィールド９８の内容は、ファイルをレシーバ／デコーダに記憶させる前に設定される。ファイルが放送センタの送信機６によりレシーバ／デコーダに伝送されると、前述したフィールドの内容は、伝送前に放送センタにおいて設定されてよい。この代わりに、これらのフィールドの内容は、ファイルが書き込まれると作成者により設定されてよい。
【００７９】
ファイルへのアクセスが要求される場合、アクセス者は識別ＩＤで自分の身元を明らかにする。中央演算処理装置５０は、アクセス者のＩＤが所有者フィールド９６に格納されたＩＤと一致するか否かを決定する。一致すれば、アクセス者は、ビット１００および１０２に含まれるアクセス権のセットで割り当てられたファイルの作成者として識別される。図１０に示す例では、作成者によりファイルの読取りおよび上書きは、中央演算処理装置５０により許可される。
【００８０】
アクセス者がファイルの作成者でなければ、中央演算処理装置５０は、アクセス者のＩＤがグループフィールド９８に特定された許可ユーザーからなるグループのメンバーであるか否かを決定するためのセキュリティモジュールを参照する。メンバーであれば、アクセス者は、ビット１０４および１０６に含まれるアクセス権のセットで割り当てられたファイルの許可ユーザーとして識別される。図１０に示す例では、許可ユーザーは、中央演算処理装置５０によりファイルの読取りのみが許可される。
【００８１】
アクセス者が許可されたファイルユーザーでなければ、アクセス者は、ビット１０８および１１０に含まれるアクセス権のセットで割り当てられた「その他の人」として識別される。図１０に示す例では、アクセス者によるファイルへのアクセスはすべて中央演算処理装置により禁止されている。
【００８２】
ビット値１００または１１０は、ファイルを上書きすることによってのみ変更可能である。図１０に示す例では、ファイルの作成者のみがファイルの上書きを許可されている。したがって、ファイルのヘッダブロック９０にあるアクセスモードフィールド９４、所有者フィールド９６およびグループフィールド９８の規定は単純であるが、ファイルの効果的なセキュリティシステムを提供する。
【００８３】
図８を参照すると、ヘッダブロック９０はまた、ファイルのバージョン数を含むバージョンフィールド１１２と、ＡＳＣＩＩコードのファイル名を含む名前フィールド１１４を含む。
【００８４】
図７を再度参照すると、フラッシュメモリのページのブロックのＳＴＡＴＵＳフィールド８８は、以下の３つの安定状態の１つにあってよい。
（ｉ）ＦＲＥＥ状態：ブロックが空きの場合
（ｉｉ）ＩＮＶＡＬＩＤ状態：ブロックの新しいバージョンがフラッシュメモリの別のページにコピーされた場合またはファイルが削除された場合
（ｉｉｉ）ＶＡＬＩＤ状態：ブロックの前のバージョンがＩＮＶＡＬＩＤ状態に設定された場合
【００８５】
ブロックのＳＴＡＴＵＳフィールド８８は、ブロックがＶＡＬＩＤまたはＩＮＶＡＬＩＤであるか否かを示す１ビットフラッグを含む。この１ビットフラッグの値が１であれば、ブロックはＶＡＬＩＤであり、フラッグの値が０であれば、ブロックはＩＮＶＡＬＩＤである。したがって、ブロックの状態がＶＡＬＩＤからＩＮＶＡＬＩＤに変更される場合、この１ビットが削除される。このように、フラッシュメモリにおいて、ブロックの状態が変化すると、フラッシュメモリのページ全体を再度書込みする必要がなく、その変化を記録することができる。
通常、ページの最終ブロックは、ＦＲＥＥ状態にあり、該当ページに新しいデータを格納するために利用可能なメモリスペース量を表す。
【００８６】
ブロックはまた、ブロックの内容を書き込む間またはＲＡＭを介して別のページへブロックの内容のコピーする間（以下に詳細に記載）、以下の３つの臨時状態の１つにあってよい。
（ｉ）ＣＲＥＡＴＥ状態：ブロックのヘッダが書き込まれている場合
（ｉｉ）ＷＲＩＴＥ状態：ブロックの内容の残りが書き込まれている場合
（ｉｉｉ）ＮＥＷ状態：ブロックが完了したが、ファイルさらなるブロックの書込みまたはコピーがまだ完了していない場合
【００８７】
図１１は、１ページ目の１つのＶＡＬＩＤブロックを２ページ目のＦＲＥＥブロックにコピーするプロセスを示す。ステップ１００において、ＶＡＬＩＤブロックのヘッダがＲＡＭを介して該当ブロックにコピーされている間、２ページ目にあるＦＲＥＥブロックの状態がＣＲＥＡＴＥに変更される。ステップ１０２において、ＶＡＬＩＤブロックの内容がコピーされている間、ＣＲＥＡＴＥブロックの状態がＷＲＩＴＥに変更される。ステップ１０４において、ブロックの内容のコピーが完了したとき、ＷＲＩＴＥブロックの状態がＮＥＷに変更される。ステップ１０６において、１ページ目のコピーされたＶＡＬＩＤブロックの状態がＩＮＶＡＬＩＤに変更される。最後に、ステップ１０８において、２ページ目のＮＥＷブロックの状態がＶＡＬＩＤに変更される。
【００８８】
ブロックの内容のコピーが完了したときに、ステップ１０４においてＷＲＩＴＥブロックにＶＡＬＩＤ状態ではなくＮＥＷ状態を割り当てることにより、同時に同じＩＤおよびＲＡＮＫを２つのＶＡＬＩＤブロックに持たせないようにすることができる。これにより、ステップ１０４および１０６の間でオペレーティングシステムがクラッシュすることがあっても、このような２つのＶＡＬＩＤブロックが存在する可能性がなくなる。
【００８９】
フラッシュメモリの１ページから別のページにデータブロックをコピーする間にこのようなクラッシュが起これば、起動時にオペレーティングシステムにより、フラッシュメモリにある任意のＮＥＷブロックの存在が検証される。ＮＥＷブロックが位置付けされていれば、オペレーティングシステムは、同じＲＡＮＫおよびＩＤをもつＶＡＬＩＤブロックを探索する。このようなＶＡＬＩＤブロックが位置付けされていれば、ＮＥＷブロックのステータスがＩＮＶＡＬＩＤに変更され、位置付けされていなければ、ＮＥＷブロックのステータスがＶＡＬＩＤに変更される。これにより、フラッシュメモリのページのいずれかを再書込みする必要がなく、同じＲＡＮＫおよびＩＤをもつ２つのＶＡＬＩＤおよびＦＲＥＥブロックをメモリ内に保持されなくなる。
【００９０】
同じＩＤをもつ複数のＶＡＬＩＤブロックが１ページ目から２ページ目にコピーされる場合、第１のＶＡＬＩＤブロックのコピーは、ステップ１０４が完了した後保留される。次のＶＡＬＩＤブロックのそれぞれのコピーが代わりにステップ１０４まで実行される。次いで、１ページ目のコピーされたＶＡＬＩＤブロックのすべての状態がＩＮＶＡＬＩＤに変更され、２ページ目にあるＮＥＷブロックの状態がＶＡＬＩＤに変更される。
【００９１】
フラッシュメモリの１ページから別のページに複数のデータブロックをコピーする間にクラッシュが起これば、起動時にオペレーティングシステムにより、フラッシュメモリにある任意のＮＥＷブロックの存在が検証される。複数のＮＥＷブロックが位置付けされていれば、オペレーティングシステムは、同じＲＡＮＫおよびＩＤをもつ対応するＶＡＬＩＤおよびＩＮＶＡＬＩＤブロックを探索する。対応するブロックがすべてＶＡＬＩＤであれば、ＮＥＷブロックのそれぞれの状態がＩＮＶＡＬＩＤに変更される。そうでなければ、すなわち、対応するブロックの少なくとも１つの状態がＩＮＶＡＬＩＤであれば、残りの対応するＶＡＬＩＤブロックのそれぞれの状態がＩＮＶＡＬＩＤに変更されて、ＮＥＷブロックのそれぞれの状態がＶＡＬＩＤに変更される。
【００９２】
前述したように、フラッシュメモリのページのうち１ページがＥＭＰＴＹ状態に維持される。時間の経過に伴い、フラッシュメモリの残りのページがすべてＶＡＬＩＤおよびＩＮＶＡＬＩＤデータブロックで一般になるため、１以上のＩＮＶＡＬＩＤデータブロックを効率的に削除して、新しいデータを含むブロックを収容する十分なスペースを設ける必要がある。しかしながら、パーティのデータブロックは、新しいデータで上書きできず、フラッシュメモリのページ全体を消去して、該当ページを再度使用可能にしなければならない。
【００９３】
フラッシュメモリに書き込む新しいファイル用に十分なスペースを与えるために、簡潔に記載すると、ＶＡＬＩＤページのＶＡＬＩＤブロックのみがＲＡＭを介してＥＭＰＴＹページにコピーされ、ＶＡＬＩＤページのＩＮＶＡＬＩＤブロックは、ＥＭＰＴＹページにコピーされない。ＶＡＬＩＤブロックは、ブロックの少なくとも１つがＶＡＬＩＤページの位置とは異なるＥＭＰＴＹページの位置をもつようにコピーされる。例えば、ＶＡＬＩＤブロックは、ＥＭＰＴＹページのトップにコピーされてよい。コピーするさいにＶＡＬＩＤブロックを再配列することにより、ＥＭＰＴＹページに最も大きい分割されていないメモリ領域が作成されることで、例えば、新しいデータを格納するためのページの最下部に十分な空きを残すことができる。ＶＡＬＩＤページの内容は消去され、ＥＭＰＴＹページがＶＡＬＩＤページになり、前のＶＡＬＩＤページがＥＭＰＴＹページになる。
【００９４】
図１２および図１３を参照して、新しいデータがフラッシュメモリに格納される場合、フラッシュメモリの内容を「クリーニング」方法を以下に詳細に記載する。
ステップ２００において、中央演算処理装置５０は、フラッシュメモリの各ＶＡＬＩＤページの各ブロック７４のヘッダ８０を再検討して、ＩＮＶＡＬＩＤブロックの累積サイズが最大であるＶＡＬＩＤページを識別する。
【００９５】
ステップ２０２において、識別されたＶＡＬＩＤページが選択される。
ステップ２０４において、ＥＭＰＴＹページのステータスがＥＭＰＴＹからＷＲＩＴＥに変更され、選択されたＶＡＬＩＤページの数が、ＷＲＩＴＥページのヘッダに一時的に格納される。
【００９６】
ステップ２０６において、中央演算処理装置５０は、ＶＡＬＩＤページにＶＡＬＩＤブロックがあるか否かを決定する。ＶＡＬＩＤページに１以上のＶＡＬＩＤブロックがあれば、ステップ２０８において、第１のＶＡＬＩＤブロックがＲＡＭを介してＷＲＩＴＥページにコピーされる。
【００９７】
ステップ２１０において、中央演算処理装置５０は、ＶＡＬＩＤページにさらにＶＡＬＩＤブロックがあるか否かを決定する。第２のＶＡＬＩＤブロックがあれば、ステップ２１２において、第２のＶＡＬＩＤブロックがＲＡＭを介して前にＷＲＩＴＥページにコピーされたＶＡＬＩＤブロックのすぐ下にあるＷＲＩＴＥページにコピーされる。
【００９８】
ステップ２１０およびステップ２１２は、ＶＡＬＩＤページにさらなるＶＡＬＩＤブロックがないことを中央演算処理装置５０が決定するまで、必要であれば繰り返される。次いで、ステップ２１４において、ＷＲＩＴＥページのステータスがＮＥＷに変更される。ステップ２１６において、ＶＡＬＩＤページのステータスがＩＮＶＡＬＩＤに変更される。ステップ２１８において、ＮＥＷページのステータスがＶＡＬＩＤに変更され、最後に、ステップ２２０において、ＩＮＶＡＬＩＤページが消去されて、消去されたページのステータスがＥＭＰＴＹに変更されることで、もう一度フラッシュメモリの少なくとも１つのＥＭＰＴＹページが存在する。
【００９９】
上記方法の全体的な効果を図３に要約する。好適な実施形態において、ＶＡＬＩＤページのＶＡＬＩＤブロックＶは、ＥＭＰＴＹページのトップに効率的に移動されて、ＥＭＰＴＹページのステータスがＶＡＬＩＤに変更されると、ページの最下部の位置に新しいデータ用の記憶容量の空きをＥＭＰＴＹページに設ける。
【０１００】
本発明は例示的目的のみで記載され、詳細な修正が本発明の範囲内において可能であることを理解されたい。本願明細書おいて開示したそれぞれの特徴および（適切であれば）請求項および図面は個別または任意の適切な組合せで提供されてよい。
【図面の簡単な説明】
【図１】  レシーバ／デコーダにおけるメモリボリュームの公知の配列を示す概略図である。
【図２】  メモリボリュームにおける従来のデータツリー構造を示す図である。
【図３（ａ）】  メモリボリュームにおいてデータツリーを変更する従来のプロセスを示す図である。
【図３（ｂ）】  メモリボリュームにおいてデータツリーを変更する別の従来のプロセスを示す図である。
【図４】  ディジタルテレビジョンシステムの概略図である。
【図５】  図４のシステムのレシーバ／デコーダの構造の概略図である。
【図６】  フラッシュメモリのページの配列を示す図である。
【図７】  フラッシュメモリのページのブロックのヘッダを示す図である。
【図８】  フラッシュメモリに格納されたファイルのヘッダブロックの内容を示す図である。
【図９】  フラッシュメモリに格納されたデータツリーを示す図である。
【図１０】  ヘッドブロックにおるアクセスモードフィールドの内容を示す図である。
【図１１】  フラッシュメモリの１ページから別のページにＶＡＬＩＤデータのブロックをコピーする方法を示す流れ図である。
【図１２】  フラッシュメモリの１ページから別のページにデータのブロックをコピーする方法を示す流れ図である。
【図１３】  図１２に示す方法の全体的な効果を示す図である。
【図１】
0004689041.tif 000002
【図２】
0004689041.tif 000003
【図３ａ】
0004689041.tif 000004
【図３ｂ】
0004689041.tif 000005
【図４】
0004689041.tif 000006
【図５】
0004689041.tif 000007
【図６】
0004689041.tif 000008
【図７】
0004689041.tif 000009
【図８】
0004689041.tif 000010
【図９】
0004689041.tif 000011
【図１０】
0004689041.tif 000012
【図１１】
0004689041.tif 000013
【図１２】
0004689041.tif 000014
【図１３】
0004689041.tif 000015