Machine learning for a multi-memory system
AssigneeMicron Technology, Inc.
InventorChinnakrishnan Ballapuram
Life of this patent
Estimating the term…
Abstract
A multi-memory apparatus that uses machine learning is described. The apparatus may include an interface controller, a non-volatile memory, and a volatile memory. The interface controller may cause the apparatus to receive a first command from a host device. The interface controller may cause the apparatus to communicate the first command to a machine learning engine and to circuitry configured to store and manage commands for the non-volatile memory and the volatile memory. The interface controller may further cause the apparatus to communicate a second command generated by the machine learning engine to the circuitry. The second command may be based on information determined by the machine learning engine during a training mode.
Claims19
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller configured to cause the apparatus to:
- receive a first command from a host device;
- communicate the first command to a machine learning engine and to circuitry configured to store and manage commands for the non-volatile memory and the volatile memory, wherein the machine learning engine is configured to:
- group, according to one or more shared characteristics, commands received from the host device during a training mode;
- and
- detect one or more patterns associated with the commands based at least in part on grouping the commands;
- and
- communicate a second command generated by the machine learning engine to the circuitry, the second command based at least in part on information determined by the machine learning engine during the training mode, wherein the information determined by the machine learning engine is based at least in part on the one or more patterns.
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller configured to cause the apparatus to:
- receive a first command from a host device;
- communicate the first command to a machine learning engine and to circuitry configured to store and manage commands for the non-volatile memory and the volatile memory, wherein the machine learning engine is configured to:
- determine a prefetch operation based at least in part on the first command and information determined by the machine learning engine during a training mode;
- and
- communicate a second command generated by the machine learning engine to the circuitry, wherein the second command based at least in part on the information determined by the machine learning engine during the training mode, and wherein the second command is associated with the prefetch operation and the prefetch operation comprises retrieving data from the volatile memory or the non-volatile memory before the data is requested by the host device.
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller configured to cause the apparatus to:
- receive a first command from a host device;
- communicate the first command to a machine learning engine and to circuitry configured to store and manage commands for the non-volatile memory and the volatile memory, wherein the machine learning engine is configured to:
- determine an eviction operation based at least in part on the first command and information determined by the machine learning engine during a training mode;
- and
- communicate a second command generated by the machine learning engine to the circuitry, wherein the second command based at least in part on the information determined by the machine learning engine during the training mode, and wherein the second command is associated with the eviction operation and the eviction operation comprises storing data from the volatile memory in the non-volatile memory.
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller configured to cause the apparatus to:
- receive a first command from a host device;
- communicate the first command to a machine learning engine and to circuitry configured to store and manage commands for the non-volatile memory and the volatile memory, wherein the machine learning engine is configured to:
- determine a page open operation or a page close operation based at least in part on the first command and information determined by the machine learning engine during a training mode;
- and
- communicate a second command generated by the machine learning engine to the circuitry, wherein the second command based at least in part on the information determined by the machine learning engine during the training mode, and wherein the second command is associated with the page open operation or the page close operation.
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller configured to cause the apparatus to:
- receive a first command from a host device;
- and
- communicate the first command to a machine learning engine and to circuitry configured to store and manage commands for the non-volatile memory and the volatile memory, wherein the machine learning engine is configured to:
- determine a power mode for the non-volatile memory or the volatile memory based at least in part on the first command and information determined by the machine learning engine during a training mode;
- communicate a second command generated by the machine learning engine to the circuitry, wherein the second command based at least in part on the information determined by the machine learning engine during the training mode;
- and
- communicate a third command associated with the power mode to logic that is configured to control the power mode of the volatile memory, the power mode of the non-volatile memory, or both.
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller comprising:
- a machine learning engine configured to:
- group, according to one or more shared characteristics, commands received from a host device during a training mode;
- and
- detect one or more patterns associated with the commands based at least in part on grouping the commands;
- circuitry configured to store and manage commands for the non-volatile memory and the volatile memory;
- and
- a command decoder configured to receive a first command from the host device and communicate the first command to the circuitry and to the machine learning engine, wherein the machine learning engine is further configured to:
- generate a second command based at least in part on information that is determined by the machine learning engine, during the training mode, based at least in part on the one or more patterns;
- and communicate the second command to the circuitry.
An apparatus, comprising:
- circuitry configured to store and manage commands for a non-volatile memory and a volatile memory operated as a cache for the non-volatile memory;
- a command decoder configured to receive a first command from a host device and communicate the first command to the circuitry and to a machine learning engine;
- and
- the machine learning engine configured to:
- determine a memory operation based at least in part on the first command and information determined by the machine learning engine during a training mode;
- and
- generate a second command associated with the memory operation based at least in part on information determined by the machine learning engine during a training mode and configured to communicate the second command to the circuitry.
Dependencies are inferred from the claim text.