JP2019195157A - ストレージ装置、及び該ストレージ装置を含むサーバ - Google Patents

ストレージ装置、及び該ストレージ装置を含むサーバ Download PDF

Info

Publication number
JP2019195157A
JP2019195157A JP2019071314A JP2019071314A JP2019195157A JP 2019195157 A JP2019195157 A JP 2019195157A JP 2019071314 A JP2019071314 A JP 2019071314A JP 2019071314 A JP2019071314 A JP 2019071314A JP 2019195157 A JP2019195157 A JP 2019195157A
Authority
JP
Japan
Prior art keywords
client device
server
file
memory
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019071314A
Other languages
English (en)
Other versions
JP7280093B2 (ja
JP2019195157A5 (ja
Inventor
珠榮 黄
Jooyoung Hwang
珠榮 黄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019195157A publication Critical patent/JP2019195157A/ja
Publication of JP2019195157A5 publication Critical patent/JP2019195157A5/ja
Application granted granted Critical
Publication of JP7280093B2 publication Critical patent/JP7280093B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols

Abstract

【課題】 ストレージ装置、及び該ストレージ装置を含むサーバを提供する。【解決手段】 ストレージ装置、及びストレージ装置を含むサーバに係り、該ストレージ装置は、第1メモリ領域及び第2メモリ領域を含む不揮発性メモリと、第1クライアント装置から、第1マルチメディアファイルのアップロード要請を受信し、第1マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、ベースレイヤ、及び少なくとも1つのエンハンスメントレイヤを含む第2マルチメディアファイルを生成し、第2マルチメディアファイルを、不揮発性メモリに保存するように、不揮発性メモリを制御するメモリコントローラと、を含む。【選択図】 図12

Description

本発明は、ストレージ装置に係り、さらに詳細には、マルチメディアファイルを、複数の解像度で提供することができるストレージ装置、及び前記ストレージ装置を含むサーバに関する。
モバイルデバイスが広く普及されるにつれ、ソーシャルネットワークサービスを利用するユーザが増えている。該ユーザは、モバイルデバイスを利用し、ソーシャルネットワークサービス上の仮想空間に、写真または動画のようなマルチメディアファイルをアップロードすることができる。該ユーザは、他のデバイスを利用し、ソーシャルネットワークサービス上の仮想空間に接続し、前記マルチメディアファイルを再生することができ、ソーシャルネットワークサービス上の仮想空間に接続した他のユーザと、前記マルチメディアファイルを共有することができる。それにより、ソーシャルネットワークサービスを提供するサーバには、保存容量が非常に大きいストレージ装置が要求される。
一方、マルチメディアファイルを再生する多様なデバイスのスクリーンサイズは、互いに異なり、多様なデバイスで再生可能なマルチメディアファイルの解像度も、互いに異なりもする。それにより、サーバは、互いに異なる解像度にそれぞれ対応する複数のファイルを生成しなければならないので、該サーバにおいて、複数ファイルの生成に必要となる資源及び時間が多く必要となり、生成された複数ファイルを保存するために、非常に大きい保存容量が要求されるという問題点がある。
本発明が解決しようとする課題は、マルチメディアファイルの保存空間を減らしながら、マルチメディアファイルを、複数の解像度で提供することができるストレージ装置、及び前記ストレージ装置を含むサーバを提供することである。
本開示の技術的思想によるストレージ装置は、第1メモリ領域及び第2メモリ領域を含む不揮発性メモリ、並びに第1クライアント装置から第1マルチメディアファイルのアップロード要請を受信し、前記第1マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディング(transcoding)することにより、ベースレイヤ、及び少なくとも1つのエンハンスメントレイヤを含む第2マルチメディアファイルを生成し、前記第2マルチメディアファイルを、前記不揮発性メモリに保存するように、前記不揮発性メモリを制御するメモリコントローラを含む。
また、本開示の技術的思想によるサーバは、クライアント装置と通信可能であり、前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーダを含む第1ストレージ装置、ノンスケーラブルフォーマットファイルを保存する第2ストレージ装置、並びに前記第1ストレージ装置と前記第2ストレージ装置との通信を制御するプロセッサを含み、前記トランスコーダは、前記第2ストレージ装置から前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングする。
また、本開示の技術的思想によるサーバは、クライアント装置と通信可能であり、前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーディングモジュール、ノンスケーラブルフォーマットファイルを保存するストレージ装置、及び前記トランスコーディングモジュールと前記ストレージ装置との通信を制御するプロセッサを含み、前記トランスコーディングモジュールは、前記ストレージ装置から前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングする。
また、本開示の技術的思想によるメモリコントローラは、第1マルチメディアオブジェクトのアップロード要請に応答し、前記第1マルチメディアオブジェクトをオリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、ベースレイヤ、及び少なくとも1つのエンハンスメントレイヤを含む第2マルチメディアオブジェクトを生成するトランスコーダ、及び前記第2マルチメディアオブジェクトを保存するための物理アドレスをオブジェクトID別に保存するオブジェクトマッパを含む。
本開示の一実施形態によるネットワークシステムを示す図面である。 本開示の一実施形態により、図1の第1クライアント装置とサーバとの動作を示すフローチャートである。 本開示の一実施形態により、図2のサーバで遂行されるトランスコーディング動作を例示的に示す図面である。 本開示の一実施形態により、図1のクライアント装置に表示されるスクリーンを例示的に示す図面である。 本開示の一実施形態により、図1のサーバで遂行されるトランスコーディング動作を例示的に示す図面である。 本開示の一実施形態により、図1のサーバと、第1クライアント装置及び第2クライアント装置との動作を示すフローチャートである。 本開示の一実施形態によるネットワークシステムを示す図面である。 本開示の一実施形態により、図7の第1クライアント装置、サーバ及びストレージ装置の動作を示すフローチャートである。 本開示の一実施形態によるネットワークシステムを示す図面である。 本開示の一実施形態により、図9の第1クライアント装置とサーバとの動作を示すフローチャートである。 本開示の一実施形態によるサーバを示すブロック図である。 本開示の一実施形態によるストレージ装置を示すブロック図である。 本開示の一実施形態により、スケーラブルフォーマットファイルに含まれたレイヤの保存動作の一例を示す図面である。 本開示の一実施形態により、図12のメモリコントローラを示すブロック図である。 本開示の一部実施形態によるマッピングテーブルを示す図面である。 本開示の一部実施形態によるマッピングテーブルを示す図面である。 本開示の一部実施形態によるマッピングテーブルを示す図面である。 本開示の一部実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す図面である。 本開示の一部実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す図面である。 本開示の一実施形態によるマルチメディアファイルの保存方法を示すフローチャートである。 図18に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作を示すフローチャートである。 本開示の一実施形態による、マルチメディアファイルの読み取り方法を示すフローチャートである。 図20に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。 図20に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の他の例を示すフローチャートである。 本開示の一実施形態による、マルチメディアファイルの読み取り方法を示すフローチャートである。 図23に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。 図23に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。 図23に例示された保存方法による、クライアント装置、コントローラ及び不揮発性メモリの動作の一例を示すフローチャートである。 本開示の一実施形態によるストレージ装置を示すブロック図である。 本開示の一実施形態によるサーバを示すブロック図である。 本開示の一実施形態により、図28に含まれたストレージ装置を示すブロック図である。 本開示の一実施形態によるサーバを示すブロック図である。 本開示の一実施形態によるネットワークシステムを示す図面である。 本開示の一実施形態によるネットワークシステムを示す図面である。
図1は、本開示の一実施形態によるネットワークシステム(network system)NSを示す。1を参照すれば、ネットワークシステムNSは、サーバ10、第1クライアント装置20a及び第2クライアント装置20bを含み、第1クライアント装置20a及び第2クライアント装置20bは、ネットワーク30を介して、サーバ10と通信することができる。第1クライアント装置20a及び第2クライアント装置20bは、コンピュータ装置で具現される固定型端末や移動型端末とし得る。例えば、第1クライアント装置20a及び第2クライアント装置20bは、スマートフォン(smart phone)、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、PDA(personal digital assistant)、PMP(portable multimedia player)、タブレットPC(personal computer)などとし得る。
サーバ10は、第1クライアント装置20a及び第2クライアント装置20bと、ネットワーク30を介して通信し、命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置、または複数のコンピュータ装置によって具現され得る。サーバ10は、ストレージ装置100を含み、それにより、サーバ10をストレージサーバとも呼ぶ。一実施形態において、サーバ10は、マルチメディアストリーミングサービスを提供するプラットホームであり、リアルタイムトランスコーディングのためのストリーミングサーバの役割を果たす。ここで、該マルチメディアストリーミングサービスは、サーバ10に保存された動画ファイル(例えば、ビデオ)または映像ソース(例えば、イメージ)を、第1クライアント装置20a及び第2クライアント装置20bに伝送し、該マルチメディアストリーミングサービスを利用する第1クライアント装置20a及び第2クライアント装置20bにおいて、データの受信と再生とが同時になされる形態のサービスを言う。そのような形態のサービスは、最近、モバイル環境及びクラウド環境の拡散と共に、その重要度が広く認識されている。
サーバ10は、ストレージ装置100を含み、ストレージ装置100は、トランスコーダTCを含んでもよい。例えば、トランスコーダTCは、第1コーディングされた表現(representation)の第1ファイルを、第2コーディングされた表現の第2ファイルに変換する装置によって具現され得る。ストレージ装置100は、ローカルストレージとも呼ぶことができる。サーバ10は、第1クライアント装置20aからマルチメディアファイルのアップロード要請を受信することができる。一実施形態において、第1クライアント装置20aが、オリジナルフォーマットを有するマルチメディアファイルをストレージ装置100にアップロードする動作を完了した後、トランスコーダTCは、マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディング(transcoding)することができ、ストレージ装置100に、トランスコーディングされたスケーラブルフォーマットのファイルを保存することができる。ここで、トランスコーディングとは、マルチメディアコンテンツのファイルフォーマット、解像度及び画質などを変換する作業を言う。例えば、該トランスコーディングは、ビットマップフォーマットのマルチメディアイメージファイルを、JPEG(Joint Photographic Experts Group)フォーマットに変更することができ、該トランスコーディングは、高解像度JPEGファイルを低解像度JPEGファイルなどに変更することができる。しかし、本開示の技術的思想は、任意の特定イメージファイルフォーマットに制限されるものではない。
一実施形態において、サーバ10は、ネットワーク30を介して、第1クライアント装置20aに、アプリケーションインストールのためのファイルを提供することができ、第1クライアント装置20aは、サーバ10から提供されたファイルを利用し、アプリケーションをインストールすることができる。例えば、第1クライアント装置20aは、ファイルを実行することにより、アプリケーションをインストールすることができる。第1クライアント装置20aは、オペレーティングシステム(OS)、または少なくとも1つのプログラム(例えば、ブラウザやアプリケーション)の制御によってサーバ10に接続し、サーバ10が提供するサービスやコンテンツを提供される。第2クライアント装置20bの動作は、第1クライアント装置20aと類似しているので、省略する。
一実施形態において、サーバ10は、NAS(network attached storage)のようなネットワークストレージとし得る。例えば、第1クライアント装置20a及び第2クライアント装置20bは、家庭にあるテレビ、コンピュータ、スマートフォンのような多様な電子機器とし得る。テレビで再生可能なファイルの解像度と、スマートフォンで再生可能なファイルの解像度とが異なり得るが、サーバ10は、互いに異なる解像度にそれぞれ対応する複数ファイルを保存せず、スケーラブルフォーマットのファイルを保存することにより、保存容量を減らすことができる。例えば、マルチメディアファイルを低解像度フォーマット、中間解像度フォーマット、高解像度フォーマットで静的に保存する代わりに、サーバは、マルチメディアファイルを示す単一のスケーラブルフォーマットファイルを保存することができ、必要な場合、該単一のスケーラブルフォーマットファイルから、多様な解像度のファイルが導き出される。
サーバ10と、第1クライアント装置20a及び第2クライアント装置20bとの通信方式は、移動通信網、有線インターネット、無線インターネット、放送網などを活用する通信方式だけではなく、機器間の近距離無線通信も含まれる。例えば、ネットワーク30は、アドホックネットワーク、イントラネット、エクストラネット、PAN(personal area network)、LAN(local area network)、無線LAN、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、公衆電話網(PSTN:public switched telephone network)、インターネットのようなネットワークのうち1以上の任意のネットワークを含んでもよい。
リンク15は、第1クライアント装置20a及び第2クライアント装置20b、並びにサーバ10を、ネットワーク30と連結させたり、互いに連結させたりすることができる。例えば、リンク15は、1以上の有線ライン(例えば、デジタル加入者ライン(DSL)またはDOCSIS(data over cable service interface specification))、無線(例えば、Wi−Fi(wireless fidelity)またはWiMAX(worldwide interoperability for microwave access))、光学リンク(例えば、同期式光学ネットワーク(SONET:synchronous optical network)または同期式デジタル階層(SDH:synchronous digital hierarchy)リンクを含む。リンク15は、ネットワークシステムNSにおいて、必ずしも同一である必要はない。
図2は、本開示の一実施形態により、図1の第1クライアント装置20aとサーバ10との動作を示すフローチャートである。図2を参照すれば、段階S100において、第1クライアント装置20aは、マルチメディアファイルまたはマルチメディアオブジェクトのアップロード要請を、サーバ10に送信する。例えば、マルチメディアファイルは、写真ファイル(例えば、イメージ)、動画ファイル(例えば、ビデオ)、オーディオファイル、三次元モデルファイルなどとし得る。一実施形態において、第1クライアント装置20aは、アップロード要請と共に、さらなるオブジェクトの生成要請をサーバ10に送信することができる。例えば、第1クライアント装置20aは、マルチメディアオブジェクトを基に、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成要請を、サーバ10に送信することができる。一実施形態において、マルチメディアファイル/オブジェクトのアップロード要請は、マルチメディアファイル/オブジェクトを含む。他の実施形態において、サーバ10は、アップロード要請に応答して、第1クライアント装置20aがサーバ10にマルチメディアファイル/オブジェクトをアップロードする承認を有しているということを示すメッセージを、第1クライアント装置20aに送信し、第1クライアント装置20aは、該メッセージの受信に応答し、マルチメディアファイル/オブジェクトをサーバ10に送信する。
段階S110において、サーバ10は、受信したマルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。一実施形態において、該スケーラブルフォーマットファイルは、ベースレイヤ、及び少なくとも1つのエンハンスメントレイヤを含むファイルとし得る。例えば、該スケーラブルフォーマットファイルは、SVC(scalable video coding)、プログレッシブJPEG(progressive JPEG)方式によるファイルとし得る。段階S120において、サーバ10は、スケーラブルフォーマットファイルをストレージ装置100に保存する。一実施形態において、トランスコーディング前、サーバ10は、受信されたマルチメディアファイルを内部バッファに一時的に保存し、トランスコーディング後、内部バッファのコンテンツは、新たに受信されたデータでオーバライト(overwrite)されたり廃棄されたりする。段階S110及びS120に係わる具体的な動作は、以下、図3を参照して説明する。
段階S130において、サーバ10は、アップロード動作が完了したことを示す応答メッセージを、第1クライアント装置20aに送信する。例えば、サーバ10は、スケーラブルフォーマットファイルの生成または保存が完了した後、応答メッセージを送信することができる。一実施形態において、サーバ10は、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成が完了したことを示す応答メッセージを、第1クライアント装置20aにさらに送信することができる。それにより、第1クライアント装置20aのユーザは、サーバ10が、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトを保存していると認識することができる。段階S130に係わる具体的な動作は、以下、図4を参照して説明する。
図3は、本開示の一実施形態により、図2のサーバ10で遂行されるトランスコーディング動作を例示的に示す。
図2及び図3を共に参照すれば、第1クライアント装置20aは、第1マルチメディアファイルMF1、例えば、X.mp4(例えば、mpeg layer−4オーディオ)をサーバ10に送信することができる。サーバ10は、第1マルチメディアファイルMF1を、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、第2マルチメディアファイルMF2、例えば、Y.svcを生成することができ、第2マルチメディアファイルMF2を、ストレージ装置100に保存することができる。このとき、第2マルチメディアファイルMF2は、ベースレイヤBL、及び少なくとも1つのエンハンスメントレイヤ、例えば、第1エンハンスメントレイヤEL1及び第2エンハンスメントレイヤEL2を含んでもよい。しかし、第2マルチメディアファイルMF2は、それに限定されるものではなく、エンハンスメントレイヤの個数は、実施形態によって多様に変更され得る。
サーバ10は、第1クライアント装置20aからさらなるオブジェクトの生成要請を受信しても、スケーラブルフォーマットへのトランスコーディング動作のみを遂行し、他のフォーマットへのトランスコーディング動作を遂行しない。それにより、サーバ10において、トランスコーディング動作に必要となる資源及び時間を低減させることができる。また、サーバ10は、第1クライアント装置20aからさらなるオブジェクトの生成要請を受信しても、スケーラブルフォーマットの第2マルチメディアファイルMF2だけ保存することができ、他のフォーマットのマルチメディアファイルを保存しない。それにより、ストレージ装置100は、第1マルチメディアファイルMF1に対応するコンテンツの保存空間を大きく縮小させることができる。
図4は、本開示の一実施形態により、図1の第1クライアント装置20aに表示されるスクリーンを例示的に示す。図2及び図4を共に参照すれば、サーバ10は、第2マルチメディアファイルMF2のみを保存しているにもかかわらず、第1マルチメディアファイルMF1に対応する複数のマルチメディアファイルの生成及び保存が完了したことを示す応答メッセージを、第1クライアント装置20aに送信することができる。それにより、第1クライアント装置20aには、複数のマルチメディアファイルにそれぞれ対応する第1サムネイル41〜第4サムネイル44が表示される。従って、第1クライアント装置20aのユーザは、サーバ10が単一のスケーラブルファイルだけ保存しているにもかかわらず、サーバ10が、アップロードされたマルチメディアファイルを、多様な解像度またはフォーマットの多くのファイルとして保存していると判断することができる。
再び図2を参照すれば、段階S140において、第1クライアント装置20aは、第1解像度のマルチメディアファイルの提供を要請するリトリーブ(retrieve)要請をサーバ10に送信する。例えば、第1クライアント装置20aのユーザは、図4に例示された第2サムネイル42を選択することにより、サーバ10に、リトリーブ要請を送信することができる。一実施形態において、リトリーブ要請は、選択されたサムネイル上のラベル(例えば、「A.mp4」または「A」)を含んでもよい。段階S150において、サーバ10は、スケーラブルフォーマットファイルを、第1解像度によるマルチメディアファイルにトランスコーディングする。例えば、サーバ10は、第2マルチメディアファイルMF2を、スケーラブルフォーマットから第1解像度によるフォーマットにトランスコーディングすることにより、第3マルチメディアファイルMF3、例えば、A.mp4を生成することができる。段階S150に係わる具体的な動作は、以下、図5を参照して説明する。段階S160において、サーバ10は、トランスコーディングされたマルチメディアファイルを、第1クライアント装置20aに提供する。
図5は、本開示の一実施形態により、図1のサーバ10で遂行されるトランスコーディング動作を例示的に示す。図2及び図5を共に参照すれば、サーバ10は、ストレージ装置100に保存された第2マルチメディアファイルMF2を、スケーラブルフォーマットから第1解像度によるフォーマットにトランスコーディングすることにより、第3マルチメディアファイルMF3、例えば、A.mp4を生成することができ、第3マルチメディアファイルMF3を、第1クライアント装置20aに保存することができる。一実施形態において、サーバ10は、ベースレイヤBLを基に、第3マルチメディアファイルMF3を生成することができる。一実施形態において、サーバ10は、第1エンハンスメントレイヤEL1及び第2エンハンスメントレイヤEL2のうち少なくとも一つと、ベースレイヤBLとを基に、第3マルチメディアファイルMF3を生成することもできる。一実施形態において、サーバ10は、第3マルチメディアファイルMF3を、内部バッファに一時的に保存することができ、内部バッファは、第1クライアント装置20a上に、第3マルチメディアファイルMF3の保存が完了した後、他のデータでオーバライトされ得る。
再び図2を参照すれば、段階S170において、第1クライアント装置20aは、第2解像度のマルチメディアファイルの提供を要請するリトリーブ要請を、サーバ10に送信する。例えば、第1クライアント装置20aのユーザは、図4に例示された第3サムネイル43を選択することにより、サーバ10に、リトリーブ要請を送信することができる。段階S180において、サーバ10は、スケーラブルフォーマットファイルを、第2解像度によるマルチメディアファイルにトランスコーディングする。例えば、サーバ10は、第2マルチメディアファイルMF2を、スケーラブルフォーマットから第2解像度によるフォーマットにトランスコーディングすることにより、第4マルチメディアファイルMF4、例えば、B.mp4を生成することができる。段階S190において、サーバ10は、トランスコーディングされたマルチメディアファイルを、第1クライアント装置20aに提供する。
図6は、本開示の一実施形態により、図1のサーバ10と、第1クライアント装置20a及び第2クライアント装置20bとの動作を示すフローチャートである。図6を参照すれば、本実施形態は、図2に例示された実施形態の変形例に対応し、第1クライアント装置20aが、マルチメディアファイルをサーバ10にアップロードし、第2クライアント装置20bが、サーバ10からマルチメディアファイルを受信して再生することができる。
段階S145において、第2クライアント装置20bは、第3解像度のマルチメディアファイルの提供を要請するリトリーブ要請をサーバ10に送信する。例えば、第2クライアント装置20bのユーザは、図4に例示された第4サムネイル44を選択することにより、サーバ10に、リトリーブ要請を送信することができる。段階S155において、サーバ10は、スケーラブルフォーマットファイルを、第3解像度によるマルチメディアファイルにトランスコーディングする。例えば、サーバ10は、第2マルチメディアファイルMF2を、スケーラブルフォーマットから、第3解像度によるフォーマットにトランスコーディングすることにより、第5マルチメディアファイルMF5、例えば、C.mp4を生成することができる。段階S165において、サーバ10は、トランスコーディングされたマルチメディアファイルを、第2クライアント装置20bに提供する。
図7は、本開示の一実施形態によるネットワークシステムNS’を示す。図7を参照すれば、ネットワークシステムNS’は、サーバ10’、第1クライアント装置20a及び第2クライアント装置20b、並びにストレージ装置40を含んでもよい。本実施形態によるネットワークシステムNS’は、図1の変形実施形態に対応し、ネットワークシステムNS’は、図1と異なり、サーバ10’の外部に配置されたストレージ装置40をさらに含んでもよい。図1ないし図6に開示された内容は、本実施形態にも適用される。
ストレージ装置40は、サーバ10’と、ネットワーク30を介して通信することができ、それにより、遠隔(remote)ストレージ装置、遠隔ストレージサーバまたはネットワークストレージとも呼ばれる。ストレージ装置40は、トランスコーダTCを含んでもよい。トランスコーダTCは、マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることができ、ストレージ装置40は、トランスコーディングされたスケーラブルフォーマットのファイルを保存することができる。
図8は、本開示の一実施形態により、図7の第1クライアント装置20a、サーバ10’及びストレージ装置40の動作を示すフローチャートである。図8を参照すれば、本実施形態による動作は、図2に例示された実施形態の変形例に対応し、図2ないし図6を参照して説明された内容は、本実施形態にも適用される。段階S200において、第1クライアント装置20aは、マルチメディアファイルまたはマルチメディアオブジェクトのアップロード要請を、サーバ10’に送信する。一実施形態において、第1クライアント装置20aは、アップロード要請と共に、さらなるオブジェクトの生成要請を、サーバ10’に送信することができる。一実施形態において、サーバ10’は、アップロード要請に応答し、第1クライアント装置20aにメッセージを送信することができる。例えば、該メッセージは、第1クライアント装置20aがマルチメディアファイルをアップロードするための承認を有しているということを示すことができる。一実施形態において、第1クライアント装置20aは、該メッセージの受信に応答し、サーバ10’にマルチメディアファイルを送信し、サーバ10’は、ストレージ装置40のテンポラリバッファに、マルチメディアファイルを保存することができる。
段階S210において、サーバ10’は、受信したマルチメディアファイルまたはマルチメディアオブジェクトに対する書き込みコマンドをストレージ装置40に送信する。例えば、マルチメディアファイルのテンポラリバッファへの保存が完了すると、サーバ10’は、ストレージ装置40に書き込みコマンドを送信することができる。段階S220において、ストレージ装置40は、受信したマルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。一実施形態において、ストレージ装置40は、書き込みコマンドの受信に応答し、受信されたマルチメディアファイルをトランスコーディングすることができる。一実施形態において、書き込みコマンドは、スケーラブルフォーマットファイルのフォーマットを指示することができる。段階S230において、ストレージ装置40は、トランスコーディングされたスケーラブルフォーマットファイルを保存する。一実施形態において、スケーラブルフォーマットファイルの保存は、マルチメディアファイルのオリジナルフォーマットを保存するストレージ装置40の位置に、スケーラブルフォーマットファイルをオーバライトする段階を含んでもよい。段階S240において、ストレージ装置40は、書き込み動作が完了したことを示す応答メッセージを、サーバ10’に送信する。段階S245において、サーバ10’は、アップロード動作が完了したことを示す応答メッセージを、第1クライアント装置20aに送信する。例えば、応答メッセージは、単一のスケーラブルフォーマットファイルだけ保存されているにもかかわらず、互いに異なる多様なフォーマット及び/または解像度のマルチメディアファイルが、サーバ10’またはストレージ装置40に保存されていることを示すことができる。一実施形態において、サーバ10’は、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成が完了したことを示す応答メッセージを、第1クライアント装置20aにさらに送信することができる。
段階S250において、第1クライアント装置20aは、第1解像度のマルチメディアファイルの提供を要請するリトリーブ要請を、サーバ10’に送信する。例えば、第1クライアント装置20aのユーザは、図4に例示された第2サムネイル42を選択することにより、サーバ10’に、リトリーブ要請を送信することができる。段階S260において、サーバ10’は、第1解像度のマルチメディアファイルに対する読み取りコマンドを、ストレージ装置40に送信する。例えば、サーバ10’は、リトリーブ要請の受信に応答し、ストレージ装置40に読み取りコマンドを送信することができる。一実施形態において、読み取りコマンドは、マルチメディアファイル、及び要求される解像度を確認することができる。一実施形態において、読み取りコマンドは、選択されたサムネイル上のファイル名称(例えば、「A.mp4」または「A」)を含んでもよい。段階S270において、ストレージ装置40は、スケーラブルフォーマットファイルを読み取る。段階S280において、ストレージ装置40は、スケーラブルフォーマットファイルを、第1解像度によるマルチメディアファイルにトランスコーディングする。段階S290において、ストレージ装置40は、第1解像度によるマルチメディアファイルを、サーバ10’に提供する。例えば、ストレージ装置40は、読み取りコマンドの受信に応答し、スケーラブルフォーマットファイルから、データをローディングすることができ、ローディングされたデータを、第1解像度のマルチメディアファイルに変換することができ、第1解像度のマルチメディアファイルを、サーバ10’に送信することができる。段階S295において、サーバ10’は、第1解像度によるマルチメディアファイルを、第1クライアント装置20aに提供する。
図9は、本開示の一実施形態によるネットワークシステムNS”を示す。図9を参照すれば、ネットワークシステムNS”は、サーバ10、第1クライアント装置20a’及び第2クライアント装置20bを含んでもよい。本実施形態によるネットワークシステムNS”は、図1の変形実施形態に対応し、第1クライアント装置20a’は、図1と異なり、SVCデコーダ21を含んでもよい。図1ないし図6に開示された内容は、本実施形態にも適用される。
SVCデコーダ21は、SVCフォーマットのファイルをデコーディングすることにより、特定フォーマットによるマルチメディアファイルを生成することができる。従って、第1クライアント装置20a’は、サーバ10から,SVCファイルのようなスケーラブルフォーマットファイルを受信することができるので、サーバ10は、保存されたスケーラブルフォーマットファイルに係わるトランスコーディングを行わず、スケーラブルフォーマットファイルを、第1クライアント装置20a’に送信することができる。例えば、SVCデコーダ21は、スケーラブルフォーマットファイルを、互いに異なる多様なフォーマット及び/または解像度のマルチメディアファイルに変換するように構成された装置によって具現されることができる。例えば、トランスコーダTCが、マルチメディアファイルをスケーラブルフォーマットファイルに変換する一方、SVCデコーダ21は、スケーラブルフォーマットファイルを、さらにマルチメディアファイルに変換することができる。
図10は、本開示の一実施形態により、図9の第1クライアント装置20a’とサーバ10との動作を示すフローチャートである。図10を参照すれば、本実施形態による動作は、図2に例示された実施形態の変形例に対応し、図2ないし図6を参照して説明された内容は、本実施形態にも適用される。段階S300において、第1クライアント装置20a’は、マルチメディアファイルまたはマルチメディアオブジェクトのアップロード要請を、サーバ10に送信する。一実施形態において、第1クライアント装置20a’は、アップロード要請と共に、さらなるオブジェクトの生成要請を、サーバ10に送信することができる。
段階S310において、サーバ10は、受信したマルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。段階S320において、サーバ10は、トランスコーディングされたスケーラブルフォーマットファイルを、ストレージ装置100に保存する。段階S330において、サーバ10は、アップロード動作が完了したことを示す応答メッセージを、第1クライアント装置20a’に送信する。一実施形態において、サーバ10は、互いに異なるフォーマットまたは解像度にそれぞれ対応する複数のマルチメディアオブジェクトの生成が完了したことを示す応答メッセージを、第1クライアント装置20a’にさらに送信することができる。
段階S340において、第1クライアント装置20a’は、第1解像度のスケーラブルフォーマットファイルの提供を要請するリトリーブ要請を、サーバ10に送信する。段階S350において、サーバ10は、第1解像度により、スケーラブルフォーマットファイルのデータを読み取る。段階S360において、サーバ10は、第1解像度に係わるデータを、第1クライアント装置20a’に提供する。段階S370において、第1クライアント装置20a’は、第1解像度に係わるデータをデコーディングすることにより、マルチメディアファイルを生成する。例えば、第1クライアント装置20a’は、第1解像度を有するスケーラブルフォーマットファイルを、特定フォーマットのマルチメディアファイルに変換するために、SVCデコーダ21を利用することができる。
図11は、本開示の一実施形態によるサーバ10を示すブロック図である。図11を参照すれば、サーバ10は、第1ストレージ装置100及び第2ストレージ装置200、プロセッサ300、メモリ400及び通信モジュール500を含み、各構成要素は、バス600を介して、互いに通信することができる。第1ストレージ装置100は、トランスコーダTC(例えば、コントローラ、コントロール回路など)を含んでもよい。一実施形態において、第2ストレージ装置200は、第1ストレージ装置100と実質的に類似して具現される。しかし、本発明は、それに限定されるものではなく、一部実施形態において、第2ストレージ装置200は、トランスコーダTCを含まない。
一部実施形態において、サーバ10に含まれた構成要素は、物理的に離隔されるように配置され、ネットワークを介して互いに通信することもできる。本実施形態によるサーバ10は、図1のサーバ10に対応し、図1ないし図10を参照して説明された内容は、本実施形態にも適用される。一部実施形態において、サーバ10は、一体型または分散型であり、多数の位置、多数の機械または多数のデータセンターにかけて配置されてもよく、1以上のネットワークに、1以上のクラウド成分を含むクラウドに常駐することもできる。
プロセッサ300は、コンピュータプログラムを構成する命令語を実行するためのハードウェアを含んでもよい。メモリ400は、プロセッサ300が実行する命令語、またはプロセッサ300が運用するデータを保存するためのメインメモリを含んでもよい。通信モジュール500(例えば、ネットワークカード、トランシーバなど)は、ネットワーク30を介して、第1クライアント装置20a及び第2クライアント装置20bと、サーバ10とが互いに通信するための機能を提供することができる。
図12は、本開示の一実施形態によるストレージ装置100を示すブロック図である。図12を参照すれば、ストレージ装置100は、メモリコントローラ110(以下では、便宜上、「コントローラ」と呼ぶ)及び不揮発性メモリ120を含んでもよい。コントローラ110は、トランスコーダTC、バッファBF及びオブジェクトマッパ(object mapper)OMを含んでもよい。バッファBFは、コントローラ110に含まれるように図示されているが、本発明は、それに限定されるものではない。一部実施形態において、バッファBFは、コントローラ110の外部に配置されてもよく、例えば、DRAM(dynamic random access memory)チップのようなメモリ装置に具現されてもよい。
バッファBFは、外部から受信された第1マルチメディアファイルMF1をバッファリングすることができる。一実施形態において、第1マルチメディアファイルMF1は、例えば、第1クライアント装置20a(図1)または第2クライアント装置20b(図1)から受信され得る。一実施形態において、第1マルチメディアファイルMF1は、不揮発性メモリ120から受信され得る。一実施形態において、第1マルチメディアファイルMF1は、例えば、第2ストレージ装置200(図11)から受信されてもよい。
トランスコーダTCは、バッファBFでバッファリングされた第1マルチメディアファイルMF1を、オリジナルフォーマットからスケーラブルフォーマット(例えば、SVCフォーマット)にトランスコーディングすることにより、第2マルチメディアファイルMF2を生成することができる。トランスコーダTCは、生成された第2マルチメディアファイルMF2を、バッファBFに提供することができる。バッファBFに提供された第2マルチメディアファイルMF2は、不揮発性メモリ120に保存され得る。
オブジェクトマッパOMは、第2マルチメディアファイルMF2を、不揮発性メモリ120に書き込むための物理アドレスを決定することができる。一実施形態において、オブジェクトマッパOMは、第2マルチメディアファイルMF2に含まれた各レイヤ(例えば、図13のBL、EL1、EL2)の重要度を基に、各レイヤに対応するデータを書き込むための物理アドレスを決定することができる。一実施形態において、オブジェクトマッパOMは、第2マルチメディアファイルMF2に含まれた各レイヤ(例えば、図13のBL、EL1、EL2)別に要求されるビットレートを基に、各レイヤに対応するデータを書き込むための物理アドレスを決定することができる。
不揮発性メモリ120は、それぞれ互いに異なる保存信頼性レベルを有する第1メモリ領域MA1及び第2メモリ領域MA2を含む複数のメモリ領域を含んでもよい。一実施形態において、保存信頼性レベルは、複数のメモリ領域に対して遂行されたエラー検出訂正演算結果を基に決定され得る。一実施形態において、保存信頼性レベルは、複数のメモリ領域のウェア(wear)レベルを基に決定され得る。例えば、第1メモリ領域MA1は、第1保存信頼性レベルを有することができ、第2メモリ領域MA2は、第1保存信頼性レベルより低い第2保存信頼性レベルを有することができる。
一実施形態において、第1メモリ領域MA1は、シングルレベルセル(SLC:single level cell)を含み、第2メモリ領域MA2は、マルチレベルセル(MLC:multi level cell)、トリプルレベルセル(TLC:triple level cell)またはクワッドレベルセル(QLC:quadruple level cell)を含んでもよい。例えば、第1メモリ領域MA1は、SLCブロック、SLCダイまたはSLCチップとすることができ、第2メモリ領域MA2は、MLCブロック、MLCダイまたはMLCチップとすることができる。
一実施形態において、第1メモリ領域MA1のプログラム/消去サイクルカウントは、基準カウント以下であり、第2メモリ領域MA2のプログラム/消去サイクルカウントは、基準カウントよりも大きい。一実施形態において、第1メモリ領域MA1のデータリテンション時間は、基準時間以下であり、第2メモリ領域MA2のデータリテンション時間は、基準時間よりも長い。一実施形態において、第1メモリ領域MA1に係わるECC(error check and correction)結果エラービットの個数は、基準個数以下であり、第2メモリ領域MA2に係わるECC結果エラービットの個数は、基準個数よりも多い。
一実施形態において、第1メモリ領域MA1に含まれたページ、メモリブロック、ダイまたはチップは、経時的に保存信頼性レベルが低下してしまう。従って、オブジェクトマッパOMは、重要度が高いレイヤ(例えば、ベースレイヤ)に対応するデータが書き込まれたページ、メモリブロック、ダイまたはチップの保存信頼性レベルが低下した場合、前記データを、保存信頼性が相対的に高い他のページ、メモリブロック、ダイまたはチップに保存するように、前記データの物理アドレスを変更することができる。
不揮発性メモリ120は、メモリセルアレイを含み、該メモリセルアレイは、メモリブロックを含み、該メモリブロックは、複数のページを含んでもよい。例えば、該メモリブロックは、消去の単位であり、該ページは、書き込み及び読み取りの単位であるとし得る。一実施形態において、不揮発性メモリ120は、フラッシュメモリ装置を含み、例えば、NANDフラッシュメモリ装置を含んでもよい。しかし、本発明は、それに限定されるものではなく、不揮発性メモリ120は、ReRAM(resistive random access memory)、PRAM(phase-change random access memory)、MRAM(magnetic random access memory)のような抵抗型メモリ装置を含んでもよい。
一実施形態において、ストレージ装置100は、データをオブジェクト単位で管理するオブジェクトストレージ装置であってもよい。一実施形態において、ストレージ装置100は、キーバリューストレージ装置またはキーバリューストア(store)であり、例えば、キーバリューSSD(solid state drive)である。該キーバリューストレージ装置は、キーバリューペア(pair)を利用し、データを迅速に簡単に処理する装置である。ここで、「キーバリューペア」は、唯一性を有するキーと、前記キーに対応するデータであるバリューとの対であり、「タプル(tuple)」または「キーバリュータプル」とも呼ぶ。キーバリューペアにおいて、該キーは、ファイルネーム(file name)、URI(uniform resource identifier)またはハッシュのような任意のストリング(string)で表現されることができ、該バリューは、イメージ、ユーザ選好ファイルまたは文書のような任意の種類のデータとすることができる。以下では、ストレージ装置100が、オブジェクトストレージ装置またはキーバリューストレージ装置である実施形態を中心に説明する。しかし、本発明は、それに限定されるものではなく、ストレージ装置100は、データをブロック単位で管理するブロックストレージ装置であってもよい。
図13は、図12の第2マルチメディアファイルMF2に含まれたレイヤの保存動作の一例を示す。
図12及び図13を共に参照すれば、第2マルチメディアファイルMF2は、ベースレイヤBL、第1エンハンスメントレイヤEL1及び第2エンハンスメントレイヤEL2を含んでもよい。例えば、第1エンハンスメントレイヤEL1は、高解像度レイヤに対応することができ、第2エンハンスメントレイヤEL2は、高フレームレートレイヤに対応することができる。第2マルチメディアファイルMF2のようなスケーラブルフォーマットファイルに含まれた複数のレイヤは、互いに異なる重要度を有することができる。例えば、ベースレイヤBLは、最も高い第1重要度を有することができ、第1エンハンスメントレイヤEL1は、第1重要度より低い第2重要度を有することができ、第2エンハンスメントレイヤEL2は、第2重要度より低い第3重要度を有することができる。本実施形態によれば、レイヤの重要度により、不揮発性メモリ120において、保存空間が異なるように決定され得る。
一実施形態において、ベースレイヤBLに対応するデータは、第1メモリ領域MA1に保存することができる。例えば、第1メモリ領域MA1は、複数のSLCチップを含んでもよい。一実施形態において、第1エンハンスメントレイヤEL1及び第2エンハンスメントレイヤEL2に対応するデータは、第2メモリ領域MA2に保存することができる。第2メモリ領域MA2は、複数のMLCチップを含んでもよい。
しかし、本発明は、それに限定されるものではなく、不揮発性メモリ120は、第2保存信頼性レベルより低い第3保存信頼性レベルを有する第3メモリ領域をさらに含んでもよい。例えば、第3メモリ領域は、複数のTLC(triple level cell)チップを含んでもよい。このとき、第1エンハンスメントレイヤEL1に対応するデータは、第2メモリ領域MA2に保存し、第2エンハンスメントレイヤEL2に対応するデータは、第3メモリ領域に保存することができる。
図14は、本開示の一実施形態により、図12のメモリコントローラ110を示すブロック図である。図14を参照すれば、コントローラ110は、プロセッサ111、メモリ112、第1インターフェース113及び第2インターフェース114、並びにバッファBFを含み、それらは、バス115を介して、互いに通信することができる。プロセッサ111は、中央処理装置やマイクロプロセッサなどを含み、コントローラ110の全般的な動作を制御することができる。一実施形態において、プロセッサ111は、マルチコアプロセッサによって具現され、例えば、デュアルコアプロセッサまたはクワッド(quad)コアプロセッサによって具現され得る。
メモリ112は、プロセッサ111の制御によって動作し、動作メモリ、バッファメモリ、キャッシュメモリなどとして使用され得る。例えば、メモリ112は、DRAM、SRAMのような揮発性メモリ、またはPRAM、フラッシュメモリのような不揮発性メモリによって具現され得る。一実施形態において、メモリ112には、トランスコーダTC、オブジェクトマッパOM及びマッピングテーブルMTがローディングされる。トランスコーダTCは、バッファBFにバッファリングされたマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることができる。オブジェクトマッパOMは、トランスコーディングされたスケーラブルフォーマットのマルチメディアファイルを、不揮発性メモリ120に書き込むための物理アドレスを決定することができ、決定された物理アドレスを、オブジェクトID別にマッピングテーブルMTに保存することができる。一実施形態において、各オブジェクトIDは、与えられたトランスコーディングされたスケーラブルフォーマットマルチメディアファイルと係わる固有ID(identification)である。トランスコーダTC及びオブジェクトマッパOMは、ファームウェアまたはソフトウェアによって具現され、メモリ112にローディングされ得る。しかし、本発明は、それに限定されるものではなく、トランスコーダTC及びオブジェクトマッパOMは、ハードウェアによって具現されてもよい。
第1インターフェース113は、プロセッサ300(図11)とコントローラ110とのインターフェースを提供することができ、例えば、USB(universal serial bus)、MMC、PCI−E(PCI Express)、ATA(AT Attachment)、SATA(serial AT Attachment)、PATA(parallel AT Attachment)、SCSI(small computer system interface)、SAS(serial attached SCSI)、ESDI(enhanced small disk interface)、IDE(integrated drive electronics)などによるインターフェースを提供することができる。第2インターフェース114は、コントローラ110と不揮発性メモリ120とのインターフェースを提供することができる。例えば、マッピングテーブルMT、第2マルチメディアファイルMF2のようなスケーラブルフォーマットファイルなどは、第2インターフェース114を介して、コントローラ110と不揮発性メモリ120との間で送受信される。一実施形態において、第2インターフェース114の個数は、ストレージ装置100に含まれた不揮発性メモリチップの個数、あるいはコントローラ110と不揮発性メモリ120との間のチャネルの個数に対応する。
図15Aないし図15Cは、本開示の一部実施形態によるマッピングテーブル151〜153をそれぞれ示す。例えば、図14のマッピングテーブルMTは、マッピングテーブル151〜153のうち一つによって具現され得る。
図15Aを参照すれば、マッピングテーブル151は、オブジェクトID(object ID)別に、物理アドレス(例えば、物理的ページナンバー(PPN:physical page number))を保存することができる。オブジェクトマッパOMは、第1オブジェクトID OID1〜第3オブジェクトID OID3に対応するデータを、第1PPN PPNa〜第3PPN PPNcにそれぞれ書き込むように決定することができる。各オブジェクトIDは、スケーラブルフォーマットファイルに対応する。従って、各スケーラブルフォーマットファイルは、1つの物理アドレスに対応する。
図15Bを参照すれば、マッピングテーブル152は、オブジェクトIDのレイヤ別に、物理アドレスを保存することができる。従って、各スケーラブルフォーマットファイルは、3つの物理アドレスに対応する。オブジェクトマッパOMは、第1オブジェクトID OID1に対応するスケーラブルフォーマットファイルに含まれたベースレイヤBL、第1エンハンスメントレイヤEL1及び第2エンハンスメントレイヤEL2にそれぞれ対応するデータを、PPN11、PPN12、PPN13に書き込むように決定することができる。また、オブジェクトマッパOMは、第2オブジェクトID OID2に対応するスケーラブルフォーマットファイルに含まれたベースレイヤBL、第1エンハンスメントレイヤEL1及び第2エンハンスメントレイヤEL2にそれぞれ対応するデータを、PPN21、PPN22、PPN23に書き込むように決定することができる。例えば、PPN11、PPN21は、第1メモリ領域MA1に含まれることができ、PPN12、PPN13、PPN22、PPN23は、第2メモリ領域MA2に含まれることができる。
図15Cを参照すれば、マッピングテーブル153は、オブジェクトIDのビットレート別に、物理アドレスを保存することができる。オブジェクトマッパOMは、第1オブジェクトID OID1に対応するスケーラブルフォーマットファイルに含まれた第1レイヤに要求される第1ビットレートBR1に対応するデータは、PPN11’に書き込み、第2レイヤに要求される第2ビットレートBR2に対応するデータは、PPN12’に書き込み、第3レイヤに要求される第3ビットレートBR3に対応するデータは、PPN13’に書き込むように決定することができる。例えば、PPN11’、PPN21’は、第1メモリ領域MA1に含まれることができ、PPN12’、PPN13’、PPN22’、PPN23’は、第2メモリ領域MA2に含まれることができる。
図16は、本開示の一実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す。図16を参照すれば、コントローラ110aは、オブジェクトマッパOMaを含んでもよい。図示されていないが、コントローラ110aは、図12のコントローラ110の変形例に対応し、それにより、トランスコーダTC及びバッファBFをさらに含んでもよい。不揮発性メモリ120aは、図12の不揮発性メモリ120の変形例に対応し、コントローラ110aと不揮発性メモリ120aは、第1チャネルCH1を介して連結され得る。
オブジェクトマッパOMaは、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータを、不揮発性メモリ120aに含まれた第1メモリチップMC1〜第4メモリチップMC4に配置することができる。具体的には、オブジェクトマッパOMaは、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータを書き込むために、RAID(redundant array of inexpensive disk)ストライプを構成することができる。ここで、該RAIDは、重要なデータを保存するサーバなどの記録媒体で主に使用される方法であり、多くの記録媒体のうち1つの記録媒体にパリティ(parity)を保存し、他の記録媒体に保存されたデータでエラーが発生しても、それを正常なデータに復元することができる方法である。多数のデータと、1以上のRAIDパリティとで、1つのRAIDストライプを構成することができる。例えば、オブジェクトマッパOMaは、複数のメモリチップ、複数のメモリダイ、複数のメモリプレーン、複数のメモリブロック、複数のページまたは複数のセクターのうちいずれか一つに基づいて、ストライプを構成することができる。
ベースレイヤのビットレートは、相対的に低いので、オブジェクトマッパOMaは、ベースレイヤに対応するデータを書き込むための物理アドレスを、相対的に少ない個数のメモリチップに決定することができる。一実施形態において、オブジェクトマッパOMaは、例えば、ベースレイヤBL(図13)に対応するデータBD1,BD2を、第1メモリチップMC1及び第2メモリチップMC2に配置することができる。例えば、オブジェクトマッパOMaは、第1メモリチップMC1及び第2メモリチップMC2の第1メモリ領域MA1aに対してストライプを構成し、データBD1,BD2の物理アドレスを決定することができる。
エンハンスメントレイヤは、ビットレートが相対的に高いので、オブジェクトマッパOMaは、エンハンスメントレイヤに対応するデータを書き込むための物理アドレスを、相対的に多くの個数のメモリチップに決定することができる。一実施形態において、オブジェクトマッパOMaは、例えば、第1エンハンスメントレイヤEL1(図13)及び第2エンハンスメントレイヤEL2(図13)に対応するデータED1〜ED8を、第1メモリチップMC1〜第4メモリチップMC4に配置することができる。例えば、オブジェクトマッパOMaは、第1メモリチップMC1〜第4メモリチップMC4の第2メモリ領域MA2aに対してストライプを構成し、データED1〜ED8の物理アドレスを決定することができる。
図17は、本開示の一実施形態により、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータの保存動作を例示的に示す。図17を参照すれば、コントローラ110bは、オブジェクトマッパOMbを含んでもよい。本実施形態によるコントローラ110bは、図16のコントローラ110aの変形例に対応する。オブジェクトマッパOMbは、スケーラブルフォーマットファイルに含まれた各レイヤに対応するデータを、不揮発性メモリ120aに含まれた第1メモリチップMC1〜第6メモリチップMC6に配置することができる。本実施形態によれば、オブジェクトマッパOMbは、互いに異なるビットレートが要求されるデータを、互いに異なるチャネルを介してコントローラ110bと連結されるメモリチップに配置することができる。それにより、コントローラ110bは、互いに異なるビットレートが要求されるデータをいずれも読み取る場合、読み取り速度をさらに向上させることができる。
具体的には、オブジェクトマッパOMbは、エンハンスメントレイヤに対応するデータを書き込むための物理アドレスは、第1チャネルCH1を介してコントローラ110bと連結される第2メモリ領域MA2bに配置することができる。一実施形態において、オブジェクトマッパOMbは、例えば、第1エンハンスメントレイヤEL1(図13)及び第2エンハンスメントレイヤEL2(図13)に対応するデータED1〜ED8を、第1チャネルCH1を介してコントローラ110bと連結される第1メモリチップMC1〜第4メモリチップMC4に配置することができる。例えば、オブジェクトマッパOMbは、第2メモリ領域MA2aに含まれた第1メモリチップMC1〜第4メモリチップMC4を基に、ストライプを構成し、データED1〜ED8の物理アドレスを決定することができる。
また、オブジェクトマッパOMbは、ベースレイヤに対応するデータを書き込むための物理アドレスは、第2チャネルCH2を介してコントローラ110bと連結される第1メモリ領域MA1bに配置することができる。一実施形態において、オブジェクトマッパOMbは、例えば、ベースレイヤBL(図13)に対応するデータBD1〜BD4を、第5メモリチップMC5及び第6メモリチップMC6に配置することができる。例えば、オブジェクトマッパOMbは、第1メモリ領域MA1bに含まれた第5メモリチップMC5及び第6メモリチップMC6に対してストライプを構成し、データBD1〜BD4の物理アドレスを決定することができる。
図18は、本開示の一実施形態によるマルチメディアファイルの保存方法を示すフローチャートである。図18を参照すれば、本実施形態によるマルチメディアファイルの保存方法は、例えば、図12のストレージ装置100において、時系列的に遂行される段階を含み得る。従って、図12ないし図17を参照して説明された内容は、本実施形態にも適用され、重複説明は、省略する。段階S400において、ストレージ装置100は、第1マルチメディアファイルのアップロード要請を受信する。段階S420において、ストレージ装置100は、例えば、トランスコーダTCは、第1マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、第2マルチメディアファイルを生成する。段階S440において、ストレージ装置100は、第2マルチメディアファイルを不揮発性メモリ120に保存する。
図19は、図18に例示された保存方法による、クライアント装置20、コントローラ110及び不揮発性メモリ120の動作を示すフローチャートである。図19を参照すれば、クライアント装置20は、図1の第1クライアント装置20aまたは第2クライアント装置20bに対応し、コントローラ110及び不揮発性メモリ120は、図12のコントローラ110及び不揮発性メモリ120に対応する。
段階S500において、クライアント装置20は、マルチメディアオブジェクトまたはマルチメディアファイルのアップロード要請を、コントローラ110に送信する。具体的には、クライアント装置20は、ネットワーク上で、例えば、サーバ10(図1)にアップロード要請を送信し、該サーバは、コントローラ110に、アップロード要請を伝達することができる。しかし、以下では、説明の便宜上、クライアント装置20とサーバとの動作、及びサーバとコントローラ110との動作に係わる説明は、省略し、クライアント装置20とコントローラ110との動作を中心に説明する。
段階S510において、コントローラ110は、例えば、トランスコーダTCは、マルチメディアファイルを、スケーラブルフォーマットファイルにトランスコーディングする。段階S520において、コントローラ110は、例えば、オブジェクトマッパOMは、スケーラブルフォーマットファイルに対応するデータを書き込む物理アドレスを決定する。段階S530において、コントローラ110は、マッピング情報を、マッピングテーブルMTに保存する。段階S540において、コントローラ110は、スケーラブルフォーマットファイルに対する書き込みコマンドを、不揮発性メモリ120に送信する。段階S550において、不揮発性メモリ120は、スケーラブルフォーマットファイルに係わる書き込み動作を遂行する。段階S560において、不揮発性メモリ120は、書き込み動作の完了を示す応答メッセージを、コントローラ110に送信する。段階S570において、コントローラ110は、アップロード動作の完了を示す応答メッセージを、クライアント装置20に送信する。
図20は、本開示の一実施形態によるマルチメディアファイルの読み取り方法を示すフローチャートである。図20を参照すれば、本実施形態によるマルチメディアファイルの読み取り方法は、例えば、図12のストレージ装置100において、時系列的に遂行される段階を含み得る。従って、図12ないし図17を参照して説明された内容は、本実施形態にも適用され、重複説明は、省略する。
段階S600において、ストレージ装置100は、クライアント装置から、第1フォーマットまたは第1解像度のマルチメディアファイルに係わるリトリーブ要請を受信する。段階S620において、ストレージ装置100は、第2マルチメディアファイルを、不揮発性メモリ120から読み取る。段階S640において、ストレージ装置100は、例えば、トランスコーダTCは、第2マルチメディアファイルを、第1フォーマットまたは第1解像度によってトランスコーディングすることにより、第3マルチメディアファイルを生成する。段階S660において、ストレージ装置100は、第3マルチメディアファイルをクライアント装置に提供する。
図21は、図20に例示された保存方法による、クライアント装置20、コントローラ110及び不揮発性メモリ120の動作の一例を示すフローチャートである。図21を参照すれば、クライアント装置20は、図1の第1クライアント装置20aまたは第2クライアント装置20bに対応し、コントローラ110及び不揮発性メモリ120は、図12のコントローラ110及び不揮発性メモリ120に対応する。
段階S700において、クライアント装置20は、第1解像度または第1ビットレートを有するマルチメディアファイルのリトリーブ要請を、コントローラ110に送信する。具体的には、クライアント装置20は、ネットワーク上で、例えば、サーバ10(図1)にリトリーブ要請を送信し、該サーバは、コントローラ110に、リトリーブ要請を伝達することができる。段階S710において、コントローラ110は、マッピングテーブルMTにおいて、マッピング情報を検索する。段階S720において、コントローラ110は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ120に送信する。
段階S730において、不揮発性メモリ120は、読み取り動作を遂行する。段階S740において、不揮発性メモリ120は、スケーラブルフォーマットファイルをコントローラ110に提供する。段階S750において、コントローラ110は、例えば、トランスコーダTCは、スケーラブルフォーマットファイルを、第1解像度または第1ビットレートのマルチメディアファイルにトランスコーディングする。段階S760において、コントローラ110は、第1解像度または第1ビットレートのマルチメディアファイルをクライアント装置20に提供する。
図22は、図20に例示された保存方法による、クライアント装置20、コントローラ110及び不揮発性メモリ120の動作の他例を示すフローチャートである。図22を参照すれば、段階S800において、クライアント装置20は、第1解像度または第1ビットレートを有するマルチメディアファイルのリトリーブ要請を、コントローラ110に送信する。段階S810において、コントローラ110は、マッピングテーブルにおいて、マッピング情報を検索する。段階S820において、コントローラ110は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ120に送信する。段階S830において、不揮発性メモリ120は、読み取り動作を遂行する。読み取り動作の遂行の結果、不揮発性メモリ120に保存されたスケーラブルフォーマットファイルの第1レイヤに対応するデータにおいて、エラーが発生しうる。一実施形態において、不揮発性メモリ120がエラー発生を検出することができ、その結果をコントローラ110に提供することができる。しかし、本発明は、それに限定されるものではなく、一部実施形態において、不揮発性メモリ120は、読み取られたデータだけコントローラ110に提供し、コントローラ110がエラー発生を検出することもできる。
段階S840において、不揮発性メモリ120は、第1レイヤを除いた少なくとも1つのレイヤに対応するデータと、第1レイヤに対応するデータでエラーが発生したことを示すエラーメッセージとをコントローラ110に提供する。段階S850において、コントローラ110は、第1レイヤの重要度レベルをチェックする。一実施形態において、第1レイヤの重要度レベルが基準レベル以上である場合には、読み取り再試みを行うことができ、第1レイヤの重要度レベルが基準レベル未満である場合には、読み取り再試みを行わない。一実施形態において、第1レイヤの重要度レベルにより、読み取り再試み回数を異なるように決定することができる。
段階S860において、読み取り再試みを行うか否かということを判断する。該判断の結果、読み取り再試みを行わない場合、段階S890を遂行する。その場合、段階S890において、コントローラ110は、第1レイヤを除いた少なくとも1つのレイヤに対応したデータを基に、スケーラブルフォーマットファイルを、第1解像度または第1ビットレートを有するマルチメディアファイルに、トランスコーディングすることができる。そのように、レイヤの重要度レベルが相対的に低い場合には、当該レイヤに係わる読み取り再試みは、省略し、エラーが発生していないレイヤに対応するデータのみを基に、マルチメディアファイルを生成し、クライアント20に提供することができる。それにより、クライアント装置20は、相対的に少ない読み取りレイテンシーで、ストリーミングサービスを提供される。
一方、該判断の結果、読み取り再試みを行う場合、段階S870において、コントローラ110は、読み取りコマンドを、不揮発性メモリ120に送信する。段階S880において、不揮発性メモリ120は、読み取り動作を遂行する。段階S885において、不揮発性メモリ120は、読み取られた第1レイヤに対応するデータを、コントローラ110に提供する。段階S890において、コントローラ110は、以前に提供されたデータ、及び第1レイヤに対応するデータを基に、スケーラブルフォーマットファイルを、第1解像度または第1ビットレートを有するマルチメディアファイルにトランスコーディングする。段階S895において、コントローラ110は、第1解像度または第1ビットレートを有するマルチメディアファイルを、クライアント装置20に提供する。一方、第1レイヤに対して決定された読み取り再試み回数が閾値に逹したにもかかわらず、第1レイヤに対応する正常データを読み取ることができない場合、コントローラ110は、エラーメッセージをクライアント装置20に送信することもできる。
図23は、本開示の一実施形態によるマルチメディアファイルの読み取り方法を示すフローチャートである。図23を参照すれば、本実施形態によるマルチメディアファイルの読み取り方法は、例えば、図12のストレージ装置100において、時系列的に遂行される段階を含み得る。従って、図12ないし図17を参照して説明された内容は、本実施形態にも適用される。本実施形態は、図20に例示された方法の変形例に対応する。
段階S900において、ストレージ装置100は、クライアント装置から、第1フォーマットまたは第1解像度のスケーラブルフォーマットに係わるリトリーブ要請を受信する。段階S920において、ストレージ装置100は、第2マルチメディアファイルにおいて、第1フォーマットまたは第1解像度のスケーラブルフォーマットに対応する少なくとも1つのレイヤを決定する。段階S940において、ストレージ装置100は、少なくとも1つのレイヤに対応するデータを、不揮発性メモリから読み取る。段階S960において、ストレージ装置100は、読み取られたデータをクライアント装置に提供する。
図24は、図23に例示された保存方法による、クライアント装置20’、コントローラ110及び不揮発性メモリ120の動作の一例を示すフローチャートである。図24を参照すれば、クライアント装置20’は、図9の第1クライアント装置20a’に対応し、コントローラ110及び不揮発性メモリ120は、図12のコントローラ110及び不揮発性メモリ120に対応する。
段階S1000において、クライアント装置20’は、特定解像度のスケーラブルフォーマットファイルに係わるリトリーブ要請を、コントローラ110に提供する。例えば、クライアント装置20’は、高解像度のSVCファイルに係わるリトリーブ要請を、コントローラ110に提供することができる。段階S1010において、コントローラ110は、リトリーブ要請に応答し、不揮発性メモリ120から読み取る少なくとも1つのレイヤを決定する。例えば、コントローラ110は、スケーラブルフォーマットファイルに含まれた複数のレイヤのうち、ベースレイヤ及び高解像度レイヤのみを読み取るように決定することができる。それにより、コントローラ110と不揮発性メモリ120とのデータ入出力時間が短縮される。
段階S1020において、コントローラ110は、マッピングテーブルMTにおいて、マッピング情報を検索する。例えば、コントローラ110は、マッピングテーブルMTにおいて、ベースレイヤ及び高解像度レイヤに対応するデータが保存された物理アドレスのみを検索することができる。段階S1030において、コントローラ110は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ120に送信する。段階S1040において、不揮発性メモリ120は、読み取り動作を遂行する。もし不揮発性メモリ120に保存されたスケーラブルフォーマットファイルの高フレームレートレイヤに対応するデータにおいて、エラーが発生しても、リトリーブ要請によれば、高フレームレートレイヤに対応するデータを読み取らなくてもよいので、読み取り結果に影響を与えない。
段階S1050において、不揮発性メモリ120は、ベースレイヤに対応するデータをコントローラ110に提供する。段階S1060において、不揮発性メモリ120は、高解像度レイヤに対応するデータを、コントローラ110に提供する。このとき、不揮発性メモリ120は、高フレームレートに対応するデータは、コントローラ110に提供しなくてもよい。段階S1070において、コントローラ110は、ベースレイヤに対応するデータを、クライアント装置20’に提供する。段階S1080において、コントローラ110は、高解像度レイヤに対応するデータを、クライアント装置20’に提供する。このとき、コントローラ110は、高フレームレートに対応するデータは、クライアント装置20’に提供しなくてもよい。
図25は、図23に例示された保存方法による、クライアント装置20’、コントローラ110及び不揮発性メモリ120の動作の一例を示すフローチャートである。図25を参照すれば、段階S1100において、クライアント装置20’は、特定解像度のスケーラブルフォーマットファイルに係わるリトリーブ要請を、コントローラ110に提供する。例えば、クライアント装置20’は、高解像度のSVCファイルに係わるリトリーブ要請を、コントローラ110に提供することができる。段階S1110において、コントローラ110は、リトリーブ要請に応答し、不揮発性メモリ120から読み取る少なくとも1つのレイヤを決定する。例えば、コントローラ110は、スケーラブルフォーマットファイルに含まれた複数のレイヤのうち、ベースレイヤ及び高解像度レイヤのみを読み取るように決定することができる。
段階S1120において、コントローラ110は、マッピングテーブルMTにおいて、マッピング情報を検索する。例えば、コントローラ110は、マッピングテーブルMTにおいて、ベースレイヤ及び高解像度レイヤに対応するデータが保存された物理アドレスのみを検索することができる。段階S1130において、コントローラ110は、検索されたマッピング情報を基に、読み取りコマンドを、不揮発性メモリ120に送信する。段階S1140において、不揮発性メモリ120は、読み取り動作を遂行する。読み取り動作の遂行の結果、不揮発性メモリ120に保存されたスケーラブルフォーマットファイルの高解像度レイヤに対応するデータにおいて、エラーが発生しうる。
段階S1150において、不揮発性メモリ120は、ベースレイヤに対応するデータを、コントローラ110に提供する。このとき、不揮発性メモリ120は、エラーが発生した高解像度レイヤに対応するデータは、コントローラ110に提供しない。段階S1160において、コントローラ110は、ベースレイヤに対応するデータを、クライアント装置20’に提供する。それにより、クライアント装置20’のユーザは、要請した解像度によるマルチメディアファイルを再生することはできないが、ベースレイヤに対応するデータを基に、SVCデコーディングを遂行することにより、相対的に低い解像度を有するマルチメディアファイルを再生することができる。段階S1160において、コントローラ110は、高解像度レイヤに対応するデータ、及び高フレームレートに対応するデータがリトリーブされないということを示すエラーメッセージを、クライアント装置20’に追加して提供することができる。
しかし、本発明は、それに限定されるものではなく、一部実施形態において、コントローラ110は、不揮発性メモリ120から、高フレームレートレイヤに対応するデータをさらに読み取ることができ、コントローラ110は、ベースレイヤに対応するデータと共に、エラーが発生していない高フレームレートレイヤに対応するデータを、クライアント装置20’に提供することもできる。それにより、クライアント装置20’のユーザは、要請した解像度によるマルチメディアファイルを再生することはできないが、ベースレイヤに対応するデータ、及び高フレームレートレイヤに対応するデータを基に、SVCデコーディングを行うことにより、他の解像度を有するマルチメディアファイルを再生することができる。
図26は、図23に例示された保存方法による、クライアント装置20’、コントローラ110及び不揮発性メモリ120の動作の一例を示すフローチャートである。図26を参照すれば、不揮発性メモリ120で読み取り動作が遂行された結果、不揮発性メモリ120に保存されたスケーラブルフォーマットファイルの高解像度レイヤに対応するデータにおいて、エラーが発生しうる。段階S1170において、不揮発性メモリ120は、高解像度レイヤでエラーが発生したことを示すエラーメッセージを、コントローラ110に提供する。このとき、不揮発性メモリ120は、エラーが発生した高解像度レイヤに対応するデータだけではなく、エラーが発生していないベースレイヤに対応するデータも、コントローラ110に提供しない。段階S1180において、コントローラ110は、エラーメッセージをクライアント装置20’に提供する。
図27は、本開示の一実施形態によるストレージ装置100’を示すブロック図である。図27を参照すれば、ストレージ装置100’は、図12のストレージ装置100と、実質的に類似して具現され、各構成要素に係わる具体的な説明は、省略する。本実施形態によれば、コントローラ110は、不揮発性メモリ120に保存されたファイルのうち、スケーラブルフォーマットを有さないノン(non)スケーラブルフォーマットファイルが書き込まれた物理アドレスを、例えば、マッピングテーブルMT(図14)において検索することができる。例えば、ノンスケーラブルフォーマットファイルは、ノンSVCオブジェクトとし得る。コントローラ110は、検索された物理アドレスにより、不揮発性メモリ120から、ノンSVCオブジェクトを読み取ることができる。
コントローラ110は、特に、トランスコーダTCが、ノンSVCオブジェクトを、オリジナルフォーマットからスケーラブルフォーマットに、トランスコーディングすることにより、スケーラブルフォーマットファイルを生成することができる。例えば、スケーラブルフォーマットファイルは、SVCオブジェクトとし得る。コントローラ110は、特に、オブジェクトマッパOMは、SVCオブジェクトに対応するオブジェクトIDに従って物理アドレスを決定し、決定されたマッピング情報を、マッピングテーブルMTに保存することができる。コントローラ110は、SVCオブジェクトを、不揮発性メモリ120に保存することができる。
一実施形態によれば、ストレージ装置100’は、不揮発性メモリ120に含まれた第1メモリチップに保存されたノンSVCオブジェクトを、SVCオブジェクトにトランスコーディングし、トランスコーディングされたSVCオブジェクトを、不揮発性メモリ120に含まれた第2メモリチップに保存することができる。一実施形態によれば、ストレージ装置100’は、不揮発性メモリ120に含まれた第1メモリブロックに保存されたノンSVCオブジェクトを、SVCオブジェクトにトランスコーディングし、トランスコーディングされたSVCオブジェクトを、不揮発性メモリ120に含まれた第2メモリブロックに保存することができる。
図28は、本開示の一実施形態によるサーバ10Aを示すブロック図である。図28を参照すれば、サーバ10Aは、第1ストレージ装置100A及び第2ストレージ装置200A、プロセッサ300A、並びにメモリ400Aを含み、第1ストレージ装置100A及び第2ストレージ装置200A、プロセッサ300A、並びにメモリ400Aは、バス600を介して通信することができる。本実施形態によるサーバ10Aは、図11に例示されたサーバ10の変形例に対応し、重複説明は、省略する。例えば、第1ストレージ装置100Aは、トランスコーダTCを含み、第2ストレージ装置200Aは、トランスコーダを含まない。
メモリ400Aは、オブジェクトID別にデータが保存された物理アドレスを書き込んだオブジェクトマッピングテーブルOMTを保存することができる。プロセッサ300Aは、オブジェクトマッピングテーブルOMTに基づいて、第2ストレージ装置200Aに保存されたファイルのうちノンスケーラブルフォーマットファイル、例えば、ノンSVCオブジェクトを検索することができる。プロセッサ300Aは、第2ストレージ装置200Aに保存されたノンSVCオブジェクト及びトランスコーディングコマンドを、第1ストレージ装置100Aに提供することができる。第1ストレージ装置100Aは、トランスコーディングコマンドに応答し、ノンSVCオブジェクトを、オリジナルフォーマットからスケーラブルフォーマットに、トランスコーディングすることにより、SVCオブジェクトを生成することができる。一実施形態において、第1ストレージ装置100Aは、SVCオブジェクトを、第2ストレージ装置200Aに提供することができる。しかし、本発明は、それに限定されるものではなく、第1ストレージ装置100Aが、SVCオブジェクトを保存することもできる。
図29は、本開示の一実施形態により、図28に含まれた第1ストレージ装置100Aを示すブロック図である。図28及び図29を共に参照すれば、第1ストレージ装置100Aは、トランスコーディングする既存オブジェクトID OID_orgを受信することができる。第1ストレージ装置100Aは、既存オブジェクトID OID_orgに対応するノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングすることができる。第1ストレージ装置100Aは、トランスコーディングされた新規オブジェクトID OID_newを出力することができる。
一実施形態において、第1ストレージ装置100Aは、スケーラブルフォーマットファイルを、不揮発性メモリ120Aに保存することができる。しかし、本発明は、それに限定されるものではなく、第1ストレージ装置100Aは、スケーラブルフォーマットファイルを、不揮発性メモリ120Aに保存せず、外部に出力することができる。このとき、プロセッサ300Aは、スケーラブルフォーマットファイルを、第2ストレージ装置200A、または他の保存空間に保存するように制御することができる。
図30は、本開示の一実施形態によるサーバ10Bを示すブロック図である。図30を参照すれば、サーバ10Bは、第2ストレージ装置200A、プロセッサ300A、メモリ400A及びトランスコーダ700を含み、第2ストレージ装置200A、プロセッサ300A、メモリ400A及びトランスコーダ700は、バス600を介して通信することができる。本実施形態によるサーバ10Bは、図11に例示されたサーバ10、または図28のサーバ10Aの変形例に対応し、重複説明は、省略する。例えば、第2ストレージ装置200Aは、トランスコーダを含まない。
メモリ400Aは、オブジェクトID別にデータが保存された物理アドレスを書き込んだオブジェクトマッピングテーブルOMTを保存することができる。プロセッサ300Aは、オブジェクトマッピングテーブルOMTに基づいて、第2ストレージ装置200Aに保存されたファイルのうちノンスケーラブルフォーマットファイル、例えば、ノンSVCオブジェクトを検索することができる。プロセッサ300Aは、第2ストレージ装置200Aに保存されたノンSVCオブジェクト及びトランスコーディングコマンドをトランスコーダ700に提供することができる。トランスコーダ700は、トランスコーディングコマンドに応答し、ノンSVCオブジェクトをオリジナルフォーマットからスケーラブルフォーマットに、トランスコーディングすることにより、SVCオブジェクトを生成することができる。一実施形態において、トランスコーダ700は、SVCオブジェクトを、第2ストレージ装置200Aに提供することができる。一部実施形態において、サーバ10Bは、他のストレージ装置をさらに含んでもよい。このとき、トランスコーダ700で生成されたSVCオブジェクトは、第2ストレージ装置200Aと異なるストレージ装置に保存されてもよい。
図31は、本開示の一実施形態によるネットワークシステム1000を示す。図31を参照すれば、ネットワークシステム1000は、サーバシステム1100、及びネットワークNETを介してサーバシステム1100と通信する複数のターミナル(端末)1210〜1230を含んでもよい。サーバシステム1100は、サーバ1110とSSD1120とを含んでもよい。このとき、サーバ1110は、前述の実施形態のサーバ10,10’,10A,10Bに対応し、SSD1120は、前述の実施形態のストレージ装置100,100’,100A,100Bに対応する。一部実施形態において、SSD1120は、図1ないし図30を参照して説明された実施形態を利用して具現され得る。
図32は、本開示の一実施形態によるネットワークシステム2000を示す。図32を参照すれば、ネットワークシステム2000は、クライアントグループ2100とデータセンター2200とを含んでもよい。クライアントグループ2100は、第1ネットワークNET1、例えば、インターネットを介して、データセンター2200と通信するクライアント装置Cを含んでもよい。データセンター2200は、各種データを集めておき、サービスを提供する施設であり、第2ネットワークNET2、例えば、LAN(local area network)またはイントラネットを介して、互いに通信するアプリケーションサーバグループ2210、データベースサーバグループ2220及びオブジェクトキャッシュサーバグループ2230を含んでもよい。
アプリケーションサーバグループ2210は、アプリケーションサーバ装置ASを含み、アプリケーションサーバ装置ASは、クライアントグループ2100から受信した要請を処理し、クライアントグループ2100の要請により、データベースサーバグループ2220またはオブジェクトキャッシュサーバグループ2230にアクセスすることができる。データベースサーバグループ2220は、アプリケーションサーバ装置ASによって処理されたデータを保存するデータベースサーバ装置DSを含んでもよい。オブジェクトキャッシュサーバグループ2230は、データベースサーバ装置DSに保存されるデータ、またはデータベースサーバ装置DSから読み取られたデータを、一時的に保存するオブジェクトキャッシュサーバ装置OCSを含み、それにより、アプリケーションサーバ装置ASとデータベースサーバ装置DSとの間において、キャッシュ機能を遂行することができる。一実施形態において、データベースサーバ装置DSは、図1ないし図30を参照して説明された実施形態を利用して具現され得る。
以上のように、図面と明細書とにより、例示的な実施形態が開示された。本明細書において、特定用語を使用して実施形態について説明したが、それらは、ただ本開示の技術的思想について説明するための目的で使用されたものであり、意味限定や、特許請求の範囲に記載された本開示の範囲制限のために使用されたものではない。従って、本技術分野の当業者であるならば、それらから多様な変形、及び均等な他の実施形態が可能であるという点を理解するであろう。従って、本開示の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決められるものである。
本発明の、ストレージ装置、及び該ストレージ装置を含むサーバは、例えば、ソーシャルネットワークサービス関連の技術分野に効果的に適用可能である。
10 サーバ
20a 第1クライアント装置
20b 第2クライアント装置
30 ネットワーク
100,200 ストレージ装置
110 コントローラ
120 不揮発性メモリ
300 プロセッサ
400 メモリ
500 通信モジュール
1000,NS ネットワークシステム
1100 サーバシステム
1120 SSD
1210,1220,1230 ターミナル(端末)

Claims (20)

  1. 第1メモリ領域及び第2メモリ領域を含む不揮発性メモリと、
    第1クライアント装置から、第1マルチメディアファイルのアップロード要請を受信し、前記第1マルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングすることにより、ベースレイヤ、及び少なくとも1つのエンハンスメントレイヤを含む第2マルチメディアファイルを生成し、前記第2マルチメディアファイルを、前記不揮発性メモリに保存するように、前記不揮発性メモリを制御するメモリコントローラと、を含むストレージ装置。
  2. 前記第1メモリ領域は、第1保存信頼性レベルを有し、前記ベースレイヤに対応する第1データを保存し、
    前記第2メモリ領域は、前記第1保存信頼性レベルより低い第2保存信頼性レベルを有し、前記少なくとも1つのエンハンスメントレイヤに対応する第2データを保存することを特徴とする請求項1に記載のストレージ装置。
  3. 前記第1メモリ領域は、シングルレベルセル(SLC)を含み、
    前記第2メモリ領域は、マルチレベルセル(MLC)またはトリプルレベルセル(TLC)を含むことを特徴とする請求項1に記載のストレージ装置。
  4. 前記第1メモリ領域のプログラム/消去サイクルカウントは、基準カウント未満であり、前記第2メモリ領域のプログラム/消去サイクルカウントは、前記基準カウント以上であることを特徴とする請求項1に記載のストレージ装置。
  5. 前記第1メモリ領域のエラービットの個数は、基準個数未満であり、前記第2メモリ領域のエラービット個数は、前記基準個数以上であることを特徴とする請求項1に記載のストレージ装置。
  6. 前記メモリコントローラは、前記第1クライアント装置または第2クライアント装置から、リトリーブ要請を受信し、前記不揮発性メモリから、前記第2マルチメディアファイルを読み取り、読み取られた前記第2マルチメディアファイルを、前記リトリーブ要請に従ってトランスコーディングすることにより、第3マルチメディアファイルを生成することを特徴とする請求項1に記載のストレージ装置。
  7. 前記少なくとも1つのエンハンスメントレイヤに対応する一部データにおいて、エラーが発生した場合、前記メモリコントローラは、前記ベースレイヤに対応するデータをトランスコーディングし、前記第3マルチメディアファイルを生成することを特徴とする請求項6に記載のストレージ装置。
  8. 前記少なくとも1つのエンハンスメントレイヤに対応する一部データにおいて、エラーが発生した場合、前記メモリコントローラは、前記少なくとも1つのエンハンスメントレイヤの重要度をチェックして、チェック結果に従って前記少なくとも1つのエンハンスメントレイヤに係わる読み取り再試みを行うかを決定することを特徴とする請求項6に記載のストレージ装置。
  9. 前記第1クライアント装置または第2クライアント装置は、スケーラブルフォーマットファイルを再生することができ、
    前記メモリコントローラは、前記第1クライアント装置または前記第2クライアント装置からリトリーブ要請を受信し、前記不揮発性メモリから、前記第2マルチメディアファイルのうち前記リトリーブ要請に従ったデータを読み取り、読み取られた前記データを、前記第1クライアント装置または前記第2クライアント装置に提供することを特徴とする請求項1に記載のストレージ装置。
  10. 前記メモリコントローラは、前記リトリーブ要請に応答し、前記不揮発性メモリから、前記ベースレイヤに対応するデータ、または前記ベースレイヤ及び前記少なくとも1つのエンハンスメントレイヤに対応するデータを読み取ることを特徴とする請求項9に記載のストレージ装置。
  11. 前記少なくとも1つのエンハンスメントレイヤは、第1エンハンスメントレイヤ及び第2エンハンスメントレイヤを含み、
    前記第2エンハンスメントレイヤに対応するデータにエラーが発生すると、前記メモリコントローラは、前記ベースレイヤ及び前記第1エンハンスメントレイヤに対応するデータを、前記第1クライアント装置または前記第2クライアント装置に提供することを特徴とする請求項10に記載のストレージ装置。
  12. 前記少なくとも1つのエンハンスメントレイヤは、第1エンハンスメントレイヤ及び第2エンハンスメントレイヤを含み、
    前記第2エンハンスメントレイヤに対応するデータにエラーが発生すると、前記メモリコントローラは、前記ベースレイヤ及び前記第1エンハンスメントレイヤに対応するデータ、並びにエラーメッセージを、前記第1クライアント装置または前記第2クライアント装置に提供することを特徴とする請求項10に記載のストレージ装置。
  13. 前記メモリコントローラは、
    前記第2マルチメディアファイルを前記不揮発性メモリに保存するための物理アドレスを決定するオブジェクトマッパと、
    前記物理アドレスを、前記第2マルチメディアファイルと係わるオブジェクトIDにマッピングするマッピングテーブルと、をさらに含むことを特徴とする請求項1に記載のストレージ装置。
  14. 前記オブジェクトマッパは、前記第2マルチメディアファイルに含まれたデータの重要度及びビットレートのうち少なくとも一つを基に、前記物理アドレスを決定することを特徴とする請求項13に記載のストレージ装置。
  15. 前記メモリコントローラは、前記不揮発性メモリに保存されたノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングし、トランスコーディングされた前記スケーラブルフォーマットファイルを、前記不揮発性メモリに保存するように、前記不揮発性メモリを制御することを特徴とする請求項1に記載のストレージ装置。
  16. 請求項1ないし15のいずれか1項に記載のストレージ装置を含むストレージサーバ。
  17. クライアント装置と通信可能なサーバであり、
    前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーダを含む第1ストレージ装置と、
    ノンスケーラブルフォーマットファイルを保存する第2ストレージ装置と、
    前記第1ストレージ装置と前記第2ストレージ装置との通信を制御するプロセッサと、を含み、
    前記トランスコーダは、前記第2ストレージ装置から、前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングすることを特徴とするサーバ。
  18. トランスコーディングされた前記スケーラブルフォーマットファイルは、前記第1ストレージ装置または前記第2ストレージ装置に保存されることを特徴とする請求項17に記載のサーバ。
  19. 前記第1ストレージ装置は、前記ノンスケーラブルフォーマットファイルと共に、前記ノンスケーラブルフォーマットファイルの第1オブジェクトIDを受信し、前記スケーラブルフォーマットファイルの第2オブジェクトIDを出力することを特徴とする請求項17に記載のサーバ。
  20. クライアント装置と通信可能なサーバであり、
    前記クライアント装置から受信したマルチメディアファイルを、オリジナルフォーマットからスケーラブルフォーマットにトランスコーディングするように構成されたトランスコーディングモジュールと、
    ノンスケーラブルフォーマットファイルを保存するストレージ装置と、
    前記トランスコーディングモジュールと前記ストレージ装置との通信を制御するプロセッサと、を含み、
    前記トランスコーディングモジュールは、前記ストレージ装置から、前記ノンスケーラブルフォーマットファイルを受信し、受信した前記ノンスケーラブルフォーマットファイルを、スケーラブルフォーマットファイルにトランスコーディングすることを特徴とするサーバ。
JP2019071314A 2018-04-30 2019-04-03 ストレージ装置、及び該ストレージ装置を含むサーバ Active JP7280093B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0050133 2018-04-30
KR1020180050133A KR102495915B1 (ko) 2018-04-30 2018-04-30 스토리지 장치 및 상기 스토리지 장치를 포함하는 서버

Publications (3)

Publication Number Publication Date
JP2019195157A true JP2019195157A (ja) 2019-11-07
JP2019195157A5 JP2019195157A5 (ja) 2022-04-07
JP7280093B2 JP7280093B2 (ja) 2023-05-23

Family

ID=65324153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019071314A Active JP7280093B2 (ja) 2018-04-30 2019-04-03 ストレージ装置、及び該ストレージ装置を含むサーバ

Country Status (6)

Country Link
US (2) US11372806B2 (ja)
EP (1) EP3565257B1 (ja)
JP (1) JP7280093B2 (ja)
KR (1) KR102495915B1 (ja)
CN (1) CN110413220B (ja)
SG (1) SG10201901275PA (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102495915B1 (ko) * 2018-04-30 2023-02-03 삼성전자 주식회사 스토리지 장치 및 상기 스토리지 장치를 포함하는 서버
JP7246869B2 (ja) * 2018-06-28 2023-03-28 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
US10983954B2 (en) * 2019-05-24 2021-04-20 Hydrolix Inc. High density time-series data indexing and compression
CN114567413B (zh) * 2022-02-17 2023-06-30 中国银联股份有限公司 一种数据存储方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246761A1 (en) * 2010-03-31 2011-10-06 Albert Alexandrov Systems and methods for distributed media stream transcoding and sharing
JP2012014632A (ja) * 2010-07-05 2012-01-19 Toshiba Corp データベース装置
JP2012199961A (ja) * 2005-09-27 2012-10-18 Qualcomm Inc コンテンツ情報を使用してマルチメディアトランスコーディングを調整するコンテンツ駆動トランスコーダ
WO2014184941A1 (ja) * 2013-05-17 2014-11-20 株式会社日立製作所 ストレージ装置
JP2017508190A (ja) * 2013-12-04 2017-03-23 フェイスブック,インク. メディア・ファイルのアップロードおよびトランスコーディング

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864870A (en) * 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US6738844B2 (en) 1998-12-23 2004-05-18 Intel Corporation Implementing termination with a default signal on a bus line
JP2000278142A (ja) 1999-03-23 2000-10-06 Toshiba Video Products Japan Kk デジタルデータ記録再生装置
US7751628B1 (en) * 2001-12-26 2010-07-06 Reisman Richard R Method and apparatus for progressively deleting media objects from storage
US7133925B2 (en) * 2002-07-15 2006-11-07 Hewlett-Packard Development Company, L.P. System, method, and format thereof for scalable encoded media delivery
JP4111268B2 (ja) * 2002-12-13 2008-07-02 株式会社リコー サムネイル画像の表示方法、サーバコンピュータ、クライアントコンピュータ及びプログラム
US8307273B2 (en) * 2002-12-30 2012-11-06 The Board Of Trustees Of The Leland Stanford Junior University Methods and apparatus for interactive network sharing of digital video content
US20040179606A1 (en) * 2003-02-21 2004-09-16 Jian Zhou Method for transcoding fine-granular-scalability enhancement layer of video to minimized spatial variations
KR100532457B1 (ko) 2003-08-06 2005-11-30 삼성전자주식회사 저장 매체의 읽기 오류를 처리하는 재생 장치 및 방법과그에 따른 동영상 재생 장치 및 방법
KR100965881B1 (ko) * 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
JP4380592B2 (ja) * 2005-05-17 2009-12-09 ソニー株式会社 データ共有システムおよび方法
US7587441B2 (en) * 2005-06-29 2009-09-08 L-3 Communications Integrated Systems L.P. Systems and methods for weighted overlap and add processing
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US8255815B2 (en) * 2006-08-04 2012-08-28 Apple Inc. Motion picture preview icons
US8261191B2 (en) * 2006-08-04 2012-09-04 Apple Inc. Multi-point representation
US8576858B2 (en) * 2006-12-13 2013-11-05 Viasat, Inc. Multiple transmission paths for hierarchical layers
WO2008084424A1 (en) * 2007-01-08 2008-07-17 Nokia Corporation System and method for providing and using predetermined signaling of interoperability points for transcoded media streams
US9824006B2 (en) 2007-08-13 2017-11-21 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
KR101386864B1 (ko) 2007-08-23 2014-04-29 삼성전자주식회사 스케일러블 부호화기를 이용한 데이터 저장 장치 및 방법
US8561116B2 (en) * 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
US8681856B2 (en) 2008-04-24 2014-03-25 Sk Planet Co., Ltd. Scalable video providing and reproducing system and methods thereof
IT1394245B1 (it) 2008-09-15 2012-06-01 St Microelectronics Pvt Ltd Convertitore per video da tipo non-scalabile a tipo scalabile
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
KR100970388B1 (ko) 2008-10-31 2010-07-15 한국전자통신연구원 네트워크 흐름기반 스케일러블 비디오 코딩 적응 장치 및 그 방법
US9282337B2 (en) * 2009-02-27 2016-03-08 Vixs Systems, Inc. Media source device with digital format conversion and methods for use therewith
US8768984B2 (en) * 2009-04-09 2014-07-01 Telefonaktiebolaget L M Ericsson (Publ) Media container file management
KR101630283B1 (ko) 2009-06-25 2016-06-14 한화테크윈 주식회사 영상 보안 시스템에서 부호화 장치
US8214700B2 (en) 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
WO2011075141A1 (en) 2009-12-18 2011-06-23 Bombardier Recreational Products Inc. Snowmobile suspension
US20120047535A1 (en) 2009-12-31 2012-02-23 Broadcom Corporation Streaming transcoder with adaptive upstream & downstream transcode coordination
WO2011108852A2 (en) 2010-03-02 2011-09-09 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming using scalable video coding scheme
US9628831B2 (en) * 2010-03-25 2017-04-18 Whatsapp, Inc. Multimedia transcoding method and system for mobile devices
KR20120012089A (ko) 2010-07-30 2012-02-09 주식회사 시공미디어 스케일러블 비디오 코딩기법을 활용하는 영상 제공 시스템 및 그 방법
US20120075436A1 (en) 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
KR20120094273A (ko) 2011-02-16 2012-08-24 한국전자통신연구원 Svc 서버를 이용한 스트리밍 서비스 및 단말 재생 시스템
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US9063912B2 (en) * 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
GB2495268B (en) * 2011-08-05 2019-09-04 Quantel Ltd Methods and systems for providing file data for media files
AU2011382467A1 (en) 2011-12-02 2014-05-22 Thomson Licensing Reclaiming storage space on a personal video recorder using scalable video coding
DE102012201534B4 (de) * 2011-12-09 2018-08-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zur Zwischenspeicherung einer skalierbaren Original-Datei
KR20130087229A (ko) 2012-01-27 2013-08-06 삼성전자주식회사 스케일러블 비디오를 선택적으로 디코딩하는 방법 및 장치
MX2014009037A (es) * 2012-02-03 2014-10-14 Sony Corp Dispositivo de procesamiento de informacion, medio de grabacion de informacion y metodo de procesamiento de informacion, y programa.
US9472239B1 (en) * 2012-03-26 2016-10-18 Google Inc. Concurrent transcoding of streaming video for immediate download
US8856431B2 (en) 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
US9712854B2 (en) * 2012-09-06 2017-07-18 Alcatel Lucent Cost-aware cloud-based content delivery
US20130311745A1 (en) 2012-09-17 2013-11-21 Antony Harris Storage of sequentially sensitive data
WO2014056546A1 (en) * 2012-10-12 2014-04-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. File sytem, computer and method
US8719888B1 (en) 2012-10-16 2014-05-06 Google Inc. Video encoding and serving architecture
US20140223346A1 (en) * 2013-02-07 2014-08-07 Infopower Corporation Method of Controlling Touch panel
KR101932539B1 (ko) * 2013-02-18 2018-12-27 한화테크윈 주식회사 동영상 데이터를 기록하는 방법, 및 이 방법을 채용한 촬영 장치
US10165227B2 (en) 2013-03-12 2018-12-25 Futurewei Technologies, Inc. Context based video distribution and storage
US9780910B2 (en) 2013-03-14 2017-10-03 Harris Corporation Systems and methods for multiple stream encoded digital video
US20140269930A1 (en) * 2013-03-14 2014-09-18 Comcast Cable Communications, Llc Efficient compositing of multiple video transmissions into a single session
US9607003B2 (en) * 2013-03-14 2017-03-28 Massachusetts Institute Of Technology Network coded storage with multi-resolution codes
EP3055998A1 (en) * 2013-10-11 2016-08-17 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
US20150106478A1 (en) * 2013-10-15 2015-04-16 Microsoft Corporation File handlers supporting dynamic data streams
US9805035B2 (en) * 2014-03-13 2017-10-31 Shutterstock, Inc. Systems and methods for multimedia image clustering
US9418283B1 (en) * 2014-08-20 2016-08-16 Amazon Technologies, Inc. Image processing using multiple aspect ratios
KR102297541B1 (ko) 2014-12-18 2021-09-06 삼성전자주식회사 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템
US10198355B2 (en) * 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
GB2552944B (en) * 2016-08-09 2022-07-27 V Nova Int Ltd Adaptive content delivery network
US11412272B2 (en) * 2016-08-31 2022-08-09 Resi Media Llc System and method for converting adaptive stream to downloadable media
US10649655B2 (en) * 2016-09-30 2020-05-12 Western Digital Technologies, Inc. Data storage system with multimedia assets
US10448062B2 (en) * 2016-10-26 2019-10-15 International Business Machines Corporation Pre-fetching media content to reduce peak loads
KR101877650B1 (ko) 2016-12-23 2018-07-11 주식회사 현대케피코 역류유동이 감소된 vcm 밸브
KR102495915B1 (ko) * 2018-04-30 2023-02-03 삼성전자 주식회사 스토리지 장치 및 상기 스토리지 장치를 포함하는 서버
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
CN115599744A (zh) * 2022-09-09 2023-01-13 浙江大华技术股份有限公司(Cn) 文件的转码方法、装置、存储介质及电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012199961A (ja) * 2005-09-27 2012-10-18 Qualcomm Inc コンテンツ情報を使用してマルチメディアトランスコーディングを調整するコンテンツ駆動トランスコーダ
US20110246761A1 (en) * 2010-03-31 2011-10-06 Albert Alexandrov Systems and methods for distributed media stream transcoding and sharing
JP2012014632A (ja) * 2010-07-05 2012-01-19 Toshiba Corp データベース装置
WO2014184941A1 (ja) * 2013-05-17 2014-11-20 株式会社日立製作所 ストレージ装置
JP2017508190A (ja) * 2013-12-04 2017-03-23 フェイスブック,インク. メディア・ファイルのアップロードおよびトランスコーディング

Also Published As

Publication number Publication date
US20190332573A1 (en) 2019-10-31
KR20190125830A (ko) 2019-11-07
US11372806B2 (en) 2022-06-28
EP3565257A1 (en) 2019-11-06
CN110413220A (zh) 2019-11-05
EP3565257B1 (en) 2024-03-20
US11940949B2 (en) 2024-03-26
JP7280093B2 (ja) 2023-05-23
CN110413220B (zh) 2024-04-19
KR102495915B1 (ko) 2023-02-03
SG10201901275PA (en) 2019-11-28
US20220318187A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
JP7280093B2 (ja) ストレージ装置、及び該ストレージ装置を含むサーバ
US8554994B2 (en) Distributed storage network utilizing memory stripes
US11200159B2 (en) System and method for facilitating efficient utilization of NAND flash memory
US11025965B2 (en) Pre-fetching content among DVRs
CN110018786B (zh) 用于预测数据存储特性的系统和方法
WO2017117919A1 (zh) 数据存储方法和装置
US10996886B2 (en) Method and system for facilitating atomicity and latency assurance on variable sized I/O
CN105051675A (zh) 复制目标服务
WO2021213281A1 (zh) 数据读取方法和系统
CA2930061C (en) Variants of files in a file system
US11726699B2 (en) Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US8051090B2 (en) File management method of a ring buffer and related file management apparatus
US11487465B2 (en) Method and system for a local storage engine collaborating with a solid state drive controller
US20210373785A1 (en) Data storage device with adaptive object storage capabilities
US8990265B1 (en) Context-aware durability of file variants
US10063256B1 (en) Writing copies of objects in enterprise object storage systems
US20220408126A1 (en) System and method for optimizing the distribution of available media production resources
US11537597B1 (en) Method and system for streaming data from portable storage devices
US11586595B1 (en) Space-efficient techniques for generating unique instances of data objects
WO2022263665A1 (en) System and method for optimizing the distribution of available media production resources
CN115480700A (zh) 数据存储方法、存储设备以及主机

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230511

R150 Certificate of patent or registration of utility model

Ref document number: 7280093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150