(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-08
(45)【発行日】2022-07-19
(54)【発明の名称】記憶デバイスのパフォーマンスをテストする方法及び対応するデバイス
(51)【国際特許分類】
H04N 21/442 20110101AFI20220711BHJP
H04N 21/436 20110101ALI20220711BHJP
H04N 5/775 20060101ALI20220711BHJP
【FI】
H04N21/442
H04N21/436
H04N5/775 500
【外国語出願】
(21)【出願番号】P 2017052101
(22)【出願日】2017-03-17
【審査請求日】2020-02-27
(32)【優先日】2016-03-21
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】319002876
【氏名又は名称】インターデジタル マディソン パテント ホールディングス, エスアーエス
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】リガル,ルノー
(72)【発明者】
【氏名】サンジエ,フランソワ-グザヴィエ
(72)【発明者】
【氏名】ケール,ティエリ
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2010-147970(JP,A)
【文献】米国特許出願公開第2007/0255518(US,A1)
【文献】米国特許出願公開第2002/0095623(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
H04N 5/76-5/775
H04N 5/91-5/956
(57)【特許請求の範囲】
【請求項1】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法であって、前記方法は、当該ホストデバイスによって実行され、前記方法は、
前記記憶デバイス上のメモリセグメントのメモリセグメントスタートアドレスを選択し、
当該記憶デバイス上でリード・ライトテストを実行し、
当該リード・ライトテストの結果に従って当該記憶デバイスのリード・ライト伝送ビットレートの測定を介して当該記憶デバイスのパフォーマンスプロファイルを取得し、当該記憶デバイスが、当該パフォーマンスプロファイルに対応するビデオ解像度のビデオデータの記憶及び読み出しをするためのデバイスとして使用されるのに十分なパフォーマンス能力を有することを、当該パフォーマンスプロファイルが示し、
前記リード・ライトテストは、前記記憶デバイス上の選択されたメモリセグメントスタートアドレスの前記メモリセグメント上でのバイナリリード・ライト動作を含み、前記バイナリリード・ライト動作を完了するために必要な時間を
評価する、方法。
【請求項2】
当該メモリセグメントのコンテンツは、当該リード・ライトテストを実行する前に当該ホストデバイスに保存され、当該保存されたコンテンツは、当該リード・ライトテストを実行した後に、当該記憶デバイスにリストアされる、請求項1に記載の方法。
【請求項3】
当該パフォーマンスプロファイルを前記取得することが、サポートされる同時リード・ライト動作の最大数を取得することをさらに含む、請求項1又は2に記載の方法。
【請求項4】
当該ビデオ解像度は、標準画質ビデオ解像度、高解像度ビデオ解像度、又は超高解像度ビデオ解像度のうちの1つである、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
当該パフォーマンスプロファイルは、パーソナルビデオ記録タイプクラスをさらに示し、前記パーソナルビデオ記録タイプクラスは、
記録クラス又はタイムシフトクラス、
記録クラス及びタイムシフトクラス
のいずれか1つである、請求項3に記載の方法。
【請求項6】
当該パフォーマンスプロファイルは、当該ホストデバイスに保存される、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
当該パフォーマンスプロファイルは、ネットワーク記憶エリアに保存される、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価するホストデバイスであって、当該ホストデバイスは、プロセッサとメモリを備え、前記プロセッサと前記メモリは、
前記記憶デバイス上のメモリセグメントのメモリセグメントスタートアドレスを選択し、
当該記憶デバイス上でリード・ライトテストを実行し、
当該リード・ライトテストの結果に従って当該記憶デバイスのリード・ライト伝送ビットレートの測定を介して当該記憶デバイスのパフォーマンスプロファイルを取得し、当該記憶デバイスが、当該パフォーマンスプロファイルに対応するビデオ解像度のビデオデータの記憶及び読み出しをするためのデバイスとして使用されるのに十分なパフォーマンス能力を有することを、当該パフォーマンスプロファイルが示すように構成され、
前記リード・ライトテストは、前記記憶デバイス上の選択されたメモリセグメントスタートアドレスの前記メモリセグメント上でのバイナリリード・ライト動作を含み、前記バイナリリード・ライト動作を完了するために必要な時間を
評価する、ホストデバイス。
【請求項9】
当該プロセッサ及び当該メモリは、当該リード・ライトテストを実行する前に当該ホストデバイス中に当該メモリセグメントのコンテンツを保存し、当該リード・ライトテストを実行した後に当該保存したコンテンツを前記記憶デバイスにリストアするようにさらに構成された、請求項8に記載のホストデバイス。
【請求項10】
当該プロセッサ及び当該メモリは、当該パフォーマンスプロファイルを取得するために、サポートされる同時リード・ライト動作の最大数を取得するようにさらに構成される、請求項8又は9に記載のホストデバイス。
【請求項11】
当該プロセッサ及び当該メモリは、当該ホストデバイス中に当該パフォーマンスプロファイルを保存するようにさらに構成された、請求項8乃至10のいずれか一項に記載のホストデバイス。
【請求項12】
当該プロセッサ及び当該メモリは、ネットワーク記憶エリアに当該パフォーマンスプロファイルを保存するようにさらに構成された、請求項8乃至11のいずれか一項に記載のホストデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に、記憶デバイスのパフォーマンステストの分野に関連する。
【背景技術】
【0002】
デジタルビデオ記録(DVR:Digital video recording)機能とパーソナルビデオ記録(PVR:Personal Video Recording)機能は、多くのオーディオ/ビデオ消費者デバイスによって提案されている。DVR/PVR機能は、ユーザに、放送されたオーディオ/ビデオストリームの記録(record)、再生(playback)、及びポーズ(pause)を可能にする。DVR/PVR機能は、テレビジョンセット、セットトップボックス(STB)、モバイルデバイス、及びパーソナルコンピュータ上で提案されている。経済的な理由及び設置面積の理由で、これらのデバイスは、DVR/PVR機能の利用を可能とするために必要な記憶デバイスと共に通例供給されない。外部記憶装置を補充し、オーディオ/ビデオデバイスのデータ通信ポートにそれを接続することは、消費者次第である。通例商品化された記憶デバイスの実例は、ユニバーサルシリアルバス(USB)ハードディスクドライブ(HDD)とメモリスティックである。記憶デバイスは、様々な値段で、異なる品質で売られている。パーソナルコンピュータ(PC)は、一般に、DVR/PVR機能を提供するために十分な内部ハードディスク容量を持つ。しかしながら、DVR/PVRリード・ライト動作(read-write operations)のパフォーマンスは、PCによって同時に実行され、内部記憶デバイスも使用する他のタスクによって、低下することがあり、それらは、オーディオ/ビデオアプリケーションの制御下ではない。
【0003】
DVR/PVR機能に対して使用される記憶デバイスのパフォーマンスが不十分な場合、DVR/PVR機能は、悪影響を与え、マクロブロックやオーディオ/ビデオの障害など可視の及び可聴のアーチファクトをもたらす。消費者は、誤ってオーディオ/ビデオデバイスに障害があると判断し、ヘルプデスクやアフターセールスサービスに対するかなりのワークロードをもたらす。
【0004】
従って、記憶デバイスのパフォーマンステストの必要性がある。
【発明の概要】
【0005】
本開示は、背景技術のセクションで検討した欠陥の少なくとも一部を緩和することを意図する。
【0006】
この目的を達成するために、本原理は、ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法を含む。方法は、ホストデバイスによって実行される。方法は、記憶デバイス上でリード・ライトテストを実行し、リード・ライトテストの結果に従って記憶デバイスのリード・ライト伝送ビットレートの測定を介して記憶デバイスのパフォーマンスプロファイルを取得し、記憶デバイスが、パフォーマンスプロファイルに対応するビデオ解像度のビデオデータの記憶及び読み出しをするためのデバイスとして使用されるのに十分なパフォーマンス能力を有することを、パフォーマンスプロファイルが示す。
【0007】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、リード・ライトテストは、記憶デバイス中のメモリセグメント上でのバイナリリード・ライト動作である。
【0008】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、メモリセグメントのコンテンツは、リード・ライトテストを実行する前にホストデバイスに保存され、保存されたコンテンツは、リード・ライトテストを実行した後に、記憶デバイスにリストアされる。
【0009】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、パフォーマンスプロファイルを取得することが、サポートされる同時リード・ライト動作の最大数を取得することをさらに含む。
【0010】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、ビデオ解像度は、標準画質ビデオ解像度、高解像度ビデオ解像度、又は超高解像度ビデオ解像度のうちの1つである。
【0011】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、パフォーマンスプロファイルは、サポートされる同時リード・ライト動作の最大数から取得される、パーソナルビデオ記録タイプクラスをさらに示し、パーソナルビデオ記録タイプクラスは、
記録クラス又はタイムシフトクラス、
記録クラス及びタイムシフトクラス
のいずれか1つである。
【0012】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、パフォーマンスプロファイルは、ホストデバイスに保存される。
【0013】
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法のさらなる実施形態によると、パフォーマンスプロファイルは、ネットワーク記憶エリアに保存される。
【0014】
本原理は、ホストデバイスに接続された記憶デバイスのパフォーマンスを評価するホストデバイスにも関連する。ホストデバイスは、プロセッサとメモリを備え、プロセッサとメモリは、記憶デバイス上でリード・ライトテストを実行し、リード・ライトテストの結果に従って記憶デバイスのリード・ライト伝送ビットレートの測定を介して記憶デバイスのパフォーマンスプロファイルを取得し、記憶デバイスが、パフォーマンスプロファイルに対応するビデオ解像度のビデオデータの記憶及び読み出しをするためのデバイスとして使用されるのに十分なパフォーマンス能力を有することを、パフォーマンスプロファイルが示すように構成される。
【0015】
ホストデバイスのさらなる実施形態によるプロセッサ及びメモリは、リード・ライトテストを記憶デバイス中のメモリセグメント上でバイナリリード・ライト動作として実行するようにさらに構成される。
【0016】
ホストデバイスのさらなる実施形態によるプロセッサ及びメモリは、リード・ライトテストを実行する前にホストデバイス中にメモリセグメントのコンテンツを保存し、リード・ライトテストを実行した後に保存したコンテンツを記憶デバイスにリストアするようにさらに構成される。
【0017】
ホストデバイスのさらなる実施形態によるプロセッサ及びメモリは、パフォーマンスプロファイルを取得するために、サポートされる同時リード・ライト動作の最大数を取得するようにさらに構成される。
【0018】
ホストデバイスのさらなる実施形態によるプロセッサ及びメモリは、ホストデバイス中にパフォーマンスプロファイルを保存するようにさらに構成される。
【0019】
ホストデバイスのさらなる実施形態によるプロセッサ及びメモリは、ネットワーク記憶エリアにパフォーマンスプロファイルを保存するようにさらに構成される。
【0020】
本原理は、コンピュータ読取可能媒体上に保存されたコンピュータプログラムにも関連し、コンピュータプログラムは、上述の実施形態による及び方法のさらなる任意の実施形態によるホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法を、プロセッサによって実行する。
【図面の簡単な説明】
【0021】
本開示の追加の長所が、特定の非制限的な実施形態の説明を通して明らかになる。本開示の長所が取得される方法を説明するために、本原理の特定の説明が添付図面において説明される特定の実施形態を参照して提供される。図面は、本開示の例となる実施形態を描写し、従って、その範囲を制限するように見なすべきではない。記述される実施形態は、組み合わされて、特定の有利な実施形態を形成することができる。以下の図面において、既に前の図に記載されたアイテムと同じ参照番号を持つアイテムは、不必要に本開示を分かりにくくすることを避けるために再度説明しない。例となる実施形態は、以下の図を参照して説明される。
【0022】
【
図1】オーディオ/ビデオレシーバのDVR/PVR機能を有効にする例としての環境を説明する。
【
図2】
図1に説明されたセットトップボックスの例としての実施形態の概略図である。
【
図3】バイナリリード・ライトテストを通じた記憶デバイスのパフォーマンスの評価の本原理をさらに説明する。
【
図4】本原理の特定の実施形態によるフローチャートである。
【発明を実施するための形態】
【0023】
図1は、オーディオ/ビデオレシーバ11のDVR/PVR機能を使用可能にする例となる環境を説明する。オーディオ/ビデオレシーバデバイス11は、この技術分野で周知の、衛星14からオーディオ/ビデオストリームを受信するためのセットトップボックス(STB)である。オーディオ/ビデオストリームは、衛星14と受信アンテナ15から受信される。STB11は、レンダリングするためにオーディオ/ビデオ信号をデジタルテレビジョン13に送信する。記憶デバイス12は、STB11に接続されている。STB11は、リモートコントローラ(RC)10を通じて動作する。
【0024】
従来技術のセクションで簡単に検討したように、オーディオ/ビデオレシーバ11は、記憶デバイス12と接続するためのデータ通信ポート(図示せず)を備える。オーディオ/ビデオレシーバ11は、DVR/PVR機能を備えているが、消費者にDVR/PVR機能を提案するために記憶デバイス12の存在を必要とする。記憶デバイスは、一般に、オーディオ/ビデオレシーバ11と共に供給されないので、消費者によって提供される。消費者には、記憶デバイスのタイプ、モデル及びメーカーに関して幅広い選択肢がある。例えば、消費者は、USBメモリスティックを用意することができる。USBメモリスティックは、様々な標準規格(例えば、USB1.0、2.0又は3.0)に適合し、様々な品質で提供される。USBメモリスティックは、所定の標準規格に電気的に適合したとしても、その最大データ転送レートは、適合しなければならない標準規格によって期待される可能性があるよりもときどきかなり低い(way lower)ということが分かった。USBメモリスティックに対するものとは違って、スピードクラスレーティング(speed class rating)が、SDカードタイプの記憶デバイスに対して規定されている。しかしながら、ユーザマニュアルにDVR/PVR動作の良いパフォーマンスのために所定の値以上のスピードクラスレーティングを持つSDカードが使用されるべきであると表示したとしても、消費者がこれに配慮するかは保証されない。
【0025】
DVR/PVR機能の誤動作を避けるために、DVR/PVR機能に関して記憶デバイスを使い始める前に、記憶デバイスのパフォーマンスを評価することは、従って有用である。
【0026】
図2は、
図1に示されたセットトップボックスの例となる実施形態の概略図である。STB11は、不揮発性メモリ(NVM)110、ランダムアクセスメモリ(RAM)111、グラフィックス及びオーディオコントローラ112、リモートコントロール回路114、チューナ115、中央処理装置(CPU)116、オーディオ/ビデオデコーダ(A/V DEC)118、及び、例えば、いくつか挙げると、ユニバーサルシリアルバス(USB)、ハイディフィニションマルチメディアインタフェース(HDMI(登録商標))、イーサネット(登録商標)、WiFi、Bluetooth(登録商標)、又はシリアルATA(SATA)などの周辺装置インタフェース117を備える。すべてのこれらのコンポーネントは、内部データ及び通信バス113の手段によって相互接続されている。リモートコントロール回路114は、リモートコントローラ10からリモートコントロールコマンドを受信するように構成される。チューナ115は、衛星アンテナ15からオーディオ/ビデオストリームを受信するように構成される。周辺装置インタフェース117は、記憶デバイス12に接続されるように構成される。グラフィックスコントローラ112は、オーディオ/ビデオをレンダリングするためにディスプレイ13に接続されるよう構成されている。STBメモリは、NVM110及びRAM111を備える。NVM110は、例えば、CPU116によって実行可能なコンピュータ読取可能プログラム命令のセットを備え、デバイス11の機能を実行するプログラムを備える。例えば、プログラム命令のセットは、ファームウェア、ミドルウェア及びアプリケーションプログラムを含む。NVM110は、STB11を動作させるために使用されるパラメータ及び変数も含み、それらは、チャンネルのリスト、ユーザプリファレンス、プログラム命令に使用される内部パラメータ及び変数などである。RAM111は、プログラム命令、変数及びパラメータの一時的な記憶領域として使用される。グラフィックス及びオーディオカード112は、オーディオ/ビデオレンダリングデバイス13を駆動するように構成される。オーディオ/ビデオデコーダ118は、オーディオ/ビデオストリームをデコードするように構成される。
【0027】
STB11の動作中、ユーザは、リモートコントローラ10を使用して、合わせるオーディオ/ビデオチャンネルを選択する。対応する命令がCPU116に送信され、CPU116は、NVM110からチャンネルリストを読み出し、チャンネルリストから関連するチューニングパラメータを抽出し、抽出されたチューニングパラメータによって示された周波数に合わせるようにチューナ115に命令する。チューナ115は、次に、所定の周波数で放送されたオーディオ/ビデオストリームを受信し、受信したオーディオ/ビデオストリームをオーディオ/ビデオデコーダ118に送信する。オーディオ/ビデオデコーダ118は、復号したオーディオ/ビデオをグラフィックス/オーディオコントローラ112へ送信し、グラフィックス/ビデオコントローラ112は、オーディオ/ビデオをレンダリングデバイス13へ出力する。受信する放送チャンネルをポーズするためにユーザがリモートコントローラ10上のポーズボタンを押したとき、STB11は、記憶デバイス12上にチューナ115から受信したオーディオ/ビデオストリームを記憶する。ユーザは、次に、再生を再開したとき、STB11は、記憶したオーディオ/ビデオストリームをオーディオ/ビデオデコーダ118へ送信し、復号されたオーディオ/ビデオは、レンダリングデバイス13上でレンダリングされる。この間に、STB11は、チューナ115から受信したオーディオ/ビデオ放送ストリームを記憶デバイス12上に保存し続ける。この構成では、記憶デバイス12は、タイムシフト動作に対するバッファメモリとして使用される。従って、タイムシフトは、記憶デバイス12上での同時リード及びライト動作を要求する。タイムシフトが正しく機能する場合、記憶デバイス12のリード・ライトパフォーマンスは、結果として高データ通信レート及びリード・ライト動作の頻繁な交代をサポートすることが十分でなくてはならない。
【0028】
図3は、バイナリリード・ライトテストを通じた記憶デバイスのパフォーマンスを評価する本原理をさらに説明する。要素30は、DVR/PVR機能を提供するために使用される記憶デバイスのメモリセグメント(memory segment)である。要素32は、ハードディスクドライブのハードディスクである。要素33は、メモリスティックである。要素31は、ディレクトリ、サブディレクトリ及びファイルを有するファイルシステムであり、例えば、デバイス32及び33によって記憶される。要素32及び33は、記憶デバイスの代替案の実装として説明される。説明されていない別の実施形態は、本原理の目的のために使用することができ、例えば、SDカード、又は、例えば半導体ディスク(SSD)などのいかなる種類の半導体メモリである。ハードディスク32の典型例は、同心のトラック321及びセクタ322としての編成である。メモリスティックの典型例は、不揮発性RAMメモリ331の存在である。破線は、デバイス32及び33のどこに、メモリセグメント30が記憶されているかを示し、それは、ハードディスク32上のセクタ322内やメモリスティック33上のメモリチップ331内である。記憶デバイス32及び33のリード・ライトパフォーマンスは、例えば、
図1又は
図2のSTB11などのホストデバイスによってテストすることができる。この目的のために、バイナリメモリセグメント30は、記憶デバイス上のスタートアドレスx(例えば、図示したように0x2FF0)から、長さn(例えば、0x1000)を例えば、記憶デバイス32又は33から読み取り、ホストデバイス11を経由して記憶デバイス以外のホストデバイス11で利用可能な記憶スペースに保存する(例えば、NVM110に、ネットワーク記憶スペースに、又はクラウド記憶スペースに)。「バイナリメモリセグメント(binary memory segment)」は、ここでは、デバイス32又は33のファイルシステム編成を使用して読み取らず、生データとしてドライバレベルで直接という意味である。スタートアドレスx及びセグメント長nは、様々なパラメータによって決めることができる。リード・ライトテストが進行中の間に記憶デバイスを抜くことは、記憶デバイス上でデータが破損する結果となり得る。データの破損は、多かれ少なかれ深刻であり得る。好ましくは、スタートアドレスxと長さnは、メモリセグメントがファイルアロケーションテーブル(FAT)、マスターブートレコード(MBR)又はGUIDパーティションテーブル(GPT)ゾーンの範囲内に入らないように選ばれ、それは、記憶デバイスの引き抜きによって中断されるこれらのゾーンにおける進行中のリード・ライトテストは、ホストデバイス上に記憶されているデータセグメントのオリジナルコンテンツが記憶デバイ上に記憶されていない場合、完全なデータロスの原因となり得るからである。進行中のリード・ライトテストが中断された場合の異なる実施形態がさらに検討され、データ回復のための解決策が提案される。多くの記憶デバイスは、記憶デバイスの記憶スペースの終わりに、FAT/MBR/GPTのバックアップコピーも保持している。好ましくは、メイン及びバックアップのFAT/MBR/GTPゾーンは、従って、バイナリリード・ライトテストの実行に対して回避される。例えば、記憶デバイスのサイズがmの場合、スタートアドレスとしてm/2-n/2を使うのが安全であり、ここでnは、m/2で始まるセグメントの長さであり、mの一部分(fraction)として選ばれ、例えば、FAT/MBR/GPTゾーンの外に置くために5分の1、10分の1又は20分の1などである。特に、パフォーマンス評価が、さらに検討されるように、ホストデバイスへのリード・ライトテストセグメントのコピー動作、リード・ライトテスト(=リストア)の最後にホストから記憶デバイスへのホスト上に保存されたコピーされたリード・ライトテストセグメントのリライト動作を含むため、セグメントの長さは、パフォーマンス評価の継続時間に影響を及ぼす。FAT/MBR/GPTゾーンでのリード・ライトテストの実行を除外するのに役立つ先に定義されたルールに加えて、バックアップ及びリストア動作によって引き起こされるディレイ(delay:遅延)は、それ故に、セグメントの長さを定義するのに考慮される。彼/彼女が録画したい又はポーズしたいTV番組を見ているので、ユーザが記憶デバイスに繋ぐのを不利にすることを避けるために、好ましくは、セグメントの長さは、パフォーマンス評価が短い時間で終わるように、例えば15秒、30秒、60秒又は120秒が選ばれる。
【0029】
記憶デバイスが接続されているとき、デバイスドライバは、記憶デバイスに物理名を属させ、例えば、/dev/sdaであり、又はデバイスが2つのパーティションを持つ場合は、/dev/sda1及び/dev/sda2である。バイナリリード(及びライト)動作は、ホストデバイスにマウントされたこれらのパーティションから(へ)直接行うことができる。例えば、メモリセグメントのスタートアドレスxが1つのファイルのどこかに対応しているとき、バイナリセグメントは、いくつかのファイルに渡ることがあり得、メモリセグメントのエンドアドレスは、記憶デバイス上に記憶された別のファイルのどこかに対応することができる。
【0030】
次に、記憶デバイス32又は33のリード・ライトパフォーマンステストが、バイナリセグメント30に対応する記憶デバイス32又は33中のメモリセグメント上でホストデバイスによって実行される。この目的のために、バイナリリード・ライトテストが実行される。この文脈で「バイナリ(binary)」は、リード・ライト動作が低い抽象化レベル、例えば、ドライバレベルで実行されることを意味する。リード・ライトパフォーマンステストが終了したとき、パフォーマンステストに対して使用された記憶デバイス上のメモリセグメントのコピーは、利用可能な記憶スペースからホストデバイス(記憶デバイスではなく)へ読み出され(バックアップされ)、そのオリジナルの場所で記憶デバイス上のメモリセグメントにバイナリライト動作によって記憶デバイスにリストアされる。このようにして、記憶デバイスのメモリコンテンツは、そのオリジナルの状態、すなわち、バイナリリード・ライトテストの実行前の状態にリストアされる。バイナリリード・ライトパフォーマンスは、バイナリリード・ライト動作のセットを通してテストされ、これらの動作を完了するために必要な時間が評価される。セットは、1回、2回、10回、100回又は1000回又はそれ以上のリード・ライト動作を含むことができる。
【0031】
異なる実施形態によると、バイナリリード・ライトテストは、リード・ライトビットレートの判定を含む。例えば、最低の、最高の又は平均(mean)のビットレートが判定される。例えば、平均のビットレートを判定するために、ディレイは、繰り返しのリード・ライトテストが行われることによって定義される。ディレイが満了したとき、完了したリード・ライトテストの繰り返し回数が合計される。リード・ライトされたデータの量及び完了した繰り返し回数が、次に、平均リード・ライトビットレートの決定を可能にする。例えば、最大リード・ライトビットレートを決定するために、繰り返しリード・ライトテストが完了するディレイが定義される。ディレイが満了したとき、最大リード・ライトビットレートが次に、繰り返しが完了するまでに必要な時間で、完了したリード・ライトテストの各繰り返しにおけるリード・ライトされたデータの量を割ることにより得られ、すべての完了した繰り返しに対する結果を比較し、最も高いリード・ライトビットレートが選択される。例えば、最小リード・ライトビットレートを決定するために、すべての完了した繰り返しに対する結果が比較され、最も低いビットレートが選択される。平均ビットレートの決定に加えて、最小及び最高ビットレートの決定は、記憶デバイスの正確なプロファイルを決定するために有利である。例えば、記憶デバイスが、DVR/PVR機能を提供するために十分な平均ビットレートを持つとしても、最小ビットレートが最小しきい値ビットレートより低い場合、平均ビットレートよりも最小ビットレートの方が、記憶デバイスのパフォーマンスプロファイルを決定するための良い指標である。パフォーマンスプロファイルが、これから議論される。例えば、平均及び最小リード・ライトビットレートがDVR/PVR機能をサポートするために十分であるとしても、最小及び最高リード・ライトビットレートの間の変化が、許容範囲を超えるかも知れず、そのような場合、記憶デバイスは、DVR/PVR機能の提供に対して非常に信頼性が低いと考えることができる。
【0032】
先の実施形態を有利に組み合わせた異なる実施形態によると、バイナリリード・ライトテストは、同時リード・ライト動作の最大数を決定することを含む。
【0033】
上述の通り、パフォーマンスプロファイルは、バイナリリード・ライトテストの結果に従って規定される。パフォーマンスプロファイルは、どの記憶デバイスが使用するのに適切かを示す。例えば、パフォーマンスプロファイルは、最大にサポートできるビデオ解像度クラスにおける分類を通じて、記憶デバイスが、標準解像度(SD)、高解像度(HD)又は超高解像度(UHD)タイプのコンテンツを保存し再生するのに適合すること(十分なパフォーマンス能力を持つこと)を示し、又は、言い換えれば、パフォーマンスプロファイルに対応するビデオ解像度を持つビデオデータを保存し、読み出すためのデバイスとして使用される十分なパフォーマンス能力を記憶デバイスが有することをパフォーマンスプロファイルは示す。MPEG2又はH.264符号化ビデオに対して定義されるようなベースラインプロファイル、メインプロファイル、ハイプロファイルなどの特定の符号化標準規格の1つ以上のビデオプロファイルを有するコンテンツの保存及び再生に記憶デバイスが適合することをパフォーマンスプロファイルは、また示すことができる。パフォーマンスプロファイルは、記憶デバイスが例えば、1つ以上の標準規格に関連する1つ以上のビデオ解像度の記憶及び再生に適合することも示すことができる。例えば、SD及びHD符号化ビデオ、MPEG2 SD符号化ビデオ、H.264 HD符号化ビデオ、MPEG2 SD及びH.264 HD符号化ビデオ、MPEG2 HDハイプロファイル及びH.264 UHDメインプロファイル符号化ビデオに関して、SD符号化ビデオを保存及び再生することに記憶デバイスが適合していることをパフォーマンスプロファイルは、示すことができる。
【0034】
パフォーマンスプロファイルは、複数のオーディオ/ビデオストリームの同時記録に記憶デバイスが適合していることを複数記録クラスにおける分類を通して、示すこともできる。複数のオーディオ/ビデオストリームの同時記録は、たとえば、いくつかのTVチャンネルからの同時のストリームを録画し、又は例えば、別のTVチャンネルをタイムシフトしている間に1つのTVチャンネルを録画するなどを許すことができる。例えば、タイムシフトクラスにおける分類を通して、オーディオ/ビデオの同時記録と、タイムシフト目的に対する記録されたオーディオ/ビデオストリームの再生に記憶デバイスが適合しているかをパフォーマンスプロファイルは示し、一方、単一記録クラスにおける分類が、タイムシフトを含まない非同時の単一記録及び単一再生に記憶デバイスが適合しているかを示す。例えば、UHDクラスの分類を通して、UHD記録及び再生に記憶デバイスが適合していることをパフォーマンスプロファイルが示し、一方、UHDタイムシフトを除き、HDタイムシフト及びそれ故にSDタイムシフトに適合していることを示す。例えば、記憶デバイスがUHDタイムシフト、及びそれ故にHD及びSDタイムシフトに適合していることをパフォーマンスプロファイルは示すことができる。特定の実施形態によって、分類は、上述の平均、最小及び/又は最大のビットレートのしきい値に従って、動作することができる。下の表は、平均リード・ライトビットレートしきい値に基づくパフォーマンスプロファイルの簡単で分かりやすい実例を与える。例えば、上述の最小及び最大のリード・ライトビットレートの測定方法は考慮しておらず、例えば、最大にサポートされるビデオ解像度クラスよるサポートの区別は考慮していない。
【表1】
【0035】
オーディオ/ビデオストリームのビットレートは、符号化タイプ、シーン及び符号化品質に従って、変化することがある。例えば、フットボールの試合の可変ビットレートMPEG2符号化SDストリームの最高ビットレートは、同じものの可変ビットレートHEVC符号化HDストリームの最高ビットレートにほぼ等しい。異なる実施形態によると、しきい値は、例えば、加入するチャンネルにおけるストリームに対して予想される最高ビットレートなどのホストオーディオ/ビデオレシーバデバイスが受信するストリームのビットレートによって決定される。
【0036】
本原理によるリード・ライトテストのバイナリ動作の長所の中で、バイナリリード・ライトテストが、記憶デバイスで使用されるファイルシステムタイプ、パーティションニング又はフォーマットに依存しないことであり、それによって、未フォーマットの記憶デバイス、又はホストによってサポートされていないファイルシステムを含む記憶デバイス、又は暗号化ファイルを含む記憶デバイスのパフォーマンスプロファイルを評価することが可能となる。それ故に、有利なことに、本原理によるパフォーマンスプロファイリングは、リード・ライト動作レートにおいて、DVR/PVR機能を実装するホストデバイスで使用されるのに記憶デバイスが適合している否か判定することができる。例えば、Linux(登録商標)ファイルシステム「ext」のみをサポートするホストデバイスは、Apple Inc.のHFSファイルシステムによってフォーマットされた記憶デバイス上でパフォーマンスプロファイリング評価を実行することができる。次に、パフォーマンステストの結果が、十分である場合、ホストは、ユーザにパフォーマンステストが成功し、記憶デバイスがDVR/PVR機能を提供するための記憶デバイスとして使用することができると通知することができ、そして、ユーザにホストによって使用される互換性のあるファイルシステムで記憶デバイスを再フォーマットすることに彼/彼女が同意するか尋ねることができる。再フォーマットは、パフォーマンス評価の結果が、記憶デバイスがホストデバイスによるDVR/PVR使用に適合するという場合にのみ、例えば提案される。
【0037】
異なる実施形態によるとパフォーマンスプロファイルは、ホストデバイス上に保存される。異なる実施形態によると、パフォーマンスプロファイルは、記憶デバイスのID(identification)又は記憶デバイスのタイプ、例えば、記憶デバイスのモデル(model)やメーカー(make)を含む、に関連する。異なる実施形態によると、この関係は、ホストデバイス上に保存される。次に、記憶デバイスが取り除かれ、同じタイプ又は同じモデルで同じメーカーの別のもので置き換えられたとき、そのデバイスに対して保存されたパフォーマンスプロファイルの中からデバイスに対して既に存在する保存されたプロファイルパフォーマンスを見つけ出すことができ、パフォーマンステストを再び実行する必要はない。複数のパフォーマンスプロファイルが、例えば、データベースのテーブルの中に保存される。異なる実施形態によると、パフォーマンスプロファイルは、記憶デバイス上に保存される。別の実施形態によると、パフォーマンスプロファイルは、ホストデバイスに接続されたネットワーク中の記憶スペースに保存される。次に、記憶デバイスがホストデバイスに接続されている場合、ホストデバイスは、ネットワークに記憶デバイスのモデル及びメーカーに対するパフォーマンスプロファイルが存在しているか調査するように問い合わせる。もしそうであれば、記憶デバイスを再テストする必要はなく、ネットワークに保存されたパフォーマンステストの結果がホストデバイスによって読み出される。有利なことに、ホストデバイスは、それ故に、記憶デバイスのパフォーマンスプロファイルを保存するためのネットワーク記憶スペースを使う共通知識ベースを共有し、複数のホストデバイスのいずれかによって一度確立されたパフォーマンスプロファイルが、後に複数のホストデバイスのいずれかによって読み出すことができ、その結果、同じモデルで同じメーカーの記憶デバイスに対する複数回のパフォーマンス評価の実行を避けることができる。
【0038】
異なる実施形態によると、上述の通り、記憶デバイス上でのデータ破損をもたらす、バイナリリード・ライトテストが進行中のときに、記憶デバイスの取り外しに対する保護が提供される。この目的を達成するために、記憶デバイスが、バイナリリード・ライトテストの間に引き抜かれたとき、
ホストデバイスは、引き抜きを検出し、記憶デバイス上のデータ破損を避けるために記憶デバイスの再差し込みをユーザに促す可聴及び/又は可視のメッセージを生成する。異なる実施形態によると、記憶デバイスが、再差し込まれたとき、引き抜かれる前と同じ状態でリード・ライトテストに対して使用されたセグメントがベリファイされる。同じ状態にある場合、リード・ライトテストは継続することができ、同じ状態にない場合、記憶デバイスは途中まで使用され、又は異なる記憶デバイスが変わりに差し込まれる。リード・ライトテストは、中断され、ホストデバイス経由で保存される(バックアップされる)データは、記憶デバイス上でデータが上書きされないように記憶デバイスのセグメントにリストアされない。
【0039】
図4は、
図2のデバイス11などのホストデバイスによって実行される本原理による方法の特定の実施形態によるフローチャートである。ステップ400は、初期化ステップ(initialization step)であり、ステップが実行される間に使用される変数が初期化される。ステップ401において、メモリセグメントは、メモリスタートアドレスから記憶デバイスから読み取られ、又は言い換えれば、ホストデバイスを経由してコピーされ、保存され、バックアップされ、又はキャッシュされ、例えば、ホストデバイス自身のメモリに、例えば、不揮発性メモリに、又はホストデバイスに接続されたネットワーク記憶装置に、又はネットワーク接続経由でホストデバイスに利用可能なクラウド記憶装置に。記憶デバイスは、例えば、
図2に表現した記憶デバイス12である。ステップ402において、1つ以上のバイナリリード・ライトテストが記憶デバイス中のメモリセグメント上で実行される。ステップ403において、パフォーマンスプロファイルは、ステップ402において実行されるバイナリリード・ライトテストの結果に従って、記憶デバイスに対して決定される。パフォーマンスプロファイルを確立するために、例えば、平均、最小又は最大のリード・ライトビットレートを決定することを許し、同時に実行可能なリード・ライト動作の最大数を決定することを許すためにバイナリリード・ライトテストの反復を実行するなどバイナリリード・ライトテスト、ステップ402を繰り返すことができる。次に、ステップ404において、ステップ403でパフォーマンスプロファイルを決定した後、ホストデバイスを経由してキャッシュされたメモリセグメントは、ホストデバイスのメモリスタートアドレスに再書き込み又はリストアされ、その結果、そのオリジナル状態、すなわち、バイナリリード・ライトテストの実行前の状態に記憶デバイスをリストアする。ステップ405で、方法は終了する。記憶デバイスがDVR/PVR機能を可能にするというパフォーマンスプロファイルの結果の場合、記憶デバイスは、すぐにDVR/PVR機能に使用することができ、もしパフォーマンスプロファイルがDVR/PVR機能の提供に十分ではない場合は、データ記憶のみに対して使用するか(例えば、ファイルのダウンロードのため)、又は抜き取られ、他の目的に再利用される。メッセージは、記憶デバイスに対する評価としてのパフォーマンスプロファイルを示すためにユーザに示すことができる。パフォーマンスプロファイルが例えば、DVR/PVR機能に対して記憶デバイスとしての使用に十分な場合、メッセージは、ユーザに記憶デバイス上にある任意のデータが上書きされる可能性があることを尋ね、又は、記憶デバイスを抜き取り、記憶デバイス上にあるデータをバックアップし、記憶デバイスを再差し込みする機会をユーザに提案することができる。
【0040】
当業者によって理解されるように、図面におけるいくつかの要素は、すべての実施形態において使用されず、又は必要ではない。いくつかの動作は、並行して実行することができる。これらの説明及び/又は記述した以外の異なる実施形態も可能である。例えば、
図1~
図2において、記憶デバイスは、ホストデバイスに直接接続されているが、本原理から逸脱することなく例えば、ローカルエリアネットワークに接続するなど、記憶デバイスが、ネットワーク記憶デバイスでも良いことを当業者は理解する。例えば、ホストデバイス11の外部として
図1~
図2に説明した記憶デバイス12が、本発明の原理から逸脱することなくホストデバイスの内部であっても良いことが、当業者であれば直ぐに理解できる。同様に、セットトップボックスとして
図1~
図2に示したホストデバイスは、デバイスの別のタイプでも良いく、例えば、アクセスゲートウェイ、デジタルテレビジョン、又はスマートフォンであり、衛星からオーディオ/ビデオストリームを受信する必要はなく、ケーブルから、インターネット、4G、又は別のタイプのデータ伝送媒体を経由して受信すれば良い。
【0041】
当業者によって理解されるように、本原理の態様は、システム、方法、又はコンピュータ読取可能媒体上に保存されるコンピュータプログラム命令として具体化されても良い。従って、本原理の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又は本明細書で「回路(circuit)」、「モジュール(module)」又は「システム(system)」として定義されるすべての一般的なハードウェアとソフトウェア態様を組み合わせた実施形態の形を取ることができる。その上、本原理の態様は、コンピュータ読取可能記憶媒体の形を取ることもできる。1つ以上のコンピュータ読取可能記憶媒体の任意の組合せも利用できる。
【0042】
それ故に、例えば、当業者にとって理解されるように、本明細書で示した略図は、本開示の原理を具体化する、実例となるシステムコンポーネント及び/又は回路の概念的な概観を示す。同様に、フローチャート、フロー図、状態遷移図、擬似コード等は、様々なプロセスを表し、それらは、コンピュータ読取可能記憶媒体中に実質的に表現され、そのようなコンピュータ又はプロセッサが明示的に示されていてもいなくてもコンピュータ又はプロセッサによって実行されるものであると理解される。
【0043】
コンピュータ読取可能記憶媒体は、1つ以上のコンピュータ読取可能媒体中に具体化されたコンピュータ読取可能プログラム製品の形をとることができ、コンピュータによって実行可能に具体化されたコンピュータ読取可能プログラムコードを有する。本明細書で使用されるコンピュータ読取可能記憶媒体は、情報をその中に記憶する固有の能力と、その中からの情報の読み出しを提供する固有の能力を与える非一時的記憶媒体と見なされる。コンピュータ読取可能媒体は、例えば、制限的ではなく、電子的、磁気的、光学的、電磁的、赤外線の、又は半導体のシステム、装置、又はデバイス、又はこれらの任意の適切な組み合わせであり得る。本原理を適用することができるコンピュータ読取可能記憶媒体のより特定の実例を提供したが、当業者によって直ぐに理解されるように、以下のものは、単に例となるリストであって、網羅的なリストではないことを理解されるべきである:ハードディスク、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又はこれらの任意の適切な組み合わせ。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価する方法であって、前記方法は、前記ホストデバイスによって実行され、前記方法は、
前記記憶デバイス上でリード・ライトテストを実行し、
前記リード・ライトテストの結果に従って前記記憶デバイスのリード・ライト伝送ビットレートの測定を介して前記記憶デバイスのパフォーマンスプロファイルを取得し、前記記憶デバイスが、前記パフォーマンスプロファイルに対応するビデオ解像度のビデオデータの記憶及び読み出しをするためのデバイスとして使用されるのに十分なパフォーマンス能力を有することを、前記パフォーマンスプロファイルが示す、方法。
(付記2)
前記リード・ライトテストは、前記記憶デバイス中のメモリセグメント上でのバイナリリード・ライト動作である、付記1に記載の方法。
(付記3)
前記メモリセグメントのコンテンツは、前記リード・ライトテストを実行する前に前記ホストデバイスに保存され、前記保存されたコンテンツは、前記リード・ライトテストを実行した後に、前記記憶デバイスにリストアされる、付記2に記載の方法。
(付記4)
前記パフォーマンスプロファイルを前記取得することが、サポートされる同時リード・ライト動作の最大数を取得することをさらに含む、付記1乃至3のいずれか一項に記載の方法。
(付記5)
前記ビデオ解像度は、標準画質ビデオ解像度、高解像度ビデオ解像度、又は超高解像度ビデオ解像度のうちの1つである、付記1乃至4のいずれか一項に記載の方法。
(付記6)
前記パフォーマンスプロファイルは、サポートされる同時リード・ライト動作の前記最大数から取得される、パーソナルビデオ記録タイプクラスをさらに示し、前記パーソナルビデオ記録タイプクラスは、
記録クラス又はタイムシフトクラス、
記録クラス及びタイムシフトクラス
のいずれか1つである、付記4に記載の方法。
(付記7)
前記パフォーマンスプロファイルは、前記ホストデバイスに保存される、付記1乃至6のいずれか一項に記載の方法。
(付記8)
前記パフォーマンスプロファイルは、ネットワーク記憶エリアに保存される、付記1乃至7のいずれか一項に記載の方法。
(付記9)
ホストデバイスに接続された記憶デバイスのパフォーマンスを評価するホストデバイスであって、前記ホストデバイスは、プロセッサとメモリを備え、前記プロセッサと前記メモリは、
前記記憶デバイス上でリード・ライトテストを実行し、
前記リード・ライトテストの結果に従って前記記憶デバイスのリード・ライト伝送ビットレートの測定を介して前記記憶デバイスのパフォーマンスプロファイルを取得し、前記記憶デバイスが、前記パフォーマンスプロファイルに対応するビデオ解像度のビデオデータの記憶及び読み出しをするためのデバイスとして使用されるのに十分なパフォーマンス能力を有することを、前記パフォーマンスプロファイルが示すように構成された、ホストデバイス。
(付記10)
前記プロセッサ及び前記メモリは、前記リード・ライトテストを前記記憶デバイス中のメモリセグメント上でバイナリリード・ライト動作として実行するようにさらに構成された、付記9に記載のホストデバイス。
(付記11)
前記プロセッサ及び前記メモリは、前記リード・ライトテストを実行する前に前記ホストデバイス中に前記メモリセグメントのコンテンツを保存し、前記リード・ライトテストを実行した後に前記保存したコンテンツを前記記憶デバイスにリストアするようにさらに構成された、付記10に記載の方法。
(付記12)
前記プロセッサ及び前記メモリは、前記パフォーマンスプロファイルを取得するために、サポートされる同時リード・ライト動作の最大数を取得するようにさらに構成される、付記9乃至11のいずれか一項に記載のホストデバイス。
(付記13)
前記プロセッサ及び前記メモリは、前記ホストデバイス中に前記パフォーマンスプロファイルを保存するようにさらに構成された、付記9乃至12のいずれか一項に記載のホストデバイス。
(付記14)
前記プロセッサ及び前記メモリは、ネットワーク記憶エリアに前記パフォーマンスプロファイルを保存するようにさらに構成された、付記9乃至13のいずれか一項に記載のホストデバイス。