(57)【要約】【課題】  ストレージ装置、及び該ストレージ装置を含むサーバを提供する。【解決手段】  ストレージ装置、及びストレージ装置を含むサーバに係り、該ストレージ装置は、第１メモリ領域及び第２メモリ領域を含む不揮発性メモリと、第１クライアント装置から、第１マルチメディアファイルのアップロード要請を受信し、第１マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、ベースレイヤ、及び少なくとも１つのエンハンスメントレイヤを含む第２マルチメディアファイルを生成し、第２マルチメディアファイルを、不揮発性メモリに保存するように、不揮発性メモリを制御するメモリコントローラと、を含む。【選択図】      図１２
2019195157.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリ領域及び第２メモリ領域を含む不揮発性メモリと、
第１クライアント装置から、第１マルチメディアファイルのアップロード要請を受信し、前記第１マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、ベースレイヤ、及び少なくとも１つのエンハンスメントレイヤを含む第２マルチメディアファイルを生成し、前記第２マルチメディアファイルを、前記不揮発性メモリに保存するように、前記不揮発性メモリを制御するメモリコントローラと、を含むストレージ装置。
【請求項２】
前記第１メモリ領域は、第１保存信頼性レベルを有し、前記ベースレイヤに対応する第１データを保存し、
前記第２メモリ領域は、前記第１保存信頼性レベルより低い第２保存信頼性レベルを有し、前記少なくとも１つのエンハンスメントレイヤに対応する第２データを保存することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記第１メモリ領域は、シングルレベルセル（ＳＬＣ）を含み、
前記第２メモリ領域は、マルチレベルセル（ＭＬＣ）またはトリプルレベルセル（ＴＬＣ）を含むことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記第１メモリ領域のプログラム／消去サイクルカウントは、基準カウント未満であり、前記第２メモリ領域のプログラム／消去サイクルカウントは、前記基準カウント以上であることを特徴とする請求項１に記載のストレージ装置。
【請求項５】
前記第１メモリ領域のエラービットの個数は、基準個数未満であり、前記第２メモリ領域のエラービット個数は、前記基準個数以上であることを特徴とする請求項１に記載のストレージ装置。
【請求項６】
前記メモリコントローラは、前記第１クライアント装置または第２クライアント装置から、リトリーブ要請を受信し、前記不揮発性メモリから、前記第２マルチメディアファイルを読み取り、読み取られた前記第２マルチメディアファイルを、前記リトリーブ要請に従ってトランスコーディングすることにより、第３マルチメディアファイルを生成することを特徴とする請求項１に記載のストレージ装置。
【請求項７】
前記少なくとも１つのエンハンスメントレイヤに対応する一部データにおいて、エラーが発生した場合、前記メモリコントローラは、前記ベースレイヤに対応するデータをトランスコーディングし、前記第３マルチメディアファイルを生成することを特徴とする請求項６に記載のストレージ装置。
【請求項８】
前記少なくとも１つのエンハンスメントレイヤに対応する一部データにおいて、エラーが発生した場合、前記メモリコントローラは、前記少なくとも１つのエンハンスメントレイヤの重要度をチェックして、チェック結果に従って前記少なくとも１つのエンハンスメントレイヤに係わる読み取り再試みを行うかを決定することを特徴とする請求項６に記載のストレージ装置。
【請求項９】
前記第１クライアント装置または第２クライアント装置は、スケーラブルフォーマットファイルを再生することができ、
前記メモリコントローラは、前記第１クライアント装置または前記第２クライアント装置からリトリーブ要請を受信し、前記不揮発性メモリから、前記第２マルチメディアファイルのうち前記リトリーブ要請に従ったデータを読み取り、読み取られた前記データを、前記第１クライアント装置または前記第２クライアント装置に提供することを特徴とする請求項１に記載のストレージ装置。
【請求項１０】
前記メモリコントローラは、前記リトリーブ要請に応答し、前記不揮発性メモリから、前記ベースレイヤに対応するデータ、または前記ベースレイヤ及び前記少なくとも１つのエンハンスメントレイヤに対応するデータを読み取ることを特徴とする請求項９に記載のストレージ装置。
【請求項１１】
前記少なくとも１つのエンハンスメントレイヤは、第１エンハンスメントレイヤ及び第２エンハンスメントレイヤを含み、
前記第２エンハンスメントレイヤに対応するデータにエラーが発生すると、前記メモリコントローラは、前記ベースレイヤ及び前記第１エンハンスメントレイヤに対応するデータを、前記第１クライアント装置または前記第２クライアント装置に提供することを特徴とする請求項１０に記載のストレージ装置。
【請求項１２】
前記少なくとも１つのエンハンスメントレイヤは、第１エンハンスメントレイヤ及び第２エンハンスメントレイヤを含み、
前記第２エンハンスメントレイヤに対応するデータにエラーが発生すると、前記メモリコントローラは、前記ベースレイヤ及び前記第１エンハンスメントレイヤに対応するデータ、並びにエラーメッセージを、前記第１クライアント装置または前記第２クライアント装置に提供することを特徴とする請求項１０に記載のストレージ装置。
【請求項１３】
前記メモリコントローラは、
前記第２マルチメディアファイルを前記不揮発性メモリに保存するための物理アドレスを決定するオブジェクトマッパと、
前記物理アドレスを、前記第２マルチメディアファイルと係わるオブジェクトＩＤにマッピングするマッピングテーブルと、をさらに含むことを特徴とする請求項１に記載のストレージ装置。
【請求項１４】
前記オブジェクトマッパは、前記第２マルチメディアファイルに含まれたデータの重要度及びビットレートのうち少なくとも一つを基に、前記物理アドレスを決定することを特徴とする請求項１３に記載のストレージ装置。
【請求項１５】
前記メモリコントローラは、前記不揮発性メモリに保存されたノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングし、トランスコーディングされた前記スケーラブルフォーマットファイルを、前記不揮発性メモリに保存するように、前記不揮発性メモリを制御することを特徴とする請求項１に記載のストレージ装置。
【請求項１６】
請求項１ないし１５のいずれか１項に記載のストレージ装置を含むストレージサーバ。
【請求項１７】
クライアント装置と通信可能なサーバであり、
前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーダを含む第１ストレージ装置と、
ノンスケーラブルフォーマットファイルを保存する第２ストレージ装置と、
前記第１ストレージ装置と前記第２ストレージ装置との通信を制御するプロセッサと、を含み、
前記トランスコーダは、前記第２ストレージ装置から、前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングすることを特徴とするサーバ。
【請求項１８】
トランスコーディングされた前記スケーラブルフォーマットファイルは、前記第１ストレージ装置または前記第２ストレージ装置に保存されることを特徴とする請求項１７に記載のサーバ。
【請求項１９】
前記第１ストレージ装置は、前記ノンスケーラブルフォーマットファイルと共に、前記ノンスケーラブルフォーマットファイルの第１オブジェクトＩＤを受信し、前記スケーラブルフォーマットファイルの第２オブジェクトＩＤを出力することを特徴とする請求項１７に記載のサーバ。
【請求項２０】
クライアント装置と通信可能なサーバであり、
前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーディングモジュールと、
ノンスケーラブルフォーマットファイルを保存するストレージ装置と、
前記トランスコーディングモジュールと前記ストレージ装置との通信を制御するプロセッサと、を含み、
前記トランスコーディングモジュールは、前記ストレージ装置から、前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングすることを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置に係り、さらに詳細には、マルチメディアファイルを、複数の解像度で提供することができるストレージ装置、及び前記ストレージ装置を含むサーバに関する。
【背景技術】
【０００２】
モバイルデバイスが広く普及されるにつれ、ソーシャルネットワークサービスを利用するユーザが増えている。該ユーザは、モバイルデバイスを利用し、ソーシャルネットワークサービス上の仮想空間に、写真または動画のようなマルチメディアファイルをアップロードすることができる。該ユーザは、他のデバイスを利用し、ソーシャルネットワークサービス上の仮想空間に接続し、前記マルチメディアファイルを再生することができ、ソーシャルネットワークサービス上の仮想空間に接続した他のユーザと、前記マルチメディアファイルを共有することができる。それにより、ソーシャルネットワークサービスを提供するサーバには、保存容量が非常に大きいストレージ装置が要求される。
【０００３】
一方、マルチメディアファイルを再生する多様なデバイスのスクリーンサイズは、互いに異なり、多様なデバイスで再生可能なマルチメディアファイルの解像度も、互いに異なりもする。それにより、サーバは、互いに異なる解像度にそれぞれ対応する複数のファイルを生成しなければならないので、該サーバにおいて、複数ファイルの生成に必要となる資源及び時間が多く必要となり、生成された複数ファイルを保存するために、非常に大きい保存容量が要求されるという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、マルチメディアファイルの保存空間を減らしながら、マルチメディアファイルを、複数の解像度で提供することができるストレージ装置、及び前記ストレージ装置を含むサーバを提供することである。
【課題を解決するための手段】
【０００５】
本開示の技術的思想によるストレージ装置は、第１メモリ領域及び第２メモリ領域を含む不揮発性メモリ、並びに第１クライアント装置から第１マルチメディアファイルのアップロード要請を受信し、前記第１マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディング（transcoding）することにより、ベースレイヤ、及び少なくとも１つのエンハンスメントレイヤを含む第２マルチメディアファイルを生成し、前記第２マルチメディアファイルを、前記不揮発性メモリに保存するように、前記不揮発性メモリを制御するメモリコントローラを含む。
【０００６】
また、本開示の技術的思想によるサーバは、クライアント装置と通信可能であり、前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーダを含む第１ストレージ装置、ノンスケーラブルフォーマットファイルを保存する第２ストレージ装置、並びに前記第１ストレージ装置と前記第２ストレージ装置との通信を制御するプロセッサを含み、前記トランスコーダは、前記第２ストレージ装置から前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングする。
【０００７】
また、本開示の技術的思想によるサーバは、クライアント装置と通信可能であり、前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーディングモジュール、ノンスケーラブルフォーマットファイルを保存するストレージ装置、及び前記トランスコーディングモジュールと前記ストレージ装置との通信を制御するプロセッサを含み、前記トランスコーディングモジュールは、前記ストレージ装置から前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングする。
【０００８】
また、本開示の技術的思想によるメモリコントローラは、第１マルチメディアオブジェクトのアップロード要請に応答し、前記第１マルチメディアオブジェクトをオリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、ベースレイヤ、及び少なくとも１つのエンハンスメントレイヤを含む第２マルチメディアオブジェクトを生成するトランスコーダ、及び前記第２マルチメディアオブジェクトを保存するための物理アドレスをオブジェクトＩＤ別に保存するオブジェクトマッパを含む。
【図面の簡単な説明】
【０００９】
【図１】本開示の一実施形態によるネットワークシステムを示す図面である。
【図２】本開示の一実施形態により、図１の第１クライアント装置とサーバとの動作を示すフローチャートである。
【図３】本開示の一実施形態により、図２のサーバで遂行されるトランスコーディング動作を例示的に示す図面である。
【図４】本開示の一実施形態により、図１のクライアント装置に表示されるスクリーンを例示的に示す図面である。
【図５】本開示の一実施形態により、図１のサーバで遂行されるトランスコーディング動作を例示的に示す図面である。
【図６】本開示の一実施形態により、図１のサーバと、第１クライアント装置及び第２クライアント装置との動作を示すフローチャートである。
【図７】本開示の一実施形態によるネットワークシステムを示す図面である。
【図８】本開示の一実施形態により、図７の第１クライアント装置、サーバ及びストレージ装置の動作を示すフローチャートである。
【図９】本開示の一実施形態によるネットワークシステムを示す図面である。
【図１０】本開示の一実施形態により、図９の第１クライアント装置とサーバとの動作を示すフローチャートである。
【図１１】本開示の一実施形態によるサーバを示すブロック図である。
【図１２】本開示の一実施形態によるストレージ装置を示すブロック図である。
【図１３】本開示の一実施形態により、スケーラブルフォーマットファイルに含まれたレイヤの保存動作の一例を示す図面である。
【図１４】本開示の一実施形態により、図１２のメモリコントローラを示すブロック図である。
【図１５Ａ】本開示の一部実施形態によるマッピングテーブルを示す図面である。
【図１５Ｂ】本開示の一部実施形態によるマッピングテーブルを示す図面である。
【図１５Ｃ】本開示の一部実施形態によるマッピングテーブルを示す図面である。
【図１６】本開示の一部実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す図面である。
【図１７】本開示の一部実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す図面である。
【図１８】本開示の一実施形態によるマルチメディアファイルの保存方法を示すフローチャートである。
【図１９】図１８に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作を示すフローチャートである。
【図２０】本開示の一実施形態による、マルチメディアファイルの読み取り方法を示すフローチャートである。
【図２１】図２０に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。
【図２２】図２０に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の他の例を示すフローチャートである。
【図２３】本開示の一実施形態による、マルチメディアファイルの読み取り方法を示すフローチャートである。
【図２４】図２３に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。
【図２５】図２３に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。
【図２６】図２３に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。
【図２７】本開示の一実施形態によるストレージ装置を示すブロック図である。
【図２８】本開示の一実施形態によるサーバを示すブロック図である。
【図２９】本開示の一実施形態により、図２８に含まれたストレージ装置を示すブロック図である。
【図３０】本開示の一実施形態によるサーバを示すブロック図である。
【図３１】本開示の一実施形態によるネットワークシステムを示す図面である。
【図３２】本開示の一実施形態によるネットワークシステムを示す図面である。
【発明を実施するための形態】
【００１０】
図１は、本開示の一実施形態によるネットワークシステム（network  system）ＮＳを示す。１を参照すれば、ネットワークシステムＮＳは、サーバ１０、第１クライアント装置２０ａ及び第２クライアント装置２０ｂを含み、第１クライアント装置２０ａ及び第２クライアント装置２０ｂは、ネットワーク３０を介して、サーバ１０と通信することができる。第１クライアント装置２０ａ及び第２クライアント装置２０ｂは、コンピュータ装置で具現される固定型端末や移動型端末とし得る。例えば、第１クライアント装置２０ａ及び第２クライアント装置２０ｂは、スマートフォン（smart  phone）、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、ＰＤＡ（personal  digital  assistant）、ＰＭＰ（portable  multimedia  player）、タブレットＰＣ（personal  computer）などとし得る。
【００１１】
サーバ１０は、第１クライアント装置２０ａ及び第２クライアント装置２０ｂと、ネットワーク３０を介して通信し、命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置、または複数のコンピュータ装置によって具現され得る。サーバ１０は、ストレージ装置１００を含み、それにより、サーバ１０をストレージサーバとも呼ぶ。一実施形態において、サーバ１０は、マルチメディアストリーミングサービスを提供するプラットホームであり、リアルタイムトランスコーディングのためのストリーミングサーバの役割を果たす。ここで、該マルチメディアストリーミングサービスは、サーバ１０に保存された動画ファイル（例えば、ビデオ）または映像ソース（例えば、イメージ）を、第１クライアント装置２０ａ及び第２クライアント装置２０ｂに伝送し、該マルチメディアストリーミングサービスを利用する第１クライアント装置２０ａ及び第２クライアント装置２０ｂにおいて、データの受信と再生とが同時になされる形態のサービスを言う。そのような形態のサービスは、最近、モバイル環境及びクラウド環境の拡散と共に、その重要度が広く認識されている。
【００１２】
サーバ１０は、ストレージ装置１００を含み、ストレージ装置１００は、トランスコーダＴＣを含んでもよい。例えば、トランスコーダＴＣは、第１コーディングされた表現（representation）の第１ファイルを、第２コーディングされた表現の第２ファイルに変換する装置によって具現され得る。ストレージ装置１００は、ローカルストレージとも呼ぶことができる。サーバ１０は、第１クライアント装置２０ａからマルチメディアファイルのアップロード要請を受信することができる。一実施形態において、第１クライアント装置２０ａが、オリジナルフォーマットを有するマルチメディアファイルをストレージ装置１００にアップロードする動作を完了した後、トランスコーダＴＣは、マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディング（transcoding）することができ、ストレージ装置１００に、トランスコーディングされたスケーラブルフォーマットのファイルを保存することができる。ここで、トランスコーディングとは、マルチメディアコンテンツのファイルフォーマット、解像度及び画質などを変換する作業を言う。例えば、該トランスコーディングは、ビットマップフォーマットのマルチメディアイメージファイルを、ＪＰＥＧ（Joint  Photographic  Experts  Group）フォーマットに変更することができ、該トランスコーディングは、高解像度ＪＰＥＧファイルを低解像度ＪＰＥＧファイルなどに変更することができる。しかし、本開示の技術的思想は、任意の特定イメージファイルフォーマットに制限されるものではない。
【００１３】
一実施形態において、サーバ１０は、ネットワーク３０を介して、第１クライアント装置２０ａに、アプリケーションインストールのためのファイルを提供することができ、第１クライアント装置２０ａは、サーバ１０から提供されたファイルを利用し、アプリケーションをインストールすることができる。例えば、第１クライアント装置２０ａは、ファイルを実行することにより、アプリケーションをインストールすることができる。第１クライアント装置２０ａは、オペレーティングシステム（ＯＳ）、または少なくとも１つのプログラム（例えば、ブラウザやアプリケーション）の制御によってサーバ１０に接続し、サーバ１０が提供するサービスやコンテンツを提供される。第２クライアント装置２０ｂの動作は、第１クライアント装置２０ａと類似しているので、省略する。
【００１４】
一実施形態において、サーバ１０は、ＮＡＳ（network  attached  storage）のようなネットワークストレージとし得る。例えば、第１クライアント装置２０ａ及び第２クライアント装置２０ｂは、家庭にあるテレビ、コンピュータ、スマートフォンのような多様な電子機器とし得る。テレビで再生可能なファイルの解像度と、スマートフォンで再生可能なファイルの解像度とが異なり得るが、サーバ１０は、互いに異なる解像度にそれぞれ対応する複数ファイルを保存せず、スケーラブルフォーマットのファイルを保存することにより、保存容量を減らすことができる。例えば、マルチメディアファイルを低解像度フォーマット、中間解像度フォーマット、高解像度フォーマットで静的に保存する代わりに、サーバは、マルチメディアファイルを示す単一のスケーラブルフォーマットファイルを保存することができ、必要な場合、該単一のスケーラブルフォーマットファイルから、多様な解像度のファイルが導き出される。
【００１５】
サーバ１０と、第１クライアント装置２０ａ及び第２クライアント装置２０ｂとの通信方式は、移動通信網、有線インターネット、無線インターネット、放送網などを活用する通信方式だけではなく、機器間の近距離無線通信も含まれる。例えば、ネットワーク３０は、アドホックネットワーク、イントラネット、エクストラネット、ＰＡＮ（personal  area  network）、ＬＡＮ（local  area  network）、無線ＬＡＮ、ＣＡＮ（campus  area  network）、ＭＡＮ（metropolitan  area  network）、ＷＡＮ（wide  area  network）、ＢＢＮ（broadband  network）、公衆電話網（ＰＳＴＮ：public  switched  telephone  network）、インターネットのようなネットワークのうち１以上の任意のネットワークを含んでもよい。
【００１６】
リンク１５は、第１クライアント装置２０ａ及び第２クライアント装置２０ｂ、並びにサーバ１０を、ネットワーク３０と連結させたり、互いに連結させたりすることができる。例えば、リンク１５は、１以上の有線ライン（例えば、デジタル加入者ライン（ＤＳＬ）またはＤＯＣＳＩＳ（data  over  cable  service  interface  specification））、無線（例えば、Ｗｉ−Ｆｉ（wireless  fidelity）またはＷｉＭＡＸ（worldwide  interoperability  for  microwave  access））、光学リンク（例えば、同期式光学ネットワーク（ＳＯＮＥＴ：synchronous  optical  network）または同期式デジタル階層（ＳＤＨ：synchronous  digital  hierarchy）リンクを含む。リンク１５は、ネットワークシステムＮＳにおいて、必ずしも同一である必要はない。
【００１７】
図２は、本開示の一実施形態により、図１の第１クライアント装置２０ａとサーバ１０との動作を示すフローチャートである。図２を参照すれば、段階Ｓ１００において、第１クライアント装置２０ａは、マルチメディアファイルまたはマルチメディアオブジェクトのアップロード要請を、サーバ１０に送信する。例えば、マルチメディアファイルは、写真ファイル（例えば、イメージ）、動画ファイル（例えば、ビデオ）、オーディオファイル、三次元モデルファイルなどとし得る。一実施形態において、第１クライアント装置２０ａは、アップロード要請と共に、さらなるオブジェクトの生成要請をサーバ１０に送信することができる。例えば、第１クライアント装置２０ａは、マルチメディアオブジェクトを基に、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成要請を、サーバ１０に送信することができる。一実施形態において、マルチメディアファイル／オブジェクトのアップロード要請は、マルチメディアファイル／オブジェクトを含む。他の実施形態において、サーバ１０は、アップロード要請に応答して、第１クライアント装置２０ａがサーバ１０にマルチメディアファイル／オブジェクトをアップロードする承認を有しているということを示すメッセージを、第１クライアント装置２０ａに送信し、第１クライアント装置２０ａは、該メッセージの受信に応答し、マルチメディアファイル／オブジェクトをサーバ１０に送信する。
【００１８】
段階Ｓ１１０において、サーバ１０は、受信したマルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。一実施形態において、該スケーラブルフォーマットファイルは、ベースレイヤ、及び少なくとも１つのエンハンスメントレイヤを含むファイルとし得る。例えば、該スケーラブルフォーマットファイルは、ＳＶＣ（scalable  video  coding）、プログレッシブＪＰＥＧ（progressive  ＪＰＥＧ）方式によるファイルとし得る。段階Ｓ１２０において、サーバ１０は、スケーラブルフォーマットファイルをストレージ装置１００に保存する。一実施形態において、トランスコーディング前、サーバ１０は、受信されたマルチメディアファイルを内部バッファに一時的に保存し、トランスコーディング後、内部バッファのコンテンツは、新たに受信されたデータでオーバライト（overwrite）されたり廃棄されたりする。段階Ｓ１１０及びＳ１２０に係わる具体的な動作は、以下、図３を参照して説明する。
【００１９】
段階Ｓ１３０において、サーバ１０は、アップロード動作が完了したことを示す応答メッセージを、第１クライアント装置２０ａに送信する。例えば、サーバ１０は、スケーラブルフォーマットファイルの生成または保存が完了した後、応答メッセージを送信することができる。一実施形態において、サーバ１０は、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成が完了したことを示す応答メッセージを、第１クライアント装置２０ａにさらに送信することができる。それにより、第１クライアント装置２０ａのユーザは、サーバ１０が、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトを保存していると認識することができる。段階Ｓ１３０に係わる具体的な動作は、以下、図４を参照して説明する。
【００２０】
図３は、本開示の一実施形態により、図２のサーバ１０で遂行されるトランスコーディング動作を例示的に示す。
【００２１】
図２及び図３を共に参照すれば、第１クライアント装置２０ａは、第１マルチメディアファイルＭＦ１、例えば、Ｘ．ｍｐ４（例えば、mpeg  layer−４オーディオ）をサーバ１０に送信することができる。サーバ１０は、第１マルチメディアファイルＭＦ１を、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、第２マルチメディアファイルＭＦ２、例えば、Ｙ．ｓｖｃを生成することができ、第２マルチメディアファイルＭＦ２を、ストレージ装置１００に保存することができる。このとき、第２マルチメディアファイルＭＦ２は、ベースレイヤＢＬ、及び少なくとも１つのエンハンスメントレイヤ、例えば、第１エンハンスメントレイヤＥＬ１及び第２エンハンスメントレイヤＥＬ２を含んでもよい。しかし、第２マルチメディアファイルＭＦ２は、それに限定されるものではなく、エンハンスメントレイヤの個数は、実施形態によって多様に変更され得る。
【００２２】
サーバ１０は、第１クライアント装置２０ａからさらなるオブジェクトの生成要請を受信しても、スケーラブルフォーマットへのトランスコーディング動作のみを遂行し、他のフォーマットへのトランスコーディング動作を遂行しない。それにより、サーバ１０において、トランスコーディング動作に必要となる資源及び時間を低減させることができる。また、サーバ１０は、第１クライアント装置２０ａからさらなるオブジェクトの生成要請を受信しても、スケーラブルフォーマットの第２マルチメディアファイルＭＦ２だけ保存することができ、他のフォーマットのマルチメディアファイルを保存しない。それにより、ストレージ装置１００は、第１マルチメディアファイルＭＦ１に対応するコンテンツの保存空間を大きく縮小させることができる。
【００２３】
図４は、本開示の一実施形態により、図１の第１クライアント装置２０ａに表示されるスクリーンを例示的に示す。図２及び図４を共に参照すれば、サーバ１０は、第２マルチメディアファイルＭＦ２のみを保存しているにもかかわらず、第１マルチメディアファイルＭＦ１に対応する複数のマルチメディアファイルの生成及び保存が完了したことを示す応答メッセージを、第１クライアント装置２０ａに送信することができる。それにより、第１クライアント装置２０ａには、複数のマルチメディアファイルにそれぞれ対応する第１サムネイル４１〜第４サムネイル４４が表示される。従って、第１クライアント装置２０ａのユーザは、サーバ１０が単一のスケーラブルファイルだけ保存しているにもかかわらず、サーバ１０が、アップロードされたマルチメディアファイルを、多様な解像度またはフォーマットの多くのファイルとして保存していると判断することができる。
【００２４】
再び図２を参照すれば、段階Ｓ１４０において、第１クライアント装置２０ａは、第１解像度のマルチメディアファイルの提供を要請するリトリーブ（retrieve）要請をサーバ１０に送信する。例えば、第１クライアント装置２０ａのユーザは、図４に例示された第２サムネイル４２を選択することにより、サーバ１０に、リトリーブ要請を送信することができる。一実施形態において、リトリーブ要請は、選択されたサムネイル上のラベル（例えば、「Ａ．ｍｐ４」または「Ａ」）を含んでもよい。段階Ｓ１５０において、サーバ１０は、スケーラブルフォーマットファイルを、第１解像度によるマルチメディアファイルにトランスコーディングする。例えば、サーバ１０は、第２マルチメディアファイルＭＦ２を、スケーラブルフォーマットから第１解像度によるフォーマットにトランスコーディングすることにより、第３マルチメディアファイルＭＦ３、例えば、Ａ．ｍｐ４を生成することができる。段階Ｓ１５０に係わる具体的な動作は、以下、図５を参照して説明する。段階Ｓ１６０において、サーバ１０は、トランスコーディングされたマルチメディアファイルを、第１クライアント装置２０ａに提供する。
【００２５】
図５は、本開示の一実施形態により、図１のサーバ１０で遂行されるトランスコーディング動作を例示的に示す。図２及び図５を共に参照すれば、サーバ１０は、ストレージ装置１００に保存された第２マルチメディアファイルＭＦ２を、スケーラブルフォーマットから第１解像度によるフォーマットにトランスコーディングすることにより、第３マルチメディアファイルＭＦ３、例えば、Ａ．ｍｐ４を生成することができ、第３マルチメディアファイルＭＦ３を、第１クライアント装置２０ａに保存することができる。一実施形態において、サーバ１０は、ベースレイヤＢＬを基に、第３マルチメディアファイルＭＦ３を生成することができる。一実施形態において、サーバ１０は、第１エンハンスメントレイヤＥＬ１及び第２エンハンスメントレイヤＥＬ２のうち少なくとも一つと、ベースレイヤＢＬとを基に、第３マルチメディアファイルＭＦ３を生成することもできる。一実施形態において、サーバ１０は、第３マルチメディアファイルＭＦ３を、内部バッファに一時的に保存することができ、内部バッファは、第１クライアント装置２０ａ上に、第３マルチメディアファイルＭＦ３の保存が完了した後、他のデータでオーバライトされ得る。
【００２６】
再び図２を参照すれば、段階Ｓ１７０において、第１クライアント装置２０ａは、第２解像度のマルチメディアファイルの提供を要請するリトリーブ要請を、サーバ１０に送信する。例えば、第１クライアント装置２０ａのユーザは、図４に例示された第３サムネイル４３を選択することにより、サーバ１０に、リトリーブ要請を送信することができる。段階Ｓ１８０において、サーバ１０は、スケーラブルフォーマットファイルを、第２解像度によるマルチメディアファイルにトランスコーディングする。例えば、サーバ１０は、第２マルチメディアファイルＭＦ２を、スケーラブルフォーマットから第２解像度によるフォーマットにトランスコーディングすることにより、第４マルチメディアファイルＭＦ４、例えば、Ｂ．ｍｐ４を生成することができる。段階Ｓ１９０において、サーバ１０は、トランスコーディングされたマルチメディアファイルを、第１クライアント装置２０ａに提供する。
【００２７】
図６は、本開示の一実施形態により、図１のサーバ１０と、第１クライアント装置２０ａ及び第２クライアント装置２０ｂとの動作を示すフローチャートである。図６を参照すれば、本実施形態は、図２に例示された実施形態の変形例に対応し、第１クライアント装置２０ａが、マルチメディアファイルをサーバ１０にアップロードし、第２クライアント装置２０ｂが、サーバ１０からマルチメディアファイルを受信して再生することができる。
【００２８】
段階Ｓ１４５において、第２クライアント装置２０ｂは、第３解像度のマルチメディアファイルの提供を要請するリトリーブ要請をサーバ１０に送信する。例えば、第２クライアント装置２０ｂのユーザは、図４に例示された第４サムネイル４４を選択することにより、サーバ１０に、リトリーブ要請を送信することができる。段階Ｓ１５５において、サーバ１０は、スケーラブルフォーマットファイルを、第３解像度によるマルチメディアファイルにトランスコーディングする。例えば、サーバ１０は、第２マルチメディアファイルＭＦ２を、スケーラブルフォーマットから、第３解像度によるフォーマットにトランスコーディングすることにより、第５マルチメディアファイルＭＦ５、例えば、Ｃ．ｍｐ４を生成することができる。段階Ｓ１６５において、サーバ１０は、トランスコーディングされたマルチメディアファイルを、第２クライアント装置２０ｂに提供する。
【００２９】
図７は、本開示の一実施形態によるネットワークシステムＮＳ’を示す。図７を参照すれば、ネットワークシステムＮＳ’は、サーバ１０’、第１クライアント装置２０ａ及び第２クライアント装置２０ｂ、並びにストレージ装置４０を含んでもよい。本実施形態によるネットワークシステムＮＳ’は、図１の変形実施形態に対応し、ネットワークシステムＮＳ’は、図１と異なり、サーバ１０’の外部に配置されたストレージ装置４０をさらに含んでもよい。図１ないし図６に開示された内容は、本実施形態にも適用される。
【００３０】
ストレージ装置４０は、サーバ１０’と、ネットワーク３０を介して通信することができ、それにより、遠隔（remote）ストレージ装置、遠隔ストレージサーバまたはネットワークストレージとも呼ばれる。ストレージ装置４０は、トランスコーダＴＣを含んでもよい。トランスコーダＴＣは、マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることができ、ストレージ装置４０は、トランスコーディングされたスケーラブルフォーマットのファイルを保存することができる。
【００３１】
図８は、本開示の一実施形態により、図７の第１クライアント装置２０ａ、サーバ１０’及びストレージ装置４０の動作を示すフローチャートである。図８を参照すれば、本実施形態による動作は、図２に例示された実施形態の変形例に対応し、図２ないし図６を参照して説明された内容は、本実施形態にも適用される。段階Ｓ２００において、第１クライアント装置２０ａは、マルチメディアファイルまたはマルチメディアオブジェクトのアップロード要請を、サーバ１０’に送信する。一実施形態において、第１クライアント装置２０ａは、アップロード要請と共に、さらなるオブジェクトの生成要請を、サーバ１０’に送信することができる。一実施形態において、サーバ１０’は、アップロード要請に応答し、第１クライアント装置２０ａにメッセージを送信することができる。例えば、該メッセージは、第１クライアント装置２０ａがマルチメディアファイルをアップロードするための承認を有しているということを示すことができる。一実施形態において、第１クライアント装置２０ａは、該メッセージの受信に応答し、サーバ１０’にマルチメディアファイルを送信し、サーバ１０’は、ストレージ装置４０のテンポラリバッファに、マルチメディアファイルを保存することができる。
【００３２】
段階Ｓ２１０において、サーバ１０’は、受信したマルチメディアファイルまたはマルチメディアオブジェクトに対する書き込みコマンドをストレージ装置４０に送信する。例えば、マルチメディアファイルのテンポラリバッファへの保存が完了すると、サーバ１０’は、ストレージ装置４０に書き込みコマンドを送信することができる。段階Ｓ２２０において、ストレージ装置４０は、受信したマルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。一実施形態において、ストレージ装置４０は、書き込みコマンドの受信に応答し、受信されたマルチメディアファイルをトランスコーディングすることができる。一実施形態において、書き込みコマンドは、スケーラブルフォーマットファイルのフォーマットを指示することができる。段階Ｓ２３０において、ストレージ装置４０は、トランスコーディングされたスケーラブルフォーマットファイルを保存する。一実施形態において、スケーラブルフォーマットファイルの保存は、マルチメディアファイルのオリジナルフォーマットを保存するストレージ装置４０の位置に、スケーラブルフォーマットファイルをオーバライトする段階を含んでもよい。段階Ｓ２４０において、ストレージ装置４０は、書き込み動作が完了したことを示す応答メッセージを、サーバ１０’に送信する。段階Ｓ２４５において、サーバ１０’は、アップロード動作が完了したことを示す応答メッセージを、第１クライアント装置２０ａに送信する。例えば、応答メッセージは、単一のスケーラブルフォーマットファイルだけ保存されているにもかかわらず、互いに異なる多様なフォーマット及び／または解像度のマルチメディアファイルが、サーバ１０’またはストレージ装置４０に保存されていることを示すことができる。一実施形態において、サーバ１０’は、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成が完了したことを示す応答メッセージを、第１クライアント装置２０ａにさらに送信することができる。
【００３３】
段階Ｓ２５０において、第１クライアント装置２０ａは、第１解像度のマルチメディアファイルの提供を要請するリトリーブ要請を、サーバ１０’に送信する。例えば、第１クライアント装置２０ａのユーザは、図４に例示された第２サムネイル４２を選択することにより、サーバ１０’に、リトリーブ要請を送信することができる。段階Ｓ２６０において、サーバ１０’は、第１解像度のマルチメディアファイルに対する読み取りコマンドを、ストレージ装置４０に送信する。例えば、サーバ１０’は、リトリーブ要請の受信に応答し、ストレージ装置４０に読み取りコマンドを送信することができる。一実施形態において、読み取りコマンドは、マルチメディアファイル、及び要求される解像度を確認することができる。一実施形態において、読み取りコマンドは、選択されたサムネイル上のファイル名称（例えば、「Ａ．ｍｐ４」または「Ａ」）を含んでもよい。段階Ｓ２７０において、ストレージ装置４０は、スケーラブルフォーマットファイルを読み取る。段階Ｓ２８０において、ストレージ装置４０は、スケーラブルフォーマットファイルを、第１解像度によるマルチメディアファイルにトランスコーディングする。段階Ｓ２９０において、ストレージ装置４０は、第１解像度によるマルチメディアファイルを、サーバ１０’に提供する。例えば、ストレージ装置４０は、読み取りコマンドの受信に応答し、スケーラブルフォーマットファイルから、データをローディングすることができ、ローディングされたデータを、第１解像度のマルチメディアファイルに変換することができ、第１解像度のマルチメディアファイルを、サーバ１０’に送信することができる。段階Ｓ２９５において、サーバ１０’は、第１解像度によるマルチメディアファイルを、第１クライアント装置２０ａに提供する。
【００３４】
図９は、本開示の一実施形態によるネットワークシステムＮＳ”を示す。図９を参照すれば、ネットワークシステムＮＳ”は、サーバ１０、第１クライアント装置２０ａ’及び第２クライアント装置２０ｂを含んでもよい。本実施形態によるネットワークシステムＮＳ”は、図１の変形実施形態に対応し、第１クライアント装置２０ａ’は、図１と異なり、ＳＶＣデコーダ２１を含んでもよい。図１ないし図６に開示された内容は、本実施形態にも適用される。
【００３５】
ＳＶＣデコーダ２１は、ＳＶＣフォーマットのファイルをデコーディングすることにより、特定フォーマットによるマルチメディアファイルを生成することができる。従って、第１クライアント装置２０ａ’は、サーバ１０から，ＳＶＣファイルのようなスケーラブルフォーマットファイルを受信することができるので、サーバ１０は、保存されたスケーラブルフォーマットファイルに係わるトランスコーディングを行わず、スケーラブルフォーマットファイルを、第１クライアント装置２０ａ’に送信することができる。例えば、ＳＶＣデコーダ２１は、スケーラブルフォーマットファイルを、互いに異なる多様なフォーマット及び／または解像度のマルチメディアファイルに変換するように構成された装置によって具現されることができる。例えば、トランスコーダＴＣが、マルチメディアファイルをスケーラブルフォーマットファイルに変換する一方、ＳＶＣデコーダ２１は、スケーラブルフォーマットファイルを、さらにマルチメディアファイルに変換することができる。
【００３６】
図１０は、本開示の一実施形態により、図９の第１クライアント装置２０ａ’とサーバ１０との動作を示すフローチャートである。図１０を参照すれば、本実施形態による動作は、図２に例示された実施形態の変形例に対応し、図２ないし図６を参照して説明された内容は、本実施形態にも適用される。段階Ｓ３００において、第１クライアント装置２０ａ’は、マルチメディアファイルまたはマルチメディアオブジェクトのアップロード要請を、サーバ１０に送信する。一実施形態において、第１クライアント装置２０ａ’は、アップロード要請と共に、さらなるオブジェクトの生成要請を、サーバ１０に送信することができる。
【００３７】
段階Ｓ３１０において、サーバ１０は、受信したマルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。段階Ｓ３２０において、サーバ１０は、トランスコーディングされたスケーラブルフォーマットファイルを、ストレージ装置１００に保存する。段階Ｓ３３０において、サーバ１０は、アップロード動作が完了したことを示す応答メッセージを、第１クライアント装置２０ａ’に送信する。一実施形態において、サーバ１０は、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成が完了したことを示す応答メッセージを、第１クライアント装置２０ａ’にさらに送信することができる。
【００３８】
段階Ｓ３４０において、第１クライアント装置２０ａ’は、第１解像度のスケーラブルフォーマットファイルの提供を要請するリトリーブ要請を、サーバ１０に送信する。段階Ｓ３５０において、サーバ１０は、第１解像度により、スケーラブルフォーマットファイルのデータを読み取る。段階Ｓ３６０において、サーバ１０は、第１解像度に係わるデータを、第１クライアント装置２０ａ’に提供する。段階Ｓ３７０において、第１クライアント装置２０ａ’は、第１解像度に係わるデータをデコーディングすることにより、マルチメディアファイルを生成する。例えば、第１クライアント装置２０ａ’は、第１解像度を有するスケーラブルフォーマットファイルを、特定フォーマットのマルチメディアファイルに変換するために、ＳＶＣデコーダ２１を利用することができる。
【００３９】
図１１は、本開示の一実施形態によるサーバ１０を示すブロック図である。図１１を参照すれば、サーバ１０は、第１ストレージ装置１００及び第２ストレージ装置２００、プロセッサ３００、メモリ４００及び通信モジュール５００を含み、各構成要素は、バス６００を介して、互いに通信することができる。第１ストレージ装置１００は、トランスコーダＴＣ（例えば、コントローラ、コントロール回路など）を含んでもよい。一実施形態において、第２ストレージ装置２００は、第１ストレージ装置１００と実質的に類似して具現される。しかし、本発明は、それに限定されるものではなく、一部実施形態において、第２ストレージ装置２００は、トランスコーダＴＣを含まない。
【００４０】
一部実施形態において、サーバ１０に含まれた構成要素は、物理的に離隔されるように配置され、ネットワークを介して互いに通信することもできる。本実施形態によるサーバ１０は、図１のサーバ１０に対応し、図１ないし図１０を参照して説明された内容は、本実施形態にも適用される。一部実施形態において、サーバ１０は、一体型または分散型であり、多数の位置、多数の機械または多数のデータセンターにかけて配置されてもよく、１以上のネットワークに、１以上のクラウド成分を含むクラウドに常駐することもできる。
【００４１】
プロセッサ３００は、コンピュータプログラムを構成する命令語を実行するためのハードウェアを含んでもよい。メモリ４００は、プロセッサ３００が実行する命令語、またはプロセッサ３００が運用するデータを保存するためのメインメモリを含んでもよい。通信モジュール５００（例えば、ネットワークカード、トランシーバなど）は、ネットワーク３０を介して、第１クライアント装置２０ａ及び第２クライアント装置２０ｂと、サーバ１０とが互いに通信するための機能を提供することができる。
【００４２】
図１２は、本開示の一実施形態によるストレージ装置１００を示すブロック図である。図１２を参照すれば、ストレージ装置１００は、メモリコントローラ１１０（以下では、便宜上、「コントローラ」と呼ぶ）及び不揮発性メモリ１２０を含んでもよい。コントローラ１１０は、トランスコーダＴＣ、バッファＢＦ及びオブジェクトマッパ（object  mapper）ＯＭを含んでもよい。バッファＢＦは、コントローラ１１０に含まれるように図示されているが、本発明は、それに限定されるものではない。一部実施形態において、バッファＢＦは、コントローラ１１０の外部に配置されてもよく、例えば、ＤＲＡＭ（dynamic  random  access  memory）チップのようなメモリ装置に具現されてもよい。
【００４３】
バッファＢＦは、外部から受信された第１マルチメディアファイルＭＦ１をバッファリングすることができる。一実施形態において、第１マルチメディアファイルＭＦ１は、例えば、第１クライアント装置２０ａ（図１）または第２クライアント装置２０ｂ（図１）から受信され得る。一実施形態において、第１マルチメディアファイルＭＦ１は、不揮発性メモリ１２０から受信され得る。一実施形態において、第１マルチメディアファイルＭＦ１は、例えば、第２ストレージ装置２００（図１１）から受信されてもよい。
【００４４】
トランスコーダＴＣは、バッファＢＦでバッファリングされた第１マルチメディアファイルＭＦ１を、オリジナルフォーマットからスケーラブルフォーマット（例えば、ＳＶＣフォーマット）にトランスコーディングすることにより、第２マルチメディアファイルＭＦ２を生成することができる。トランスコーダＴＣは、生成された第２マルチメディアファイルＭＦ２を、バッファＢＦに提供することができる。バッファＢＦに提供された第２マルチメディアファイルＭＦ２は、不揮発性メモリ１２０に保存され得る。
【００４５】
オブジェクトマッパＯＭは、第２マルチメディアファイルＭＦ２を、不揮発性メモリ１２０に書き込むための物理アドレスを決定することができる。一実施形態において、オブジェクトマッパＯＭは、第２マルチメディアファイルＭＦ２に含まれた各レイヤ（例えば、図１３のＢＬ、ＥＬ１、ＥＬ２）の重要度を基に、各レイヤに対応するデータを書き込むための物理アドレスを決定することができる。一実施形態において、オブジェクトマッパＯＭは、第２マルチメディアファイルＭＦ２に含まれた各レイヤ（例えば、図１３のＢＬ、ＥＬ１、ＥＬ２）別に要求されるビットレートを基に、各レイヤに対応するデータを書き込むための物理アドレスを決定することができる。
【００４６】
不揮発性メモリ１２０は、それぞれ互いに異なる保存信頼性レベルを有する第１メモリ領域ＭＡ１及び第２メモリ領域ＭＡ２を含む複数のメモリ領域を含んでもよい。一実施形態において、保存信頼性レベルは、複数のメモリ領域に対して遂行されたエラー検出訂正演算結果を基に決定され得る。一実施形態において、保存信頼性レベルは、複数のメモリ領域のウェア（wear）レベルを基に決定され得る。例えば、第１メモリ領域ＭＡ１は、第１保存信頼性レベルを有することができ、第２メモリ領域ＭＡ２は、第１保存信頼性レベルより低い第２保存信頼性レベルを有することができる。
【００４７】
一実施形態において、第１メモリ領域ＭＡ１は、シングルレベルセル（ＳＬＣ：single  level  cell）を含み、第２メモリ領域ＭＡ２は、マルチレベルセル（ＭＬＣ：multi  level  cell）、トリプルレベルセル（ＴＬＣ：triple  level  cell）またはクワッドレベルセル（ＱＬＣ：quadruple  level  cell）を含んでもよい。例えば、第１メモリ領域ＭＡ１は、ＳＬＣブロック、ＳＬＣダイまたはＳＬＣチップとすることができ、第２メモリ領域ＭＡ２は、ＭＬＣブロック、ＭＬＣダイまたはＭＬＣチップとすることができる。
【００４８】
一実施形態において、第１メモリ領域ＭＡ１のプログラム／消去サイクルカウントは、基準カウント以下であり、第２メモリ領域ＭＡ２のプログラム／消去サイクルカウントは、基準カウントよりも大きい。一実施形態において、第１メモリ領域ＭＡ１のデータリテンション時間は、基準時間以下であり、第２メモリ領域ＭＡ２のデータリテンション時間は、基準時間よりも長い。一実施形態において、第１メモリ領域ＭＡ１に係わるＥＣＣ（error  check  and  correction）結果エラービットの個数は、基準個数以下であり、第２メモリ領域ＭＡ２に係わるＥＣＣ結果エラービットの個数は、基準個数よりも多い。
【００４９】
一実施形態において、第１メモリ領域ＭＡ１に含まれたページ、メモリブロック、ダイまたはチップは、経時的に保存信頼性レベルが低下してしまう。従って、オブジェクトマッパＯＭは、重要度が高いレイヤ（例えば、ベースレイヤ）に対応するデータが書き込まれたページ、メモリブロック、ダイまたはチップの保存信頼性レベルが低下した場合、前記データを、保存信頼性が相対的に高い他のページ、メモリブロック、ダイまたはチップに保存するように、前記データの物理アドレスを変更することができる。
【００５０】
不揮発性メモリ１２０は、メモリセルアレイを含み、該メモリセルアレイは、メモリブロックを含み、該メモリブロックは、複数のページを含んでもよい。例えば、該メモリブロックは、消去の単位であり、該ページは、書き込み及び読み取りの単位であるとし得る。一実施形態において、不揮発性メモリ１２０は、フラッシュメモリ装置を含み、例えば、ＮＡＮＤフラッシュメモリ装置を含んでもよい。しかし、本発明は、それに限定されるものではなく、不揮発性メモリ１２０は、ＲｅＲＡＭ（resistive  random  access  memory）、ＰＲＡＭ（phase-change  random  access  memory）、ＭＲＡＭ（magnetic  random  access  memory）のような抵抗型メモリ装置を含んでもよい。
【００５１】
一実施形態において、ストレージ装置１００は、データをオブジェクト単位で管理するオブジェクトストレージ装置であってもよい。一実施形態において、ストレージ装置１００は、キーバリューストレージ装置またはキーバリューストア（store）であり、例えば、キーバリューＳＳＤ（solid  state  drive）である。該キーバリューストレージ装置は、キーバリューペア（pair）を利用し、データを迅速に簡単に処理する装置である。ここで、「キーバリューペア」は、唯一性を有するキーと、前記キーに対応するデータであるバリューとの対であり、「タプル（tuple）」または「キーバリュータプル」とも呼ぶ。キーバリューペアにおいて、該キーは、ファイルネーム（file  name）、ＵＲＩ（uniform  resource  identifier）またはハッシュのような任意のストリング（string）で表現されることができ、該バリューは、イメージ、ユーザ選好ファイルまたは文書のような任意の種類のデータとすることができる。以下では、ストレージ装置１００が、オブジェクトストレージ装置またはキーバリューストレージ装置である実施形態を中心に説明する。しかし、本発明は、それに限定されるものではなく、ストレージ装置１００は、データをブロック単位で管理するブロックストレージ装置であってもよい。
【００５２】
図１３は、図１２の第２マルチメディアファイルＭＦ２に含まれたレイヤの保存動作の一例を示す。
【００５３】
図１２及び図１３を共に参照すれば、第２マルチメディアファイルＭＦ２は、ベースレイヤＢＬ、第１エンハンスメントレイヤＥＬ１及び第２エンハンスメントレイヤＥＬ２を含んでもよい。例えば、第１エンハンスメントレイヤＥＬ１は、高解像度レイヤに対応することができ、第２エンハンスメントレイヤＥＬ２は、高フレームレートレイヤに対応することができる。第２マルチメディアファイルＭＦ２のようなスケーラブルフォーマットファイルに含まれた複数のレイヤは、互いに異なる重要度を有することができる。例えば、ベースレイヤＢＬは、最も高い第１重要度を有することができ、第１エンハンスメントレイヤＥＬ１は、第１重要度より低い第２重要度を有することができ、第２エンハンスメントレイヤＥＬ２は、第２重要度より低い第３重要度を有することができる。本実施形態によれば、レイヤの重要度により、不揮発性メモリ１２０において、保存空間が異なるように決定され得る。
【００５４】
一実施形態において、ベースレイヤＢＬに対応するデータは、第１メモリ領域ＭＡ１に保存することができる。例えば、第１メモリ領域ＭＡ１は、複数のＳＬＣチップを含んでもよい。一実施形態において、第１エンハンスメントレイヤＥＬ１及び第２エンハンスメントレイヤＥＬ２に対応するデータは、第２メモリ領域ＭＡ２に保存することができる。第２メモリ領域ＭＡ２は、複数のＭＬＣチップを含んでもよい。
【００５５】
しかし、本発明は、それに限定されるものではなく、不揮発性メモリ１２０は、第２保存信頼性レベルより低い第３保存信頼性レベルを有する第３メモリ領域をさらに含んでもよい。例えば、第３メモリ領域は、複数のＴＬＣ（triple  level  cell）チップを含んでもよい。このとき、第１エンハンスメントレイヤＥＬ１に対応するデータは、第２メモリ領域ＭＡ２に保存し、第２エンハンスメントレイヤＥＬ２に対応するデータは、第３メモリ領域に保存することができる。
【００５６】
図１４は、本開示の一実施形態により、図１２のメモリコントローラ１１０を示すブロック図である。図１４を参照すれば、コントローラ１１０は、プロセッサ１１１、メモリ１１２、第１インターフェース１１３及び第２インターフェース１１４、並びにバッファＢＦを含み、それらは、バス１１５を介して、互いに通信することができる。プロセッサ１１１は、中央処理装置やマイクロプロセッサなどを含み、コントローラ１１０の全般的な動作を制御することができる。一実施形態において、プロセッサ１１１は、マルチコアプロセッサによって具現され、例えば、デュアルコアプロセッサまたはクワッド（quad）コアプロセッサによって具現され得る。
【００５７】
メモリ１１２は、プロセッサ１１１の制御によって動作し、動作メモリ、バッファメモリ、キャッシュメモリなどとして使用され得る。例えば、メモリ１１２は、ＤＲＡＭ、ＳＲＡＭのような揮発性メモリ、またはＰＲＡＭ、フラッシュメモリのような不揮発性メモリによって具現され得る。一実施形態において、メモリ１１２には、トランスコーダＴＣ、オブジェクトマッパＯＭ及びマッピングテーブルＭＴがローディングされる。トランスコーダＴＣは、バッファＢＦにバッファリングされたマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることができる。オブジェクトマッパＯＭは、トランスコーディングされたスケーラブルフォーマットのマルチメディアファイルを、不揮発性メモリ１２０に書き込むための物理アドレスを決定することができ、決定された物理アドレスを、オブジェクトＩＤ別にマッピングテーブルＭＴに保存することができる。一実施形態において、各オブジェクトＩＤは、与えられたトランスコーディングされたスケーラブルフォーマットマルチメディアファイルと係わる固有ＩＤ（identification）である。トランスコーダＴＣ及びオブジェクトマッパＯＭは、ファームウェアまたはソフトウェアによって具現され、メモリ１１２にローディングされ得る。しかし、本発明は、それに限定されるものではなく、トランスコーダＴＣ及びオブジェクトマッパＯＭは、ハードウェアによって具現されてもよい。
【００５８】
第１インターフェース１１３は、プロセッサ３００（図１１）とコントローラ１１０とのインターフェースを提供することができ、例えば、ＵＳＢ（universal  serial  bus）、ＭＭＣ、ＰＣＩ−Ｅ（ＰＣＩ  Express）、ＡＴＡ（ＡＴ  Attachment）、ＳＡＴＡ（serial  ＡＴ  Attachment）、ＰＡＴＡ（parallel  ＡＴ  Attachment）、ＳＣＳＩ（small  computer  system  interface）、ＳＡＳ（serial  attached  ＳＣＳＩ）、ＥＳＤＩ（enhanced  small  disk  interface）、ＩＤＥ（integrated  drive  electronics）などによるインターフェースを提供することができる。第２インターフェース１１４は、コントローラ１１０と不揮発性メモリ１２０とのインターフェースを提供することができる。例えば、マッピングテーブルＭＴ、第２マルチメディアファイルＭＦ２のようなスケーラブルフォーマットファイルなどは、第２インターフェース１１４を介して、コントローラ１１０と不揮発性メモリ１２０との間で送受信される。一実施形態において、第２インターフェース１１４の個数は、ストレージ装置１００に含まれた不揮発性メモリチップの個数、あるいはコントローラ１１０と不揮発性メモリ１２０との間のチャネルの個数に対応する。
【００５９】
図１５Ａないし図１５Ｃは、本開示の一部実施形態によるマッピングテーブル１５１〜１５３をそれぞれ示す。例えば、図１４のマッピングテーブルＭＴは、マッピングテーブル１５１〜１５３のうち一つによって具現され得る。
【００６０】
図１５Ａを参照すれば、マッピングテーブル１５１は、オブジェクトＩＤ（object  ＩＤ）別に、物理アドレス（例えば、物理的ページナンバー（ＰＰＮ：physical  page  number））を保存することができる。オブジェクトマッパＯＭは、第１オブジェクトＩＤ  ＯＩＤ１〜第３オブジェクトＩＤ  ＯＩＤ３に対応するデータを、第１ＰＰＮ  ＰＰＮａ〜第３ＰＰＮ  ＰＰＮｃにそれぞれ書き込むように決定することができる。各オブジェクトＩＤは、スケーラブルフォーマットファイルに対応する。従って、各スケーラブルフォーマットファイルは、１つの物理アドレスに対応する。
【００６１】
図１５Ｂを参照すれば、マッピングテーブル１５２は、オブジェクトＩＤのレイヤ別に、物理アドレスを保存することができる。従って、各スケーラブルフォーマットファイルは、３つの物理アドレスに対応する。オブジェクトマッパＯＭは、第１オブジェクトＩＤ  ＯＩＤ１に対応するスケーラブルフォーマットファイルに含まれたベースレイヤＢＬ、第１エンハンスメントレイヤＥＬ１及び第２エンハンスメントレイヤＥＬ２にそれぞれ対応するデータを、ＰＰＮ１１、ＰＰＮ１２、ＰＰＮ１３に書き込むように決定することができる。また、オブジェクトマッパＯＭは、第２オブジェクトＩＤ  ＯＩＤ２に対応するスケーラブルフォーマットファイルに含まれたベースレイヤＢＬ、第１エンハンスメントレイヤＥＬ１及び第２エンハンスメントレイヤＥＬ２にそれぞれ対応するデータを、ＰＰＮ２１、ＰＰＮ２２、ＰＰＮ２３に書き込むように決定することができる。例えば、ＰＰＮ１１、ＰＰＮ２１は、第１メモリ領域ＭＡ１に含まれることができ、ＰＰＮ１２、ＰＰＮ１３、ＰＰＮ２２、ＰＰＮ２３は、第２メモリ領域ＭＡ２に含まれることができる。
【００６２】
図１５Ｃを参照すれば、マッピングテーブル１５３は、オブジェクトＩＤのビットレート別に、物理アドレスを保存することができる。オブジェクトマッパＯＭは、第１オブジェクトＩＤ  ＯＩＤ１に対応するスケーラブルフォーマットファイルに含まれた第１レイヤに要求される第１ビットレートＢＲ１に対応するデータは、ＰＰＮ１１’に書き込み、第２レイヤに要求される第２ビットレートＢＲ２に対応するデータは、ＰＰＮ１２’に書き込み、第３レイヤに要求される第３ビットレートＢＲ３に対応するデータは、ＰＰＮ１３’に書き込むように決定することができる。例えば、ＰＰＮ１１’、ＰＰＮ２１’は、第１メモリ領域ＭＡ１に含まれることができ、ＰＰＮ１２’、ＰＰＮ１３’、ＰＰＮ２２’、ＰＰＮ２３’は、第２メモリ領域ＭＡ２に含まれることができる。
【００６３】
図１６は、本開示の一実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す。図１６を参照すれば、コントローラ１１０ａは、オブジェクトマッパＯＭａを含んでもよい。図示されていないが、コントローラ１１０ａは、図１２のコントローラ１１０の変形例に対応し、それにより、トランスコーダＴＣ及びバッファＢＦをさらに含んでもよい。不揮発性メモリ１２０ａは、図１２の不揮発性メモリ１２０の変形例に対応し、コントローラ１１０ａと不揮発性メモリ１２０ａは、第１チャネルＣＨ１を介して連結され得る。
【００６４】
オブジェクトマッパＯＭａは、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータを、不揮発性メモリ１２０ａに含まれた第１メモリチップＭＣ１〜第４メモリチップＭＣ４に配置することができる。具体的には、オブジェクトマッパＯＭａは、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータを書き込むために、ＲＡＩＤ（redundant  array  of  inexpensive  disk）ストライプを構成することができる。ここで、該ＲＡＩＤは、重要なデータを保存するサーバなどの記録媒体で主に使用される方法であり、多くの記録媒体のうち１つの記録媒体にパリティ（parity）を保存し、他の記録媒体に保存されたデータでエラーが発生しても、それを正常なデータに復元することができる方法である。多数のデータと、１以上のＲＡＩＤパリティとで、１つのＲＡＩＤストライプを構成することができる。例えば、オブジェクトマッパＯＭａは、複数のメモリチップ、複数のメモリダイ、複数のメモリプレーン、複数のメモリブロック、複数のページまたは複数のセクターのうちいずれか一つに基づいて、ストライプを構成することができる。
【００６５】
ベースレイヤのビットレートは、相対的に低いので、オブジェクトマッパＯＭａは、ベースレイヤに対応するデータを書き込むための物理アドレスを、相対的に少ない個数のメモリチップに決定することができる。一実施形態において、オブジェクトマッパＯＭａは、例えば、ベースレイヤＢＬ（図１３）に対応するデータＢＤ１，ＢＤ２を、第１メモリチップＭＣ１及び第２メモリチップＭＣ２に配置することができる。例えば、オブジェクトマッパＯＭａは、第１メモリチップＭＣ１及び第２メモリチップＭＣ２の第１メモリ領域ＭＡ１ａに対してストライプを構成し、データＢＤ１，ＢＤ２の物理アドレスを決定することができる。
【００６６】
エンハンスメントレイヤは、ビットレートが相対的に高いので、オブジェクトマッパＯＭａは、エンハンスメントレイヤに対応するデータを書き込むための物理アドレスを、相対的に多くの個数のメモリチップに決定することができる。一実施形態において、オブジェクトマッパＯＭａは、例えば、第１エンハンスメントレイヤＥＬ１（図１３）及び第２エンハンスメントレイヤＥＬ２（図１３）に対応するデータＥＤ１〜ＥＤ８を、第１メモリチップＭＣ１〜第４メモリチップＭＣ４に配置することができる。例えば、オブジェクトマッパＯＭａは、第１メモリチップＭＣ１〜第４メモリチップＭＣ４の第２メモリ領域ＭＡ２ａに対してストライプを構成し、データＥＤ１〜ＥＤ８の物理アドレスを決定することができる。
【００６７】
図１７は、本開示の一実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す。図１７を参照すれば、コントローラ１１０ｂは、オブジェクトマッパＯＭｂを含んでもよい。本実施形態によるコントローラ１１０ｂは、図１６のコントローラ１１０ａの変形例に対応する。オブジェクトマッパＯＭｂは、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータを、不揮発性メモリ１２０ａに含まれた第１メモリチップＭＣ１〜第６メモリチップＭＣ６に配置することができる。本実施形態によれば、オブジェクトマッパＯＭｂは、互いに異なるビットレートが要求されるデータを、互いに異なるチャネルを介してコントローラ１１０ｂと連結されるメモリチップに配置することができる。それにより、コントローラ１１０ｂは、互いに異なるビットレートが要求されるデータをいずれも読み取る場合、読み取り速度をさらに向上させることができる。
【００６８】
具体的には、オブジェクトマッパＯＭｂは、エンハンスメントレイヤに対応するデータを書き込むための物理アドレスは、第１チャネルＣＨ１を介してコントローラ１１０ｂと連結される第２メモリ領域ＭＡ２ｂに配置することができる。一実施形態において、オブジェクトマッパＯＭｂは、例えば、第１エンハンスメントレイヤＥＬ１（図１３）及び第２エンハンスメントレイヤＥＬ２（図１３）に対応するデータＥＤ１〜ＥＤ８を、第１チャネルＣＨ１を介してコントローラ１１０ｂと連結される第１メモリチップＭＣ１〜第４メモリチップＭＣ４に配置することができる。例えば、オブジェクトマッパＯＭｂは、第２メモリ領域ＭＡ２ａに含まれた第１メモリチップＭＣ１〜第４メモリチップＭＣ４を基に、ストライプを構成し、データＥＤ１〜ＥＤ８の物理アドレスを決定することができる。
【００６９】
また、オブジェクトマッパＯＭｂは、ベースレイヤに対応するデータを書き込むための物理アドレスは、第２チャネルＣＨ２を介してコントローラ１１０ｂと連結される第１メモリ領域ＭＡ１ｂに配置することができる。一実施形態において、オブジェクトマッパＯＭｂは、例えば、ベースレイヤＢＬ（図１３）に対応するデータＢＤ１〜ＢＤ４を、第５メモリチップＭＣ５及び第６メモリチップＭＣ６に配置することができる。例えば、オブジェクトマッパＯＭｂは、第１メモリ領域ＭＡ１ｂに含まれた第５メモリチップＭＣ５及び第６メモリチップＭＣ６に対してストライプを構成し、データＢＤ１〜ＢＤ４の物理アドレスを決定することができる。
【００７０】
図１８は、本開示の一実施形態によるマルチメディアファイルの保存方法を示すフローチャートである。図１８を参照すれば、本実施形態によるマルチメディアファイルの保存方法は、例えば、図１２のストレージ装置１００において、時系列的に遂行される段階を含み得る。従って、図１２ないし図１７を参照して説明された内容は、本実施形態にも適用され、重複説明は、省略する。段階Ｓ４００において、ストレージ装置１００は、第１マルチメディアファイルのアップロード要請を受信する。段階Ｓ４２０において、ストレージ装置１００は、例えば、トランスコーダＴＣは、第１マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、第２マルチメディアファイルを生成する。段階Ｓ４４０において、ストレージ装置１００は、第２マルチメディアファイルを不揮発性メモリ１２０に保存する。
【００７１】
図１９は、図１８に例示された保存方法による、クライアント装置２０、コントローラ１１０及び不揮発性メモリ１２０の動作を示すフローチャートである。図１９を参照すれば、クライアント装置２０は、図１の第１クライアント装置２０ａまたは第２クライアント装置２０ｂに対応し、コントローラ１１０及び不揮発性メモリ１２０は、図１２のコントローラ１１０及び不揮発性メモリ１２０に対応する。
【００７２】
段階Ｓ５００において、クライアント装置２０は、マルチメディアオブジェクトまたはマルチメディアファイルのアップロード要請を、コントローラ１１０に送信する。具体的には、クライアント装置２０は、ネットワーク上で、例えば、サーバ１０（図１）にアップロード要請を送信し、該サーバは、コントローラ１１０に、アップロード要請を伝達することができる。しかし、以下では、説明の便宜上、クライアント装置２０とサーバとの動作、及びサーバとコントローラ１１０との動作に係わる説明は、省略し、クライアント装置２０とコントローラ１１０との動作を中心に説明する。
【００７３】
段階Ｓ５１０において、コントローラ１１０は、例えば、トランスコーダＴＣは、マルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。段階Ｓ５２０において、コントローラ１１０は、例えば、オブジェクトマッパＯＭは、スケーラブルフォーマットファイルに対応するデータを書き込む物理アドレスを決定する。段階Ｓ５３０において、コントローラ１１０は、マッピング情報を、マッピングテーブルＭＴに保存する。段階Ｓ５４０において、コントローラ１１０は、スケーラブルフォーマットファイルに対する書き込みコマンドを、不揮発性メモリ１２０に送信する。段階Ｓ５５０において、不揮発性メモリ１２０は、スケーラブルフォーマットファイルに係わる書き込み動作を遂行する。段階Ｓ５６０において、不揮発性メモリ１２０は、書き込み動作の完了を示す応答メッセージを、コントローラ１１０に送信する。段階Ｓ５７０において、コントローラ１１０は、アップロード動作の完了を示す応答メッセージを、クライアント装置２０に送信する。
【００７４】
図２０は、本開示の一実施形態によるマルチメディアファイルの読み取り方法を示すフローチャートである。図２０を参照すれば、本実施形態によるマルチメディアファイルの読み取り方法は、例えば、図１２のストレージ装置１００において、時系列的に遂行される段階を含み得る。従って、図１２ないし図１７を参照して説明された内容は、本実施形態にも適用され、重複説明は、省略する。
【００７５】
段階Ｓ６００において、ストレージ装置１００は、クライアント装置から、第１フォーマットまたは第１解像度のマルチメディアファイルに係わるリトリーブ要請を受信する。段階Ｓ６２０において、ストレージ装置１００は、第２マルチメディアファイルを、不揮発性メモリ１２０から読み取る。段階Ｓ６４０において、ストレージ装置１００は、例えば、トランスコーダＴＣは、第２マルチメディアファイルを、第１フォーマットまたは第１解像度によってトランスコーディングすることにより、第３マルチメディアファイルを生成する。段階Ｓ６６０において、ストレージ装置１００は、第３マルチメディアファイルをクライアント装置に提供する。
【００７６】
図２１は、図２０に例示された保存方法による、クライアント装置２０、コントローラ１１０及び不揮発性メモリ１２０の動作の一例を示すフローチャートである。図２１を参照すれば、クライアント装置２０は、図１の第１クライアント装置２０ａまたは第２クライアント装置２０ｂに対応し、コントローラ１１０及び不揮発性メモリ１２０は、図１２のコントローラ１１０及び不揮発性メモリ１２０に対応する。
【００７７】
段階Ｓ７００において、クライアント装置２０は、第１解像度または第１ビットレートを有するマルチメディアファイルのリトリーブ要請を、コントローラ１１０に送信する。具体的には、クライアント装置２０は、ネットワーク上で、例えば、サーバ１０（図１）にリトリーブ要請を送信し、該サーバは、コントローラ１１０に、リトリーブ要請を伝達することができる。段階Ｓ７１０において、コントローラ１１０は、マッピングテーブルＭＴにおいて、マッピング情報を検索する。段階Ｓ７２０において、コントローラ１１０は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ１２０に送信する。
【００７８】
段階Ｓ７３０において、不揮発性メモリ１２０は、読み取り動作を遂行する。段階Ｓ７４０において、不揮発性メモリ１２０は、スケーラブルフォーマットファイルをコントローラ１１０に提供する。段階Ｓ７５０において、コントローラ１１０は、例えば、トランスコーダＴＣは、スケーラブルフォーマットファイルを、第１解像度または第１ビットレートのマルチメディアファイルにトランスコーディングする。段階Ｓ７６０において、コントローラ１１０は、第１解像度または第１ビットレートのマルチメディアファイルをクライアント装置２０に提供する。
【００７９】
図２２は、図２０に例示された保存方法による、クライアント装置２０、コントローラ１１０及び不揮発性メモリ１２０の動作の他例を示すフローチャートである。図２２を参照すれば、段階Ｓ８００において、クライアント装置２０は、第１解像度または第１ビットレートを有するマルチメディアファイルのリトリーブ要請を、コントローラ１１０に送信する。段階Ｓ８１０において、コントローラ１１０は、マッピングテーブルにおいて、マッピング情報を検索する。段階Ｓ８２０において、コントローラ１１０は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ１２０に送信する。段階Ｓ８３０において、不揮発性メモリ１２０は、読み取り動作を遂行する。読み取り動作の遂行の結果、不揮発性メモリ１２０に保存されたスケーラブルフォーマットファイルの第１レイヤに対応するデータにおいて、エラーが発生しうる。一実施形態において、不揮発性メモリ１２０がエラー発生を検出することができ、その結果をコントローラ１１０に提供することができる。しかし、本発明は、それに限定されるものではなく、一部実施形態において、不揮発性メモリ１２０は、読み取られたデータだけコントローラ１１０に提供し、コントローラ１１０がエラー発生を検出することもできる。
【００８０】
段階Ｓ８４０において、不揮発性メモリ１２０は、第１レイヤを除いた少なくとも１つのレイヤに対応するデータと、第１レイヤに対応するデータでエラーが発生したことを示すエラーメッセージとをコントローラ１１０に提供する。段階Ｓ８５０において、コントローラ１１０は、第１レイヤの重要度レベルをチェックする。一実施形態において、第１レイヤの重要度レベルが基準レベル以上である場合には、読み取り再試みを行うことができ、第１レイヤの重要度レベルが基準レベル未満である場合には、読み取り再試みを行わない。一実施形態において、第１レイヤの重要度レベルにより、読み取り再試み回数を異なるように決定することができる。
【００８１】
段階Ｓ８６０において、読み取り再試みを行うか否かということを判断する。該判断の結果、読み取り再試みを行わない場合、段階Ｓ８９０を遂行する。その場合、段階Ｓ８９０において、コントローラ１１０は、第１レイヤを除いた少なくとも１つのレイヤに対応したデータを基に、スケーラブルフォーマットファイルを、第１解像度または第１ビットレートを有するマルチメディアファイルに、トランスコーディングすることができる。そのように、レイヤの重要度レベルが相対的に低い場合には、当該レイヤに係わる読み取り再試みは、省略し、エラーが発生していないレイヤに対応するデータのみを基に、マルチメディアファイルを生成し、クライアント２０に提供することができる。それにより、クライアント装置２０は、相対的に少ない読み取りレイテンシーで、ストリーミングサービスを提供される。
【００８２】
一方、該判断の結果、読み取り再試みを行う場合、段階Ｓ８７０において、コントローラ１１０は、読み取りコマンドを、不揮発性メモリ１２０に送信する。段階Ｓ８８０において、不揮発性メモリ１２０は、読み取り動作を遂行する。段階Ｓ８８５において、不揮発性メモリ１２０は、読み取られた第１レイヤに対応するデータを、コントローラ１１０に提供する。段階Ｓ８９０において、コントローラ１１０は、以前に提供されたデータ、及び第１レイヤに対応するデータを基に、スケーラブルフォーマットファイルを、第１解像度または第１ビットレートを有するマルチメディアファイルにトランスコーディングする。段階Ｓ８９５において、コントローラ１１０は、第１解像度または第１ビットレートを有するマルチメディアファイルを、クライアント装置２０に提供する。一方、第１レイヤに対して決定された読み取り再試み回数が閾値に逹したにもかかわらず、第１レイヤに対応する正常データを読み取ることができない場合、コントローラ１１０は、エラーメッセージをクライアント装置２０に送信することもできる。
【００８３】
図２３は、本開示の一実施形態によるマルチメディアファイルの読み取り方法を示すフローチャートである。図２３を参照すれば、本実施形態によるマルチメディアファイルの読み取り方法は、例えば、図１２のストレージ装置１００において、時系列的に遂行される段階を含み得る。従って、図１２ないし図１７を参照して説明された内容は、本実施形態にも適用される。本実施形態は、図２０に例示された方法の変形例に対応する。
【００８４】
段階Ｓ９００において、ストレージ装置１００は、クライアント装置から、第１フォーマットまたは第１解像度のスケーラブルフォーマットに係わるリトリーブ要請を受信する。段階Ｓ９２０において、ストレージ装置１００は、第２マルチメディアファイルにおいて、第１フォーマットまたは第１解像度のスケーラブルフォーマットに対応する少なくとも１つのレイヤを決定する。段階Ｓ９４０において、ストレージ装置１００は、少なくとも１つのレイヤに対応するデータを、不揮発性メモリから読み取る。段階Ｓ９６０において、ストレージ装置１００は、読み取られたデータをクライアント装置に提供する。
【００８５】
図２４は、図２３に例示された保存方法による、クライアント装置２０’、コントローラ１１０及び不揮発性メモリ１２０の動作の一例を示すフローチャートである。図２４を参照すれば、クライアント装置２０’は、図９の第１クライアント装置２０ａ’に対応し、コントローラ１１０及び不揮発性メモリ１２０は、図１２のコントローラ１１０及び不揮発性メモリ１２０に対応する。
【００８６】
段階Ｓ１０００において、クライアント装置２０’は、特定解像度のスケーラブルフォーマットファイルに係わるリトリーブ要請を、コントローラ１１０に提供する。例えば、クライアント装置２０’は、高解像度のＳＶＣファイルに係わるリトリーブ要請を、コントローラ１１０に提供することができる。段階Ｓ１０１０において、コントローラ１１０は、リトリーブ要請に応答し、不揮発性メモリ１２０から読み取る少なくとも１つのレイヤを決定する。例えば、コントローラ１１０は、スケーラブルフォーマットファイルに含まれた複数のレイヤのうち、ベースレイヤ及び高解像度レイヤのみを読み取るように決定することができる。それにより、コントローラ１１０と不揮発性メモリ１２０とのデータ入出力時間が短縮される。
【００８７】
段階Ｓ１０２０において、コントローラ１１０は、マッピングテーブルＭＴにおいて、マッピング情報を検索する。例えば、コントローラ１１０は、マッピングテーブルＭＴにおいて、ベースレイヤ及び高解像度レイヤに対応するデータが保存された物理アドレスのみを検索することができる。段階Ｓ１０３０において、コントローラ１１０は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ１２０に送信する。段階Ｓ１０４０において、不揮発性メモリ１２０は、読み取り動作を遂行する。もし不揮発性メモリ１２０に保存されたスケーラブルフォーマットファイルの高フレームレートレイヤに対応するデータにおいて、エラーが発生しても、リトリーブ要請によれば、高フレームレートレイヤに対応するデータを読み取らなくてもよいので、読み取り結果に影響を与えない。
【００８８】
段階Ｓ１０５０において、不揮発性メモリ１２０は、ベースレイヤに対応するデータをコントローラ１１０に提供する。段階Ｓ１０６０において、不揮発性メモリ１２０は、高解像度レイヤに対応するデータを、コントローラ１１０に提供する。このとき、不揮発性メモリ１２０は、高フレームレートに対応するデータは、コントローラ１１０に提供しなくてもよい。段階Ｓ１０７０において、コントローラ１１０は、ベースレイヤに対応するデータを、クライアント装置２０’に提供する。段階Ｓ１０８０において、コントローラ１１０は、高解像度レイヤに対応するデータを、クライアント装置２０’に提供する。このとき、コントローラ１１０は、高フレームレートに対応するデータは、クライアント装置２０’に提供しなくてもよい。
【００８９】
図２５は、図２３に例示された保存方法による、クライアント装置２０’、コントローラ１１０及び不揮発性メモリ１２０の動作の一例を示すフローチャートである。図２５を参照すれば、段階Ｓ１１００において、クライアント装置２０’は、特定解像度のスケーラブルフォーマットファイルに係わるリトリーブ要請を、コントローラ１１０に提供する。例えば、クライアント装置２０’は、高解像度のＳＶＣファイルに係わるリトリーブ要請を、コントローラ１１０に提供することができる。段階Ｓ１１１０において、コントローラ１１０は、リトリーブ要請に応答し、不揮発性メモリ１２０から読み取る少なくとも１つのレイヤを決定する。例えば、コントローラ１１０は、スケーラブルフォーマットファイルに含まれた複数のレイヤのうち、ベースレイヤ及び高解像度レイヤのみを読み取るように決定することができる。
【００９０】
段階Ｓ１１２０において、コントローラ１１０は、マッピングテーブルＭＴにおいて、マッピング情報を検索する。例えば、コントローラ１１０は、マッピングテーブルＭＴにおいて、ベースレイヤ及び高解像度レイヤに対応するデータが保存された物理アドレスのみを検索することができる。段階Ｓ１１３０において、コントローラ１１０は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ１２０に送信する。段階Ｓ１１４０において、不揮発性メモリ１２０は、読み取り動作を遂行する。読み取り動作の遂行の結果、不揮発性メモリ１２０に保存されたスケーラブルフォーマットファイルの高解像度レイヤに対応するデータにおいて、エラーが発生しうる。
【００９１】
段階Ｓ１１５０において、不揮発性メモリ１２０は、ベースレイヤに対応するデータを、コントローラ１１０に提供する。このとき、不揮発性メモリ１２０は、エラーが発生した高解像度レイヤに対応するデータは、コントローラ１１０に提供しない。段階Ｓ１１６０において、コントローラ１１０は、ベースレイヤに対応するデータを、クライアント装置２０’に提供する。それにより、クライアント装置２０’のユーザは、要請した解像度によるマルチメディアファイルを再生することはできないが、ベースレイヤに対応するデータを基に、ＳＶＣデコーディングを遂行することにより、相対的に低い解像度を有するマルチメディアファイルを再生することができる。段階Ｓ１１６０において、コントローラ１１０は、高解像度レイヤに対応するデータ、及び高フレームレートに対応するデータがリトリーブされないということを示すエラーメッセージを、クライアント装置２０’に追加して提供することができる。
【００９２】
しかし、本発明は、それに限定されるものではなく、一部実施形態において、コントローラ１１０は、不揮発性メモリ１２０から、高フレームレートレイヤに対応するデータをさらに読み取ることができ、コントローラ１１０は、ベースレイヤに対応するデータと共に、エラーが発生していない高フレームレートレイヤに対応するデータを、クライアント装置２０’に提供することもできる。それにより、クライアント装置２０’のユーザは、要請した解像度によるマルチメディアファイルを再生することはできないが、ベースレイヤに対応するデータ、及び高フレームレートレイヤに対応するデータを基に、ＳＶＣデコーディングを行うことにより、他の解像度を有するマルチメディアファイルを再生することができる。
【００９３】
図２６は、図２３に例示された保存方法による、クライアント装置２０’、コントローラ１１０及び不揮発性メモリ１２０の動作の一例を示すフローチャートである。図２６を参照すれば、不揮発性メモリ１２０で読み取り動作が遂行された結果、不揮発性メモリ１２０に保存されたスケーラブルフォーマットファイルの高解像度レイヤに対応するデータにおいて、エラーが発生しうる。段階Ｓ１１７０において、不揮発性メモリ１２０は、高解像度レイヤでエラーが発生したことを示すエラーメッセージを、コントローラ１１０に提供する。このとき、不揮発性メモリ１２０は、エラーが発生した高解像度レイヤに対応するデータだけではなく、エラーが発生していないベースレイヤに対応するデータも、コントローラ１１０に提供しない。段階Ｓ１１８０において、コントローラ１１０は、エラーメッセージをクライアント装置２０’に提供する。
【００９４】
図２７は、本開示の一実施形態によるストレージ装置１００’を示すブロック図である。図２７を参照すれば、ストレージ装置１００’は、図１２のストレージ装置１００と、実質的に類似して具現され、各構成要素に係わる具体的な説明は、省略する。本実施形態によれば、コントローラ１１０は、不揮発性メモリ１２０に保存されたファイルのうち、スケーラブルフォーマットを有さないノン（non）スケーラブルフォーマットファイルが書き込まれた物理アドレスを、例えば、マッピングテーブルＭＴ（図１４）において検索することができる。例えば、ノンスケーラブルフォーマットファイルは、ノンＳＶＣオブジェクトとし得る。コントローラ１１０は、検索された物理アドレスにより、不揮発性メモリ１２０から、ノンＳＶＣオブジェクトを読み取ることができる。
【００９５】
コントローラ１１０は、特に、トランスコーダＴＣが、ノンＳＶＣオブジェクトを、オリジナルフォーマットからスケーラブルフォーマットに、トランスコーディングすることにより、スケーラブルフォーマットファイルを生成することができる。例えば、スケーラブルフォーマットファイルは、ＳＶＣオブジェクトとし得る。コントローラ１１０は、特に、オブジェクトマッパＯＭは、ＳＶＣオブジェクトに対応するオブジェクトＩＤに従って物理アドレスを決定し、決定されたマッピング情報を、マッピングテーブルＭＴに保存することができる。コントローラ１１０は、ＳＶＣオブジェクトを、不揮発性メモリ１２０に保存することができる。
【００９６】
一実施形態によれば、ストレージ装置１００’は、不揮発性メモリ１２０に含まれた第１メモリチップに保存されたノンＳＶＣオブジェクトを、ＳＶＣオブジェクトにトランスコーディングし、トランスコーディングされたＳＶＣオブジェクトを、不揮発性メモリ１２０に含まれた第２メモリチップに保存することができる。一実施形態によれば、ストレージ装置１００’は、不揮発性メモリ１２０に含まれた第１メモリブロックに保存されたノンＳＶＣオブジェクトを、ＳＶＣオブジェクトにトランスコーディングし、トランスコーディングされたＳＶＣオブジェクトを、不揮発性メモリ１２０に含まれた第２メモリブロックに保存することができる。
【００９７】
図２８は、本開示の一実施形態によるサーバ１０Ａを示すブロック図である。図２８を参照すれば、サーバ１０Ａは、第１ストレージ装置１００Ａ及び第２ストレージ装置２００Ａ、プロセッサ３００Ａ、並びにメモリ４００Ａを含み、第１ストレージ装置１００Ａ及び第２ストレージ装置２００Ａ、プロセッサ３００Ａ、並びにメモリ４００Ａは、バス６００を介して通信することができる。本実施形態によるサーバ１０Ａは、図１１に例示されたサーバ１０の変形例に対応し、重複説明は、省略する。例えば、第１ストレージ装置１００Ａは、トランスコーダＴＣを含み、第２ストレージ装置２００Ａは、トランスコーダを含まない。
【００９８】
メモリ４００Ａは、オブジェクトＩＤ別にデータが保存された物理アドレスを書き込んだオブジェクトマッピングテーブルＯＭＴを保存することができる。プロセッサ３００Ａは、オブジェクトマッピングテーブルＯＭＴに基づいて、第２ストレージ装置２００Ａに保存されたファイルのうちノンスケーラブルフォーマットファイル、例えば、ノンＳＶＣオブジェクトを検索することができる。プロセッサ３００Ａは、第２ストレージ装置２００Ａに保存されたノンＳＶＣオブジェクト及びトランスコーディングコマンドを、第１ストレージ装置１００Ａに提供することができる。第１ストレージ装置１００Ａは、トランスコーディングコマンドに応答し、ノンＳＶＣオブジェクトを、オリジナルフォーマットからスケーラブルフォーマットに、トランスコーディングすることにより、ＳＶＣオブジェクトを生成することができる。一実施形態において、第１ストレージ装置１００Ａは、ＳＶＣオブジェクトを、第２ストレージ装置２００Ａに提供することができる。しかし、本発明は、それに限定されるものではなく、第１ストレージ装置１００Ａが、ＳＶＣオブジェクトを保存することもできる。
【００９９】
図２９は、本開示の一実施形態により、図２８に含まれた第１ストレージ装置１００Ａを示すブロック図である。図２８及び図２９を共に参照すれば、第１ストレージ装置１００Ａは、トランスコーディングする既存オブジェクトＩＤ  ＯＩＤ＿ｏｒｇを受信することができる。第１ストレージ装置１００Ａは、既存オブジェクトＩＤ  ＯＩＤ＿ｏｒｇに対応するノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングすることができる。第１ストレージ装置１００Ａは、トランスコーディングされた新規オブジェクトＩＤ  ＯＩＤ＿newを出力することができる。
【０１００】
一実施形態において、第１ストレージ装置１００Ａは、スケーラブルフォーマットファイルを、不揮発性メモリ１２０Ａに保存することができる。しかし、本発明は、それに限定されるものではなく、第１ストレージ装置１００Ａは、スケーラブルフォーマットファイルを、不揮発性メモリ１２０Ａに保存せず、外部に出力することができる。このとき、プロセッサ３００Ａは、スケーラブルフォーマットファイルを、第２ストレージ装置２００Ａ、または他の保存空間に保存するように制御することができる。
【０１０１】
図３０は、本開示の一実施形態によるサーバ１０Ｂを示すブロック図である。図３０を参照すれば、サーバ１０Ｂは、第２ストレージ装置２００Ａ、プロセッサ３００Ａ、メモリ４００Ａ及びトランスコーダ７００を含み、第２ストレージ装置２００Ａ、プロセッサ３００Ａ、メモリ４００Ａ及びトランスコーダ７００は、バス６００を介して通信することができる。本実施形態によるサーバ１０Ｂは、図１１に例示されたサーバ１０、または図２８のサーバ１０Ａの変形例に対応し、重複説明は、省略する。例えば、第２ストレージ装置２００Ａは、トランスコーダを含まない。
【０１０２】
メモリ４００Ａは、オブジェクトＩＤ別にデータが保存された物理アドレスを書き込んだオブジェクトマッピングテーブルＯＭＴを保存することができる。プロセッサ３００Ａは、オブジェクトマッピングテーブルＯＭＴに基づいて、第２ストレージ装置２００Ａに保存されたファイルのうちノンスケーラブルフォーマットファイル、例えば、ノンＳＶＣオブジェクトを検索することができる。プロセッサ３００Ａは、第２ストレージ装置２００Ａに保存されたノンＳＶＣオブジェクト及びトランスコーディングコマンドをトランスコーダ７００に提供することができる。トランスコーダ７００は、トランスコーディングコマンドに応答し、ノンＳＶＣオブジェクトをオリジナルフォーマットからスケーラブルフォーマットに、トランスコーディングすることにより、ＳＶＣオブジェクトを生成することができる。一実施形態において、トランスコーダ７００は、ＳＶＣオブジェクトを、第２ストレージ装置２００Ａに提供することができる。一部実施形態において、サーバ１０Ｂは、他のストレージ装置をさらに含んでもよい。このとき、トランスコーダ７００で生成されたＳＶＣオブジェクトは、第２ストレージ装置２００Ａと異なるストレージ装置に保存されてもよい。
【０１０３】
図３１は、本開示の一実施形態によるネットワークシステム１０００を示す。図３１を参照すれば、ネットワークシステム１０００は、サーバシステム１１００、及びネットワークＮＥＴを介してサーバシステム１１００と通信する複数のターミナル（端末）１２１０〜１２３０を含んでもよい。サーバシステム１１００は、サーバ１１１０とＳＳＤ１１２０とを含んでもよい。このとき、サーバ１１１０は、前述の実施形態のサーバ１０，１０’，１０Ａ，１０Ｂに対応し、ＳＳＤ１１２０は、前述の実施形態のストレージ装置１００，１００’，１００Ａ，１００Ｂに対応する。一部実施形態において、ＳＳＤ１１２０は、図１ないし図３０を参照して説明された実施形態を利用して具現され得る。
【０１０４】
図３２は、本開示の一実施形態によるネットワークシステム２０００を示す。図３２を参照すれば、ネットワークシステム２０００は、クライアントグループ２１００とデータセンター２２００とを含んでもよい。クライアントグループ２１００は、第１ネットワークＮＥＴ１、例えば、インターネットを介して、データセンター２２００と通信するクライアント装置Ｃを含んでもよい。データセンター２２００は、各種データを集めておき、サービスを提供する施設であり、第２ネットワークＮＥＴ２、例えば、ＬＡＮ（local  area  network）またはイントラネットを介して、互いに通信するアプリケーションサーバグループ２２１０、データベースサーバグループ２２２０及びオブジェクトキャッシュサーバグループ２２３０を含んでもよい。
【０１０５】
アプリケーションサーバグループ２２１０は、アプリケーションサーバ装置ＡＳを含み、アプリケーションサーバ装置ＡＳは、クライアントグループ２１００から受信した要請を処理し、クライアントグループ２１００の要請により、データベースサーバグループ２２２０またはオブジェクトキャッシュサーバグループ２２３０にアクセスすることができる。データベースサーバグループ２２２０は、アプリケーションサーバ装置ＡＳによって処理されたデータを保存するデータベースサーバ装置ＤＳを含んでもよい。オブジェクトキャッシュサーバグループ２２３０は、データベースサーバ装置ＤＳに保存されるデータ、またはデータベースサーバ装置ＤＳから読み取られたデータを、一時的に保存するオブジェクトキャッシュサーバ装置ＯＣＳを含み、それにより、アプリケーションサーバ装置ＡＳとデータベースサーバ装置ＤＳとの間において、キャッシュ機能を遂行することができる。一実施形態において、データベースサーバ装置ＤＳは、図１ないし図３０を参照して説明された実施形態を利用して具現され得る。
【０１０６】
以上のように、図面と明細書とにより、例示的な実施形態が開示された。本明細書において、特定用語を使用して実施形態について説明したが、それらは、ただ本開示の技術的思想について説明するための目的で使用されたものであり、意味限定や、特許請求の範囲に記載された本開示の範囲制限のために使用されたものではない。従って、本技術分野の当業者であるならば、それらから多様な変形、及び均等な他の実施形態が可能であるという点を理解するであろう。従って、本開示の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決められるものである。
【産業上の利用可能性】
【０１０７】
本発明の、ストレージ装置、及び該ストレージ装置を含むサーバは、例えば、ソーシャルネットワークサービス関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１０８】
１０      サーバ
２０ａ    第１クライアント装置
２０ｂ    第２クライアント装置
３０      ネットワーク
１００，２００  ストレージ装置
１１０    コントローラ
１２０    不揮発性メモリ
３００    プロセッサ
４００    メモリ
５００    通信モジュール
１０００，ＮＳ  ネットワークシステム
１１００  サーバシステム
１１２０  ＳＳＤ
１２１０，１２２０，１２３０  ターミナル（端末）
【図１】
2019195157.tif 000003
【図２】
2019195157.tif 000004
【図３】
2019195157.tif 000005
【図４】
2019195157.tif 000006
【図５】
2019195157.tif 000007
【図６】
2019195157.tif 000008
【図７】
2019195157.tif 000009
【図８】
2019195157.tif 000010
【図９】
2019195157.tif 000011
【図１０】
2019195157.tif 000012
【図１１】
2019195157.tif 000013
【図１２】
2019195157.tif 000014
【図１３】
2019195157.tif 000015
【図１４】
2019195157.tif 000016
【図１５Ａ】
2019195157.tif 000017
【図１５Ｂ】
2019195157.tif 000018
【図１５Ｃ】
2019195157.tif 000019
【図１６】
2019195157.tif 000020
【図１７】
2019195157.tif 000021
【図１８】
2019195157.tif 000022
【図１９】
2019195157.tif 000023
【図２０】
2019195157.tif 000024
【図２１】
2019195157.tif 000025
【図２２】
2019195157.tif 000026
【図２３】
2019195157.tif 000027
【図２４】
2019195157.tif 000028
【図２５】
2019195157.tif 000029
【図２６】
2019195157.tif 000030
【図２７】
2019195157.tif 000031
【図２８】
2019195157.tif 000032
【図２９】
2019195157.tif 000033
【図３０】
2019195157.tif 000034
【図３１】
2019195157.tif 000035
【図３２】
2019195157.tif 000036