WO2020026036A1 - Metadata generation at the storage edge - Google Patents
Metadata generation at the storage edge Download PDFInfo
- Publication number
- WO2020026036A1 WO2020026036A1 PCT/IB2019/050776 IB2019050776W WO2020026036A1 WO 2020026036 A1 WO2020026036 A1 WO 2020026036A1 IB 2019050776 W IB2019050776 W IB 2019050776W WO 2020026036 A1 WO2020026036 A1 WO 2020026036A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- metadata
- processors
- volatile memory
- hosts
- media objects
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/383—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/387—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/483—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
Definitions
- the present disclosure relates generally to processing of media objects, and particularly to methods and systems for generation of metadata for media objects.
- An embodiment that is described herein provides a controller for use in a storage device of a data processing system.
- the controller includes a host interface, a memory interface and one or more processors.
- the host interface is configured to communicate over a computer network with one or more remote hosts of a data processing system.
- the memory interface is configured to communicate locally with a non-volatile memory of the storage device.
- the one or more processors are configured to manage local storage or retrieval of media objects at the non-volatile memory, and to selectively compute metadata that defines content characteristics of media objects that are stored, or that are to be stored, in the non-volatile memory.
- the one or more processors are configured to generate the metadata for a plurality of unstructured media objects that that are stored, or that are to be stored, in the non-volatile memory.
- the one or more processors are configured to receive from the one or more hosts, over the computer network, a model that specifies extraction of the metadata from the media objects, to generate the metadata based on the received model, and to store the generated metadata locally in the non-volatile memory, for use by the one or more hosts.
- the one or more processors are configured to receive, as the model, a pre-trained Artificial Intelligence (AI) model, and to generate the metadata by applying an AI inference engine to the AI model.
- AI Artificial Intelligence
- the one or more processors are configured to assign a first priority to management of the storage or retrieval of the objects at the non-volatile memory, and to assign a second priority, lower than the first priority, to generation of the metadata.
- the one or more processors are configured to generate the metadata during idle periods during which at least some resources of the one or more processors are free from managing storage of the objects.
- the one or more processors are configured to identify the idle periods, to initiate or resume generation of the metadata during the identified idle periods, and to suspend the generation of the metadata outside the identified idle periods.
- the one or more processors are configured to make the metadata accessible to the one or more hosts, the one or more hosts being situated at a location that is remote from the processor, over the computer network.
- the one or more processors are configured to make the metadata accessible by transmitting the metadata, but less than all of the media objects from which the metadata was generated, over the computer network.
- the one or more processors are configured to send one or more of the media objects over the computer network in response to a request from one or more of the hosts.
- the storage device includes a Solid State Drive (SSD), and the non-volatile memory includes one or more Flash memory devices.
- the storage device includes a Hard Disk Drive (HDD), and the non-volatile memory includes one or more magnetic disks.
- SSD Solid State Drive
- HDD Hard Disk Drive
- a method for generating metadata that defines content characteristics of media objects includes, by a host interface coupled to a storage device situated in a data processing center, communicating over a computer network with one or more remote hosts of the data processing center, and by a memory interface of the storage device, communicating locally with a non-volatile memory of the storage device.
- Local storage or retrieval of media objects at the non-volatile memory is managed by one or more processors of storage device.
- Metadata which defines content characteristics of media objects that are stored, or that are to be stored, in the non-volatile memory, is selectively computed by the one or more processors of the storage device.
- a system including multiple storage devices and one or more hosts.
- Ones of the storage devices respectively includes a non-volatile memory and a controller.
- the controller is configured to manage local storage or retrieval of objects at the non-volatile memory, and to selectively compute metadata that defines content characteristics of media objects that are stored, or that are to be stored, in the non-volatile memory.
- the one or more hosts are configured to retrieve the metadata generated by the multiple storage devices, and to perform a data processing operation on the media objects using the retrieved metadata.
- FIG. 1 is a block diagram that schematically illustrates a data center that performs metadata generation at the storage edge, in accordance with an embodiment that is described herein;
- FIG. 2 is a block diagram that schematically illustrates an edge appliance that performs local metadata generation, in accordance with an embodiment that is described herein;
- FIG. 3 is a flow chart that schematically illustrates a method for combined storage/retrieval and metadata generation in a Solid State Drive (SSD) controller, in accordance with an embodiment that is described herein; and
- Fig. 4 is a block diagram that schematically illustrates an SSD, in accordance with an embodiment that is described herein.
- Embodiments that are described herein provide improved methods and systems for generating metadata for media objects, and for storing and using such metadata, in data processing systems.
- a data processing system is used for storing and analyzing a large volume of content data contained in media objects.
- object analysis applications include identification of persons of interest or other objects in video footage of security cameras, customized insertion of advertisements (“ads”) into streamed videos, analytics of data from autonomous vehicles, analytics of call and response quality in a ChatBot Voice calls data base, text documents and/or text messages database analysis, mood detection, scene identification within a video file or Voice call, identification of persons or objects in surveillance footage, identification of types of actions occurring in surveillance footage, identification of voices or types of sounds in recordings, classification of phrases and/or responses used during conversation, analysis of automotive sensor data and driving responses, and many others.
- Examples of media objects include videos, sound recordings, still images, textual objects such as text messages and e-mails, data obtained from various types of sensors such as automotive sensors and Intemet-of-Things (IoT) sensors, database objects, and/or any other suitable objects.
- Media objects are also referred to herein simply as“objects” for brevity.
- the system generates metadata for the media objects and performs the desired analysis, or executes an action, based on the metadata.
- the system would typically analyze each streamed video, divide the video into scenes, estimate a sentiment associated with each scene, people and/or objects in the scene, identify the context of speech in the scene, and store the estimated scene-sentiments and other information as metadata associated with the video. Based on this metadata, the system can then choose where in the video to insert a given ad in order to maximize the ad’s impact.
- a data processing system is used for off-line analysis of data acquired by cameras and other sensors of an autonomous car.
- the system may scan the video acquired by the car cameras and/or outputs of other car sensors, identify events that are pre-classified by the AI model as being of interest, and tag them as metadata. The system can then use the metadata to investigate the identified events.
- Metadata is generated on the storage side of a vehicle that is periodically connected to a network.
- the metadata is used to select portions of relevant sensor data to be at least temporarily stored at a storage device in the vehicle, or discarded.
- Metadata along with selected relevant objects are then periodically uploaded over a network connection to a central processor where the metadata objects are analyzed and can be applied for various purposes such as improving the behavior of autonomous vehicles, or determining targeted advertisements that are to be conveyed to users of the vehicle.
- the media objects are unstructured.
- the term“unstructured object” means that the media content of the object (e.g., textual content, audio content, image content or video content) is provided is raw form and is not organized in advance according to a fixed field format.
- an unstructured object is not tagged a- priori with metadata that defines any aspects of the content per frame or other content portion.
- unstructured data is non-transactional, and its format does not readily conform to a relational database schema.
- Metadata can be generated from media objects, which are almost always unstructured, in various ways.
- An Artificial Intelligence (AI) model e.g., a neural network.
- an AI model is trained using a“training set” - a body of media objects and corresponding metadata that is known to be accurate. The trained model is then applied to generate metadata for other media objects.
- a software or hardware module that receives a pre-trained AI model and uses it to compute metadata of objects is referred to herein as an“AI inference engine.”
- an“AI inference engine” A software or hardware module that receives a pre-trained AI model and uses it to compute metadata of objects.
- several different AI models will be applied to unstructured or partially structured media objects.
- the embodiments described herein dramatically improve the metadata generation process, by performing this task at the storage edge, close to the locations at which the objects are stored, rather than at one centralized location which conventionally requires the transport of a very large body of media object data through a network between storage and processing devices.
- the term“at the storage edge” means at a processor or processors that are located on the storage-device side of the network, as opposed to the host- side of the network.
- a processor at the storage edge needs to send and/or receive information across the network in order to communicate with the hosts, but does not need to send and/or receive information across the network in order to communicate with the storage device.
- Non-limiting examples of storage-edge processors include Solid State Drive (SSD) controllers, processors is storage-array controllers (also referred to as aggregators), and processors in connected storage-edge appliances such as autonomous vehicles.
- SSD Solid State Drive
- the data processing system comprises one or more host servers (“hosts”) that analyze media objects, and one or more storage devices (e.g., Solid State Drives - SSDs) in which the media objects are stored.
- hosts host servers
- storage devices e.g., Solid State Drives - SSDs
- the hosts and the storage devices communicate over a computer network.
- Each storage device comprises a Non-Volatile Memory (NVM) and a controller.
- NVM Non-Volatile Memory
- controller devices that aggregate storage among one or more storage devices also include a controller.
- controllers are configured to both (i) manage local storage or retrieval of objects in the NVM, and (ii) selectively compute metadata that defines content characteristics of the media objects that are stored, or about to be stored, in the NVM, thereby leveraging controllers at the storage edge as a resource for computing metadata on unstructured or partially structured media objects.
- the controller of each storage device comprises its own local AI inference engine.
- the controller receives from the hosts a pre-trained AI model, compiles the AI model, and generates metadata for media objects by running the compiled AI model on the local AI inference engine.
- the controller of each storage device maintains a local metadata database, which holds the metadata generated for the media objects stored locally on that storage device.
- the local metadata databases of the various storage devices are accessible to the hosts over the computer network, for performing any desired object analysis task.
- metadata is stored in association with, but separately from, the media objects such that metadata can be retrieved separately from the media objects.
- storage of the media objects and their respective metadata is in the same storage device, but in other embodiments the metadata is stored in a separate storage device from the media objects, for instance at a remote location that is accessible over a computer network.
- the controller of a storage device gives higher priority to data storage and retrieval tasks, and lower priority to metadata generation.
- the controller identifies idle periods, in which at least some controller resources are free of data storage and retrieval tasks.
- the controller uses such idle periods to perform metadata generation. In this manner, the performance of the storage device is not degraded by the additional metadata generation task of the controller.
- the disclosed techniques eliminate the need to transport media objects across the network for the sake of computing the metadata.
- most if not all of the media objects remain within the boundaries of the storage devices, and it is the metadata that is provided to the hosts for analysis.
- the hosts are able to select which specific media object, or portions thereof, if at all, need to be retrieved over the network. As such, traffic overhead over the computer network is reduced considerably.
- the disclosed techniques also reduce latency, e.g., because they require less data movement and since they enable distributed metadata generation in parallel by multiple storage-device controllers. Since the disclosed solution lends itself to distributed implementation across multiple storage devices, the solution is highly scalable. Since the disclosed technique improves metadata generation speed, it responds rapidly to updates of media objects.
- Fig. l is a block diagram that schematically illustrates a data processing system 20, in the present example a data center, which performs metadata generation at the storage edge, in accordance with an embodiment that is described herein.
- System 20 is used for storing a large number of objects, calculating metadata for the objects, and analyzing the objects based on the metadata, as explained above.
- system 20 receives, stores and analyzes objects of multiple different types.
- data processing system 20 comprises one or more host servers 24 that communicate over a computer network 28.
- Host servers 24 are also referred to herein simply as“hosts” for brevity.
- Computer network 28 may comprise any suitable type of network, e.g., a Local Area Network (LAN), Wide Area Network (WAN), cloud network, data center network or the like.
- system 20 comprises one or more media generators 30 that generate the media objects being stored and analyzed.
- System 20 further comprises a remote storage rack 32, which is used by hosts 24 for storing objects, metadata and other relevant data.
- storage rack 32 is part of a Storage Area Network (SAN) that communicates with network 28.
- Hosts 24 communicate with storage rack 32 over network 28 for storing and retrieving data.
- SAN Storage Area Network
- storage rack 32 comprises multiple storage units referred to as All-Flash Arrays (AFAs) 36.
- AFAs All-Flash Arrays
- a Top-Of-Rack (TOR) switch 40 manages the communication between AFAs 36 and hosts 24 over network 28.
- storage rack 32 including its various components is regarded as located“at the storage edge” of system 20.
- AFA 36 comprises multiple Solid State Drives (SSDs) 44 in which the data (e.g., objects and metadata) is stored.
- AFA 36 comprises a storage controller 50, which is configured to manage storage of data (e.g., media objects). Storage controller 50 is also referred to herein as an aggregation processor or aggregator.
- AFA 36 further comprises a switch 48 that is configured to communicate with TOR switch 40 over a suitable network cable 42.
- switch 48 communicates with SSDs 44 over a common Peripheral Component Interconnect Express (PCIe) bus, e.g., using the Non-Volatile Memory Express (NVMe) protocol.
- PCIe Peripheral Component Interconnect Express
- hosts 24 communicate with SSDs 44 via switch 48 using Ethernet, e.g., using the NVMe-over-fabrics protocol.
- Ethernet e.g., using the NVMe-over-fabrics protocol.
- other suitable protocols can be used.
- Communication between switch 48 and TOR switch 40 is typically conducted using Ethernet.
- AFA 36 comprises a Central Processor ETnit (CPET) and/or Network Interface Controller (NIC), not shown in the figure, for communicating with TOR switch 40.
- CPET Central Processor ETnit
- NIC Network Interface Controller
- each SSD 44 comprises a plurality of Flash memory devices 52, e.g., NAND Flash memories, and an SSD controller 56.
- SSD controller 56 comprises a memory interface 60 for communicating with Flash devices 52, a host interface 68 for communicating with hosts 24 (via switch 48 and TOR switch 40), and a processor 64.
- Host interface 68 may communicate with hosts 24 using any suitable storage protocol, for example Non-Volatile Memory Express (NVMe) or Serial Advanced Technology Attachment (SATA).
- NVMe Non-Volatile Memory Express
- SATA Serial Advanced Technology Attachment
- processor 64 performs both storage/retrieval tasks and metadata computation tasks.
- metadata computation tasks include identification, description and/or tagging of objects, activities, scene characteristics and other features of content within media objects.
- metadata computation tasks are performed by storage controller (aggregator) 50.
- processor 64 comprises a Flash management module 72 and an Artificial Intelligence (AI) inference engine 76.
- Flash management module 72 is configured to store and retrieve data (e.g., objects and metadata) in Flash devices 52.
- the tasks of Flash management module 72 are also referred to as“Flash Translation Layer” (FTL).
- AI inference engine 76 is configured to compute metadata for media objects, as explained below.
- SSD controller 56 stores in Flash devices 52 (i) media objects 80 and (ii) a metadata database 84 that holds the metadata of media objects 80.
- the SSD configuration of Fig. 1 is a non-limiting example configuration, and that any other suitable SSD controller can be used in alternative embodiments.
- the SSD controller comprises multiple Integrated Circuits (ICs) that communicate with one another via a suitable fabric, is described in Fig. 4 below.
- FIG. 2 is a block diagram that schematically illustrates a data processing system 90 in which an edge appliance 94 performs local metadata generation, in accordance with an embodiment that is described herein.
- Edge appliance 94 comprises, for example, an autonomous car, a surveillance box, an IoT device, or any other suitable type of edge device, in an embodiment.
- edge appliance 94 communicates with a cloud-based data center 102 via a computer network, in the present example the Internet.
- Data center 102 comprises one or more hosts (not shown).
- Edge appliance 94 comprises a Central Processing Linit (CPLi) cluster 106, a local memory 110 (typically a Random Access Memory (RAM) or other volatile memory), and an SSD 114.
- CPLi Central Processing Linit
- RAM Random Access Memory
- SSD 114 typically a Random Access Memory
- the internal structure of SSD 114 in an embodiment, is shown in an inset on the right-hand side of the figure.
- the structure of SSD 114 is similar to that of SSD 44 of Fig. 1.
- FIG. 3 is a flow chart that schematically illustrates a method for combined storage/retrieval and metadata generation, carried out by SSD controller 56, in accordance with an embodiment that is described herein.
- a storage/retrieval process 120 carried out by Flash management module 72 in processor 64 of SSD controller 56, is depicted on the left-hand side of the figure.
- a metadata generation process 124 carried out by AI inference engine 76 in processor 64 of SSD controller 56, is depicted on the right-hand side.
- the object storage/retrieval process begins with processor 64 receiving one or more storage/retrieval commands from hosts 24, via host interface 68, at a command reception operation 128.
- Storage/retrieval commands may comprise, for example, commands to read, write, modify or delete one or more media objects.
- Flash management module 72 executes the commands in Flash devices 52 via memory interface 60.
- the metadata generation process begins with processor 64 receiving a pre- trained AI model from hosts 24, via host interface 68, at a model reception operation 136.
- processor 64 compiles the AI model and configures AI inference engine 76 with the compiled model.
- AI inference engine selects a media object that is stored in Flash devices 52 (i.e., from among objects 80), or that is received over network 28 for storage in Flash devices 52.
- metadata can be generated both for media objects that are already stored in Flash devices 52 and for objects that are intercepted on- the-fly before they are stored in Flash devices 52.
- processor 64 checks whether at least some resources of processor 64 are free of handling storage/retrieval commands. If not, no metadata computation is performed. If an idle period is identified (or, alternatively, if the analytics task was defined by the host as a high-priority task) processor 64 computes the metadata for the selected media object using AI inference engine 76, at a metadata computation operation 152. AI inference engine 76 computes the metadata using the AI model that was provided at operation 136 and compiled at operation 140.
- processor 64 adds the metadata of the selected object to local metadata database 84.
- the metadata database is not necessarily local.
- processor 64 sends the metadata to a remote storage location, with the object data being stored locally at least temporarily. The method then loops back to operation 144 above, for selecting the next media obj ect for metadata computation.
- Fig. 3 The method flow of Fig. 3 is an example flow that is depicted solely for the sake of conceptual clarity. In alternative embodiments, any other suitable method can be used for combined object storage/retrieval and metadata computation by SSD controller 56.
- the metadata in local databases 84 of the various SSDs 44 is accessible for use by hosts 24.
- a host 24 reads the metadata, and possibly associated objects or parts thereof, from SSD 44.
- processor 64 of SSD controller 56 receives from a host 24 a request for certain metadata, and sends the requested metadata to the requesting host in response.
- processor 64 also sends to the requesting host one or more related media objects, or parts thereof.
- processor 64 sends some or even all of the metadata to hosts 24 proactively, i.e., regardless of any request from the hosts.
- a host 24 analyzes the metadata and requests selected segments of object media based on analysis of the metadata.
- an analysis task of a host 24 requires the use of metadata from multiple metadata databases 84 of different SSDs 44.
- the host typically obtains the relevant metadata from the multiple SSDs, and consolidates the metadata as needed.
- the AI model and the objects for storage are received from the same host 24. In other embodiments, the AI model and the objects for storage are received from different hosts 24.
- processes 120 and 124 are carried out concurrently.
- processor 64 gives higher priority to storage/retrieval of objects (process 120) than to metadata generation (process 124).
- AI inference engine 76 generates the metadata during idle periods during which at least some resources of processor 64 are free from managing the storage/retrieval of objects.
- processor 64 identifies such idle periods in real time, and initiates or resumes metadata generation during the identified idle periods.
- Processor 64 suspends generation of metadata outside the identified idle periods.
- processor 64 buffers unprocessed media objects in volatile memory until the associated metadata is generated.
- processor 64 may use any other suitable prioritization scheme for giving precedence to storage/retrieval over metadata generation.
- Fig. 4 is a block diagram that schematically illustrates an SSD 160, in accordance with an alternative embodiment that is described herein.
- SSD 160 comprises multiple Flash devices 52, e.g., NAND Flash memories, an SSD controller 164 and (optionally) a Dynamic RAM (DRAM) 168.
- SSD controller 164 comprises a host interface 172, a media controller 176, a Static RAM (SRAM) 180, one or more CPUs 184, a DRAM controller 188, and an AI inference engine 76 that optionally comprises a CPU 192.
- SRAM Static RAM
- Host interface 172 communicates with hosts 24, e.g., in accordance with the NVMe, SATA protocol or other suitable storage protocol.
- Media controller 176 is a processor that manages storage and retrieval of data in Flash devices 52, similarly to Flash management module 72 of Figs. 1 and 2.
- DRAM controller 188 manages storage of data in DRAM 168.
- the various elements of SSD controller 164 communicate with one another via a fabric 196, which typically comprises suitable data and control buses.
- the example of Fig. 4 demonstrates that in some embodiments the SSD controller (or other storage device controller) comprises multiple processors that jointly perform data storage/retrieval (e.g., storage/retrieval of media objects) and metadata computation.
- the multiple processors may reside in one or more Integrated Circuits (ICs), packaged in a single package as a single device, or in multiple separate packages.
- ICs Integrated Circuits
- FIGs. 1, 2 and 4 show example configurations in which a controller of a storage device (e.g., an SSD controller in an SSD) communicates over a computer network with one or more remote hosts, and locally with the NVM of the storage device.
- the controller comprises one or more processors that jointly perform a dual function: (i) management of local storage or retrieval of media objects in the NVM, and (ii) compute and store in the NVM metadata of media objects that are stored, or that are to be stored, in the NVM.
- any other suitable system and/or storage-device configuration can be used.
- HDDs Hard Disk Drives
- the various elements of data processing systems 20 and 90, and of their components such as SSDs 44 and 114, as well as SSD 160 and its components, e.g., AI inference engine 76, may be implemented using dedicated hardware or firmware, such as using hard-wired or programmable logic, e.g., in an Application-Specific Integrated Circuit (ASICs) or Field- Programmable Gate Array (FPGA), using software, or using a combination of hardware and software elements.
- ASICs Application-Specific Integrated Circuit
- FPGA Field- Programmable Gate Array
- processor 64 of SSD controller 56, CPU 184 and/or CPU 192 comprise programmable processors, which are programmed in software to carry out the functions described herein (e.g., Flash management and metadata computation).
- the software may be downloaded to the processor in electronic form, over a network, for example, or it may, alternatively or additionally, be provided and/or stored on non-transitory tangible media, such as magnetic, optical, or electronic memory.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP19707121.0A EP3830713A1 (en) | 2018-07-31 | 2019-01-31 | Metadata generation at the storage edge |
| JP2021503769A JP7326667B2 (ja) | 2018-07-31 | 2019-01-31 | ストレージエッジにおけるメタデータ生成 |
| CN201980050454.0A CN112534423B (zh) | 2018-07-31 | 2019-01-31 | 存储边缘处的元数据生成 |
| KR1020217004754A KR102894244B1 (ko) | 2018-07-31 | 2019-01-31 | 스토리지 에지에서의 메타데이터 생성 |
Applications Claiming Priority (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862712823P | 2018-07-31 | 2018-07-31 | |
| US62/712,823 | 2018-07-31 | ||
| US201862714563P | 2018-08-03 | 2018-08-03 | |
| US62/714,563 | 2018-08-03 | ||
| US201862716269P | 2018-08-08 | 2018-08-08 | |
| US62/716,269 | 2018-08-08 | ||
| US201862726852P | 2018-09-04 | 2018-09-04 | |
| US201862726847P | 2018-09-04 | 2018-09-04 | |
| US62/726,847 | 2018-09-04 | ||
| US62/726,852 | 2018-09-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020026036A1 true WO2020026036A1 (en) | 2020-02-06 |
Family
ID=65520347
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2019/050776 Ceased WO2020026036A1 (en) | 2018-07-31 | 2019-01-31 | Metadata generation at the storage edge |
| PCT/IB2019/056442 Ceased WO2020026112A1 (en) | 2018-07-31 | 2019-07-29 | Metadata generation for multiple object types |
| PCT/US2019/044551 Ceased WO2020028594A1 (en) | 2018-07-31 | 2019-07-31 | Storage edge controller with a metadata computational engine |
| PCT/US2019/044558 Ceased WO2020028597A1 (en) | 2018-07-31 | 2019-07-31 | Storage aggregator controller with metadata computation control |
Family Applications After (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2019/056442 Ceased WO2020026112A1 (en) | 2018-07-31 | 2019-07-29 | Metadata generation for multiple object types |
| PCT/US2019/044551 Ceased WO2020028594A1 (en) | 2018-07-31 | 2019-07-31 | Storage edge controller with a metadata computational engine |
| PCT/US2019/044558 Ceased WO2020028597A1 (en) | 2018-07-31 | 2019-07-31 | Storage aggregator controller with metadata computation control |
Country Status (6)
| Country | Link |
|---|---|
| US (7) | US11748418B2 (https=) |
| EP (8) | EP3830713A1 (https=) |
| JP (8) | JP7326667B2 (https=) |
| KR (2) | KR102894244B1 (https=) |
| CN (5) | CN112534423B (https=) |
| WO (4) | WO2020026036A1 (https=) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160041993A1 (en) | 2014-08-05 | 2016-02-11 | Time Warner Cable Enterprises Llc | Apparatus and methods for lightweight transcoding |
| US10375452B2 (en) | 2015-04-14 | 2019-08-06 | Time Warner Cable Enterprises Llc | Apparatus and methods for thumbnail generation |
| US10652594B2 (en) | 2016-07-07 | 2020-05-12 | Time Warner Cable Enterprises Llc | Apparatus and methods for presentation of key frames in encrypted content |
| WO2018033137A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 在视频图像中展示业务对象的方法、装置和电子设备 |
| US10958948B2 (en) * | 2017-08-29 | 2021-03-23 | Charter Communications Operating, Llc | Apparatus and methods for latency reduction in digital content switching operations |
| US10939142B2 (en) | 2018-02-27 | 2021-03-02 | Charter Communications Operating, Llc | Apparatus and methods for content storage, distribution and security within a content distribution network |
| US11748418B2 (en) * | 2018-07-31 | 2023-09-05 | Marvell Asia Pte, Ltd. | Storage aggregator controller with metadata computation control |
| US11863844B2 (en) * | 2019-03-29 | 2024-01-02 | Intel Corporation | On-demand generation and personalization of video content |
| CN111782577B (zh) * | 2019-04-04 | 2023-03-24 | 安徽寒武纪信息科技有限公司 | 数据处理装置及方法以及相关产品 |
| US11768613B2 (en) | 2019-06-25 | 2023-09-26 | Micron Technology, Inc. | Aggregation and virtualization of solid state drives |
| US11513923B2 (en) | 2019-06-25 | 2022-11-29 | Micron Technology, Inc. | Dynamic fail-safe redundancy in aggregated and virtualized solid state drives |
| US10942881B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Parallel operations in aggregated and virtualized solid state drives |
| US11573708B2 (en) * | 2019-06-25 | 2023-02-07 | Micron Technology, Inc. | Fail-safe redundancy in aggregated and virtualized solid state drives |
| US10942846B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Aggregated and virtualized solid state drives accessed via multiple logical address spaces |
| US11055249B2 (en) | 2019-06-25 | 2021-07-06 | Micron Technology, Inc. | Access optimization in aggregated and virtualized solid state drives |
| US11762798B2 (en) | 2019-06-25 | 2023-09-19 | Micron Technology, Inc. | Aggregated and virtualized solid state drives with multiple host interfaces |
| KR102818463B1 (ko) * | 2019-07-25 | 2025-06-10 | 삼성전자주식회사 | 마스터 지능 소자 및 이의 제어 방법 |
| US11388487B2 (en) * | 2019-10-14 | 2022-07-12 | Palantir Technologies Inc. | Systems and methods for generating, analyzing, and storing data snippets |
| US12574627B2 (en) | 2019-10-18 | 2026-03-10 | Meta Platforms Technologies, Llc | Smart cameras enabled by assistant systems |
| US11861674B1 (en) | 2019-10-18 | 2024-01-02 | Meta Platforms Technologies, Llc | Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems |
| US12536126B2 (en) * | 2019-11-13 | 2026-01-27 | Micron Technology, Inc. | Intelligent image sensor stack |
| CN114730324A (zh) | 2019-12-13 | 2022-07-08 | 马维尔亚洲私人有限公司 | 具有有效率的元数据生成和导出的汽车数据处理系统 |
| CN111240743B (zh) * | 2020-01-03 | 2022-06-03 | 格兰菲智能科技有限公司 | 人工智能集成电路 |
| US11216348B2 (en) * | 2020-03-02 | 2022-01-04 | Silicon Motion, Inc. | All flash array server and control method thereof |
| US11321340B1 (en) * | 2020-03-31 | 2022-05-03 | Wells Fargo Bank, N.A. | Metadata extraction from big data sources |
| US11321341B2 (en) * | 2020-05-15 | 2022-05-03 | National Instruments Corporation | Dynamic metadata extraction workflow for measurement data storage |
| WO2021232024A1 (en) * | 2020-05-15 | 2021-11-18 | Rey Bruce | Artificial intelligence-based hybrid raid controller device |
| CN111782886B (zh) * | 2020-06-28 | 2024-08-09 | 杭州海康威视数字技术股份有限公司 | 元数据管理的方法和装置 |
| US11683453B2 (en) * | 2020-08-12 | 2023-06-20 | Nvidia Corporation | Overlaying metadata on video streams on demand for intelligent video analysis |
| KR102893029B1 (ko) | 2020-09-11 | 2025-11-27 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
| KR102863856B1 (ko) | 2020-10-29 | 2025-09-25 | 삼성전자주식회사 | 메모리 확장기, 이종 컴퓨팅 장치, 및 이종 컴퓨팅 장치의 동작 방법 |
| US12561091B2 (en) * | 2021-05-13 | 2026-02-24 | Micron Technology, Inc. | Workload profile data and performance-based memory management |
| US12393830B2 (en) * | 2021-06-15 | 2025-08-19 | Seagate Technology Llc | Deep learning computational storage drive |
| US11483630B1 (en) * | 2021-08-17 | 2022-10-25 | Rovi Guides, Inc. | Systems and methods to generate metadata for content |
| US11829619B2 (en) | 2021-11-09 | 2023-11-28 | Western Digital Technologies, Inc. | Resource usage arbitration in non-volatile memory (NVM) data storage devices with artificial intelligence accelerators |
| KR20240002513A (ko) | 2022-06-29 | 2024-01-05 | 삼성전자주식회사 | 가속기, 스토리지 장치, 및 vr 시스템 |
| US20240012579A1 (en) * | 2022-07-06 | 2024-01-11 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for data placement in a storage device |
| US12461683B2 (en) | 2022-07-06 | 2025-11-04 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for reclaim unit formation and selection in a storage device |
| US12386540B2 (en) | 2022-07-13 | 2025-08-12 | Dell Products Lp | Method and apparatus for edge storage for enterprise applications |
| US11816474B1 (en) * | 2023-05-30 | 2023-11-14 | Winchester Global Trust Company Limited | Systems and methods for generating dynamically updated metadata using real-time artificial intelligence models |
| CN119106145A (zh) * | 2023-06-08 | 2024-12-10 | 华为技术有限公司 | 元数据的生成方法、识别方法及电子设备 |
| US20250348676A1 (en) * | 2024-05-09 | 2025-11-13 | Innovative Solutions Professionals, LLC | Code encapsulation model for unstructured data analysis |
| US12493427B1 (en) * | 2024-07-19 | 2025-12-09 | SanDisk Technologies, Inc. | Data storage device and method for using multiple models for predicting a read threshold |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140250256A1 (en) * | 2007-08-13 | 2014-09-04 | Paul A. Duran | Apparatus and system for object-based storage solid-state drive |
| US20170169358A1 (en) * | 2015-12-09 | 2017-06-15 | Samsung Electronics Co., Ltd. | In-storage computing apparatus and method for decentralized machine learning |
| US20170293431A1 (en) * | 2016-04-06 | 2017-10-12 | Sandisk Technologies Inc. | Data storage device having internal tagging capabilities |
| EP3244347A1 (en) * | 2016-05-03 | 2017-11-15 | Cynny SpA | Object recognition in an adaptive resource management system |
Family Cites Families (134)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US1012909A (en) | 1909-10-28 | 1911-12-26 | Safety Power Transmission Company | Shaft-protector. |
| US6012068A (en) | 1997-06-30 | 2000-01-04 | International Business Machines Corporation | Media manager for access to multiple media types |
| US6215749B1 (en) | 1998-10-26 | 2001-04-10 | Samsung Electronics Co., Ltd. | Signal distortion minimization apparatus in high speed optical disc reproducing device |
| US7127120B2 (en) | 2002-11-01 | 2006-10-24 | Microsoft Corporation | Systems and methods for automatically editing a video |
| US7509321B2 (en) * | 2003-01-21 | 2009-03-24 | Microsoft Corporation | Selection bins for browsing, annotating, sorting, clustering, and filtering media objects |
| US8200775B2 (en) * | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Enhanced syndication |
| US7707320B2 (en) | 2003-09-05 | 2010-04-27 | Qualcomm Incorporated | Communication buffer manager and method therefor |
| US20050234985A1 (en) | 2004-04-09 | 2005-10-20 | Nexjenn Media, Inc. | System, method and computer program product for extracting metadata faster than real-time |
| US7707590B2 (en) * | 2004-09-01 | 2010-04-27 | Microsoft Corporation | Computer system and method for providing robust file system information for non-native file system devices |
| US7788592B2 (en) | 2005-01-12 | 2010-08-31 | Microsoft Corporation | Architecture and engine for time line based visualization of data |
| US7478102B2 (en) * | 2005-03-28 | 2009-01-13 | Microsoft Corporation | Mapping of a file system model to a database object |
| US10210159B2 (en) | 2005-04-21 | 2019-02-19 | Oath Inc. | Media object metadata association and ranking |
| US7401253B2 (en) | 2005-05-09 | 2008-07-15 | International Business Machines Corporation | Convolution-encoded data storage on a redundant array of independent devices |
| US20060274949A1 (en) | 2005-06-02 | 2006-12-07 | Eastman Kodak Company | Using photographer identity to classify images |
| US20070038647A1 (en) | 2005-08-04 | 2007-02-15 | Microsoft Corporation | Management of media sources in memory constrained devices |
| US20070078896A1 (en) | 2005-09-30 | 2007-04-05 | Yahoo! Inc. | Identifying portions within media files with location tags |
| US7801910B2 (en) | 2005-11-09 | 2010-09-21 | Ramp Holdings, Inc. | Method and apparatus for timed tagging of media content |
| US8930496B2 (en) * | 2005-12-19 | 2015-01-06 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
| CA2634489C (en) | 2005-12-21 | 2016-08-30 | Digimarc Corporation | Rules driven pan id metadata routing system and network |
| US7801847B2 (en) * | 2006-03-27 | 2010-09-21 | Microsoft Corporation | Media file conversion using plug-ins |
| CN101449538A (zh) * | 2006-04-04 | 2009-06-03 | 约翰逊控制技术公司 | 媒体文件的文本-语法改进 |
| US7730047B2 (en) * | 2006-04-07 | 2010-06-01 | Microsoft Corporation | Analysis of media content via extensible object |
| US20070239780A1 (en) * | 2006-04-07 | 2007-10-11 | Microsoft Corporation | Simultaneous capture and analysis of media content |
| JP4175390B2 (ja) | 2006-06-09 | 2008-11-05 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
| US7921116B2 (en) | 2006-06-16 | 2011-04-05 | Microsoft Corporation | Highly meaningful multimedia metadata creation and associations |
| US8589973B2 (en) * | 2006-09-14 | 2013-11-19 | At&T Intellectual Property I, L.P. | Peer to peer media distribution system and method |
| JP4224095B2 (ja) | 2006-09-28 | 2009-02-12 | 株式会社東芝 | 情報処理装置、情報処理プログラムおよび情報処理システム |
| JP5379693B2 (ja) | 2006-11-13 | 2013-12-25 | アイ・ピー・リザブワー・エル・エル・シー | コプロセッサを使った構造化データおよび非構造化データの高性能の統合、処理および探索の方法およびシステム |
| CA2672735A1 (en) | 2006-12-13 | 2008-06-19 | Quickplay Media Inc. | Mobile media platform |
| JP2008192102A (ja) | 2007-02-08 | 2008-08-21 | Sony Computer Entertainment Inc | メタデータ生成装置およびメタデータ生成方法 |
| JP4891802B2 (ja) | 2007-02-20 | 2012-03-07 | 日本電信電話株式会社 | コンテンツ検索・推薦方法、コンテンツ検索・推薦装置およびコンテンツ検索・推薦プログラム |
| US8166076B2 (en) * | 2007-03-08 | 2012-04-24 | Microsoft Corporation | Digital media metadata management |
| US7929766B2 (en) * | 2007-06-08 | 2011-04-19 | Apple Inc. | Identifiers for digital media |
| BRPI0811833B1 (pt) * | 2007-07-02 | 2020-12-29 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados |
| US20090077561A1 (en) | 2007-07-05 | 2009-03-19 | International Business Machines Corporation | Pipeline Processing Method and Apparatus in a Multi-processor Environment |
| KR101432994B1 (ko) * | 2007-08-13 | 2014-08-22 | 삼성전자주식회사 | 미디어 객체 기반 메타데이터의 생성 방법, 재생 방법 및그 장치 |
| KR101268987B1 (ko) * | 2007-09-11 | 2013-05-29 | 삼성전자주식회사 | 메타데이터를 자동적으로 생성/갱신하는 멀티미디어 데이터기록 방법 및 장치 |
| US20090132462A1 (en) | 2007-11-19 | 2009-05-21 | Sony Corporation | Distributed metadata extraction |
| US9465892B2 (en) * | 2007-12-03 | 2016-10-11 | Yahoo! Inc. | Associating metadata with media objects using time |
| US7996431B2 (en) | 2008-02-25 | 2011-08-09 | International Business Machines Corporation | Systems, methods and computer program products for generating metadata and visualizing media content |
| US9966112B1 (en) | 2013-04-18 | 2018-05-08 | Gracenote, Inc. | Systems and methods to associate multimedia tags with user comments and generate user modifiable snippets around a tag time for efficient storage and sharing of tagged items |
| US8452855B2 (en) | 2008-06-27 | 2013-05-28 | Yahoo! Inc. | System and method for presentation of media related to a context |
| JP2010039966A (ja) * | 2008-08-08 | 2010-02-18 | Hitachi Ltd | データ管理方式 |
| US8867779B2 (en) | 2008-08-28 | 2014-10-21 | Microsoft Corporation | Image tagging user interface |
| CN101754056B (zh) * | 2008-12-17 | 2013-01-02 | 中国科学院自动化研究所 | 支持海量数据自动处理的数字内容编目管理系统及方法 |
| US8831276B2 (en) | 2009-01-13 | 2014-09-09 | Yahoo! Inc. | Media object metadata engine configured to determine relationships between persons |
| US20100179874A1 (en) | 2009-01-13 | 2010-07-15 | Yahoo! Inc. | Media object metadata engine configured to determine relationships between persons and brands |
| CN101605210B (zh) * | 2009-05-31 | 2014-01-08 | 上海东方传媒集团有限公司 | 财经数据制播综合系统 |
| US8938492B1 (en) | 2009-09-11 | 2015-01-20 | Symantec Corporation | Enabling efficient review of media objects associated with a client device |
| JP5595701B2 (ja) * | 2009-09-16 | 2014-09-24 | 株式会社日立製作所 | ファイル管理方法及びストレージシステム |
| US20120278560A1 (en) * | 2009-10-04 | 2012-11-01 | Infinidat Ltd. | Pre-fetching in a storage system that maintains a mapping tree |
| JP5697139B2 (ja) | 2009-11-25 | 2015-04-08 | Kddi株式会社 | 2次コンテンツ提供システムおよび方法 |
| US8589871B2 (en) * | 2009-12-18 | 2013-11-19 | Avid Technology, Inc. | Metadata plug-in application programming interface |
| US8843815B2 (en) | 2010-01-18 | 2014-09-23 | Hewlett-Packard Development Company, L. P. | System and method for automatically extracting metadata from unstructured electronic documents |
| US8611678B2 (en) | 2010-03-25 | 2013-12-17 | Apple Inc. | Grouping digital media items based on shared features |
| US20110289067A1 (en) | 2010-05-18 | 2011-11-24 | Rovi Technologies Corporation | User interface for content browsing and selection in a search portal of a content system |
| US8763068B2 (en) * | 2010-12-09 | 2014-06-24 | Microsoft Corporation | Generation and provision of media metadata |
| US20130097172A1 (en) * | 2011-04-04 | 2013-04-18 | Zachary McIntosh | Method and apparatus for indexing and retrieving multimedia with objective metadata |
| JP2012221322A (ja) | 2011-04-11 | 2012-11-12 | Toshiba Corp | オーサリング支援装置、オーサリング支援方法およびプログラム |
| US9380356B2 (en) | 2011-04-12 | 2016-06-28 | The Nielsen Company (Us), Llc | Methods and apparatus to generate a tag for media content |
| WO2011103828A2 (zh) * | 2011-04-18 | 2011-09-01 | 华为技术有限公司 | 系统缓存中数据替换方法及多核通信处理器 |
| US8917971B2 (en) * | 2011-12-30 | 2014-12-23 | United Video Properties, Inc. | Methods and systems for providing relevant supplemental content to a user device |
| US8990263B2 (en) * | 2012-03-15 | 2015-03-24 | International Business Machines Corporation | Policy-based management of storage functions in data replication environments |
| US20130289991A1 (en) | 2012-04-30 | 2013-10-31 | International Business Machines Corporation | Application of Voice Tags in a Social Media Context |
| US9678961B2 (en) | 2012-09-13 | 2017-06-13 | Canon Europa N.V. | Method and device for associating metadata to media objects |
| US20140074855A1 (en) * | 2012-09-13 | 2014-03-13 | Verance Corporation | Multimedia content tags |
| US8775372B2 (en) | 2012-11-01 | 2014-07-08 | Red Hat Israel, Ltd. | Retrieving historical object-related configuration data |
| JP6009097B2 (ja) * | 2013-02-27 | 2016-10-19 | ヒタチ データ システムズ コーポレーションHitachi Data Systems Corporation | 分散オブジェクトストレージエコシステムにおけるコンテンツとメタデータの分離 |
| EP4224324A3 (en) | 2013-02-27 | 2023-09-27 | Hitachi Vantara LLC | Rain-based archival system with self-describing objects |
| US9405771B2 (en) | 2013-03-14 | 2016-08-02 | Microsoft Technology Licensing, Llc | Associating metadata with images in a personal image collection |
| WO2014170953A1 (ja) | 2013-04-16 | 2014-10-23 | 株式会社日立製作所 | 計算機、計算機システム及びキャッシュ制御方法 |
| JP6224356B2 (ja) * | 2013-06-11 | 2017-11-01 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置 |
| EP3014888A4 (en) * | 2013-06-28 | 2017-02-22 | INTEL Corporation | Live crowdsourced media streaming |
| US9639969B1 (en) | 2013-07-25 | 2017-05-02 | Overlay Studio, Inc. | Collaborative design |
| KR20150029402A (ko) | 2013-09-10 | 2015-03-18 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
| WO2015054361A1 (en) * | 2013-10-08 | 2015-04-16 | The Echo Nest Corporation | Systems, methods, and computer program products for providing contextually-aware video recommendation |
| KR102432754B1 (ko) | 2013-10-21 | 2022-08-16 | 에프엘씨 글로벌 리미티드 | 최종 레벨 캐시 시스템 및 이에 대응하는 방법 |
| US9390513B2 (en) | 2013-10-29 | 2016-07-12 | Hua Zhong University Of Science Technology | Simultaneous metadata extraction of moving objects |
| US9141292B2 (en) | 2014-01-03 | 2015-09-22 | Smart High Reliability Solutions Llc | Enhanced interface to firmware operating in a solid state drive |
| US9170746B2 (en) * | 2014-01-07 | 2015-10-27 | Netapp, Inc. | Clustered raid assimilation management |
| EP3138099A1 (en) | 2014-05-02 | 2017-03-08 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
| US20180107660A1 (en) * | 2014-06-27 | 2018-04-19 | Amazon Technologies, Inc. | System, method and apparatus for organizing photographs stored on a mobile computing device |
| JP6109118B2 (ja) | 2014-07-01 | 2017-04-05 | ソニー株式会社 | 画像処理装置および方法、情報処理装置および方法、並びにプログラム |
| US9781098B2 (en) | 2014-09-24 | 2017-10-03 | Oracle International Corporation | Generic server framework for device authentication and management and a generic framework for endpoint command dispatch |
| GB2532075A (en) | 2014-11-10 | 2016-05-11 | Lego As | System and method for toy recognition and detection based on convolutional neural networks |
| CN104575595B (zh) * | 2014-12-12 | 2017-07-07 | 杭州华澜微电子股份有限公司 | 非易失性随机存取的存储装置 |
| US9916237B2 (en) | 2014-12-12 | 2018-03-13 | Sandisk Technologies Llc | Model based configuration parameter management |
| JP5953384B1 (ja) * | 2015-02-04 | 2016-07-20 | エヌ・ティ・ティ・コムウェア株式会社 | 学習装置、学習方法、およびプログラム |
| US10198498B2 (en) | 2015-05-13 | 2019-02-05 | Rovi Guides, Inc. | Methods and systems for updating database tags for media content |
| US10140149B1 (en) * | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
| US9990159B2 (en) | 2015-06-26 | 2018-06-05 | Xitore, Inc. | Apparatus, system, and method of look-ahead address scheduling and autonomous broadcasting operation to non-volatile storage memory |
| US20170083519A1 (en) * | 2015-09-22 | 2017-03-23 | Riffsy, Inc. | Platform and dynamic interface for procuring, organizing, and retrieving expressive media content |
| CA2997562A1 (en) * | 2015-09-30 | 2017-04-06 | Tivo Solutions Inc. | Synchronizing media content tag data |
| US10528613B2 (en) * | 2015-11-23 | 2020-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing a parallel search operation |
| US9881236B2 (en) | 2015-12-28 | 2018-01-30 | Google Llc | Organizing images associated with a user |
| US10310953B2 (en) * | 2015-12-30 | 2019-06-04 | Commvault Systems, Inc. | System for redirecting requests after a secondary storage computing device failure |
| US10902043B2 (en) | 2016-01-03 | 2021-01-26 | Gracenote, Inc. | Responding to remote media classification queries using classifier models and context parameters |
| US10089401B2 (en) | 2016-01-12 | 2018-10-02 | Fox Broadcasting Company | Method and pluggable system for trend-based allocation of media assets between global and local storage |
| KR102466412B1 (ko) | 2016-01-14 | 2022-11-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
| KR101936950B1 (ko) * | 2016-02-15 | 2019-01-11 | 주식회사 맴레이 | 컴퓨팅 디바이스, 코프로세서와 비휘발성 메모리 사이의 데이터 이동 방법 및 이를 포함하는 프로그램 |
| US10404798B2 (en) | 2016-05-16 | 2019-09-03 | Carbonite, Inc. | Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services |
| KR102611292B1 (ko) | 2016-06-22 | 2023-12-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| US10509407B2 (en) | 2016-07-01 | 2019-12-17 | Samsung Electronics Co., Ltd. | Apparatus and method for a vehicle platform |
| KR102721618B1 (ko) * | 2016-07-21 | 2024-10-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| US10403044B2 (en) | 2016-07-26 | 2019-09-03 | tagSpace Pty Ltd | Telelocation: location sharing for users in augmented and virtual reality environments |
| JP2019530061A (ja) | 2016-08-10 | 2019-10-17 | ジーボ インコーポレーテッドXevo Inc. | 推測注意モデルを用いて収集され格納されたメタデータを通して情報を提供する方法及び装置 |
| KR102696971B1 (ko) * | 2016-09-06 | 2024-08-21 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법 |
| US10701377B2 (en) * | 2016-09-14 | 2020-06-30 | Amazon Technologies, Inc. | Media storage |
| US10853233B2 (en) | 2016-10-18 | 2020-12-01 | Toshiba Memory Corporation | Reconstruction of address mapping in a host of a storage system |
| US10535355B2 (en) * | 2016-11-18 | 2020-01-14 | Microsoft Technology Licensing, Llc | Frame coding for spatial audio data |
| US10162563B2 (en) | 2016-12-02 | 2018-12-25 | International Business Machines Corporation | Asynchronous local and remote generation of consistent point-in-time snap copies |
| CN117095349A (zh) | 2016-12-05 | 2023-11-21 | 摩托罗拉解决方案公司 | 外观搜索系统、方法和非暂时性计算机可读介质 |
| US20180173619A1 (en) * | 2016-12-21 | 2018-06-21 | Sandisk Technologies Llc | System and Method for Distributed Logical to Physical Address Mapping |
| US11010431B2 (en) * | 2016-12-30 | 2021-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet SSD |
| US10970605B2 (en) | 2017-01-03 | 2021-04-06 | Samsung Electronics Co., Ltd. | Electronic apparatus and method of operating the same |
| US10956346B1 (en) | 2017-01-13 | 2021-03-23 | Lightbits Labs Ltd. | Storage system having an in-line hardware accelerator |
| US11221939B2 (en) | 2017-03-31 | 2022-01-11 | Commvault Systems, Inc. | Managing data from internet of things devices in a vehicle |
| US10223272B2 (en) | 2017-04-25 | 2019-03-05 | Seagate Technology Llc | Latency sensitive metadata object persistence operation for storage device |
| US10860508B2 (en) * | 2017-05-25 | 2020-12-08 | Western Digital Technologies, Inc. | Offloaded disaggregated storage architecture |
| KR102444606B1 (ko) * | 2017-08-28 | 2022-09-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| CN107622281B (zh) * | 2017-09-20 | 2021-02-05 | Oppo广东移动通信有限公司 | 图像分类方法、装置、存储介质及移动终端 |
| US10817565B2 (en) | 2017-11-06 | 2020-10-27 | Disney Enterprises, Inc. | Automation of media content tag selection |
| US10884996B1 (en) | 2018-02-27 | 2021-01-05 | NTT DATA Services, LLC | Systems and methods for optimizing automatic schema-based metadata generation |
| KR20190106005A (ko) * | 2018-03-07 | 2019-09-18 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작 방법 및 전자 장치 |
| JP7119630B2 (ja) | 2018-06-20 | 2022-08-17 | 日本電信電話株式会社 | 情報処理装置、情報交換システム、情報処理方法および情報処理プログラム |
| US20210241177A1 (en) | 2018-07-10 | 2021-08-05 | The Fourth Paradigm (Beijing) Tech Co Ltd | Method and system for performing machine learning process |
| US11748418B2 (en) | 2018-07-31 | 2023-09-05 | Marvell Asia Pte, Ltd. | Storage aggregator controller with metadata computation control |
| US20200042888A1 (en) | 2018-07-31 | 2020-02-06 | Gyrfalcon Technology Inc. | Self-sufficient artificial intelligence edge devices |
| JP7540728B2 (ja) | 2018-11-08 | 2024-08-27 | シナプス・パートナーズ・エルエルシー | 乗り物データを管理するためのシステムおよび方法 |
| US20210279603A1 (en) | 2018-12-13 | 2021-09-09 | SparkCognition, Inc. | Security systems and methods |
| FR3094511B1 (fr) | 2019-03-25 | 2021-04-09 | Alstom Transp Tech | Procédé d’acquisition de données capturées par un module de capture embarqué dans un engin mobile suivant une trajectoire prédéterminée, programme d’ordinateur et dispositif correspondants |
| DE112020001663T5 (de) | 2019-03-29 | 2022-03-24 | Intel Corporation | Autonomes Fahrzeugsystem |
| US12154393B2 (en) | 2019-06-20 | 2024-11-26 | Volvo Car Corporation | Closed loop parallel batch data logging in a vehicle |
| CN111125442B (zh) | 2019-12-11 | 2022-11-15 | 苏州智加科技有限公司 | 数据标注方法及装置 |
-
2019
- 2019-01-31 US US16/264,248 patent/US11748418B2/en active Active
- 2019-01-31 JP JP2021503769A patent/JP7326667B2/ja active Active
- 2019-01-31 US US16/262,975 patent/US11036807B2/en active Active
- 2019-01-31 CN CN201980050454.0A patent/CN112534423B/zh active Active
- 2019-01-31 EP EP19707121.0A patent/EP3830713A1/en not_active Ceased
- 2019-01-31 US US16/264,473 patent/US11080337B2/en active Active
- 2019-01-31 WO PCT/IB2019/050776 patent/WO2020026036A1/en not_active Ceased
- 2019-01-31 KR KR1020217004754A patent/KR102894244B1/ko active Active
- 2019-01-31 US US16/263,387 patent/US11068544B2/en active Active
- 2019-01-31 US US16/262,971 patent/US11294965B2/en active Active
- 2019-07-29 JP JP2021503760A patent/JP7419621B2/ja active Active
- 2019-07-29 CN CN201980050665.4A patent/CN112513834B/zh active Active
- 2019-07-29 WO PCT/IB2019/056442 patent/WO2020026112A1/en not_active Ceased
- 2019-07-29 EP EP23167414.4A patent/EP4266194B1/en active Active
- 2019-07-29 EP EP19762480.2A patent/EP3830717B1/en active Active
- 2019-07-31 JP JP2021504432A patent/JP2021533447A/ja active Pending
- 2019-07-31 EP EP23174241.2A patent/EP4220437A1/en active Pending
- 2019-07-31 EP EP19756453.7A patent/EP3830714B1/en active Active
- 2019-07-31 KR KR1020217004932A patent/KR102876339B1/ko active Active
- 2019-07-31 WO PCT/US2019/044551 patent/WO2020028594A1/en not_active Ceased
- 2019-07-31 JP JP2021504383A patent/JP2021533446A/ja active Pending
- 2019-07-31 EP EP19758853.6A patent/EP3830715B1/en active Active
- 2019-07-31 EP EP19759088.8A patent/EP3830716B1/en active Active
- 2019-07-31 CN CN201980058977.XA patent/CN112673368A/zh active Pending
- 2019-07-31 CN CN201980064192.3A patent/CN112771515A/zh active Pending
- 2019-07-31 EP EP23157721.4A patent/EP4206951A1/en active Pending
- 2019-07-31 WO PCT/US2019/044558 patent/WO2020028597A1/en not_active Ceased
- 2019-07-31 CN CN201980057663.8A patent/CN112639768B/zh active Active
- 2019-07-31 JP JP2021503799A patent/JP7351057B2/ja active Active
-
2021
- 2021-05-02 US US17/246,650 patent/US11727064B2/en active Active
- 2021-07-15 US US17/377,236 patent/US11734363B2/en active Active
-
2023
- 2023-09-29 JP JP2023169249A patent/JP2023171874A/ja not_active Abandoned
- 2023-10-12 JP JP2023176582A patent/JP7694997B2/ja active Active
-
2024
- 2024-01-05 JP JP2024000847A patent/JP7721700B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140250256A1 (en) * | 2007-08-13 | 2014-09-04 | Paul A. Duran | Apparatus and system for object-based storage solid-state drive |
| US20170169358A1 (en) * | 2015-12-09 | 2017-06-15 | Samsung Electronics Co., Ltd. | In-storage computing apparatus and method for decentralized machine learning |
| US20170293431A1 (en) * | 2016-04-06 | 2017-10-12 | Sandisk Technologies Inc. | Data storage device having internal tagging capabilities |
| EP3244347A1 (en) * | 2016-05-03 | 2017-11-15 | Cynny SpA | Object recognition in an adaptive resource management system |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11727064B2 (en) | Performing computations during idle periods at the storage edge | |
| US10311108B2 (en) | Cloud-based file prefetching on electronic devices | |
| US11521038B2 (en) | Electronic apparatus and control method thereof | |
| US20220207410A1 (en) | Incremental learning without forgetting for classification and detection models | |
| CN112116636A (zh) | 目标分析方法、装置、系统、节点设备及存储介质 | |
| CN112148202B (zh) | 训练样本读取方法及装置 | |
| EP3605354A1 (en) | Artificial intelligence-enabled search for a storage system | |
| CN114579269B (zh) | 任务调度方法及装置 | |
| US11740726B2 (en) | Touch sensitivity management | |
| JP2023138443A (ja) | クエリシステム、コンピュータプログラム、クエリ結果データをフェッチする方法(クエリフィルタを使用したクエリ結果のフェッチ) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19707121 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2021503769 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20217004754 Country of ref document: KR Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2019707121 Country of ref document: EP Effective date: 20210301 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 201980050454.0 Country of ref document: CN |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 2019707121 Country of ref document: EP |