US-12625914-B2 - Intelligent data storage for efficient retrieval based on contextual awareness for mobile applications
Abstract
Processing logic maintains a data item tag hierarchy in view of user context information and identifies, from the data item tag hierarchy, a highest ranked data item tag of a plurality of data item tags associated with a data item, the plurality of data item tags representing a content of the data item. The processing logic further storing the data item on a memory device at a first shared storage location together with one or more additional data items with which the highest ranked data item tag is also associated.
Inventors
- Chiara Cerafogli
- Jonathan S. Parry
Assignees
- MICRON TECHNOLOGY, INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20230719
Claims (17)
- 1 . A system comprising: a memory device; and a processing device, operatively coupled with the memory device, to perform operations comprising: maintaining a data item tag hierarchy in view of user context information; identifying, from the data item tag hierarchy, a highest ranked data item tag of a plurality of data item tags associated with a data item, the plurality of data item tags representing a content of the data item; and storing the data item on the memory device at a first shared storage location together with one or more additional data items with which the highest ranked data item tag is also associated, wherein the memory device is part of a multi-tier memory hierarchy comprising a remote storage tier, a local non-volatile memory tier, and a local volatile memory tier, and wherein storing the data item on the memory device comprises physically co-locating the data item and the one or more additional data items together in a same tier of the multi-tier memory hierarchy based on the data item and the one or more additional data items sharing the highest ranked data item tag, such that all data items associated with the highest ranked data item tag are physically stored together in memory cells of at least one of a block, sub-block, or wordline of the memory device in the same one of the remote storage tier, the local non-volatile memory tier, or the local volatile memory tier to enable retrieval of the data item and the one or more additional data items together.
- 2 . The system of claim 1 , wherein the data item tag hierarchy comprises ranked list of data item tags arranged in order of priority, wherein a data item associated with a higher ranked data item tag in the data item tag hierarchy is more likely to be requested than a data item associated with a lower ranked data item tag in the data item tag hierarchy.
- 3 . The system of claim 2 , wherein maintaining the data item tag hierarchy in view of user context information comprises dynamically updating the ranked list of data item tags in response to a change in at least one of a user's search history, application usage, messaging history, device location, preferences, date, or user profile.
- 4 . The system of claim 3 , wherein the processing device is to perform operations further comprising: detecting an update to the data item tag hierarchy, the update resulting in an updated data item tag hierarchy comprising a change in the order of priority of the data item tags in the ranked list; identifying, from the updated data item tag hierarchy, an updated highest ranked data item tag of the plurality of data item tags associated with the data item; determining that the data item is not stored at a second shared storage location together with one or more additional data items with which the updated highest ranked data item tag is also associated; and storing the data item on the memory device at the second shared storage location together with the one or more additional data items with which the updated highest ranked data item tag is also associated.
- 5 . The system of claim 2 , wherein the data item comprises metadata associated with at least one of a virtual reality (VR) or augmented reality (AR) application.
- 6 . The system of claim 1 , wherein the processing device is to perform operations further comprising: receiving the data item to be stored at the memory device; providing the data item at an input to a trained machine learning model; and obtaining an output of the trained machine learning model, wherein the output comprises an indication of the plurality of data item tags representing the content of the data item.
- 7 . A method comprising: maintaining a data item tag hierarchy in view of user context information; identifying, from the data item tag hierarchy, a highest ranked data item tag of a plurality of data item tags associated with a data item, the plurality of data item tags representing a content of the data item; and storing the data item on a memory device at a first shared storage location together with one or more additional data items with which the highest ranked data item tag is also associated, wherein the memory device is part of a multi-tier memory hierarchy comprising a remote storage tier, a local non-volatile memory tier, and a local volatile memory tier, and wherein storing the data item on the memory device comprises physically co-locating the data item and the one or more additional data items together in a same tier of the multi-tier memory hierarchy based on the data item and the one or more additional data items sharing the highest ranked data item tag, such that all data items associated with the highest ranked data item tag are physically stored together in memory cells of at least one of a block, sub-block, or wordline of a memory device in the same one of the remote storage tier, the local non-volatile memory tier, or the local volatile memory tier to enable retrieval of the data item and the one or more additional data items together.
- 8 . The method of claim 7 , wherein the data item tag hierarchy comprises ranked list of data item tags arranged in order of priority, wherein a data item associated with a higher ranked data item tag in the data item tag hierarchy is more likely to be requested than a data item associated with a lower ranked data item tag in the data item tag hierarchy.
- 9 . The method of claim 8 , wherein maintaining the data item tag hierarchy in view of user context information comprises dynamically updating the ranked list of data item tags in response to a change in at least one of a user's search history, application usage, messaging history, device location, preferences, date, or user profile.
- 10 . The method of claim 9 , further comprising: detecting an update to the data item tag hierarchy, the update resulting in an updated data item tag hierarchy comprising a change in the order of priority of the data item tags in the ranked list; identifying, from the updated data item tag hierarchy, an updated highest ranked data item tag of the plurality of data item tags associated with the data item; determining that the data item is not stored at a second shared storage location together with one or more additional data items with which the updated highest ranked data item tag is also associated; and storing the data item on the memory device at the second shared storage location together with the one or more additional data items with which the updated highest ranked data item tag is also associated.
- 11 . The method of claim 8 , wherein the data item comprises metadata associated with at least one of a virtual reality (VR) or augmented reality (AR) application.
- 12 . The method of claim 7 , further comprising: receiving the data item to be stored at the memory device; providing the data item at an input to a trained machine learning model; and obtaining an output of the trained machine learning model, wherein the output comprises an indication of the plurality of data item tags representing the content of the data item.
- 13 . A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising: maintaining a data item tag hierarchy in view of user context information; identifying, from the data item tag hierarchy, a highest ranked data item tag of a plurality of data item tags associated with a data item, the plurality of data item tags representing a content of the data item; and storing the data item on a memory device at a first shared storage location together with one or more additional data items with which the highest ranked data item tag is also associated, wherein the memory device is part of a multi-tier memory hierarchy comprising a remote storage tier, a local non-volatile memory tier, and a local volatile memory tier, and wherein storing the data item on the memory device comprises physically co-locating the data item and the one or more additional data items together in a same tier of the multi-tier memory hierarchy based on the data item and the one or more additional data items sharing the highest ranked data item tag, such that all data items associated with the highest ranked data item tag are physically stored together in memory cells of at least one of a block, sub-block, or wordline of a memory device in the same one of the remote storage tier, the local non-volatile memory tier, or the local volatile memory tier to enable retrieval of the data item and the one or more additional data items together.
- 14 . The non-transitory computer-readable storage medium of claim 13 , wherein the data item tag hierarchy comprises ranked list of data item tags arranged in order of priority, wherein a data item associated with a higher ranked data item tag in the data item tag hierarchy is more likely to be requested than a data item associated with a lower ranked data item tag in the data item tag hierarchy.
- 15 . The non-transitory computer-readable storage medium of claim 14 , wherein maintaining the data item tag hierarchy in view of user context information comprises dynamically updating the ranked list of data item tags in response to a change in at least one of a user's search history, application usage, messaging history, device location, preferences, date, or user profile.
- 16 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions cause the processing device to perform operations further comprising: detecting an update to the data item tag hierarchy, the update resulting in an updated data item tag hierarchy comprising a change in the order of priority of the data item tags in the ranked list; identifying, from the updated data item tag hierarchy, an updated highest ranked data item tag of the plurality of data item tags associated with the data item; determining that the data item is not stored at a second shared storage location together with one or more additional data items with which the updated highest ranked data item tag is also associated; and storing the data item on the memory device at the second shared storage location together with the one or more additional data items with which the updated highest ranked data item tag is also associated.
- 17 . The non-transitory computer-readable storage medium of claim 13 , wherein the instructions cause the processing device to perform operations further comprising: receiving the data item to be stored at the memory device; providing the data item at an input to a trained machine learning model; and obtaining an output of the trained machine learning model, wherein the output comprises an indication of the plurality of data item tags representing the content of the data item.
Description
RELATED APPLICATIONS This application is a continuation of U.S. Patent Application No. 63/394,538, filed Aug. 2, 2022, the entire contents of which are hereby incorporated by reference herein. TECHNICAL FIELD Embodiments of the disclosure relate generally to memory sub-systems, and more specifically, relate to intelligent data storage for efficient retrieval from a memory sub-system based on contextual awareness for mobile applications. BACKGROUND A memory sub-system can include one or more memory devices that store data. The memory devices can be, for example, non-volatile memory devices and volatile memory devices. In general, a host system can utilize a memory sub-system to store data at the memory devices and to retrieve data from the memory devices. BRIEF DESCRIPTION OF THE DRAWINGS The present disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the disclosure. FIG. 1 is a block diagram of an exemplary network architecture in which embodiments of the present disclosure may operation. FIG. 2 illustrates an example computing system that includes a memory sub-system in accordance with some embodiments of the present disclosure. FIG. 3 is a flow diagram of an example method of intelligent data storage based on contextual awareness in accordance with some embodiments of the present disclosure. FIG. 4 is a block diagram illustrating intelligent data storage based on contextual awareness in accordance with some embodiments of the present disclosure. FIG. 5 is a flow diagram of an example method of intelligently relocating data items based on a dynamically updated tag hierarchy in accordance with some embodiments of the present disclosure. FIG. 6 is a block diagram of an example computer system in which embodiments of the present disclosure may operate. DETAILED DESCRIPTION Aspects of the present disclosure are directed to intelligent data storage for efficient retrieval from a memory sub-system based on contextual awareness for mobile applications. A memory sub-system can be a storage device, a memory module, or a hybrid of a storage device and memory module. Examples of storage devices and memory modules are described below in conjunction with FIG. 2. In general, a host system can utilize a memory sub-system that includes one or more components, such as memory devices that store data. The host system can provide data to be stored at the memory sub-system and can request data to be retrieved from the memory sub-system. A memory sub-system can include high density non-volatile memory devices where retention of data is desired when no power is supplied to the memory device. For example, NAND memory, such as 3D flash NAND memory, offers storage in the form of compact, high density configurations. A non-volatile memory device is a package of one or more dice, each including one or more planes. For some types of non-volatile memory devices (e.g., NAND memory), each plane includes of a set of physical blocks. Each block includes of a set of pages. Each page includes of a set of memory cells (“cells”). A cell is an electronic circuit that stores information. Depending on the cell type, a cell can store one or more bits of binary information, and has various logic states that correlate to the number of bits being stored. The logic states can be represented by binary values, such as “0” and “1”, or combinations of such values. A memory device can be made up of bits arranged in a two-dimensional or a three-dimensional grid. Memory cells are formed onto a silicon wafer in an array of columns (also hereinafter referred to as bitlines) and rows (also hereinafter referred to as wordlines). A wordline can refer to one or more rows of memory cells of a memory device that are used with one or more bitlines to generate the address of each of the memory cells. The intersection of a bitline and wordline constitutes the address of the memory cell. A block hereinafter refers to a unit of the memory device used to store data and can include a group of memory cells, a wordline group, a wordline, or individual memory cells. One or more blocks can be grouped together to form separate partitions (e.g., planes) of the memory device in order to allow concurrent operations to take place on each plane. One example of a memory sub-system is a solid-state drive (SSD) that includes one or more non-volatile memory devices and a memory sub-system controller to manage the non-volatile memory devices. Depending on the implementation, the memory sub-system can be part of a larger storage hierarchy including multiple different memory devices, potentially of multiple different types. For example, a certain storage hierarchy could include certain memory that is remotely accessible and has a high storage capacity that, while relatively cheap, is also relatively slow. Such a hierarchy could further include local memory with a lower storage capacity that is more