Artificial intelligence enabled search for storage systems
阅读说明:本技术 用于存储系统的实现人工智能的搜索 (Artificial intelligence enabled search for storage systems ) 是由 K·库德里亚夫瑟夫 M·奥伯格 N·瓦尼卡 于 2019-07-30 设计创作,主要内容包括:本公开描述了用于存储系统的实现人工智能的搜索的装置和方法。在一些方面中,存储系统的元数据管理器接收AI引擎在被存储在存储系统中的数据中检测的对象的标签。元数据管理器在元数据数据库的关系部分中创建用于所检测对象的条目,所检测对象的条目具有所检测对象的标签的标识符,以及与所检测对象对应的节点的地址。元数据管理器还在元数据数据库的导航部分中并且利用所检测对象的地址来创建节点,该节点包括对另一对象的相对节点的引用,以及节点与相对节点之间的关系的权重。通过这样做,元数据数据库可以基于各个节点之间的加权关系而被搜索,从而实现对所述存储系统中的数据进行上下文搜索或者隐式搜索。(This disclosure describes apparatus and methods for artificial intelligence enabled searching of storage systems. In some aspects, a metadata manager of a storage system receives tags of objects detected by an AI engine in data stored in the storage system. The metadata manager creates an entry for the detected object in a relational portion of the metadata database, the entry for the detected object having an identifier of a tag of the detected object and an address of a node corresponding to the detected object. The metadata manager also creates a node in the navigation portion of the metadata database and using the address of the detected object, the node including a reference to an opposing node of another object and a weight of a relationship between the node and the opposing node. By doing so, the metadata database may be searched based on the weighted relationships between the various nodes, thereby enabling contextual or implicit searches of the data in the storage system.)
1. A method for a storage system that implements Artificial Intelligence (AI) searching, comprising:
receiving a tag from an artificial intelligence engine, the tag for a detected object in data stored in a storage medium of the storage system;
creating an entry for the detected object in a relational portion of a metadata database of the storage system, the entry comprising: an identifier of the tag for the detected object, an address in the storage system for the detected object, and an address of a node in a navigation portion of the metadata database corresponding to the detected object; and
creating, in the navigation portion of the metadata database of the storage system and using the address for the detected object, the node corresponding to the detected object, the node including at least one reference to a relative node in the navigation portion corresponding to another object in the data, the detected object being related to the other object, and a weight of a relationship between the node and the relative node in the navigation portion of the metadata database.
2. The method of claim 1, further comprising: exposing the metadata database of the storage system to a search interface to enable a search of the metadata database for at least the detected object or the other object based on the weight of the relationship between the node and the opposing node.
3. The method of claim 2, wherein enabling a search of the metadata database for at least the detected object or the other object based on the weight of the relationship between the node and the opposing node is effective to enable a contextual search or an implicit search of the data stored by the storage system.
4. The method of claim 1, further comprising:
receiving, at the artificial intelligence engine, the data to be stored in the storage system;
processing the data to be stored with the artificial intelligence engine to detect a plurality of objects in the data, the plurality of objects including the detected object and other objects; and
providing the plurality of detected objects in the data with a respective set of tags comprising the tag for the detected object and a tag for the other object.
5. The method of claim 1, further comprising:
receiving an indication of a confidence level from the artificial intelligence engine, the confidence level being for a contextual relationship between the detected object and the other object in the data; and
defining the weight of the relationship between the node and the opposing node based on the confidence level of the contextual relationship between the object and the other object in the data.
6. The method of claim 5, wherein the navigation portion of the metadata database includes a weighted graph of linked nodes corresponding to respective objects detected in the data, an
The method further comprises: connecting the node to the opposite node using a weighted link, the weighted link having a weight indicative of the defined weight of the relationship between the node and the opposite node.
7. The method of claim 5, wherein the indication is a first indication of a first confidence level provided based on a first artificial intelligence model executed by the artificial intelligence engine, and the method further comprises:
receiving, from the artificial intelligence engine and based on a second artificial intelligence model executed by the artificial intelligence engine, a second indication of a second confidence level for the contextual relationship between the detected object and the other object in the data; and
redefining the weight of the relationship between the node and the opposing node based on the second confidence level of the contextual relationship between the detected object and the other object in the data; or
Unlinking the node from the opposite node based on the second confidence level of the contextual relationship between the detected object and the other object in the data.
8. The method of claim 1, further comprising:
receiving, from the artificial intelligence engine and with the tag for the detected object, an indication of a confidence level of the artificial intelligence engine in detecting the object in the data; and
adding the confidence level of the artificial intelligence engine to the entry for the detected object in the relational portion of the metadata database.
9. The method of claim 1, wherein:
the storage system comprises at least one of: a Solid State Drive (SSD), a Hard Disk Drive (HDD), or an aggregated array of storage media drives; and
the method is realized by the following steps: a storage controller of the SSD, a storage controller of the HDD, or a controller that provides a host interface for the aggregate array of storage media drives.
10. An apparatus, comprising:
an interface to receive data from a host;
a storage medium configured to store the data received from the host;
a controller configured to enable access to the data stored on the storage medium; and
a metadata manager configured to:
receiving a tag from an artificial intelligence engine associated with the apparatus, the tag for an object detected by the artificial intelligence engine in the data stored in the storage medium of the apparatus;
creating an entry for the detected object in a relational database of a metadata database for the data stored in the apparatus, the entry comprising: an identifier for the tag of the detected object, an address of the detected object in the storage medium, and an address of a node in a navigation database of the metadata database corresponding to the detected object; and is
Creating, in the navigation database of the metadata database and using the address, the node corresponding to the detected object, the node including at least one reference to a relative node in the navigation database corresponding to another object in the data, the detected object and the another object being contextually related, and a weight of a relationship between the node and the relative node in the navigation database.
11. The apparatus of claim 10, wherein the metadata manager is further configured to expose the metadata database to a search interface to enable a search of the metadata database for at least the detected object or the other object based on the weight of the relationship between the node and the opposing node.
12. The apparatus of claim 10, wherein the metadata manager is further configured to:
receiving an indication of a confidence level from the artificial intelligence engine, the confidence level for the contextual relationship between the detected object and the other object in the data; and is
Defining the weight of the relationship between the node and the opposing node based on the confidence level of the contextual relationship between the object and the other object in the data.
13. The apparatus of claim 12, wherein the navigation database of the metadata database comprises a weighted graph of linked nodes corresponding to respective objects detected in the data, an
The metadata manager is further configured to connect the node to the opposite node using a weighted link, the weighted link having a weight indicating the defined weight of the relationship between the node and the opposite node.
14. The apparatus of claim 10, further comprising:
the artificial intelligence engine from which the tag was received; or
A memory configured to maintain the metadata database of the apparatus.
15. The apparatus of claim 10, wherein the first and second electrodes are disposed on opposite sides of the substrate,
the storage system comprises a Solid State Drive (SSD), a Hard Disk Drive (HDD), or an aggregated array of storage media drives; and
the controller of the apparatus is implemented as a storage controller of the SSD, a storage controller of the HDD, or a storage controller of the aggregation array for storage media drives.
16. A system on a chip (SoC), comprising:
an interface to a storage medium of a storage system;
an interface to a host from which data is received for writing to the storage medium;
a hardware-based processor;
a memory storing processor-executable instructions that, in response to execution by the hardware-based processor, implement a metadata manager to:
receiving a tag from an artificial intelligence engine, the tag for a detected object detected by the artificial intelligence engine in the data written to the storage medium;
creating an entry in an association database of a metadata database for the detected object, the entry comprising: an identifier of the tag of the detected object, an address of the detected object in the storage medium, and an address of a node in a navigation database of the metadata database corresponding to the detected object; and
creating, in the navigation database of the metadata database and with the address for the detected object, the node corresponding to the detected object, the node comprising at least one reference to a relative node in the navigation database corresponding to another object in the data, and a weight of a relationship between the node and the relative node in the navigation database, the detected object and the other object being contextually related.
17. The SoC of claim 16, wherein the metadata manager is further configured to expose the metadata database to a search interface to enable a search of the metadata database for at least the detected object or the other object based on the weight of the relationship between the node and the opposing node.
18. The SoC of claim 16, wherein the metadata manager is further configured to:
receiving an indication of a confidence level from the artificial intelligence engine, the confidence level for the contextual relationship between the detected object and the other object in the data; and is
Defining the weight of the relationship between the node and the opposing node based on the confidence level of the contextual relationship between the object and the other object in the data.
19. The SoC of claim 16, wherein the navigation database of the metadata database includes a weighted graph of linked nodes corresponding to respective objects detected in the data; and
the metadata manager is further configured to connect the node to the opposite node using a weighted link, the weighted link having a weight indicating the defined weight of the relationship between the node and the opposite node.
20. The SoC of claim 16, wherein the artificial intelligence engine is at least partially embodied as hardware of the SoC, executable code stored on the memory of the SoC, or executable code stored to another memory accessible by the hardware-based processor of the SoC.
Background
Enterprises and institutions often implement enterprise-level data systems to collect and host large amounts of data generated from ongoing operations, research, data mining, or other data sources. To accommodate the increasing volume, variety, and speed of data collected from these sources, enterprise-level data systems are being built with increasing storage capacity to accommodate inexhaustible incoming data streams. However, the source of incoming data is typically a combination of controlled and uncontrolled sources. This results in most data systems storing a complex mix of large data (including structured data, unstructured data, and semi-structured data).
While data system administrators are generally able to scale storage capacity with larger volumes of big data, as the amount of unstructured data increases, it generally becomes more difficult or inefficient to analyze or search for particular data items within big data. In particular, big data typically includes a large amount of unstructured or raw data that does not conform to naming, formatting, or description conventions of the standards utilized by typical search algorithms. For example, a typical search algorithm may compare a searched keyword to a filename and text within the file for an explicit or exact match with the keyword. Thus, this type of search may not return results for large amounts of data in the big data that includes related unstructured data items that were missed by the strict matching algorithm. As such, using typical matching algorithms can be inefficient and inaccurate, as these types of search algorithms often miss relevant data, particularly in unstructured or semi-structured data.
Disclosure of Invention
This summary is provided to introduce a selection of subject matter that is further described in the detailed description and the accompanying drawings. Accordingly, this summary should not be considered to describe essential features or to limit the scope of the claimed subject matter.
In some aspects, a metadata manager of a storage system implements a method of receiving tags from an Artificial Intelligence (AI) engine for detected objects in data stored in a storage medium of a storage system. The metadata manager creates an entry for the detected object in a relational portion of a metadata database of the storage system. The entry in the relationship portion includes an identifier of the tag and an address of a node in the navigation portion of the metadata database that corresponds to the detected object. The metadata manager also utilizes the address to create a node in the navigation portion of the metadata database that corresponds to the detected object. The node includes at least one reference to a relative node in the navigation portion that corresponds to another object in the data, and a weight of a relationship between the node and the relative node, the detected object being related to the other object. By doing so, the metadata database may be searched based on the weighted relationships of these nodes as well as other nodes, which may enable contextual or implicit searches of data stored to the storage system.
In other aspects, an apparatus comprises: an interface to receive data from a host; a storage medium configured to store data received from a host; a controller configured to enable access to data stored on a storage medium; and a metadata manager associated with the AI engine. The metadata manager may be implemented as: tags from the AI engine are received for objects detected by the AI engine in data stored to a storage medium of the device. The metadata manager then creates an entry for the detected object in a relational database of the device's metadata database. Entries in the relational database include: an identifier of the tag, and an address of a node in a navigation database of the metadata database corresponding to the detected object. The metadata manager also creates a node corresponding to the detected object at an address in a navigation database of the metadata database. The node includes at least one reference to a relative node in the navigation database corresponding to another object in the data with which the detected object is contextually relevant, and a weight of a relationship between the node and the relative node in the navigation database.
In yet other aspects, a system on chip (SoC) is described, comprising: an interface to a storage medium of a storage system; an interface to a host from which data is received for writing to a storage medium; a hardware-based processor, and a memory storing processor-executable instructions that, in response to execution by the hardware-based processor, implement a metadata manager. The metadata manager receives tags from the AI engine for objects detected by the AI engine in data written to the storage medium. The metadata manager then creates an entry in a relational database of the metadata database for the detected object. The entry for the detected object includes an identifier of the tag and an address of a node in a navigation database of the metadata database corresponding to the detected object. The metadata manager also creates a node corresponding to the detected object with the address in a navigation database of the metadata database. The node in the navigation database includes at least one reference to a relative node in the navigation database corresponding to another object in the data with which the detected object is contextually relevant, and a weight of a relationship between the node and the relative node in the navigation database.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
Drawings
The details of one or more implementations of a storage system having a search that implements AI (AI-enabled) are set forth in the accompanying drawings and the detailed description below.
In the drawings, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. The use of the same reference symbols in different instances in the present specification and the accompanying drawings indicates similar elements:
FIG. 1 illustrates an example operating environment with a device in which a storage system is implemented in accordance with one or more aspects.
Fig. 2 illustrates an example configuration of an Artificial Intelligence (AI) engine and a metadata manager of the storage system shown in fig. 1.
FIG. 3 illustrates an example respective configuration of tables in a relational database in accordance with one or more aspects.
FIG. 4 illustrates an example configuration of a weighted graph of a navigation database in accordance with one or more aspects.
Fig. 5 depicts an example method for implementing AI-enabled searches of data in a storage system in accordance with one or more aspects.
FIG. 6 depicts an example method for creating a relational database and a metadata database for a metadata database of a storage system using tags provided by an AI engine.
FIG. 7 depicts an example method for constructing or updating a weighted graph of a metadata database based on a set of tags provided by an AI engine processing data in a storage system.
FIG. 8 depicts an example method of searching a storage system using a relational database and a navigation database.
FIG. 9 illustrates an example system on a chip (SoC) environment for implementing aspects of implementing AI searches for storage systems.
FIG. 10 illustrates an example storage system controller configured to implement aspects of implementing AI searches in a storage system with which the controller is associated.
Detailed Description
Conventional techniques for searching through data typically rely on finding exact matches to search terms in the name and text of the stored data. Typically, data is stored in discrete files in various types of electronic storage devices, the format and size of which vary depending on the application in which the data is generated. Most operating systems support semantic searching of data files by keywords, so that the search algorithm looks at data files based on names or text in the data. In particular, the semantic search algorithm may traverse a list of files, open each file, read the text content for comparison with keywords, close the files, and report file names or any matches of text content to keywords. This type of search is often limited due to the binary nature of data in which keywords may have the same meaning but are semantically different.
Further, in the case of big data storage (such as in cloud-based applications or enterprise-level applications), big data may include a large amount of unstructured or raw data that does not conform to the naming, formatting, or description conventions of the standards utilized by these traditional search algorithms. Thus, for large data comprising related unstructured data items that are missed by the search algorithm due to the lack of semantically matched text, a rigorous semantic search may not return accurate results. As such, the use of conventional search algorithms (particularly for large data) is often inefficient or inaccurate, as these search algorithms may miss relevant data due to a lack of exact or explicit semantic matches.
This disclosure describes apparatus and techniques for a storage system to implement a search of an AI. In contrast to conventional search techniques, the described apparatus and techniques may support AI-enabled searches of data in a storage system based on the context or relationship of objects in the data. For example, the AI engine may process the data to generate descriptive metadata tags for objects or other elements detected in the data. Along with the tags, the AI engine may also provide a confidence level for object detection and a confidence level (e.g., weight) for contextual relationships or associations between objects in the data. For example, certain objects or people detected in the same frame or in adjacent frames on a video file may have some weighted relationship due to physical proximity or temporal proximity. Likewise, text generated from a soundtrack or dialog (e.g., lyrics or closed captions) in a video may have a relationship with an object detected simultaneously in a media file. Alternatively or additionally, emotions or emotions may be detected in the audio file by tones, and these scene classifications may have some weighted relationship with the content or objects associated with the audio file.
Based on the tags, a metadata manager of the storage system may create and manage a metadata database that includes a relational database (e.g., a table) and a navigation database (e.g., a weighted graph of nodes). Typically, the metadata manager creates an entry in the relational database for each detected object, including the location of the detected object in the storage system and the address of the corresponding node in the navigation database. The metadata manager also creates nodes in the navigation database, such as in a weighted graph that includes weighted links to other nodes corresponding to respective objects in the data with which the detected objects are related. By placing nodes or metadata objects into the weighted graph, not only can an object be found in such a structure, but aspects of the environment of the object and related objects with defined confidence levels (e.g., for contextual relationships) can be found. Returning to the above example, the theme of the audio file may be found in connection with its emotion, environment, mood, atmosphere, etc.
This type of contextual search may be based on logical or semantic requests, but may be done with fuzzy boundaries, which returns a response that includes some uncertain parts or components. In the context of a search that implements AI, the relational database of tables may provide a starting point for logical requests (e.g., tag lookup or matching), while the navigation database implements a contextual search or a relationship-based search with some level of uncertainty. For example, navigating the database may be accomplished through a tree or graph of mappings connected with context weightings that may be navigated through various instructions (such as "next," "previous," "getChild," "getParent," etc.) and thus find contextually relevant objects. Likewise, various implementations of AI-enabled searches for storage systems may include a combination of relational and navigation databases to enable implicit or contextual searches of stored data.
By way of example, when a user runs a search for keywords, the metadata manager or search agent may first traverse an index log table in a relational database to obtain tag identifiers for objects or elements detected in data stored in the AI-enabled storage system. In the index log table, references to nodes in the weighted graph in the navigation database can be found that point to the node and, therefore, to all connected nodes of the relevant object. Nodes and connecting nodes may be reported in order of link weight between the nodes, providing an indication of the context or relevance of the object in the data with which the node corresponds. In general, a search process implemented by a combination of a relational database and a navigation database may work similar to the way a human brain works when remembering each aspect of an entire scene with one detail.
In aspects of AI-enabled searches for a storage system, a metadata manager receives tags from an AI engine for objects detected in data stored in a storage medium of the storage system. The metadata manager creates an entry for the detected object in a relational portion of a metadata database of the storage system. The entry in the relationship portion includes an identifier of the tag, an address of the detected object in the storage system, and an address of a node corresponding to the detected object in the navigation portion of the metadata database.
The metadata manager also utilizes the address to create a node in the navigation portion of the metadata database corresponding to the detected object. The node includes at least one reference to a relative node in the navigation portion corresponding to another object in the data and a weight of a relationship between the node and the relative node in the navigation portion of the metadata database to which the detected object is related. By doing so, the metadata database may be searched based on the weighted relationships of these and other nodes, which may enable contextual or implicit searches of data stored in the storage system. In other words, by implementing AI-enabled searches for storage systems or storage drives (e.g., edge storage devices), storage can be made "intelligent" to provide users with implicit or contextual search results.
The following discussion describes an operating environment, techniques that may be employed in the operating environment, and a system on chip (SoC) that may embody components in the operating environment. In the context of the present disclosure, reference is made to an operating environment by way of example only.
Operating environment
FIG. 1 illustrates an example operating environment 100 with a computing device 102 capable of storing or accessing various forms of data or information. Examples of computing device 102 may include laptop 104, desktop 106, and server 108, any of which may be configured as part of a storage network or cloud storage. Other examples (not shown) of the computing device 102 may include a tablet computer, a set-top box, a data storage device, a wearable smart device, a television, a content streaming device, a high-definition multimedia interface (HDMI) media bar, a smart appliance, a home automation controller, a smart thermostat, an internet of things aggregate storage system, a gaming console, an automotive entertainment device, an automotive computing system, an automotive control module (e.g., an engine or powertrain control module), and so forth. In general, computing device 102 may communicate or store data for any suitable purpose, such as to enable functionality of a particular type of device, provide a user interface, enable network access, implement a gaming application, play media, provide navigation, edit content, provide data storage, and so forth.
Computing device 102 includes a processor 110 and a computer-readable storage medium 112. The processor 110 may be implemented as any suitable type or number of processors (single-core or multi-core) for executing instructions or commands of an operating system or other programs of the computing device 102. The computer-readable medium 112(CRM 112) includes memory (not shown) and a storage system 114. The memory of the computing device 102 may include any suitable type of volatile or non-volatile memory, or combination thereof. For example, the volatile memory of the computing device 102 may include various types of Random Access Memory (RAM), dynamic RAM (dram), static RAM (sram), and the like. The non-volatile memory may include Read Only Memory (ROM), electrically erasable programmable ROM (eeprom), or flash memory (e.g., NOR flash memory or NAND flash memory). Individually or in combination, these memories may store data associated with the application and/or the operating system of the computing device 102.
The storage system 114 of the computing device 102 may be configured as any suitable type of data storage system, such as a storage device, a storage drive, a storage array, a storage volume, and so forth. Although described with reference to computing device 102, storage system 114 may also be implemented separately as a standalone device or as part of a larger set of storage classes, such as a data center, server farm, or virtualized storage system (e.g., for cloud-based storage or services).
Examples of storage system 114 include hard disk drive 116(HDD 116), solid state drive 118(SSD 118), and storage array 120, which may be implemented using any combination of storage devices or storage drives. Storage system 114 includes a
In general, a file of data may include various objects, activities, or features that may be classified or identified as one of: people, text, music, lyrics, content, emotion, context, theme, settings, etc. Each object, activity or level or feature in the data in the file is also contextually related within the file by a relationship of a different degree or weight to another object. For example, a frame or sequence of frames of a multimedia file may include people, objects, conversations, music, or environments that may be contextually related due to co-existence in the multimedia file, physical proximity in the multimedia file, or temporal proximity in the multimedia file. Alternatively or additionally,
In this example, the storage system 114 also includes instances of an artificial intelligence engine 126(AI engine 126), a
Using the tags provided by
Computing device 102 may also include I/O ports 132, a graphics processing unit 134(GPU 134), and a data interface 136. In general, the I/O ports 132 allow the computing device 102 to interact with other devices, peripherals, or users. For example, I/O ports 132 may include or be coupled with a universal serial bus, human interface devices, audio inputs, audio outputs, and the like. The GPU134 processes and renders graphics-related data for the computing device 102, such as user interface elements of an operating system, applications, and so forth. In some cases, the GPU134 accesses a portion of local memory to render graphics, or includes dedicated memory for rendering graphics (e.g., video RAM) for the computing device 102.
The data interface 136 of the computing device 102 provides a connection to one or more networks and other devices connected to the networks. The data interface 136 may include a wired interface, such as an ethernet interface or a fiber optic interface for communicating over a local network, an intranet, or the internet. Alternatively or additionally, the data interface 136 may include a wireless interface that facilitates communication over a wireless network, such as a wireless LAN, a wide area wireless network (e.g., a cellular network), and/or a Wireless Personal Area Network (WPAN). According to one or more aspects of the AI-enabled search for storage systems, any of the data communicated through the I/O ports 132 or the data interface 136 may be written to the storage system 114 of the computing device 102 or read from the storage system 114 of the computing device 102.
FIG. 2 illustrates generally at 200 an example configuration of the
Based on the processing or re-processing of the
With respect to the processing performed by
In various aspects, the AI model of
Returning to fig. 2, the
FIG. 3 illustrates generally at 300 an example configuration of the
The log table 302 may include the columns for:
FIG. 4 illustrates generally at 400 an example configuration of the
In general, the
Techniques for implementing AI searches for storage systems
The following discussion describes techniques for a storage system that implement AI-enabled searches, which may enable implicit or contextual searches of data stored on the storage system. These techniques may be implemented using any of the environments and entities described herein, such as
The methodologies are not necessarily limited to the order of operations shown in the associated figures. Rather, any of the operations may be repeated, skipped, replaced, or reordered to implement various aspects described herein. Further, the methods may be used in whole or in part in conjunction with each other, whether performed by the same entity, separate entities, or any combination thereof. For example, these methods can be combined to create a metadata database of AI processes with a relationship component and a navigation component that enable contextual or implicit searches of big data stored to a storage system. In various portions of the following discussion, reference will be made, by way of example, to the operating environment 100 illustrated in FIG. 1 and to the entities illustrated in FIG. 2, FIG. 3, and/or FIG. 4. Such references should not be taken as limiting the described aspects to the operating environment 100, entities, or configurations, but rather as an illustration of one of various examples. Alternatively or additionally, the operations of these methods may also be implemented by or with entities described with reference to the system-on-chip shown in FIG. 9 and/or the storage system controller shown in FIG. 10.
Fig. 5 depicts an
At 502, a metadata manager of a storage system receives a tag from an AI engine for an object detected by the AI engine in data stored in the storage system. In some cases, the AI engine detects objects as data is processed as the data is stored to a storage medium of the storage system. In other cases, the AI engine processes or reprocesses data stored on a storage medium of the storage system.
At 504, the metadata manager creates an entry for the detected object in a relational portion of a metadata database of the storage system. The relational portion of the metadata database may be a relational database or a plurality of tables with associated entries for metadata objects or tags. In some cases, the entry for the detected object includes a tag, an identifier of the tag, an address of a node corresponding to the detected object, or a confidence level of the AI engine for the detected object.
In 506, the metadata manager creates a node for the detected object in a navigation portion of a metadata database of the storage system. The navigation portion of the metadata database may be a weighted graph of linked nodes, a tree structure of nodes, a network of linked nodes, and the like. In some cases, the nodes in the navigation portion include references to relative nodes corresponding to other objects in the data with which the detected object is relevant, and respective weights for relationships between the nodes and the other nodes.
At 508, the metadata manager exposes a metadata database of the storage system to a search interface to enable searching of the metadata database for the detected object or other objects based on respective weights of the relationships between the nodes in the navigation portion.
FIG. 6 depicts an
In 602, a storage system receives data to write to a storage medium of the storage system. Data may be received from any suitable source, such as a computing device, a network interface, a storage fabric interface, and so forth. Data may be organized into files of various types or sizes, depending on the source of the data.
In 604, the AI engine generates a corresponding tag for an object detected in data written to a storage medium of the storage system. For example, the AI engine may process the data to generate descriptive metadata tags for objects or other elements detected in the data. Along with the tags, the AI engine may also provide a confidence level for object detection and a confidence level (e.g., weight) for contextual relationships or associations between objects in the data.
In 606, the metadata manager creates an entry for one of the detected objects in a relational portion of the metadata database. The entry for the detected object may include an identifier of the corresponding tag and an address of the node corresponding to the detected object. Alternatively or additionally, the entry may include the type of tag, a confidence level associated with the detection of the object, or a confidence level or relationship weight of the object and another object detected in the data.
At 608, the metadata manager creates a node in a navigation database of the metadata database corresponding to the detected object. In some cases, nodes are created in a weighted graph that includes weighted links to other nodes corresponding to respective objects in the data to which detected objects are related.
In 610, the metadata manager connects the node corresponding to the detected object in the navigation database with a respective link to an opposite node in the navigation database. The relative node in the navigation database may correspond to another object in the data to which the detected object is related.
In 612, the metadata manager assigns a relationship weight to the respective link connecting the node and the related node based on the context of the detected object in the data. Through
At 614, the metadata manager exposes the metadata database to the search interface to enable searching for objects detected in the data. A search may be made through entries in the relational database to find relevant nodes in the navigation database. Alternatively or additionally, the search may be based on weights of respective links connecting nodes in the navigation database. For example, the search agent may search entries in the relational database for tags or tag identifiers of objects of interest detected in the data by the AI engine.
Fig. 7 depicts an
In 702, the AI engine processes data to be saved to the storage system utilizing a first AI model to provide a first set of corresponding tags for detected objects in the data. In 704, the metadata manager constructs a weighted graph of linked nodes corresponding to the detected objects in the data based on the first set of respective tags. The link nodes are connected by respective links each having a weight indicating a relationship context of the detected object.
At 706, the metadata manager enables searching of the detected objects in the data through an index table that includes respective identifiers for the first set of respective tags and corresponding index addresses of the linked nodes in the weighted graph. For example, the search agent may first traverse an index log table in a relational database to find the tag identifier of the detected object or element in the data stored to the AI-implemented storage system. In the index log table, references to nodes in the weighted graph in the navigation database may be behind a node, and thus, behind all connected nodes of the related object. The nodes and connecting nodes may be reported in order of link weight between the nodes, providing an indication of the context or relevance of the object in the data to which the node corresponds.
Optionally, at 708, the AI engine utilizes the second AI model to reprocess the data saved to the storage system to provide a second set of corresponding tags for the objects detected in the data. In general, if the AI engine utilizes the second AI model to reprocess the data, the weighted links or relationships of the nodes in the navigation database can be updated to emphasize or magnify other contextual relationships or provide different views of the manner in which objects in the data can be related. Alternatively or additionally, the AI engine may reprocess data on the storage system when the storage system is idle or has excess processing bandwidth to support reprocessing without affecting other storage system operations.
Optionally, in 710, the metadata manager updates respective link weights for links between the link nodes or links between the link nodes in the weighted graph based on the second set of respective labels, the respective link weights indicating a relationship context of the detected object.
FIG. 8 depicts an example method 800 for searching a storage system using a relational database and a navigation database, including operations performed by or with the
In 802, a metadata manager receives a query to search for data stored on a storage medium of a storage system. The query may include one or more keywords or search terms in a search. At 804, the metadata manager identifies an entry in a relational database that includes a tag related to the query. In some cases, an address table in a relational database is used in the storage system as a key or primary search list for the object.
At 806, the metadata manager determines an index address of a target node in the navigation database corresponding to the tag based on the entry in the relational database. At 808, as a result of the query for the search, the metadata manager returns an object of the target node at the index address and corresponding objects of the opposing nodes connected to the target node in order of the respective link weights.
System on chip
Fig. 9 illustrates an exemplary system on a chip (SoC)900 in which aspects of AI-enabled searches for a storage system may be implemented.
In this example,
The
As another example, consider FIG. 10, which illustrates an example storage system controller 1000 in accordance with one or more aspects of a search for implementing AI for a storage system. In various aspects, the storage system controller 1000, or any combination of its components, may be implemented as a storage drive controller, a storage media controller, a NAS controller, or a storage aggregation controller for solid state storage media, magnetic storage media, or the like. In some cases, the memory system controller 1000 is implemented similar to or with components of the
In some aspects, storage system controller 1000 implements aspects of AI-enabled searches for storage systems in managing or implementing access to storage media coupled to
The
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific examples, features, or acts described herein, including the order in which they are performed.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:商品搜索方法、装置、系统及电子设备