(57)【要約】      （修正有）【課題】外部記憶装置において、一定期間内に再生することができるコンテンツの期限管理を行う。【解決手段】外部記憶装置３００は、記憶部３３０、３４０と、誤り検出部３２０と、経過時間取得部３１３とを具備する。記憶部３３０、３４０には、所定の検出対象データが書き込まれる。また、誤り検出部３２０は、所定の検出対象データにおける誤りの有無を検出して誤りの発生率を求める。また、経過時間取得部３１３は、所定数の単位データが書き込まれたときからの経過時間として発生率が高いほど長い時間を取得する。【選択図】図１
2017054249.tif 000002
【特許請求の範囲】
【請求項１】
所定の検出対象データが書き込まれた記憶部と、
前記所定の検出対象データにおける誤りの有無を検出して前記誤りの発生率を求める誤り検出部と、
前記所定の検出対象データが書き込まれたときからの経過時間として前記発生率が高いほど長い時間を取得する経過時間取得部と
を具備する記憶装置。
【請求項２】
前記記憶部は、前記経過時間および温度のそれぞれの変化に対する前記発生率の特性が異なる２つの記憶媒体を備え、
前記２つの記憶媒体の両方に前記検出対象データが書き込まれ、
前記誤り検出部は、前記２つの記憶媒体のそれぞれについて前記発生率を求め、
前記経過時間取得部は、前記２つの記憶媒体のそれぞれの前記特性と前記発生率とに基づいて前記経過時間を取得する
請求項１記載の記憶装置。
【請求項３】
コンテンツと当該コンテンツを再生することができる有効期間とを前記記憶部にさらに書き込み、前記経過時間に基づいて前記有効期間が経過したか否かを判断する管理部をさらに具備する
請求項１記載の記憶装置。
【請求項４】
前記誤り検出部は、前記外部記憶装置に電源が供給された場合に前記誤りの有無を検出し、
前記経過時間取得部は、前記検出対象データが書き込まれたときから前記電源が供給されたときまでの時間を前記経過時間として取得する
請求項３記載の記憶装置。
【請求項５】
前記管理部は、前記電源が供給された場合に前記有効期間が経過したか否かを判断する
請求項４記載の記憶装置。
【請求項６】
前記電源を使用して前記電源が供給されている時間を通電時間として計時するタイマをさらに具備し、
前記管理部は、前記経過時間および前記通電時間に基づいて前記有効期間が経過したか否かを判断する
請求項４記載の記憶装置。
【請求項７】
前記管理部は、前記コンテンツの読出しが指示された場合に前記有効期間が経過したか否かを判断する
請求項６記載の記憶装置。
【請求項８】
前記検出対象データは、所定のシード値から生成された疑似乱数を示すデータであり、
前記記憶部には前記所定のシード値がさらに書き込まれ、
前記誤り検出部は、
前記所定のシード値を前記記憶部から読み出して当該所定のシード値から前記疑似乱数を新たに生成する疑似乱数ジェネレータと、
前記生成された疑似乱数と前記記憶部から読み出した検出対象データとに対する所定の論理演算により前記誤りの有無を検出する論理演算部と、
前記論理演算の結果から前記発生率を取得する発生率取得部と
を備える請求項１記載の記憶装置。
【請求項９】
前記記憶部には前記誤りの有無を検出するためのパリティがさらに書き込まれ、
前記誤り検出部は、前記パリティを使用して前記誤りの有無を検出する
請求項１記載の記憶装置。
【請求項１０】
前記記憶部は、不揮発性メモリを備える
請求項１記載の記憶装置。
【請求項１１】
前記検出対象データは、複数回に亘って書き換えられた領域に書き込まれる
請求項１０記載の記憶装置。
【請求項１２】
所定の検出対象データが書き込まれた記憶部と、
電源が供給されると前記所定の検出対象データにおける誤りの有無を検出して前記誤りの発生率を求める誤り検出部と、
前記検出対象データが書き込まれたときから前記電源が供給されたときまでの経過時間として前記発生率が高いほど長い時間を取得する経過時間取得部と、
前記電源を供給するホスト装置と
を具備する情報処理装置。
【請求項１３】
記憶部に書き込まれた所定の検出対象データにおける誤りの有無を検出して前記誤りの発生率を求める誤り検出手順と、
前記所定数の単位データが書き込まれたときからの経過時間として前記発生率が高いほど長い時間を取得する経過時間取得手順と
を具備する記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、記憶装置、情報処理装置、および、記憶装置の制御方法に関する。詳しくは、一定期間内に再生することができるコンテンツを記憶する記憶装置、情報処理装置、および、記憶装置の制御方法に関する。
【背景技術】
【０００２】
従来より、映画や音楽などのデジタルコンテンツを再生機器がサーバからダウンロードして再生するコンテンツ配信サービスが提供されている（例えば、特許文献１参照。）。このコンテンツ配信サービスでは、コンテンツごとに有効期間が設定され、その有効期間に限りコンテンツを再生することができるレンタル方式を採用している。そして、現在時刻が有効期間内であるか否かを再生機器が判定して、有効期間が経過したコンテンツの再生を制限している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１６９７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、ダウンロードしたコンテンツのデータサイズが大きいと、再生機器の内蔵メモリの空き容量が不足するおそれがある。このため、ＳＳＤ（Solid State Drive）やＨＤＤ（Hard Disk Drive）などの外部記憶装置にコンテンツを移動できるようにすれば、コンテンツ配信サービスの利便性を向上させることができる。しかしながら、それらの外部記憶装置にコンテンツを移動すると、コンテンツの期限管理が困難になるという問題がある。これは、再生機器からの取り外しにより外部記憶装置の電源供給が遮断されると、その外部記憶装置における電源遮断中の経過時間を計時することができないためである。
【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、外部記憶装置において、一定期間内に再生することができるコンテンツの期限管理を行うことを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、所定の検出対象データが書き込まれた記憶部と、上記所定の検出対象データにおける誤りの有無を検出して上記誤りの発生率を求める誤り検出部と、上記所定の検出対象データが書き込まれたときからの経過時間として上記発生率が高いほど長い時間を取得する経過時間取得部とを具備する記憶装置、および、その制御方法である。これにより、検出対象データにおける誤りの発生率が高いほど長い経過時間が取得されるという作用をもたらす。
【０００７】
また、この第１の側面において、上記記憶部は、上記経過時間および温度のそれぞれの変化に対する上記発生率の特性が異なる２つの記憶媒体を備え、上記２つの記憶媒体の両方に上記検出対象データが書き込まれ、上記誤り検出部は、上記２つの記憶媒体のそれぞれについて上記発生率を求め、上記経過時間取得部は、上記２つの記憶媒体のそれぞれの上記特性と上記発生率とに基づいて上記経過時間を取得してもよい。これにより、２つの記憶媒体のそれぞれの誤りの発生率と特性とから経過時間が取得されるという作用をもたらす。
【０００８】
また、この第１の側面において、コンテンツと当該コンテンツを再生することができる有効期間とを上記記憶部にさらに書き込み、上記経過時間に基づいて上記有効期間が経過したか否かを判断する管理部をさらに具備してもよい。これにより、経過時間から有効期間が経過したか否かが判断されるという作用をもたらす。
【０００９】
また、この第１の側面において、上記誤り検出部は、上記外部記憶装置に電源が供給された場合に上記誤りの有無を検出し、上記経過時間取得部は、上記検出対象データが書き込まれたときから上記電源が供給されたときまでの時間を上記経過時間として取得してもよい。これにより、検出対象データが書き込まれたときから電源が供給されたときまでの時間が経過時間として取得されるという作用をもたらす。
【００１０】
また、この第１の側面において、上記管理部は、上記電源が供給された場合に上記有効期間が経過したか否かを判断してもよい。これにより、電源が供給された場合に有効期限が経過したか否かが判断されるという作用をもたらす。
【００１１】
また、この第１の側面において、上記電源を使用して上記電源が供給されている時間を通電時間として計時するタイマをさらに具備し、上記管理部は、上記経過時間および上記通電時間に基づいて上記有効期間が経過したか否かを判断することもできる。これにより、経過時間および通電時間に基づいて有効期間が経過したか否かが判断されるという作用をもたらす。
【００１２】
また、この第１の側面において、上記管理部は、上記コンテンツの読出しが指示された場合に上記有効期間が経過したか否かを判断することもできる。これにより、コンテンツの読出しが指示された場合に有効期間が経過したか否かが判断されるという作用をもたらす。
【００１３】
また、この第１の側面において、上記検出対象データは、所定のシード値から生成された疑似乱数を示すデータであり、上記記憶部には上記所定のシード値がさらに書き込まれ、上記誤り検出部は、上記所定のシード値を上記記憶部から読み出して当該所定のシード値から上記疑似乱数を新たに生成する疑似乱数ジェネレータと、上記生成された疑似乱数と上記記憶部から読み出した検出対象データとに対する所定の論理演算により上記誤りの有無を検出する論理演算部と、上記論理演算の結果から上記発生率を取得する発生率取得部とを備えてもよい。これにより、生成された疑似乱数と検査対象データとに対する論理演算により誤りの有無が検出されるという作用をもたらす。
【００１４】
また、この第１の側面において、上記記憶部には上記誤りの有無を検出するためのパリティがさらに書き込まれ、上記誤り検出部は、上記パリティを使用して上記誤りの有無を検出することもできる。これにより、パリティの使用により誤りの有無が検出されるという作用をもたらす。
【００１５】
また、この第１の側面において、上記記憶部は、不揮発性メモリを備えてもよい。これにより、不揮発性メモリにおける誤りの発生率が高いほど長い経過時間が取得されるという作用をもたらす。
【００１６】
また、この第１の側面において、上記検出対象データは、複数回に亘って書き換えられた領域に書き込まれてもよい。これにより、複数回に亘って書き換えられた不揮発性メモリにおける誤りの発生率が高いほど長い経過時間が取得されるという作用をもたらす。
【００１７】
また、本技術の第２の側面は、所定の検出対象データが書き込まれた記憶部と、電源が供給されると上記所定の検出対象データにおける誤りの有無を検出して上記誤りの発生率を求める誤り検出部と、上記検出対象データが書き込まれたときから上記電源が供給されたときまでの経過時間として上記発生率が高いほど長い時間を取得する経過時間取得部と、上記電源を供給するホスト装置とを具備する情報処理装置である。これにより、２つの記憶媒体のそれぞれの誤りの発生率と特性とから経過時間が取得されるという作用をもたらす。
【発明の効果】
【００１８】
本技術によれば、外部記憶装置において、一定期間内に再生することができるコンテンツの期限管理を行うことができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態における通信システムの一例を示す全体図である。
【図２】第１の実施の形態におけるＮＡＮＤ（否定論理積）フラッシュメモリのメモリセルの一構成例を示す図である。
【図３】第１の実施の形態における劣化前のフローティングゲートの電位の分布確率の一例を示すグラフである。
【図４】第１の実施の形態における劣化後のフローティングゲートの電位の分布確率の一例を示すグラフである。
【図５】第１の実施の形態におけるＳＴＴ（Spin Transfer Torque）−ＭＲＡＭ（Magnetoresistive Random Access Memory）のメモリセルの一構成例を示す図である。
【図６】第１の実施の形態におけるＳＴＴ−ＭＲＡＭのメモリセルのエネルギー状態の一例を示すグラフである。
【図７】第１の実施の形態における温度と時間との関係の一例を示すグラフである。
【図８】第１の実施の形態におけるＮＡＮＤフラッシュメモリのデータ領域の一構成例を示す図である。
【図９】第１の実施の形態における管理情報の一構成例を示す図である。
【図１０】第１の実施の形態における誤り検出部の一構成例を示すブロック図である。
【図１１】第１の実施の形態における外部記憶装置の動作の一例を示すフローチャートである。
【図１２】第１の実施の形態におけるクライアントコンピュータの動作の一例を示すシーケンス図である。
【図１３】第１の実施の形態の第１の変形例における外部記憶装置の一構成例を示すブロック図である。
【図１４】第１の実施の形態の第１の変形例における誤り検出部の一構成例を示すブロック図である。
【図１５】第１の実施の形態の第２の変形例における外部記憶装置の一構成例を示すブロック図である。
【図１６】第１の実施の形態の第３の変形例における外部記憶装置の動作の一例を示すフローチャートである。
【図１７】第２の実施の形態におけるクライアントコンピュータの一構成例を示すブロック図である。
【図１８】第２の実施の形態における外部記憶装置の動作の一例を示すフローチャートである。
【図１９】第２の実施の形態におけるクライアントコンピュータの動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２０】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（エラーレートから経過時間を取得する例）
２．第２の実施の形態（エラーレートから経過時間を取得し、通電時間を計時する例）
【００２１】
＜１．第１の実施の形態＞
［通信システムの構成例］
図１は、第１の実施の形態における通信システムの一例を示す全体図である。この通信システムは、コンテンツサーバ１００およびクライアントコンピュータ２００を備える。
【００２２】
コンテンツサーバ１００は、音楽や映画などのコンテンツをクライアントコンピュータ２００にネットワークを介して配信するものである。このコンテンツサーバ１００は、クライアントコンピュータ２００からの要求に応じて、コンテンツおよび管理情報をクライアントコンピュータ２００に供給する。ここで、管理情報は、コンテンツを管理するための情報であり、コンテンツの識別情報やコンテンツの有効期間を含む。この有効期間は、コンテンツを再生することができる期間を時間や日の単位で示すものである。
【００２３】
クライアントコンピュータ２００は、ホスト装置２１０および外部記憶装置３００を備える。なお、クライアントコンピュータ２００は、特許請求の範囲に記載の情報処理装置の一例である。
【００２４】
ホスト装置２１０は、外部記憶装置３００を制御するものである。このホスト装置２１０は、外部記憶装置３００が接続されると、その外部記憶装置３００に信号線２１９を介して電源を供給する。また、ホスト装置２１０は、ユーザの操作などに従って、コンテンツサーバ１００にコンテンツの配信を要求し、コンテンツおよび管理情報をダウンロードする。
【００２５】
また、ホスト装置２１０は、外部記憶装置３００との間で信号線２１９を介してコマンドやデータを送受信する。コマンドは、データの書込みを指示するライトコマンドや、データの読出しを指示するリードコマンドなどを含む。また、データは、コンテンツ、管理情報、シード値、および、検出対象データなどを含む。
【００２６】
ここで、検出対象データは、外部記憶装置３００において、誤り検出の対象とされるデータである。例えば、シード値から所定のアルゴリズムにより生成された疑似乱数を示すデータが検出対象データとして用いられる。疑似乱数を生成するアルゴリズムとしては、例えば、線形合同法が用いられる。また、シード値は、疑似乱数を生成するための数値である。
【００２７】
ホスト装置２１０は、例えば、工場出荷時や保守点検時などに、検出対象データをライトコマンドにより外部記憶装置３００に書き込む。また、ホスト装置２１０は、ユーザの操作に従って、ライトコマンドによりコンテンツを外部記憶装置３００に書込み、リードコマンドによりコンテンツを外部記憶装置３００から読み出して再生する。
【００２８】
なお、実際には、コンテンツの書込みや読出しを行うホスト装置２１０として、検出対象データを書き込むホスト装置と異なる装置が用いられる。しかし、第１の実施の形態では、説明の便宜上、同一の装置が用いられるものとしている。
【００２９】
また、ホスト装置２１０は、検出対象データを製品出荷時などに書き込んでいるが、製品出荷後において外部記憶装置３００に検出対象データを書き込んでもよい。例えば、ホスト装置２１０は、製品出荷後における外部記憶装置３００の初回起動時や、所定のアプリケーションを実行したときに検出対象データを生成して書き込んでもよい。
【００３０】
外部記憶装置３００は、コンテンツなどのデータを記憶するものである。この外部記憶装置３００は、ホスト装置２１０から取り外し、別のホスト装置に接続することができる。また、外部記憶装置３００は、メモリコントローラ３１０、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０を備える。なお、外部記憶装置３００は、特許請求の範囲に記載の記憶装置の一例である。
【００３１】
メモリコントローラ３１０は、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０を制御するものである。このメモリコントローラ３１０は、通信制御部３１１、データ管理部３１２、誤り検出部３２０および経過時間取得部３１３を備える。
【００３２】
通信制御部３１１は、データ管理部３１２とホスト装置２１０との間で、コマンドやデータを送受信するものである。
【００３３】
データ管理部３１２は、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０に保持されたデータを管理するものである。このデータ管理部３１２は、ライトコマンドに従って、検出対象データをＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の両方に書き込む。また、データ管理部は、ライトコマンドに従って、シード値をＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の一方（例えば、ＮＡＮＤフラッシュメモリ３３０）に書き込む。
【００３４】
また、データ管理部３１２は、経過時間取得部３１３から経過時間を受け取る。この経過時間は、検出対象データが書き込まれたときから検出対象データが読み出されたときまでに経過した実時間を示す。そして、データ管理部３１２は、経過時間に基づいて、コンテンツの有効期間が経過したか否かをコンテンツごとに判断する。コンテンツの有効期間が経過していれば、データ管理部３１２は、そのコンテンツのアクセスを禁止するか、コンテンツ自体を削除してコンテンツの再生を制限する。
【００３５】
また、データ管理部３１２は、ライトコマンドに従ってコンテンツおよび管理情報をＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の一方（例えば、ＮＡＮＤフラッシュメモリ３３０）に書き込む。ここで、コンテンツの管理情報の書込みの際には、そのコンテンツの保存時刻として経過時間が管理情報に追加される。さらに、データ管理部３１２は、リードコマンドに従ってＮＡＮＤフラッシュメモリ３３０などからコンテンツを読み出し、通信制御部３１１を介してホスト装置２１０に送信する。なお、データ管理部３１２は、特許請求の範囲に記載の管理部の一例である。
【００３６】
なお、データ管理部３１２は、シード値、コンテンツおよび管理情報を、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の一方に書き込んでいるが、この構成に限定されない。例えば、データ管理部３１２は、これらのデータを２つの不揮発性メモリ（３３０および３４０）に分散して書き込んでもよい。
【００３７】
誤り検出部３２０は、検出対象データにおける誤りの有無を検出して誤りの発生率をエラーレートとして求めるものである。この誤り検出部３２０は、例えば、ホスト装置２１０に外部記憶装置３００が接続されると、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０から検出対象データおよびシード値を読み出す。以下、ＮＡＮＤフラッシュメモリ３３０から読み出された検出対象データを「Ｄ１」とし、ＳＴＴ−ＭＲＡＭ３４０から読み出された検出対象データを「Ｄ２」とする。
【００３８】
そして、誤り検出部３２０は、シード値から疑似乱数を新たに生成し、その疑似乱数と検出対象データＤ１およびＤ２のそれぞれとをビット単位で比較して誤りの有無を検出する。誤り検出部３２０は、その比較結果において不一致のビットの個数（すなわち、エラー数）を、検出対象データのビット数で除算することによりエラーレートを算出する。このエラーレートは、符号化されていないロウデータのビットエラーレートであるため、ＲＢＥＲ（Raw Bit Error Rate）とも呼ばれる。以下、ＮＡＮＤフラッシュメモリ３３０について測定されたエラーレートを「Ｅ１」とし、ＳＴＴ−ＭＲＡＭ３４０について測定されたエラーレートを「Ｅ２」とする。誤り検出部３２０は、それらのエラーレートＥ１およびＥ２を経過時間取得部３１３に供給する。
【００３９】
なお、誤り検出部３２０は、ビット単位で誤りの有無を検出してビットエラーレートを算出しているが、誤りを検出する単位はビットに限定されない。例えば、誤り検出部３２０は、バイト単位で誤りの有無を検出してバイトエラーレートを算出してもよい。
【００４０】
経過時間取得部３１３は、エラーレートが高いほど長い時間を経過時間として取得するものである。ここで、一般に不揮発性メモリにおいては、温度が高いほどエラーレートが高くなり、また、経過時間が長いほどエラーレートが高くなることが知られている。このようなエラーレート特性を表した式は、不揮発性メモリの種類により異なるものとなる。
【００４１】
ＮＡＮＤフラッシュメモリ３３０においてエラーレート（ＲＢＥＲ）は、例えば、次の式により表される。
ＲＢＥＲ＝ＲＢＥＲ０＋ｋ（Ｂ０ｔｍ）                          ・・・式１
ｋ＝Ａ×ｅｘｐ｛−（Ｅａ／ＫＢＴ）｝                          ・・・式２
【００４２】
式１において、ＲＢＥＲ０は、検出対象データを書き込んだ直後におけるエラーレートの初期値を示す。Ｂ０は、材料やプロセスに起因する加速因子定数である。ｔは経過時間であり、単位は例えば、秒（ｓ）である。ｍは、所定の定数である。ｋは、メモリセルにおける化学反応の速度定数である。式２において、Ａは所定の定数である。Ｅａは、材料やプロセスに起因する活性化エネルギーであり、単位は、例えば、ジュール（Ｊ）である。ＫＢは、ボルツマン定数であり、単位は、例えば、ジュール毎ケルビン（Ｊ／Ｋ）である。Ｔは温度であり、単位は、例えば、ケルビン（Ｋ）である。なお、式２はアレニウスの式と呼ばれる。
【００４３】
式１のエラーレート特性は、例えば、「JEDEC JEP112G page22」に記載されている。
【００４４】
また、ＳＴＴ−ＭＲＡＭ３４０においてエラーレート（ＲＢＥＲ）は、例えば、次の式により表される。
ＲＢＥＲ＝１−ｅｘｐ｛−ｔ×ｅｘｐ（−ＫＵ・ＫＢ-1・Ｔ-1）｝  ・・・式３
上式において、ＫＵは、磁気異方性エネルギーであり、単位は、例えば、ジュール（Ｊ）である。この磁気異方性エネルギーＫＵの値は、材料などに依存する。
【００４５】
式３のエラーレート特性は、例えば、「Y. Yamamoto, et al., Magnetoresistive random access memory operation error by thermally activated reversal, Journal of Applied Physics., vol. 97, 2005」に記載されている。
【００４６】
経過時間取得部３１３は、ＮＡＮＤフラッシュメモリ３３０で測定されたエラーレートＥ１を式１に代入し、ＳＴＴ−ＭＲＡＭ３４０で測定されたエラーレートＥ２を式３に代入する。これにより、式１および式３の変数は、経過時間ｔおよび温度Ｔの２つとなる。このため、経過時間取得部３１３は、式１および式３を連立方程式として解くことにより、経過時間ｔおよび温度Ｔを算出することができる。経過時間取得部３１３は、算出した経過時間ｔをデータ管理部３１２に供給する。
【００４７】
ＮＡＮＤフラッシュメモリ３３０は、検出対象データ、コンテンツ、管理情報およびシード値などのデータを記憶するものである。ＳＴＴ−ＭＲＡＭ３４０は、検出対象データなどのデータを記憶するものである。なお、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０は、特許請求の範囲に記載の記憶部の一例である。
【００４８】
ここで、仮に外部記憶装置３００が、バッテリと、そのバッテリで動作するリアルタイムクロックとを備えていれば、エラーレートを検出しなくても、電源遮断中および通電中に継続して時間を計時して期限管理することができる。しかし、この構成では、バッテリを搭載する外部記憶装置にしか、コンテンツを移動させることができないため、移動先の装置の選択肢が少なくなり、利便性を損なってしまう。
【００４９】
これに対して、外部記憶装置３００は、電源遮断中の時間を含む経過時間をエラーレートから取得するため、バッテリを搭載してしない外部記憶装置３００にもコンテンツを移動させることができる。これにより、移動先の選択肢が増えて、コンテンツ配信サービスの利便性を向上させることができる。また、ホスト装置２１０は有効期間の期限管理を行う必要がなくなる。さらに、コンテンツの権利保護を物理レベルで実現することができる。また、移動先の外部記憶装置３００は、バッテリを内蔵する必要がないため、外部記憶装置３００として、小型で低コストのものを利用することができる。
【００５０】
なお、外部記憶装置３００は、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０にデータを書き込んでいるが、エラーレート特性が異なる記憶媒体であれば、これら以外の組合せの２つの記憶媒体にデータを書き込んでもよい。例えば、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の一方を、ＲｅＲＡＭ（Resistive Random Access Memory）やＰＣＲＡＭ（Phase-Change RAM）に置き換えてもよい。また、ＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の両方を別の記憶媒体に置き換えてもよい。この場合には、温度および経過時間のそれぞれの変動に対するエラーレート特性を示すモデル式を予め求めておき、外部記憶装置３００は、式１や式３の代わりに、そのモデル式を用いて経過時間を算出する。
【００５１】
また、外部記憶装置３００は、バッテリおよびリアルタイムクロックをさらに備えてもよい。この構成において外部記憶装置３００は、例えば、バッテリの残り寿命が一定値になるまではリアルタイムクロックの計時時間に基づいて期限管理を行い、残り寿命が一定値になった後はエラーレートから算出した経過時間に基づいて期限管理を行えばよい。残り寿命は、例えば、リアルタイムクロックの計時時間の積算値などから推測される。
【００５２】
また、クライアントコンピュータ２００において、算出された温度Ｔは、コンテンツの期限管理に用いられることは無いが、この温度Ｔを期限管理と別の処理に用いてもよい。例えば、外部記憶装置３００は、算出した温度Ｔや経過時間ｔをホスト装置２１０に供給し、ホスト装置２１０は、それらを外部記憶装置３００のステータスとして表示装置に表示させてもよい。あるいは、外部記憶装置３００は、書換え回数、温度Ｔや経過時間ｔから記憶媒体の残りの製品寿命を推測し、ホスト装置２１０に供給してもよい。
【００５３】
また、コンテンツサーバ１００は、１つのクライアントコンピュータ２００にコンテンツを配信しているが、複数のクライアントコンピュータにコンテンツを配信してもよい。
【００５４】
[メモリセルの構成例]
図２は、第１の実施の形態におけるＮＡＮＤフラッシュメモリ３３０のメモリセルの一構成例を示す図である。このメモリセルは、コントロールゲート３３１、酸化膜絶縁体３３２、フローティングゲート３３３、トンネル酸化膜３３４およびシリコン基板３３５を備える。なお、同図は、フローティングゲート型のＮＡＮＤフラッシュメモリの構成例を示しているが、フローティング型に限定されず、チャージトラップ型の構成であってもよい。
【００５５】
シリコン基板３３５にはｐウェル層と２つのＮ＋層とが形成される。これらのＮ＋層の一方がソースとして用いられ、他方がドレインとして用いられる。
【００５６】
トンネル酸化膜３３４は、フローティングゲート３３３とシリコン基板３３５とを絶縁するものである。
【００５７】
フローティングゲート３３３は、電荷を蓄積するものである。フローティングゲート３３３に蓄積される電荷の量により、フローティングゲート３３３の電位が複数のレベルのいずれかに変化する。これらのレベルのそれぞれに異なる値を割り当てることにより、メモリセルは、論理値などの値を保持する記憶素子として機能する。
【００５８】
酸化膜絶縁体３３２は、フローティングゲート３３３とコントロールゲート３３１とを絶縁するものである。
【００５９】
コントロールゲート３３１には、ハイレベルまたはローレベルのゲート電圧が印加される。ＮＡＮＤフラッシュメモリ３３０内の回路が、このゲート電圧を制御することにより、メモリセルに対して書込みや消去を行うことができる。
【００６０】
図３は、第１の実施の形態における劣化前のフローティングゲート３３３の電位ＶＦＧの分布確率の一例を示すグラフである。同図における横軸は、フローティングゲート３３３の電位ＶＦＧを示し、縦軸は、その電位ＶＦＧの分布確率を示す。この電位ＶＦＧは、閾値Ｖｔｈ１、Ｖｔｈ２およびＶｔｈ３の３つの閾値により、４つのレベルに分類される。これらの４つのレベルに、例えば、２進数表記で「１１」、「０１」、「００」および「１０」が割り当てられる。このように、３つ以上のレベルのいずれかを保持するメモリセルは、ＭＬＣ（Multi-Level Cell）と呼ばれる。なお、ＮＡＮＤフラッシュメモリ３３０のメモリセルは、ハイレベルおよびローレベルのいずれかを保持するＳＬＣ（Single-Level Cell）であってもよい。
【００６１】
図４は、第１の実施の形態における劣化後のフローティングゲート３３３の電位ＶＦＧの分布確率の一例を示すグラフである。時間の経過や温度変化によりメモリセルの劣化が進行すると、フローティングゲート３３３内に蓄積された電荷がトンネル酸化膜３３４を介して漏出し、フローティングゲート３３３の電位ＶＦＧが変動する。この結果、同図に例示するように、電位の分布が全体的に低電圧側にシフトする。同図において、点線の曲線は、シフト前の分布を示し、実線の曲線はシフト後の分布を示す。電位が閾値を超えてシフトした場合には書き込んだ値と異なる値が読み出され、リードエラーが発生する。
【００６２】
例えば、閾値Ｖｔｈ２乃至Ｖｔｈ３の電位に「００」を割り当て、Ｖｔｈ３より高い電位に「１０」を割り当てた場合を考える。このメモリセルに「１０」を書き込んだ後に、劣化により閾値Ｖｔｈ３以下のＶＡに電位が低下すると、書き込んだ値と異なる「００」が読み出されてしまう。このように、データ保持特性の劣化により生じるエラーは、リテンションエラーと呼ばれる。このリンテンションエラーの発生率は、式１に例示したように時間の経過または温度上昇により高くなる。
【００６３】
図５は、第１の実施の形態におけるＳＴＴ−ＭＲＡＭ３４０のメモリセルの一構成例を示す図である。このメモリセルは、記憶層３４１、トンネルバリア３４２および固定層３４３およびトランジスタ３４４を備える。トランジスタ３４４として、例えば、Ｎ型のＭＯＳ（Metal-Oxide-Semiconductor）トランジスタが用いられる。
【００６４】
記憶層３４１は、スピンが固定層３４３と同じ方向または反対方向に向いた電子を保持するものである。スピンの向きの状態のそれぞれに異なる論理値を割り当てることにより、メモリセルは、論理値を保持する記憶素子として機能する。
【００６５】
トンネルバリア３４２は、記憶層３４１と固定層３４３とを隔てるエネルギー障壁である。固定層３４３は、スピンが一定の方向に向いた電子を保持するものである。
【００６６】
トランジスタ３４４のゲートは、ワード線に接続され、ドレインは固定層３４３に接続される。また、トランジスタ３４４のソースと記憶層３４１とは、ビット線に接続される。
【００６７】
ＳＴＴ−ＭＲＡＭ３４０内の回路が、トランジスタ３４４をオン状態に制御し、同時にビット線の電圧を制御して、メモリセルを流れる電流の方向を制御することにより、メモリセルの保持値を書き換えることができる。
【００６８】
図５におけるａは、回路が記憶層３４１に対してトランジスタ３４４のソース電圧をハイレベルに制御し、固定層３４３から記憶層３４１へ電流を流した場合のメモリセルの状態を示す。この場合にメモリセルは、記憶層３４１のスピンの向きが固定層３４３と同じ方向に揃った平行状態になる。この平衡状態は、メモリセルの抵抗値が比較的低いことから、低抵抗状態とも呼ばれる。この平衡状態に、例えば、論理値「０」が割り当てられる。
【００６９】
図５におけるｂは、回路が記憶層３４１に対してトランジスタ３４４のソース電圧をローレベルに制御し、記憶層３４１から固定層３４３へ電流を流した場合のメモリセルの状態を示す。この場合にメモリセルは、記憶層３４１のスピンの向きが固定層３４３と反対の反平行状態になる。この反平衡状態は、メモリセルの抵抗値が比較的高いことから、高抵抗状態とも呼ばれる。この反平衡状態に、例えば、論理値「１」が割り当てられる。
【００７０】
図６は、第１の実施の形態におけるＳＴＴ−ＭＲＡＭ３４０のメモリセルのエネルギー状態の一例を示すグラフである。同図における横軸は、ビット線の電圧を示し、縦軸は、メモリセルのエネルギーを示す。黒丸は、メモリセルの状態を示し、エネルギーバリアＥＢは、トンネルバリア３４２のエネルギーを示す。記憶層３４１のスピンは、強い一軸磁気異方性を持っており、スピンが固定層３４３と同じ向き、または、反対の向きの際にエネルギー状態が安定する。このため、メモリセルは、電流が遮断されてもデータを保持することができる。しかし、様々な要因により、書き込まれた後において、ある一定確率で反平行状態および平衡状態の一方から他方に状態が遷移してしまう。これにより、リテンションエラーが生じる。このリンテンションエラーの発生率は、式３に例示したように時間の経過または温度上昇により高くなる。
【００７１】
図７は、第１の実施の形態における温度と時間との関係の一例を示すグラフである。同図における縦軸は、経過時間であり、横軸は温度である。同図における実線は、あるエラーレートＥ１が計測された際のＮＡＮＤフラッシュメモリ３３０の経過時間と温度との関係を示す曲線である。また、同図における点線は、あるエラーレートＥ２が計測された際のＳＴＴ−ＭＲＡＭ３４０の経過時間と温度との関係を示す曲線である。これらの曲線は、ある時間ｔ１において交差し、この時間ｔ１が、検出対象データが書き込まれたときから経過した経過時間に該当する。
【００７２】
図８は、第１の実施の形態におけるＮＡＮＤフラッシュメモリ３３０のデータ領域の一構成例を示す図である。このＮＡＮＤフラッシュメモリ３３０には、検出対象データ領域３３６と通常データ領域３３７とが設けられる。
【００７３】
検出対象データ領域３３６は、検出対象データを書き込むための領域である。この検出対象データ領域３３６への書込みは、工場出荷時や保守点検時などにおいて行われ、一般のユーザは、この領域にアクセスすることができないものとする。このため、検出対象データ領域３３６の書換え回数は非常に少ない。一般に、不揮発性メモリのエラーレートは、温度や経過時間の他、書換え回数にも依存するが、検出対象データ領域３３６の書換え回数は非常に少ないため、経過時間の算出において考慮する必要はない。
【００７４】
また、通常データ領域３３７は、検出対象データ以外のデータを書き込むための領域である。この通常データ領域３３７には、例えば、コンテンツ、管理情報およびシード値が書き込まれる。管理情報は、コンテンツごとに生成されて通常データ領域３３７に書き込まれる。例えば、コンテンツＣＮ１とともに、対応する管理情報ＭＤ１が書き込まれ、コンテンツＣＮ２とともに、対応する管理情報ＭＤ２が書き込まれる。
【００７５】
なお、外部記憶装置３００は、コンテンツごとに管理情報を保持する構成としているが、複数のコンテンツに対して１つの管理情報を保持する構成としてもよい。この場合、コンテンツのそれぞれの識別情報や有効期間が１つの管理情報内にまとめて格納される。また、外部記憶装置３００は、コンテンツに付加されるメタデータに管理情報を格納して保持してもよい。
【００７６】
図９は、第１の実施の形態における管理情報の一構成例を示す図である。この管理情報には、例えば、タイトル、コンテンツ識別情報、コンテンツ保存時刻および有効期間が格納される。タイトルは、コンテンツの名称であり、コンテンツ識別情報は、コンテンツを識別するための情報である。また、コンテンツ保存時刻は、コンテンツを外部記憶装置３００に保存した時刻を示す。有効期間は、コンテンツを再生することができる期間を示す。
【００７７】
外部記憶装置３００がホスト装置２１０に接続されると、経過時間取得部３１３は、経過時間を取得する。データ管理部３１２は、取得した経過時間とコンテンツ保存時刻との差分が有効期間より長いか否か（すなわち、有効期間を経過しているか否か）を判断する。また、データ管理部３１２は、コンテンツおよび管理情報をホスト装置２１０から受信した場合に、その経過時間をコンテンツ保存時刻として管理情報に格納し、コンテンツとともにＮＡＮＤフラッシュメモリ３３０に書き込む。
【００７８】
［誤り検出部の構成例］
図１０は、第１の実施の形態における誤り検出部３２０の一構成例を示すブロック図である。この誤り検出部３２０は、疑似乱数ジェネレータ３２１と、排他的論理和演算部３２２および３２３と、エラーカウンタ３２４および３２５と、エラーレート算出部３２６および３２７とを備える。
【００７９】
疑似乱数ジェネレータ３２１は、シード値から疑似乱数を生成するものである。この疑似乱数ジェネレータ３２１は、例えば、ＬＦＳＲ（Linear Feedback Shift Register）などにより実現される。疑似乱数ジェネレータ３２１は、ＮＡＮＤフラッシュメモリ３３０からシード値を読み出し、そのシード値から疑似乱数を生成する。そして、疑似乱数ジェネレータ３２１は、その疑似乱数を示すデータを検出対象データＤ０として、排他的論理和演算部３２２および３２３に供給する。
【００８０】
排他的論理和演算部３２２は、ＮＡＮＤフラッシュメモリ３３０から読み出された検出対象データＤ１と、生成された検出対象データＤ０とに対して、対応するビットごとにＸＯＲ（排他的論理和）演算を行うものである。この排他的論理和演算部３２２は、演算結果をエラーカウンタ３２４に供給する。
【００８１】
排他的論理和演算部３２３は、ＳＴＴ−ＭＲＡＭ３４０から読み出された検出対象データＤ２と、生成された検出対象データＤ０とに対して、対応するビットごとにＸＯＲ演算を行うものである。この排他的論理和演算部３２２は、演算結果をエラーカウンタ３２５に供給する。なお、排他的論理和演算部３２２および３２３は、特許請求の範囲に記載の論理演算部の一例である。
【００８２】
エラーカウンタ３２４は、排他的論理和演算部３２２の演算結果において、「１」のビット（すなわち、不一致のビット）の個数をエラー数として計数するものである。エラーカウンタ３２４は、エラー数をエラーレート算出部３２６に供給する。
【００８３】
エラーカウンタ３２５は、排他的論理和演算部３２３の演算結果において、「１」のビットの個数をエラー数として計数するものである。エラーカウンタ３２５は、エラー数をエラーレート算出部３２７に供給する。
【００８４】
エラーレート算出部３２６は、エラーカウンタ３２４で計数されたエラー数を、検出対象データのビット数により除した値をエラーレートＥ１として算出するものである。エラーレート算出部３２６は、エラーレートＥ１を経過時間取得部３１３に供給する。なお、エラーレート算出部３２６は、特許請求の範囲に記載の発生率取得部の一例である。
【００８５】
エラーレート算出部３２７は、エラーカウンタ３２５で計数されたエラー数を、検出対象データのビット数により除した値をエラーレートＥ２として算出するものである。エラーレート算出部３２７は、エラーレートＥ２を経過時間取得部３１３に供給する。
【００８６】
［外部記憶装置の動作例］
図１１は、第１の実施の形態における外部記憶装置３００の動作の一例を示すフローチャートである。この動作は、例えば、ホスト装置２１０から検出対象データおよびライトコマンドが供給されたときに開始する。
【００８７】
外部記憶装置３００は、検出対象データを２つの不揮発性メモリ（３３０および３４０）の両方に書き込む（ステップＳ９０１）。そして、外部記憶装置３００は、ホスト装置２１０に再度接続されたか否かを判断する（ステップＳ９０２）。ホスト装置２１０に接続されていない場合に（ステップＳ９０２：Ｎｏ）、外部記憶装置３００は、ステップＳ９０２を繰り返す。
【００８８】
ホスト装置２１０に接続された場合に（ステップＳ９０２：Ｙｅｓ）、外部記憶装置３００は、２つの不揮発性メモリ（３３０および３４０）から検出対象データＤ１およびＤ２を読み出す（ステップＳ９０３）。外部記憶装置３００は、それらの検出対象データの誤りの有無を検出し、メモリ毎にエラーレートを算出する（ステップＳ９０４）。そして、外部記憶装置３００は、エラーレートから式１および式３を使用して経過時間ｔを算出する（ステップＳ９０５）。外部記憶装置３００は、その経過時間ｔに基づいて、有効期間を経過したコンテンツを削除する（ステップＳ９０６）。そして、外部記憶装置３００は、コマンドに従ってコンテンツのリード処理またはライト処理を実行し（ステップＳ９０７）、動作を終了する。また、再度、ホスト装置２１０に接続された際に外部記憶装置３００は、ステップＳ９０３以降を繰り返す。
【００８９】
［クライアントコンピュータの動作例］
図１２は、第１の実施の形態におけるクライアントコンピュータの動作の一例を示すシーケンス図である。ホスト装置２１０は、検出対象データおよびライトコマンドをメモリコントローラ３１０に送信する（ステップＳ９５１）。メモリコントローラ３１０は、ライトコマンドに従って、検出対象データをＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０の両方に書き込む（ステップＳ９５２、Ｓ９５３）。
【００９０】
ホスト装置２１０から外部記憶装置３００が取り外され、再接続されると外部記憶装置３００に電源が投入される（ステップＳ９５４）。メモリコントローラ３１０は、検出対象データをＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０から読み出す（ステップＳ９５５、Ｓ９５６）。そして、メモリコントローラ３１０は、それらの検出対象データからエラーレートを算出し、経過時間ｔ１を算出する（ステップＳ９５７）。
【００９１】
電源投入中にホスト装置２１０がコンテンツおよび管理情報とライトコマンドとをメモリコントローラ３１０に送信する（ステップＳ９５８）。メモリコントローラ３１０は、ステップＳ９５７で取得した経過時間ｔ１をコンテンツ保存時刻として管理情報に格納し、ライトコマンドに従ってコンテンツとともにＮＡＮＤフラッシュメモリ３３０に書き込む（ステップＳ９５９）。
【００９２】
ホスト装置２１０から外部記憶装置３００が取り外され、再度接続されると（ステップＳ９６０）、メモリコントローラ３１０は、検出対象データをＮＡＮＤフラッシュメモリ３３０およびＳＴＴ−ＭＲＡＭ３４０から読み出す（ステップＳ９６１、Ｓ９６２）。そして、メモリコントローラ３１０は、それらの検出対象データからエラーレートを算出し、経過時間ｔ２を算出する（ステップＳ９６３）。メモリコントローラ３１０は、経過時間ｔ２と、コンテンツ保存時刻ｔ１との差分によりコンテンツの期限管理を行う。すなわち、メモリコントローラ３１０は、コンテンツごとに、対応する管理情報を参照して、ｔ２−ｔ１が有効期間より長いか否かを判断する（ステップＳ９６４）。メモリコントローラ３１０は、ｔ２−ｔ１が有効期間より長いコンテンツについて、そのコンテンツを消去するための消去フラグをＮＡＮＤフラッシュメモリ３３０に書き込む（ステップＳ９６５）。
【００９３】
なお、メモリコントローラ３１０は、ホスト装置２１０に接続されたとき（すなわち、電源が投入されたとき）のみに経過時間を算出しているが、この構成に限定されない。例えば、メモリコントローラ３１０は、電源投入中において、一定時間が経過するたびに経過時間を算出してもよい。
【００９４】
このように、本技術の第１の実施の形態によれば、外部記憶装置３００は、検出対象データのエラーレートが高いほど長い時間を経過時間として取得するため、外部記憶装置３００は、その経過時間によりコンテンツの期限管理を行うことができる。
【００９５】
［第１の変形例］
上述の第１の実施の形態では、外部記憶装置３００は、シード値から疑似乱数を生成して、読み出した検出対象データと比較することにより誤りを検出していた。しかし、疑似乱数を生成するには、ＬＦＳＲなどの専用の回路やプログラムを外部記憶装置３００に設けなくてはならなくなる。この第１の変形例の外部記憶装置３００は、疑似乱数を生成する回路等を用いずに、誤りの有無を検出する点において第１の実施の形態と異なる。
【００９６】
図１３は、第１の実施の形態の第１の変形例における外部記憶装置の一構成例を示すブロック図である。第１の変形例の外部記憶装置３００は、データ管理部３１２の代わりにデータ管理部３１４を備える点において第１の実施の形態と異なる。
【００９７】
データ管理部３１４は、ホスト装置２１０からの検出対象データを、誤り検出訂正符号（ＥＣＣ：Error detection and Correction Code）における符号語に符号化する。データ管理部３１４は、例えば、検出対象データを、ＫシンボルごとにＮシンボルの符号語に符号化する。ここで、Ｋは整数であり、ＮはＫより大きな整数である。また、シンボルは、符号語を構成する最小単位であり、例えば、ビットである。生成された符号語は、Ｋシンボルの元のデータと、誤りを検出するための（Ｎ−Ｋ）シンボルのパリティとを含む。この符号語からなるデータが符号化データとして書き込まれる。また、データ管理部３１４は、コンテンツや管理情報についても符号化して書き込み、それらを読み出す際に復号する。符号化および復号においては、例えば、リード・ソロモン符号やＢＣＨ符号における符号化アルゴリズムおよび復号アルゴリズムが用いられる。
【００９８】
図１４は、第１の実施の形態の第１の変形例における誤り検出部３２０の一構成例を示すブロック図である。この第１の変形例の誤り検出部３２０は、復号部３２８およびエラーレート算出部３２９を備える。
【００９９】
復号部３２８は、符号化データを復号するものである。この復号部３２８は、ホスト装置２１０に外部記憶装置３００が接続されると、符号化された検出対象データを２つの不揮発性メモリ（３３０および３４０）のそれぞれから読み出す。そして、復号部３２８は、パリティを使用して、検出対象データのそれぞれの誤りの有無を検出する。ＥＣＣにおいて符号語同士のハミング距離をｄとすると、復号部３２８は、符号語当たりｄ−１個までの誤りを検出することができる。復号部３２８は、２つの不揮発性メモリ（３３０および３４０）のそれぞれで検出したエラー数をエラーレート算出部３２９に供給する。
【０１００】
エラーレート算出部３２９は、不揮発性メモリ毎にエラーレートを算出するものである。このエラーレート算出部３２９は、エラーレートＥ１およびＥ２を算出して経過時間取得部３１３に供給する。
【０１０１】
一般にメモリコントローラ３１０は、データを書き込む際にＥＣＣに符号化して書き込むことが多い。このため、ＥＣＣにより誤り検出する構成とすれば、検出対象データ以外のデータの符号化および復号を行う回路やプログラムを、検出対象データの符号化および復号にそのまま利用することができ、ＬＦＳＲなどの専用の回路等が不要となる。ただし、前述したようにＥＣＣで検出することができる誤りの個数は符号語当たりｄ−１個までである。このため、このｄ−１個より多い誤りが生じるおそれがある場合には、第１の実施の形態の構成を用いればよい。
【０１０２】
このように、本技術の第１の実施の形態の第１の変形例によれば、外部記憶装置３００は、検出対象データの誤りの有無をパリティを使用して検出するため、疑似乱数を生成する回路等を用いずに、経過時間を取得することができる。
【０１０３】
［第２の変形例］
上述の第１の実施の形態では、外部記憶装置３００は、エラーレート特性の異なる２つの記憶媒体（３３０および３４０）の両方でエラーレートを検出して経過時間を取得していた。しかし、記憶媒体が１つしかない外部記憶装置３００では経過時間を取得することができない。また、記憶媒体が２つあっても、一方のエラーレート特性が不明である場合は同様に外部記憶装置３００は経過時間を取得することができない。この第１の実施の形態の第２の変形例の外部記憶装置３００は、１つの記憶媒体のエラーレートから経過時間を取得する点において第１の実施の形態と異なる。
【０１０４】
図１５は、第１の実施の形態の第２の変形例における外部記憶装置３００の一構成例を示すブロック図である。この外部記憶装置３００は、ＳＴＴ−ＭＲＡＭ３４０を備えない点において第１の実施の形態と異なる。
【０１０５】
また、第２の変形例の誤り検出部３２０は、ＮＡＮＤフラッシュメモリ３３０のエラーレートのみを算出する。第２の変形例の経過時間取得部３１３は、算出されたエラーレートと、予め決めておいた所定温度（２０度など）とを式１に代入して経過時間を求める。
【０１０６】
なお、外部記憶装置３００の温度を測定する温度センサをさらに備えてもよい。この場合に経過時間取得部３１３は、測定された温度と、エラーレートとを式１などに代入して経過時間を算出する。
【０１０７】
このように、本技術の第１の実施の形態の第２の変形例によれば、外部記憶装置３００は、１つの記憶媒体（３３０）のエラーレートのみから経過時間を取得するため、外部記憶装置３００に２つの記憶媒体を設ける必要がなくなる。
【０１０８】
［第３の変形例］
上述の第１の実施の形態では、データ管理部３１２は、書換え回数が非常に少ない検出対象データ領域３３６に検出対象データを書き込んでいた。しかし、書換え回数が少ないことに加えて、経過時間が短く、温度も低い環境下では、エラーレートが非常に低くなり、誤り検出部３２０で誤りをほとんど検出することができないおそれがある。この第３の変形例の外部記憶装置３００は、エラーレートを意図的に高くする点において第１の実施の形態と異なる。
【０１０９】
図１６は、第１の実施の形態の第３の変形例における外部記憶装置３００の動作の一例を示すフローチャートである。この第３の変形例の外部記憶装置３００の動作は、ステップＳ９１１をさらに実行する点において第１の変形例と異なる。
【０１１０】
ホスト装置２１０から検出対象データおよびライトコマンドが送信されると、外部記憶装置３００は、値の異なる複数のダミーデータを生成して検出対象データ領域３３６に、順に書き込み、その領域を複数回に亘って書き換える（ステップＳ９１１）。例えば、外部記憶装置３００は、異なる複数のシード値から複数の疑似乱数を生成して、それらをダミーデータとして書き込む。そして、外部記憶装置３００は、ステップＳ９０１以降を実行する。
【０１１１】
なお、外部記憶装置３００の代わりにホスト装置２１０がダミーデータを生成して外部記憶装置３００に送信してもよい。
【０１１２】
一般に不揮発性メモリは、書換え回数が多いほど劣化が加速して、誤りが発生しやすくなる。このため、複数のダミーデータの書込みによりエラーレートが高くなり、経過時間が短い場合や温度が低い場合においても誤り検出部３２０は容易に誤りを検出することができる。このように書換え回数が多くなるほどエラーレートが高くなるため、第３の変形例では、式１における初期値ＲＢＥＲ０、加速因子係数Ｂ０や定数ｍに、書換え回数が多いほど大きな値が設定される。
【０１１３】
このように、本技術の第１の実施の形態の第３の変形例によれば、外部記憶装置３００は、検出対象データ領域３３６を複数回に亘って書き換えるため、誤りが発生しやすくなる。このため、経過時間が短い場合や温度が低い場合においても外部記憶装置３００は、検出対象データの誤りを容易に検出することができる。
【０１１４】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、外部記憶装置３００は、ホスト装置２１０に接続されたとき（すなわち、電源が供給されたとき）のみに経過時間を算出し、通電中は計時を行っていなかった。このため、外部記憶装置３００は、通電中に有効期間を経過したコンテンツの再生を制限することができなかった。この第２の実施の形態の外部記憶装置３００は、通電中に経過した時間を計時する点において第１の実施の形態と異なる。
【０１１５】
図１７は、第２の実施の形態におけるクライアントコンピュータ２００の一構成例を示すブロック図である。第２の実施の形態のクライアントコンピュータ２００は、外部記憶装置３００にタイマ３１５をさらに備え、データ管理部３１２の代わりにデータ管理部３１６を備える点において第１の実施の形態と異なる。
【０１１６】
タイマ３１５は、ホスト装置２１０からの電源を使用して、その電源が供給されている時間を通電時間として計時するものである。このタイマ３１５は、通電時間をデータ管理部３１６に供給する。
【０１１７】
また、データ管理部３１６は、コンテンツの読出しの際に、経過時間および通電時間に基づいて、コンテンツの期限管理を行う点において第１の実施の形態と異なる。
【０１１８】
図１８は、第２の実施の形態における外部記憶装置３００の動作の一例を示すフローチャートである。この第２の実施の形態の外部記憶装置３００は、ステップＳ９０６およびＳ９０７の代わりにステップＳ９２１乃至Ｓ９２６を実行する点において第１の実施の形態と異なる。
【０１１９】
外部記憶装置３００は、経過時間を算出すると（ステップＳ９０５）、通電時間の計時を開始する（ステップＳ９２１）。外部記憶装置３００は、ホスト装置２１０からコマンドを受信したか否かを判断する（ステップＳ９２２）。ここで、受信するコマンドは、リードコマンドおよびライトコマンドのいずれかであるものとする。
【０１２０】
コマンドを受信した場合に（ステップＳ９２２：Ｙｅｓ）、外部記憶装置３００は、コマンドがリードコマンドであるか否かを判断する（ステップＳ９２３）。リードコマンドである場合に（ステップＳ９２３：Ｙｅｓ）、外部記憶装置３００は、経過時間および通電時間に基づいて、有効期間の経過したコンテンツを削除する（ステップＳ９２４）。外部記憶装置３００は、リードコマンドに従って、削除されていないコンテンツを読み出す（ステップＳ９２５）。
【０１２１】
一方、ライトコマンドである場合に（ステップＳ９２３：Ｎｏ）、外部記憶装置３００は、コンテンツを管理情報とともに書き込む（ステップＳ９２６）。ステップＳ９２５またはＳ９２６の後、もしくは、コマンドを受信していない場合に（ステップＳ９２２：Ｎｏ）、外部記憶装置３００は、ステップＳ９２２以降を繰り返し実行する。
【０１２２】
図１９は、第２の実施の形態におけるクライアントコンピュータ２００の動作の一例を示すシーケンス図である。検出対象データの書込み後にホスト装置２１０が再接続されると（ステップＳ９５４）、メモリコントローラ３１０は、検出対象データＤ１およびＤ２を２つの不揮発性メモリ（３３０および３４０）から読み出す（ステップＳ９５５、Ｓ９５６）。
【０１２３】
そして、メモリコントローラ３１０は、それらの検出対象データのエラーレートから経過時間ｔ１を算出し、また、通電時間の計時を開始する（ステップＳ９７１）。通電時間ｔｅ１が経過したときにホスト装置２１０からコンテンツおよび管理情報を受信すると（ステップＳ９７２）、メモリコントローラ３１０は、それらをＮＡＮＤフラッシュメモリ３３０に書き込む（ステップＳ９７３）。ここで、管理情報には、経過時間ｔ１と通電時間ｔｅ１との合計値がコンテンツ保存時刻として格納される。
【０１２４】
ホスト装置２１０から外部記憶装置３００が再接続されると（ステップＳ９７４）、メモリコントローラ３１０は、検出対象データを２つの不揮発性メモリから読み出す（ステップＳ９７５、Ｓ９７６）。そして、メモリコントローラ３１０は、それらの検出対象データのエラーレートから経過時間ｔ２を算出し、通電時間の計時を開始する（ステップＳ９７７）。
【０１２５】
通電時間ｔｅ２が経過したときにリードコマンドによりコンテンツの読出しが指示されると（ステップＳ９７８）、メモリコントローラ３１０は、経過時間ｔ２および通電時間ｔｅ２の合計とコンテンツ保存時刻（ｔ１＋ｔｅ１など）との差分を算出する。そして、メモリコントローラ３１０は、算出した差分に基づいてコンテンツの期限管理を行う（ステップＳ９７９）。メモリコントローラ３１０は、差分が有効期間を経過したコンテンツを消去フラグにより削除する（ステップＳ９８０）。
【０１２６】
なお、メモリコントローラ３１０は、ホスト装置２１０に接続されたときはコンテンツの期限管理を行わず、コンテンツの読出しの際にのみコンテンツの期限管理を行っているが、この構成に限定されない。メモリコントローラ３１０は、ホスト装置２１０に接続されたときと、コンテンツの読出しのときとの両方においてコンテンツの期限管理を行ってもよい。
【０１２７】
このように、本技術の第２の実施の形態によれば、外部記憶装置３００は、電源投入までの経過時間をエラーレートから算出し、電源投入中に通電時間を計時するため、それらに基づいてコンテンツの期限管理をより正確に行うことができる。
【０１２８】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１２９】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【０１３０】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【０１３１】
なお、本技術は以下のような構成もとることができる。
（１）所定の検出対象データが書き込まれた記憶部と、
前記所定の検出対象データにおける誤りの有無を検出して前記誤りの発生率を求める誤り検出部と、
前記所定の検出対象データが書き込まれたときからの経過時間として前記発生率が高いほど長い時間を取得する経過時間取得部と
を具備する記憶装置。
（２）前記記憶部は、前記経過時間および温度のそれぞれの変化に対する前記発生率の特性が異なる２つの記憶媒体を備え、
前記２つの記憶媒体の両方に前記検出対象データが書き込まれ、
前記誤り検出部は、前記２つの記憶媒体のそれぞれについて前記発生率を求め、
前記経過時間取得部は、前記２つの記憶媒体のそれぞれの前記特性と前記発生率とに基づいて前記経過時間を取得する
前記（１）記載の記憶装置。
（３）コンテンツと当該コンテンツを再生することができる有効期間とを前記記憶部にさらに書き込み、前記経過時間に基づいて前記有効期間が経過したか否かを判断する管理部をさらに具備する
前記（１）記載の記憶装置。
（４）前記誤り検出部は、前記外部記憶装置に電源が供給された場合に前記誤りの有無を検出し、
前記経過時間取得部は、前記検出対象データが書き込まれたときから前記電源が供給されたときまでの時間を前記経過時間として取得する
前記（３）記載の記憶装置。
（５）前記管理部は、前記電源が供給された場合に前記有効期間が経過したか否かを判断する
前記（４）記載の記憶装置。
（６）前記電源を使用して前記電源が供給されている時間を通電時間として計時するタイマをさらに具備し、
前記管理部は、前記経過時間および前記通電時間に基づいて前記有効期間が経過したか否かを判断する
前記（４）記載の記憶装置。
（７）前記管理部は、前記コンテンツの読出しが指示された場合に前記有効期間が経過したか否かを判断する
前記（６）記載の記憶装置。
（８）前記検出対象データは、所定のシード値から生成された疑似乱数を示すデータであり、
前記記憶部には前記所定のシード値がさらに書き込まれ、
前記誤り検出部は、
前記所定のシード値を前記記憶部から読み出して当該所定のシード値から前記疑似乱数を新たに生成する疑似乱数ジェネレータと、
前記生成された疑似乱数と前記記憶部から読み出した検出対象データとに対する所定の論理演算により前記誤りの有無を検出する論理演算部と、
前記論理演算の結果から前記発生率を取得する発生率取得部と
を備える前記（１）から（７）のいずれかに記載の記憶装置。
（９）前記記憶部には前記誤りの有無を検出するためのパリティがさらに書き込まれ、
前記誤り検出部は、前記パリティを使用して前記誤りの有無を検出する
前記（１）から（７）のいずれかに記載の記憶装置。
（１０）前記記憶部は、不揮発性メモリを備える
前記（１）から（９）のいずれかに記載の記憶装置。
（１１）前記検出対象データは、複数回に亘って書き換えられた領域に書き込まれる
前記（１０）のいずれかに記載の記憶装置。
（１２）所定の検出対象データが書き込まれた記憶部と、
電源が供給されると前記所定の検出対象データにおける誤りの有無を検出して前記誤りの発生率を求める誤り検出部と、
前記検出対象データが書き込まれたときから前記電源が供給されたときまでの経過時間として前記発生率が高いほど長い時間を取得する経過時間取得部と、
前記電源を供給するホスト装置と
を具備する情報処理装置。
（１３）記憶部に書き込まれた所定の検出対象データにおける誤りの有無を検出して前記誤りの発生率を求める誤り検出手順と、
前記所定数の単位データが書き込まれたときからの経過時間として前記発生率が高いほど長い時間を取得する経過時間取得手順と
を具備する記憶装置の制御方法。
【符号の説明】
【０１３２】
１００  コンテンツサーバ
２００  クライアントコンピュータ
２１０  ホスト装置
３００  外部記憶装置
３１０  メモリコントローラ
３１１  通信制御部
３１２、３１４、３１６  データ管理部
３１３  経過時間取得部
３１５  タイマ
３２０  誤り検出部
３２１  疑似乱数ジェネレータ
３２２、３２３  排他的論理和演算部
３２４、３２５  エラーカウンタ
３２６、３２７、３２９  エラーレート算出部
３２８  復号部
３３０  ＮＡＮＤフラッシュメモリ
３３１  コントロールゲート
３３２  酸化物絶縁体
３３３  フローティングゲート
３３４  トンネル酸化膜
３３５  シリコン基板
３３６  検出対象データ領域
３３７  通常データ領域
３４０  ＳＴＴ−ＭＲＡＭ
３４１  記憶層
３４２  トンネルバリア
３４３  固定層
３４４  トランジスタ
【図１】
2017054249.tif 000003
【図２】
2017054249.tif 000004
【図３】
2017054249.tif 000005
【図４】
2017054249.tif 000006
【図５】
2017054249.tif 000007
【図６】
2017054249.tif 000008
【図７】
2017054249.tif 000009
【図８】
2017054249.tif 000010
【図９】
2017054249.tif 000011
【図１０】
2017054249.tif 000012
【図１１】
2017054249.tif 000013
【図１２】
2017054249.tif 000014
【図１３】
2017054249.tif 000015
【図１４】
2017054249.tif 000016
【図１５】
2017054249.tif 000017
【図１６】
2017054249.tif 000018
【図１７】
2017054249.tif 000019
【図１８】
2017054249.tif 000020
【図１９】
2017054249.tif 000021