IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マーベル アジア ピーティーイー、リミテッドの特許一覧

特許7326667ストレージエッジにおけるメタデータ生成
<>
  • 特許-ストレージエッジにおけるメタデータ生成 図1
  • 特許-ストレージエッジにおけるメタデータ生成 図2
  • 特許-ストレージエッジにおけるメタデータ生成 図3
  • 特許-ストレージエッジにおけるメタデータ生成 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】ストレージエッジにおけるメタデータ生成
(51)【国際特許分類】
   G06F 16/14 20190101AFI20230808BHJP
   G06F 12/00 20060101ALI20230808BHJP
   G06F 3/06 20060101ALI20230808BHJP
   G06F 3/08 20060101ALI20230808BHJP
【FI】
G06F16/14
G06F12/00 597U
G06F3/06 301Z
G06F3/08 H
【請求項の数】 20
(21)【出願番号】P 2021503769
(86)(22)【出願日】2019-01-31
(65)【公表番号】
(43)【公表日】2022-01-31
(86)【国際出願番号】 IB2019050776
(87)【国際公開番号】W WO2020026036
(87)【国際公開日】2020-02-06
【審査請求日】2021-08-30
(31)【優先権主張番号】62/712,823
(32)【優先日】2018-07-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/714,563
(32)【優先日】2018-08-03
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/716,269
(32)【優先日】2018-08-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/726,847
(32)【優先日】2018-09-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/726,852
(32)【優先日】2018-09-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520078248
【氏名又は名称】マーベル アジア ピーティーイー、リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ミズラヒ、ノーム
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】国際公開第2017/091282(WO,A1)
【文献】米国特許出願公開第2017/0293431(US,A1)
【文献】特開2010-039966(JP,A)
【文献】特開2014-241045(JP,A)
【文献】特開2016-143352(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 12/00
G06F 3/06-3/08
(57)【特許請求の範囲】
【請求項1】
データ処理システムのソリッドステートドライブ(SSD)において用いるためのコントローラであって、
コンピュータネットワークを介してデータ処理システムの1または複数のリモートホストと通信するように構成されたホストインタフェースと、
前記SSDの不揮発性メモリとローカルに通信するように構成されたメモリインタフェースと、
前記不揮発性メモリにおける複数の構造化されていないメディアオブジェクトのローカルでの格納または検索を管理することと、前記不揮発性メモリに格納されているか、または格納される前記複数の構造化されていないメディアオブジェクトのコンテンツ特性を定義するメタデータを前記複数の構造化されていないメディアオブジェクトから生成することとの両方を実行するように構成されたシングルプロセッサであって、前記複数の構造化されていないメディアオブジェクトは、前記複数の構造化されていないメディアオブジェクトのコンテンツ特性を定義するメタデータがタグ付けされていない、シングルプロセッサと
を備える、コントローラ。
【請求項2】
前記シングルプロセッサは、前記コンピュータネットワークを介して、前記1または複数のリモートホストから、前記複数の構造化されていないメディアオブジェクトからの前記メタデータの生成を指定するモデルを受信し、受信した前記モデルに基づいて前記メタデータを生成し、かつ、前記1または複数のリモートホストによる使用のために、生成した前記メタデータを前記不揮発性メモリにローカルに格納するように構成される、請求項1に記載のコントローラ。
【請求項3】
データ処理システムのストレージデバイスにおいて用いるためのコントローラであって、前記コントローラは、
コンピュータネットワークを介してデータ処理システムの1または複数のリモートホストと通信するように構成されたホストインタフェースと、
前記ストレージデバイスの不揮発性メモリとローカルに通信するように構成されたメモリインタフェースと、
前記不揮発性メモリにおけるメディアオブジェクトのローカルでの格納または検索を管理することと、前記不揮発性メモリに格納されているか、または格納される前記メディアオブジェクトのコンテンツ特性を定義するメタデータを前記メディアオブジェクトから生成することとの両方を実行するように構成されたシングルプロセッサであって、前記メディアオブジェクトは、前記メディアオブジェクトのコンテンツ特性を定義するメタデータがタグ付けされていない、シングルプロセッサと
を備え、
前記シングルプロセッサは、前記コンピュータネットワークを介して、前記1または複数のリモートホストから、前記メディアオブジェクトからの前記メタデータの生成を指定する予め訓練された人工知能モデル(AIモデル)を信し、AI推論エンジンを前記AIモデルに適用することにより前記メタデータを生成し、かつ、前記1または複数のリモートホストによる使用のために、生成した前記メタデータを前記不揮発性メモリにローカルに格納するように構成される、ントローラ。
【請求項4】
前記シングルプロセッサは、前記不揮発性メモリにおける前記複数の構造化されていないメディアオブジェクトの前記格納または前記検索の管理に第1の優先順位を割り当て、かつ、前記メタデータの生成に前記第1の優先順位よりも低い第2の優先順位を割り当てるように構成される、請求項1記載のコントローラ。
【請求項5】
前記シングルプロセッサは、前記シングルプロセッサの少なくともいくつかのリソースが前記複数の構造化されていないメディアオブジェクトの格納の管理から解放されるアイドル期間中に前記メタデータを生成するように構成される、請求項1記載のコントローラ。
【請求項6】
前記シングルプロセッサは、前記アイドル期間を識別することで、識別した前記アイドル期間中に前記メタデータの生成を開始または再開し、かつ、識別した前記アイドル期間外に前記メタデータの前記生成を中断するように構成される、請求項に記載のコントローラ。
【請求項7】
前記シングルプロセッサは、前記コンピュータネットワークを介して、前記シングルプロセッサから遠く離れた位置に配置された前記1または複数のリモートホストに対して前記メタデータをアクセス可能にするように構成される、請求項1記載のコントローラ。
【請求項8】
前記シングルプロセッサは、前記メタデータであるが、前記メタデータが生成された元である前記複数の構造化されていないメディアオブジェクトの全てよりも小さい、前記メタデータを、前記コンピュータネットワークを介して伝送することにより、前記メタデータをアクセス可能にするように構成される、請求項に記載のコントローラ。
【請求項9】
前記メタデータを送信した後に、前記シングルプロセッサは、前記1または複数のリモートホストからの要求に応答して、前記コンピュータネットワークを介して前記複数の構造化されていないメディアオブジェクトのうちの1または複数を送信するように構成される、請求項に記載のコントローラ。
【請求項10】
記不揮発性メモリは、1または複数のフラッシュメモリデバイスを含む、請求項1記載のコントローラ。
【請求項11】
メディアオブジェクトのコンテンツ特性を定義するメタデータを生成するための方法であって、
データ処理センタ内に配置されたソリッドステートドライブ(SSD)に結合されたホストインタフェースが、コンピュータネットワークを介して、前記データ処理センタの1または複数のリモートホストと通信する段階と、
前記SSDのメモリインタフェースが、前記SSDの不揮発性メモリとローカルに通信する段階と、
前記SSDのシングルプロセッサが、前記不揮発性メモリにおける複数の構造化されていないメディアオブジェクトのローカルでの格納または検索を管理する段階と、
前記SSDの前記シングルプロセッサが、前記不揮発性メモリに格納されているか、または格納される前記複数の構造化されていないメディアオブジェクトのコンテンツ特性を定義するメタデータを前記複数の構造化されていないメディアオブジェクトから生成する段階であって、前記複数の構造化されていないメディアオブジェクトは、前記複数の構造化されていないメディアオブジェクトのコンテンツ特性を定義するメタデータがタグ付けされていない、段階と
を備える、方法。
【請求項12】
前記メタデータを生成する段階は、前記コンピュータネットワークを介して、前記1または複数のリモートホストから、前記複数の構造化されていないメディアオブジェクトからの前記メタデータの生成を指定するモデルを受信する段階と、受信した前記モデルに基づいて前記メタデータを生成する段階と、前記1または複数のリモートホストによる使用のために、生成した前記メタデータを前記不揮発性メモリにローカルに格納する段階とを有する、請求項11に記載の方法。
【請求項13】
メディアオブジェクトのコンテンツ特性を定義するメタデータを生成するための方法であって、
データ処理センタ内に配置されたストレージデバイスに結合されたホストインタフェースが、コンピュータネットワークを介して、前記データ処理センタの1または複数のリモートホストと通信する段階と、
前記ストレージデバイスのメモリインタフェースが、前記ストレージデバイスの不揮発性メモリとローカルに通信する段階と、
前記ストレージデバイスのシングルプロセッサが、前記不揮発性メモリにおけるメディアオブジェクトのローカルでの格納または検索を管理する段階と、
前記ストレージデバイスの前記シングルプロセッサが、前記不揮発性メモリに格納されているか、または格納される前記メディアオブジェクトのコンテンツ特性を定義するメタデータを前記メディアオブジェクトから生成する段階であって、前記メディアオブジェクトは、前記メディアオブジェクトのコンテンツ特性を定義するメタデータがタグ付けされていない、段階と
を備え、
前記メタデータを生成する段階は、前記コンピュータネットワークを介して、前記1または複数のリモートホストから、前記メディアオブジェクトからの前記メタデータの生成を指定する予め訓練された人工知能モデル(AIモデル)を受信する段階を、AI推論エンジンを前記AIモデルに適用することにより前記メタデータを生成する段階と、前記1または複数のリモートホストによる使用のために、生成した前記メタデータを前記不揮発性メモリにローカルに格納する段階とを有する、法。
【請求項14】
前記不揮発性メモリにおける前記複数の構造化されていないメディアオブジェクトの前記格納または前記検索の管理に第1の優先順位を割り当てる段階と、前記メタデータの生成に前記第1の優先順位よりも低い第2の優先順位を割り当てる段階とを備える、請求項11に記載の方法。
【請求項15】
前記メタデータを計算する段階は、前記シングルプロセッサの少なくともいくつかのリソースが前記複数の構造化されていないメディアオブジェクトの格納の管理から解放されるアイドル期間中に前記メタデータを生成する段階を有する、請求項11に記載の方法。
【請求項16】
前記アイドル期間を識別する段階と、識別した前記アイドル期間中に前記メタデータの生成を開始または再開する段階と、識別した前記アイドル期間外に前記メタデータの前記生成を中断する段階とを備える、請求項15に記載の方法。
【請求項17】
前記コンピュータネットワークを介して、前記シングルプロセッサから遠く離れた位置に配置された前記1または複数のリモートホストに対して前記メタデータをアクセス可能にする段階を備える、請求項11に記載の方法。
【請求項18】
前記メタデータをアクセス可能にする段階は、前記メタデータであるが、前記メタデータが生成された元である前記複数の構造化されていないメディアオブジェクトの全てよりも小さい、前記メタデータを、前記コンピュータネットワークを介して伝送する段階を有する、請求項17に記載の方法。
【請求項19】
前記メタデータを送信した後に、前記1または複数のリモートホストからの要求に応答して、前記コンピュータネットワークを介して前記複数の構造化されていないメディアオブジェクトのうちの1または複数を送信する段階を備える、請求項18に記載の方法。
【請求項20】
記不揮発性メモリは、1または複数のフラッシュメモリデバイスを含む、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本開示は、同時係属中である、同一出願人による、2018年7月31日に出願された米国仮特許出願第62/712,823号、2018年8月3日に出願された米国仮特許出願第62/714,563号、2018年8月8日に出願された米国仮特許出願第62/716,269号、2018年9月4日に出願された米国仮特許出願第62/726,847号および2018年9月4日に出願された米国仮特許出願第62/726,852号について、米国特許法第119(e)条に基づく利益を主張する。以下の同一出願人による米国非仮特許出願第の各々は、上述の米国仮特許出願第の利益も主張しており、本願と同時に出願中である。
1. 「ストレージエッジにおいて構造化されていないデータオブジェクトを記述するメタデータを生成するためのシステムおよび方法」と題する米国特許出願第________号(代理人整理番号 MP11049/004048 0729 101)、
2. 「メタデータ計算エンジンを備えるストレージエッジコントローラ」と題する米国特許出願第_______号(代理人整理番号 MP11060/004048 0730 101)、
3. 「メタデータ計算制御を用いるストレージアグリゲータコントローラ」と題する米国特許出願第______号(代理人整理番号 MP11065/004048 0731 101)、および、
4. 「複数のオブジェクトタイプ用のメタデータ生成」と題する米国特許出願第______号(代理人整理番号 MP11074/1036-1182)。
【0002】
上述の仮特許出願および非仮特許出願の各々は、ここに、参照により、それぞれの全体が本明細書に組み込まれる。
【0003】
本開示は、概して、メディアオブジェクトの処理に関し、特に、メディアオブジェクト用のメタデータの生成のための方法およびシステムに関する。
【背景技術】
【0004】
様々なシステムおよびアプリケーションには、ほんのいくつかの例に名前を付けるために、テキストアイテム、動画、画像、音声ファイルおよびセンサデータなどの大量のコンテンツの解析が伴う。いくつかの解析タスクでは、コンテンツに関連するメタデータを用いる。
【0005】
上記説明は、この分野における関連技術の概要として提示されており、上記説明が含む情報のいずれかが本特許出願に対する先行技術を構成することを認めるものとして解釈されるべきではない。
【発明の概要】
【0006】
本明細書において説明する実施形態は、データ処理システムのストレージデバイスにおいて用いるためのコントローラを提供する。コントローラは、ホストインタフェースと、メモリインタフェースと、1または複数のプロセッサとを含む。ホストインタフェースは、コンピュータネットワークを介してデータ処理システムの1または複数のリモートホストと通信するように構成される。メモリインタフェースは、ストレージデバイスの不揮発性メモリとローカルに通信するように構成される。1または複数のプロセッサは、不揮発性メモリにおけるメディアオブジェクトのローカルでの格納または検索を管理し、かつ、不揮発性メモリに格納されているか、または格納されるメディアオブジェクトのコンテンツ特性を定義するメタデータを選択的に計算するように構成される。
【0007】
いくつかの実施形態において、1または複数のプロセッサは、複不揮発性メモリに格納されているか、または格納される複数の構造化されていないメディアオブジェクト用のメタデータを生成するように構成される。いくつかの実施形態において、1または複数のプロセッサは、1または複数のホストから、コンピュータネットワークを介して、メディアオブジェクトからのメタデータの抽出を指定するモデルを受信し、受信したモデルに基づいてメタデータを生成し、かつ、1または複数のホストによる使用のために、生成したメタデータを不揮発性メモリにローカルに格納するように構成される。例示的な実施形態において、1または複数のプロセッサは、予め訓練された人工知能(AI)モデルを当該モデルとして受信し、かつ、AI推論エンジンをAIモデルに適用することによりメタデータを生成するように構成される。
【0008】
別の実施形態において、1または複数のプロセッサは、不揮発性メモリにおけるオブジェクトの格納または検索の管理に第1の優先順位を割り当て、かつ、メタデータの生成に第1の優先順位よりも低い第2の優先順位を割り当てるように構成される。さらに別の実施形態において、1または複数のプロセッサは、1または複数のプロセッサの少なくともいくつかのリソースがオブジェクトの格納の管理から解放されるアイドル期間中にメタデータを生成するように構成される。開示される実施形態において、1または複数のプロセッサは、アイドル期間を識別し、識別したアイドル期間中にメタデータの生成を開始または再開し、かつ、識別したアイドル期間外にメタデータの生成を中断するように構成される。
【0009】
いくつかの実施形態において、1または複数のプロセッサは、コンピュータネットワークを介して、プロセッサから遠く離れた位置に配置された1または複数のホストに対してメタデータをアクセス可能にするように構成される。例示的な実施形態において、1または複数のプロセッサは、メタデータであるが、メタデータが生成された元であるメディアオブジェクトの全てよりも少ない、メタデータを、コンピュータネットワークを介して伝送することにより、メタデータをアクセス可能にするように構成される。実施形態において、メタデータを送信した後に、1または複数のプロセッサは、ホストのうちの1または複数からの要求に応答して、コンピュータネットワークを介してメディアオブジェクトのうちの1または複数を送信するように構成される。
【0010】
いくつかの実施形態において、ストレージデバイスは、ソリッドステートドライブ(SSD)を含み、不揮発性メモリは、1または複数のフラッシュメモリデバイスを含む。他の実施形態において、ストレージデバイスは、ハードディスクドライブ(HDD)を含み、不揮発性メモリは、1または複数の磁気ディスクを含む。
【0011】
本明細書において説明する実施形態による、メディアオブジェクトのコンテンツ特性を定義するメタデータを生成するための方法が追加的に提供される。方法は、データ処理センタ内に配置されたストレージデバイスに結合されたホストインタフェースが、コンピュータネットワークを介してデータ処理センタの1または複数のリモートホストと通信する段階と、ストレージデバイスのメモリインタフェースが、ストレージデバイスの不揮発性メモリとローカルに通信する段階とを含む。不揮発性メモリにおけるメディアオブジェクトのローカルでの格納または検索は、ストレージデバイスの1または複数のプロセッサにより管理される。不揮発性メモリに格納されているか、または格納されるメディアオブジェクトのコンテンツ特性を定義するメタデータは、ストレージデバイスの1または複数のプロセッサにより選択的に計算される。
【0012】
本明細書において説明する実施形態による、複数のストレージデバイスと1または複数のホストとを含むシステムも提供される。ストレージデバイスの各々は、不揮発性メモリおよびコントローラをそれぞれ含む。コントローラは、不揮発性メモリにおけるオブジェクトのローカルでの格納または検索を管理し、かつ、不揮発性メモリに格納されているか、または格納されるメディアオブジェクトのコンテンツ特性を定義するメタデータを選択的に計算するように構成される。1または複数のホストは、複数のストレージデバイスにより生成されるメタデータを検索し、かつ、検索したメタデータを用いて、メディアオブジェクトに対するデータ処理オペレーションを実行するように構成される。
【0013】
本開示は、その実施形態についての以下の詳細な説明を図面と照らし合わることからより完全に理解されよう。
【図面の簡単な説明】
【0014】
図1】本明細書において説明する実施形態によるストレージエッジにおけるメタデータ生成を実行するデータセンタを概略的に示すブロック図である。
【0015】
図2】本明細書において説明する実施形態によるローカルでのメタデータ生成を実行するエッジアプライアンスを概略的に示すブロック図である。
【0016】
図3】本明細書において説明する実施形態によるソリッドステートドライブ(SSD)コントローラにおける格納/検索の組み合わせおよびメタデータ生成のための方法を概略的に示すフロー図である。
【0017】
図4】本明細書において説明する実施形態によるSSDを概略的に示すブロック図である。
【発明を実施するための形態】
【0018】
本明細書において説明する実施形態は、データ処理システムにおいて、メディアオブジェクト用のメタデータを生成し、そのようなメタデータを格納および使用するための改善された方法およびシステムを提供する。
【0019】
いくつかの実施形態において、データ処理システムは、メディアオブジェクトに含まれる大量のコンテンツデータを格納および解析するために用いられる。オブジェクト解析用途のいくつかの非限定的な例は、セキュリティカメラの動画映像内の対象人物または他のオブジェクトの識別と、ストリーミングされた動画への広告(「ad」)のカスタマイズ済みの挿入と、自律走行車両からのデータの解析と、ChatBotボイスコールデータベースにおける呼び出しおよび応答の品質の解析と、テキスト文書および/またはテキストメッセージデータベースの解析と、雰囲気検出と、動画ファイルまたはボイスコール内のシーン識別と、監視カメラ映像内の人物またはオブジェクトの識別と、監視カメラ映像内で行われている動作のタイプの識別と、記録物内の音声または音タイプの識別と、会話中に用いられている表現および/または応答の分類と、自動車用センサデータの解析と、運転応答と、その他多くとを含む。
【0020】
メディアオブジェクトの例は、動画、録音物、静止画像、テキストメッセージおよび電子メールなどのテキストオブジェクト、自動車用センサおよびモノのインターネット(IoT)センサなどの様々なタイプのセンサから取得されるデータ、データベースオブジェクト、および/または任意の他の適切なオブジェクトを含む。メディアオブジェクトは、本明細書において、簡潔さのために単に「オブジェクト」とも称される。
【0021】
典型的には、システムは、メディアオブジェクト用のメタデータを生成し、当該メタデータに基づいて、所望の解析を実行するか、または動作を実行する。ad挿入用のシステムでは、例えば、システムは、典型的には、ストリーミングされた動画の各々を解析し、動画をシーンへ分割し、各シーンとシーンにおける人および/またはオブジェクトに関連付けられた感情を推定し、シーンにおける音声の文脈を識別し、推定したシーンの感情および他の情報を動画に関連付けられたメタデータとして格納するであろう。このメタデータに基づいて、次に、システムは、所与のadを動画のどこに挿入するかを、当該adの影響を最大化すべく選択できる。
【0022】
完全に異なる分野における別の例として、データ処理システムは、自律走行車のカメラおよび他のセンサにより取得されるデータのオフラインでの解析のために用いられる。この例において、システムは、車用カメラにより取得される動画および/または他の車用センサの出力をスキャンし、AIモデルにより対象物として予め分類されるイベントを識別し、それらをメタデータとしてタグ付けし得る。次に、システムは、メタデータを用いて、識別したイベントを調査できる。
【0023】
例示的な実施形態において、自動車用システムでは、極めて大量のセンサデータが生成される。ネットワークに周期的に接続される車両のストレージ側で、メタデータが生成される。メタデータは、関連センサデータのうち、車両内のストレージデバイスに少なくとも一時的に格納されるかまたは破棄される部分を選択するために用いられる。次に、メタデータは、選択された関連オブジェクトと共に、セントラルプロセッサへのネットワーク接続を介して周期的にアップロードされ、当該セントラルプロセッサにおいて、メタデータオブジェクトが解析され、例えば、自律走行車両の挙動の改善、または車両のユーザに伝達されるターゲット特定型広告の決定といった様々な目的で適用され得る。
【0024】
多くの場合、メディアオブジェクトは、構造化されていない。この文脈において、「構造化されていないオブジェクト」という用語は、オブジェクトのメディアコンテンツ(例えば、テキストコンテンツ、オーディオコンテンツ、画像コンテンツまたは動画コンテンツ)が、未処理の形態で提供され、固定フィールドフォーマットに従って前もって編成されていないことを意味する。典型的には、構造化されていないオブジェクトは、フレーム毎の任意の態様のコンテンツまたは他のコンテンツ部分を定義するメタデータとアプリオリでタグ付けされていない。典型的には、構造化されていないデータは、非トランザクション型であり、そのフォーマットは、リレーショナルデータベーススキーマに容易に準拠しない。
【0025】
メタデータは、ほぼ常に構造化されていないメディアオブジェクトから様々な態様で生成され得る。可能性の1つが、人工知能(AI)モデル、例えば、ニューラルネットワークを用いることである。典型的な実装において、AIモデルは、「訓練セット」-多数のメディアオブジェクトおよび正確であることが既知である対応するメタデータを用いて訓練される。次に、訓練されたモデルは、他のメディアオブジェクト用のメタデータを生成するために適用される。予め訓練されたAIモデルを受信し、それをオブジェクトのメタデータの計算のために用いるソフトウェアモジュールまたはハードウェアモジュールは、本明細書において、「AI推論エンジン」と称される。いくつかの実装において、いくつかの異なるAIモデルが、構造化されていないメディアオブジェクトまたは部分的に構造化されたメディアオブジェクトに適用される。
【0026】
本明細書において説明する実施形態は、ストレージと処理デバイスとの間のネットワークを通じて非常に多くのメディアオブジェクトデータを転送することが従来必要とされている1つの一元化された位置においてではなく、オブジェクトが格納される位置に近いストレージエッジにおいてこのタスクを実行することにより、メタデータ生成処理を劇的に改善する。この文脈において、「ストレージエッジに」という用語は、ネットワークのホスト側とは反対のネットワークのストレージデバイス側に位置する1または複数のプロセッサにおけるを意味する。言い換えると、ストレージエッジにおけるプロセッサは、ホストと通信すべく情報をネットワークにわたって送信および/または受信する必要があるが、ストレージデバイスと通信すべく情報をネットワークにわたって送信および/または受信する必要はない。以下で詳述するストレージエッジプロセッサの非限定的な例は、ソリッドステートドライブ(SSD)コントローラと、ストレージアレイコントローラ(アグリゲータとも称される)内のプロセッサと、自律走行車両などの接続されたストレージエッジアプライアンス内のプロセッサとを含む。
【0027】
典型的な実施形態において、データ処理システムは、メディアオブジェクトを解析する1または複数のホストサーバ(「ホスト」)と、メディアオブジェクトが格納される1または複数のストレージデバイス(例えば、ソリッドステートドライブ、SSD)とを備える。ホストおよびストレージデバイスは、コンピュータネットワークを介して通信する。各ストレージデバイスは、不揮発性メモリ(NVM)およびコントローラを備える。同様に、1または複数のストレージデバイスの間で格納を集約するデバイスもコントローラを含む。これらのコントローラは、(i)NVMにおけるオブジェクトのローカルでの格納または検索を管理することと、(ii)NVMに格納されているか、または今にも格納されるメディアオブジェクトのコンテンツ特性を定義するメタデータを選択的に計算することとの両方を実行することにより、構造化されていないメディアオブジェクトまたは部分的に構造化されているメディアオブジェクト上のメタデータを計算するためのリソースとして、ストレージエッジにおけるコントローラを活用するように構成される。
【0028】
いくつかの実施形態において、各ストレージデバイスのコントローラは、独自のローカルAI推論エンジンを備える。コントローラは、予め訓練されたAIモデルをホストから受信し、AIモデルをコンパイルし、かつ、コンパイルしたAIモデルをローカルAI推論エンジン上で実行することによりメディアオブジェクト用のメタデータを生成する。
【0029】
いくつかの実施形態において、各ストレージデバイスのコントローラは、ストレージデバイスにローカルに格納されたメディアオブジェクト用に生成されされたメタデータを保持するローカルメタデータデータベースを維持する。様々なストレージデバイスのローカルメタデータデータベースは、任意の所望のオブジェクト解析タスクを実行するために、コンピュータネットワークを介してホストにアクセス可能である。いくつかの実施形態において、メタデータは、メタデータがメディアオブジェクトとは別個に検索され得るように、メディアオブジェクトに関連付けられてであるが、メディアオブジェクトとは別個に格納される。いくつかの実施形態において、メディアオブジェクトおよびそれらのそれぞれのメタデータの格納は、同じストレージデバイスにおいてなされるが、他の実施形態において、メタデータは、メディアオブジェクトとは別個のストレージデバイス、例えば、コンピュータネットワークを介してアクセス可能な遠く離れた位置に格納される。
【0030】
いくつかの実施形態において、ストレージデバイスのコントローラにより、データ格納タスクおよびデータ検索タスクにより高い優先度が与えられ、メタデータの生成により低い優先順位が与えられる。例示的な実施形態において、コントローラは、少なくともいくつかのコントローラリソースがデータ格納タスクおよびデータ検索タスクから解放されるアイドル期間を識別する。コントローラは、そのようなアイドル期間を用いて、メタデータの生成を実行する。この方式では、ストレージデバイスの性能は、コントローラの追加のメタデータ生成タスクによって低下しない。
【0031】
メタデータ計算タスクをホストからストレージデバイスへ委ねることで、開示される技術により、メタデータの計算のためにネットワークにわたってメディアオブジェクトを転送する必要がなくなる。典型的には、全てではないにしてもほとんどのメディアオブジェクトがストレージデバイスの範囲内に留まり、解析のためにホストに提供されるのはメタデータである。メタデータに基づいて、ホストは、どの特定のメディアオブジェクト、またはあったとしてもその部分がネットワークを介して検索される必要があるかを選択できる。そのため、コンピュータネットワークを介したトラフィックオーバーヘッドが大幅に低減される。
【0032】
開示される技術により、レイテンシも低減する。なぜなら、例えば、当該技術が必要とするデータ移動はより少なく、当該技術によって、分散されるメタデータを複数のストレージデバイスコントローラが並行的に生成することが可能になるからである。開示される解決手段は、複数のストレージデバイスにわたって分散される実装に適しているので、高度に拡張可能である。開示される技術は、メタデータ生成の速度を向上させるので、メディアオブジェクトの更新に急速に応答する。
【0033】
図1は、本明細書において説明する実施形態による、ストレージエッジにおけるメタデータ生成を実行する、本例ではデータセンタであるデータ処理システム20を概略的に示すブロック図である。上記で説明したように、システム20は、多数のオブジェクトを格納し、オブジェクト用のメタデータを計算し、かつ、メタデータに基づいてオブジェクトを解析するために用いられる。いくつかの実施形態において、システム20は、複数の異なるタイプのオブジェクトを受信、格納および解析する。
【0034】
図1の実施形態において、データ処理システム20は、コンピュータネットワーク28を介して通信する1または複数のホストサーバ24を備える。ホストサーバ24は、本明細書において、簡潔さのために単に「ホスト」とも称される。コンピュータネットワーク28は、任意の適切なタイプのネットワーク、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、クラウドネットワーク、データセンタネットワーク等を備え得る。実施形態において、システム20は、格納および解析されるメディアオブジェクトを生成する1または複数のメディア生成器30を備える。
【0035】
システム20は、オブジェクト、メタデータおよび他の関連データを格納するためにホスト24により用いられるリモートストレージラック32をさらに備える。いくつかの実施形態において、ストレージラック32は、ネットワーク28と通信するストレージエリアネットワーク(SAN)の一部である。ホスト24は、データを格納および検索するために、ネットワーク28を介してストレージラック32と通信する。
【0036】
図1の例において、ストレージラック32は、オールフラッシュアレイ(AFA)と称される複数のストレージユニット36を備える(代替的な実施形態では、必ずしもフラッシュベースではない任意の他の適切なタイプのストレージユニットおよび任意の他の適切なタイプのストレージデバイスが用いられ得る)。トップオブラック(TOR)スイッチ40は、ネットワーク28を介して、AFA36とホスト24との間の通信を管理する。本例において、その様々なコンポーネントを含むストレージラック32は、システム20の「ストレージエッジに」位置しているとみなされる。
【0037】
図1の左下における挿入図は、実施形態におけるAFA36の内部構造を示す。見てのとおり、AFA36は、データ(例えば、オブジェクトおよびメタデータ)が格納される複数のソリッドステートドライブ(SSD)44を備える。AFA36は、データ(例えば、メディアオブジェクト)の格納を管理するように構成されたストレージコントローラ50を備える。ストレージコントローラ50は、本明細書において、アグリゲーションプロセッサまたはアグリゲータとも称される。AFA36は、適切なネットワークケーブル42を介してTORスイッチ40と通信するように構成されたスイッチ48をさらに備える。
【0038】
いくつかの実施形態において、スイッチ48は、例えば不揮発性メモリエクスプレス(NVMe)プロトコルを用いることにより、共通ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)バスを介してSSD44と通信する。他の実施形態において、ホスト24は、Ethernet(登録商標)を用いて、例えばNVMe-over-fabricsプロトコルを用いて、スイッチ48を介してSSD44と通信する。さらに代替的に、他の適切なプロトコルが用いられ得る。スイッチ48とTORスイッチ40との間の通信は、典型的には、Ethernetを用いて行われる。実施形態において、必ずしもではないが、AFA36は、図示されていない、TORスイッチ40と通信するための中央処理ユニット(CPU)および/またはネットワークインタフェースコントローラ(NIC)を備える。
【0039】
図の右下における挿入図は、本明細書において説明する実施形態によるSSD44の内部構造を示す。本実施形態において、各SSD44は、例えばNANDフラッシュメモリといった複数のフラッシュメモリデバイス52と、SSDコントローラ56とを備える。SSDコントローラ56は、フラッシュデバイス52と通信するためのメモリインタフェース60と、(スイッチ48およびTORスイッチ40を介して)ホスト24と通信するためのホストインタフェース68と、プロセッサ64とを備える。ホストインタフェース68は、任意の適切なストレージプロトコル、例えば、不揮発性メモリエクスプレス(NVMe)またはシリアルアドバンストテクノロジアタッチメント(SATA)を用いて、ホスト24と通信し得る。
【0040】
以下で詳細に説明するように、プロセッサ64は、格納/検索タスクおよびメタデータ計算タスクの両方を実行する。メタデータ計算タスクの非限定的な例は、オブジェクト、アクティビティ、シーン特性、およびメディアオブジェクト内のコンテンツの他の特徴の識別、記述および/またはタグ付けを含む。さらに他の実施形態において、メタデータ計算タスクは、ストレージコントローラ(アグリゲータ)50により実行される。
【0041】
実施形態において、プロセッサ64は、フラッシュ管理モジュール72および人工知能(AI)推論エンジン76を備える。フラッシュ管理モジュール72は、フラッシュデバイス52においてデータ(例えば、オブジェクトおよびメタデータ)を格納および検索するように構成される。フラッシュ管理モジュール72のタスクは、「フラッシュ変換層」(FTL)とも称される。以下で説明するように、AI推論エンジン76は、メディアオブジェクト用のメタデータを計算するように構成される。実施形態において、SSDコントローラ56は、(i)メディアオブジェクト80と、(ii)メディアオブジェクト80のメタデータを保持するメタデータデータベース84とをフラッシュデバイス52に格納する。
【0042】
図1のSSD構成が非限定的な例示的構成であること、および代替的な実施形態において任意の他の適切なSSDコントローラが用いられ得ることに留意されたい。例えば、適切なファブリックを介して互いに通信する複数の集積回路(IC)をSSDコントローラが備える代替的な実施形態を以下で図4において説明する。
【0043】
図2は、本明細書において説明する実施形態による、エッジアプライアンス94がローカルでのメタデータ生成を実行するデータ処理システム90を概略的に示すブロック図である。実施形態において、エッジアプライアンス94は、例えば、自律走行車、監視ボックス、IoTデバイスまたは任意の他の適切なタイプのエッジデバイスを備える。
【0044】
実施形態において、エッジアプライアンス94は、本例ではインターネットであるコンピュータネットワークを介して、クラウドベースデータセンタ102と通信する。データセンタ102は、1または複数のホスト(図示されていない)を備える。エッジアプライアンス94は、中央処理ユニット(CPU)クラスタ106、ローカルメモリ110(典型的には、ランダムアクセスメモリ(RAM)または他の揮発性メモリ)およびSSD114を備える。実施形態におけるSSD114の内部構造は、この図の右側における挿入図に示されている。SSD114の構造は、図1のSSD44の構造と同様である。
【0045】
図3は、本明細書において説明する実施形態による、SSDコントローラ56により実行される格納/検索の組み合わせおよびメタデータ生成のための方法を概略的に示すフロー図である。SSDコントローラ56のプロセッサ64内のフラッシュ管理モジュール72により実行される格納/検索処理120が、この図の左側に示されている。SSDコントローラ56のプロセッサ64内のAI推論エンジン76により実行されるメタデータ生成処理124が、右側に示されている。
【0046】
オブジェクト格納/検索処理は、コマンド受信オペレーション128において、プロセッサ64がホストインタフェース68を介してホスト24から1または複数の格納/検索コマンドを受信することで始まる。格納/検索コマンドは、例えば、1または複数のメディアオブジェクトを読み取り、書き込み、修正し、または削除するためのコマンドを含み得る。コマンド実行オペレーション132において、フラッシュ管理モジュール72は、メモリインタフェース60を介して、フラッシュデバイス52内のコマンドを実行する。
【0047】
メタデータ生成処理は、モデル受信オペレーション136において、プロセッサ64がホストインタフェース68を介してホスト24から予め訓練されたAIモデルを受信することで始まる。コンパイルオペレーション140において、プロセッサ64は、AIモデルをコンパイルし、コンパイルしたモデルを用いてAI推論エンジン76を構成する。
【0048】
オブジェクト取得オペレーション144において、AI推論エンジンは、フラッシュデバイス52に格納される(すなわち、オブジェクト80の中からのもの)か、またはフラッシュデバイス52への格納のためにネットワーク28を介して受信されるメディアオブジェクトを選択する。言い換えると、メタデータは、既にフラッシュデバイス52に格納されているメディアオブジェクトと、フラッシュデバイス52に格納される前にオンザフライで傍受されるオブジェクトとの両方のために生成され得る。
【0049】
アイドル期間識別オペレーション148において、プロセッサ64は、プロセッサ64の少なくともいくつかのリソースが格納/検索コマンドの処理から解放されているかどうかをチェックする。ない場合、メタデータ計算は、実行されない。アイドル期間が識別された場合(または代替的に、ホストにより、解析タスクが高優先順位タスクとして定義された場合)、プロセッサ64は、メタデータ計算オペレーション152において、AI推論エンジン76を用いて、選択したメディアオブジェクト用のメタデータを計算する。AI推論エンジン76は、オペレーション136において提供され、オペレーション140においてコンパイルされたAIモデルを用いてメタデータを計算する。
【0050】
データベース更新オペレーション156において、プロセッサ64は、選択したオブジェクトのメタデータをローカルメタデータデータベース84に追加する(代替的な実施形態では、メタデータデータベースは、必ずしもローカルではない。実施形態において、プロセッサ64は、メタデータをリモートストレージ位置へ送信する。オブジェクトデータは、少なくとも一時的にローカルに格納される)。次に、方法は、メタデータ計算のための次のメディアオブジェクトを選択するために、上記オペレーション144にループバックする。
【0051】
図3の方法のフローは、概念の明確性のためにのみ示される例示的なフローである。代替的な実施形態において、SSDコントローラ56によるオブジェクト格納/検索の組み合わせおよびメタデータ計算のために、任意の他の適切な方法が用いられ得る。
【0052】
様々なSSD44のローカルデータベース84内のメタデータは、ホスト24による使用のためにアクセス可能である。いくつかの実施形態において、ホスト24は、メタデータ、および場合によっては関連オブジェクトまたはそれらの一部をSSD44から読み取る。代替的な実施形態において、SSDコントローラ56のプロセッサ64は、特定のメタデータの要求をホスト24から受信し、これに応答して、要求しているホストへ要求されたメタデータを送信する。いくつかの実施形態において、要求されたメタデータに加え、プロセッサ64は、1または複数の関連メディアオブジェクトまたはそれらの一部も、要求しているホストへ送信する。他の実施形態において、プロセッサ64は、メタデータのいくつかまたは全てさえ事前に、すなわち、ホストから何らかの要求があるかどうかにかかわらず、ホスト24へ送信する。実施形態において、ホスト24は、メタデータを解析し、メタデータの解析結果に基づいて、メディアオブジェクトの選択されたセグメントを要求する。
【0053】
いくつかの実施形態において、ホスト24の解析タスクは、異なるSSD44の複数のメタデータデータベース84からのメタデータの使用を必要とする。そのような実施形態において、ホストは、典型的には、複数のSSDから関連メタデータを取得し、必要におうじて、当該メタデータを統合する。
【0054】
いくつかの実施形態において、格納用のAIモデルおよびオブジェクトが、同じホスト24から受信される。他の実施形態において、AIモデルと、格納用のオブジェクトとが、異なるホスト24から受信される。
【0055】
いくつかの実施形態において、処理120および124が同時に実行される。いくつかの実施形態において、プロセッサ64は、メタデータ生成(処理124)より高い優先度をオブジェクトの格納/検索(処理120)に与える。上述のように、いくつかの実施形態において、AI推論エンジン76は、プロセッサ64の少なくともいくつかのリソースがオブジェクトの格納/検索の管理から解放されるアイドル期間中にメタデータを生成する。例示的な実施形態において、プロセッサ64は、そのようなアイドル期間をリアルタイムで識別し、識別したアイドル期間中にメタデータの生成を開始または再開する。プロセッサ64は、識別したアイドル期間外に、メタデータの生成を中断する。実施形態において、メタデータの生成が中断されている間(アイドル期間外)、プロセッサ64は、関連メタデータが生成されるまで、未処理のメディアオブジェクトを揮発性メモリにバッファする。代替的に、プロセッサ64は、メタデータ生成よりも格納/検索に優先度を与えるために、任意の他の適切な優先順位付けスキームを用い得る。
【0056】
図4は、本明細書において説明すr代替的な実施形態によるSSD160を概略的に示すブロック図である。本例において、SSD160は、複数のフラッシュデバイス52、例えばNANDフラッシュメモリと、SSDコントローラ164と、(任意選択的に)ダイナミックRAM(DRAM)168とを備える。SSDコントローラ164は、ホストインタフェース172と、メディアコントローラ176と、スタティックRAM(SRAM)180と、1または複数のCPU184と、DRAMコントローラ188と、CPU192を任意選択的に有するAI推論エンジン76とを備える。
【0057】
ホストインタフェース172は、例えば、NVMe、SATAプロトコルまたは他の適切なストレージプロトコルに従って、ホスト24と通信する。メディアコントローラ176は、図1および図2のフラッシュ管理モジュール72と同様にフラッシュデバイス52内のデータの格納および検索を管理するプロセッサである。DRAMコントローラ188は、DRAM168内のデータの格納を管理する。SSDコントローラ164の様々な要素は、典型的には適切なデータバスと制御バスとを備えるファブリック196を介して互いに通信する。
【0058】
他の特徴のうち、図4の例は、いくつかの実施形態において、SSDコントローラ(または他のストレージデバイスコントローラ)が、データ格納/検索(例えば、メディアオブジェクトの格納/検索)およびメタデータ計算を共同で実行する複数のプロセッサを備えることを示す。複数のプロセッサは、単一のデバイスとしての単一のパッケージにパッケージ化されているか、または複数の別個のパッケージにパッケージ化されている1または複数の集積回路(IC)内に存在し得る。
【0059】
上述の図1図2および図4に示されるシステムおよびストレージデバイスの構成は、例示的な構成であり、概念の明確性のためにのみ選択されている。図1図2および図4は、ストレージデバイスのコントローラ(例えば、SSD内のSSDコントローラ)がコンピュータネットワークを介して1または複数のリモートホストと通信し、ストレージデバイスのNVMとローカルに通信する例示的な構成を示す。コントローラは、(i)NVM内のメディアオブジェクトのローカルでの格納または検索の管理、および(ii)NVMに格納されているか、または格納されるメディアオブジェクトのNVMメタデータにおける計算および格納というデュアル機能を共同で実行する1または複数のプロセッサを備える。代替的な実施形態において、任意の他の適切なシステムおよび/またはストレージデバイス構成が用いられ得る。開示される技術を理解するために必須ではない要素は、明瞭性のために、図から省略されている。
【0060】
代替的な実施形態において、開示される技術は、他の適切なタイプのストレージデバイス、例えば、記憶媒体が磁気型であるハードディスクドライブ(HDD)と共に用いられ得る。
【0061】
データ処理システム20および90の様々な要素と、例えばSSD44およびSSD114ならびにSSD160およびそのコンポーネント(例えば、AI推論エンジン76)といったそれらのコンポーネントとの様々な要素は、専用のハードウェアまたはファームウェアを用いて、例えば、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)内のハードワイヤードロジックまたはプログラマブルロジックなどを用いて、ソフトウェアを用いて、またはハードウェア要素とソフトウェア要素との組み合わせを用いて実装され得る。
【0062】
典型的には、SSDコントローラ56のプロセッサ64、CPU184および/またはCPU192は、本明細書において説明する機能(例えば、フラッシュ管理およびメタデータ計算)を実行するためにソフトウェア内でプログラミングされるプログラマブルプロセッサを備える。ソフトウェアは、例えばネットワークを介して電子形式でプロセッサにダウンロードされてもよく、代替的にまたは追加的に、磁気メモリ、光メモリまたは電子メモリなどの非一時的な有形の媒体に提供および/または格納されてもよい。
【0063】
本明細書において説明した実施形態は主に、メディア処理に対処するが、本明細書において説明した方法およびシステムは、人の挙動の解析など、他の用途にも用いられ得る。
【0064】
以上で説明した実施形態は例として引用されていること、および、本発明は以上で具体的に示され説明されたものに限定されないことに留意されたい。むしろ、本発明の範囲は、以上で説明した様々な特徴の組み合わせおよび部分的組み合わせの両方、ならびに、前述の説明を読んだときに当業者が想到するであろう、先行技術において開示されていないそれらの変形および修正を含む。参照により本特許出願に組み込まれた文書は、本願の不可欠な一部とみなされる。ただし、本明細書において明示的または黙示的になされた定義と矛盾する方式で、これらの組み込まれた文書において任意の用語が定義される限りにおいては、本明細書における定義のみが考慮されるべきである。
図1
図2
図3
図4